[Scummvm-git-logs] scummvm master -> 8a5396e6f554f894c963b43e476d72eda1c31553
sev-
sev at scummvm.org
Sat Mar 28 20:52:22 UTC 2020
This automated email contains information about 5 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
eb7fdaa007 DIRECTOR: LINGO: Fix 'play done' behavior
107d40aac5 DIRECTOR: LINGO: Improved disassembly of cb_call opcode
40d9ed41e2 DIRECTOR: LINGO: preprocess "play done" and remove c_playdone code
e570423595 DIRECTOR: LINGO: Changed notion of SYMBOL to be a string. Fixed ilk keyword accordingly
8a5396e6f5 DIRECTOR: LINGO: Preprocess 'play done' to 'play #done'
Commit: eb7fdaa0071fd5792b6b6032ba46aff9f8c22a02
https://github.com/scummvm/scummvm/commit/eb7fdaa0071fd5792b6b6032ba46aff9f8c22a02
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-03-28T21:33:41+01:00
Commit Message:
DIRECTOR: LINGO: Fix 'play done' behavior
Changed paths:
engines/director/lingo/lingo-funcs.cpp
diff --git a/engines/director/lingo/lingo-funcs.cpp b/engines/director/lingo/lingo-funcs.cpp
index 6fa4228271..4fe5653e4e 100644
--- a/engines/director/lingo/lingo-funcs.cpp
+++ b/engines/director/lingo/lingo-funcs.cpp
@@ -308,6 +308,9 @@ void Lingo::func_play(Datum &frame, Datum &movie) {
}
void Lingo::func_playdone() {
+ if (_vm->_movieStack.empty()) { // No op if no nested movies
+ return;
+ }
MovieReference ref = _vm->_movieStack.back();
_vm->_movieStack.pop_back();
Commit: 107d40aac5e501571437a48e2bee9e9133b28485
https://github.com/scummvm/scummvm/commit/107d40aac5e501571437a48e2bee9e9133b28485
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-03-28T21:33:41+01:00
Commit Message:
DIRECTOR: LINGO: Improved disassembly of cb_call opcode
Changed paths:
engines/director/lingo/lingo-code.cpp
engines/director/lingo/lingo-codegen.cpp
diff --git a/engines/director/lingo/lingo-code.cpp b/engines/director/lingo/lingo-code.cpp
index dbd6f7e2ee..37f05748e8 100644
--- a/engines/director/lingo/lingo-code.cpp
+++ b/engines/director/lingo/lingo-code.cpp
@@ -138,7 +138,7 @@ static struct FuncDescr {
{ LC::c_wordOf, "c_wordOf", "" }, // D3
{ LC::c_wordToOf, "c_wordToOf", "" }, // D3
{ LC::c_xpop, "c_xpop", "" },
- { LC::cb_call, "cb_call", "i" },
+ { LC::cb_call, "cb_call", "N" },
{ LC::cb_field, "cb_field", "" },
{ LC::cb_globalassign, "cb_globalassign", "i" },
{ LC::cb_globalpush, "cb_globalpush", "i" },
diff --git a/engines/director/lingo/lingo-codegen.cpp b/engines/director/lingo/lingo-codegen.cpp
index 9ba7843854..ab16fe1ab9 100644
--- a/engines/director/lingo/lingo-codegen.cpp
+++ b/engines/director/lingo/lingo-codegen.cpp
@@ -160,6 +160,14 @@ Common::String Lingo::decodeInstruction(ScriptData *sd, uint pc, uint *newPc) {
res += Common::String::format(" %s", field2str(v));
break;
}
+ case 'N':
+ {
+ i = (*sd)[pc++];
+ int v = READ_UINT32(&i);
+
+ res += Common::String::format(" \"%s\"", getName(v).c_str());
+ break;
+ }
default:
warning("decodeInstruction: Unknown parameter type: %c", pars[-1]);
}
Commit: 40d9ed41e28368ee02fc22711ade06c72061abac
https://github.com/scummvm/scummvm/commit/40d9ed41e28368ee02fc22711ade06c72061abac
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-03-28T21:33:41+01:00
Commit Message:
DIRECTOR: LINGO: preprocess "play done" and remove c_playdone code
Changed paths:
engines/director/lingo/lingo-code.cpp
engines/director/lingo/lingo-code.h
engines/director/lingo/lingo-funcs.cpp
engines/director/lingo/lingo-gr.cpp
engines/director/lingo/lingo-gr.h
engines/director/lingo/lingo-gr.y
engines/director/lingo/lingo-lex.cpp
engines/director/lingo/lingo-lex.l
engines/director/lingo/lingo-preprocessor.cpp
engines/director/lingo/lingo.h
diff --git a/engines/director/lingo/lingo-code.cpp b/engines/director/lingo/lingo-code.cpp
index 37f05748e8..87be7a0124 100644
--- a/engines/director/lingo/lingo-code.cpp
+++ b/engines/director/lingo/lingo-code.cpp
@@ -112,7 +112,6 @@ static struct FuncDescr {
{ LC::c_open, "c_open", "" },
{ LC::c_or, "c_or", "" },
{ LC::c_play, "c_play", "" },
- { LC::c_playdone, "c_playdone", "" },
{ LC::c_printtop, "c_printtop", "" },
{ LC::c_procret, "c_procret", "" },
{ LC::c_proparraypush, "c_proparraypush", "i" },
@@ -1298,10 +1297,6 @@ void LC::c_play() {
g_lingo->func_play(frame, movie);
}
-void LC::c_playdone() {
- g_lingo->func_playdone();
-}
-
void LC::c_call() {
Common::String name(g_lingo->readString());
diff --git a/engines/director/lingo/lingo-code.h b/engines/director/lingo/lingo-code.h
index 9c1877632e..29e896071b 100644
--- a/engines/director/lingo/lingo-code.h
+++ b/engines/director/lingo/lingo-code.h
@@ -127,7 +127,6 @@ namespace LC {
void c_property();
void c_play();
- void c_playdone();
void c_open();
void c_hilite();
diff --git a/engines/director/lingo/lingo-funcs.cpp b/engines/director/lingo/lingo-funcs.cpp
index 4fe5653e4e..d4ca356158 100644
--- a/engines/director/lingo/lingo-funcs.cpp
+++ b/engines/director/lingo/lingo-funcs.cpp
@@ -295,39 +295,42 @@ void Lingo::func_play(Datum &frame, Datum &movie) {
return;
}
- if (!_vm->getCurrentScore()) {
- warning("Lingo::func_play(): no score");
- return;
- }
+ // play "done"
+ if (frame.type == STRING) {
+ if (_vm->_movieStack.empty()) { // No op if no nested movies
+ return;
+ }
+ ref = _vm->_movieStack.back();
- ref.frameI = _vm->getCurrentScore()->getCurrentFrame();
+ _vm->_movieStack.pop_back();
- _vm->_movieStack.push_back(ref);
+ Datum m, f;
- func_goto(frame, movie);
-}
+ if (ref.movie.empty()) {
+ m.type = VOID;
+ } else {
+ m.type = STRING;
+ m.u.s = new Common::String(ref.movie);
+ }
-void Lingo::func_playdone() {
- if (_vm->_movieStack.empty()) { // No op if no nested movies
- return;
- }
- MovieReference ref = _vm->_movieStack.back();
+ f.type = INT;
+ f.u.i = ref.frameI;
- _vm->_movieStack.pop_back();
+ func_goto(f, m);
- Datum m, f;
+ return;
+ }
- if (ref.movie.empty()) {
- m.type = VOID;
- } else {
- m.type = STRING;
- m.u.s = new Common::String(ref.movie);
+ if (!_vm->getCurrentScore()) {
+ warning("Lingo::func_play(): no score");
+ return;
}
- f.type = INT;
- f.u.i = ref.frameI;
+ ref.frameI = _vm->getCurrentScore()->getCurrentFrame();
+
+ _vm->_movieStack.push_back(ref);
- func_goto(f, m);
+ func_goto(frame, movie);
}
void Lingo::func_cursor(int c, int m) {
diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp
index 92a68848e6..f3732b1b2b 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -1,4 +1,4 @@
-/* A Bison parser, made by GNU Bison 3.5.1. */
+/* A Bison parser, made by GNU Bison 3.5.3. */
/* Bison implementation for Yacc-like parsers in C
@@ -48,7 +48,7 @@
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "3.5.1"
+#define YYBISON_VERSION "3.5.3"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -202,34 +202,33 @@ extern int yydebug;
tFACTORY = 312,
tOPEN = 313,
tPLAY = 314,
- tDONE = 315,
- tINSTANCE = 316,
- tGE = 317,
- tLE = 318,
- tEQ = 319,
- tNEQ = 320,
- tAND = 321,
- tOR = 322,
- tNOT = 323,
- tMOD = 324,
- tAFTER = 325,
- tBEFORE = 326,
- tCONCAT = 327,
- tCONTAINS = 328,
- tSTARTS = 329,
- tCHAR = 330,
- tITEM = 331,
- tLINE = 332,
- tWORD = 333,
- tSPRITE = 334,
- tINTERSECTS = 335,
- tWITHIN = 336,
- tTELL = 337,
- tPROPERTY = 338,
- tON = 339,
- tENDIF = 340,
- tENDREPEAT = 341,
- tENDTELL = 342
+ tINSTANCE = 315,
+ tGE = 316,
+ tLE = 317,
+ tEQ = 318,
+ tNEQ = 319,
+ tAND = 320,
+ tOR = 321,
+ tNOT = 322,
+ tMOD = 323,
+ tAFTER = 324,
+ tBEFORE = 325,
+ tCONCAT = 326,
+ tCONTAINS = 327,
+ tSTARTS = 328,
+ tCHAR = 329,
+ tITEM = 330,
+ tLINE = 331,
+ tWORD = 332,
+ tSPRITE = 333,
+ tINTERSECTS = 334,
+ tWITHIN = 335,
+ tTELL = 336,
+ tPROPERTY = 337,
+ tON = 338,
+ tENDIF = 339,
+ tENDREPEAT = 340,
+ tENDTELL = 341
};
#endif
@@ -257,7 +256,7 @@ union YYSTYPE
Common::String *field;
} objectref;
-#line 261 "engines/director/lingo/lingo-gr.cpp"
+#line 260 "engines/director/lingo/lingo-gr.cpp"
};
typedef union YYSTYPE YYSTYPE;
@@ -574,21 +573,21 @@ union yyalloc
#endif /* !YYCOPY_NEEDED */
/* YYFINAL -- State number of the termination state. */
-#define YYFINAL 128
+#define YYFINAL 127
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 1738
+#define YYLAST 1755
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 103
+#define YYNTOKENS 102
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 51
/* YYNRULES -- Number of rules. */
-#define YYNRULES 173
+#define YYNRULES 172
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 377
+#define YYNSTATES 376
#define YYUNDEFTOK 2
-#define YYMAXUTOK 342
+#define YYMAXUTOK 341
/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
@@ -601,15 +600,15 @@ union yyalloc
static const yytype_int8 yytranslate[] =
{
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 96, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 95, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 95, 90, 2,
- 97, 98, 93, 91, 99, 92, 2, 94, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 102, 2,
- 88, 2, 89, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 94, 89, 2,
+ 96, 97, 92, 90, 98, 91, 2, 93, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 101, 2,
+ 87, 2, 88, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 100, 2, 101, 2, 2, 2, 2, 2, 2,
+ 2, 99, 2, 100, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -634,7 +633,7 @@ static const yytype_int8 yytranslate[] =
55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, 87
+ 85, 86
};
#if YYDEBUG
@@ -654,11 +653,11 @@ static const yytype_int16 yyrline[] =
488, 489, 490, 492, 495, 497, 498, 499, 500, 501,
502, 502, 503, 503, 504, 505, 508, 511, 512, 514,
518, 523, 527, 532, 536, 548, 549, 550, 551, 555,
- 559, 564, 565, 567, 568, 572, 576, 580, 580, 610,
- 610, 610, 617, 618, 618, 625, 635, 643, 643, 645,
- 646, 647, 648, 650, 651, 652, 654, 656, 664, 665,
- 666, 668, 669, 671, 673, 674, 675, 676, 678, 679,
- 681, 682, 684, 688
+ 559, 564, 565, 567, 571, 575, 579, 579, 609, 609,
+ 609, 616, 617, 617, 624, 634, 642, 642, 644, 645,
+ 646, 647, 649, 650, 651, 653, 655, 663, 664, 665,
+ 667, 668, 670, 672, 673, 674, 675, 677, 678, 680,
+ 681, 683, 687
};
#endif
@@ -676,9 +675,9 @@ static const char *const yytname[] =
"tGLOBAL", "tGO", "tIF", "tIN", "tINTO", "tLOOP", "tMACRO", "tMOVIE",
"tNEXT", "tOF", "tPREVIOUS", "tPUT", "tREPEAT", "tSET", "tTHEN", "tTO",
"tWHEN", "tWITH", "tWHILE", "tNLELSE", "tFACTORY", "tOPEN", "tPLAY",
- "tDONE", "tINSTANCE", "tGE", "tLE", "tEQ", "tNEQ", "tAND", "tOR", "tNOT",
- "tMOD", "tAFTER", "tBEFORE", "tCONCAT", "tCONTAINS", "tSTARTS", "tCHAR",
- "tITEM", "tLINE", "tWORD", "tSPRITE", "tINTERSECTS", "tWITHIN", "tTELL",
+ "tINSTANCE", "tGE", "tLE", "tEQ", "tNEQ", "tAND", "tOR", "tNOT", "tMOD",
+ "tAFTER", "tBEFORE", "tCONCAT", "tCONTAINS", "tSTARTS", "tCHAR", "tITEM",
+ "tLINE", "tWORD", "tSPRITE", "tINTERSECTS", "tWITHIN", "tTELL",
"tPROPERTY", "tON", "tENDIF", "tENDREPEAT", "tENDTELL", "'<'", "'>'",
"'&'", "'+'", "'-'", "'*'", "'/'", "'%'", "'\\n'", "'('", "')'", "','",
"'['", "']'", "':'", "$accept", "program", "programline", "asgn",
@@ -706,13 +705,13 @@ static const yytype_int16 yytoknum[] =
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
- 335, 336, 337, 338, 339, 340, 341, 342, 60, 62,
- 38, 43, 45, 42, 47, 37, 10, 40, 41, 44,
- 91, 93, 58
+ 335, 336, 337, 338, 339, 340, 341, 60, 62, 38,
+ 43, 45, 42, 47, 37, 10, 40, 41, 44, 91,
+ 93, 58
};
# endif
-#define YYPACT_NINF (-275)
+#define YYPACT_NINF (-272)
#define yypact_value_is_default(Yyn) \
((Yyn) == YYPACT_NINF)
@@ -726,44 +725,44 @@ static const yytype_int16 yytoknum[] =
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- 322, -85, -275, -275, 24, -275, 1063, 1101, 24, 1183,
- -275, -275, -275, -275, -275, -275, -34, -275, 860, -275,
- -275, -30, 981, 33, 89, 28, 43, 1221, 942, 47,
- 1221, 1221, 1221, 1221, 1221, 1221, 1221, -275, -275, 1221,
- 1221, 1221, 404, 8, -275, -275, -275, -275, -275, 1221,
- -17, 1221, 738, -275, 1631, -275, -275, -275, -275, -275,
- -275, -275, -275, -275, -275, -275, -275, 22, 981, 1221,
- 1631, 13, 1221, 13, -275, 1221, 1631, 26, 1221, -275,
- -275, 92, -275, 1221, -275, 79, -275, 396, -275, 102,
- -275, 104, 163, 105, -275, -32, 24, 24, -11, 80,
- 100, -275, 1548, -275, 396, -275, -275, 32, -275, 1242,
- 1276, 1309, 1342, 1598, 1507, 129, 130, -275, -275, 1561,
- 53, 56, -275, 1631, 59, 62, 63, -275, -275, 492,
- 1631, -275, -275, 1631, -275, -275, 1221, 1631, -275, -275,
- 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221,
- 1221, 1221, 1221, 1221, 1221, 1221, 1221, 139, 1221, 163,
- 1561, -3, 1221, 16, 19, 1221, 13, 139, -275, 65,
- 1631, 1221, -275, -275, 24, 15, 1221, 1221, -275, 1221,
- 1221, 18, 120, 1221, 1221, 1221, -275, 1221, -275, 143,
- 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221,
- -275, -275, -275, 70, -275, -275, 24, 24, -275, 1221,
- 34, -275, -275, 1221, 1221, 121, -275, 1631, 7, 7,
- 7, 7, 1644, 1644, -275, 17, 7, 7, 7, 7,
- 17, -29, -29, -275, -275, -275, -39, -275, 1631, -275,
- -275, 1631, -21, 151, 1631, -275, 135, -275, -275, 1631,
- 1631, 1631, 7, 1221, 1221, 158, 1631, 7, 1631, 1631,
- -275, 1631, 1375, 1631, 1408, 1631, 1441, 1631, 1474, 1631,
- 1631, 820, -275, 159, -275, -275, 1631, 53, 56, -275,
- 656, 1631, 1631, -275, 144, 95, 172, 95, -275, 139,
- 1221, 1631, 7, 24, 1221, 1221, 1221, 1221, -275, 656,
- -275, -275, -275, 111, -275, -2, 656, 820, 174, -275,
- -275, -275, -15, 1631, 147, 1631, 1631, 1631, 1631, -275,
- 113, -275, 656, 149, 1221, -275, -275, -275, 574, 656,
- 95, 1221, -275, 116, 1221, 1631, 87, -27, 181, -275,
- 1631, -275, 1631, -275, -275, -275, -275, 1221, 124, -275,
- -275, -275, 107, 656, -275, 656, -275, 1631, -275, 820,
- 186, 656, 125, 656, 164, -275, -275, 128, -275, 131,
- -275, 132, -275, -275, 656, -275, -275
+ 312, -78, -272, -272, 24, -272, 1042, 1123, 24, 1161,
+ -272, -272, -272, -272, -272, -272, -26, -272, 885, -272,
+ -272, 19, 1004, -23, 203, 54, 56, 1242, 923, 61,
+ 1242, 1242, 1242, 1242, 1242, 1242, 1242, -272, -272, 1242,
+ 1242, 1242, 393, 9, -272, -272, -272, -272, -272, 1242,
+ -2, 1242, 723, -272, 1662, -272, -272, -272, -272, -272,
+ -272, -272, -272, -272, -272, -272, -272, -5, 1004, 1242,
+ 1662, 3, 1242, 3, -272, 1242, 1662, 23, 1242, -272,
+ -272, 81, -272, 1242, -272, 78, -272, 1234, -272, 100,
+ -272, 101, 385, 102, -272, -11, 24, 24, 7, 76,
+ 79, -272, 1559, 1234, -272, -272, 33, -272, 1282, 1315,
+ 1348, 1381, 1629, 1546, 126, 128, -272, -272, 1592, 52,
+ 53, -272, 1662, 57, 58, 62, -272, -272, 480, 1662,
+ -272, -272, 1662, -272, -272, 1242, 1662, -272, -272, 1242,
+ 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242,
+ 1242, 1242, 1242, 1242, 1242, 1242, 137, 1242, 385, 1592,
+ -24, 1242, 2, 13, 1242, 3, 137, -272, 64, 1662,
+ 1242, -272, -272, 24, 32, 1242, 1242, -272, 1242, 1242,
+ 8, 117, 1242, 1242, 1242, -272, 1242, -272, 141, 1242,
+ 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, -272,
+ -272, -272, 68, -272, -272, 24, 24, -272, 1242, -14,
+ -272, -272, 1242, 1242, 123, -272, 1662, 125, 125, 125,
+ 125, 25, 25, -272, 107, 125, 125, 125, 125, 107,
+ -28, -28, -272, -272, -272, -48, -272, 1662, -272, -272,
+ 1662, -16, 144, 1662, -272, 140, -272, -272, 1662, 1662,
+ 1662, 125, 1242, 1242, 170, 1662, 125, 1662, 1662, -272,
+ 1662, 1414, 1662, 1447, 1662, 1480, 1662, 1513, 1662, 1662,
+ 804, -272, 171, -272, -272, 1662, 52, 53, -272, 642,
+ 1662, 1662, -272, 150, 106, 181, 106, -272, 137, 1242,
+ 1662, 125, 24, 1242, 1242, 1242, 1242, -272, 642, -272,
+ -272, -272, 124, -272, -13, 642, 804, 189, -272, -272,
+ -272, -3, 1662, 173, 1662, 1662, 1662, 1662, -272, 142,
+ -272, 642, 174, 1242, -272, -272, -272, 561, 642, 106,
+ 1242, -272, 145, 1242, 1662, 85, -27, 205, -272, 1662,
+ -272, 1662, -272, -272, -272, -272, 1242, 147, -272, -272,
+ -272, 134, 642, -272, 642, -272, 1662, -272, 804, 209,
+ 642, 151, 642, 184, -272, -272, 152, -272, 155, -272,
+ 159, -272, -272, 642, -272, -272
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -771,66 +770,66 @@ static const yytype_int16 yypact[] =
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
- 0, 0, 56, 67, 0, 57, 158, 158, 0, 60,
- 59, 58, 137, 143, 69, 70, 109, 110, 0, 48,
- 139, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 112, 147, 0,
- 0, 0, 164, 0, 3, 71, 28, 7, 29, 0,
+ 0, 0, 56, 67, 0, 57, 157, 157, 0, 60,
+ 59, 58, 136, 142, 69, 70, 109, 110, 0, 48,
+ 138, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 112, 146, 0,
+ 0, 0, 163, 0, 3, 71, 28, 7, 29, 0,
0, 0, 0, 62, 22, 104, 63, 23, 106, 107,
- 6, 50, 21, 61, 4, 60, 68, 60, 0, 158,
- 159, 116, 158, 65, 103, 158, 161, 157, 158, 50,
+ 6, 50, 21, 61, 4, 60, 68, 60, 0, 157,
+ 158, 116, 157, 65, 103, 157, 160, 156, 157, 50,
108, 0, 125, 0, 126, 0, 127, 128, 130, 0,
34, 0, 105, 0, 46, 0, 0, 0, 0, 0,
- 0, 142, 118, 133, 134, 136, 123, 114, 85, 0,
- 0, 0, 0, 0, 0, 0, 0, 90, 91, 0,
- 59, 58, 165, 168, 0, 166, 167, 170, 1, 5,
- 51, 50, 50, 51, 51, 27, 0, 25, 26, 24,
+ 0, 141, 118, 133, 135, 123, 114, 85, 0, 0,
+ 0, 0, 0, 0, 0, 0, 90, 91, 0, 59,
+ 58, 164, 167, 0, 165, 166, 169, 1, 5, 51,
+ 50, 50, 51, 51, 27, 0, 25, 26, 24, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 149, 158, 0,
- 159, 0, 0, 0, 0, 0, 138, 149, 119, 111,
- 132, 0, 129, 140, 0, 0, 0, 0, 47, 0,
- 0, 0, 0, 0, 0, 0, 55, 0, 135, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 38, 38, 121, 113, 148, 92, 0, 0, 163, 0,
- 0, 2, 52, 0, 0, 0, 35, 51, 81, 82,
- 79, 80, 83, 84, 76, 87, 88, 89, 78, 77,
- 86, 72, 73, 74, 75, 150, 0, 115, 160, 64,
- 66, 162, 0, 0, 131, 50, 0, 8, 9, 11,
- 12, 16, 14, 0, 0, 0, 15, 13, 20, 117,
- 124, 95, 0, 97, 0, 99, 0, 101, 0, 93,
- 94, 0, 52, 0, 173, 172, 169, 0, 0, 171,
- 51, 51, 51, 52, 0, 156, 0, 156, 120, 149,
- 0, 17, 18, 0, 0, 0, 0, 0, 51, 51,
- 122, 53, 54, 0, 52, 0, 51, 0, 0, 52,
- 151, 52, 0, 10, 0, 96, 98, 100, 102, 37,
- 0, 30, 51, 0, 0, 41, 51, 152, 146, 144,
- 156, 0, 36, 0, 0, 51, 51, 0, 153, 52,
- 19, 33, 51, 52, 50, 49, 42, 0, 0, 50,
- 45, 154, 145, 141, 52, 51, 52, 51, 39, 0,
- 0, 51, 0, 51, 0, 51, 155, 0, 31, 0,
- 52, 0, 32, 40, 51, 44, 43
+ 0, 0, 0, 0, 0, 0, 148, 157, 0, 158,
+ 0, 0, 0, 0, 0, 137, 148, 119, 111, 132,
+ 0, 129, 139, 0, 0, 0, 0, 47, 0, 0,
+ 0, 0, 0, 0, 0, 55, 0, 134, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 38,
+ 38, 121, 113, 147, 92, 0, 0, 162, 0, 0,
+ 2, 52, 0, 0, 0, 35, 51, 81, 82, 79,
+ 80, 83, 84, 76, 87, 88, 89, 78, 77, 86,
+ 72, 73, 74, 75, 149, 0, 115, 159, 64, 66,
+ 161, 0, 0, 131, 50, 0, 8, 9, 11, 12,
+ 16, 14, 0, 0, 0, 15, 13, 20, 117, 124,
+ 95, 0, 97, 0, 99, 0, 101, 0, 93, 94,
+ 0, 52, 0, 172, 171, 168, 0, 0, 170, 51,
+ 51, 51, 52, 0, 155, 0, 155, 120, 148, 0,
+ 17, 18, 0, 0, 0, 0, 0, 51, 51, 122,
+ 53, 54, 0, 52, 0, 51, 0, 0, 52, 150,
+ 52, 0, 10, 0, 96, 98, 100, 102, 37, 0,
+ 30, 51, 0, 0, 41, 51, 151, 145, 143, 155,
+ 0, 36, 0, 0, 51, 51, 0, 152, 52, 19,
+ 33, 51, 52, 50, 49, 42, 0, 0, 50, 45,
+ 153, 144, 140, 52, 51, 52, 51, 39, 0, 0,
+ 51, 0, 51, 0, 51, 154, 0, 31, 0, 52,
+ 0, 32, 40, 51, 44, 43
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -275, -275, 90, -275, -265, -275, 4, 23, -275, -275,
- -275, -275, -275, -275, 166, -275, -77, -60, -41, -275,
- 6, -6, -275, 48, 188, -275, -275, -275, -275, -275,
- -275, -19, -275, -275, -275, -275, -275, -275, -275, -275,
- -162, -275, -274, 189, 11, -275, -275, -275, -275, -275,
- 35
+ -272, -272, 116, -272, -264, -272, 4, 45, -272, -272,
+ -272, -272, -272, -272, 197, -272, -77, -57, -100, -272,
+ 6, -6, -272, 77, 198, -272, -272, -272, -272, -272,
+ -272, -20, -272, -272, -272, -272, -272, -272, -272, -272,
+ -161, -272, -271, 200, 12, -272, -272, -272, -272, -272,
+ 47
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 43, 44, 45, 46, 134, 302, 271, 48, 336,
- 346, 135, 49, 50, 51, 347, 157, 212, 280, 52,
- 53, 54, 55, 56, 57, 81, 115, 169, 203, 107,
- 58, 88, 59, 78, 60, 89, 245, 79, 61, 116,
- 236, 352, 309, 62, 164, 77, 63, 124, 125, 126,
- 127
+ -1, 43, 44, 45, 46, 133, 301, 270, 48, 335,
+ 345, 134, 49, 50, 51, 346, 156, 211, 279, 52,
+ 53, 54, 55, 56, 57, 81, 114, 168, 202, 106,
+ 58, 88, 59, 78, 60, 89, 244, 79, 61, 115,
+ 235, 351, 308, 62, 163, 77, 63, 123, 124, 125,
+ 126
};
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
@@ -838,358 +837,362 @@ static const yytype_int16 yydefgoto[] =
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 70, 70, 167, 76, 47, 242, 298, 349, 128, 105,
- 66, 64, 87, 311, 74, 80, 92, 71, 73, 90,
- 179, 102, 104, 131, 108, 109, 110, 111, 112, 113,
- 114, 323, 180, 117, 118, 119, 123, 2, 8, 247,
- 146, 183, 326, 130, 5, 133, 137, 132, 65, 10,
- 324, 11, 100, 184, 213, 214, 339, 285, 350, 277,
- 286, 278, 159, 160, 155, 156, 160, 101, 172, 160,
- 253, 106, 70, 215, 216, 287, 146, 170, 286, 147,
- 161, 330, 254, 163, 286, 188, 146, 93, 94, 166,
- 31, 32, 33, 34, 365, 237, 162, 152, 153, 154,
- 155, 156, 181, 182, 129, 95, 96, 97, 153, 154,
- 155, 156, 162, 98, 239, 162, 168, 240, 162, 158,
- 99, 344, 345, 171, 42, 165, 173, 312, 174, 178,
- 217, 189, 185, 47, 218, 219, 220, 221, 222, 223,
+ 70, 70, 166, 76, 47, 241, 297, 348, 104, 127,
+ 66, 276, 87, 277, 74, 310, 92, 64, 71, 73,
+ 322, 102, 103, 80, 107, 108, 109, 110, 111, 112,
+ 113, 93, 94, 116, 117, 118, 122, 2, 130, 323,
+ 145, 178, 325, 129, 5, 132, 136, 284, 65, 10,
+ 285, 11, 179, 212, 213, 8, 246, 349, 338, 182,
+ 252, 131, 158, 159, 154, 155, 159, 171, 90, 159,
+ 183, 253, 70, 236, 161, 214, 215, 169, 100, 286,
+ 101, 160, 285, 187, 162, 105, 139, 140, 141, 142,
+ 165, 157, 329, 145, 364, 285, 146, 147, 148, 238,
+ 161, 161, 180, 181, 128, 167, 31, 32, 33, 34,
+ 239, 161, 149, 150, 151, 152, 153, 154, 155, 343,
+ 344, 164, 170, 42, 172, 173, 177, 311, 184, 216,
+ 185, 188, 47, 217, 218, 219, 220, 221, 222, 223,
224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
- 234, 186, 70, 202, 204, 206, 238, 284, 207, 241,
- 208, 209, 210, 235, 243, 244, 255, 260, 289, 273,
- 249, 250, 283, 251, 252, 288, 290, 256, 257, 258,
- 246, 259, 293, 300, 261, 262, 263, 264, 265, 266,
- 267, 268, 269, 270, 308, 307, 310, 321, 327, 331,
- 332, 334, 341, 276, 175, 351, 360, 281, 282, 358,
- 366, 368, 274, 275, 372, 370, 373, 375, 136, 211,
- 303, 304, 305, 248, 272, 140, 141, 142, 143, 144,
- 145, 299, 146, 176, 177, 147, 148, 149, 319, 320,
- 138, 139, 306, 0, 0, 279, 325, 291, 292, 0,
- 0, 150, 151, 152, 153, 154, 155, 156, 0, 0,
- 0, 0, 333, 322, 0, 0, 337, 356, 328, 0,
- 329, 0, 359, 0, 0, 343, 348, 0, 0, 0,
- 0, 0, 354, 0, 313, 0, 0, 0, 315, 316,
- 317, 318, 0, 0, 0, 362, 0, 364, 353, 314,
- 0, 367, 355, 369, 0, 371, 0, 0, 0, 0,
- 0, 0, 0, 361, 376, 363, 0, 0, 335, 0,
- 0, 0, -5, 1, 0, 340, 0, 0, 342, 374,
- 0, 0, 0, 0, 0, 2, 0, 0, 3, 4,
- 0, 357, 5, 6, 7, 8, 9, 10, 0, 11,
- 0, 12, 13, 14, 15, 0, 0, 0, 16, 17,
- 18, 19, 0, 0, 0, 20, 0, 21, 0, 0,
- 22, 23, 24, 0, 0, 25, 0, 0, 0, 26,
- 27, 28, 0, 29, 0, 0, 0, 0, 0, 0,
- 30, 0, 0, 0, 0, 0, 0, 31, 32, 33,
- 34, 35, 0, 0, 36, 37, 38, 0, 0, 0,
- 0, 0, 0, 39, 40, 0, 0, 2, -5, 41,
- 3, 4, 42, 0, 5, 0, 7, 8, 67, 120,
- 0, 121, 0, 0, 0, 14, 15, 0, 0, 0,
- 83, 0, 85, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 68, 0, 24, 0, 0, 0, 140, 141,
- 142, 143, 144, 145, 0, 146, 0, 0, 147, 148,
- 149, 0, 30, 0, 0, 0, 0, 0, 0, 31,
- 32, 33, 34, 35, 150, 151, 152, 153, 154, 155,
- 156, 0, 0, 0, 0, 39, 40, 0, 0, 0,
- 0, 41, 0, 0, 42, 2, 122, 0, 3, 4,
+ 201, 70, 203, 205, 206, 237, 208, 207, 240, 283,
+ 209, 234, 242, 254, 243, 259, 272, 288, 287, 248,
+ 249, 298, 250, 251, 282, 145, 255, 256, 257, 245,
+ 258, 289, 305, 260, 261, 262, 263, 264, 265, 266,
+ 267, 268, 269, 145, 292, 299, 146, 152, 153, 154,
+ 155, 306, 275, 321, 307, 309, 280, 281, 327, 320,
+ 328, 273, 274, 326, 151, 152, 153, 154, 155, 95,
+ 96, 97, 302, 303, 304, 330, 333, 98, 331, 350,
+ 340, 357, 359, 365, 99, 369, 367, 371, 352, 372,
+ 318, 319, 354, 374, 210, 271, 290, 291, 324, 135,
+ 137, 247, 138, 360, 0, 362, 278, 0, 0, 0,
+ 0, 0, 0, 0, 332, 0, 355, 0, 336, 373,
+ 0, 358, 0, 0, 0, 0, 0, 342, 347, 0,
+ 0, 0, 0, 312, 353, 0, 0, 314, 315, 316,
+ 317, 0, 0, 0, 0, 0, 0, 361, 313, 363,
+ 0, 0, 0, 366, 0, 368, 0, 370, 0, 0,
+ 0, 0, -5, 1, 0, 0, 375, 334, 0, 0,
+ 0, 0, 0, 0, 339, 2, 0, 341, 3, 4,
0, 0, 5, 6, 7, 8, 9, 10, 0, 11,
- 0, 12, 13, 14, 15, 0, 0, 0, 16, 17,
+ 356, 12, 13, 14, 15, 0, 0, 0, 16, 17,
18, 19, 0, 0, 0, 20, 0, 21, 0, 0,
22, 23, 24, 0, 0, 25, 0, 0, 0, 26,
- 27, 28, 0, 29, 0, 0, 0, 0, 0, 0,
+ 27, 28, 29, 0, 0, 0, 0, 0, 0, 30,
+ 0, 0, 0, 0, 0, 0, 31, 32, 33, 34,
+ 35, 0, 0, 36, 37, 38, 0, 0, 0, 0,
+ 0, 0, 39, 40, 0, 0, 2, -5, 41, 3,
+ 4, 42, 0, 5, 0, 7, 8, 67, 119, 0,
+ 120, 0, 0, 0, 14, 15, 174, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 68, 0, 24, 0, 0, 139, 140, 141, 142,
+ 143, 144, 0, 145, 175, 176, 146, 147, 148, 0,
30, 0, 0, 0, 0, 0, 0, 31, 32, 33,
- 34, 35, 0, 0, 36, 37, 38, 0, 0, 0,
- 0, 0, 0, 39, 40, 0, 0, 2, 0, 41,
- 3, 4, 42, 0, 5, 6, 7, 8, 9, 10,
- 0, 11, 338, 12, 0, 14, 15, 0, 0, 0,
- 16, 17, 18, 19, 0, 0, 0, 0, 0, 21,
- 0, 0, 22, 23, 24, 0, 0, 25, 0, 0,
- 0, 0, 27, 28, 0, 29, 0, 0, 0, 0,
- 0, 0, 30, 0, 0, 0, 0, 0, 0, 31,
- 32, 33, 34, 35, 0, 0, 36, 37, 0, 0,
- 0, 0, 0, 0, 0, 39, 40, 0, 0, 2,
- 301, 41, 3, 4, 42, 0, 5, 6, 7, 8,
- 9, 10, 0, 11, 0, 12, 0, 14, 15, 0,
- 0, 0, 16, 17, 18, 19, 0, 0, 0, 0,
- 0, 21, 0, 0, 22, 23, 24, 0, 0, 25,
- 0, 0, 0, 0, 27, 28, 0, 29, 0, 0,
- 0, 0, 0, 0, 30, 0, 0, 0, 0, 0,
- 0, 31, 32, 33, 34, 35, 0, 0, 36, 37,
- 0, 0, 0, 0, 0, 0, 0, 39, 40, 0,
- 0, 2, 301, 41, 3, 4, 42, 0, 5, 6,
- 7, 8, 9, 10, 0, 11, 0, 12, 0, 14,
- 15, 0, 0, 0, 16, 17, 18, 19, 0, 0,
- 0, 0, 0, 0, 0, 0, 22, 0, 24, 0,
- 0, 0, 0, 0, 0, 0, 27, 28, 0, 29,
- 0, 0, 0, 0, 0, 0, 30, 0, 0, 0,
- 0, 0, 0, 31, 32, 33, 34, 35, 0, 0,
- 0, 37, 0, 0, 0, 0, 0, 0, 0, 39,
- 40, 0, 0, 2, 0, 41, 3, 4, 42, 0,
+ 34, 35, 149, 150, 151, 152, 153, 154, 155, 0,
+ 0, 0, 0, 39, 40, 0, 0, 0, 0, 41,
+ 0, 0, 42, 2, 121, 0, 3, 4, 0, 0,
5, 6, 7, 8, 9, 10, 0, 11, 0, 12,
- 0, 14, 15, 0, 0, 0, 16, 17, 18, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 22, 0,
- 24, 0, 0, 2, 0, 0, 3, 4, 27, 28,
- 5, 29, 7, 8, 67, 10, 0, 11, 30, 0,
- 0, 14, 15, 0, 0, 31, 32, 33, 34, 35,
- 0, 0, 82, 37, 83, 84, 85, 86, 68, 0,
- 24, 39, 40, 0, 0, 0, 0, 41, 0, 0,
- 42, 0, 0, 0, 0, 0, 0, 0, 30, 0,
+ 13, 14, 15, 0, 0, 0, 16, 17, 18, 19,
+ 0, 0, 0, 20, 0, 21, 0, 0, 22, 23,
+ 24, 0, 0, 25, 0, 0, 0, 26, 27, 28,
+ 29, 0, 0, 0, 0, 0, 0, 30, 0, 0,
+ 0, 0, 0, 0, 31, 32, 33, 34, 35, 0,
+ 0, 36, 37, 38, 0, 0, 0, 0, 0, 0,
+ 39, 40, 0, 0, 2, 0, 41, 3, 4, 42,
+ 0, 5, 6, 7, 8, 9, 10, 0, 11, 337,
+ 12, 0, 14, 15, 0, 0, 0, 16, 17, 18,
+ 19, 0, 0, 0, 0, 0, 21, 0, 0, 22,
+ 23, 24, 0, 0, 25, 0, 0, 0, 0, 27,
+ 28, 29, 0, 0, 0, 0, 0, 0, 30, 0,
0, 0, 0, 0, 0, 31, 32, 33, 34, 35,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 39, 40, 0, 0, 2, 0, 41, 3, 4,
- 42, 0, 5, 0, 7, 8, 67, 10, 0, 11,
- 0, 0, 0, 14, 15, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 83, 0, 85, 0,
- 68, 0, 24, 0, 2, 0, 0, 3, 4, 0,
- 91, 5, 103, 7, 8, 67, 10, 0, 11, 0,
- 30, 0, 14, 15, 0, 0, 0, 31, 32, 33,
- 34, 35, 0, 0, 0, 0, 0, 0, 0, 68,
- 0, 24, 0, 39, 40, 0, 0, 0, 0, 41,
- 0, 0, 42, 0, 0, 0, 0, 0, 0, 30,
+ 0, 0, 36, 37, 0, 0, 0, 0, 0, 0,
+ 0, 39, 40, 0, 0, 2, 300, 41, 3, 4,
+ 42, 0, 5, 6, 7, 8, 9, 10, 0, 11,
+ 0, 12, 0, 14, 15, 0, 0, 0, 16, 17,
+ 18, 19, 0, 0, 0, 0, 0, 21, 0, 0,
+ 22, 23, 24, 0, 0, 25, 0, 0, 0, 0,
+ 27, 28, 29, 0, 0, 0, 0, 0, 0, 30,
0, 0, 0, 0, 0, 0, 31, 32, 33, 34,
- 35, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 39, 40, 0, 0, 2, 0, 41, 3,
- 4, 42, 0, 5, 0, 7, 8, 67, 10, 0,
- 11, 0, 0, 0, 14, 15, 0, 0, 0, 0,
+ 35, 0, 0, 36, 37, 0, 0, 0, 0, 0,
+ 0, 0, 39, 40, 0, 0, 2, 300, 41, 3,
+ 4, 42, 0, 5, 6, 7, 8, 9, 10, 0,
+ 11, 0, 12, 0, 14, 15, 0, 0, 0, 16,
+ 17, 18, 19, 0, 0, 0, 0, 0, 0, 0,
+ 0, 22, 0, 24, 0, 0, 0, 0, 0, 0,
+ 0, 27, 28, 29, 0, 0, 0, 0, 0, 0,
+ 30, 0, 0, 0, 0, 0, 0, 31, 32, 33,
+ 34, 35, 0, 0, 0, 37, 0, 0, 0, 0,
+ 0, 0, 0, 39, 40, 0, 0, 2, 0, 41,
+ 3, 4, 42, 0, 5, 6, 7, 8, 9, 10,
+ 0, 11, 0, 12, 0, 14, 15, 0, 0, 0,
+ 16, 17, 18, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 22, 0, 24, 0, 0, 0, 0, 0,
+ 0, 0, 27, 28, 29, 0, 0, 0, 0, 0,
+ 0, 30, 0, 0, 0, 0, 0, 0, 31, 32,
+ 33, 34, 35, 0, 0, 0, 37, 0, 0, 0,
+ 0, 0, 0, 0, 39, 40, 0, 0, 2, 0,
+ 41, 3, 4, 42, 0, 5, 0, 7, 8, 67,
+ 10, 0, 11, 0, 0, 0, 14, 15, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 82, 0, 83,
+ 84, 85, 86, 68, 0, 24, 2, 0, 0, 3,
+ 4, 0, 0, 5, 0, 7, 8, 67, 10, 0,
+ 11, 0, 30, 0, 14, 15, 0, 0, 0, 31,
+ 32, 33, 34, 35, 0, 0, 0, 83, 0, 85,
+ 0, 68, 0, 24, 0, 39, 40, 0, 0, 0,
+ 0, 41, 0, 0, 42, 0, 0, 0, 0, 0,
+ 30, 0, 0, 0, 0, 0, 0, 31, 32, 33,
+ 34, 35, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 39, 40, 0, 0, 2, 0, 41,
+ 3, 4, 42, 91, 5, 0, 7, 8, 67, 10,
+ 0, 11, 0, 0, 0, 14, 15, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 68, 0, 24, 2, 0, 0, 3, 4, 0,
- 0, 5, 0, 7, 8, 67, 10, 0, 11, 0,
- 0, 30, 14, 15, 0, 0, 0, 0, 31, 32,
- 33, 34, 35, 0, 0, 0, 0, 0, 0, 68,
- 0, 24, 0, 0, 39, 40, 0, 0, 0, 0,
- 69, 0, 0, 42, 0, 0, 0, 0, 0, 30,
+ 0, 0, 68, 0, 24, 2, 0, 0, 3, 4,
+ 0, 0, 5, 0, 7, 8, 67, 10, 0, 11,
+ 0, 30, 0, 14, 15, 0, 0, 0, 31, 32,
+ 33, 34, 35, 0, 0, 0, 0, 0, 0, 0,
+ 68, 0, 24, 0, 39, 40, 0, 0, 0, 0,
+ 41, 0, 0, 42, 0, 0, 0, 0, 0, 30,
0, 0, 0, 0, 0, 0, 31, 32, 33, 34,
35, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 39, 40, 0, 0, 2, 0, 72, 3,
+ 0, 0, 39, 40, 0, 0, 2, 0, 69, 3,
4, 42, 0, 5, 0, 7, 8, 67, 10, 0,
11, 0, 0, 0, 14, 15, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 68, 0, 24, 2, 0, 0, 3, 4, 0,
0, 5, 0, 7, 8, 67, 10, 0, 11, 0,
- 0, 30, 14, 15, 0, 0, 0, 0, 31, 32,
- 33, 34, 35, 0, 0, 0, 0, 0, 0, 68,
- 0, 24, 0, 0, 39, 40, 0, 0, 0, 0,
- 75, 0, 0, 42, 0, 0, 0, 0, 190, 30,
- 0, 0, 0, 0, 191, 0, 31, 32, 33, 34,
- 35, 0, 0, 0, 140, 141, 142, 143, 144, 145,
- 0, 146, 39, 40, 147, 148, 149, 0, 41, 0,
- 0, 42, 192, 0, 0, 0, 0, 0, 193, 0,
- 150, 151, 152, 153, 154, 155, 156, 0, 140, 141,
- 142, 143, 144, 145, 0, 146, 0, 0, 147, 148,
- 149, 0, 0, 0, 0, 194, 0, 0, 0, 0,
- 0, 195, 0, 0, 150, 151, 152, 153, 154, 155,
- 156, 140, 141, 142, 143, 144, 145, 0, 146, 0,
- 0, 147, 148, 149, 0, 0, 0, 0, 196, 0,
- 0, 0, 0, 0, 197, 0, 0, 150, 151, 152,
- 153, 154, 155, 156, 140, 141, 142, 143, 144, 145,
- 0, 146, 0, 0, 147, 148, 149, 0, 0, 0,
- 0, 294, 0, 0, 0, 0, 0, 0, 0, 0,
- 150, 151, 152, 153, 154, 155, 156, 140, 141, 142,
- 143, 144, 145, 0, 146, 0, 0, 147, 148, 149,
- 0, 0, 0, 0, 295, 0, 0, 0, 0, 0,
- 0, 0, 0, 150, 151, 152, 153, 154, 155, 156,
- 140, 141, 142, 143, 144, 145, 0, 146, 0, 0,
- 147, 148, 149, 0, 0, 0, 0, 296, 0, 0,
- 0, 0, 0, 0, 0, 0, 150, 151, 152, 153,
- 154, 155, 156, 140, 141, 142, 143, 144, 145, 0,
- 146, 0, 0, 147, 148, 149, 0, 0, 0, 0,
- 297, 0, 0, 0, 0, 0, 0, 0, 0, 150,
- 151, 152, 153, 154, 155, 156, 140, 141, 142, 143,
- 144, 145, 0, 146, 0, 0, 147, 148, 149, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 200,
- 0, 0, 150, 151, 152, 153, 154, 155, 156, 140,
- 141, 142, 143, 144, 145, 0, 146, 0, 0, 147,
- 148, 149, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 150, 151, 152, 153, 154,
- 155, 156, 187, 201, 0, 0, 0, 0, 0, 0,
- 140, 141, 142, 143, 144, 145, 0, 146, 0, 0,
- 147, 148, 149, 140, 141, 142, 143, 144, 145, 0,
- 146, 0, 0, 147, 148, 149, 150, 151, 152, 153,
- 154, 155, 156, 0, 0, 0, 0, 0, 0, 150,
- 151, 152, 153, 154, 155, 156, 0, 0, 0, 205,
- 140, 141, 142, 143, 144, 145, 0, 146, 0, 0,
- 147, 148, 149, 0, 0, 0, 0, 0, 198, 199,
- 0, 0, 0, 0, 0, 0, 150, 151, 152, 153,
- 154, 155, 156, 140, 141, 142, 143, 144, 145, 0,
- 146, 0, 0, 147, 148, 149, 140, 141, 142, 143,
- 0, 0, 0, 146, 0, 0, 147, 148, 149, 150,
- 151, 152, 153, 154, 155, 156, 0, 0, 0, 0,
- 0, 0, 150, 151, 152, 153, 154, 155, 156
+ 30, 0, 14, 15, 0, 0, 0, 31, 32, 33,
+ 34, 35, 0, 0, 0, 0, 0, 0, 0, 68,
+ 0, 24, 0, 39, 40, 0, 0, 0, 0, 72,
+ 0, 0, 42, 0, 0, 0, 0, 0, 30, 0,
+ 0, 0, 0, 0, 0, 31, 32, 33, 34, 35,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 39, 40, 0, 0, 2, 0, 75, 3, 4,
+ 42, 0, 5, 0, 7, 8, 67, 10, 0, 11,
+ 0, 0, 0, 14, 15, 0, 0, 0, 83, 0,
+ 85, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 0, 24, 0, 0, 139, 140, 141, 142, 143,
+ 144, 0, 145, 0, 0, 146, 147, 148, 0, 30,
+ 0, 0, 0, 0, 0, 0, 31, 32, 33, 34,
+ 35, 149, 150, 151, 152, 153, 154, 155, 189, 0,
+ 0, 0, 39, 40, 190, 0, 0, 0, 41, 0,
+ 0, 42, 0, 139, 140, 141, 142, 143, 144, 0,
+ 145, 0, 0, 146, 147, 148, 0, 0, 0, 0,
+ 0, 191, 0, 0, 0, 0, 0, 192, 0, 149,
+ 150, 151, 152, 153, 154, 155, 139, 140, 141, 142,
+ 143, 144, 0, 145, 0, 0, 146, 147, 148, 0,
+ 0, 0, 0, 0, 193, 0, 0, 0, 0, 0,
+ 194, 0, 149, 150, 151, 152, 153, 154, 155, 139,
+ 140, 141, 142, 143, 144, 0, 145, 0, 0, 146,
+ 147, 148, 0, 0, 0, 0, 0, 195, 0, 0,
+ 0, 0, 0, 196, 0, 149, 150, 151, 152, 153,
+ 154, 155, 139, 140, 141, 142, 143, 144, 0, 145,
+ 0, 0, 146, 147, 148, 0, 0, 0, 0, 0,
+ 293, 0, 0, 0, 0, 0, 0, 0, 149, 150,
+ 151, 152, 153, 154, 155, 139, 140, 141, 142, 143,
+ 144, 0, 145, 0, 0, 146, 147, 148, 0, 0,
+ 0, 0, 0, 294, 0, 0, 0, 0, 0, 0,
+ 0, 149, 150, 151, 152, 153, 154, 155, 139, 140,
+ 141, 142, 143, 144, 0, 145, 0, 0, 146, 147,
+ 148, 0, 0, 0, 0, 0, 295, 0, 0, 0,
+ 0, 0, 0, 0, 149, 150, 151, 152, 153, 154,
+ 155, 139, 140, 141, 142, 143, 144, 0, 145, 0,
+ 0, 146, 147, 148, 0, 0, 0, 0, 0, 296,
+ 0, 0, 0, 0, 0, 0, 0, 149, 150, 151,
+ 152, 153, 154, 155, 139, 140, 141, 142, 143, 144,
+ 0, 145, 0, 0, 146, 147, 148, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 199, 0,
+ 149, 150, 151, 152, 153, 154, 155, 139, 140, 141,
+ 142, 143, 144, 186, 145, 0, 0, 146, 147, 148,
+ 139, 140, 141, 142, 143, 144, 0, 145, 0, 0,
+ 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
+ 0, 200, 0, 0, 0, 0, 149, 150, 151, 152,
+ 153, 154, 155, 139, 140, 141, 142, 143, 144, 0,
+ 145, 0, 0, 146, 147, 148, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 149,
+ 150, 151, 152, 153, 154, 155, 0, 0, 0, 204,
+ 139, 140, 141, 142, 143, 144, 0, 145, 0, 0,
+ 146, 147, 148, 0, 0, 0, 0, 0, 197, 198,
+ 0, 0, 0, 0, 0, 0, 149, 150, 151, 152,
+ 153, 154, 155, 139, 140, 141, 142, 143, 144, 0,
+ 145, 0, 0, 146, 147, 148, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 149,
+ 150, 151, 152, 153, 154, 155
};
static const yytype_int16 yycheck[] =
{
- 6, 7, 79, 9, 0, 167, 271, 34, 0, 28,
- 4, 96, 18, 287, 8, 49, 22, 6, 7, 49,
- 52, 27, 28, 40, 30, 31, 32, 33, 34, 35,
- 36, 33, 64, 39, 40, 41, 42, 13, 23, 24,
- 69, 52, 307, 49, 20, 51, 52, 64, 24, 25,
- 52, 27, 24, 64, 131, 132, 330, 96, 85, 25,
- 99, 27, 68, 69, 93, 94, 72, 24, 87, 75,
- 52, 24, 78, 133, 134, 96, 69, 83, 99, 72,
- 69, 96, 64, 72, 99, 104, 69, 54, 55, 78,
- 75, 76, 77, 78, 359, 98, 99, 90, 91, 92,
- 93, 94, 96, 97, 96, 16, 17, 18, 91, 92,
- 93, 94, 99, 24, 98, 99, 24, 98, 99, 97,
- 31, 34, 35, 44, 100, 99, 24, 289, 24, 24,
- 136, 99, 52, 129, 140, 141, 142, 143, 144, 145,
+ 6, 7, 79, 9, 0, 166, 270, 34, 28, 0,
+ 4, 25, 18, 27, 8, 286, 22, 95, 6, 7,
+ 33, 27, 28, 49, 30, 31, 32, 33, 34, 35,
+ 36, 54, 55, 39, 40, 41, 42, 13, 40, 52,
+ 68, 52, 306, 49, 20, 51, 52, 95, 24, 25,
+ 98, 27, 63, 130, 131, 23, 24, 84, 329, 52,
+ 52, 63, 68, 69, 92, 93, 72, 87, 49, 75,
+ 63, 63, 78, 97, 98, 132, 133, 83, 24, 95,
+ 24, 69, 98, 103, 72, 24, 61, 62, 63, 64,
+ 78, 96, 95, 68, 358, 98, 71, 72, 73, 97,
+ 98, 98, 96, 97, 95, 24, 74, 75, 76, 77,
+ 97, 98, 87, 88, 89, 90, 91, 92, 93, 34,
+ 35, 98, 44, 99, 24, 24, 24, 288, 52, 135,
+ 51, 98, 128, 139, 140, 141, 142, 143, 144, 145,
146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
- 156, 51, 158, 24, 24, 102, 162, 217, 102, 165,
- 101, 99, 99, 24, 99, 171, 46, 24, 245, 99,
- 176, 177, 51, 179, 180, 24, 41, 183, 184, 185,
- 174, 187, 24, 24, 190, 191, 192, 193, 194, 195,
- 196, 197, 198, 199, 99, 51, 24, 86, 24, 52,
- 87, 52, 86, 209, 41, 24, 99, 213, 214, 85,
- 24, 86, 206, 207, 86, 51, 85, 85, 52, 129,
- 280, 281, 282, 175, 201, 62, 63, 64, 65, 66,
- 67, 272, 69, 70, 71, 72, 73, 74, 298, 299,
- 52, 52, 283, -1, -1, 210, 306, 253, 254, -1,
- -1, 88, 89, 90, 91, 92, 93, 94, -1, -1,
- -1, -1, 322, 304, -1, -1, 326, 344, 309, -1,
- 311, -1, 349, -1, -1, 335, 336, -1, -1, -1,
- -1, -1, 342, -1, 290, -1, -1, -1, 294, 295,
- 296, 297, -1, -1, -1, 355, -1, 357, 339, 293,
- -1, 361, 343, 363, -1, 365, -1, -1, -1, -1,
- -1, -1, -1, 354, 374, 356, -1, -1, 324, -1,
- -1, -1, 0, 1, -1, 331, -1, -1, 334, 370,
- -1, -1, -1, -1, -1, 13, -1, -1, 16, 17,
- -1, 347, 20, 21, 22, 23, 24, 25, -1, 27,
- -1, 29, 30, 31, 32, -1, -1, -1, 36, 37,
- 38, 39, -1, -1, -1, 43, -1, 45, -1, -1,
- 48, 49, 50, -1, -1, 53, -1, -1, -1, 57,
- 58, 59, -1, 61, -1, -1, -1, -1, -1, -1,
- 68, -1, -1, -1, -1, -1, -1, 75, 76, 77,
- 78, 79, -1, -1, 82, 83, 84, -1, -1, -1,
- -1, -1, -1, 91, 92, -1, -1, 13, 96, 97,
- 16, 17, 100, -1, 20, -1, 22, 23, 24, 25,
- -1, 27, -1, -1, -1, 31, 32, -1, -1, -1,
- 44, -1, 46, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 48, -1, 50, -1, -1, -1, 62, 63,
- 64, 65, 66, 67, -1, 69, -1, -1, 72, 73,
- 74, -1, 68, -1, -1, -1, -1, -1, -1, 75,
- 76, 77, 78, 79, 88, 89, 90, 91, 92, 93,
- 94, -1, -1, -1, -1, 91, 92, -1, -1, -1,
- -1, 97, -1, -1, 100, 13, 102, -1, 16, 17,
+ 24, 157, 24, 101, 101, 161, 98, 100, 164, 216,
+ 98, 24, 98, 46, 170, 24, 98, 244, 24, 175,
+ 176, 271, 178, 179, 51, 68, 182, 183, 184, 173,
+ 186, 41, 282, 189, 190, 191, 192, 193, 194, 195,
+ 196, 197, 198, 68, 24, 24, 71, 90, 91, 92,
+ 93, 51, 208, 303, 98, 24, 212, 213, 308, 85,
+ 310, 205, 206, 24, 89, 90, 91, 92, 93, 16,
+ 17, 18, 279, 280, 281, 52, 52, 24, 86, 24,
+ 85, 84, 98, 24, 31, 51, 85, 85, 338, 84,
+ 297, 298, 342, 84, 128, 200, 252, 253, 305, 52,
+ 52, 174, 52, 353, -1, 355, 209, -1, -1, -1,
+ -1, -1, -1, -1, 321, -1, 343, -1, 325, 369,
+ -1, 348, -1, -1, -1, -1, -1, 334, 335, -1,
+ -1, -1, -1, 289, 341, -1, -1, 293, 294, 295,
+ 296, -1, -1, -1, -1, -1, -1, 354, 292, 356,
+ -1, -1, -1, 360, -1, 362, -1, 364, -1, -1,
+ -1, -1, 0, 1, -1, -1, 373, 323, -1, -1,
+ -1, -1, -1, -1, 330, 13, -1, 333, 16, 17,
-1, -1, 20, 21, 22, 23, 24, 25, -1, 27,
- -1, 29, 30, 31, 32, -1, -1, -1, 36, 37,
+ 346, 29, 30, 31, 32, -1, -1, -1, 36, 37,
38, 39, -1, -1, -1, 43, -1, 45, -1, -1,
48, 49, 50, -1, -1, 53, -1, -1, -1, 57,
- 58, 59, -1, 61, -1, -1, -1, -1, -1, -1,
- 68, -1, -1, -1, -1, -1, -1, 75, 76, 77,
- 78, 79, -1, -1, 82, 83, 84, -1, -1, -1,
- -1, -1, -1, 91, 92, -1, -1, 13, -1, 97,
- 16, 17, 100, -1, 20, 21, 22, 23, 24, 25,
- -1, 27, 28, 29, -1, 31, 32, -1, -1, -1,
- 36, 37, 38, 39, -1, -1, -1, -1, -1, 45,
- -1, -1, 48, 49, 50, -1, -1, 53, -1, -1,
- -1, -1, 58, 59, -1, 61, -1, -1, -1, -1,
- -1, -1, 68, -1, -1, -1, -1, -1, -1, 75,
- 76, 77, 78, 79, -1, -1, 82, 83, -1, -1,
- -1, -1, -1, -1, -1, 91, 92, -1, -1, 13,
- 96, 97, 16, 17, 100, -1, 20, 21, 22, 23,
- 24, 25, -1, 27, -1, 29, -1, 31, 32, -1,
- -1, -1, 36, 37, 38, 39, -1, -1, -1, -1,
- -1, 45, -1, -1, 48, 49, 50, -1, -1, 53,
- -1, -1, -1, -1, 58, 59, -1, 61, -1, -1,
- -1, -1, -1, -1, 68, -1, -1, -1, -1, -1,
- -1, 75, 76, 77, 78, 79, -1, -1, 82, 83,
- -1, -1, -1, -1, -1, -1, -1, 91, 92, -1,
- -1, 13, 96, 97, 16, 17, 100, -1, 20, 21,
- 22, 23, 24, 25, -1, 27, -1, 29, -1, 31,
- 32, -1, -1, -1, 36, 37, 38, 39, -1, -1,
- -1, -1, -1, -1, -1, -1, 48, -1, 50, -1,
- -1, -1, -1, -1, -1, -1, 58, 59, -1, 61,
- -1, -1, -1, -1, -1, -1, 68, -1, -1, -1,
- -1, -1, -1, 75, 76, 77, 78, 79, -1, -1,
- -1, 83, -1, -1, -1, -1, -1, -1, -1, 91,
- 92, -1, -1, 13, -1, 97, 16, 17, 100, -1,
+ 58, 59, 60, -1, -1, -1, -1, -1, -1, 67,
+ -1, -1, -1, -1, -1, -1, 74, 75, 76, 77,
+ 78, -1, -1, 81, 82, 83, -1, -1, -1, -1,
+ -1, -1, 90, 91, -1, -1, 13, 95, 96, 16,
+ 17, 99, -1, 20, -1, 22, 23, 24, 25, -1,
+ 27, -1, -1, -1, 31, 32, 41, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 48, -1, 50, -1, -1, 61, 62, 63, 64,
+ 65, 66, -1, 68, 69, 70, 71, 72, 73, -1,
+ 67, -1, -1, -1, -1, -1, -1, 74, 75, 76,
+ 77, 78, 87, 88, 89, 90, 91, 92, 93, -1,
+ -1, -1, -1, 90, 91, -1, -1, -1, -1, 96,
+ -1, -1, 99, 13, 101, -1, 16, 17, -1, -1,
20, 21, 22, 23, 24, 25, -1, 27, -1, 29,
- -1, 31, 32, -1, -1, -1, 36, 37, 38, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 48, -1,
- 50, -1, -1, 13, -1, -1, 16, 17, 58, 59,
- 20, 61, 22, 23, 24, 25, -1, 27, 68, -1,
- -1, 31, 32, -1, -1, 75, 76, 77, 78, 79,
- -1, -1, 42, 83, 44, 45, 46, 47, 48, -1,
- 50, 91, 92, -1, -1, -1, -1, 97, -1, -1,
- 100, -1, -1, -1, -1, -1, -1, -1, 68, -1,
- -1, -1, -1, -1, -1, 75, 76, 77, 78, 79,
+ 30, 31, 32, -1, -1, -1, 36, 37, 38, 39,
+ -1, -1, -1, 43, -1, 45, -1, -1, 48, 49,
+ 50, -1, -1, 53, -1, -1, -1, 57, 58, 59,
+ 60, -1, -1, -1, -1, -1, -1, 67, -1, -1,
+ -1, -1, -1, -1, 74, 75, 76, 77, 78, -1,
+ -1, 81, 82, 83, -1, -1, -1, -1, -1, -1,
+ 90, 91, -1, -1, 13, -1, 96, 16, 17, 99,
+ -1, 20, 21, 22, 23, 24, 25, -1, 27, 28,
+ 29, -1, 31, 32, -1, -1, -1, 36, 37, 38,
+ 39, -1, -1, -1, -1, -1, 45, -1, -1, 48,
+ 49, 50, -1, -1, 53, -1, -1, -1, -1, 58,
+ 59, 60, -1, -1, -1, -1, -1, -1, 67, -1,
+ -1, -1, -1, -1, -1, 74, 75, 76, 77, 78,
+ -1, -1, 81, 82, -1, -1, -1, -1, -1, -1,
+ -1, 90, 91, -1, -1, 13, 95, 96, 16, 17,
+ 99, -1, 20, 21, 22, 23, 24, 25, -1, 27,
+ -1, 29, -1, 31, 32, -1, -1, -1, 36, 37,
+ 38, 39, -1, -1, -1, -1, -1, 45, -1, -1,
+ 48, 49, 50, -1, -1, 53, -1, -1, -1, -1,
+ 58, 59, 60, -1, -1, -1, -1, -1, -1, 67,
+ -1, -1, -1, -1, -1, -1, 74, 75, 76, 77,
+ 78, -1, -1, 81, 82, -1, -1, -1, -1, -1,
+ -1, -1, 90, 91, -1, -1, 13, 95, 96, 16,
+ 17, 99, -1, 20, 21, 22, 23, 24, 25, -1,
+ 27, -1, 29, -1, 31, 32, -1, -1, -1, 36,
+ 37, 38, 39, -1, -1, -1, -1, -1, -1, -1,
+ -1, 48, -1, 50, -1, -1, -1, -1, -1, -1,
+ -1, 58, 59, 60, -1, -1, -1, -1, -1, -1,
+ 67, -1, -1, -1, -1, -1, -1, 74, 75, 76,
+ 77, 78, -1, -1, -1, 82, -1, -1, -1, -1,
+ -1, -1, -1, 90, 91, -1, -1, 13, -1, 96,
+ 16, 17, 99, -1, 20, 21, 22, 23, 24, 25,
+ -1, 27, -1, 29, -1, 31, 32, -1, -1, -1,
+ 36, 37, 38, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 48, -1, 50, -1, -1, -1, -1, -1,
+ -1, -1, 58, 59, 60, -1, -1, -1, -1, -1,
+ -1, 67, -1, -1, -1, -1, -1, -1, 74, 75,
+ 76, 77, 78, -1, -1, -1, 82, -1, -1, -1,
+ -1, -1, -1, -1, 90, 91, -1, -1, 13, -1,
+ 96, 16, 17, 99, -1, 20, -1, 22, 23, 24,
+ 25, -1, 27, -1, -1, -1, 31, 32, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 42, -1, 44,
+ 45, 46, 47, 48, -1, 50, 13, -1, -1, 16,
+ 17, -1, -1, 20, -1, 22, 23, 24, 25, -1,
+ 27, -1, 67, -1, 31, 32, -1, -1, -1, 74,
+ 75, 76, 77, 78, -1, -1, -1, 44, -1, 46,
+ -1, 48, -1, 50, -1, 90, 91, -1, -1, -1,
+ -1, 96, -1, -1, 99, -1, -1, -1, -1, -1,
+ 67, -1, -1, -1, -1, -1, -1, 74, 75, 76,
+ 77, 78, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 90, 91, -1, -1, 13, -1, 96,
+ 16, 17, 99, 19, 20, -1, 22, 23, 24, 25,
+ -1, 27, -1, -1, -1, 31, 32, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 91, 92, -1, -1, 13, -1, 97, 16, 17,
- 100, -1, 20, -1, 22, 23, 24, 25, -1, 27,
- -1, -1, -1, 31, 32, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 44, -1, 46, -1,
- 48, -1, 50, -1, 13, -1, -1, 16, 17, -1,
- 19, 20, 60, 22, 23, 24, 25, -1, 27, -1,
- 68, -1, 31, 32, -1, -1, -1, 75, 76, 77,
- 78, 79, -1, -1, -1, -1, -1, -1, -1, 48,
- -1, 50, -1, 91, 92, -1, -1, -1, -1, 97,
- -1, -1, 100, -1, -1, -1, -1, -1, -1, 68,
- -1, -1, -1, -1, -1, -1, 75, 76, 77, 78,
- 79, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 91, 92, -1, -1, 13, -1, 97, 16,
- 17, 100, -1, 20, -1, 22, 23, 24, 25, -1,
+ -1, -1, 48, -1, 50, 13, -1, -1, 16, 17,
+ -1, -1, 20, -1, 22, 23, 24, 25, -1, 27,
+ -1, 67, -1, 31, 32, -1, -1, -1, 74, 75,
+ 76, 77, 78, -1, -1, -1, -1, -1, -1, -1,
+ 48, -1, 50, -1, 90, 91, -1, -1, -1, -1,
+ 96, -1, -1, 99, -1, -1, -1, -1, -1, 67,
+ -1, -1, -1, -1, -1, -1, 74, 75, 76, 77,
+ 78, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 90, 91, -1, -1, 13, -1, 96, 16,
+ 17, 99, -1, 20, -1, 22, 23, 24, 25, -1,
27, -1, -1, -1, 31, 32, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 48, -1, 50, 13, -1, -1, 16, 17, -1,
-1, 20, -1, 22, 23, 24, 25, -1, 27, -1,
- -1, 68, 31, 32, -1, -1, -1, -1, 75, 76,
- 77, 78, 79, -1, -1, -1, -1, -1, -1, 48,
- -1, 50, -1, -1, 91, 92, -1, -1, -1, -1,
- 97, -1, -1, 100, -1, -1, -1, -1, -1, 68,
- -1, -1, -1, -1, -1, -1, 75, 76, 77, 78,
- 79, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 91, 92, -1, -1, 13, -1, 97, 16,
- 17, 100, -1, 20, -1, 22, 23, 24, 25, -1,
- 27, -1, -1, -1, 31, 32, -1, -1, -1, -1,
+ 67, -1, 31, 32, -1, -1, -1, 74, 75, 76,
+ 77, 78, -1, -1, -1, -1, -1, -1, -1, 48,
+ -1, 50, -1, 90, 91, -1, -1, -1, -1, 96,
+ -1, -1, 99, -1, -1, -1, -1, -1, 67, -1,
+ -1, -1, -1, -1, -1, 74, 75, 76, 77, 78,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 48, -1, 50, 13, -1, -1, 16, 17, -1,
- -1, 20, -1, 22, 23, 24, 25, -1, 27, -1,
- -1, 68, 31, 32, -1, -1, -1, -1, 75, 76,
- 77, 78, 79, -1, -1, -1, -1, -1, -1, 48,
- -1, 50, -1, -1, 91, 92, -1, -1, -1, -1,
- 97, -1, -1, 100, -1, -1, -1, -1, 46, 68,
- -1, -1, -1, -1, 52, -1, 75, 76, 77, 78,
- 79, -1, -1, -1, 62, 63, 64, 65, 66, 67,
- -1, 69, 91, 92, 72, 73, 74, -1, 97, -1,
- -1, 100, 46, -1, -1, -1, -1, -1, 52, -1,
- 88, 89, 90, 91, 92, 93, 94, -1, 62, 63,
- 64, 65, 66, 67, -1, 69, -1, -1, 72, 73,
- 74, -1, -1, -1, -1, 46, -1, -1, -1, -1,
- -1, 52, -1, -1, 88, 89, 90, 91, 92, 93,
- 94, 62, 63, 64, 65, 66, 67, -1, 69, -1,
- -1, 72, 73, 74, -1, -1, -1, -1, 46, -1,
- -1, -1, -1, -1, 52, -1, -1, 88, 89, 90,
- 91, 92, 93, 94, 62, 63, 64, 65, 66, 67,
- -1, 69, -1, -1, 72, 73, 74, -1, -1, -1,
- -1, 46, -1, -1, -1, -1, -1, -1, -1, -1,
- 88, 89, 90, 91, 92, 93, 94, 62, 63, 64,
- 65, 66, 67, -1, 69, -1, -1, 72, 73, 74,
+ -1, 90, 91, -1, -1, 13, -1, 96, 16, 17,
+ 99, -1, 20, -1, 22, 23, 24, 25, -1, 27,
+ -1, -1, -1, 31, 32, -1, -1, -1, 44, -1,
+ 46, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 48, -1, 50, -1, -1, 61, 62, 63, 64, 65,
+ 66, -1, 68, -1, -1, 71, 72, 73, -1, 67,
+ -1, -1, -1, -1, -1, -1, 74, 75, 76, 77,
+ 78, 87, 88, 89, 90, 91, 92, 93, 46, -1,
+ -1, -1, 90, 91, 52, -1, -1, -1, 96, -1,
+ -1, 99, -1, 61, 62, 63, 64, 65, 66, -1,
+ 68, -1, -1, 71, 72, 73, -1, -1, -1, -1,
+ -1, 46, -1, -1, -1, -1, -1, 52, -1, 87,
+ 88, 89, 90, 91, 92, 93, 61, 62, 63, 64,
+ 65, 66, -1, 68, -1, -1, 71, 72, 73, -1,
-1, -1, -1, -1, 46, -1, -1, -1, -1, -1,
- -1, -1, -1, 88, 89, 90, 91, 92, 93, 94,
- 62, 63, 64, 65, 66, 67, -1, 69, -1, -1,
- 72, 73, 74, -1, -1, -1, -1, 46, -1, -1,
- -1, -1, -1, -1, -1, -1, 88, 89, 90, 91,
- 92, 93, 94, 62, 63, 64, 65, 66, 67, -1,
- 69, -1, -1, 72, 73, 74, -1, -1, -1, -1,
- 46, -1, -1, -1, -1, -1, -1, -1, -1, 88,
- 89, 90, 91, 92, 93, 94, 62, 63, 64, 65,
- 66, 67, -1, 69, -1, -1, 72, 73, 74, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 52,
- -1, -1, 88, 89, 90, 91, 92, 93, 94, 62,
- 63, 64, 65, 66, 67, -1, 69, -1, -1, 72,
- 73, 74, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 88, 89, 90, 91, 92,
- 93, 94, 54, 96, -1, -1, -1, -1, -1, -1,
- 62, 63, 64, 65, 66, 67, -1, 69, -1, -1,
- 72, 73, 74, 62, 63, 64, 65, 66, 67, -1,
- 69, -1, -1, 72, 73, 74, 88, 89, 90, 91,
- 92, 93, 94, -1, -1, -1, -1, -1, -1, 88,
- 89, 90, 91, 92, 93, 94, -1, -1, -1, 98,
- 62, 63, 64, 65, 66, 67, -1, 69, -1, -1,
- 72, 73, 74, -1, -1, -1, -1, -1, 80, 81,
- -1, -1, -1, -1, -1, -1, 88, 89, 90, 91,
- 92, 93, 94, 62, 63, 64, 65, 66, 67, -1,
- 69, -1, -1, 72, 73, 74, 62, 63, 64, 65,
- -1, -1, -1, 69, -1, -1, 72, 73, 74, 88,
- 89, 90, 91, 92, 93, 94, -1, -1, -1, -1,
- -1, -1, 88, 89, 90, 91, 92, 93, 94
+ 52, -1, 87, 88, 89, 90, 91, 92, 93, 61,
+ 62, 63, 64, 65, 66, -1, 68, -1, -1, 71,
+ 72, 73, -1, -1, -1, -1, -1, 46, -1, -1,
+ -1, -1, -1, 52, -1, 87, 88, 89, 90, 91,
+ 92, 93, 61, 62, 63, 64, 65, 66, -1, 68,
+ -1, -1, 71, 72, 73, -1, -1, -1, -1, -1,
+ 46, -1, -1, -1, -1, -1, -1, -1, 87, 88,
+ 89, 90, 91, 92, 93, 61, 62, 63, 64, 65,
+ 66, -1, 68, -1, -1, 71, 72, 73, -1, -1,
+ -1, -1, -1, 46, -1, -1, -1, -1, -1, -1,
+ -1, 87, 88, 89, 90, 91, 92, 93, 61, 62,
+ 63, 64, 65, 66, -1, 68, -1, -1, 71, 72,
+ 73, -1, -1, -1, -1, -1, 46, -1, -1, -1,
+ -1, -1, -1, -1, 87, 88, 89, 90, 91, 92,
+ 93, 61, 62, 63, 64, 65, 66, -1, 68, -1,
+ -1, 71, 72, 73, -1, -1, -1, -1, -1, 46,
+ -1, -1, -1, -1, -1, -1, -1, 87, 88, 89,
+ 90, 91, 92, 93, 61, 62, 63, 64, 65, 66,
+ -1, 68, -1, -1, 71, 72, 73, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 52, -1,
+ 87, 88, 89, 90, 91, 92, 93, 61, 62, 63,
+ 64, 65, 66, 54, 68, -1, -1, 71, 72, 73,
+ 61, 62, 63, 64, 65, 66, -1, 68, -1, -1,
+ 71, 72, 73, 87, 88, 89, 90, 91, 92, 93,
+ -1, 95, -1, -1, -1, -1, 87, 88, 89, 90,
+ 91, 92, 93, 61, 62, 63, 64, 65, 66, -1,
+ 68, -1, -1, 71, 72, 73, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 87,
+ 88, 89, 90, 91, 92, 93, -1, -1, -1, 97,
+ 61, 62, 63, 64, 65, 66, -1, 68, -1, -1,
+ 71, 72, 73, -1, -1, -1, -1, -1, 79, 80,
+ -1, -1, -1, -1, -1, -1, 87, 88, 89, 90,
+ 91, 92, 93, 61, 62, 63, 64, 65, 66, -1,
+ 68, -1, -1, 71, 72, 73, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 87,
+ 88, 89, 90, 91, 92, 93
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1198,65 +1201,65 @@ static const yytype_uint8 yystos[] =
{
0, 1, 13, 16, 17, 20, 21, 22, 23, 24,
25, 27, 29, 30, 31, 32, 36, 37, 38, 39,
- 43, 45, 48, 49, 50, 53, 57, 58, 59, 61,
- 68, 75, 76, 77, 78, 79, 82, 83, 84, 91,
- 92, 97, 100, 104, 105, 106, 107, 109, 111, 115,
- 116, 117, 122, 123, 124, 125, 126, 127, 133, 135,
- 137, 141, 146, 149, 96, 24, 123, 24, 48, 97,
- 124, 147, 97, 147, 123, 97, 124, 148, 136, 140,
- 49, 128, 42, 44, 45, 46, 47, 124, 134, 138,
- 49, 19, 124, 54, 55, 16, 17, 18, 24, 31,
- 24, 24, 124, 60, 124, 134, 24, 132, 124, 124,
- 124, 124, 124, 124, 124, 129, 142, 124, 124, 124,
- 25, 27, 102, 124, 150, 151, 152, 153, 0, 96,
- 124, 40, 64, 124, 108, 114, 117, 124, 127, 146,
- 62, 63, 64, 65, 66, 67, 69, 72, 73, 74,
- 88, 89, 90, 91, 92, 93, 94, 119, 97, 124,
- 124, 147, 99, 147, 147, 99, 147, 119, 24, 130,
- 124, 44, 134, 24, 24, 41, 70, 71, 24, 52,
- 64, 123, 123, 52, 64, 52, 51, 54, 134, 99,
- 46, 52, 46, 52, 46, 52, 46, 52, 80, 81,
- 52, 96, 24, 131, 24, 98, 102, 102, 101, 99,
- 99, 105, 120, 119, 119, 120, 120, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 24, 143, 98, 124, 98,
- 98, 124, 143, 99, 124, 139, 123, 24, 126, 124,
- 124, 124, 124, 52, 64, 46, 124, 124, 124, 124,
- 24, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 110, 110, 99, 123, 123, 124, 25, 27, 153,
- 121, 124, 124, 51, 120, 96, 99, 96, 24, 119,
- 41, 124, 124, 24, 46, 46, 46, 46, 107, 121,
- 24, 96, 109, 120, 120, 120, 121, 51, 99, 145,
- 24, 145, 143, 124, 123, 124, 124, 124, 124, 120,
- 120, 86, 121, 33, 52, 120, 107, 24, 121, 121,
- 96, 52, 87, 120, 52, 124, 112, 120, 28, 145,
- 124, 86, 124, 120, 34, 35, 113, 118, 120, 34,
- 85, 24, 144, 121, 120, 121, 119, 124, 85, 119,
- 99, 121, 120, 121, 120, 107, 24, 120, 86, 120,
- 51, 120, 86, 85, 121, 85, 120
+ 43, 45, 48, 49, 50, 53, 57, 58, 59, 60,
+ 67, 74, 75, 76, 77, 78, 81, 82, 83, 90,
+ 91, 96, 99, 103, 104, 105, 106, 108, 110, 114,
+ 115, 116, 121, 122, 123, 124, 125, 126, 132, 134,
+ 136, 140, 145, 148, 95, 24, 122, 24, 48, 96,
+ 123, 146, 96, 146, 122, 96, 123, 147, 135, 139,
+ 49, 127, 42, 44, 45, 46, 47, 123, 133, 137,
+ 49, 19, 123, 54, 55, 16, 17, 18, 24, 31,
+ 24, 24, 123, 123, 133, 24, 131, 123, 123, 123,
+ 123, 123, 123, 123, 128, 141, 123, 123, 123, 25,
+ 27, 101, 123, 149, 150, 151, 152, 0, 95, 123,
+ 40, 63, 123, 107, 113, 116, 123, 126, 145, 61,
+ 62, 63, 64, 65, 66, 68, 71, 72, 73, 87,
+ 88, 89, 90, 91, 92, 93, 118, 96, 123, 123,
+ 146, 98, 146, 146, 98, 146, 118, 24, 129, 123,
+ 44, 133, 24, 24, 41, 69, 70, 24, 52, 63,
+ 122, 122, 52, 63, 52, 51, 54, 133, 98, 46,
+ 52, 46, 52, 46, 52, 46, 52, 79, 80, 52,
+ 95, 24, 130, 24, 97, 101, 101, 100, 98, 98,
+ 104, 119, 118, 118, 119, 119, 123, 123, 123, 123,
+ 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
+ 123, 123, 123, 123, 24, 142, 97, 123, 97, 97,
+ 123, 142, 98, 123, 138, 122, 24, 125, 123, 123,
+ 123, 123, 52, 63, 46, 123, 123, 123, 123, 24,
+ 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
+ 109, 109, 98, 122, 122, 123, 25, 27, 152, 120,
+ 123, 123, 51, 119, 95, 98, 95, 24, 118, 41,
+ 123, 123, 24, 46, 46, 46, 46, 106, 120, 24,
+ 95, 108, 119, 119, 119, 120, 51, 98, 144, 24,
+ 144, 142, 123, 122, 123, 123, 123, 123, 119, 119,
+ 85, 120, 33, 52, 119, 106, 24, 120, 120, 95,
+ 52, 86, 119, 52, 123, 111, 119, 28, 144, 123,
+ 85, 123, 119, 34, 35, 112, 117, 119, 34, 84,
+ 24, 143, 120, 119, 120, 118, 123, 84, 118, 98,
+ 120, 119, 120, 119, 106, 24, 119, 85, 119, 51,
+ 119, 85, 84, 120, 84, 119
};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint8 yyr1[] =
{
- 0, 103, 104, 104, 104, 105, 105, 105, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 107, 107, 107, 108, 108, 108, 108, 109, 109,
- 109, 109, 109, 109, 109, 109, 109, 109, 110, 111,
- 111, 112, 112, 113, 114, 114, 115, 116, 117, 118,
- 119, 120, 121, 121, 121, 122, 123, 123, 123, 123,
- 123, 123, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 125, 125, 125, 125, 125,
- 125, 125, 125, 126, 126, 127, 127, 127, 127, 127,
- 128, 127, 129, 127, 127, 127, 127, 127, 127, 130,
- 130, 131, 131, 132, 132, 133, 133, 133, 133, 133,
- 133, 134, 134, 135, 135, 135, 135, 136, 135, 138,
- 139, 137, 137, 140, 137, 137, 137, 142, 141, 143,
- 143, 143, 143, 144, 144, 144, 145, 146, 147, 147,
- 147, 148, 148, 149, 150, 150, 150, 150, 151, 151,
- 152, 152, 153, 153
+ 0, 102, 103, 103, 103, 104, 104, 104, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 106, 106, 106, 107, 107, 107, 107, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 109, 110,
+ 110, 111, 111, 112, 113, 113, 114, 115, 116, 117,
+ 118, 119, 120, 120, 120, 121, 122, 122, 122, 122,
+ 122, 122, 123, 123, 123, 123, 123, 123, 123, 123,
+ 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
+ 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
+ 123, 123, 123, 123, 123, 124, 124, 124, 124, 124,
+ 124, 124, 124, 125, 125, 126, 126, 126, 126, 126,
+ 127, 126, 128, 126, 126, 126, 126, 126, 126, 129,
+ 129, 130, 130, 131, 131, 132, 132, 132, 132, 132,
+ 132, 133, 133, 134, 134, 134, 135, 134, 137, 138,
+ 136, 136, 139, 136, 136, 136, 141, 140, 142, 142,
+ 142, 142, 143, 143, 143, 144, 145, 146, 146, 146,
+ 147, 147, 148, 149, 149, 149, 149, 150, 150, 151,
+ 151, 152, 152
};
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
@@ -1275,11 +1278,11 @@ static const yytype_int8 yyr2[] =
6, 4, 6, 2, 1, 2, 1, 1, 2, 1,
0, 3, 0, 3, 2, 4, 2, 4, 2, 1,
3, 1, 3, 1, 3, 2, 2, 2, 2, 3,
- 2, 3, 2, 2, 2, 3, 2, 0, 3, 0,
- 0, 9, 2, 0, 7, 8, 6, 0, 3, 0,
- 1, 3, 4, 0, 1, 3, 0, 2, 0, 1,
- 3, 1, 3, 3, 0, 1, 1, 1, 1, 3,
- 1, 3, 3, 3
+ 2, 3, 2, 2, 3, 2, 0, 3, 0, 0,
+ 9, 2, 0, 7, 8, 6, 0, 3, 0, 1,
+ 3, 4, 0, 1, 3, 0, 2, 0, 1, 3,
+ 1, 3, 3, 0, 1, 1, 1, 1, 3, 1,
+ 3, 3, 3
};
@@ -1717,73 +1720,73 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
case 21: /* BLTIN */
#line 136 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1721 "engines/director/lingo/lingo-gr.cpp"
+#line 1724 "engines/director/lingo/lingo-gr.cpp"
break;
case 22: /* FBLTIN */
#line 136 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1727 "engines/director/lingo/lingo-gr.cpp"
+#line 1730 "engines/director/lingo/lingo-gr.cpp"
break;
case 23: /* RBLTIN */
#line 136 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1733 "engines/director/lingo/lingo-gr.cpp"
+#line 1736 "engines/director/lingo/lingo-gr.cpp"
break;
case 24: /* ID */
#line 136 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1739 "engines/director/lingo/lingo-gr.cpp"
+#line 1742 "engines/director/lingo/lingo-gr.cpp"
break;
case 25: /* STRING */
#line 136 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1745 "engines/director/lingo/lingo-gr.cpp"
+#line 1748 "engines/director/lingo/lingo-gr.cpp"
break;
case 26: /* HANDLER */
#line 136 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1751 "engines/director/lingo/lingo-gr.cpp"
+#line 1754 "engines/director/lingo/lingo-gr.cpp"
break;
case 27: /* SYMBOL */
#line 136 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1757 "engines/director/lingo/lingo-gr.cpp"
+#line 1760 "engines/director/lingo/lingo-gr.cpp"
break;
case 28: /* ENDCLAUSE */
#line 136 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1763 "engines/director/lingo/lingo-gr.cpp"
+#line 1766 "engines/director/lingo/lingo-gr.cpp"
break;
case 29: /* tPLAYACCEL */
#line 136 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1769 "engines/director/lingo/lingo-gr.cpp"
+#line 1772 "engines/director/lingo/lingo-gr.cpp"
break;
case 30: /* tMETHOD */
#line 136 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1775 "engines/director/lingo/lingo-gr.cpp"
+#line 1778 "engines/director/lingo/lingo-gr.cpp"
break;
case 31: /* THEOBJECTFIELD */
#line 137 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).objectfield).os; }
-#line 1781 "engines/director/lingo/lingo-gr.cpp"
+#line 1784 "engines/director/lingo/lingo-gr.cpp"
break;
- case 141: /* on */
+ case 140: /* on */
#line 136 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1787 "engines/director/lingo/lingo-gr.cpp"
+#line 1790 "engines/director/lingo/lingo-gr.cpp"
break;
default:
@@ -2053,7 +2056,7 @@ yyreduce:
case 4:
#line 143 "engines/director/lingo/lingo-gr.y"
{ yyerrok; }
-#line 2057 "engines/director/lingo/lingo-gr.cpp"
+#line 2060 "engines/director/lingo/lingo-gr.cpp"
break;
case 8:
@@ -2064,7 +2067,7 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[-2].code);
delete (yyvsp[0].s); }
-#line 2068 "engines/director/lingo/lingo-gr.cpp"
+#line 2071 "engines/director/lingo/lingo-gr.cpp"
break;
case 9:
@@ -2072,7 +2075,7 @@ yyreduce:
{
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[-2].code); }
-#line 2076 "engines/director/lingo/lingo-gr.cpp"
+#line 2079 "engines/director/lingo/lingo-gr.cpp"
break;
case 10:
@@ -2088,19 +2091,19 @@ yyreduce:
g_lingo->codeInt((yyvsp[-4].e)[0]);
g_lingo->codeInt((yyvsp[-4].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2092 "engines/director/lingo/lingo-gr.cpp"
+#line 2095 "engines/director/lingo/lingo-gr.cpp"
break;
case 11:
#line 170 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_after); }
-#line 2098 "engines/director/lingo/lingo-gr.cpp"
+#line 2101 "engines/director/lingo/lingo-gr.cpp"
break;
case 12:
#line 171 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_before); }
-#line 2104 "engines/director/lingo/lingo-gr.cpp"
+#line 2107 "engines/director/lingo/lingo-gr.cpp"
break;
case 13:
@@ -2111,7 +2114,7 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[0].code);
delete (yyvsp[-2].s); }
-#line 2115 "engines/director/lingo/lingo-gr.cpp"
+#line 2118 "engines/director/lingo/lingo-gr.cpp"
break;
case 14:
@@ -2123,7 +2126,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-2].e)[0]);
g_lingo->codeInt((yyvsp[-2].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2127 "engines/director/lingo/lingo-gr.cpp"
+#line 2130 "engines/director/lingo/lingo-gr.cpp"
break;
case 15:
@@ -2134,7 +2137,7 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[0].code);
delete (yyvsp[-2].s); }
-#line 2138 "engines/director/lingo/lingo-gr.cpp"
+#line 2141 "engines/director/lingo/lingo-gr.cpp"
break;
case 16:
@@ -2146,7 +2149,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-2].e)[0]);
g_lingo->codeInt((yyvsp[-2].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2150 "engines/director/lingo/lingo-gr.cpp"
+#line 2153 "engines/director/lingo/lingo-gr.cpp"
break;
case 17:
@@ -2157,7 +2160,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-3].e)[0]);
g_lingo->codeInt((yyvsp[-3].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2161 "engines/director/lingo/lingo-gr.cpp"
+#line 2164 "engines/director/lingo/lingo-gr.cpp"
break;
case 18:
@@ -2168,7 +2171,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-3].e)[0]);
g_lingo->codeInt((yyvsp[-3].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2172 "engines/director/lingo/lingo-gr.cpp"
+#line 2175 "engines/director/lingo/lingo-gr.cpp"
break;
case 19:
@@ -2184,7 +2187,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-6].e)[0]);
g_lingo->codeInt((yyvsp[-6].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2188 "engines/director/lingo/lingo-gr.cpp"
+#line 2191 "engines/director/lingo/lingo-gr.cpp"
break;
case 20:
@@ -2195,7 +2198,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-2].objectfield).oe);
delete (yyvsp[-2].objectfield).os;
(yyval.code) = (yyvsp[0].code); }
-#line 2199 "engines/director/lingo/lingo-gr.cpp"
+#line 2202 "engines/director/lingo/lingo-gr.cpp"
break;
case 30:
@@ -2206,7 +2209,7 @@ yyreduce:
WRITE_UINT32(&end, (yyvsp[-1].code) - (yyvsp[-5].code));
(*g_lingo->_currentScript)[(yyvsp[-5].code) + 1] = body; /* body of loop */
(*g_lingo->_currentScript)[(yyvsp[-5].code) + 2] = end; }
-#line 2210 "engines/director/lingo/lingo-gr.cpp"
+#line 2213 "engines/director/lingo/lingo-gr.cpp"
break;
case 31:
@@ -2223,7 +2226,7 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-10].code) + 3] = body; /* body of loop */
(*g_lingo->_currentScript)[(yyvsp[-10].code) + 4] = inc; /* increment */
(*g_lingo->_currentScript)[(yyvsp[-10].code) + 5] = end; }
-#line 2227 "engines/director/lingo/lingo-gr.cpp"
+#line 2230 "engines/director/lingo/lingo-gr.cpp"
break;
case 32:
@@ -2240,7 +2243,7 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-11].code) + 3] = body; /* body of loop */
(*g_lingo->_currentScript)[(yyvsp[-11].code) + 4] = inc; /* increment */
(*g_lingo->_currentScript)[(yyvsp[-11].code) + 5] = end; }
-#line 2244 "engines/director/lingo/lingo-gr.cpp"
+#line 2247 "engines/director/lingo/lingo-gr.cpp"
break;
case 33:
@@ -2255,14 +2258,14 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-7].code) + 3] = body; /* body of loop */
(*g_lingo->_currentScript)[(yyvsp[-7].code) + 4] = 0; /* increment */
(*g_lingo->_currentScript)[(yyvsp[-7].code) + 5] = end; }
-#line 2259 "engines/director/lingo/lingo-gr.cpp"
+#line 2262 "engines/director/lingo/lingo-gr.cpp"
break;
case 34:
#line 295 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_nextRepeat); }
-#line 2266 "engines/director/lingo/lingo-gr.cpp"
+#line 2269 "engines/director/lingo/lingo-gr.cpp"
break;
case 35:
@@ -2272,7 +2275,7 @@ yyreduce:
WRITE_UINT32(&end, (yyvsp[0].code) - (yyvsp[-2].code));
g_lingo->code1(STOP);
(*g_lingo->_currentScript)[(yyvsp[-2].code) + 1] = end; }
-#line 2276 "engines/director/lingo/lingo-gr.cpp"
+#line 2279 "engines/director/lingo/lingo-gr.cpp"
break;
case 36:
@@ -2281,7 +2284,7 @@ yyreduce:
inst end;
WRITE_UINT32(&end, (yyvsp[-1].code) - (yyvsp[-3].code));
(*g_lingo->_currentScript)[(yyvsp[-3].code) + 1] = end; }
-#line 2285 "engines/director/lingo/lingo-gr.cpp"
+#line 2288 "engines/director/lingo/lingo-gr.cpp"
break;
case 37:
@@ -2290,7 +2293,7 @@ yyreduce:
inst end;
WRITE_UINT32(&end, (yyvsp[0].code) - (yyvsp[-2].code));
(*g_lingo->_currentScript)[(yyvsp[-2].code) + 1] = end; }
-#line 2294 "engines/director/lingo/lingo-gr.cpp"
+#line 2297 "engines/director/lingo/lingo-gr.cpp"
break;
case 38:
@@ -2298,7 +2301,7 @@ yyreduce:
{
(yyval.code) = g_lingo->code1(LC::c_tellcode);
g_lingo->code1(STOP); }
-#line 2302 "engines/director/lingo/lingo-gr.cpp"
+#line 2305 "engines/director/lingo/lingo-gr.cpp"
break;
case 39:
@@ -2313,7 +2316,7 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-8].code) + 3] = end; /* end, if cond fails */
g_lingo->processIf((yyvsp[-8].code), (yyvsp[-1].code) - (yyvsp[-8].code), 0); }
-#line 2317 "engines/director/lingo/lingo-gr.cpp"
+#line 2320 "engines/director/lingo/lingo-gr.cpp"
break;
case 40:
@@ -2328,7 +2331,7 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-11].code) + 3] = end; /* end, if cond fails */
g_lingo->processIf((yyvsp[-11].code), (yyvsp[-1].code) - (yyvsp[-11].code), (yyvsp[-3].code) - (yyvsp[-11].code)); }
-#line 2332 "engines/director/lingo/lingo-gr.cpp"
+#line 2335 "engines/director/lingo/lingo-gr.cpp"
break;
case 43:
@@ -2339,7 +2342,7 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-5].code) + 1] = then; /* thenpart */
g_lingo->codeLabel((yyvsp[-5].code)); }
-#line 2343 "engines/director/lingo/lingo-gr.cpp"
+#line 2346 "engines/director/lingo/lingo-gr.cpp"
break;
case 44:
@@ -2354,7 +2357,7 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-10].code) + 3] = end; /* end, if cond fails */
g_lingo->processIf((yyvsp[-10].code), (yyvsp[-1].code) - (yyvsp[-10].code), (yyvsp[-3].code) - (yyvsp[-10].code)); }
-#line 2358 "engines/director/lingo/lingo-gr.cpp"
+#line 2361 "engines/director/lingo/lingo-gr.cpp"
break;
case 45:
@@ -2369,13 +2372,13 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-6].code) + 3] = end; /* end, if cond fails */
g_lingo->processIf((yyvsp[-6].code), (yyvsp[-1].code) - (yyvsp[-6].code), (yyvsp[-1].code) - (yyvsp[-6].code)); }
-#line 2373 "engines/director/lingo/lingo-gr.cpp"
+#line 2376 "engines/director/lingo/lingo-gr.cpp"
break;
case 46:
#line 367 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code3(LC::c_repeatwhilecode, STOP, STOP); }
-#line 2379 "engines/director/lingo/lingo-gr.cpp"
+#line 2382 "engines/director/lingo/lingo-gr.cpp"
break;
case 47:
@@ -2385,7 +2388,7 @@ yyreduce:
g_lingo->code3(STOP, STOP, STOP);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2389 "engines/director/lingo/lingo-gr.cpp"
+#line 2392 "engines/director/lingo/lingo-gr.cpp"
break;
case 48:
@@ -2395,7 +2398,7 @@ yyreduce:
g_lingo->code3(STOP, STOP, STOP);
g_lingo->code1(0); // Do not skip end
g_lingo->codeLabel(0); }
-#line 2399 "engines/director/lingo/lingo-gr.cpp"
+#line 2402 "engines/director/lingo/lingo-gr.cpp"
break;
case 49:
@@ -2406,25 +2409,25 @@ yyreduce:
(yyval.code) = g_lingo->code1(LC::c_ifcode);
g_lingo->code3(STOP, STOP, STOP);
g_lingo->code1(skipEnd); }
-#line 2410 "engines/director/lingo/lingo-gr.cpp"
+#line 2413 "engines/director/lingo/lingo-gr.cpp"
break;
case 50:
#line 388 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->_currentScript->size(); }
-#line 2416 "engines/director/lingo/lingo-gr.cpp"
+#line 2419 "engines/director/lingo/lingo-gr.cpp"
break;
case 51:
#line 390 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(STOP); (yyval.code) = g_lingo->_currentScript->size(); }
-#line 2422 "engines/director/lingo/lingo-gr.cpp"
+#line 2425 "engines/director/lingo/lingo-gr.cpp"
break;
case 52:
#line 392 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->_currentScript->size(); }
-#line 2428 "engines/director/lingo/lingo-gr.cpp"
+#line 2431 "engines/director/lingo/lingo-gr.cpp"
break;
case 55:
@@ -2434,7 +2437,7 @@ yyreduce:
g_lingo->code1(STOP);
g_lingo->codeString((yyvsp[-1].s)->c_str());
delete (yyvsp[-1].s); }
-#line 2438 "engines/director/lingo/lingo-gr.cpp"
+#line 2441 "engines/director/lingo/lingo-gr.cpp"
break;
case 56:
@@ -2442,7 +2445,7 @@ yyreduce:
{
(yyval.code) = g_lingo->code1(LC::c_intpush);
g_lingo->codeInt((yyvsp[0].i)); }
-#line 2446 "engines/director/lingo/lingo-gr.cpp"
+#line 2449 "engines/director/lingo/lingo-gr.cpp"
break;
case 57:
@@ -2450,7 +2453,7 @@ yyreduce:
{
(yyval.code) = g_lingo->code1(LC::c_floatpush);
g_lingo->codeFloat((yyvsp[0].f)); }
-#line 2454 "engines/director/lingo/lingo-gr.cpp"
+#line 2457 "engines/director/lingo/lingo-gr.cpp"
break;
case 58:
@@ -2459,7 +2462,7 @@ yyreduce:
(yyval.code) = g_lingo->code1(LC::c_symbolpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2463 "engines/director/lingo/lingo-gr.cpp"
+#line 2466 "engines/director/lingo/lingo-gr.cpp"
break;
case 59:
@@ -2468,7 +2471,7 @@ yyreduce:
(yyval.code) = g_lingo->code1(LC::c_stringpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2472 "engines/director/lingo/lingo-gr.cpp"
+#line 2475 "engines/director/lingo/lingo-gr.cpp"
break;
case 60:
@@ -2477,13 +2480,13 @@ yyreduce:
(yyval.code) = g_lingo->code1(LC::c_eval);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2481 "engines/director/lingo/lingo-gr.cpp"
+#line 2484 "engines/director/lingo/lingo-gr.cpp"
break;
case 62:
#line 422 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); }
-#line 2487 "engines/director/lingo/lingo-gr.cpp"
+#line 2490 "engines/director/lingo/lingo-gr.cpp"
break;
case 64:
@@ -2491,7 +2494,7 @@ yyreduce:
{
g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 2495 "engines/director/lingo/lingo-gr.cpp"
+#line 2498 "engines/director/lingo/lingo-gr.cpp"
break;
case 65:
@@ -2499,7 +2502,7 @@ yyreduce:
{
g_lingo->codeFunc((yyvsp[-1].s), (yyvsp[0].narg));
delete (yyvsp[-1].s); }
-#line 2503 "engines/director/lingo/lingo-gr.cpp"
+#line 2506 "engines/director/lingo/lingo-gr.cpp"
break;
case 66:
@@ -2507,7 +2510,7 @@ yyreduce:
{
(yyval.code) = g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 2511 "engines/director/lingo/lingo-gr.cpp"
+#line 2514 "engines/director/lingo/lingo-gr.cpp"
break;
case 67:
@@ -2520,7 +2523,7 @@ yyreduce:
WRITE_UINT32(&e, (yyvsp[0].e)[0]);
WRITE_UINT32(&f, (yyvsp[0].e)[1]);
g_lingo->code2(e, f); }
-#line 2524 "engines/director/lingo/lingo-gr.cpp"
+#line 2527 "engines/director/lingo/lingo-gr.cpp"
break;
case 68:
@@ -2531,7 +2534,7 @@ yyreduce:
WRITE_UINT32(&e, (yyvsp[-1].e)[0]);
WRITE_UINT32(&f, (yyvsp[-1].e)[1]);
g_lingo->code2(e, f); }
-#line 2535 "engines/director/lingo/lingo-gr.cpp"
+#line 2538 "engines/director/lingo/lingo-gr.cpp"
break;
case 69:
@@ -2541,7 +2544,7 @@ yyreduce:
g_lingo->codeString((yyvsp[0].objectfield).os->c_str());
g_lingo->codeInt((yyvsp[0].objectfield).oe);
delete (yyvsp[0].objectfield).os; }
-#line 2545 "engines/director/lingo/lingo-gr.cpp"
+#line 2548 "engines/director/lingo/lingo-gr.cpp"
break;
case 70:
@@ -2552,193 +2555,193 @@ yyreduce:
g_lingo->codeString((yyvsp[0].objectref).field->c_str());
delete (yyvsp[0].objectref).obj;
delete (yyvsp[0].objectref).field; }
-#line 2556 "engines/director/lingo/lingo-gr.cpp"
+#line 2559 "engines/director/lingo/lingo-gr.cpp"
break;
case 72:
#line 459 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_add); }
-#line 2562 "engines/director/lingo/lingo-gr.cpp"
+#line 2565 "engines/director/lingo/lingo-gr.cpp"
break;
case 73:
#line 460 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_sub); }
-#line 2568 "engines/director/lingo/lingo-gr.cpp"
+#line 2571 "engines/director/lingo/lingo-gr.cpp"
break;
case 74:
#line 461 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_mul); }
-#line 2574 "engines/director/lingo/lingo-gr.cpp"
+#line 2577 "engines/director/lingo/lingo-gr.cpp"
break;
case 75:
#line 462 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_div); }
-#line 2580 "engines/director/lingo/lingo-gr.cpp"
+#line 2583 "engines/director/lingo/lingo-gr.cpp"
break;
case 76:
#line 463 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_mod); }
-#line 2586 "engines/director/lingo/lingo-gr.cpp"
+#line 2589 "engines/director/lingo/lingo-gr.cpp"
break;
case 77:
#line 464 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gt); }
-#line 2592 "engines/director/lingo/lingo-gr.cpp"
+#line 2595 "engines/director/lingo/lingo-gr.cpp"
break;
case 78:
#line 465 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lt); }
-#line 2598 "engines/director/lingo/lingo-gr.cpp"
+#line 2601 "engines/director/lingo/lingo-gr.cpp"
break;
case 79:
#line 466 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_eq); }
-#line 2604 "engines/director/lingo/lingo-gr.cpp"
+#line 2607 "engines/director/lingo/lingo-gr.cpp"
break;
case 80:
#line 467 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_neq); }
-#line 2610 "engines/director/lingo/lingo-gr.cpp"
+#line 2613 "engines/director/lingo/lingo-gr.cpp"
break;
case 81:
#line 468 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ge); }
-#line 2616 "engines/director/lingo/lingo-gr.cpp"
+#line 2619 "engines/director/lingo/lingo-gr.cpp"
break;
case 82:
#line 469 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_le); }
-#line 2622 "engines/director/lingo/lingo-gr.cpp"
+#line 2625 "engines/director/lingo/lingo-gr.cpp"
break;
case 83:
#line 470 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_and); }
-#line 2628 "engines/director/lingo/lingo-gr.cpp"
+#line 2631 "engines/director/lingo/lingo-gr.cpp"
break;
case 84:
#line 471 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_or); }
-#line 2634 "engines/director/lingo/lingo-gr.cpp"
+#line 2637 "engines/director/lingo/lingo-gr.cpp"
break;
case 85:
#line 472 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_not); }
-#line 2640 "engines/director/lingo/lingo-gr.cpp"
+#line 2643 "engines/director/lingo/lingo-gr.cpp"
break;
case 86:
#line 473 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ampersand); }
-#line 2646 "engines/director/lingo/lingo-gr.cpp"
+#line 2649 "engines/director/lingo/lingo-gr.cpp"
break;
case 87:
#line 474 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_concat); }
-#line 2652 "engines/director/lingo/lingo-gr.cpp"
+#line 2655 "engines/director/lingo/lingo-gr.cpp"
break;
case 88:
#line 475 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_contains); }
-#line 2658 "engines/director/lingo/lingo-gr.cpp"
+#line 2661 "engines/director/lingo/lingo-gr.cpp"
break;
case 89:
#line 476 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_starts); }
-#line 2664 "engines/director/lingo/lingo-gr.cpp"
+#line 2667 "engines/director/lingo/lingo-gr.cpp"
break;
case 90:
#line 477 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); }
-#line 2670 "engines/director/lingo/lingo-gr.cpp"
+#line 2673 "engines/director/lingo/lingo-gr.cpp"
break;
case 91:
#line 478 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); g_lingo->code1(LC::c_negate); }
-#line 2676 "engines/director/lingo/lingo-gr.cpp"
+#line 2679 "engines/director/lingo/lingo-gr.cpp"
break;
case 92:
#line 479 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[-1].code); }
-#line 2682 "engines/director/lingo/lingo-gr.cpp"
+#line 2685 "engines/director/lingo/lingo-gr.cpp"
break;
case 93:
#line 480 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_intersects); }
-#line 2688 "engines/director/lingo/lingo-gr.cpp"
+#line 2691 "engines/director/lingo/lingo-gr.cpp"
break;
case 94:
#line 481 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_within); }
-#line 2694 "engines/director/lingo/lingo-gr.cpp"
+#line 2697 "engines/director/lingo/lingo-gr.cpp"
break;
case 95:
#line 483 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_charOf); }
-#line 2700 "engines/director/lingo/lingo-gr.cpp"
+#line 2703 "engines/director/lingo/lingo-gr.cpp"
break;
case 96:
#line 484 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_charToOf); }
-#line 2706 "engines/director/lingo/lingo-gr.cpp"
+#line 2709 "engines/director/lingo/lingo-gr.cpp"
break;
case 97:
#line 485 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_itemOf); }
-#line 2712 "engines/director/lingo/lingo-gr.cpp"
+#line 2715 "engines/director/lingo/lingo-gr.cpp"
break;
case 98:
#line 486 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_itemToOf); }
-#line 2718 "engines/director/lingo/lingo-gr.cpp"
+#line 2721 "engines/director/lingo/lingo-gr.cpp"
break;
case 99:
#line 487 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lineOf); }
-#line 2724 "engines/director/lingo/lingo-gr.cpp"
+#line 2727 "engines/director/lingo/lingo-gr.cpp"
break;
case 100:
#line 488 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lineToOf); }
-#line 2730 "engines/director/lingo/lingo-gr.cpp"
+#line 2733 "engines/director/lingo/lingo-gr.cpp"
break;
case 101:
#line 489 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_wordOf); }
-#line 2736 "engines/director/lingo/lingo-gr.cpp"
+#line 2739 "engines/director/lingo/lingo-gr.cpp"
break;
case 102:
#line 490 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_wordToOf); }
-#line 2742 "engines/director/lingo/lingo-gr.cpp"
+#line 2745 "engines/director/lingo/lingo-gr.cpp"
break;
case 103:
@@ -2746,49 +2749,49 @@ yyreduce:
{
g_lingo->codeFunc((yyvsp[-1].s), 1);
delete (yyvsp[-1].s); }
-#line 2750 "engines/director/lingo/lingo-gr.cpp"
+#line 2753 "engines/director/lingo/lingo-gr.cpp"
break;
case 105:
#line 497 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_printtop); }
-#line 2756 "engines/director/lingo/lingo-gr.cpp"
+#line 2759 "engines/director/lingo/lingo-gr.cpp"
break;
case 108:
#line 500 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_exitRepeat); }
-#line 2762 "engines/director/lingo/lingo-gr.cpp"
+#line 2765 "engines/director/lingo/lingo-gr.cpp"
break;
case 109:
#line 501 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_procret); }
-#line 2768 "engines/director/lingo/lingo-gr.cpp"
+#line 2771 "engines/director/lingo/lingo-gr.cpp"
break;
case 110:
#line 502 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; }
-#line 2774 "engines/director/lingo/lingo-gr.cpp"
+#line 2777 "engines/director/lingo/lingo-gr.cpp"
break;
case 111:
#line 502 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateNone; }
-#line 2780 "engines/director/lingo/lingo-gr.cpp"
+#line 2783 "engines/director/lingo/lingo-gr.cpp"
break;
case 112:
#line 503 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; }
-#line 2786 "engines/director/lingo/lingo-gr.cpp"
+#line 2789 "engines/director/lingo/lingo-gr.cpp"
break;
case 113:
#line 503 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateNone; }
-#line 2792 "engines/director/lingo/lingo-gr.cpp"
+#line 2795 "engines/director/lingo/lingo-gr.cpp"
break;
case 115:
@@ -2796,7 +2799,7 @@ yyreduce:
{
g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 2800 "engines/director/lingo/lingo-gr.cpp"
+#line 2803 "engines/director/lingo/lingo-gr.cpp"
break;
case 116:
@@ -2804,19 +2807,19 @@ yyreduce:
{
g_lingo->codeFunc((yyvsp[-1].s), (yyvsp[0].narg));
delete (yyvsp[-1].s); }
-#line 2808 "engines/director/lingo/lingo-gr.cpp"
+#line 2811 "engines/director/lingo/lingo-gr.cpp"
break;
case 117:
#line 511 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_open); }
-#line 2814 "engines/director/lingo/lingo-gr.cpp"
+#line 2817 "engines/director/lingo/lingo-gr.cpp"
break;
case 118:
#line 512 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code2(LC::c_voidpush, LC::c_open); }
-#line 2820 "engines/director/lingo/lingo-gr.cpp"
+#line 2823 "engines/director/lingo/lingo-gr.cpp"
break;
case 119:
@@ -2825,7 +2828,7 @@ yyreduce:
g_lingo->code1(LC::c_global);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2829 "engines/director/lingo/lingo-gr.cpp"
+#line 2832 "engines/director/lingo/lingo-gr.cpp"
break;
case 120:
@@ -2834,7 +2837,7 @@ yyreduce:
g_lingo->code1(LC::c_global);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2838 "engines/director/lingo/lingo-gr.cpp"
+#line 2841 "engines/director/lingo/lingo-gr.cpp"
break;
case 121:
@@ -2843,7 +2846,7 @@ yyreduce:
g_lingo->code1(LC::c_property);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2847 "engines/director/lingo/lingo-gr.cpp"
+#line 2850 "engines/director/lingo/lingo-gr.cpp"
break;
case 122:
@@ -2852,7 +2855,7 @@ yyreduce:
g_lingo->code1(LC::c_property);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2856 "engines/director/lingo/lingo-gr.cpp"
+#line 2859 "engines/director/lingo/lingo-gr.cpp"
break;
case 123:
@@ -2861,7 +2864,7 @@ yyreduce:
g_lingo->code1(LC::c_instance);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2865 "engines/director/lingo/lingo-gr.cpp"
+#line 2868 "engines/director/lingo/lingo-gr.cpp"
break;
case 124:
@@ -2870,25 +2873,25 @@ yyreduce:
g_lingo->code1(LC::c_instance);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2874 "engines/director/lingo/lingo-gr.cpp"
+#line 2877 "engines/director/lingo/lingo-gr.cpp"
break;
case 125:
#line 548 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotoloop); }
-#line 2880 "engines/director/lingo/lingo-gr.cpp"
+#line 2883 "engines/director/lingo/lingo-gr.cpp"
break;
case 126:
#line 549 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotonext); }
-#line 2886 "engines/director/lingo/lingo-gr.cpp"
+#line 2889 "engines/director/lingo/lingo-gr.cpp"
break;
case 127:
#line 550 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotoprevious); }
-#line 2892 "engines/director/lingo/lingo-gr.cpp"
+#line 2895 "engines/director/lingo/lingo-gr.cpp"
break;
case 128:
@@ -2897,7 +2900,7 @@ yyreduce:
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(LC::c_goto); }
-#line 2901 "engines/director/lingo/lingo-gr.cpp"
+#line 2904 "engines/director/lingo/lingo-gr.cpp"
break;
case 129:
@@ -2906,7 +2909,7 @@ yyreduce:
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(LC::c_goto); }
-#line 2910 "engines/director/lingo/lingo-gr.cpp"
+#line 2913 "engines/director/lingo/lingo-gr.cpp"
break;
case 130:
@@ -2915,105 +2918,99 @@ yyreduce:
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(2);
g_lingo->code1(LC::c_goto); }
-#line 2919 "engines/director/lingo/lingo-gr.cpp"
+#line 2922 "engines/director/lingo/lingo-gr.cpp"
break;
case 133:
#line 567 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_playdone); }
-#line 2925 "engines/director/lingo/lingo-gr.cpp"
- break;
-
- case 134:
-#line 568 "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 2934 "engines/director/lingo/lingo-gr.cpp"
+#line 2931 "engines/director/lingo/lingo-gr.cpp"
break;
- case 135:
-#line 572 "engines/director/lingo/lingo-gr.y"
+ case 134:
+#line 571 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(LC::c_play); }
-#line 2943 "engines/director/lingo/lingo-gr.cpp"
+#line 2940 "engines/director/lingo/lingo-gr.cpp"
break;
- case 136:
-#line 576 "engines/director/lingo/lingo-gr.y"
+ case 135:
+#line 575 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(2);
g_lingo->code1(LC::c_play); }
-#line 2952 "engines/director/lingo/lingo-gr.cpp"
+#line 2949 "engines/director/lingo/lingo-gr.cpp"
break;
- case 137:
-#line 580 "engines/director/lingo/lingo-gr.y"
+ case 136:
+#line 579 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeSetImmediate(true); }
-#line 2958 "engines/director/lingo/lingo-gr.cpp"
+#line 2955 "engines/director/lingo/lingo-gr.cpp"
break;
- case 138:
-#line 580 "engines/director/lingo/lingo-gr.y"
+ case 137:
+#line 579 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeSetImmediate(false);
g_lingo->codeFunc((yyvsp[-2].s), (yyvsp[0].narg));
delete (yyvsp[-2].s); }
-#line 2967 "engines/director/lingo/lingo-gr.cpp"
+#line 2964 "engines/director/lingo/lingo-gr.cpp"
break;
- case 139:
-#line 610 "engines/director/lingo/lingo-gr.y"
+ case 138:
+#line 609 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; }
-#line 2973 "engines/director/lingo/lingo-gr.cpp"
+#line 2970 "engines/director/lingo/lingo-gr.cpp"
break;
- case 140:
-#line 610 "engines/director/lingo/lingo-gr.y"
+ case 139:
+#line 609 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_currentFactory.clear(); }
-#line 2979 "engines/director/lingo/lingo-gr.cpp"
+#line 2976 "engines/director/lingo/lingo-gr.cpp"
break;
- case 141:
-#line 611 "engines/director/lingo/lingo-gr.y"
+ case 140:
+#line 610 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_procret);
g_lingo->define(*(yyvsp[-6].s), (yyvsp[-4].code), (yyvsp[-3].narg));
g_lingo->clearArgStack();
g_lingo->_indef = kStateNone;
delete (yyvsp[-6].s); }
-#line 2990 "engines/director/lingo/lingo-gr.cpp"
+#line 2987 "engines/director/lingo/lingo-gr.cpp"
break;
- case 142:
-#line 617 "engines/director/lingo/lingo-gr.y"
+ case 141:
+#line 616 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeFactory(*(yyvsp[0].s)); delete (yyvsp[0].s); }
-#line 2996 "engines/director/lingo/lingo-gr.cpp"
+#line 2993 "engines/director/lingo/lingo-gr.cpp"
break;
- case 143:
-#line 618 "engines/director/lingo/lingo-gr.y"
+ case 142:
+#line 617 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; }
-#line 3002 "engines/director/lingo/lingo-gr.cpp"
+#line 2999 "engines/director/lingo/lingo-gr.cpp"
break;
- case 144:
-#line 619 "engines/director/lingo/lingo-gr.y"
+ case 143:
+#line 618 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_procret);
g_lingo->define(*(yyvsp[-6].s), (yyvsp[-4].code), (yyvsp[-3].narg) + 1, &g_lingo->_currentFactory);
g_lingo->clearArgStack();
g_lingo->_indef = kStateNone;
delete (yyvsp[-6].s); }
-#line 3013 "engines/director/lingo/lingo-gr.cpp"
+#line 3010 "engines/director/lingo/lingo-gr.cpp"
break;
- case 145:
-#line 625 "engines/director/lingo/lingo-gr.y"
+ case 144:
+#line 624 "engines/director/lingo/lingo-gr.y"
{ // D3
g_lingo->code1(LC::c_procret);
g_lingo->define(*(yyvsp[-7].s), (yyvsp[-6].code), (yyvsp[-5].narg));
@@ -3024,11 +3021,11 @@ yyreduce:
checkEnd((yyvsp[-1].s), (yyvsp[-7].s)->c_str(), false);
delete (yyvsp[-7].s);
delete (yyvsp[-1].s); }
-#line 3028 "engines/director/lingo/lingo-gr.cpp"
+#line 3025 "engines/director/lingo/lingo-gr.cpp"
break;
- case 146:
-#line 635 "engines/director/lingo/lingo-gr.y"
+ case 145:
+#line 634 "engines/director/lingo/lingo-gr.y"
{ // D4. No 'end' clause
g_lingo->code1(LC::c_procret);
g_lingo->define(*(yyvsp[-5].s), (yyvsp[-4].code), (yyvsp[-3].narg));
@@ -3036,65 +3033,65 @@ yyreduce:
g_lingo->clearArgStack();
g_lingo->_ignoreMe = false;
delete (yyvsp[-5].s); }
-#line 3040 "engines/director/lingo/lingo-gr.cpp"
+#line 3037 "engines/director/lingo/lingo-gr.cpp"
break;
- case 147:
-#line 643 "engines/director/lingo/lingo-gr.y"
+ case 146:
+#line 642 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; }
-#line 3046 "engines/director/lingo/lingo-gr.cpp"
+#line 3043 "engines/director/lingo/lingo-gr.cpp"
break;
- case 148:
-#line 643 "engines/director/lingo/lingo-gr.y"
+ case 147:
+#line 642 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = (yyvsp[0].s); g_lingo->_currentFactory.clear(); g_lingo->_ignoreMe = true; }
-#line 3052 "engines/director/lingo/lingo-gr.cpp"
+#line 3049 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 148:
+#line 644 "engines/director/lingo/lingo-gr.y"
+ { (yyval.narg) = 0; }
+#line 3055 "engines/director/lingo/lingo-gr.cpp"
break;
case 149:
#line 645 "engines/director/lingo/lingo-gr.y"
- { (yyval.narg) = 0; }
-#line 3058 "engines/director/lingo/lingo-gr.cpp"
+ { g_lingo->codeArg((yyvsp[0].s)); (yyval.narg) = 1; delete (yyvsp[0].s); }
+#line 3061 "engines/director/lingo/lingo-gr.cpp"
break;
case 150:
#line 646 "engines/director/lingo/lingo-gr.y"
- { g_lingo->codeArg((yyvsp[0].s)); (yyval.narg) = 1; delete (yyvsp[0].s); }
-#line 3064 "engines/director/lingo/lingo-gr.cpp"
+ { g_lingo->codeArg((yyvsp[0].s)); (yyval.narg) = (yyvsp[-2].narg) + 1; delete (yyvsp[0].s); }
+#line 3067 "engines/director/lingo/lingo-gr.cpp"
break;
case 151:
#line 647 "engines/director/lingo/lingo-gr.y"
- { g_lingo->codeArg((yyvsp[0].s)); (yyval.narg) = (yyvsp[-2].narg) + 1; delete (yyvsp[0].s); }
-#line 3070 "engines/director/lingo/lingo-gr.cpp"
- break;
-
- case 152:
-#line 648 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); (yyval.narg) = (yyvsp[-3].narg) + 1; delete (yyvsp[0].s); }
-#line 3076 "engines/director/lingo/lingo-gr.cpp"
+#line 3073 "engines/director/lingo/lingo-gr.cpp"
break;
- case 154:
-#line 651 "engines/director/lingo/lingo-gr.y"
+ case 153:
+#line 650 "engines/director/lingo/lingo-gr.y"
{ delete (yyvsp[0].s); }
-#line 3082 "engines/director/lingo/lingo-gr.cpp"
+#line 3079 "engines/director/lingo/lingo-gr.cpp"
break;
- case 155:
-#line 652 "engines/director/lingo/lingo-gr.y"
+ case 154:
+#line 651 "engines/director/lingo/lingo-gr.y"
{ delete (yyvsp[0].s); }
-#line 3088 "engines/director/lingo/lingo-gr.cpp"
+#line 3085 "engines/director/lingo/lingo-gr.cpp"
break;
- case 156:
-#line 654 "engines/director/lingo/lingo-gr.y"
+ case 155:
+#line 653 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArgStore(); g_lingo->_indef = kStateInDef; }
-#line 3094 "engines/director/lingo/lingo-gr.cpp"
+#line 3091 "engines/director/lingo/lingo-gr.cpp"
break;
- case 157:
-#line 656 "engines/director/lingo/lingo-gr.y"
+ case 156:
+#line 655 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_call);
g_lingo->codeString((yyvsp[-1].s)->c_str());
@@ -3102,113 +3099,113 @@ yyreduce:
WRITE_UINT32(&numpar, (yyvsp[0].narg));
g_lingo->code1(numpar);
delete (yyvsp[-1].s); }
-#line 3106 "engines/director/lingo/lingo-gr.cpp"
+#line 3103 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 157:
+#line 663 "engines/director/lingo/lingo-gr.y"
+ { (yyval.narg) = 0; }
+#line 3109 "engines/director/lingo/lingo-gr.cpp"
break;
case 158:
#line 664 "engines/director/lingo/lingo-gr.y"
- { (yyval.narg) = 0; }
-#line 3112 "engines/director/lingo/lingo-gr.cpp"
+ { (yyval.narg) = 1; }
+#line 3115 "engines/director/lingo/lingo-gr.cpp"
break;
case 159:
#line 665 "engines/director/lingo/lingo-gr.y"
- { (yyval.narg) = 1; }
-#line 3118 "engines/director/lingo/lingo-gr.cpp"
+ { (yyval.narg) = (yyvsp[-2].narg) + 1; }
+#line 3121 "engines/director/lingo/lingo-gr.cpp"
break;
case 160:
-#line 666 "engines/director/lingo/lingo-gr.y"
- { (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3124 "engines/director/lingo/lingo-gr.cpp"
+#line 667 "engines/director/lingo/lingo-gr.y"
+ { (yyval.narg) = 1; }
+#line 3127 "engines/director/lingo/lingo-gr.cpp"
break;
case 161:
#line 668 "engines/director/lingo/lingo-gr.y"
- { (yyval.narg) = 1; }
-#line 3130 "engines/director/lingo/lingo-gr.cpp"
+ { (yyval.narg) = (yyvsp[-2].narg) + 1; }
+#line 3133 "engines/director/lingo/lingo-gr.cpp"
break;
case 162:
-#line 669 "engines/director/lingo/lingo-gr.y"
- { (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3136 "engines/director/lingo/lingo-gr.cpp"
+#line 670 "engines/director/lingo/lingo-gr.y"
+ { (yyval.code) = (yyvsp[-1].code); }
+#line 3139 "engines/director/lingo/lingo-gr.cpp"
break;
case 163:
-#line 671 "engines/director/lingo/lingo-gr.y"
- { (yyval.code) = (yyvsp[-1].code); }
-#line 3142 "engines/director/lingo/lingo-gr.cpp"
+#line 672 "engines/director/lingo/lingo-gr.y"
+ { (yyval.code) = g_lingo->code2(LC::c_arraypush, 0); }
+#line 3145 "engines/director/lingo/lingo-gr.cpp"
break;
case 164:
#line 673 "engines/director/lingo/lingo-gr.y"
- { (yyval.code) = g_lingo->code2(LC::c_arraypush, 0); }
-#line 3148 "engines/director/lingo/lingo-gr.cpp"
+ { (yyval.code) = g_lingo->code2(LC::c_proparraypush, 0); }
+#line 3151 "engines/director/lingo/lingo-gr.cpp"
break;
case 165:
#line 674 "engines/director/lingo/lingo-gr.y"
- { (yyval.code) = g_lingo->code2(LC::c_proparraypush, 0); }
-#line 3154 "engines/director/lingo/lingo-gr.cpp"
+ { (yyval.code) = g_lingo->code1(LC::c_arraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
+#line 3157 "engines/director/lingo/lingo-gr.cpp"
break;
case 166:
#line 675 "engines/director/lingo/lingo-gr.y"
- { (yyval.code) = g_lingo->code1(LC::c_arraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3160 "engines/director/lingo/lingo-gr.cpp"
+ { (yyval.code) = g_lingo->code1(LC::c_proparraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
+#line 3163 "engines/director/lingo/lingo-gr.cpp"
break;
case 167:
-#line 676 "engines/director/lingo/lingo-gr.y"
- { (yyval.code) = g_lingo->code1(LC::c_proparraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3166 "engines/director/lingo/lingo-gr.cpp"
+#line 677 "engines/director/lingo/lingo-gr.y"
+ { (yyval.narg) = 1; }
+#line 3169 "engines/director/lingo/lingo-gr.cpp"
break;
case 168:
#line 678 "engines/director/lingo/lingo-gr.y"
- { (yyval.narg) = 1; }
-#line 3172 "engines/director/lingo/lingo-gr.cpp"
+ { (yyval.narg) = (yyvsp[-2].narg) + 1; }
+#line 3175 "engines/director/lingo/lingo-gr.cpp"
break;
case 169:
-#line 679 "engines/director/lingo/lingo-gr.y"
- { (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3178 "engines/director/lingo/lingo-gr.cpp"
+#line 680 "engines/director/lingo/lingo-gr.y"
+ { (yyval.narg) = 1; }
+#line 3181 "engines/director/lingo/lingo-gr.cpp"
break;
case 170:
#line 681 "engines/director/lingo/lingo-gr.y"
- { (yyval.narg) = 1; }
-#line 3184 "engines/director/lingo/lingo-gr.cpp"
- break;
-
- case 171:
-#line 682 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3190 "engines/director/lingo/lingo-gr.cpp"
+#line 3187 "engines/director/lingo/lingo-gr.cpp"
break;
- case 172:
-#line 684 "engines/director/lingo/lingo-gr.y"
+ case 171:
+#line 683 "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 3199 "engines/director/lingo/lingo-gr.cpp"
+#line 3196 "engines/director/lingo/lingo-gr.cpp"
break;
- case 173:
-#line 688 "engines/director/lingo/lingo-gr.y"
+ case 172:
+#line 687 "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 3208 "engines/director/lingo/lingo-gr.cpp"
+#line 3205 "engines/director/lingo/lingo-gr.cpp"
break;
-#line 3212 "engines/director/lingo/lingo-gr.cpp"
+#line 3209 "engines/director/lingo/lingo-gr.cpp"
default: break;
}
@@ -3440,5 +3437,5 @@ yyreturn:
#endif
return yyresult;
}
-#line 694 "engines/director/lingo/lingo-gr.y"
+#line 693 "engines/director/lingo/lingo-gr.y"
diff --git a/engines/director/lingo/lingo-gr.h b/engines/director/lingo/lingo-gr.h
index 2ce6093c66..0c0f5bcec7 100644
--- a/engines/director/lingo/lingo-gr.h
+++ b/engines/director/lingo/lingo-gr.h
@@ -1,4 +1,4 @@
-/* A Bison parser, made by GNU Bison 3.5.1. */
+/* A Bison parser, made by GNU Bison 3.5.3. */
/* Bison interface for Yacc-like parsers in C
@@ -106,34 +106,33 @@ extern int yydebug;
tFACTORY = 312,
tOPEN = 313,
tPLAY = 314,
- tDONE = 315,
- tINSTANCE = 316,
- tGE = 317,
- tLE = 318,
- tEQ = 319,
- tNEQ = 320,
- tAND = 321,
- tOR = 322,
- tNOT = 323,
- tMOD = 324,
- tAFTER = 325,
- tBEFORE = 326,
- tCONCAT = 327,
- tCONTAINS = 328,
- tSTARTS = 329,
- tCHAR = 330,
- tITEM = 331,
- tLINE = 332,
- tWORD = 333,
- tSPRITE = 334,
- tINTERSECTS = 335,
- tWITHIN = 336,
- tTELL = 337,
- tPROPERTY = 338,
- tON = 339,
- tENDIF = 340,
- tENDREPEAT = 341,
- tENDTELL = 342
+ tINSTANCE = 315,
+ tGE = 316,
+ tLE = 317,
+ tEQ = 318,
+ tNEQ = 319,
+ tAND = 320,
+ tOR = 321,
+ tNOT = 322,
+ tMOD = 323,
+ tAFTER = 324,
+ tBEFORE = 325,
+ tCONCAT = 326,
+ tCONTAINS = 327,
+ tSTARTS = 328,
+ tCHAR = 329,
+ tITEM = 330,
+ tLINE = 331,
+ tWORD = 332,
+ tSPRITE = 333,
+ tINTERSECTS = 334,
+ tWITHIN = 335,
+ tTELL = 336,
+ tPROPERTY = 337,
+ tON = 338,
+ tENDIF = 339,
+ tENDREPEAT = 340,
+ tENDTELL = 341
};
#endif
@@ -161,7 +160,7 @@ union YYSTYPE
Common::String *field;
} objectref;
-#line 165 "engines/director/lingo/lingo-gr.h"
+#line 164 "engines/director/lingo/lingo-gr.h"
};
typedef union YYSTYPE YYSTYPE;
diff --git a/engines/director/lingo/lingo-gr.y b/engines/director/lingo/lingo-gr.y
index aa7e8c9697..dd14c2c6ae 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -115,7 +115,7 @@ void checkEnd(Common::String *token, const char *expect, bool required) {
%token<objectref> THEOBJECTREF
%token tDOWN tELSE tELSIF tEXIT tGLOBAL tGO tIF tIN tINTO tLOOP tMACRO
%token tMOVIE tNEXT tOF tPREVIOUS tPUT tREPEAT tSET tTHEN tTO tWHEN
-%token tWITH tWHILE tNLELSE tFACTORY tOPEN tPLAY tDONE tINSTANCE
+%token tWITH tWHILE tNLELSE tFACTORY tOPEN tPLAY tINSTANCE
%token tGE tLE tEQ tNEQ tAND tOR tNOT tMOD
%token tAFTER tBEFORE tCONCAT tCONTAINS tSTARTS tCHAR tITEM tLINE tWORD
%token tSPRITE tINTERSECTS tWITHIN tTELL tPROPERTY
@@ -564,8 +564,7 @@ gotofunc: tGO tLOOP { g_lingo->code1(LC::c_gotoloop); }
gotomovie: tOF tMOVIE expr
| tMOVIE expr
-playfunc: tPLAY tDONE { g_lingo->code1(LC::c_playdone); }
- | tPLAY expr {
+playfunc: tPLAY expr { // "play #done" is also caught by this
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(LC::c_play); }
diff --git a/engines/director/lingo/lingo-lex.cpp b/engines/director/lingo/lingo-lex.cpp
index a72b4b5266..a91229011a 100644
--- a/engines/director/lingo/lingo-lex.cpp
+++ b/engines/director/lingo/lingo-lex.cpp
@@ -364,8 +364,8 @@ static void yy_fatal_error (yyconst char msg[] );
*yy_cp = '\0'; \
(yy_c_buf_p) = yy_cp;
-#define YY_NUM_RULES 78
-#define YY_END_OF_BUFFER 79
+#define YY_NUM_RULES 77
+#define YY_END_OF_BUFFER 78
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
@@ -373,48 +373,48 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int16_t yy_accept[366] =
+static yyconst flex_int16_t yy_accept[364] =
{ 0,
- 0, 0, 79, 77, 4, 75, 75, 77, 77, 77,
- 74, 74, 74, 73, 74, 70, 74, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 77, 3, 3, 71, 4, 75,
- 0, 0, 0, 76, 5, 69, 2, 72, 73, 68,
- 66, 67, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 22, 13, 26, 71, 71, 71, 71,
- 71, 71, 71, 71, 36, 37, 71, 39, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 59, 71,
- 71, 71, 1, 3, 3, 0, 71, 5, 2, 72,
-
- 71, 7, 71, 71, 71, 71, 71, 71, 16, 71,
- 71, 0, 71, 71, 71, 71, 71, 71, 71, 32,
- 71, 71, 35, 71, 71, 71, 71, 45, 71, 47,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 0,
- 71, 71, 71, 9, 71, 11, 12, 15, 0, 18,
- 71, 0, 71, 71, 25, 27, 28, 29, 71, 71,
- 71, 34, 38, 41, 71, 71, 71, 71, 71, 71,
- 50, 0, 58, 63, 71, 61, 65, 0, 71, 6,
- 71, 71, 0, 16, 71, 21, 71, 71, 30, 71,
- 33, 0, 71, 71, 71, 71, 71, 71, 71, 57,
-
- 57, 57, 57, 57, 64, 71, 0, 71, 8, 71,
- 0, 16, 19, 0, 71, 71, 71, 0, 71, 71,
- 71, 46, 0, 60, 49, 0, 0, 57, 57, 57,
- 57, 62, 0, 71, 71, 14, 0, 71, 71, 0,
- 31, 0, 71, 71, 71, 0, 0, 0, 0, 0,
- 0, 0, 0, 57, 57, 57, 57, 0, 17, 10,
- 0, 23, 71, 31, 31, 0, 71, 43, 44, 0,
- 0, 0, 0, 0, 0, 0, 57, 57, 57, 57,
- 17, 0, 71, 31, 0, 42, 0, 0, 0, 0,
- 0, 0, 0, 0, 57, 0, 57, 0, 24, 40,
-
- 0, 0, 0, 48, 56, 55, 56, 0, 0, 0,
- 0, 57, 0, 0, 0, 20, 48, 0, 0, 0,
- 55, 0, 0, 0, 0, 0, 0, 0, 0, 48,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 51,
- 0, 48, 0, 0, 0, 56, 55, 55, 56, 0,
- 52, 48, 54, 55, 55, 0, 55, 0, 55, 0,
- 0, 0, 0, 53, 0
+ 0, 0, 78, 76, 4, 74, 74, 76, 76, 76,
+ 73, 73, 73, 72, 73, 69, 73, 70, 70, 70,
+ 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
+ 70, 70, 70, 70, 76, 3, 3, 70, 4, 74,
+ 0, 0, 0, 75, 5, 68, 2, 71, 72, 67,
+ 65, 66, 70, 70, 70, 70, 70, 70, 70, 70,
+ 70, 70, 70, 21, 12, 25, 70, 70, 70, 70,
+ 70, 70, 70, 70, 35, 36, 70, 38, 70, 70,
+ 70, 70, 70, 70, 70, 70, 70, 70, 58, 70,
+ 70, 70, 1, 3, 3, 0, 70, 5, 2, 71,
+
+ 70, 7, 70, 70, 70, 70, 70, 15, 70, 70,
+ 0, 70, 70, 70, 70, 70, 70, 70, 31, 70,
+ 70, 34, 70, 70, 70, 70, 44, 70, 46, 70,
+ 70, 70, 70, 70, 70, 70, 70, 70, 0, 70,
+ 70, 70, 9, 70, 11, 14, 0, 17, 70, 0,
+ 70, 70, 24, 26, 27, 28, 70, 70, 70, 33,
+ 37, 40, 70, 70, 70, 70, 70, 70, 49, 0,
+ 57, 62, 70, 60, 64, 0, 70, 6, 70, 70,
+ 0, 15, 70, 20, 70, 70, 29, 70, 32, 0,
+ 70, 70, 70, 70, 70, 70, 70, 56, 56, 56,
+
+ 56, 56, 63, 70, 0, 70, 8, 70, 0, 15,
+ 18, 0, 70, 70, 70, 0, 70, 70, 70, 45,
+ 0, 59, 48, 0, 0, 56, 56, 56, 56, 61,
+ 0, 70, 70, 13, 0, 70, 70, 0, 30, 0,
+ 70, 70, 70, 0, 0, 0, 0, 0, 0, 0,
+ 0, 56, 56, 56, 56, 0, 16, 10, 0, 22,
+ 70, 30, 30, 0, 70, 42, 43, 0, 0, 0,
+ 0, 0, 0, 0, 56, 56, 56, 56, 16, 0,
+ 70, 30, 0, 41, 0, 0, 0, 0, 0, 0,
+ 0, 0, 56, 0, 56, 0, 23, 39, 0, 0,
+
+ 0, 47, 55, 54, 55, 0, 0, 0, 0, 56,
+ 0, 0, 0, 19, 47, 0, 0, 0, 54, 0,
+ 0, 0, 0, 0, 0, 0, 0, 47, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 50, 0, 47,
+ 0, 0, 0, 55, 54, 54, 55, 0, 51, 47,
+ 53, 54, 54, 0, 54, 0, 54, 0, 0, 0,
+ 0, 52, 0
} ;
static yyconst flex_int32_t yy_ec[256] =
@@ -460,99 +460,97 @@ static yyconst flex_int32_t yy_meta[66] =
5, 5, 5, 5, 1
} ;
-static yyconst flex_int16_t yy_base[383] =
+static yyconst flex_int16_t yy_base[381] =
{ 0,
- 0, 64, 240, 981, 68, 981, 981, 72, 180, 0,
- 981, 164, 140, 55, 63, 981, 130, 59, 59, 59,
+ 0, 64, 240, 974, 68, 974, 974, 72, 230, 0,
+ 974, 177, 140, 55, 63, 974, 130, 59, 59, 59,
55, 63, 0, 64, 75, 70, 100, 77, 110, 102,
- 98, 139, 126, 152, 145, 185, 206, 110, 210, 981,
- 214, 175, 97, 981, 0, 981, 0, 86, 171, 981,
- 981, 981, 0, 66, 116, 144, 154, 111, 192, 134,
- 175, 172, 151, 82, 0, 165, 183, 174, 195, 207,
- 196, 215, 194, 199, 0, 0, 215, 0, 220, 218,
- 206, 211, 208, 208, 213, 221, 229, 238, 0, 248,
- 242, 245, 981, 283, 287, 257, 262, 0, 0, 69,
-
- 261, 0, 263, 262, 261, 262, 268, 279, 91, 268,
- 286, 308, 276, 293, 284, 294, 287, 289, 292, 0,
- 299, 291, 0, 302, 292, 296, 306, 0, 307, 0,
- 309, 319, 318, 327, 358, 329, 332, 321, 344, 346,
- 333, 338, 339, 0, 349, 0, 0, 153, 371, 0,
- 357, 347, 362, 348, 0, 0, 0, 0, 354, 355,
- 367, 0, 0, 395, 368, 373, 381, 382, 351, 371,
- 0, 436, 0, 0, 382, 382, 0, 380, 386, 0,
- 396, 395, 419, 0, 395, 424, 396, 397, 0, 413,
- 0, 445, 415, 406, 415, 416, 451, 422, 418, 452,
-
- 469, 478, 480, 491, 0, 449, 451, 458, 0, 466,
- 462, 0, 0, 498, 479, 478, 505, 471, 487, 477,
- 481, 0, 544, 0, 0, 527, 506, 525, 548, 559,
- 550, 0, 510, 504, 522, 981, 537, 496, 529, 459,
- 0, 537, 550, 540, 542, 557, 568, 560, 554, 588,
- 578, 575, 578, 602, 621, 619, 630, 569, 0, 0,
- 588, 0, 579, 0, 0, 589, 592, 0, 0, 595,
- 607, 617, 606, 609, 520, 617, 645, 646, 660, 670,
- 981, 625, 623, 0, 625, 0, 624, 642, 633, 643,
- 655, 681, 658, 682, 698, 694, 705, 672, 0, 981,
-
- 673, 695, 683, 981, 981, 0, 981, 704, 721, 730,
- 732, 741, 742, 711, 754, 981, 981, 660, 704, 717,
- 0, 736, 760, 766, 773, 786, 768, 774, 738, 981,
- 734, 754, 754, 765, 809, 792, 813, 818, 780, 798,
- 824, 981, 789, 831, 836, 842, 803, 802, 848, 849,
- 855, 981, 981, 856, 860, 861, 862, 843, 869, 823,
- 847, 875, 876, 981, 981, 910, 912, 915, 918, 924,
- 929, 934, 936, 941, 946, 949, 952, 957, 962, 964,
- 969, 974
+ 98, 139, 126, 152, 145, 185, 206, 110, 210, 974,
+ 214, 175, 97, 974, 0, 974, 0, 86, 171, 974,
+ 974, 974, 0, 66, 116, 144, 154, 111, 130, 139,
+ 175, 174, 151, 82, 0, 187, 179, 174, 193, 185,
+ 195, 206, 192, 198, 0, 0, 213, 0, 218, 218,
+ 202, 207, 206, 206, 211, 232, 225, 235, 0, 248,
+ 223, 230, 974, 281, 286, 253, 258, 0, 0, 69,
+
+ 259, 0, 262, 260, 261, 268, 278, 91, 266, 286,
+ 304, 272, 289, 284, 292, 287, 290, 291, 0, 302,
+ 291, 0, 301, 292, 297, 306, 0, 320, 0, 315,
+ 320, 315, 322, 355, 324, 328, 338, 344, 346, 324,
+ 334, 336, 0, 354, 0, 153, 309, 0, 357, 346,
+ 361, 347, 0, 0, 0, 0, 351, 352, 364, 0,
+ 0, 390, 361, 367, 377, 377, 366, 367, 0, 431,
+ 0, 0, 377, 384, 0, 379, 385, 0, 391, 391,
+ 419, 0, 391, 415, 398, 394, 0, 409, 0, 441,
+ 411, 405, 407, 412, 443, 410, 415, 465, 476, 475,
+
+ 485, 489, 0, 421, 442, 443, 0, 450, 461, 0,
+ 0, 499, 478, 477, 500, 476, 488, 474, 477, 0,
+ 545, 0, 0, 523, 495, 514, 547, 560, 561, 0,
+ 481, 480, 493, 974, 504, 534, 537, 524, 0, 542,
+ 539, 511, 533, 547, 566, 551, 551, 585, 574, 572,
+ 570, 599, 619, 620, 621, 571, 0, 0, 590, 0,
+ 579, 0, 0, 590, 600, 0, 0, 598, 616, 623,
+ 613, 609, 537, 617, 644, 654, 661, 668, 974, 620,
+ 616, 0, 639, 0, 619, 655, 640, 651, 662, 682,
+ 665, 689, 688, 690, 697, 667, 0, 974, 676, 687,
+
+ 681, 974, 974, 0, 974, 713, 721, 725, 727, 748,
+ 731, 709, 749, 974, 974, 687, 706, 714, 0, 732,
+ 763, 765, 769, 771, 773, 785, 733, 974, 724, 754,
+ 759, 767, 790, 794, 805, 815, 771, 826, 827, 974,
+ 781, 832, 833, 838, 780, 819, 844, 845, 850, 974,
+ 974, 851, 852, 856, 857, 835, 862, 834, 846, 869,
+ 871, 974, 974, 903, 905, 908, 911, 917, 922, 927,
+ 929, 934, 939, 942, 945, 950, 955, 957, 962, 967
} ;
-static yyconst flex_int16_t yy_def[383] =
+static yyconst flex_int16_t yy_def[381] =
{ 0,
- 365, 1, 365, 365, 365, 365, 365, 365, 366, 367,
- 365, 365, 365, 365, 365, 365, 365, 368, 368, 368,
- 368, 368, 368, 368, 368, 368, 368, 368, 368, 368,
- 368, 368, 368, 368, 365, 365, 365, 368, 365, 365,
- 365, 365, 366, 365, 369, 365, 370, 365, 365, 365,
- 365, 365, 368, 368, 368, 368, 368, 368, 368, 368,
- 368, 368, 368, 368, 368, 368, 368, 368, 368, 368,
- 368, 368, 368, 368, 368, 368, 368, 368, 368, 368,
- 368, 368, 368, 368, 368, 368, 368, 368, 368, 368,
- 368, 368, 365, 365, 365, 365, 368, 369, 370, 365,
-
- 368, 368, 368, 368, 368, 368, 368, 368, 368, 368,
- 368, 365, 368, 368, 368, 368, 368, 368, 368, 368,
- 368, 368, 368, 368, 368, 368, 368, 368, 368, 368,
- 368, 368, 368, 368, 368, 368, 368, 368, 368, 365,
- 368, 368, 368, 368, 368, 368, 368, 368, 371, 368,
- 368, 365, 368, 368, 368, 368, 368, 368, 368, 368,
- 368, 368, 368, 368, 368, 368, 368, 368, 368, 368,
- 368, 372, 368, 368, 368, 368, 368, 365, 368, 368,
- 368, 368, 365, 373, 368, 365, 368, 368, 368, 368,
- 368, 365, 368, 368, 368, 368, 368, 368, 368, 372,
-
- 372, 372, 372, 372, 368, 368, 365, 368, 368, 368,
- 365, 373, 368, 365, 368, 368, 374, 365, 368, 368,
- 368, 368, 365, 368, 368, 365, 365, 372, 372, 372,
- 372, 368, 365, 368, 368, 365, 365, 368, 368, 375,
- 376, 365, 368, 368, 368, 365, 365, 365, 365, 365,
- 365, 365, 365, 372, 372, 372, 372, 365, 368, 368,
- 365, 368, 368, 377, 376, 365, 368, 368, 368, 365,
- 365, 365, 365, 365, 365, 365, 372, 372, 372, 372,
- 365, 365, 368, 377, 365, 368, 365, 365, 365, 365,
- 365, 378, 365, 379, 372, 365, 372, 365, 368, 365,
-
- 365, 365, 365, 365, 365, 380, 365, 379, 379, 379,
- 379, 372, 365, 365, 365, 365, 365, 365, 365, 365,
- 380, 365, 379, 379, 379, 365, 365, 365, 365, 365,
- 365, 365, 365, 365, 379, 378, 379, 365, 365, 378,
- 365, 365, 365, 365, 365, 379, 380, 380, 379, 365,
- 378, 365, 365, 380, 380, 381, 382, 365, 382, 365,
- 365, 365, 365, 365, 0, 365, 365, 365, 365, 365,
- 365, 365, 365, 365, 365, 365, 365, 365, 365, 365,
- 365, 365
+ 363, 1, 363, 363, 363, 363, 363, 363, 364, 365,
+ 363, 363, 363, 363, 363, 363, 363, 366, 366, 366,
+ 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
+ 366, 366, 366, 366, 363, 363, 363, 366, 363, 363,
+ 363, 363, 364, 363, 367, 363, 368, 363, 363, 363,
+ 363, 363, 366, 366, 366, 366, 366, 366, 366, 366,
+ 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
+ 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
+ 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
+ 366, 366, 363, 363, 363, 363, 366, 367, 368, 363,
+
+ 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
+ 363, 366, 366, 366, 366, 366, 366, 366, 366, 366,
+ 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
+ 366, 366, 366, 366, 366, 366, 366, 366, 363, 366,
+ 366, 366, 366, 366, 366, 366, 369, 366, 366, 363,
+ 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
+ 366, 366, 366, 366, 366, 366, 366, 366, 366, 370,
+ 366, 366, 366, 366, 366, 363, 366, 366, 366, 366,
+ 363, 371, 366, 363, 366, 366, 366, 366, 366, 363,
+ 366, 366, 366, 366, 366, 366, 366, 370, 370, 370,
+
+ 370, 370, 366, 366, 363, 366, 366, 366, 363, 371,
+ 366, 363, 366, 366, 372, 363, 366, 366, 366, 366,
+ 363, 366, 366, 363, 363, 370, 370, 370, 370, 366,
+ 363, 366, 366, 363, 363, 366, 366, 373, 374, 363,
+ 366, 366, 366, 363, 363, 363, 363, 363, 363, 363,
+ 363, 370, 370, 370, 370, 363, 366, 366, 363, 366,
+ 366, 375, 374, 363, 366, 366, 366, 363, 363, 363,
+ 363, 363, 363, 363, 370, 370, 370, 370, 363, 363,
+ 366, 375, 363, 366, 363, 363, 363, 363, 363, 376,
+ 363, 377, 370, 363, 370, 363, 366, 363, 363, 363,
+
+ 363, 363, 363, 378, 363, 377, 377, 377, 377, 370,
+ 363, 363, 363, 363, 363, 363, 363, 363, 378, 363,
+ 377, 377, 377, 363, 363, 363, 363, 363, 363, 363,
+ 363, 363, 377, 376, 377, 363, 363, 376, 363, 363,
+ 363, 363, 363, 377, 378, 378, 377, 363, 376, 363,
+ 363, 378, 378, 379, 380, 363, 380, 363, 363, 363,
+ 363, 363, 0, 363, 363, 363, 363, 363, 363, 363,
+ 363, 363, 363, 363, 363, 363, 363, 363, 363, 363
} ;
-static yyconst flex_int16_t yy_nxt[1047] =
+static yyconst flex_int16_t yy_nxt[1040] =
{ 0,
4, 5, 6, 7, 8, 9, 10, 11, 12, 11,
13, 4, 14, 15, 16, 17, 18, 19, 20, 21,
@@ -562,116 +560,115 @@ static yyconst flex_int16_t yy_nxt[1047] =
26, 27, 28, 29, 30, 23, 31, 32, 33, 23,
23, 34, 23, 23, 35, 36, 48, 49, 37, 39,
40, 40, 41, 41, 40, 40, 41, 50, 51, 56,
- 54, 100, 57, 112, 59, 38, 112, 55, 58, 60,
- 63, 61, 149, 64, 68, 149, 65, 73, 100, 69,
+ 54, 100, 57, 111, 59, 38, 111, 55, 58, 60,
+ 63, 61, 147, 64, 68, 147, 65, 73, 100, 69,
101, 62, 44, 66, 56, 54, 74, 57, 59, 67,
38, 55, 58, 60, 63, 61, 70, 64, 82, 68,
71, 65, 73, 69, 101, 62, 97, 66, 79, 72,
74, 75, 42, 67, 80, 102, 42, 81, 76, 105,
77, 70, 78, 82, 52, 71, 87, 93, 93, 88,
- 47, 97, 79, 72, 183, 89, 75, 183, 80, 83,
- 102, 81, 76, 105, 77, 103, 78, 108, 84, 85,
- 104, 87, 46, 86, 88, 90, 91, 93, 93, 89,
- 111, 92, 48, 49, 83, 44, 94, 40, 40, 95,
- 103, 108, 84, 85, 109, 104, 110, 86, 113, 114,
-
- 90, 91, 116, 115, 111, 92, 96, 95, 40, 40,
- 95, 39, 40, 40, 41, 41, 40, 40, 41, 109,
- 106, 110, 113, 114, 117, 118, 116, 96, 115, 107,
- 119, 96, 122, 123, 120, 124, 125, 133, 126, 365,
- 128, 129, 130, 131, 106, 132, 365, 127, 117, 42,
- 118, 121, 96, 107, 119, 134, 122, 123, 135, 120,
- 124, 125, 133, 126, 128, 129, 130, 131, 136, 132,
- 42, 127, 137, 140, 42, 121, 138, 139, 42, 134,
- 141, 142, 146, 135, 94, 40, 40, 95, 95, 40,
- 40, 95, 143, 136, 144, 145, 147, 137, 140, 148,
-
- 138, 139, 150, 151, 96, 141, 142, 146, 96, 112,
- 153, 156, 112, 154, 157, 160, 143, 158, 144, 145,
- 147, 159, 155, 161, 148, 162, 150, 167, 151, 96,
- 163, 164, 165, 96, 153, 156, 166, 168, 154, 157,
- 160, 158, 152, 169, 176, 159, 155, 42, 161, 162,
- 170, 42, 167, 171, 163, 164, 165, 174, 175, 172,
- 166, 168, 172, 177, 178, 182, 152, 179, 169, 176,
- 180, 181, 149, 185, 170, 149, 186, 171, 187, 365,
- 188, 174, 175, 189, 190, 198, 173, 191, 177, 178,
- 182, 179, 194, 195, 180, 181, 192, 196, 185, 192,
-
- 186, 197, 205, 187, 188, 199, 206, 189, 190, 198,
- 173, 193, 191, 365, 207, 208, 209, 194, 195, 210,
- 183, 213, 196, 183, 215, 214, 197, 205, 214, 199,
- 216, 206, 217, 219, 365, 220, 193, 172, 207, 208,
- 172, 209, 224, 211, 210, 213, 192, 221, 215, 192,
- 222, 225, 223, 226, 216, 223, 226, 217, 219, 220,
- 240, 227, 201, 240, 202, 365, 218, 224, 211, 203,
- 226, 221, 204, 226, 222, 225, 365, 232, 227, 226,
- 233, 226, 226, 236, 226, 228, 201, 227, 202, 227,
- 234, 218, 226, 203, 235, 226, 204, 238, 239, 214,
-
- 227, 232, 214, 242, 233, 243, 240, 231, 236, 240,
- 228, 230, 244, 229, 234, 245, 262, 53, 235, 237,
- 365, 292, 238, 239, 292, 251, 226, 242, 250, 226,
- 243, 250, 231, 365, 227, 230, 244, 229, 365, 245,
- 253, 262, 258, 259, 237, 223, 251, 263, 223, 226,
- 251, 226, 226, 266, 226, 260, 252, 227, 254, 227,
- 226, 253, 246, 226, 253, 247, 258, 259, 227, 261,
- 267, 251, 263, 268, 248, 255, 257, 249, 266, 260,
- 252, 269, 254, 270, 271, 253, 272, 246, 273, 250,
- 247, 256, 250, 261, 274, 267, 275, 268, 248, 255,
-
- 257, 249, 276, 226, 282, 269, 226, 270, 281, 271,
- 272, 227, 273, 283, 365, 256, 285, 252, 286, 274,
- 226, 275, 226, 226, 287, 226, 288, 276, 227, 282,
- 227, 226, 281, 289, 226, 290, 277, 283, 278, 227,
- 285, 252, 286, 291, 293, 300, 294, 226, 287, 294,
- 226, 288, 298, 279, 227, 227, 299, 301, 289, 290,
- 277, 296, 302, 278, 296, 280, 295, 291, 293, 227,
- 300, 226, 303, 304, 226, 305, 298, 279, 307, 227,
- 299, 301, 292, 250, 365, 292, 250, 302, 330, 280,
- 297, 295, 316, 317, 365, 313, 303, 304, 313, 226,
-
- 305, 309, 226, 307, 320, 322, 315, 227, 322, 315,
- 365, 310, 330, 251, 227, 297, 311, 316, 317, 318,
- 365, 365, 322, 314, 319, 322, 309, 365, 253, 320,
- 312, 322, 327, 322, 322, 310, 322, 323, 251, 331,
- 311, 332, 326, 313, 318, 326, 313, 314, 319, 365,
- 227, 324, 253, 365, 312, 328, 325, 327, 328, 341,
- 333, 322, 323, 331, 322, 334, 332, 336, 342, 340,
- 336, 314, 340, 251, 322, 328, 324, 322, 328, 365,
- 343, 325, 344, 329, 341, 333, 345, 338, 253, 334,
- 338, 365, 342, 292, 335, 314, 292, 365, 251, 340,
-
- 337, 350, 340, 329, 343, 251, 344, 329, 365, 352,
- 322, 345, 253, 322, 322, 339, 347, 322, 335, 338,
- 253, 348, 338, 355, 337, 351, 350, 329, 351, 346,
- 251, 354, 353, 349, 352, 353, 365, 353, 365, 339,
- 353, 347, 365, 322, 253, 348, 322, 339, 355, 322,
- 356, 362, 322, 356, 346, 354, 351, 353, 349, 351,
- 353, 353, 356, 358, 353, 356, 358, 360, 363, 365,
- 358, 339, 361, 358, 321, 362, 364, 364, 365, 364,
- 364, 321, 365, 365, 365, 365, 365, 365, 365, 365,
- 365, 365, 360, 363, 365, 365, 361, 365, 365, 365,
-
- 365, 306, 321, 365, 365, 365, 365, 365, 365, 321,
- 43, 43, 365, 43, 43, 43, 45, 45, 53, 53,
- 53, 98, 98, 98, 99, 99, 365, 99, 99, 99,
- 184, 365, 365, 184, 184, 200, 365, 365, 200, 212,
- 212, 212, 241, 365, 241, 241, 241, 264, 365, 365,
- 264, 264, 265, 265, 265, 284, 284, 284, 306, 365,
- 365, 306, 306, 308, 365, 365, 308, 321, 321, 321,
- 357, 365, 365, 357, 357, 359, 365, 359, 359, 359,
- 3, 365, 365, 365, 365, 365, 365, 365, 365, 365,
- 365, 365, 365, 365, 365, 365, 365, 365, 365, 365,
-
- 365, 365, 365, 365, 365, 365, 365, 365, 365, 365,
- 365, 365, 365, 365, 365, 365, 365, 365, 365, 365,
- 365, 365, 365, 365, 365, 365, 365, 365, 365, 365,
- 365, 365, 365, 365, 365, 365, 365, 365, 365, 365,
- 365, 365, 365, 365, 365, 365
+ 47, 97, 79, 72, 181, 89, 75, 181, 80, 83,
+ 102, 81, 76, 105, 77, 103, 78, 106, 84, 85,
+ 104, 87, 107, 86, 88, 90, 91, 93, 93, 89,
+ 110, 92, 48, 49, 83, 46, 94, 40, 40, 95,
+ 103, 106, 84, 85, 108, 104, 107, 86, 109, 114,
+
+ 90, 91, 115, 117, 110, 92, 96, 95, 40, 40,
+ 95, 39, 40, 40, 41, 41, 40, 40, 41, 108,
+ 112, 113, 116, 109, 114, 119, 115, 96, 117, 118,
+ 121, 96, 122, 123, 124, 44, 127, 128, 125, 363,
+ 129, 130, 120, 131, 112, 113, 116, 126, 132, 42,
+ 119, 133, 96, 118, 121, 134, 122, 137, 123, 124,
+ 127, 128, 138, 125, 129, 130, 120, 131, 135, 139,
+ 42, 126, 136, 132, 42, 133, 140, 363, 42, 141,
+ 134, 137, 94, 40, 40, 95, 138, 95, 40, 40,
+ 95, 142, 143, 135, 139, 144, 145, 136, 146, 363,
+
+ 148, 140, 96, 149, 141, 111, 151, 96, 111, 152,
+ 147, 154, 155, 147, 158, 142, 143, 156, 153, 144,
+ 145, 363, 157, 146, 148, 160, 159, 96, 149, 161,
+ 151, 162, 96, 163, 152, 154, 164, 155, 150, 158,
+ 165, 156, 153, 166, 167, 42, 157, 168, 169, 160,
+ 42, 159, 172, 161, 173, 162, 170, 163, 177, 170,
+ 164, 174, 150, 175, 176, 165, 178, 166, 179, 167,
+ 180, 168, 169, 183, 363, 184, 172, 185, 173, 186,
+ 187, 188, 177, 171, 189, 192, 174, 193, 175, 176,
+ 178, 190, 179, 194, 190, 180, 195, 203, 183, 184,
+
+ 196, 197, 185, 186, 187, 188, 191, 171, 204, 189,
+ 192, 207, 193, 205, 206, 208, 212, 211, 194, 212,
+ 181, 195, 203, 181, 196, 197, 213, 214, 215, 217,
+ 222, 191, 170, 204, 218, 170, 207, 205, 206, 219,
+ 208, 211, 190, 209, 221, 190, 220, 221, 223, 230,
+ 213, 214, 363, 215, 217, 222, 363, 199, 218, 200,
+ 363, 363, 216, 219, 201, 363, 224, 202, 209, 224,
+ 220, 231, 223, 230, 225, 232, 224, 224, 233, 224,
+ 224, 199, 234, 200, 225, 225, 224, 216, 201, 224,
+ 224, 202, 226, 224, 225, 231, 236, 237, 225, 232,
+
+ 212, 238, 233, 212, 238, 229, 241, 234, 240, 242,
+ 227, 243, 53, 256, 249, 224, 228, 226, 224, 257,
+ 235, 236, 237, 225, 248, 238, 258, 248, 238, 251,
+ 229, 241, 240, 242, 227, 243, 259, 256, 290, 249,
+ 228, 290, 249, 257, 266, 235, 221, 252, 224, 221,
+ 258, 224, 250, 251, 260, 261, 225, 251, 264, 265,
+ 259, 224, 224, 244, 224, 224, 245, 249, 266, 225,
+ 225, 252, 267, 268, 253, 246, 250, 270, 247, 260,
+ 261, 251, 269, 264, 265, 271, 248, 255, 244, 248,
+ 272, 245, 254, 273, 274, 363, 267, 268, 253, 246,
+
+ 224, 270, 247, 224, 363, 363, 280, 269, 225, 271,
+ 279, 255, 363, 281, 250, 272, 254, 283, 273, 274,
+ 224, 224, 224, 224, 224, 224, 284, 285, 225, 225,
+ 225, 280, 363, 275, 279, 286, 276, 281, 250, 287,
+ 363, 283, 288, 289, 291, 292, 363, 296, 292, 297,
+ 284, 285, 299, 225, 277, 224, 278, 275, 224, 298,
+ 286, 276, 294, 225, 287, 294, 288, 289, 291, 224,
+ 225, 296, 224, 297, 293, 300, 299, 225, 277, 301,
+ 278, 302, 303, 290, 298, 305, 290, 314, 295, 224,
+ 248, 311, 224, 248, 311, 363, 315, 225, 313, 293,
+
+ 300, 313, 318, 301, 363, 302, 225, 303, 307, 249,
+ 305, 316, 314, 295, 320, 328, 317, 320, 308, 312,
+ 310, 315, 320, 309, 251, 320, 320, 318, 320, 320,
+ 325, 320, 311, 307, 249, 311, 316, 321, 330, 328,
+ 317, 329, 308, 312, 310, 363, 322, 309, 251, 324,
+ 326, 323, 324, 326, 339, 325, 331, 225, 340, 363,
+ 312, 332, 321, 330, 320, 329, 334, 320, 249, 334,
+ 320, 322, 336, 320, 338, 336, 323, 338, 327, 339,
+ 341, 331, 340, 251, 312, 332, 326, 342, 343, 326,
+ 249, 320, 348, 249, 320, 290, 335, 333, 290, 363,
+
+ 337, 350, 327, 363, 341, 251, 320, 251, 352, 320,
+ 344, 342, 363, 343, 327, 249, 336, 348, 345, 336,
+ 335, 333, 363, 346, 337, 347, 350, 338, 349, 251,
+ 338, 349, 352, 351, 351, 344, 351, 351, 327, 320,
+ 353, 363, 320, 345, 337, 320, 354, 346, 320, 354,
+ 347, 349, 351, 351, 349, 351, 351, 354, 356, 358,
+ 354, 356, 360, 356, 359, 353, 356, 361, 337, 319,
+ 362, 363, 362, 362, 319, 362, 363, 363, 363, 363,
+ 363, 363, 363, 363, 358, 363, 360, 363, 359, 363,
+ 363, 363, 361, 363, 363, 363, 304, 319, 363, 363,
+
+ 363, 363, 319, 43, 43, 363, 43, 43, 43, 45,
+ 45, 53, 53, 53, 98, 98, 98, 99, 99, 363,
+ 99, 99, 99, 182, 363, 363, 182, 182, 198, 363,
+ 363, 198, 210, 210, 210, 239, 363, 239, 239, 239,
+ 262, 363, 363, 262, 262, 263, 263, 263, 282, 282,
+ 282, 304, 363, 363, 304, 304, 306, 363, 363, 306,
+ 319, 319, 319, 355, 363, 363, 355, 355, 357, 363,
+ 357, 357, 357, 3, 363, 363, 363, 363, 363, 363,
+ 363, 363, 363, 363, 363, 363, 363, 363, 363, 363,
+ 363, 363, 363, 363, 363, 363, 363, 363, 363, 363,
+
+ 363, 363, 363, 363, 363, 363, 363, 363, 363, 363,
+ 363, 363, 363, 363, 363, 363, 363, 363, 363, 363,
+ 363, 363, 363, 363, 363, 363, 363, 363, 363, 363,
+ 363, 363, 363, 363, 363, 363, 363, 363, 363
} ;
-static yyconst flex_int16_t yy_chk[1047] =
+static yyconst flex_int16_t yy_chk[1040] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -682,112 +679,111 @@ static yyconst flex_int16_t yy_chk[1047] =
1, 1, 1, 1, 1, 2, 14, 14, 2, 5,
5, 5, 5, 8, 8, 8, 8, 15, 15, 19,
18, 100, 20, 64, 21, 2, 64, 18, 20, 22,
- 24, 22, 109, 24, 26, 109, 25, 28, 48, 26,
+ 24, 22, 108, 24, 26, 108, 25, 28, 48, 26,
54, 22, 43, 25, 19, 18, 28, 20, 21, 25,
2, 18, 20, 22, 24, 22, 27, 24, 31, 26,
27, 25, 28, 26, 54, 22, 38, 25, 30, 27,
28, 29, 5, 25, 30, 55, 8, 30, 29, 58,
29, 27, 29, 31, 17, 27, 33, 35, 35, 33,
- 13, 38, 30, 27, 148, 33, 29, 148, 30, 32,
- 55, 30, 29, 58, 29, 56, 29, 60, 32, 32,
- 57, 33, 12, 32, 33, 34, 34, 42, 42, 33,
- 63, 34, 49, 49, 32, 9, 36, 36, 36, 36,
- 56, 60, 32, 32, 61, 57, 62, 32, 66, 66,
+ 13, 38, 30, 27, 146, 33, 29, 146, 30, 32,
+ 55, 30, 29, 58, 29, 56, 29, 59, 32, 32,
+ 57, 33, 60, 32, 33, 34, 34, 42, 42, 33,
+ 63, 34, 49, 49, 32, 12, 36, 36, 36, 36,
+ 56, 59, 32, 32, 61, 57, 60, 32, 62, 67,
- 34, 34, 68, 67, 63, 34, 36, 37, 37, 37,
+ 34, 34, 68, 70, 63, 34, 36, 37, 37, 37,
37, 39, 39, 39, 39, 41, 41, 41, 41, 61,
- 59, 62, 66, 66, 69, 70, 68, 37, 67, 59,
- 71, 36, 73, 74, 72, 77, 79, 86, 80, 3,
- 81, 82, 83, 84, 59, 85, 0, 80, 69, 36,
- 70, 72, 37, 59, 71, 87, 73, 74, 88, 72,
- 77, 79, 86, 80, 81, 82, 83, 84, 90, 85,
- 37, 80, 90, 96, 39, 72, 91, 92, 41, 87,
- 97, 101, 106, 88, 94, 94, 94, 94, 95, 95,
- 95, 95, 103, 90, 104, 105, 107, 90, 96, 108,
-
- 91, 92, 110, 111, 94, 97, 101, 106, 95, 112,
- 113, 115, 112, 114, 116, 119, 103, 117, 104, 105,
- 107, 118, 114, 121, 108, 122, 110, 129, 111, 94,
- 124, 125, 126, 95, 113, 115, 127, 131, 114, 116,
- 119, 117, 112, 132, 138, 118, 114, 94, 121, 122,
- 133, 95, 129, 134, 124, 125, 126, 136, 137, 135,
- 127, 131, 135, 139, 140, 145, 112, 141, 132, 138,
- 142, 143, 149, 151, 133, 149, 152, 134, 153, 0,
- 154, 136, 137, 159, 160, 169, 135, 161, 139, 140,
- 145, 141, 165, 166, 142, 143, 164, 167, 151, 164,
-
- 152, 168, 175, 153, 154, 170, 176, 159, 160, 169,
- 135, 164, 161, 0, 178, 179, 181, 165, 166, 182,
- 183, 185, 167, 183, 187, 186, 168, 175, 186, 170,
- 188, 176, 190, 193, 0, 194, 164, 172, 178, 179,
- 172, 181, 198, 183, 182, 185, 192, 195, 187, 192,
- 196, 199, 197, 200, 188, 197, 200, 190, 193, 194,
- 240, 200, 172, 240, 172, 0, 192, 198, 183, 172,
- 201, 195, 172, 201, 196, 199, 0, 206, 201, 202,
- 207, 203, 202, 211, 203, 201, 172, 202, 172, 203,
- 208, 192, 204, 172, 210, 204, 172, 215, 216, 214,
-
- 204, 206, 214, 218, 207, 219, 217, 204, 211, 217,
- 201, 203, 220, 202, 208, 221, 238, 217, 210, 214,
- 0, 275, 215, 216, 275, 227, 228, 218, 226, 228,
- 219, 226, 204, 0, 228, 203, 220, 202, 0, 221,
- 227, 238, 233, 234, 214, 223, 226, 239, 223, 229,
- 227, 231, 229, 242, 231, 235, 226, 229, 228, 231,
- 230, 226, 223, 230, 227, 223, 233, 234, 230, 237,
- 243, 226, 239, 244, 223, 229, 231, 223, 242, 235,
- 226, 245, 228, 246, 247, 226, 248, 223, 249, 250,
- 223, 230, 250, 237, 251, 243, 252, 244, 223, 229,
-
- 231, 223, 253, 254, 261, 245, 254, 246, 258, 247,
- 248, 254, 249, 263, 0, 230, 266, 250, 267, 251,
- 256, 252, 255, 256, 270, 255, 271, 253, 256, 261,
- 255, 257, 258, 272, 257, 273, 254, 263, 255, 257,
- 266, 250, 267, 274, 276, 285, 277, 278, 270, 277,
- 278, 271, 282, 256, 277, 278, 283, 287, 272, 273,
- 254, 279, 288, 255, 279, 257, 278, 274, 276, 279,
- 285, 280, 289, 290, 280, 291, 282, 256, 293, 280,
- 283, 287, 292, 294, 0, 292, 294, 288, 318, 257,
- 280, 278, 298, 301, 0, 296, 289, 290, 296, 295,
-
- 291, 294, 295, 293, 303, 308, 297, 295, 308, 297,
- 0, 294, 318, 296, 297, 280, 294, 298, 301, 302,
- 0, 0, 309, 296, 302, 309, 294, 0, 296, 303,
- 295, 310, 314, 311, 310, 294, 311, 309, 296, 319,
- 294, 320, 312, 313, 302, 312, 313, 296, 302, 0,
- 312, 310, 296, 0, 295, 315, 311, 314, 315, 329,
- 322, 323, 309, 319, 323, 322, 320, 324, 331, 327,
- 324, 313, 327, 315, 325, 328, 310, 325, 328, 0,
- 332, 311, 333, 315, 329, 322, 334, 326, 315, 322,
- 326, 0, 331, 336, 323, 313, 336, 0, 315, 340,
-
- 325, 339, 340, 328, 332, 326, 333, 315, 0, 343,
- 335, 334, 315, 335, 337, 326, 336, 337, 323, 338,
- 326, 336, 338, 348, 325, 341, 339, 328, 341, 335,
- 326, 347, 344, 337, 343, 344, 0, 345, 0, 326,
- 345, 336, 0, 346, 326, 336, 346, 338, 348, 349,
- 350, 360, 349, 350, 335, 347, 351, 354, 337, 351,
- 354, 355, 356, 357, 355, 356, 357, 358, 361, 0,
- 359, 338, 358, 359, 357, 360, 362, 363, 0, 362,
- 363, 359, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 358, 361, 0, 0, 358, 0, 0, 0,
-
- 0, 356, 357, 0, 0, 0, 0, 0, 0, 359,
- 366, 366, 0, 366, 366, 366, 367, 367, 368, 368,
- 368, 369, 369, 369, 370, 370, 0, 370, 370, 370,
- 371, 0, 0, 371, 371, 372, 0, 0, 372, 373,
- 373, 373, 374, 0, 374, 374, 374, 375, 0, 0,
- 375, 375, 376, 376, 376, 377, 377, 377, 378, 0,
- 0, 378, 378, 379, 0, 0, 379, 380, 380, 380,
- 381, 0, 0, 381, 381, 382, 0, 382, 382, 382,
- 365, 365, 365, 365, 365, 365, 365, 365, 365, 365,
- 365, 365, 365, 365, 365, 365, 365, 365, 365, 365,
-
- 365, 365, 365, 365, 365, 365, 365, 365, 365, 365,
- 365, 365, 365, 365, 365, 365, 365, 365, 365, 365,
- 365, 365, 365, 365, 365, 365, 365, 365, 365, 365,
- 365, 365, 365, 365, 365, 365, 365, 365, 365, 365,
- 365, 365, 365, 365, 365, 365
+ 66, 66, 69, 62, 67, 72, 68, 37, 70, 71,
+ 73, 36, 74, 77, 79, 9, 81, 82, 80, 3,
+ 83, 84, 72, 85, 66, 66, 69, 80, 86, 36,
+ 72, 87, 37, 71, 73, 88, 74, 91, 77, 79,
+ 81, 82, 92, 80, 83, 84, 72, 85, 90, 96,
+ 37, 80, 90, 86, 39, 87, 97, 0, 41, 101,
+ 88, 91, 94, 94, 94, 94, 92, 95, 95, 95,
+ 95, 103, 104, 90, 96, 105, 106, 90, 107, 0,
+
+ 109, 97, 94, 110, 101, 111, 112, 95, 111, 113,
+ 147, 114, 115, 147, 118, 103, 104, 116, 113, 105,
+ 106, 0, 117, 107, 109, 121, 120, 94, 110, 123,
+ 112, 124, 95, 125, 113, 114, 126, 115, 111, 118,
+ 128, 116, 113, 130, 131, 94, 117, 132, 133, 121,
+ 95, 120, 135, 123, 136, 124, 134, 125, 140, 134,
+ 126, 137, 111, 138, 139, 128, 141, 130, 142, 131,
+ 144, 132, 133, 149, 0, 150, 135, 151, 136, 152,
+ 157, 158, 140, 134, 159, 163, 137, 164, 138, 139,
+ 141, 162, 142, 165, 162, 144, 166, 173, 149, 150,
+
+ 167, 168, 151, 152, 157, 158, 162, 134, 174, 159,
+ 163, 179, 164, 176, 177, 180, 184, 183, 165, 184,
+ 181, 166, 173, 181, 167, 168, 185, 186, 188, 191,
+ 196, 162, 170, 174, 192, 170, 179, 176, 177, 193,
+ 180, 183, 190, 181, 195, 190, 194, 195, 197, 204,
+ 185, 186, 0, 188, 191, 196, 0, 170, 192, 170,
+ 0, 0, 190, 193, 170, 0, 198, 170, 181, 198,
+ 194, 205, 197, 204, 198, 206, 200, 199, 208, 200,
+ 199, 170, 209, 170, 200, 199, 201, 190, 170, 201,
+ 202, 170, 199, 202, 201, 205, 213, 214, 202, 206,
+
+ 212, 215, 208, 212, 215, 202, 217, 209, 216, 218,
+ 200, 219, 215, 231, 225, 226, 201, 199, 226, 232,
+ 212, 213, 214, 226, 224, 238, 233, 224, 238, 225,
+ 202, 217, 216, 218, 200, 219, 235, 231, 273, 225,
+ 201, 273, 224, 232, 242, 212, 221, 226, 227, 221,
+ 233, 227, 224, 225, 236, 237, 227, 224, 240, 241,
+ 235, 228, 229, 221, 228, 229, 221, 224, 242, 228,
+ 229, 226, 243, 244, 227, 221, 224, 246, 221, 236,
+ 237, 224, 245, 240, 241, 247, 248, 229, 221, 248,
+ 249, 221, 228, 250, 251, 0, 243, 244, 227, 221,
+
+ 252, 246, 221, 252, 0, 0, 259, 245, 252, 247,
+ 256, 229, 0, 261, 248, 249, 228, 264, 250, 251,
+ 253, 254, 255, 253, 254, 255, 265, 268, 253, 254,
+ 255, 259, 0, 252, 256, 269, 253, 261, 248, 270,
+ 0, 264, 271, 272, 274, 275, 0, 280, 275, 281,
+ 265, 268, 285, 275, 254, 276, 255, 252, 276, 283,
+ 269, 253, 277, 276, 270, 277, 271, 272, 274, 278,
+ 277, 280, 278, 281, 276, 286, 285, 278, 254, 287,
+ 255, 288, 289, 290, 283, 291, 290, 296, 278, 293,
+ 292, 294, 293, 292, 294, 0, 299, 293, 295, 276,
+
+ 286, 295, 301, 287, 0, 288, 295, 289, 292, 294,
+ 291, 300, 296, 278, 306, 316, 300, 306, 292, 294,
+ 293, 299, 307, 292, 294, 307, 308, 301, 309, 308,
+ 312, 309, 311, 292, 294, 311, 300, 307, 318, 316,
+ 300, 317, 292, 294, 293, 0, 308, 292, 294, 310,
+ 313, 309, 310, 313, 327, 312, 320, 310, 329, 0,
+ 311, 320, 307, 318, 321, 317, 322, 321, 313, 322,
+ 323, 308, 324, 323, 325, 324, 309, 325, 313, 327,
+ 330, 320, 329, 313, 311, 320, 326, 331, 332, 326,
+ 324, 333, 337, 313, 333, 334, 323, 321, 334, 0,
+
+ 324, 341, 313, 0, 330, 324, 335, 313, 345, 335,
+ 333, 331, 0, 332, 326, 324, 336, 337, 334, 336,
+ 323, 321, 0, 334, 324, 335, 341, 338, 339, 324,
+ 338, 339, 345, 342, 343, 333, 342, 343, 326, 344,
+ 346, 0, 344, 334, 336, 347, 348, 334, 347, 348,
+ 335, 349, 352, 353, 349, 352, 353, 354, 355, 356,
+ 354, 355, 358, 357, 356, 346, 357, 359, 336, 355,
+ 360, 0, 361, 360, 357, 361, 0, 0, 0, 0,
+ 0, 0, 0, 0, 356, 0, 358, 0, 356, 0,
+ 0, 0, 359, 0, 0, 0, 354, 355, 0, 0,
+
+ 0, 0, 357, 364, 364, 0, 364, 364, 364, 365,
+ 365, 366, 366, 366, 367, 367, 367, 368, 368, 0,
+ 368, 368, 368, 369, 0, 0, 369, 369, 370, 0,
+ 0, 370, 371, 371, 371, 372, 0, 372, 372, 372,
+ 373, 0, 0, 373, 373, 374, 374, 374, 375, 375,
+ 375, 376, 0, 0, 376, 376, 377, 0, 0, 377,
+ 378, 378, 378, 379, 0, 0, 379, 379, 380, 0,
+ 380, 380, 380, 363, 363, 363, 363, 363, 363, 363,
+ 363, 363, 363, 363, 363, 363, 363, 363, 363, 363,
+ 363, 363, 363, 363, 363, 363, 363, 363, 363, 363,
+
+ 363, 363, 363, 363, 363, 363, 363, 363, 363, 363,
+ 363, 363, 363, 363, 363, 363, 363, 363, 363, 363,
+ 363, 363, 363, 363, 363, 363, 363, 363, 363, 363,
+ 363, 363, 363, 363, 363, 363, 363, 363, 363
} ;
static yy_state_type yy_last_accepting_state;
@@ -878,7 +874,7 @@ static int checkImmediate(int token) {
return token;
}
-#line 882 "engines/director/lingo/lingo-lex.cpp"
+#line 878 "engines/director/lingo/lingo-lex.cpp"
#define INITIAL 0
@@ -1064,7 +1060,7 @@ YY_DECL
#line 92 "engines/director/lingo/lingo-lex.l"
-#line 1068 "engines/director/lingo/lingo-lex.cpp"
+#line 1064 "engines/director/lingo/lingo-lex.cpp"
if ( !(yy_init) )
{
@@ -1118,13 +1114,13 @@ yy_match:
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 366 )
+ if ( yy_current_state >= 364 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
++yy_cp;
}
- while ( yy_current_state != 365 );
+ while ( yy_current_state != 363 );
yy_cp = (yy_last_accepting_cpos);
yy_current_state = (yy_last_accepting_state);
@@ -1198,31 +1194,26 @@ YY_RULE_SETUP
case 11:
YY_RULE_SETUP
#line 106 "engines/director/lingo/lingo-lex.l"
-{ count(); return tDONE; }
+{ count(); return tDOWN; }
YY_BREAK
case 12:
YY_RULE_SETUP
#line 107 "engines/director/lingo/lingo-lex.l"
-{ count(); return tDOWN; }
+{ count(); return tIF; }
YY_BREAK
case 13:
YY_RULE_SETUP
#line 108 "engines/director/lingo/lingo-lex.l"
-{ count(); return tIF; }
+{ count(); return tELSIF; }
YY_BREAK
case 14:
YY_RULE_SETUP
#line 109 "engines/director/lingo/lingo-lex.l"
-{ count(); return tELSIF; }
+{ count(); return tELSE; }
YY_BREAK
case 15:
YY_RULE_SETUP
#line 110 "engines/director/lingo/lingo-lex.l"
-{ count(); return tELSE; }
- YY_BREAK
-case 16:
-YY_RULE_SETUP
-#line 111 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1242,20 +1233,25 @@ YY_RULE_SETUP
return ENDCLAUSE;
}
YY_BREAK
+case 16:
+YY_RULE_SETUP
+#line 128 "engines/director/lingo/lingo-lex.l"
+{ count(); return tFACTORY; }
+ YY_BREAK
case 17:
YY_RULE_SETUP
#line 129 "engines/director/lingo/lingo-lex.l"
-{ count(); return tFACTORY; }
+{ count(); return tEXIT; }
YY_BREAK
case 18:
YY_RULE_SETUP
#line 130 "engines/director/lingo/lingo-lex.l"
-{ count(); return tEXIT; }
+{ count(); return tGLOBAL; }
YY_BREAK
case 19:
YY_RULE_SETUP
#line 131 "engines/director/lingo/lingo-lex.l"
-{ count(); return tGLOBAL; }
+{ count(); return tGO; }
YY_BREAK
case 20:
YY_RULE_SETUP
@@ -1270,51 +1266,46 @@ YY_RULE_SETUP
case 22:
YY_RULE_SETUP
#line 134 "engines/director/lingo/lingo-lex.l"
-{ count(); return tGO; }
+{ count(); return tINSTANCE; }
YY_BREAK
case 23:
YY_RULE_SETUP
#line 135 "engines/director/lingo/lingo-lex.l"
-{ count(); return tINSTANCE; }
+{ count(); return tINTERSECTS; }
YY_BREAK
case 24:
YY_RULE_SETUP
#line 136 "engines/director/lingo/lingo-lex.l"
-{ count(); return tINTERSECTS; }
+{ count(); return tINTO; }
YY_BREAK
case 25:
YY_RULE_SETUP
#line 137 "engines/director/lingo/lingo-lex.l"
-{ count(); return tINTO; }
+{ count(); return tIN; }
YY_BREAK
case 26:
YY_RULE_SETUP
#line 138 "engines/director/lingo/lingo-lex.l"
-{ count(); return tIN; }
+{ count(); return tITEM; }
YY_BREAK
case 27:
YY_RULE_SETUP
#line 139 "engines/director/lingo/lingo-lex.l"
-{ count(); return tITEM; }
+{ count(); return tLINE; }
YY_BREAK
case 28:
YY_RULE_SETUP
#line 140 "engines/director/lingo/lingo-lex.l"
-{ count(); return tLINE; }
+{ count(); return checkImmediate(tLOOP); }
YY_BREAK
case 29:
YY_RULE_SETUP
#line 141 "engines/director/lingo/lingo-lex.l"
-{ count(); return checkImmediate(tLOOP); }
+{ count(); return tMACRO; }
YY_BREAK
case 30:
YY_RULE_SETUP
#line 142 "engines/director/lingo/lingo-lex.l"
-{ count(); return tMACRO; }
- YY_BREAK
-case 31:
-YY_RULE_SETUP
-#line 143 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1327,45 +1318,50 @@ YY_RULE_SETUP
return tMETHOD;
}
YY_BREAK
+case 31:
+YY_RULE_SETUP
+#line 153 "engines/director/lingo/lingo-lex.l"
+{ count(); return tMOD; }
+ YY_BREAK
case 32:
YY_RULE_SETUP
#line 154 "engines/director/lingo/lingo-lex.l"
-{ count(); return tMOD; }
+{ count(); return tMOVIE; }
YY_BREAK
case 33:
YY_RULE_SETUP
#line 155 "engines/director/lingo/lingo-lex.l"
-{ count(); return tMOVIE; }
+{ count(); return tNEXT; }
YY_BREAK
case 34:
YY_RULE_SETUP
#line 156 "engines/director/lingo/lingo-lex.l"
-{ count(); return tNEXT; }
+{ count(); return tNOT; }
YY_BREAK
case 35:
YY_RULE_SETUP
#line 157 "engines/director/lingo/lingo-lex.l"
-{ count(); return tNOT; }
+{ count(); return tOF; }
YY_BREAK
case 36:
YY_RULE_SETUP
#line 158 "engines/director/lingo/lingo-lex.l"
-{ count(); return tOF; }
+{ count(); return tON; } // D3
YY_BREAK
case 37:
YY_RULE_SETUP
#line 159 "engines/director/lingo/lingo-lex.l"
-{ count(); return tON; } // D3
+{ count(); return tOPEN; }
YY_BREAK
case 38:
YY_RULE_SETUP
#line 160 "engines/director/lingo/lingo-lex.l"
-{ count(); return tOPEN; }
+{ count(); return tOR; }
YY_BREAK
case 39:
YY_RULE_SETUP
#line 161 "engines/director/lingo/lingo-lex.l"
-{ count(); return tOR; }
+{ count(); return tPLAY; }
YY_BREAK
case 40:
YY_RULE_SETUP
@@ -1375,41 +1371,36 @@ YY_RULE_SETUP
case 41:
YY_RULE_SETUP
#line 163 "engines/director/lingo/lingo-lex.l"
-{ count(); return tPLAY; }
+{ count(); yylval.s = new Common::String(yytext); return tPLAYACCEL; }
YY_BREAK
case 42:
YY_RULE_SETUP
#line 164 "engines/director/lingo/lingo-lex.l"
-{ count(); yylval.s = new Common::String(yytext); return tPLAYACCEL; }
+{ count(); return tPREVIOUS; }
YY_BREAK
case 43:
YY_RULE_SETUP
#line 165 "engines/director/lingo/lingo-lex.l"
-{ count(); return tPREVIOUS; }
+{ count(); return tPROPERTY; } // D4
YY_BREAK
case 44:
YY_RULE_SETUP
#line 166 "engines/director/lingo/lingo-lex.l"
-{ count(); return tPROPERTY; } // D4
+{ count(); return tPUT; }
YY_BREAK
case 45:
YY_RULE_SETUP
#line 167 "engines/director/lingo/lingo-lex.l"
-{ count(); return tPUT; }
+{ count(); return checkImmediate(tREPEAT); }
YY_BREAK
case 46:
YY_RULE_SETUP
#line 168 "engines/director/lingo/lingo-lex.l"
-{ count(); return checkImmediate(tREPEAT); }
+{ count(); return tSET; }
YY_BREAK
case 47:
YY_RULE_SETUP
#line 169 "engines/director/lingo/lingo-lex.l"
-{ count(); return tSET; }
- YY_BREAK
-case 48:
-YY_RULE_SETUP
-#line 170 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1428,19 +1419,19 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 49:
+case 48:
YY_RULE_SETUP
-#line 187 "engines/director/lingo/lingo-lex.l"
+#line 186 "engines/director/lingo/lingo-lex.l"
{ count(); return tSTARTS; }
YY_BREAK
-case 50:
+case 49:
YY_RULE_SETUP
-#line 188 "engines/director/lingo/lingo-lex.l"
+#line 187 "engines/director/lingo/lingo-lex.l"
{ count(); return tTELL; }
YY_BREAK
-case 51:
+case 50:
YY_RULE_SETUP
-#line 189 "engines/director/lingo/lingo-lex.l"
+#line 188 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1450,9 +1441,9 @@ YY_RULE_SETUP
return THEENTITYWITHID;
}
YY_BREAK
-case 52:
+case 51:
YY_RULE_SETUP
-#line 197 "engines/director/lingo/lingo-lex.l"
+#line 196 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1461,9 +1452,9 @@ YY_RULE_SETUP
return FBLTIN;
}
YY_BREAK
-case 53:
+case 52:
YY_RULE_SETUP
-#line 204 "engines/director/lingo/lingo-lex.l"
+#line 203 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1500,9 +1491,9 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 54:
+case 53:
YY_RULE_SETUP
-#line 239 "engines/director/lingo/lingo-lex.l"
+#line 238 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1526,9 +1517,9 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 55:
+case 54:
YY_RULE_SETUP
-#line 261 "engines/director/lingo/lingo-lex.l"
+#line 260 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1593,9 +1584,9 @@ YY_RULE_SETUP
warning("LEXER: Unhandled the entity '%s', field '%s'", ptr, field.c_str());
}
YY_BREAK
-case 56:
+case 55:
YY_RULE_SETUP
-#line 324 "engines/director/lingo/lingo-lex.l"
+#line 323 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1631,9 +1622,9 @@ YY_RULE_SETUP
return THEENTITY;
}
YY_BREAK
-case 57:
+case 56:
YY_RULE_SETUP
-#line 358 "engines/director/lingo/lingo-lex.l"
+#line 357 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1654,74 +1645,74 @@ YY_RULE_SETUP
warning("LEXER: Unhandled the entity '%s'", ptr);
}
YY_BREAK
+case 57:
+YY_RULE_SETUP
+#line 376 "engines/director/lingo/lingo-lex.l"
+{ count(); return tTHEN; }
+ YY_BREAK
case 58:
YY_RULE_SETUP
#line 377 "engines/director/lingo/lingo-lex.l"
-{ count(); return tTHEN; }
+{ count(); return tTO; }
YY_BREAK
case 59:
YY_RULE_SETUP
#line 378 "engines/director/lingo/lingo-lex.l"
-{ count(); return tTO; }
+{ count(); return tSPRITE; }
YY_BREAK
case 60:
YY_RULE_SETUP
#line 379 "engines/director/lingo/lingo-lex.l"
-{ count(); return tSPRITE; }
+{ count(); return tWITH; }
YY_BREAK
case 61:
YY_RULE_SETUP
#line 380 "engines/director/lingo/lingo-lex.l"
-{ count(); return tWITH; }
+{ count(); return tWITHIN; }
YY_BREAK
case 62:
YY_RULE_SETUP
#line 381 "engines/director/lingo/lingo-lex.l"
-{ count(); return tWITHIN; }
+{ count(); return tWHEN; }
YY_BREAK
case 63:
YY_RULE_SETUP
#line 382 "engines/director/lingo/lingo-lex.l"
-{ count(); return tWHEN; }
+{ count(); return tWHILE; }
YY_BREAK
case 64:
YY_RULE_SETUP
#line 383 "engines/director/lingo/lingo-lex.l"
-{ count(); return tWHILE; }
+{ count(); return tWORD; }
YY_BREAK
case 65:
YY_RULE_SETUP
-#line 384 "engines/director/lingo/lingo-lex.l"
-{ count(); return tWORD; }
+#line 385 "engines/director/lingo/lingo-lex.l"
+{ count(); return tNEQ; }
YY_BREAK
case 66:
YY_RULE_SETUP
#line 386 "engines/director/lingo/lingo-lex.l"
-{ count(); return tNEQ; }
+{ count(); return tGE; }
YY_BREAK
case 67:
YY_RULE_SETUP
#line 387 "engines/director/lingo/lingo-lex.l"
-{ count(); return tGE; }
+{ count(); return tLE; }
YY_BREAK
case 68:
YY_RULE_SETUP
#line 388 "engines/director/lingo/lingo-lex.l"
-{ count(); return tLE; }
+{ count(); return tCONCAT; }
YY_BREAK
case 69:
YY_RULE_SETUP
#line 389 "engines/director/lingo/lingo-lex.l"
-{ count(); return tCONCAT; }
- YY_BREAK
-case 70:
-YY_RULE_SETUP
-#line 390 "engines/director/lingo/lingo-lex.l"
{ count(); return tEQ; }
YY_BREAK
-case 71:
+case 70:
YY_RULE_SETUP
-#line 392 "engines/director/lingo/lingo-lex.l"
+#line 391 "engines/director/lingo/lingo-lex.l"
{
count();
yylval.s = new Common::String(yytext);
@@ -1757,43 +1748,43 @@ YY_RULE_SETUP
return ID;
}
YY_BREAK
+case 71:
+YY_RULE_SETUP
+#line 425 "engines/director/lingo/lingo-lex.l"
+{ count(); yylval.f = atof(yytext); return FLOAT; }
+ YY_BREAK
case 72:
YY_RULE_SETUP
#line 426 "engines/director/lingo/lingo-lex.l"
-{ count(); yylval.f = atof(yytext); return FLOAT; }
+{ count(); yylval.i = strtol(yytext, NULL, 10); return INT; }
YY_BREAK
case 73:
YY_RULE_SETUP
#line 427 "engines/director/lingo/lingo-lex.l"
-{ count(); yylval.i = strtol(yytext, NULL, 10); return INT; }
+{ count(); return *yytext; }
YY_BREAK
case 74:
+/* rule 74 can match eol */
YY_RULE_SETUP
#line 428 "engines/director/lingo/lingo-lex.l"
-{ count(); return *yytext; }
+{ count(); return '\n'; }
YY_BREAK
case 75:
-/* rule 75 can match eol */
YY_RULE_SETUP
#line 429 "engines/director/lingo/lingo-lex.l"
-{ count(); return '\n'; }
+{ count(); yylval.s = new Common::String(&yytext[1]); yylval.s->deleteLastChar(); return STRING; }
YY_BREAK
case 76:
YY_RULE_SETUP
#line 430 "engines/director/lingo/lingo-lex.l"
-{ count(); yylval.s = new Common::String(&yytext[1]); yylval.s->deleteLastChar(); return STRING; }
- YY_BREAK
-case 77:
-YY_RULE_SETUP
-#line 431 "engines/director/lingo/lingo-lex.l"
{ count(); }
YY_BREAK
-case 78:
+case 77:
YY_RULE_SETUP
-#line 433 "engines/director/lingo/lingo-lex.l"
+#line 432 "engines/director/lingo/lingo-lex.l"
ECHO;
YY_BREAK
-#line 1797 "engines/director/lingo/lingo-lex.cpp"
+#line 1788 "engines/director/lingo/lingo-lex.cpp"
case YY_STATE_EOF(INITIAL):
yyterminate();
@@ -2087,7 +2078,7 @@ static int yy_get_next_buffer (void)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 366 )
+ if ( yy_current_state >= 364 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -2115,11 +2106,11 @@ static int yy_get_next_buffer (void)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 366 )
+ if ( yy_current_state >= 364 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
- yy_is_jam = (yy_current_state == 365);
+ yy_is_jam = (yy_current_state == 363);
return yy_is_jam ? 0 : yy_current_state;
}
@@ -2753,7 +2744,7 @@ void yyfree (void * ptr )
#define YYTABLES_NAME "yytables"
-#line 433 "engines/director/lingo/lingo-lex.l"
+#line 432 "engines/director/lingo/lingo-lex.l"
diff --git a/engines/director/lingo/lingo-lex.l b/engines/director/lingo/lingo-lex.l
index 7f0715aa3a..5f63a93473 100644
--- a/engines/director/lingo/lingo-lex.l
+++ b/engines/director/lingo/lingo-lex.l
@@ -103,7 +103,6 @@ and { count(); return tAND; }
before { count(); return tBEFORE; } // D3
char { count(); return tCHAR; } // D3
contains { count(); return tCONTAINS; }
-done { count(); return tDONE; }
down { count(); return tDOWN; }
if { count(); return tIF; }
else[ \t]+if { count(); return tELSIF; }
diff --git a/engines/director/lingo/lingo-preprocessor.cpp b/engines/director/lingo/lingo-preprocessor.cpp
index 8e251b4a6c..4afde4117a 100644
--- a/engines/director/lingo/lingo-preprocessor.cpp
+++ b/engines/director/lingo/lingo-preprocessor.cpp
@@ -25,6 +25,9 @@
namespace Director {
+Common::String preprocessReturn(Common::String in);
+Common::String preprocessPlay(Common::String in);
+
bool isspec(char c) {
return strchr("-+*/%%^:,()><&[]=", c) != NULL;
}
@@ -161,6 +164,7 @@ Common::String Lingo::codePreprocessor(const char *s, bool simple) {
debugC(2, kDebugLingoParse, "line: %d '%s'", iflevel, line.c_str());
res1 = preprocessReturn(res1);
+ res1 = preprocessPlay(res1);
res += res1;
@@ -335,7 +339,7 @@ const char *strcasestr(const char *s, const char *find) {
}
#endif
-Common::String Lingo::preprocessReturn(Common::String in) {
+Common::String preprocessReturn(Common::String in) {
Common::String res, prev, next;
const char *ptr = in.c_str();
const char *beg = ptr;
@@ -369,4 +373,33 @@ Common::String Lingo::preprocessReturn(Common::String in) {
return res;
}
+Common::String preprocessPlay(Common::String in) {
+ Common::String res, next;
+ const char *ptr = in.c_str();
+ const char *beg = ptr;
+
+ while ((ptr = strcasestr(beg, "play")) != NULL) {
+ ptr += 5; // end of 'play'
+ res += Common::String(beg, ptr);
+
+ next = nexttok(ptr);
+
+ debugC(2, kDebugLingoParse, "PLAY: nexttok: %s", next.c_str());
+
+ if (next.equals("done")) {
+ res += "\"done\""; // Turn it into STRING
+ }
+
+ ptr += 4; // Skip "done"
+ beg = ptr;
+ }
+
+ res += Common::String(beg);
+
+ if (in.size() != res.size())
+ debugC(2, kDebugLingoParse, "PLAY: in: %s\nout: %s", in.c_str(), res.c_str());
+
+ return res;
+}
+
} // End of namespace Director
diff --git a/engines/director/lingo/lingo.h b/engines/director/lingo/lingo.h
index f434d646ac..2e81ebec39 100644
--- a/engines/director/lingo/lingo.h
+++ b/engines/director/lingo/lingo.h
@@ -177,7 +177,6 @@ public:
Common::String codePreprocessor(const char *s, bool simple = false);
private:
- Common::String preprocessReturn(Common::String in);
const char *findNextDefinition(const char *s);
// lingo-events.cpp
Commit: e57042359518864f8b4bb10c89b0cdcf6b3a43b3
https://github.com/scummvm/scummvm/commit/e57042359518864f8b4bb10c89b0cdcf6b3a43b3
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-03-28T21:51:30+01:00
Commit Message:
DIRECTOR: LINGO: Changed notion of SYMBOL to be a string. Fixed ilk keyword accordingly
Changed paths:
engines/director/lingo/lingo-builtins.cpp
engines/director/lingo/lingo-code.cpp
engines/director/lingo/lingo.cpp
diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index 6abbc85662..b61584e34c 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -1046,7 +1046,7 @@ void LB::b_floatP(int nargs) {
void LB::b_ilk(int nargs) {
Datum d = g_lingo->pop();
- d.u.i = d.type;
+ d.u.s = new Common::String(d.type2str(true));
d.type = SYMBOL;
g_lingo->push(d);
}
diff --git a/engines/director/lingo/lingo-code.cpp b/engines/director/lingo/lingo-code.cpp
index 87be7a0124..aa2c407fe6 100644
--- a/engines/director/lingo/lingo-code.cpp
+++ b/engines/director/lingo/lingo-code.cpp
@@ -263,10 +263,13 @@ void LC::c_stringpush() {
void LC::c_symbolpush() {
char *s = g_lingo->readString();
- warning("STUB: c_symbolpush()");
+ // TODO: FIXME: Currently we push string
+ // If you change it, you must also fix func_play for "play done"
+ // command
+ Datum d(new Common::String(s));
+ d.type = SYMBOL;
- // TODO: FIXME: Must push symbol instead of string
- g_lingo->push(Datum(new Common::String(s)));
+ g_lingo->push(d);
}
void LC::c_namepush() {
diff --git a/engines/director/lingo/lingo.cpp b/engines/director/lingo/lingo.cpp
index 83f5a5c031..55c7131469 100644
--- a/engines/director/lingo/lingo.cpp
+++ b/engines/director/lingo/lingo.cpp
@@ -438,34 +438,7 @@ Common::String *Datum::toString() {
*s = *u.s;
break;
case SYMBOL:
- switch (u.i) {
- case INT:
- *s = "#integer";
- break;
- case FLOAT:
- *s = "#float";
- break;
- case STRING:
- *s = "#string";
- break;
- case SYMBOL:
- *s = "#symbol";
- break;
- case OBJECT:
- *s = "#object";
- break;
- case VOID:
- *s = "#void";
- break;
- case VAR:
- *s = "#scumm-var";
- break;
- case REFERENCE:
- *s = "#scumm-ref";
- break;
- default:
- *s = Common::String::format("#unknown%d", u.i);
- }
+ *s = Common::String::format("%s", u.s->c_str());
break;
case OBJECT:
*s = Common::String::format("#%s", u.s->c_str());
Commit: 8a5396e6f554f894c963b43e476d72eda1c31553
https://github.com/scummvm/scummvm/commit/8a5396e6f554f894c963b43e476d72eda1c31553
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-03-28T21:51:49+01:00
Commit Message:
DIRECTOR: LINGO: Preprocess 'play done' to 'play #done'
Changed paths:
engines/director/lingo/lingo-funcs.cpp
engines/director/lingo/lingo-preprocessor.cpp
diff --git a/engines/director/lingo/lingo-funcs.cpp b/engines/director/lingo/lingo-funcs.cpp
index d4ca356158..7a75923e2f 100644
--- a/engines/director/lingo/lingo-funcs.cpp
+++ b/engines/director/lingo/lingo-funcs.cpp
@@ -295,8 +295,12 @@ void Lingo::func_play(Datum &frame, Datum &movie) {
return;
}
- // play "done"
- if (frame.type == STRING) {
+ // play #done
+ if (frame.type == SYMBOL) {
+ if (!frame.u.s->equals("#done")) {
+ warning("Lingo::func_play: unknown symbol: %s", frame.u.s->c_str());
+ return;
+ }
if (_vm->_movieStack.empty()) { // No op if no nested movies
return;
}
diff --git a/engines/director/lingo/lingo-preprocessor.cpp b/engines/director/lingo/lingo-preprocessor.cpp
index 4afde4117a..328cfc7105 100644
--- a/engines/director/lingo/lingo-preprocessor.cpp
+++ b/engines/director/lingo/lingo-preprocessor.cpp
@@ -387,10 +387,10 @@ Common::String preprocessPlay(Common::String in) {
debugC(2, kDebugLingoParse, "PLAY: nexttok: %s", next.c_str());
if (next.equals("done")) {
- res += "\"done\""; // Turn it into STRING
+ res += "#"; // Turn it into SYMBOL
}
- ptr += 4; // Skip "done"
+ res += *ptr++; // We advance one character, so 'one' is left
beg = ptr;
}
More information about the Scummvm-git-logs
mailing list