[Scummvm-git-logs] scummvm master -> 4aa8bd69c2cdf06cc19f530accc86c48ef68a8c1
sev-
sev at scummvm.org
Tue Jan 21 16:46:26 UTC 2020
This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
77e7a791b7 DIRECTOR: Fix processing of palettes with 256 colors
529e1d465e DIRECTOR: Inverse sprite when clicked on
4aa8bd69c2 DIRECTOR: LINGO: Parse object field references
Commit: 77e7a791b7ee99a2c7a9b230c60f484bd0b5e004
https://github.com/scummvm/scummvm/commit/77e7a791b7ee99a2c7a9b230c60f484bd0b5e004
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-01-21T09:06:00+01:00
Commit Message:
DIRECTOR: Fix processing of palettes with 256 colors
Changed paths:
engines/director/score.cpp
diff --git a/engines/director/score.cpp b/engines/director/score.cpp
index 6a64ef1..c001782 100644
--- a/engines/director/score.cpp
+++ b/engines/director/score.cpp
@@ -390,7 +390,7 @@ void Score::loadPalette(Common::SeekableSubReadStreamEndian &stream) {
uint16 _paletteColorCount = steps;
byte *_palette = new byte[index + 1];
- for (uint8 i = 0; i < steps; i++) {
+ for (int i = 0; i < steps; i++) {
_palette[index - 2] = stream.readByte();
stream.readByte();
Commit: 529e1d465e56d4e07f95e69d524ead67e3754405
https://github.com/scummvm/scummvm/commit/529e1d465e56d4e07f95e69d524ead67e3754405
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-01-21T09:26:13+01:00
Commit Message:
DIRECTOR: Inverse sprite when clicked on
The Inverse Ink is incorrect.
Changed paths:
engines/director/frame.cpp
diff --git a/engines/director/frame.cpp b/engines/director/frame.cpp
index 880842f..b72e0b4 100644
--- a/engines/director/frame.cpp
+++ b/engines/director/frame.cpp
@@ -636,6 +636,12 @@ void Frame::renderSprites(Graphics::ManagedSurface &surface, bool renderTrail) {
continue;
}
+ InkType ink;
+ if (i == _vm->getCurrentScore()->_currentMouseDownSpriteId)
+ ink = kInkTypeReverse;
+ else
+ ink = _sprites[i]->_ink;
+
BitmapCast *bc = (BitmapCast *)_sprites[i]->_cast;
int32 regX = bc->_regX;
@@ -649,7 +655,7 @@ void Frame::renderSprites(Graphics::ManagedSurface &surface, bool renderTrail) {
int width = _vm->getVersion() > 4 ? bc->_initialRect.width() : _sprites[i]->_width;
Common::Rect drawRect(x, y, x + width, y + height);
addDrawRect(i, drawRect);
- inkBasedBlit(surface, *(bc->_surface), _sprites[i]->_ink, drawRect);
+ inkBasedBlit(surface, *(bc->_surface), ink, drawRect);
}
}
}
@@ -1039,7 +1045,7 @@ void Frame::drawReverseSprite(Graphics::ManagedSurface &target, const Graphics::
for (int j = 0; j < srcRect.width(); j++) {
if ((getSpriteIDFromPos(Common::Point(drawRect.left + j, drawRect.top + ii)) != 0)) {
if (*src != skipColor) {
- *dst = (*dst == *src ? (*src == 0 ? 0xff : 0) : *src);
+ *dst = 0xff - *src;
}
} else if (*src != skipColor) {
*dst = *src;
Commit: 4aa8bd69c2cdf06cc19f530accc86c48ef68a8c1
https://github.com/scummvm/scummvm/commit/4aa8bd69c2cdf06cc19f530accc86c48ef68a8c1
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-01-21T17:41:10+01:00
Commit Message:
DIRECTOR: LINGO: Parse object field references
Changed paths:
engines/director/lingo/lingo-code.cpp
engines/director/lingo/lingo-code.h
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-the.cpp
engines/director/lingo/lingo.h
diff --git a/engines/director/lingo/lingo-code.cpp b/engines/director/lingo/lingo-code.cpp
index 8980419..7a94b6d 100644
--- a/engines/director/lingo/lingo-code.cpp
+++ b/engines/director/lingo/lingo-code.cpp
@@ -107,6 +107,7 @@ static struct FuncDescr {
{ LC::c_not, "c_not", "" },
{ LC::c_objectfieldassign,"c_objectfieldassign","sF" },
{ LC::c_objectfieldpush,"c_objectfieldpush","sF" }, // object, field
+ { LC::c_objectrefpush, "c_objectrefpush", "ss" }, // object, field
{ LC::c_of, "c_of", "" },
{ LC::c_open, "c_open", "" },
{ LC::c_or, "c_or", "" },
@@ -456,6 +457,14 @@ void LC::c_objectfieldassign() {
g_lingo->setObjectField(object, field, d);
}
+void LC::c_objectrefpush() {
+ Common::String object(g_lingo->readString());
+ Common::String field(g_lingo->readString());
+
+ Datum d = g_lingo->getObjectRef(object, field);
+ g_lingo->push(d);
+}
+
void LC::c_swap() {
Datum d2 = g_lingo->pop();
Datum d1 = g_lingo->pop();
diff --git a/engines/director/lingo/lingo-code.h b/engines/director/lingo/lingo-code.h
index e02fc91..23dff63 100644
--- a/engines/director/lingo/lingo-code.h
+++ b/engines/director/lingo/lingo-code.h
@@ -82,6 +82,7 @@ namespace LC {
void c_themenuitementityassign();
void c_objectfieldpush();
void c_objectfieldassign();
+ void c_objectrefpush();
void c_repeatwhilecode();
void c_repeatwithcode();
diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp
index 42d9931..6c9353b 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -173,61 +173,62 @@ extern int yydebug;
tPLAYACCEL = 283,
tMETHOD = 284,
THEOBJECTFIELD = 285,
- tDOWN = 286,
- tELSE = 287,
- tELSIF = 288,
- tEXIT = 289,
- tGLOBAL = 290,
- tGO = 291,
- tIF = 292,
- tIN = 293,
- tINTO = 294,
- tLOOP = 295,
- tMACRO = 296,
- tMOVIE = 297,
- tNEXT = 298,
- tOF = 299,
- tPREVIOUS = 300,
- tPUT = 301,
- tREPEAT = 302,
- tSET = 303,
- tTHEN = 304,
- tTO = 305,
- tWHEN = 306,
- tWITH = 307,
- tWHILE = 308,
- tNLELSE = 309,
- tFACTORY = 310,
- tOPEN = 311,
- tPLAY = 312,
- tDONE = 313,
- tINSTANCE = 314,
- tGE = 315,
- tLE = 316,
- tEQ = 317,
- tNEQ = 318,
- tAND = 319,
- tOR = 320,
- tNOT = 321,
- tMOD = 322,
- tAFTER = 323,
- tBEFORE = 324,
- tCONCAT = 325,
- tCONTAINS = 326,
- tSTARTS = 327,
- tCHAR = 328,
- tITEM = 329,
- tLINE = 330,
- tWORD = 331,
- tSPRITE = 332,
- tINTERSECTS = 333,
- tWITHIN = 334,
- tTELL = 335,
- tPROPERTY = 336,
- tON = 337,
- tENDIF = 338,
- tENDREPEAT = 339,
- tENDTELL = 340
+ THEOBJECTREF = 286,
+ tDOWN = 287,
+ tELSE = 288,
+ tELSIF = 289,
+ tEXIT = 290,
+ tGLOBAL = 291,
+ tGO = 292,
+ tIF = 293,
+ tIN = 294,
+ tINTO = 295,
+ tLOOP = 296,
+ tMACRO = 297,
+ tMOVIE = 298,
+ tNEXT = 299,
+ tOF = 300,
+ tPREVIOUS = 301,
+ tPUT = 302,
+ tREPEAT = 303,
+ tSET = 304,
+ tTHEN = 305,
+ tTO = 306,
+ tWHEN = 307,
+ tWITH = 308,
+ tWHILE = 309,
+ tNLELSE = 310,
+ tFACTORY = 311,
+ tOPEN = 312,
+ tPLAY = 313,
+ tDONE = 314,
+ 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
@@ -250,7 +251,12 @@ union YYSTYPE
int oe;
} objectfield;
-#line 254 "engines/director/lingo/lingo-gr.cpp"
+ struct {
+ Common::String *obj;
+ Common::String *field;
+ } objectref;
+
+#line 260 "engines/director/lingo/lingo-gr.cpp"
};
typedef union YYSTYPE YYSTYPE;
@@ -567,21 +573,21 @@ union yyalloc
#endif /* !YYCOPY_NEEDED */
/* YYFINAL -- State number of the termination state. */
-#define YYFINAL 126
+#define YYFINAL 127
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 1689
+#define YYLAST 1654
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 101
+#define YYNTOKENS 102
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 51
/* YYNRULES -- Number of rules. */
-#define YYNRULES 171
+#define YYNRULES 172
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 369
+#define YYNSTATES 370
#define YYUNDEFTOK 2
-#define YYMAXUTOK 340
+#define YYMAXUTOK 341
/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
@@ -594,15 +600,15 @@ union yyalloc
static const yytype_int8 yytranslate[] =
{
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 94, 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, 93, 88, 2,
- 95, 96, 91, 89, 97, 90, 2, 92, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 100, 2,
- 86, 2, 87, 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, 98, 2, 99, 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,
@@ -627,31 +633,31 @@ 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
+ 85, 86
};
#if YYDEBUG
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_int16 yyrline[] =
{
- 0, 135, 135, 136, 137, 139, 140, 141, 143, 149,
- 152, 153, 154, 160, 167, 173, 180, 186, 193, 204,
- 211, 212, 213, 215, 216, 217, 218, 220, 221, 226,
- 237, 254, 266, 277, 279, 284, 288, 293, 297, 307,
- 318, 319, 321, 328, 338, 349, 351, 357, 363, 370,
- 372, 374, 375, 376, 378, 384, 387, 390, 394, 398,
- 402, 404, 405, 406, 409, 412, 415, 423, 429, 434,
- 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
- 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
- 455, 456, 457, 459, 460, 461, 462, 463, 464, 465,
- 466, 468, 471, 473, 474, 475, 476, 477, 478, 478,
- 479, 479, 480, 481, 484, 487, 488, 490, 494, 499,
- 503, 508, 512, 524, 525, 526, 527, 531, 535, 540,
- 541, 543, 544, 548, 552, 556, 556, 586, 586, 586,
- 593, 594, 594, 601, 611, 619, 619, 621, 622, 623,
- 624, 626, 627, 628, 630, 632, 640, 641, 642, 644,
- 645, 647, 649, 650, 651, 652, 654, 655, 657, 658,
- 660, 664
+ 0, 141, 141, 142, 143, 145, 146, 147, 149, 155,
+ 158, 159, 160, 166, 173, 179, 186, 192, 199, 210,
+ 217, 218, 219, 221, 222, 223, 224, 226, 227, 232,
+ 243, 260, 272, 283, 285, 290, 294, 299, 303, 313,
+ 324, 325, 327, 334, 344, 355, 357, 363, 369, 376,
+ 378, 380, 381, 382, 384, 390, 393, 396, 400, 404,
+ 408, 410, 411, 412, 415, 418, 421, 429, 435, 440,
+ 446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
+ 456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
+ 466, 467, 468, 469, 471, 472, 473, 474, 475, 476,
+ 477, 478, 480, 483, 485, 486, 487, 488, 489, 490,
+ 490, 491, 491, 492, 493, 496, 499, 500, 502, 506,
+ 511, 515, 520, 524, 536, 537, 538, 539, 543, 547,
+ 552, 553, 555, 556, 560, 564, 568, 568, 598, 598,
+ 598, 605, 606, 606, 613, 623, 631, 631, 633, 634,
+ 635, 636, 638, 639, 640, 642, 644, 652, 653, 654,
+ 656, 657, 659, 661, 662, 663, 664, 666, 667, 669,
+ 670, 672, 676
};
#endif
@@ -665,16 +671,16 @@ static const char *const yytname[] =
"ARGC", "ARGCNORET", "THEENTITY", "THEENTITYWITHID", "THEMENUITEMENTITY",
"FLOAT", "BLTIN", "FBLTIN", "RBLTIN", "ID", "STRING", "HANDLER",
"SYMBOL", "ENDCLAUSE", "tPLAYACCEL", "tMETHOD", "THEOBJECTFIELD",
- "tDOWN", "tELSE", "tELSIF", "tEXIT", "tGLOBAL", "tGO", "tIF", "tIN",
- "tINTO", "tLOOP", "tMACRO", "tMOVIE", "tNEXT", "tOF", "tPREVIOUS",
- "tPUT", "tREPEAT", "tSET", "tTHEN", "tTO", "tWHEN", "tWITH", "tWHILE",
- "tNLELSE", "tFACTORY", "tOPEN", "tPLAY", "tDONE", "tINSTANCE", "tGE",
- "tLE", "tEQ", "tNEQ", "tAND", "tOR", "tNOT", "tMOD", "tAFTER", "tBEFORE",
- "tCONCAT", "tCONTAINS", "tSTARTS", "tCHAR", "tITEM", "tLINE", "tWORD",
- "tSPRITE", "tINTERSECTS", "tWITHIN", "tTELL", "tPROPERTY", "tON",
- "tENDIF", "tENDREPEAT", "tENDTELL", "'<'", "'>'", "'&'", "'+'", "'-'",
- "'*'", "'/'", "'%'", "'\\n'", "'('", "')'", "','", "'['", "']'", "':'",
- "$accept", "program", "programline", "asgn", "stmtoneliner",
+ "THEOBJECTREF", "tDOWN", "tELSE", "tELSIF", "tEXIT", "tGLOBAL", "tGO",
+ "tIF", "tIN", "tINTO", "tLOOP", "tMACRO", "tMOVIE", "tNEXT", "tOF",
+ "tPREVIOUS", "tPUT", "tREPEAT", "tSET", "tTHEN", "tTO", "tWHEN", "tWITH",
+ "tWHILE", "tNLELSE", "tFACTORY", "tOPEN", "tPLAY", "tDONE", "tINSTANCE",
+ "tGE", "tLE", "tEQ", "tNEQ", "tAND", "tOR", "tNOT", "tMOD", "tAFTER",
+ "tBEFORE", "tCONCAT", "tCONTAINS", "tSTARTS", "tCHAR", "tITEM", "tLINE",
+ "tWORD", "tSPRITE", "tINTERSECTS", "tWITHIN", "tTELL", "tPROPERTY",
+ "tON", "tENDIF", "tENDREPEAT", "tENDTELL", "'<'", "'>'", "'&'", "'+'",
+ "'-'", "'*'", "'/'", "'%'", "'\\n'", "'('", "')'", "','", "'['", "']'",
+ "':'", "$accept", "program", "programline", "asgn", "stmtoneliner",
"stmtonelinerwithif", "stmt", "tellstart", "ifstmt", "elseifstmtlist",
"elseifstmt", "ifoneliner", "repeatwhile", "repeatwith", "if", "elseif",
"begin", "end", "stmtlist", "when", "simpleexpr", "expr", "chunkexpr",
@@ -699,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, 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 (-269)
+#define YYPACT_NINF (-270)
#define yypact_value_is_default(Yyn) \
((Yyn) == YYPACT_NINF)
@@ -719,43 +725,43 @@ static const yytype_int16 yytoknum[] =
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- 342, -70, -269, -269, 1026, -269, 1060, 1140, 30, 1174,
- -269, -269, -269, -269, -269, 27, -269, 908, -269, -269,
- 33, 1026, -33, 93, 54, 73, 1026, 946, 91, 1026,
- 1026, 1026, 1026, 1026, 1026, 1026, -269, -269, 1026, 1026,
- 1026, 422, 8, -269, -269, -269, -269, -269, 1026, -20,
- 1026, 748, -269, 1584, -269, -269, -269, -269, -269, -269,
- -269, -269, -269, -269, -12, 1026, 1584, 1026, 1584, 18,
- 1026, 18, -269, -269, 1026, 1584, 20, 1026, -269, -269,
- 95, -269, 1026, -269, 77, -269, 414, -269, 97, -269,
- 166, 101, -269, -29, 30, 30, -2, 79, 82, -269,
- 1501, -269, 414, -269, -269, 35, -269, 1195, 1229, 1262,
- 1295, 1551, 1460, 128, 130, -269, -269, 1514, 55, 57,
- -269, 1584, 59, 63, 64, -269, -269, 508, 1584, 1026,
- 1026, 1584, -269, -269, 1026, 1584, -269, -269, 1026, 1026,
- 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026,
- 1026, 1026, 1026, 1026, 1026, 131, 1026, 166, 1514, -38,
- 1026, -3, 11, 1026, 18, 131, -269, 65, 1584, 1026,
- -269, -269, 16, 1026, 1026, -269, 1026, 1026, 0, 119,
- 1026, 1026, 1026, -269, 1026, -269, 141, 1026, 1026, 1026,
- 1026, 1026, 1026, 1026, 1026, 1026, 1026, -269, -269, -269,
- 69, -269, -269, 30, 30, -269, 1026, 60, -269, -269,
- 1584, 1584, 118, -269, 1584, 9, 9, 9, 9, 1597,
- 1597, -269, 14, 9, 9, 9, 9, 14, -51, -51,
- -269, -269, -269, -42, -269, 1584, -269, -269, 1584, -30,
- 148, 1584, -269, -269, -269, 1584, 1584, 1584, 9, 1026,
- 1026, 151, 1584, 9, 1584, 1584, -269, 1584, 1328, 1584,
- 1361, 1584, 1394, 1584, 1427, 1584, 1584, 828, -269, 152,
- -269, -269, 1584, 55, 57, -269, 668, -269, 1, -269,
- 132, 85, 156, 85, -269, 131, 1584, 9, 30, 1026,
- 1026, 1026, 1026, -269, 668, -269, -269, -269, 109, 668,
- 144, 1026, 668, 828, 172, -269, -269, -269, -26, 149,
- 1584, 1584, 1584, 1584, -269, 113, -269, 122, 1026, 1584,
- -269, -269, -269, 588, 668, 85, 1026, -269, -269, 1584,
- -269, 80, -18, 180, -269, 1584, -269, 668, -269, -269,
- -269, 1026, 124, -269, -269, -269, 111, 668, 668, 125,
- -269, 1584, -269, 828, 187, 129, -269, 668, 163, -269,
- -269, -269, 133, -269, 134, -269, 668, -269, -269
+ 283, -74, -270, -270, 978, -270, 1013, 1094, 20, 1129,
+ -270, -270, -270, -270, -270, -270, 52, -270, 859, -270,
+ -270, 53, 978, 16, 146, 29, 68, 978, 897, 80,
+ 978, 978, 978, 978, 978, 978, 978, -270, -270, 978,
+ 978, 978, 367, 7, -270, -270, -270, -270, -270, 978,
+ 3, 978, 697, -270, 1548, -270, -270, -270, -270, -270,
+ -270, -270, -270, -270, -270, 17, 978, 1548, 978, 1548,
+ 23, 978, 23, -270, -270, 978, 1548, 24, 978, -270,
+ -270, 91, -270, 978, -270, 73, -270, 359, -270, 92,
+ -270, 1168, 94, -270, 2, 20, 20, 27, 67, 70,
+ -270, 143, -270, 359, -270, -270, 25, -270, 1201, 1234,
+ 1267, 1300, 1515, 1465, 101, 102, -270, -270, 1478, 31,
+ 51, -270, 1548, 54, 57, 58, -270, -270, 454, 1548,
+ 978, 978, 1548, -270, -270, 978, 1548, -270, -270, 978,
+ 978, 978, 978, 978, 978, 978, 978, 978, 978, 978,
+ 978, 978, 978, 978, 978, 978, 135, 978, 1168, 1478,
+ -42, 978, -37, -17, 978, 23, 135, -270, 61, 1548,
+ 978, -270, -270, 18, 978, 978, -270, 978, 978, 34,
+ 116, 978, 978, 978, -270, 978, -270, 142, 978, 978,
+ 978, 978, 978, 978, 978, 978, 978, 978, -270, -270,
+ -270, 69, -270, -270, 20, 20, -270, 978, 72, -270,
+ -270, 1548, 1548, 122, -270, 1548, 15, 15, 15, 15,
+ 1561, 1561, -270, 19, 15, 15, 15, 15, 19, -34,
+ -34, -270, -270, -270, -79, -270, 1548, -270, -270, 1548,
+ -78, 152, 1548, -270, -270, -270, 1548, 1548, 1548, 15,
+ 978, 978, 157, 1548, 15, 1548, 1548, -270, 1548, 1333,
+ 1548, 1366, 1548, 1399, 1548, 1432, 1548, 1548, 778, -270,
+ 159, -270, -270, 1548, 31, 51, -270, 616, -270, 22,
+ -270, 133, 96, 176, 96, -270, 135, 1548, 15, 20,
+ 978, 978, 978, 978, -270, 616, -270, -270, -270, 115,
+ 616, 150, 978, 616, 778, 179, -270, -270, -270, -73,
+ 166, 1548, 1548, 1548, 1548, -270, 124, -270, 134, 978,
+ 1548, -270, -270, -270, 535, 616, 96, 978, -270, -270,
+ 1548, -270, 43, -21, 197, -270, 1548, -270, 616, -270,
+ -270, -270, 978, 138, -270, -270, -270, 125, 616, 616,
+ 139, -270, 1548, -270, 778, 202, 141, -270, 616, 177,
+ -270, -270, -270, 144, -270, 145, -270, 616, -270, -270
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -763,65 +769,65 @@ static const yytype_int16 yypact[] =
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
- 0, 0, 55, 66, 0, 56, 156, 156, 0, 59,
- 58, 57, 135, 141, 68, 107, 108, 0, 47, 137,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 110, 145, 0, 0,
- 0, 162, 0, 3, 69, 27, 7, 28, 0, 0,
- 0, 0, 61, 21, 102, 62, 22, 104, 105, 6,
- 49, 20, 60, 4, 59, 0, 67, 156, 157, 114,
- 156, 64, 59, 101, 156, 159, 155, 156, 49, 106,
- 0, 123, 0, 124, 0, 125, 126, 128, 0, 33,
- 103, 0, 45, 0, 0, 0, 0, 0, 0, 140,
- 116, 131, 132, 134, 121, 112, 83, 0, 0, 0,
- 0, 0, 0, 0, 0, 88, 89, 0, 58, 57,
- 163, 166, 0, 164, 165, 168, 1, 5, 50, 0,
- 0, 50, 50, 26, 0, 24, 25, 23, 0, 0,
+ 0, 0, 55, 66, 0, 56, 157, 157, 0, 59,
+ 58, 57, 136, 142, 68, 69, 108, 109, 0, 47,
+ 138, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 111, 146, 0,
+ 0, 0, 163, 0, 3, 70, 27, 7, 28, 0,
+ 0, 0, 0, 61, 21, 103, 62, 22, 105, 106,
+ 6, 49, 20, 60, 4, 59, 0, 67, 157, 158,
+ 115, 157, 64, 59, 102, 157, 160, 156, 157, 49,
+ 107, 0, 124, 0, 125, 0, 126, 127, 129, 0,
+ 33, 104, 0, 45, 0, 0, 0, 0, 0, 0,
+ 141, 117, 132, 133, 135, 122, 113, 84, 0, 0,
+ 0, 0, 0, 0, 0, 0, 89, 90, 0, 58,
+ 57, 164, 167, 0, 165, 166, 169, 1, 5, 50,
+ 0, 0, 50, 50, 26, 0, 24, 25, 23, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 147, 156, 0, 157, 0,
- 0, 0, 0, 0, 136, 147, 117, 109, 130, 0,
- 127, 138, 0, 0, 0, 46, 0, 0, 0, 0,
- 0, 0, 0, 54, 0, 133, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 37, 37, 119,
- 111, 146, 90, 0, 0, 161, 0, 0, 2, 51,
- 50, 50, 0, 34, 50, 79, 80, 77, 78, 81,
- 82, 74, 85, 86, 87, 76, 75, 84, 70, 71,
- 72, 73, 148, 0, 113, 158, 63, 65, 160, 0,
- 0, 129, 49, 8, 9, 10, 11, 15, 13, 0,
- 0, 0, 14, 12, 19, 115, 122, 93, 0, 95,
- 0, 97, 0, 99, 0, 91, 92, 0, 51, 0,
- 171, 170, 167, 0, 0, 169, 50, 51, 0, 51,
- 0, 154, 0, 154, 118, 147, 16, 17, 0, 0,
- 0, 0, 0, 50, 50, 120, 52, 53, 0, 50,
- 0, 0, 50, 0, 0, 51, 149, 51, 0, 0,
- 94, 96, 98, 100, 36, 0, 29, 0, 0, 50,
- 40, 50, 150, 144, 142, 154, 0, 35, 32, 50,
- 51, 50, 0, 151, 51, 18, 51, 50, 49, 48,
- 41, 0, 0, 49, 44, 152, 143, 139, 50, 0,
- 51, 50, 38, 0, 0, 0, 30, 50, 0, 50,
- 153, 31, 0, 51, 0, 39, 50, 43, 42
+ 0, 0, 0, 0, 0, 0, 148, 157, 0, 158,
+ 0, 0, 0, 0, 0, 137, 148, 118, 110, 131,
+ 0, 128, 139, 0, 0, 0, 46, 0, 0, 0,
+ 0, 0, 0, 0, 54, 0, 134, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 37, 37,
+ 120, 112, 147, 91, 0, 0, 162, 0, 0, 2,
+ 51, 50, 50, 0, 34, 50, 80, 81, 78, 79,
+ 82, 83, 75, 86, 87, 88, 77, 76, 85, 71,
+ 72, 73, 74, 149, 0, 114, 159, 63, 65, 161,
+ 0, 0, 130, 49, 8, 9, 10, 11, 15, 13,
+ 0, 0, 0, 14, 12, 19, 116, 123, 94, 0,
+ 96, 0, 98, 0, 100, 0, 92, 93, 0, 51,
+ 0, 172, 171, 168, 0, 0, 170, 50, 51, 0,
+ 51, 0, 155, 0, 155, 119, 148, 16, 17, 0,
+ 0, 0, 0, 0, 50, 50, 121, 52, 53, 0,
+ 50, 0, 0, 50, 0, 0, 51, 150, 51, 0,
+ 0, 95, 97, 99, 101, 36, 0, 29, 0, 0,
+ 50, 40, 50, 151, 145, 143, 155, 0, 35, 32,
+ 50, 51, 50, 0, 152, 51, 18, 51, 50, 49,
+ 48, 41, 0, 0, 49, 44, 153, 144, 140, 50,
+ 0, 51, 50, 38, 0, 0, 0, 30, 50, 0,
+ 50, 154, 31, 0, 51, 0, 39, 50, 43, 42
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -269, -269, 87, -269, -258, -269, 6, 17, -269, -269,
- -269, -269, -269, -269, 167, -269, -74, -10, -57, -269,
- -7, -4, -269, 47, 170, -269, -269, -269, -269, -269,
- -269, -17, -269, -269, -269, -269, -269, -269, -269, -269,
- -158, -269, -268, 173, 5, -269, -269, -269, -269, -269,
- 25
+ -270, -270, 109, -270, -255, -270, 6, 40, -270, -270,
+ -270, -270, -270, -270, 189, -270, -75, -82, 64, -270,
+ -7, -4, -270, 71, 190, -270, -270, -270, -270, -270,
+ -270, -19, -270, -270, -270, -270, -270, -270, -270, -270,
+ -158, -270, -269, 191, 4, -270, -270, -270, -270, -270,
+ 37
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 42, 43, 44, 45, 132, 297, 267, 47, 331,
- 340, 133, 48, 49, 50, 341, 155, 209, 276, 51,
- 52, 53, 54, 55, 56, 80, 113, 167, 200, 105,
- 57, 87, 58, 77, 59, 88, 242, 78, 60, 114,
- 233, 346, 305, 61, 162, 76, 62, 122, 123, 124,
- 125
+ -1, 43, 44, 45, 46, 133, 298, 268, 48, 332,
+ 341, 134, 49, 50, 51, 342, 156, 210, 277, 52,
+ 53, 54, 55, 56, 57, 81, 114, 168, 201, 106,
+ 58, 88, 59, 78, 60, 89, 243, 79, 61, 115,
+ 234, 347, 306, 62, 163, 77, 63, 123, 124, 125,
+ 126
};
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
@@ -829,348 +835,342 @@ static const yytype_int16 yydefgoto[] =
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 66, 73, 68, 68, 165, 75, 46, 239, 126, 293,
- 103, 69, 71, 86, 343, 307, 144, 90, 129, 91,
- 92, 176, 100, 102, 63, 106, 107, 108, 109, 110,
- 111, 112, 300, 177, 115, 116, 117, 121, 8, 243,
- 153, 154, 130, 2, 128, 321, 131, 135, 180, 5,
- 249, 301, 281, 72, 10, 282, 11, 334, 234, 160,
- 181, 157, 250, 158, 283, 344, 158, 282, 325, 170,
- 158, 282, 159, 68, 79, 161, 144, 98, 168, 145,
- 89, 144, 164, 156, 273, 185, 274, 178, 179, 30,
- 31, 32, 33, 236, 160, 359, 99, 150, 151, 152,
- 153, 154, 127, 151, 152, 153, 154, 237, 160, 93,
- 94, 95, 338, 339, 104, 160, 96, 163, 166, 169,
- 171, 212, 213, 97, 175, 210, 211, 308, 41, 182,
- 214, 183, 186, 46, 215, 216, 217, 218, 219, 220,
+ 67, 74, 69, 69, 166, 76, 47, 127, 240, 104,
+ 70, 72, 344, 294, 87, 308, 282, 284, 91, 283,
+ 283, 64, 326, 101, 103, 283, 107, 108, 109, 110,
+ 111, 112, 113, 2, 145, 116, 117, 118, 122, 5,
+ 8, 244, 130, 73, 10, 129, 11, 132, 136, 322,
+ 213, 214, 99, 177, 301, 235, 161, 335, 154, 155,
+ 237, 161, 158, 345, 159, 178, 131, 159, 171, 92,
+ 93, 159, 160, 302, 69, 162, 339, 340, 181, 169,
+ 238, 161, 165, 145, 186, 250, 146, 145, 179, 180,
+ 182, 100, 31, 32, 33, 34, 274, 251, 275, 360,
+ 80, 90, 128, 105, 151, 152, 153, 154, 155, 152,
+ 153, 154, 155, 157, 167, 172, 170, 176, 183, 42,
+ 184, 161, 164, 187, 200, 202, 211, 212, 309, 278,
+ 279, 215, 204, 281, 47, 216, 217, 218, 219, 220,
221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
- 231, 199, 68, 201, 232, 203, 235, 204, 205, 238,
- 206, 207, 240, 251, 256, 241, 269, 279, 285, 245,
- 246, 284, 247, 248, 288, 295, 252, 253, 254, 306,
- 255, 303, 304, 257, 258, 259, 260, 261, 262, 263,
- 264, 265, 266, 316, 318, 322, 270, 271, 327, 326,
- 277, 278, 272, 345, 280, 172, 328, 352, 354, 356,
- 360, 294, 363, 361, 208, 268, 365, 367, 134, 244,
- 299, 136, 302, 0, 137, 0, 138, 139, 140, 141,
- 142, 143, 275, 144, 173, 174, 145, 146, 147, 0,
- 0, 0, 0, 0, 0, 286, 287, 0, 323, 0,
- 324, 0, 148, 149, 150, 151, 152, 153, 154, 0,
- 0, 0, 0, 0, 350, 0, 298, 0, 0, 353,
- 0, 0, 0, 337, 0, 0, 0, 347, 0, 348,
- 0, 309, 0, 314, 315, 310, 311, 312, 313, 317,
- 0, 0, 320, 357, 0, 0, 0, 319, 0, 0,
- 0, 0, 0, 0, 0, 0, 366, 0, 0, 330,
- 0, 332, 0, 0, 329, 0, 0, 0, 0, 336,
- 0, 342, 335, 0, 0, 0, 0, 349, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 351, 355, 0,
- 0, 358, -5, 1, 0, 0, 0, 362, 0, 364,
- 0, 0, 0, 0, 0, 2, 368, 0, 3, 4,
- 0, 5, 6, 7, 8, 9, 10, 0, 11, 0,
- 12, 13, 14, 0, 0, 0, 15, 16, 17, 18,
- 0, 0, 0, 19, 0, 20, 0, 0, 21, 22,
- 23, 0, 0, 24, 0, 0, 0, 25, 26, 27,
- 0, 28, 0, 0, 0, 0, 0, 0, 29, 0,
- 0, 0, 0, 0, 0, 30, 31, 32, 33, 34,
- 0, 0, 35, 36, 37, 0, 0, 0, 0, 0,
- 0, 38, 39, 0, 0, 2, -5, 40, 3, 4,
- 41, 5, 0, 7, 8, 64, 118, 0, 119, 0,
- 0, 0, 14, 0, 0, 0, 82, 0, 84, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 65, 0,
- 23, 0, 0, 0, 138, 139, 140, 141, 142, 143,
- 0, 144, 0, 0, 145, 146, 147, 0, 29, 0,
- 0, 0, 0, 0, 0, 30, 31, 32, 33, 34,
- 148, 149, 150, 151, 152, 153, 154, 0, 0, 0,
- 0, 38, 39, 0, 0, 0, 0, 40, 0, 0,
- 41, 2, 120, 0, 3, 4, 0, 5, 6, 7,
- 8, 9, 10, 0, 11, 0, 12, 13, 14, 0,
- 0, 0, 15, 16, 17, 18, 0, 0, 0, 19,
- 0, 20, 0, 0, 21, 22, 23, 0, 0, 24,
- 0, 0, 0, 25, 26, 27, 0, 28, 0, 0,
- 0, 0, 0, 0, 29, 0, 0, 0, 0, 0,
- 0, 30, 31, 32, 33, 34, 0, 0, 35, 36,
- 37, 0, 0, 0, 0, 0, 0, 38, 39, 0,
- 0, 2, 0, 40, 3, 4, 41, 5, 6, 7,
- 8, 9, 10, 0, 11, 333, 12, 0, 14, 0,
- 0, 0, 15, 16, 17, 18, 0, 0, 0, 0,
- 0, 20, 0, 0, 21, 22, 23, 0, 0, 24,
- 0, 0, 0, 0, 26, 27, 0, 28, 0, 0,
- 0, 0, 0, 0, 29, 0, 0, 0, 0, 0,
- 0, 30, 31, 32, 33, 34, 0, 0, 35, 36,
- 0, 0, 0, 0, 0, 0, 0, 38, 39, 0,
- 0, 2, 296, 40, 3, 4, 41, 5, 6, 7,
- 8, 9, 10, 0, 11, 0, 12, 0, 14, 0,
- 0, 0, 15, 16, 17, 18, 0, 0, 0, 0,
- 0, 20, 0, 0, 21, 22, 23, 0, 0, 24,
- 0, 0, 0, 0, 26, 27, 0, 28, 0, 0,
- 0, 0, 0, 0, 29, 0, 0, 0, 0, 0,
- 0, 30, 31, 32, 33, 34, 0, 0, 35, 36,
- 0, 0, 0, 0, 0, 0, 0, 38, 39, 0,
- 0, 2, 296, 40, 3, 4, 41, 5, 6, 7,
- 8, 9, 10, 0, 11, 0, 12, 0, 14, 0,
- 0, 0, 15, 16, 17, 18, 0, 0, 0, 0,
- 0, 0, 0, 0, 21, 0, 23, 0, 0, 0,
- 0, 0, 0, 0, 26, 27, 0, 28, 0, 0,
- 0, 0, 0, 0, 29, 0, 0, 0, 0, 0,
- 0, 30, 31, 32, 33, 34, 0, 0, 0, 36,
- 0, 0, 0, 0, 0, 0, 0, 38, 39, 0,
- 0, 2, 0, 40, 3, 4, 41, 5, 6, 7,
- 8, 9, 10, 0, 11, 0, 12, 0, 14, 0,
- 0, 0, 15, 16, 17, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 21, 0, 23, 0, 0, 0,
- 0, 0, 0, 0, 26, 27, 0, 28, 0, 0,
- 0, 0, 0, 0, 29, 0, 0, 0, 0, 0,
- 0, 30, 31, 32, 33, 34, 0, 0, 0, 36,
- 0, 0, 0, 0, 0, 0, 0, 38, 39, 0,
- 0, 2, 0, 40, 3, 4, 41, 5, 0, 7,
- 8, 64, 10, 0, 11, 0, 0, 0, 14, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 81, 0,
- 82, 83, 84, 85, 65, 0, 23, 0, 0, 2,
- 0, 0, 3, 4, 0, 5, 0, 7, 8, 64,
- 10, 0, 11, 0, 29, 0, 14, 0, 0, 0,
- 0, 30, 31, 32, 33, 34, 0, 0, 82, 0,
- 84, 0, 65, 0, 23, 0, 0, 38, 39, 0,
- 0, 0, 0, 40, 101, 0, 41, 0, 0, 0,
- 0, 0, 29, 0, 0, 0, 0, 0, 0, 30,
- 31, 32, 33, 34, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 38, 39, 0, 0, 2,
- 0, 40, 3, 4, 41, 5, 0, 7, 8, 64,
- 10, 0, 11, 0, 0, 0, 14, 0, 0, 0,
+ 231, 232, 205, 69, 206, 207, 208, 236, 233, 241,
+ 239, 252, 94, 95, 96, 257, 242, 270, 286, 97,
+ 246, 247, 280, 248, 249, 285, 98, 253, 254, 255,
+ 289, 256, 296, 304, 258, 259, 260, 261, 262, 263,
+ 264, 265, 266, 267, 305, 299, 185, 271, 272, 307,
+ 317, 319, 323, 273, 139, 140, 141, 142, 143, 144,
+ 328, 145, 315, 316, 146, 147, 148, 327, 318, 329,
+ 346, 321, 353, 355, 357, 361, 362, 364, 366, 368,
+ 149, 150, 151, 152, 153, 154, 155, 209, 331, 269,
+ 333, 135, 137, 138, 245, 276, 287, 288, 337, 0,
+ 343, 0, 0, 0, 0, 0, 350, 0, 0, 0,
+ 0, 0, 0, 0, 351, 0, 0, 356, 0, 354,
+ 359, 0, 0, 0, 0, 0, 363, 0, 365, 0,
+ 0, 0, 310, -5, 1, 369, 311, 312, 313, 314,
+ 0, 0, 0, 0, 0, 0, 2, 0, 320, 3,
+ 4, 0, 5, 6, 7, 8, 9, 10, 0, 11,
+ 0, 12, 13, 14, 15, 330, 0, 0, 16, 17,
+ 18, 19, 0, 336, 0, 20, 0, 21, 0, 0,
+ 22, 23, 24, 295, 0, 25, 0, 0, 352, 26,
+ 27, 28, 300, 29, 303, 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,
+ 324, 0, 325, 39, 40, 0, 0, 0, -5, 41,
+ 2, 0, 42, 3, 4, 0, 5, 0, 7, 8,
+ 65, 119, 0, 120, 0, 338, 0, 14, 15, 348,
+ 0, 349, 83, 0, 85, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 66, 358, 24, 0, 0, 0,
+ 139, 140, 141, 142, 143, 144, 0, 145, 367, 0,
+ 146, 147, 148, 0, 30, 0, 0, 0, 0, 0,
+ 0, 31, 32, 33, 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, 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, 0,
+ 41, 3, 4, 42, 5, 6, 7, 8, 9, 10,
+ 0, 11, 334, 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,
+ 297, 41, 3, 4, 42, 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, 297, 41, 3, 4, 42, 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, 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, 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, 5, 0,
+ 7, 8, 65, 10, 0, 11, 0, 0, 0, 14,
+ 15, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 82, 0, 83, 84, 85, 86, 66, 0, 24, 0,
+ 2, 0, 0, 3, 4, 0, 5, 0, 7, 8,
+ 65, 10, 0, 11, 0, 0, 30, 14, 15, 0,
+ 0, 0, 0, 31, 32, 33, 34, 35, 0, 0,
+ 83, 0, 85, 0, 66, 0, 24, 0, 0, 39,
+ 40, 0, 0, 0, 0, 41, 102, 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, 5, 0, 7,
+ 8, 65, 10, 0, 11, 0, 0, 0, 14, 15,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 65, 2, 23, 0, 3, 4, 0, 5,
- 0, 7, 8, 64, 10, 0, 11, 0, 0, 0,
- 14, 0, 29, 0, 0, 0, 0, 0, 0, 30,
- 31, 32, 33, 34, 0, 0, 65, 0, 23, 0,
- 0, 0, 0, 0, 0, 38, 39, 0, 0, 0,
- 0, 40, 0, 0, 41, 0, 29, 0, 0, 0,
- 0, 0, 0, 30, 31, 32, 33, 34, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 38,
- 39, 0, 0, 2, 0, 67, 3, 4, 41, 5,
- 0, 7, 8, 64, 10, 0, 11, 0, 0, 0,
- 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 65, 2, 23, 0,
- 3, 4, 0, 5, 0, 7, 8, 64, 10, 0,
- 11, 0, 0, 0, 14, 0, 29, 0, 0, 0,
- 0, 0, 0, 30, 31, 32, 33, 34, 0, 0,
- 65, 0, 23, 0, 0, 0, 0, 0, 0, 38,
- 39, 0, 0, 0, 0, 70, 0, 0, 41, 187,
- 29, 0, 0, 0, 0, 188, 0, 30, 31, 32,
- 33, 34, 0, 0, 0, 138, 139, 140, 141, 142,
- 143, 0, 144, 38, 39, 145, 146, 147, 0, 74,
- 0, 0, 41, 189, 0, 0, 0, 0, 0, 190,
- 0, 148, 149, 150, 151, 152, 153, 154, 0, 138,
- 139, 140, 141, 142, 143, 0, 144, 0, 0, 145,
- 146, 147, 0, 0, 0, 0, 191, 0, 0, 0,
- 0, 0, 192, 0, 0, 148, 149, 150, 151, 152,
- 153, 154, 138, 139, 140, 141, 142, 143, 0, 144,
- 0, 0, 145, 146, 147, 0, 0, 0, 0, 193,
- 0, 0, 0, 0, 0, 194, 0, 0, 148, 149,
- 150, 151, 152, 153, 154, 138, 139, 140, 141, 142,
- 143, 0, 144, 0, 0, 145, 146, 147, 0, 0,
- 0, 0, 289, 0, 0, 0, 0, 0, 0, 0,
- 0, 148, 149, 150, 151, 152, 153, 154, 138, 139,
- 140, 141, 142, 143, 0, 144, 0, 0, 145, 146,
- 147, 0, 0, 0, 0, 290, 0, 0, 0, 0,
- 0, 0, 0, 0, 148, 149, 150, 151, 152, 153,
- 154, 138, 139, 140, 141, 142, 143, 0, 144, 0,
- 0, 145, 146, 147, 0, 0, 0, 0, 291, 0,
- 0, 0, 0, 0, 0, 0, 0, 148, 149, 150,
- 151, 152, 153, 154, 138, 139, 140, 141, 142, 143,
- 0, 144, 0, 0, 145, 146, 147, 0, 0, 0,
- 0, 292, 0, 0, 0, 0, 0, 0, 0, 0,
- 148, 149, 150, 151, 152, 153, 154, 138, 139, 140,
- 141, 142, 143, 0, 144, 0, 0, 145, 146, 147,
+ 0, 0, 0, 0, 0, 66, 2, 24, 0, 3,
+ 4, 0, 5, 0, 7, 8, 65, 10, 0, 11,
+ 0, 0, 0, 14, 15, 30, 0, 0, 0, 0,
+ 0, 0, 31, 32, 33, 34, 35, 0, 0, 0,
+ 66, 0, 24, 0, 0, 0, 0, 0, 39, 40,
+ 0, 0, 0, 0, 41, 0, 0, 42, 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, 68,
+ 3, 4, 42, 5, 0, 7, 8, 65, 10, 0,
+ 11, 0, 0, 0, 14, 15, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 197, 0, 0, 148, 149, 150, 151, 152, 153, 154,
- 138, 139, 140, 141, 142, 143, 0, 144, 0, 0,
- 145, 146, 147, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 148, 149, 150, 151,
- 152, 153, 154, 184, 198, 0, 0, 0, 0, 0,
- 0, 138, 139, 140, 141, 142, 143, 0, 144, 0,
- 0, 145, 146, 147, 138, 139, 140, 141, 142, 143,
- 0, 144, 0, 0, 145, 146, 147, 148, 149, 150,
- 151, 152, 153, 154, 0, 0, 0, 0, 0, 0,
- 148, 149, 150, 151, 152, 153, 154, 0, 0, 0,
- 202, 138, 139, 140, 141, 142, 143, 0, 144, 0,
- 0, 145, 146, 147, 0, 0, 0, 0, 0, 195,
- 196, 0, 0, 0, 0, 0, 0, 148, 149, 150,
- 151, 152, 153, 154, 138, 139, 140, 141, 142, 143,
- 0, 144, 0, 0, 145, 146, 147, 138, 139, 140,
- 141, 0, 0, 0, 144, 0, 0, 145, 146, 147,
- 148, 149, 150, 151, 152, 153, 154, 0, 0, 0,
- 0, 0, 0, 148, 149, 150, 151, 152, 153, 154
+ 0, 66, 2, 24, 0, 3, 4, 0, 5, 0,
+ 7, 8, 65, 10, 0, 11, 0, 0, 0, 14,
+ 15, 30, 0, 0, 0, 0, 0, 0, 31, 32,
+ 33, 34, 35, 0, 0, 0, 66, 0, 24, 0,
+ 0, 0, 0, 0, 39, 40, 0, 0, 0, 0,
+ 71, 0, 0, 42, 0, 0, 30, 0, 0, 0,
+ 0, 0, 0, 31, 32, 33, 34, 35, 173, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 39,
+ 40, 0, 0, 0, 0, 75, 0, 0, 42, 139,
+ 140, 141, 142, 143, 144, 0, 145, 174, 175, 146,
+ 147, 148, 0, 0, 0, 0, 188, 0, 0, 0,
+ 0, 0, 189, 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, 190,
+ 0, 0, 0, 0, 0, 191, 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, 192, 0, 0, 0, 0, 0, 193, 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, 194, 0, 0, 0, 0,
+ 0, 195, 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, 290, 0,
+ 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, 291, 0, 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, 292, 0, 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, 293, 0, 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, 198, 0, 0, 149,
+ 150, 151, 152, 153, 154, 155, 139, 140, 141, 142,
+ 143, 144, 0, 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,
+ 199, 0, 0, 0, 0, 149, 150, 151, 152, 153,
+ 154, 155, 0, 0, 0, 203, 139, 140, 141, 142,
+ 143, 144, 0, 145, 0, 0, 146, 147, 148, 0,
+ 0, 0, 0, 0, 196, 197, 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, 139, 140, 141, 142, 0, 0, 0, 145,
+ 0, 0, 146, 147, 148, 149, 150, 151, 152, 153,
+ 154, 155, 0, 0, 0, 0, 0, 0, 149, 150,
+ 151, 152, 153, 154, 155
};
static const yytype_int16 yycheck[] =
{
- 4, 8, 6, 7, 78, 9, 0, 165, 0, 267,
- 27, 6, 7, 17, 32, 283, 67, 21, 38, 52,
- 53, 50, 26, 27, 94, 29, 30, 31, 32, 33,
- 34, 35, 31, 62, 38, 39, 40, 41, 22, 23,
- 91, 92, 62, 13, 48, 303, 50, 51, 50, 19,
- 50, 50, 94, 23, 24, 97, 26, 325, 96, 97,
- 62, 65, 62, 67, 94, 83, 70, 97, 94, 86,
- 74, 97, 67, 77, 47, 70, 67, 23, 82, 70,
- 47, 67, 77, 95, 24, 102, 26, 94, 95, 73,
- 74, 75, 76, 96, 97, 353, 23, 88, 89, 90,
- 91, 92, 94, 89, 90, 91, 92, 96, 97, 16,
- 17, 18, 32, 33, 23, 97, 23, 97, 23, 42,
- 23, 131, 132, 30, 23, 129, 130, 285, 98, 50,
- 134, 49, 97, 127, 138, 139, 140, 141, 142, 143,
+ 4, 8, 6, 7, 79, 9, 0, 0, 166, 28,
+ 6, 7, 33, 268, 18, 284, 95, 95, 22, 98,
+ 98, 95, 95, 27, 28, 98, 30, 31, 32, 33,
+ 34, 35, 36, 13, 68, 39, 40, 41, 42, 19,
+ 22, 23, 39, 23, 24, 49, 26, 51, 52, 304,
+ 132, 133, 23, 51, 32, 97, 98, 326, 92, 93,
+ 97, 98, 66, 84, 68, 63, 63, 71, 87, 53,
+ 54, 75, 68, 51, 78, 71, 33, 34, 51, 83,
+ 97, 98, 78, 68, 103, 51, 71, 68, 95, 96,
+ 63, 23, 74, 75, 76, 77, 24, 63, 26, 354,
+ 48, 48, 95, 23, 89, 90, 91, 92, 93, 90,
+ 91, 92, 93, 96, 23, 23, 43, 23, 51, 99,
+ 50, 98, 98, 98, 23, 23, 130, 131, 286, 211,
+ 212, 135, 101, 215, 128, 139, 140, 141, 142, 143,
144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
- 154, 23, 156, 23, 23, 100, 160, 100, 99, 163,
- 97, 97, 97, 44, 23, 169, 97, 49, 242, 173,
- 174, 23, 176, 177, 23, 23, 180, 181, 182, 23,
- 184, 49, 97, 187, 188, 189, 190, 191, 192, 193,
- 194, 195, 196, 84, 50, 23, 203, 204, 85, 50,
- 210, 211, 206, 23, 214, 39, 84, 83, 97, 84,
- 23, 268, 49, 84, 127, 198, 83, 83, 51, 172,
- 277, 51, 279, -1, 51, -1, 60, 61, 62, 63,
- 64, 65, 207, 67, 68, 69, 70, 71, 72, -1,
- -1, -1, -1, -1, -1, 249, 250, -1, 305, -1,
- 307, -1, 86, 87, 88, 89, 90, 91, 92, -1,
- -1, -1, -1, -1, 338, -1, 276, -1, -1, 343,
- -1, -1, -1, 330, -1, -1, -1, 334, -1, 336,
- -1, 288, -1, 293, 294, 289, 290, 291, 292, 299,
- -1, -1, 302, 350, -1, -1, -1, 301, -1, -1,
- -1, -1, -1, -1, -1, -1, 363, -1, -1, 319,
- -1, 321, -1, -1, 318, -1, -1, -1, -1, 329,
- -1, 331, 326, -1, -1, -1, -1, 337, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 341, 348, -1,
- -1, 351, 0, 1, -1, -1, -1, 357, -1, 359,
- -1, -1, -1, -1, -1, 13, 366, -1, 16, 17,
- -1, 19, 20, 21, 22, 23, 24, -1, 26, -1,
- 28, 29, 30, -1, -1, -1, 34, 35, 36, 37,
- -1, -1, -1, 41, -1, 43, -1, -1, 46, 47,
- 48, -1, -1, 51, -1, -1, -1, 55, 56, 57,
- -1, 59, -1, -1, -1, -1, -1, -1, 66, -1,
- -1, -1, -1, -1, -1, 73, 74, 75, 76, 77,
- -1, -1, 80, 81, 82, -1, -1, -1, -1, -1,
- -1, 89, 90, -1, -1, 13, 94, 95, 16, 17,
- 98, 19, -1, 21, 22, 23, 24, -1, 26, -1,
- -1, -1, 30, -1, -1, -1, 42, -1, 44, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 46, -1,
- 48, -1, -1, -1, 60, 61, 62, 63, 64, 65,
- -1, 67, -1, -1, 70, 71, 72, -1, 66, -1,
- -1, -1, -1, -1, -1, 73, 74, 75, 76, 77,
- 86, 87, 88, 89, 90, 91, 92, -1, -1, -1,
- -1, 89, 90, -1, -1, -1, -1, 95, -1, -1,
- 98, 13, 100, -1, 16, 17, -1, 19, 20, 21,
- 22, 23, 24, -1, 26, -1, 28, 29, 30, -1,
- -1, -1, 34, 35, 36, 37, -1, -1, -1, 41,
- -1, 43, -1, -1, 46, 47, 48, -1, -1, 51,
- -1, -1, -1, 55, 56, 57, -1, 59, -1, -1,
- -1, -1, -1, -1, 66, -1, -1, -1, -1, -1,
- -1, 73, 74, 75, 76, 77, -1, -1, 80, 81,
- 82, -1, -1, -1, -1, -1, -1, 89, 90, -1,
- -1, 13, -1, 95, 16, 17, 98, 19, 20, 21,
- 22, 23, 24, -1, 26, 27, 28, -1, 30, -1,
- -1, -1, 34, 35, 36, 37, -1, -1, -1, -1,
- -1, 43, -1, -1, 46, 47, 48, -1, -1, 51,
- -1, -1, -1, -1, 56, 57, -1, 59, -1, -1,
- -1, -1, -1, -1, 66, -1, -1, -1, -1, -1,
- -1, 73, 74, 75, 76, 77, -1, -1, 80, 81,
- -1, -1, -1, -1, -1, -1, -1, 89, 90, -1,
- -1, 13, 94, 95, 16, 17, 98, 19, 20, 21,
- 22, 23, 24, -1, 26, -1, 28, -1, 30, -1,
- -1, -1, 34, 35, 36, 37, -1, -1, -1, -1,
- -1, 43, -1, -1, 46, 47, 48, -1, -1, 51,
- -1, -1, -1, -1, 56, 57, -1, 59, -1, -1,
- -1, -1, -1, -1, 66, -1, -1, -1, -1, -1,
- -1, 73, 74, 75, 76, 77, -1, -1, 80, 81,
- -1, -1, -1, -1, -1, -1, -1, 89, 90, -1,
- -1, 13, 94, 95, 16, 17, 98, 19, 20, 21,
- 22, 23, 24, -1, 26, -1, 28, -1, 30, -1,
- -1, -1, 34, 35, 36, 37, -1, -1, -1, -1,
- -1, -1, -1, -1, 46, -1, 48, -1, -1, -1,
- -1, -1, -1, -1, 56, 57, -1, 59, -1, -1,
- -1, -1, -1, -1, 66, -1, -1, -1, -1, -1,
- -1, 73, 74, 75, 76, 77, -1, -1, -1, 81,
- -1, -1, -1, -1, -1, -1, -1, 89, 90, -1,
- -1, 13, -1, 95, 16, 17, 98, 19, 20, 21,
- 22, 23, 24, -1, 26, -1, 28, -1, 30, -1,
- -1, -1, 34, 35, 36, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 46, -1, 48, -1, -1, -1,
- -1, -1, -1, -1, 56, 57, -1, 59, -1, -1,
- -1, -1, -1, -1, 66, -1, -1, -1, -1, -1,
- -1, 73, 74, 75, 76, 77, -1, -1, -1, 81,
- -1, -1, -1, -1, -1, -1, -1, 89, 90, -1,
- -1, 13, -1, 95, 16, 17, 98, 19, -1, 21,
- 22, 23, 24, -1, 26, -1, -1, -1, 30, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 40, -1,
- 42, 43, 44, 45, 46, -1, 48, -1, -1, 13,
- -1, -1, 16, 17, -1, 19, -1, 21, 22, 23,
- 24, -1, 26, -1, 66, -1, 30, -1, -1, -1,
- -1, 73, 74, 75, 76, 77, -1, -1, 42, -1,
- 44, -1, 46, -1, 48, -1, -1, 89, 90, -1,
- -1, -1, -1, 95, 58, -1, 98, -1, -1, -1,
- -1, -1, 66, -1, -1, -1, -1, -1, -1, 73,
- 74, 75, 76, 77, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 89, 90, -1, -1, 13,
- -1, 95, 16, 17, 98, 19, -1, 21, 22, 23,
- 24, -1, 26, -1, -1, -1, 30, -1, -1, -1,
+ 154, 155, 101, 157, 100, 98, 98, 161, 23, 98,
+ 164, 45, 16, 17, 18, 23, 170, 98, 243, 23,
+ 174, 175, 50, 177, 178, 23, 30, 181, 182, 183,
+ 23, 185, 23, 50, 188, 189, 190, 191, 192, 193,
+ 194, 195, 196, 197, 98, 277, 53, 204, 205, 23,
+ 85, 51, 23, 207, 61, 62, 63, 64, 65, 66,
+ 86, 68, 294, 295, 71, 72, 73, 51, 300, 85,
+ 23, 303, 84, 98, 85, 23, 85, 50, 84, 84,
+ 87, 88, 89, 90, 91, 92, 93, 128, 320, 199,
+ 322, 52, 52, 52, 173, 208, 250, 251, 330, -1,
+ 332, -1, -1, -1, -1, -1, 338, -1, -1, -1,
+ -1, -1, -1, -1, 339, -1, -1, 349, -1, 344,
+ 352, -1, -1, -1, -1, -1, 358, -1, 360, -1,
+ -1, -1, 289, 0, 1, 367, 290, 291, 292, 293,
+ -1, -1, -1, -1, -1, -1, 13, -1, 302, 16,
+ 17, -1, 19, 20, 21, 22, 23, 24, -1, 26,
+ -1, 28, 29, 30, 31, 319, -1, -1, 35, 36,
+ 37, 38, -1, 327, -1, 42, -1, 44, -1, -1,
+ 47, 48, 49, 269, -1, 52, -1, -1, 342, 56,
+ 57, 58, 278, 60, 280, -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,
+ 306, -1, 308, 90, 91, -1, -1, -1, 95, 96,
+ 13, -1, 99, 16, 17, -1, 19, -1, 21, 22,
+ 23, 24, -1, 26, -1, 331, -1, 30, 31, 335,
+ -1, 337, 43, -1, 45, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 47, 351, 49, -1, -1, -1,
+ 61, 62, 63, 64, 65, 66, -1, 68, 364, -1,
+ 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, 19, 20, 21, 22, 23, 24, -1,
+ 26, -1, 28, 29, 30, 31, -1, -1, -1, 35,
+ 36, 37, 38, -1, -1, -1, 42, -1, 44, -1,
+ -1, 47, 48, 49, -1, -1, 52, -1, -1, -1,
+ 56, 57, 58, -1, 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, 19, 20, 21, 22, 23, 24,
+ -1, 26, 27, 28, -1, 30, 31, -1, -1, -1,
+ 35, 36, 37, 38, -1, -1, -1, -1, -1, 44,
+ -1, -1, 47, 48, 49, -1, -1, 52, -1, -1,
+ -1, -1, 57, 58, -1, 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, 19, 20, 21, 22, 23,
+ 24, -1, 26, -1, 28, -1, 30, 31, -1, -1,
+ -1, 35, 36, 37, 38, -1, -1, -1, -1, -1,
+ 44, -1, -1, 47, 48, 49, -1, -1, 52, -1,
+ -1, -1, -1, 57, 58, -1, 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, 19, 20, 21, 22,
+ 23, 24, -1, 26, -1, 28, -1, 30, 31, -1,
+ -1, -1, 35, 36, 37, 38, -1, -1, -1, -1,
+ -1, -1, -1, -1, 47, -1, 49, -1, -1, -1,
+ -1, -1, -1, -1, 57, 58, -1, 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, 19, 20, 21,
+ 22, 23, 24, -1, 26, -1, 28, -1, 30, 31,
+ -1, -1, -1, 35, 36, 37, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 47, -1, 49, -1, -1,
+ -1, -1, -1, -1, -1, 57, 58, -1, 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, 19, -1,
+ 21, 22, 23, 24, -1, 26, -1, -1, -1, 30,
+ 31, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 41, -1, 43, 44, 45, 46, 47, -1, 49, -1,
+ 13, -1, -1, 16, 17, -1, 19, -1, 21, 22,
+ 23, 24, -1, 26, -1, -1, 67, 30, 31, -1,
+ -1, -1, -1, 74, 75, 76, 77, 78, -1, -1,
+ 43, -1, 45, -1, 47, -1, 49, -1, -1, 90,
+ 91, -1, -1, -1, -1, 96, 59, -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, -1, 21,
+ 22, 23, 24, -1, 26, -1, -1, -1, 30, 31,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 46, 13, 48, -1, 16, 17, -1, 19,
- -1, 21, 22, 23, 24, -1, 26, -1, -1, -1,
- 30, -1, 66, -1, -1, -1, -1, -1, -1, 73,
- 74, 75, 76, 77, -1, -1, 46, -1, 48, -1,
- -1, -1, -1, -1, -1, 89, 90, -1, -1, -1,
- -1, 95, -1, -1, 98, -1, 66, -1, -1, -1,
- -1, -1, -1, 73, 74, 75, 76, 77, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 89,
- 90, -1, -1, 13, -1, 95, 16, 17, 98, 19,
- -1, 21, 22, 23, 24, -1, 26, -1, -1, -1,
- 30, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 46, 13, 48, -1,
- 16, 17, -1, 19, -1, 21, 22, 23, 24, -1,
- 26, -1, -1, -1, 30, -1, 66, -1, -1, -1,
- -1, -1, -1, 73, 74, 75, 76, 77, -1, -1,
- 46, -1, 48, -1, -1, -1, -1, -1, -1, 89,
- 90, -1, -1, -1, -1, 95, -1, -1, 98, 44,
- 66, -1, -1, -1, -1, 50, -1, 73, 74, 75,
- 76, 77, -1, -1, -1, 60, 61, 62, 63, 64,
- 65, -1, 67, 89, 90, 70, 71, 72, -1, 95,
- -1, -1, 98, 44, -1, -1, -1, -1, -1, 50,
- -1, 86, 87, 88, 89, 90, 91, 92, -1, 60,
- 61, 62, 63, 64, 65, -1, 67, -1, -1, 70,
- 71, 72, -1, -1, -1, -1, 44, -1, -1, -1,
- -1, -1, 50, -1, -1, 86, 87, 88, 89, 90,
- 91, 92, 60, 61, 62, 63, 64, 65, -1, 67,
- -1, -1, 70, 71, 72, -1, -1, -1, -1, 44,
- -1, -1, -1, -1, -1, 50, -1, -1, 86, 87,
- 88, 89, 90, 91, 92, 60, 61, 62, 63, 64,
- 65, -1, 67, -1, -1, 70, 71, 72, -1, -1,
- -1, -1, 44, -1, -1, -1, -1, -1, -1, -1,
- -1, 86, 87, 88, 89, 90, 91, 92, 60, 61,
- 62, 63, 64, 65, -1, 67, -1, -1, 70, 71,
- 72, -1, -1, -1, -1, 44, -1, -1, -1, -1,
- -1, -1, -1, -1, 86, 87, 88, 89, 90, 91,
- 92, 60, 61, 62, 63, 64, 65, -1, 67, -1,
- -1, 70, 71, 72, -1, -1, -1, -1, 44, -1,
- -1, -1, -1, -1, -1, -1, -1, 86, 87, 88,
- 89, 90, 91, 92, 60, 61, 62, 63, 64, 65,
- -1, 67, -1, -1, 70, 71, 72, -1, -1, -1,
- -1, 44, -1, -1, -1, -1, -1, -1, -1, -1,
- 86, 87, 88, 89, 90, 91, 92, 60, 61, 62,
- 63, 64, 65, -1, 67, -1, -1, 70, 71, 72,
+ -1, -1, -1, -1, -1, 47, 13, 49, -1, 16,
+ 17, -1, 19, -1, 21, 22, 23, 24, -1, 26,
+ -1, -1, -1, 30, 31, 67, -1, -1, -1, -1,
+ -1, -1, 74, 75, 76, 77, 78, -1, -1, -1,
+ 47, -1, 49, -1, -1, -1, -1, -1, 90, 91,
+ -1, -1, -1, -1, 96, -1, -1, 99, -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, -1, 21, 22, 23, 24, -1,
+ 26, -1, -1, -1, 30, 31, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 50, -1, -1, 86, 87, 88, 89, 90, 91, 92,
- 60, 61, 62, 63, 64, 65, -1, 67, -1, -1,
- 70, 71, 72, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 86, 87, 88, 89,
- 90, 91, 92, 52, 94, -1, -1, -1, -1, -1,
- -1, 60, 61, 62, 63, 64, 65, -1, 67, -1,
- -1, 70, 71, 72, 60, 61, 62, 63, 64, 65,
- -1, 67, -1, -1, 70, 71, 72, 86, 87, 88,
- 89, 90, 91, 92, -1, -1, -1, -1, -1, -1,
- 86, 87, 88, 89, 90, 91, 92, -1, -1, -1,
- 96, 60, 61, 62, 63, 64, 65, -1, 67, -1,
- -1, 70, 71, 72, -1, -1, -1, -1, -1, 78,
- 79, -1, -1, -1, -1, -1, -1, 86, 87, 88,
- 89, 90, 91, 92, 60, 61, 62, 63, 64, 65,
- -1, 67, -1, -1, 70, 71, 72, 60, 61, 62,
- 63, -1, -1, -1, 67, -1, -1, 70, 71, 72,
- 86, 87, 88, 89, 90, 91, 92, -1, -1, -1,
- -1, -1, -1, 86, 87, 88, 89, 90, 91, 92
+ -1, 47, 13, 49, -1, 16, 17, -1, 19, -1,
+ 21, 22, 23, 24, -1, 26, -1, -1, -1, 30,
+ 31, 67, -1, -1, -1, -1, -1, -1, 74, 75,
+ 76, 77, 78, -1, -1, -1, 47, -1, 49, -1,
+ -1, -1, -1, -1, 90, 91, -1, -1, -1, -1,
+ 96, -1, -1, 99, -1, -1, 67, -1, -1, -1,
+ -1, -1, -1, 74, 75, 76, 77, 78, 40, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 90,
+ 91, -1, -1, -1, -1, 96, -1, -1, 99, 61,
+ 62, 63, 64, 65, 66, -1, 68, 69, 70, 71,
+ 72, 73, -1, -1, -1, -1, 45, -1, -1, -1,
+ -1, -1, 51, -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, 45,
+ -1, -1, -1, -1, -1, 51, -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, 45, -1, -1, -1, -1, -1, 51, -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, 45, -1, -1, -1, -1,
+ -1, 51, -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, 45, -1,
+ -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, 45, -1, -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, 45, -1, -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, 45, -1, -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, 51, -1, -1, 87,
+ 88, 89, 90, 91, 92, 93, 61, 62, 63, 64,
+ 65, 66, -1, 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, -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, 61, 62, 63, 64, -1, -1, -1, 68,
+ -1, -1, 71, 72, 73, 87, 88, 89, 90, 91,
+ 92, 93, -1, -1, -1, -1, -1, -1, 87, 88,
+ 89, 90, 91, 92, 93
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1178,65 +1178,65 @@ static const yytype_int16 yycheck[] =
static const yytype_uint8 yystos[] =
{
0, 1, 13, 16, 17, 19, 20, 21, 22, 23,
- 24, 26, 28, 29, 30, 34, 35, 36, 37, 41,
- 43, 46, 47, 48, 51, 55, 56, 57, 59, 66,
- 73, 74, 75, 76, 77, 80, 81, 82, 89, 90,
- 95, 98, 102, 103, 104, 105, 107, 109, 113, 114,
- 115, 120, 121, 122, 123, 124, 125, 131, 133, 135,
- 139, 144, 147, 94, 23, 46, 122, 95, 122, 145,
- 95, 145, 23, 121, 95, 122, 146, 134, 138, 47,
- 126, 40, 42, 43, 44, 45, 122, 132, 136, 47,
- 122, 52, 53, 16, 17, 18, 23, 30, 23, 23,
- 122, 58, 122, 132, 23, 130, 122, 122, 122, 122,
- 122, 122, 122, 127, 140, 122, 122, 122, 24, 26,
- 100, 122, 148, 149, 150, 151, 0, 94, 122, 38,
- 62, 122, 106, 112, 115, 122, 125, 144, 60, 61,
- 62, 63, 64, 65, 67, 70, 71, 72, 86, 87,
- 88, 89, 90, 91, 92, 117, 95, 122, 122, 145,
- 97, 145, 145, 97, 145, 117, 23, 128, 122, 42,
- 132, 23, 39, 68, 69, 23, 50, 62, 121, 121,
- 50, 62, 50, 49, 52, 132, 97, 44, 50, 44,
- 50, 44, 50, 44, 50, 78, 79, 50, 94, 23,
- 129, 23, 96, 100, 100, 99, 97, 97, 103, 118,
- 122, 122, 118, 118, 122, 122, 122, 122, 122, 122,
- 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
- 122, 122, 23, 141, 96, 122, 96, 96, 122, 141,
- 97, 122, 137, 23, 124, 122, 122, 122, 122, 50,
- 62, 44, 122, 122, 122, 122, 23, 122, 122, 122,
- 122, 122, 122, 122, 122, 122, 122, 108, 108, 97,
- 121, 121, 122, 24, 26, 151, 119, 118, 118, 49,
- 118, 94, 97, 94, 23, 117, 122, 122, 23, 44,
- 44, 44, 44, 105, 119, 23, 94, 107, 118, 119,
- 31, 50, 119, 49, 97, 143, 23, 143, 141, 121,
- 122, 122, 122, 122, 118, 118, 84, 118, 50, 122,
- 118, 105, 23, 119, 119, 94, 50, 85, 84, 122,
- 118, 110, 118, 27, 143, 122, 118, 119, 32, 33,
- 111, 116, 118, 32, 83, 23, 142, 119, 119, 118,
- 117, 122, 83, 117, 97, 118, 84, 119, 118, 105,
- 23, 84, 118, 49, 118, 83, 119, 83, 118
+ 24, 26, 28, 29, 30, 31, 35, 36, 37, 38,
+ 42, 44, 47, 48, 49, 52, 56, 57, 58, 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, 23, 47, 123, 96, 123,
+ 146, 96, 146, 23, 122, 96, 123, 147, 135, 139,
+ 48, 127, 41, 43, 44, 45, 46, 123, 133, 137,
+ 48, 123, 53, 54, 16, 17, 18, 23, 30, 23,
+ 23, 123, 59, 123, 133, 23, 131, 123, 123, 123,
+ 123, 123, 123, 123, 128, 141, 123, 123, 123, 24,
+ 26, 101, 123, 149, 150, 151, 152, 0, 95, 123,
+ 39, 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, 23, 129, 123,
+ 43, 133, 23, 40, 69, 70, 23, 51, 63, 122,
+ 122, 51, 63, 51, 50, 53, 133, 98, 45, 51,
+ 45, 51, 45, 51, 45, 51, 79, 80, 51, 95,
+ 23, 130, 23, 97, 101, 101, 100, 98, 98, 104,
+ 119, 123, 123, 119, 119, 123, 123, 123, 123, 123,
+ 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
+ 123, 123, 123, 23, 142, 97, 123, 97, 97, 123,
+ 142, 98, 123, 138, 23, 125, 123, 123, 123, 123,
+ 51, 63, 45, 123, 123, 123, 123, 23, 123, 123,
+ 123, 123, 123, 123, 123, 123, 123, 123, 109, 109,
+ 98, 122, 122, 123, 24, 26, 152, 120, 119, 119,
+ 50, 119, 95, 98, 95, 23, 118, 123, 123, 23,
+ 45, 45, 45, 45, 106, 120, 23, 95, 108, 119,
+ 120, 32, 51, 120, 50, 98, 144, 23, 144, 142,
+ 122, 123, 123, 123, 123, 119, 119, 85, 119, 51,
+ 123, 119, 106, 23, 120, 120, 95, 51, 86, 85,
+ 123, 119, 111, 119, 27, 144, 123, 119, 120, 33,
+ 34, 112, 117, 119, 33, 84, 23, 143, 120, 120,
+ 119, 118, 123, 84, 118, 98, 119, 85, 120, 119,
+ 106, 23, 85, 119, 50, 119, 84, 120, 84, 119
};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint8 yyr1[] =
{
- 0, 101, 102, 102, 102, 103, 103, 103, 104, 104,
- 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
- 105, 105, 105, 106, 106, 106, 106, 107, 107, 107,
- 107, 107, 107, 107, 107, 107, 107, 108, 109, 109,
- 110, 110, 111, 112, 112, 113, 114, 115, 116, 117,
- 118, 119, 119, 119, 120, 121, 121, 121, 121, 121,
- 121, 122, 122, 122, 122, 122, 122, 122, 122, 122,
- 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
- 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
- 122, 122, 122, 123, 123, 123, 123, 123, 123, 123,
- 123, 124, 124, 125, 125, 125, 125, 125, 126, 125,
- 127, 125, 125, 125, 125, 125, 125, 128, 128, 129,
- 129, 130, 130, 131, 131, 131, 131, 131, 131, 132,
- 132, 133, 133, 133, 133, 134, 133, 136, 137, 135,
- 135, 138, 135, 135, 135, 140, 139, 141, 141, 141,
- 141, 142, 142, 142, 143, 144, 145, 145, 145, 146,
- 146, 147, 148, 148, 148, 148, 149, 149, 150, 150,
- 151, 151
+ 0, 102, 103, 103, 103, 104, 104, 104, 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, 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. */
@@ -1249,17 +1249,17 @@ static const yytype_int8 yyr2[] =
0, 2, 6, 11, 7, 2, 3, 1, 1, 0,
0, 0, 2, 2, 3, 1, 1, 1, 1, 1,
1, 1, 1, 4, 2, 4, 1, 2, 1, 1,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 2, 3, 3, 3, 3, 2, 2,
- 3, 4, 4, 4, 6, 4, 6, 4, 6, 4,
- 6, 2, 1, 2, 1, 1, 2, 1, 0, 3,
- 0, 3, 2, 4, 2, 4, 2, 1, 3, 1,
- 3, 1, 3, 2, 2, 2, 2, 3, 2, 3,
- 2, 2, 2, 3, 2, 0, 3, 0, 0, 9,
- 2, 0, 7, 8, 6, 0, 3, 0, 1, 3,
- 4, 0, 1, 3, 0, 2, 0, 1, 3, 1,
- 3, 3, 0, 1, 1, 1, 1, 3, 1, 3,
- 3, 3
+ 1, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 2, 3, 3, 3, 3, 2,
+ 2, 3, 4, 4, 4, 6, 4, 6, 4, 6,
+ 4, 6, 2, 1, 2, 1, 1, 2, 1, 0,
+ 3, 0, 3, 2, 4, 2, 4, 2, 1, 3,
+ 1, 3, 1, 3, 2, 2, 2, 2, 3, 2,
+ 3, 2, 2, 2, 3, 2, 0, 3, 0, 0,
+ 9, 2, 0, 7, 8, 6, 0, 3, 0, 1,
+ 3, 4, 0, 1, 3, 0, 2, 0, 1, 3,
+ 1, 3, 3, 0, 1, 1, 1, 1, 3, 1,
+ 3, 3, 3
};
@@ -1695,73 +1695,73 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
switch (yytype)
{
case 20: /* BLTIN */
-#line 130 "engines/director/lingo/lingo-gr.y"
+#line 136 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
#line 1701 "engines/director/lingo/lingo-gr.cpp"
break;
case 21: /* FBLTIN */
-#line 130 "engines/director/lingo/lingo-gr.y"
+#line 136 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
#line 1707 "engines/director/lingo/lingo-gr.cpp"
break;
case 22: /* RBLTIN */
-#line 130 "engines/director/lingo/lingo-gr.y"
+#line 136 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
#line 1713 "engines/director/lingo/lingo-gr.cpp"
break;
case 23: /* ID */
-#line 130 "engines/director/lingo/lingo-gr.y"
+#line 136 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
#line 1719 "engines/director/lingo/lingo-gr.cpp"
break;
case 24: /* STRING */
-#line 130 "engines/director/lingo/lingo-gr.y"
+#line 136 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
#line 1725 "engines/director/lingo/lingo-gr.cpp"
break;
case 25: /* HANDLER */
-#line 130 "engines/director/lingo/lingo-gr.y"
+#line 136 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
#line 1731 "engines/director/lingo/lingo-gr.cpp"
break;
case 26: /* SYMBOL */
-#line 130 "engines/director/lingo/lingo-gr.y"
+#line 136 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
#line 1737 "engines/director/lingo/lingo-gr.cpp"
break;
case 27: /* ENDCLAUSE */
-#line 130 "engines/director/lingo/lingo-gr.y"
+#line 136 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
#line 1743 "engines/director/lingo/lingo-gr.cpp"
break;
case 28: /* tPLAYACCEL */
-#line 130 "engines/director/lingo/lingo-gr.y"
+#line 136 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
#line 1749 "engines/director/lingo/lingo-gr.cpp"
break;
case 29: /* tMETHOD */
-#line 130 "engines/director/lingo/lingo-gr.y"
+#line 136 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
#line 1755 "engines/director/lingo/lingo-gr.cpp"
break;
case 30: /* THEOBJECTFIELD */
-#line 131 "engines/director/lingo/lingo-gr.y"
+#line 137 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).objectfield).os; }
#line 1761 "engines/director/lingo/lingo-gr.cpp"
break;
- case 139: /* on */
-#line 130 "engines/director/lingo/lingo-gr.y"
+ case 140: /* on */
+#line 136 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
#line 1767 "engines/director/lingo/lingo-gr.cpp"
break;
@@ -2031,13 +2031,13 @@ yyreduce:
switch (yyn)
{
case 4:
-#line 137 "engines/director/lingo/lingo-gr.y"
+#line 143 "engines/director/lingo/lingo-gr.y"
{ yyerrok; }
#line 2037 "engines/director/lingo/lingo-gr.cpp"
break;
case 8:
-#line 143 "engines/director/lingo/lingo-gr.y"
+#line 149 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_varpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
@@ -2048,7 +2048,7 @@ yyreduce:
break;
case 9:
-#line 149 "engines/director/lingo/lingo-gr.y"
+#line 155 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[-2].code); }
@@ -2056,19 +2056,19 @@ yyreduce:
break;
case 10:
-#line 152 "engines/director/lingo/lingo-gr.y"
+#line 158 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_after); }
#line 2062 "engines/director/lingo/lingo-gr.cpp"
break;
case 11:
-#line 153 "engines/director/lingo/lingo-gr.y"
+#line 159 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_before); }
#line 2068 "engines/director/lingo/lingo-gr.cpp"
break;
case 12:
-#line 154 "engines/director/lingo/lingo-gr.y"
+#line 160 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_varpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
@@ -2079,7 +2079,7 @@ yyreduce:
break;
case 13:
-#line 160 "engines/director/lingo/lingo-gr.y"
+#line 166 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(0); // Put dummy id
@@ -2091,7 +2091,7 @@ yyreduce:
break;
case 14:
-#line 167 "engines/director/lingo/lingo-gr.y"
+#line 173 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_varpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
@@ -2102,7 +2102,7 @@ yyreduce:
break;
case 15:
-#line 173 "engines/director/lingo/lingo-gr.y"
+#line 179 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(0); // Put dummy id
@@ -2114,7 +2114,7 @@ yyreduce:
break;
case 16:
-#line 180 "engines/director/lingo/lingo-gr.y"
+#line 186 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_swap);
g_lingo->code1(LC::c_theentityassign);
@@ -2125,7 +2125,7 @@ yyreduce:
break;
case 17:
-#line 186 "engines/director/lingo/lingo-gr.y"
+#line 192 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_swap);
g_lingo->code1(LC::c_theentityassign);
@@ -2136,7 +2136,7 @@ yyreduce:
break;
case 18:
-#line 193 "engines/director/lingo/lingo-gr.y"
+#line 199 "engines/director/lingo/lingo-gr.y"
{
if (!(yyvsp[-3].s)->equalsIgnoreCase("menu")) {
warning("LEXER: keyword 'menu' expected");
@@ -2152,7 +2152,7 @@ yyreduce:
break;
case 19:
-#line 204 "engines/director/lingo/lingo-gr.y"
+#line 210 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_objectfieldassign);
g_lingo->codeString((yyvsp[-2].objectfield).os->c_str());
@@ -2163,7 +2163,7 @@ yyreduce:
break;
case 29:
-#line 226 "engines/director/lingo/lingo-gr.y"
+#line 232 "engines/director/lingo/lingo-gr.y"
{
inst body = 0, end = 0;
WRITE_UINT32(&body, (yyvsp[-3].code) - (yyvsp[-5].code));
@@ -2174,7 +2174,7 @@ yyreduce:
break;
case 30:
-#line 237 "engines/director/lingo/lingo-gr.y"
+#line 243 "engines/director/lingo/lingo-gr.y"
{
inst init = 0, finish = 0, body = 0, end = 0, inc = 0;
WRITE_UINT32(&init, (yyvsp[-7].code) - (yyvsp[-9].code));
@@ -2191,7 +2191,7 @@ yyreduce:
break;
case 31:
-#line 254 "engines/director/lingo/lingo-gr.y"
+#line 260 "engines/director/lingo/lingo-gr.y"
{
inst init = 0, finish = 0, body = 0, end = 0, inc = 0;
WRITE_UINT32(&init, (yyvsp[-8].code) - (yyvsp[-10].code));
@@ -2208,7 +2208,7 @@ yyreduce:
break;
case 32:
-#line 266 "engines/director/lingo/lingo-gr.y"
+#line 272 "engines/director/lingo/lingo-gr.y"
{
inst list = 0, body = 0, end = 0;
WRITE_UINT32(&list, (yyvsp[-4].code) - (yyvsp[-6].code));
@@ -2223,14 +2223,14 @@ yyreduce:
break;
case 33:
-#line 277 "engines/director/lingo/lingo-gr.y"
+#line 283 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_nextRepeat); }
#line 2230 "engines/director/lingo/lingo-gr.cpp"
break;
case 34:
-#line 279 "engines/director/lingo/lingo-gr.y"
+#line 285 "engines/director/lingo/lingo-gr.y"
{
inst end = 0;
WRITE_UINT32(&end, (yyvsp[0].code) - (yyvsp[-2].code));
@@ -2240,7 +2240,7 @@ yyreduce:
break;
case 35:
-#line 284 "engines/director/lingo/lingo-gr.y"
+#line 290 "engines/director/lingo/lingo-gr.y"
{
inst end;
WRITE_UINT32(&end, (yyvsp[-1].code) - (yyvsp[-3].code));
@@ -2249,7 +2249,7 @@ yyreduce:
break;
case 36:
-#line 288 "engines/director/lingo/lingo-gr.y"
+#line 294 "engines/director/lingo/lingo-gr.y"
{
inst end;
WRITE_UINT32(&end, (yyvsp[0].code) - (yyvsp[-2].code));
@@ -2258,7 +2258,7 @@ yyreduce:
break;
case 37:
-#line 293 "engines/director/lingo/lingo-gr.y"
+#line 299 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_tellcode);
g_lingo->code1(STOP); }
@@ -2266,7 +2266,7 @@ yyreduce:
break;
case 38:
-#line 297 "engines/director/lingo/lingo-gr.y"
+#line 303 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[-6].code) - (yyvsp[-8].code));
@@ -2281,7 +2281,7 @@ yyreduce:
break;
case 39:
-#line 307 "engines/director/lingo/lingo-gr.y"
+#line 313 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[-9].code) - (yyvsp[-11].code));
@@ -2296,7 +2296,7 @@ yyreduce:
break;
case 42:
-#line 321 "engines/director/lingo/lingo-gr.y"
+#line 327 "engines/director/lingo/lingo-gr.y"
{
inst then = 0;
WRITE_UINT32(&then, (yyvsp[-3].code) - (yyvsp[-5].code));
@@ -2307,7 +2307,7 @@ yyreduce:
break;
case 43:
-#line 328 "engines/director/lingo/lingo-gr.y"
+#line 334 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[-8].code) - (yyvsp[-10].code));
@@ -2322,7 +2322,7 @@ yyreduce:
break;
case 44:
-#line 338 "engines/director/lingo/lingo-gr.y"
+#line 344 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[-4].code) - (yyvsp[-6].code));
@@ -2337,13 +2337,13 @@ yyreduce:
break;
case 45:
-#line 349 "engines/director/lingo/lingo-gr.y"
+#line 355 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code3(LC::c_repeatwhilecode, STOP, STOP); }
#line 2343 "engines/director/lingo/lingo-gr.cpp"
break;
case 46:
-#line 351 "engines/director/lingo/lingo-gr.y"
+#line 357 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code3(LC::c_repeatwithcode, STOP, STOP);
g_lingo->code3(STOP, STOP, STOP);
@@ -2353,7 +2353,7 @@ yyreduce:
break;
case 47:
-#line 357 "engines/director/lingo/lingo-gr.y"
+#line 363 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_ifcode);
g_lingo->code3(STOP, STOP, STOP);
@@ -2363,7 +2363,7 @@ yyreduce:
break;
case 48:
-#line 363 "engines/director/lingo/lingo-gr.y"
+#line 369 "engines/director/lingo/lingo-gr.y"
{
inst skipEnd;
WRITE_UINT32(&skipEnd, 1); // We have to skip end to avoid multiple executions
@@ -2374,25 +2374,25 @@ yyreduce:
break;
case 49:
-#line 370 "engines/director/lingo/lingo-gr.y"
+#line 376 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->_currentScript->size(); }
#line 2380 "engines/director/lingo/lingo-gr.cpp"
break;
case 50:
-#line 372 "engines/director/lingo/lingo-gr.y"
+#line 378 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(STOP); (yyval.code) = g_lingo->_currentScript->size(); }
#line 2386 "engines/director/lingo/lingo-gr.cpp"
break;
case 51:
-#line 374 "engines/director/lingo/lingo-gr.y"
+#line 380 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->_currentScript->size(); }
#line 2392 "engines/director/lingo/lingo-gr.cpp"
break;
case 54:
-#line 378 "engines/director/lingo/lingo-gr.y"
+#line 384 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_whencode);
g_lingo->code1(STOP);
@@ -2402,7 +2402,7 @@ yyreduce:
break;
case 55:
-#line 384 "engines/director/lingo/lingo-gr.y"
+#line 390 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_intpush);
g_lingo->codeInt((yyvsp[0].i)); }
@@ -2410,7 +2410,7 @@ yyreduce:
break;
case 56:
-#line 387 "engines/director/lingo/lingo-gr.y"
+#line 393 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_floatpush);
g_lingo->codeFloat((yyvsp[0].f)); }
@@ -2418,7 +2418,7 @@ yyreduce:
break;
case 57:
-#line 390 "engines/director/lingo/lingo-gr.y"
+#line 396 "engines/director/lingo/lingo-gr.y"
{ // D3
(yyval.code) = g_lingo->code1(LC::c_symbolpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
@@ -2427,7 +2427,7 @@ yyreduce:
break;
case 58:
-#line 394 "engines/director/lingo/lingo-gr.y"
+#line 400 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_stringpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
@@ -2436,7 +2436,7 @@ yyreduce:
break;
case 59:
-#line 398 "engines/director/lingo/lingo-gr.y"
+#line 404 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_eval);
g_lingo->codeString((yyvsp[0].s)->c_str());
@@ -2445,13 +2445,13 @@ yyreduce:
break;
case 61:
-#line 404 "engines/director/lingo/lingo-gr.y"
+#line 410 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); }
#line 2451 "engines/director/lingo/lingo-gr.cpp"
break;
case 63:
-#line 406 "engines/director/lingo/lingo-gr.y"
+#line 412 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
@@ -2459,7 +2459,7 @@ yyreduce:
break;
case 64:
-#line 409 "engines/director/lingo/lingo-gr.y"
+#line 415 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-1].s), (yyvsp[0].narg));
delete (yyvsp[-1].s); }
@@ -2467,7 +2467,7 @@ yyreduce:
break;
case 65:
-#line 412 "engines/director/lingo/lingo-gr.y"
+#line 418 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
@@ -2475,7 +2475,7 @@ yyreduce:
break;
case 66:
-#line 415 "engines/director/lingo/lingo-gr.y"
+#line 421 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(0); // Put dummy id
@@ -2488,7 +2488,7 @@ yyreduce:
break;
case 67:
-#line 423 "engines/director/lingo/lingo-gr.y"
+#line 429 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_theentitypush);
inst e = 0, f = 0;
@@ -2499,7 +2499,7 @@ yyreduce:
break;
case 68:
-#line 429 "engines/director/lingo/lingo-gr.y"
+#line 435 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_objectfieldpush);
g_lingo->codeString((yyvsp[0].objectfield).os->c_str());
@@ -2508,465 +2508,476 @@ yyreduce:
#line 2509 "engines/director/lingo/lingo-gr.cpp"
break;
- case 70:
-#line 435 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_add); }
-#line 2515 "engines/director/lingo/lingo-gr.cpp"
+ case 69:
+#line 440 "engines/director/lingo/lingo-gr.y"
+ {
+ g_lingo->code1(LC::c_objectrefpush);
+ g_lingo->codeString((yyvsp[0].objectref).obj->c_str());
+ g_lingo->codeString((yyvsp[0].objectref).field->c_str());
+ delete (yyvsp[0].objectref).obj;
+ delete (yyvsp[0].objectref).field; }
+#line 2520 "engines/director/lingo/lingo-gr.cpp"
break;
case 71:
-#line 436 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_sub); }
-#line 2521 "engines/director/lingo/lingo-gr.cpp"
+#line 447 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_add); }
+#line 2526 "engines/director/lingo/lingo-gr.cpp"
break;
case 72:
-#line 437 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_mul); }
-#line 2527 "engines/director/lingo/lingo-gr.cpp"
+#line 448 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_sub); }
+#line 2532 "engines/director/lingo/lingo-gr.cpp"
break;
case 73:
-#line 438 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_div); }
-#line 2533 "engines/director/lingo/lingo-gr.cpp"
+#line 449 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_mul); }
+#line 2538 "engines/director/lingo/lingo-gr.cpp"
break;
case 74:
-#line 439 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_mod); }
-#line 2539 "engines/director/lingo/lingo-gr.cpp"
+#line 450 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_div); }
+#line 2544 "engines/director/lingo/lingo-gr.cpp"
break;
case 75:
-#line 440 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_gt); }
-#line 2545 "engines/director/lingo/lingo-gr.cpp"
+#line 451 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_mod); }
+#line 2550 "engines/director/lingo/lingo-gr.cpp"
break;
case 76:
-#line 441 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_lt); }
-#line 2551 "engines/director/lingo/lingo-gr.cpp"
+#line 452 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_gt); }
+#line 2556 "engines/director/lingo/lingo-gr.cpp"
break;
case 77:
-#line 442 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_eq); }
-#line 2557 "engines/director/lingo/lingo-gr.cpp"
+#line 453 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_lt); }
+#line 2562 "engines/director/lingo/lingo-gr.cpp"
break;
case 78:
-#line 443 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_neq); }
-#line 2563 "engines/director/lingo/lingo-gr.cpp"
+#line 454 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_eq); }
+#line 2568 "engines/director/lingo/lingo-gr.cpp"
break;
case 79:
-#line 444 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_ge); }
-#line 2569 "engines/director/lingo/lingo-gr.cpp"
+#line 455 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_neq); }
+#line 2574 "engines/director/lingo/lingo-gr.cpp"
break;
case 80:
-#line 445 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_le); }
-#line 2575 "engines/director/lingo/lingo-gr.cpp"
+#line 456 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_ge); }
+#line 2580 "engines/director/lingo/lingo-gr.cpp"
break;
case 81:
-#line 446 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_and); }
-#line 2581 "engines/director/lingo/lingo-gr.cpp"
+#line 457 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_le); }
+#line 2586 "engines/director/lingo/lingo-gr.cpp"
break;
case 82:
-#line 447 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_or); }
-#line 2587 "engines/director/lingo/lingo-gr.cpp"
+#line 458 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_and); }
+#line 2592 "engines/director/lingo/lingo-gr.cpp"
break;
case 83:
-#line 448 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_not); }
-#line 2593 "engines/director/lingo/lingo-gr.cpp"
+#line 459 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_or); }
+#line 2598 "engines/director/lingo/lingo-gr.cpp"
break;
case 84:
-#line 449 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_ampersand); }
-#line 2599 "engines/director/lingo/lingo-gr.cpp"
+#line 460 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_not); }
+#line 2604 "engines/director/lingo/lingo-gr.cpp"
break;
case 85:
-#line 450 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_concat); }
-#line 2605 "engines/director/lingo/lingo-gr.cpp"
+#line 461 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_ampersand); }
+#line 2610 "engines/director/lingo/lingo-gr.cpp"
break;
case 86:
-#line 451 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_contains); }
-#line 2611 "engines/director/lingo/lingo-gr.cpp"
+#line 462 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_concat); }
+#line 2616 "engines/director/lingo/lingo-gr.cpp"
break;
case 87:
-#line 452 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_starts); }
-#line 2617 "engines/director/lingo/lingo-gr.cpp"
+#line 463 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_contains); }
+#line 2622 "engines/director/lingo/lingo-gr.cpp"
break;
case 88:
-#line 453 "engines/director/lingo/lingo-gr.y"
- { (yyval.code) = (yyvsp[0].code); }
-#line 2623 "engines/director/lingo/lingo-gr.cpp"
+#line 464 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_starts); }
+#line 2628 "engines/director/lingo/lingo-gr.cpp"
break;
case 89:
-#line 454 "engines/director/lingo/lingo-gr.y"
- { (yyval.code) = (yyvsp[0].code); g_lingo->code1(LC::c_negate); }
-#line 2629 "engines/director/lingo/lingo-gr.cpp"
+#line 465 "engines/director/lingo/lingo-gr.y"
+ { (yyval.code) = (yyvsp[0].code); }
+#line 2634 "engines/director/lingo/lingo-gr.cpp"
break;
case 90:
-#line 455 "engines/director/lingo/lingo-gr.y"
- { (yyval.code) = (yyvsp[-1].code); }
-#line 2635 "engines/director/lingo/lingo-gr.cpp"
+#line 466 "engines/director/lingo/lingo-gr.y"
+ { (yyval.code) = (yyvsp[0].code); g_lingo->code1(LC::c_negate); }
+#line 2640 "engines/director/lingo/lingo-gr.cpp"
break;
case 91:
-#line 456 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_intersects); }
-#line 2641 "engines/director/lingo/lingo-gr.cpp"
+#line 467 "engines/director/lingo/lingo-gr.y"
+ { (yyval.code) = (yyvsp[-1].code); }
+#line 2646 "engines/director/lingo/lingo-gr.cpp"
break;
case 92:
-#line 457 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_within); }
-#line 2647 "engines/director/lingo/lingo-gr.cpp"
+#line 468 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_intersects); }
+#line 2652 "engines/director/lingo/lingo-gr.cpp"
break;
case 93:
-#line 459 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_charOf); }
-#line 2653 "engines/director/lingo/lingo-gr.cpp"
+#line 469 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_within); }
+#line 2658 "engines/director/lingo/lingo-gr.cpp"
break;
case 94:
-#line 460 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_charToOf); }
-#line 2659 "engines/director/lingo/lingo-gr.cpp"
+#line 471 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_charOf); }
+#line 2664 "engines/director/lingo/lingo-gr.cpp"
break;
case 95:
-#line 461 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_itemOf); }
-#line 2665 "engines/director/lingo/lingo-gr.cpp"
+#line 472 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_charToOf); }
+#line 2670 "engines/director/lingo/lingo-gr.cpp"
break;
case 96:
-#line 462 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_itemToOf); }
-#line 2671 "engines/director/lingo/lingo-gr.cpp"
+#line 473 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_itemOf); }
+#line 2676 "engines/director/lingo/lingo-gr.cpp"
break;
case 97:
-#line 463 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_lineOf); }
-#line 2677 "engines/director/lingo/lingo-gr.cpp"
+#line 474 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_itemToOf); }
+#line 2682 "engines/director/lingo/lingo-gr.cpp"
break;
case 98:
-#line 464 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_lineToOf); }
-#line 2683 "engines/director/lingo/lingo-gr.cpp"
+#line 475 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_lineOf); }
+#line 2688 "engines/director/lingo/lingo-gr.cpp"
break;
case 99:
-#line 465 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_wordOf); }
-#line 2689 "engines/director/lingo/lingo-gr.cpp"
+#line 476 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_lineToOf); }
+#line 2694 "engines/director/lingo/lingo-gr.cpp"
break;
case 100:
-#line 466 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_wordToOf); }
-#line 2695 "engines/director/lingo/lingo-gr.cpp"
+#line 477 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_wordOf); }
+#line 2700 "engines/director/lingo/lingo-gr.cpp"
break;
case 101:
-#line 468 "engines/director/lingo/lingo-gr.y"
+#line 478 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_wordToOf); }
+#line 2706 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 102:
+#line 480 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-1].s), 1);
delete (yyvsp[-1].s); }
-#line 2703 "engines/director/lingo/lingo-gr.cpp"
+#line 2714 "engines/director/lingo/lingo-gr.cpp"
break;
- case 103:
-#line 473 "engines/director/lingo/lingo-gr.y"
+ case 104:
+#line 485 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_printtop); }
-#line 2709 "engines/director/lingo/lingo-gr.cpp"
+#line 2720 "engines/director/lingo/lingo-gr.cpp"
break;
- case 106:
-#line 476 "engines/director/lingo/lingo-gr.y"
+ case 107:
+#line 488 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_exitRepeat); }
-#line 2715 "engines/director/lingo/lingo-gr.cpp"
+#line 2726 "engines/director/lingo/lingo-gr.cpp"
break;
- case 107:
-#line 477 "engines/director/lingo/lingo-gr.y"
+ case 108:
+#line 489 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_procret); }
-#line 2721 "engines/director/lingo/lingo-gr.cpp"
+#line 2732 "engines/director/lingo/lingo-gr.cpp"
break;
- case 108:
-#line 478 "engines/director/lingo/lingo-gr.y"
+ case 109:
+#line 490 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; }
-#line 2727 "engines/director/lingo/lingo-gr.cpp"
+#line 2738 "engines/director/lingo/lingo-gr.cpp"
break;
- case 109:
-#line 478 "engines/director/lingo/lingo-gr.y"
+ case 110:
+#line 490 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateNone; }
-#line 2733 "engines/director/lingo/lingo-gr.cpp"
+#line 2744 "engines/director/lingo/lingo-gr.cpp"
break;
- case 110:
-#line 479 "engines/director/lingo/lingo-gr.y"
+ case 111:
+#line 491 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; }
-#line 2739 "engines/director/lingo/lingo-gr.cpp"
+#line 2750 "engines/director/lingo/lingo-gr.cpp"
break;
- case 111:
-#line 479 "engines/director/lingo/lingo-gr.y"
+ case 112:
+#line 491 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateNone; }
-#line 2745 "engines/director/lingo/lingo-gr.cpp"
+#line 2756 "engines/director/lingo/lingo-gr.cpp"
break;
- case 113:
-#line 481 "engines/director/lingo/lingo-gr.y"
+ case 114:
+#line 493 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 2753 "engines/director/lingo/lingo-gr.cpp"
+#line 2764 "engines/director/lingo/lingo-gr.cpp"
break;
- case 114:
-#line 484 "engines/director/lingo/lingo-gr.y"
+ case 115:
+#line 496 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-1].s), (yyvsp[0].narg));
delete (yyvsp[-1].s); }
-#line 2761 "engines/director/lingo/lingo-gr.cpp"
+#line 2772 "engines/director/lingo/lingo-gr.cpp"
break;
- case 115:
-#line 487 "engines/director/lingo/lingo-gr.y"
+ case 116:
+#line 499 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_open); }
-#line 2767 "engines/director/lingo/lingo-gr.cpp"
+#line 2778 "engines/director/lingo/lingo-gr.cpp"
break;
- case 116:
-#line 488 "engines/director/lingo/lingo-gr.y"
+ case 117:
+#line 500 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code2(LC::c_voidpush, LC::c_open); }
-#line 2773 "engines/director/lingo/lingo-gr.cpp"
+#line 2784 "engines/director/lingo/lingo-gr.cpp"
break;
- case 117:
-#line 490 "engines/director/lingo/lingo-gr.y"
+ case 118:
+#line 502 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_global);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2782 "engines/director/lingo/lingo-gr.cpp"
+#line 2793 "engines/director/lingo/lingo-gr.cpp"
break;
- case 118:
-#line 494 "engines/director/lingo/lingo-gr.y"
+ case 119:
+#line 506 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_global);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2791 "engines/director/lingo/lingo-gr.cpp"
+#line 2802 "engines/director/lingo/lingo-gr.cpp"
break;
- case 119:
-#line 499 "engines/director/lingo/lingo-gr.y"
+ case 120:
+#line 511 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_property);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2800 "engines/director/lingo/lingo-gr.cpp"
+#line 2811 "engines/director/lingo/lingo-gr.cpp"
break;
- case 120:
-#line 503 "engines/director/lingo/lingo-gr.y"
+ case 121:
+#line 515 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_property);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2809 "engines/director/lingo/lingo-gr.cpp"
+#line 2820 "engines/director/lingo/lingo-gr.cpp"
break;
- case 121:
-#line 508 "engines/director/lingo/lingo-gr.y"
+ case 122:
+#line 520 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_instance);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2818 "engines/director/lingo/lingo-gr.cpp"
+#line 2829 "engines/director/lingo/lingo-gr.cpp"
break;
- case 122:
-#line 512 "engines/director/lingo/lingo-gr.y"
+ case 123:
+#line 524 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_instance);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2827 "engines/director/lingo/lingo-gr.cpp"
+#line 2838 "engines/director/lingo/lingo-gr.cpp"
break;
- case 123:
-#line 524 "engines/director/lingo/lingo-gr.y"
+ case 124:
+#line 536 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotoloop); }
-#line 2833 "engines/director/lingo/lingo-gr.cpp"
+#line 2844 "engines/director/lingo/lingo-gr.cpp"
break;
- case 124:
-#line 525 "engines/director/lingo/lingo-gr.y"
+ case 125:
+#line 537 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotonext); }
-#line 2839 "engines/director/lingo/lingo-gr.cpp"
+#line 2850 "engines/director/lingo/lingo-gr.cpp"
break;
- case 125:
-#line 526 "engines/director/lingo/lingo-gr.y"
+ case 126:
+#line 538 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotoprevious); }
-#line 2845 "engines/director/lingo/lingo-gr.cpp"
+#line 2856 "engines/director/lingo/lingo-gr.cpp"
break;
- case 126:
-#line 527 "engines/director/lingo/lingo-gr.y"
+ case 127:
+#line 539 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(LC::c_goto); }
-#line 2854 "engines/director/lingo/lingo-gr.cpp"
+#line 2865 "engines/director/lingo/lingo-gr.cpp"
break;
- case 127:
-#line 531 "engines/director/lingo/lingo-gr.y"
+ case 128:
+#line 543 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(LC::c_goto); }
-#line 2863 "engines/director/lingo/lingo-gr.cpp"
+#line 2874 "engines/director/lingo/lingo-gr.cpp"
break;
- case 128:
-#line 535 "engines/director/lingo/lingo-gr.y"
+ case 129:
+#line 547 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(2);
g_lingo->code1(LC::c_goto); }
-#line 2872 "engines/director/lingo/lingo-gr.cpp"
+#line 2883 "engines/director/lingo/lingo-gr.cpp"
break;
- case 131:
-#line 543 "engines/director/lingo/lingo-gr.y"
+ case 132:
+#line 555 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_playdone); }
-#line 2878 "engines/director/lingo/lingo-gr.cpp"
+#line 2889 "engines/director/lingo/lingo-gr.cpp"
break;
- case 132:
-#line 544 "engines/director/lingo/lingo-gr.y"
+ case 133:
+#line 556 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(LC::c_play); }
-#line 2887 "engines/director/lingo/lingo-gr.cpp"
+#line 2898 "engines/director/lingo/lingo-gr.cpp"
break;
- case 133:
-#line 548 "engines/director/lingo/lingo-gr.y"
+ case 134:
+#line 560 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(LC::c_play); }
-#line 2896 "engines/director/lingo/lingo-gr.cpp"
+#line 2907 "engines/director/lingo/lingo-gr.cpp"
break;
- case 134:
-#line 552 "engines/director/lingo/lingo-gr.y"
+ case 135:
+#line 564 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(2);
g_lingo->code1(LC::c_play); }
-#line 2905 "engines/director/lingo/lingo-gr.cpp"
+#line 2916 "engines/director/lingo/lingo-gr.cpp"
break;
- case 135:
-#line 556 "engines/director/lingo/lingo-gr.y"
+ case 136:
+#line 568 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeSetImmediate(true); }
-#line 2911 "engines/director/lingo/lingo-gr.cpp"
+#line 2922 "engines/director/lingo/lingo-gr.cpp"
break;
- case 136:
-#line 556 "engines/director/lingo/lingo-gr.y"
+ case 137:
+#line 568 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeSetImmediate(false);
g_lingo->codeFunc((yyvsp[-2].s), (yyvsp[0].narg));
delete (yyvsp[-2].s); }
-#line 2920 "engines/director/lingo/lingo-gr.cpp"
+#line 2931 "engines/director/lingo/lingo-gr.cpp"
break;
- case 137:
-#line 586 "engines/director/lingo/lingo-gr.y"
+ case 138:
+#line 598 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; }
-#line 2926 "engines/director/lingo/lingo-gr.cpp"
+#line 2937 "engines/director/lingo/lingo-gr.cpp"
break;
- case 138:
-#line 586 "engines/director/lingo/lingo-gr.y"
+ case 139:
+#line 598 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_currentFactory.clear(); }
-#line 2932 "engines/director/lingo/lingo-gr.cpp"
+#line 2943 "engines/director/lingo/lingo-gr.cpp"
break;
- case 139:
-#line 587 "engines/director/lingo/lingo-gr.y"
+ case 140:
+#line 599 "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 2943 "engines/director/lingo/lingo-gr.cpp"
+#line 2954 "engines/director/lingo/lingo-gr.cpp"
break;
- case 140:
-#line 593 "engines/director/lingo/lingo-gr.y"
+ case 141:
+#line 605 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeFactory(*(yyvsp[0].s)); delete (yyvsp[0].s); }
-#line 2949 "engines/director/lingo/lingo-gr.cpp"
+#line 2960 "engines/director/lingo/lingo-gr.cpp"
break;
- case 141:
-#line 594 "engines/director/lingo/lingo-gr.y"
+ case 142:
+#line 606 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; }
-#line 2955 "engines/director/lingo/lingo-gr.cpp"
+#line 2966 "engines/director/lingo/lingo-gr.cpp"
break;
- case 142:
-#line 595 "engines/director/lingo/lingo-gr.y"
+ case 143:
+#line 607 "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 2966 "engines/director/lingo/lingo-gr.cpp"
+#line 2977 "engines/director/lingo/lingo-gr.cpp"
break;
- case 143:
-#line 601 "engines/director/lingo/lingo-gr.y"
+ case 144:
+#line 613 "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));
@@ -2977,11 +2988,11 @@ yyreduce:
checkEnd((yyvsp[-1].s), (yyvsp[-7].s)->c_str(), false);
delete (yyvsp[-7].s);
delete (yyvsp[-1].s); }
-#line 2981 "engines/director/lingo/lingo-gr.cpp"
+#line 2992 "engines/director/lingo/lingo-gr.cpp"
break;
- case 144:
-#line 611 "engines/director/lingo/lingo-gr.y"
+ case 145:
+#line 623 "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));
@@ -2989,65 +3000,65 @@ yyreduce:
g_lingo->clearArgStack();
g_lingo->_ignoreMe = false;
delete (yyvsp[-5].s); }
-#line 2993 "engines/director/lingo/lingo-gr.cpp"
+#line 3004 "engines/director/lingo/lingo-gr.cpp"
break;
- case 145:
-#line 619 "engines/director/lingo/lingo-gr.y"
+ case 146:
+#line 631 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; }
-#line 2999 "engines/director/lingo/lingo-gr.cpp"
+#line 3010 "engines/director/lingo/lingo-gr.cpp"
break;
- case 146:
-#line 619 "engines/director/lingo/lingo-gr.y"
+ case 147:
+#line 631 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = (yyvsp[0].s); g_lingo->_currentFactory.clear(); g_lingo->_ignoreMe = true; }
-#line 3005 "engines/director/lingo/lingo-gr.cpp"
+#line 3016 "engines/director/lingo/lingo-gr.cpp"
break;
- case 147:
-#line 621 "engines/director/lingo/lingo-gr.y"
+ case 148:
+#line 633 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; }
-#line 3011 "engines/director/lingo/lingo-gr.cpp"
+#line 3022 "engines/director/lingo/lingo-gr.cpp"
break;
- case 148:
-#line 622 "engines/director/lingo/lingo-gr.y"
+ case 149:
+#line 634 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); (yyval.narg) = 1; delete (yyvsp[0].s); }
-#line 3017 "engines/director/lingo/lingo-gr.cpp"
+#line 3028 "engines/director/lingo/lingo-gr.cpp"
break;
- case 149:
-#line 623 "engines/director/lingo/lingo-gr.y"
+ case 150:
+#line 635 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); (yyval.narg) = (yyvsp[-2].narg) + 1; delete (yyvsp[0].s); }
-#line 3023 "engines/director/lingo/lingo-gr.cpp"
+#line 3034 "engines/director/lingo/lingo-gr.cpp"
break;
- case 150:
-#line 624 "engines/director/lingo/lingo-gr.y"
+ case 151:
+#line 636 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); (yyval.narg) = (yyvsp[-3].narg) + 1; delete (yyvsp[0].s); }
-#line 3029 "engines/director/lingo/lingo-gr.cpp"
+#line 3040 "engines/director/lingo/lingo-gr.cpp"
break;
- case 152:
-#line 627 "engines/director/lingo/lingo-gr.y"
+ case 153:
+#line 639 "engines/director/lingo/lingo-gr.y"
{ delete (yyvsp[0].s); }
-#line 3035 "engines/director/lingo/lingo-gr.cpp"
+#line 3046 "engines/director/lingo/lingo-gr.cpp"
break;
- case 153:
-#line 628 "engines/director/lingo/lingo-gr.y"
+ case 154:
+#line 640 "engines/director/lingo/lingo-gr.y"
{ delete (yyvsp[0].s); }
-#line 3041 "engines/director/lingo/lingo-gr.cpp"
+#line 3052 "engines/director/lingo/lingo-gr.cpp"
break;
- case 154:
-#line 630 "engines/director/lingo/lingo-gr.y"
+ case 155:
+#line 642 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArgStore(); g_lingo->_indef = kStateInDef; }
-#line 3047 "engines/director/lingo/lingo-gr.cpp"
+#line 3058 "engines/director/lingo/lingo-gr.cpp"
break;
- case 155:
-#line 632 "engines/director/lingo/lingo-gr.y"
+ case 156:
+#line 644 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_call);
g_lingo->codeString((yyvsp[-1].s)->c_str());
@@ -3055,113 +3066,113 @@ yyreduce:
WRITE_UINT32(&numpar, (yyvsp[0].narg));
g_lingo->code1(numpar);
delete (yyvsp[-1].s); }
-#line 3059 "engines/director/lingo/lingo-gr.cpp"
+#line 3070 "engines/director/lingo/lingo-gr.cpp"
break;
- case 156:
-#line 640 "engines/director/lingo/lingo-gr.y"
+ case 157:
+#line 652 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; }
-#line 3065 "engines/director/lingo/lingo-gr.cpp"
+#line 3076 "engines/director/lingo/lingo-gr.cpp"
break;
- case 157:
-#line 641 "engines/director/lingo/lingo-gr.y"
+ case 158:
+#line 653 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3071 "engines/director/lingo/lingo-gr.cpp"
+#line 3082 "engines/director/lingo/lingo-gr.cpp"
break;
- case 158:
-#line 642 "engines/director/lingo/lingo-gr.y"
+ case 159:
+#line 654 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3077 "engines/director/lingo/lingo-gr.cpp"
+#line 3088 "engines/director/lingo/lingo-gr.cpp"
break;
- case 159:
-#line 644 "engines/director/lingo/lingo-gr.y"
+ case 160:
+#line 656 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3083 "engines/director/lingo/lingo-gr.cpp"
+#line 3094 "engines/director/lingo/lingo-gr.cpp"
break;
- case 160:
-#line 645 "engines/director/lingo/lingo-gr.y"
+ case 161:
+#line 657 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3089 "engines/director/lingo/lingo-gr.cpp"
+#line 3100 "engines/director/lingo/lingo-gr.cpp"
break;
- case 161:
-#line 647 "engines/director/lingo/lingo-gr.y"
+ case 162:
+#line 659 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[-1].code); }
-#line 3095 "engines/director/lingo/lingo-gr.cpp"
+#line 3106 "engines/director/lingo/lingo-gr.cpp"
break;
- case 162:
-#line 649 "engines/director/lingo/lingo-gr.y"
+ case 163:
+#line 661 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code2(LC::c_arraypush, 0); }
-#line 3101 "engines/director/lingo/lingo-gr.cpp"
+#line 3112 "engines/director/lingo/lingo-gr.cpp"
break;
- case 163:
-#line 650 "engines/director/lingo/lingo-gr.y"
+ case 164:
+#line 662 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code2(LC::c_proparraypush, 0); }
-#line 3107 "engines/director/lingo/lingo-gr.cpp"
+#line 3118 "engines/director/lingo/lingo-gr.cpp"
break;
- case 164:
-#line 651 "engines/director/lingo/lingo-gr.y"
+ case 165:
+#line 663 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_arraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3113 "engines/director/lingo/lingo-gr.cpp"
+#line 3124 "engines/director/lingo/lingo-gr.cpp"
break;
- case 165:
-#line 652 "engines/director/lingo/lingo-gr.y"
+ case 166:
+#line 664 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_proparraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3119 "engines/director/lingo/lingo-gr.cpp"
+#line 3130 "engines/director/lingo/lingo-gr.cpp"
break;
- case 166:
-#line 654 "engines/director/lingo/lingo-gr.y"
+ case 167:
+#line 666 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3125 "engines/director/lingo/lingo-gr.cpp"
+#line 3136 "engines/director/lingo/lingo-gr.cpp"
break;
- case 167:
-#line 655 "engines/director/lingo/lingo-gr.y"
+ case 168:
+#line 667 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3131 "engines/director/lingo/lingo-gr.cpp"
+#line 3142 "engines/director/lingo/lingo-gr.cpp"
break;
- case 168:
-#line 657 "engines/director/lingo/lingo-gr.y"
+ case 169:
+#line 669 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3137 "engines/director/lingo/lingo-gr.cpp"
+#line 3148 "engines/director/lingo/lingo-gr.cpp"
break;
- case 169:
-#line 658 "engines/director/lingo/lingo-gr.y"
+ case 170:
+#line 670 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3143 "engines/director/lingo/lingo-gr.cpp"
+#line 3154 "engines/director/lingo/lingo-gr.cpp"
break;
- case 170:
-#line 660 "engines/director/lingo/lingo-gr.y"
+ case 171:
+#line 672 "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 3152 "engines/director/lingo/lingo-gr.cpp"
+#line 3163 "engines/director/lingo/lingo-gr.cpp"
break;
- case 171:
-#line 664 "engines/director/lingo/lingo-gr.y"
+ case 172:
+#line 676 "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 3161 "engines/director/lingo/lingo-gr.cpp"
+#line 3172 "engines/director/lingo/lingo-gr.cpp"
break;
-#line 3165 "engines/director/lingo/lingo-gr.cpp"
+#line 3176 "engines/director/lingo/lingo-gr.cpp"
default: break;
}
@@ -3393,5 +3404,5 @@ yyreturn:
#endif
return yyresult;
}
-#line 670 "engines/director/lingo/lingo-gr.y"
+#line 682 "engines/director/lingo/lingo-gr.y"
diff --git a/engines/director/lingo/lingo-gr.h b/engines/director/lingo/lingo-gr.h
index 627c189..9c7fbc1 100644
--- a/engines/director/lingo/lingo-gr.h
+++ b/engines/director/lingo/lingo-gr.h
@@ -77,61 +77,62 @@ extern int yydebug;
tPLAYACCEL = 283,
tMETHOD = 284,
THEOBJECTFIELD = 285,
- tDOWN = 286,
- tELSE = 287,
- tELSIF = 288,
- tEXIT = 289,
- tGLOBAL = 290,
- tGO = 291,
- tIF = 292,
- tIN = 293,
- tINTO = 294,
- tLOOP = 295,
- tMACRO = 296,
- tMOVIE = 297,
- tNEXT = 298,
- tOF = 299,
- tPREVIOUS = 300,
- tPUT = 301,
- tREPEAT = 302,
- tSET = 303,
- tTHEN = 304,
- tTO = 305,
- tWHEN = 306,
- tWITH = 307,
- tWHILE = 308,
- tNLELSE = 309,
- tFACTORY = 310,
- tOPEN = 311,
- tPLAY = 312,
- tDONE = 313,
- tINSTANCE = 314,
- tGE = 315,
- tLE = 316,
- tEQ = 317,
- tNEQ = 318,
- tAND = 319,
- tOR = 320,
- tNOT = 321,
- tMOD = 322,
- tAFTER = 323,
- tBEFORE = 324,
- tCONCAT = 325,
- tCONTAINS = 326,
- tSTARTS = 327,
- tCHAR = 328,
- tITEM = 329,
- tLINE = 330,
- tWORD = 331,
- tSPRITE = 332,
- tINTERSECTS = 333,
- tWITHIN = 334,
- tTELL = 335,
- tPROPERTY = 336,
- tON = 337,
- tENDIF = 338,
- tENDREPEAT = 339,
- tENDTELL = 340
+ THEOBJECTREF = 286,
+ tDOWN = 287,
+ tELSE = 288,
+ tELSIF = 289,
+ tEXIT = 290,
+ tGLOBAL = 291,
+ tGO = 292,
+ tIF = 293,
+ tIN = 294,
+ tINTO = 295,
+ tLOOP = 296,
+ tMACRO = 297,
+ tMOVIE = 298,
+ tNEXT = 299,
+ tOF = 300,
+ tPREVIOUS = 301,
+ tPUT = 302,
+ tREPEAT = 303,
+ tSET = 304,
+ tTHEN = 305,
+ tTO = 306,
+ tWHEN = 307,
+ tWITH = 308,
+ tWHILE = 309,
+ tNLELSE = 310,
+ tFACTORY = 311,
+ tOPEN = 312,
+ tPLAY = 313,
+ tDONE = 314,
+ 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
@@ -154,7 +155,12 @@ union YYSTYPE
int oe;
} objectfield;
-#line 158 "engines/director/lingo/lingo-gr.h"
+ struct {
+ Common::String *obj;
+ Common::String *field;
+ } objectref;
+
+#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 e0e1308..b5613a0 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -96,6 +96,11 @@ void checkEnd(Common::String *token, const char *expect, bool required) {
Common::String *os;
int oe;
} objectfield;
+
+ struct {
+ Common::String *obj;
+ Common::String *field;
+ } objectref;
}
%token UNARY
@@ -107,6 +112,7 @@ void checkEnd(Common::String *token, const char *expect, bool required) {
%token<s> ID STRING HANDLER SYMBOL
%token<s> ENDCLAUSE tPLAYACCEL tMETHOD
%token<objectfield> THEOBJECTFIELD
+%token<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
@@ -431,6 +437,12 @@ expr: simpleexpr { $$ = $simpleexpr; }
g_lingo->codeString($THEOBJECTFIELD.os->c_str());
g_lingo->codeInt($THEOBJECTFIELD.oe);
delete $THEOBJECTFIELD.os; }
+ | THEOBJECTREF {
+ g_lingo->code1(LC::c_objectrefpush);
+ g_lingo->codeString($THEOBJECTREF.obj->c_str());
+ g_lingo->codeString($THEOBJECTREF.field->c_str());
+ delete $THEOBJECTREF.obj;
+ delete $THEOBJECTREF.field; }
| asgn
| expr '+' expr { g_lingo->code1(LC::c_add); }
| expr '-' expr { g_lingo->code1(LC::c_sub); }
diff --git a/engines/director/lingo/lingo-lex.cpp b/engines/director/lingo/lingo-lex.cpp
index 3c6bc12..a215ec8 100644
--- a/engines/director/lingo/lingo-lex.cpp
+++ b/engines/director/lingo/lingo-lex.cpp
@@ -1566,11 +1566,13 @@ YY_RULE_SETUP
return THEENTITY;
} else {
if (g_director->getVersion() >= 4) {
- field = Common::String::format("%d%s", g_lingo->_objectEntityId, field.c_str());
+ Common::String key = Common::String::format("%d%s", g_lingo->_objectEntityId, field.c_str());
- if (!g_lingo->_theEntityFields.contains(field)) {
- warning("LEXER: Unhandled the field '%s' for object", field.c_str());
- return LEXERROR;
+ if (!g_lingo->_theEntityFields.contains(key)) { // Okay, this must be an object reference
+ yylval.objectref.obj = new Common::String(ptr);
+ yylval.objectref.field = new Common::String(field);
+
+ return THEOBJECTREF;
}
yylval.objectfield.os = new Common::String(ptr);
@@ -1585,7 +1587,7 @@ YY_RULE_SETUP
YY_BREAK
case 56:
YY_RULE_SETUP
-#line 314 "engines/director/lingo/lingo-lex.l"
+#line 316 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1623,7 +1625,7 @@ YY_RULE_SETUP
YY_BREAK
case 57:
YY_RULE_SETUP
-#line 348 "engines/director/lingo/lingo-lex.l"
+#line 350 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1646,72 +1648,72 @@ YY_RULE_SETUP
YY_BREAK
case 58:
YY_RULE_SETUP
-#line 367 "engines/director/lingo/lingo-lex.l"
+#line 369 "engines/director/lingo/lingo-lex.l"
{ count(); return tTHEN; }
YY_BREAK
case 59:
YY_RULE_SETUP
-#line 368 "engines/director/lingo/lingo-lex.l"
+#line 370 "engines/director/lingo/lingo-lex.l"
{ count(); return tTO; }
YY_BREAK
case 60:
YY_RULE_SETUP
-#line 369 "engines/director/lingo/lingo-lex.l"
+#line 371 "engines/director/lingo/lingo-lex.l"
{ count(); return tSPRITE; }
YY_BREAK
case 61:
YY_RULE_SETUP
-#line 370 "engines/director/lingo/lingo-lex.l"
+#line 372 "engines/director/lingo/lingo-lex.l"
{ count(); return tWITH; }
YY_BREAK
case 62:
YY_RULE_SETUP
-#line 371 "engines/director/lingo/lingo-lex.l"
+#line 373 "engines/director/lingo/lingo-lex.l"
{ count(); return tWITHIN; }
YY_BREAK
case 63:
YY_RULE_SETUP
-#line 372 "engines/director/lingo/lingo-lex.l"
+#line 374 "engines/director/lingo/lingo-lex.l"
{ count(); return tWHEN; }
YY_BREAK
case 64:
YY_RULE_SETUP
-#line 373 "engines/director/lingo/lingo-lex.l"
+#line 375 "engines/director/lingo/lingo-lex.l"
{ count(); return tWHILE; }
YY_BREAK
case 65:
YY_RULE_SETUP
-#line 374 "engines/director/lingo/lingo-lex.l"
+#line 376 "engines/director/lingo/lingo-lex.l"
{ count(); return tWORD; }
YY_BREAK
case 66:
YY_RULE_SETUP
-#line 376 "engines/director/lingo/lingo-lex.l"
+#line 378 "engines/director/lingo/lingo-lex.l"
{ count(); return tNEQ; }
YY_BREAK
case 67:
YY_RULE_SETUP
-#line 377 "engines/director/lingo/lingo-lex.l"
+#line 379 "engines/director/lingo/lingo-lex.l"
{ count(); return tGE; }
YY_BREAK
case 68:
YY_RULE_SETUP
-#line 378 "engines/director/lingo/lingo-lex.l"
+#line 380 "engines/director/lingo/lingo-lex.l"
{ count(); return tLE; }
YY_BREAK
case 69:
YY_RULE_SETUP
-#line 379 "engines/director/lingo/lingo-lex.l"
+#line 381 "engines/director/lingo/lingo-lex.l"
{ count(); return tCONCAT; }
YY_BREAK
case 70:
YY_RULE_SETUP
-#line 380 "engines/director/lingo/lingo-lex.l"
+#line 382 "engines/director/lingo/lingo-lex.l"
{ count(); return tEQ; }
YY_BREAK
case 71:
YY_RULE_SETUP
-#line 382 "engines/director/lingo/lingo-lex.l"
+#line 384 "engines/director/lingo/lingo-lex.l"
{
count();
yylval.s = new Common::String(yytext);
@@ -1749,41 +1751,41 @@ YY_RULE_SETUP
YY_BREAK
case 72:
YY_RULE_SETUP
-#line 416 "engines/director/lingo/lingo-lex.l"
+#line 418 "engines/director/lingo/lingo-lex.l"
{ count(); yylval.f = atof(yytext); return FLOAT; }
YY_BREAK
case 73:
YY_RULE_SETUP
-#line 417 "engines/director/lingo/lingo-lex.l"
+#line 419 "engines/director/lingo/lingo-lex.l"
{ count(); yylval.i = strtol(yytext, NULL, 10); return INT; }
YY_BREAK
case 74:
YY_RULE_SETUP
-#line 418 "engines/director/lingo/lingo-lex.l"
+#line 420 "engines/director/lingo/lingo-lex.l"
{ count(); return *yytext; }
YY_BREAK
case 75:
/* rule 75 can match eol */
YY_RULE_SETUP
-#line 419 "engines/director/lingo/lingo-lex.l"
+#line 421 "engines/director/lingo/lingo-lex.l"
{ count(); return '\n'; }
YY_BREAK
case 76:
YY_RULE_SETUP
-#line 420 "engines/director/lingo/lingo-lex.l"
+#line 422 "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 421 "engines/director/lingo/lingo-lex.l"
+#line 423 "engines/director/lingo/lingo-lex.l"
{ count(); }
YY_BREAK
case 78:
YY_RULE_SETUP
-#line 423 "engines/director/lingo/lingo-lex.l"
+#line 425 "engines/director/lingo/lingo-lex.l"
ECHO;
YY_BREAK
-#line 1787 "engines/director/lingo/lingo-lex.cpp"
+#line 1789 "engines/director/lingo/lingo-lex.cpp"
case YY_STATE_EOF(INITIAL):
yyterminate();
@@ -2743,7 +2745,7 @@ void yyfree (void * ptr )
#define YYTABLES_NAME "yytables"
-#line 423 "engines/director/lingo/lingo-lex.l"
+#line 425 "engines/director/lingo/lingo-lex.l"
diff --git a/engines/director/lingo/lingo-lex.l b/engines/director/lingo/lingo-lex.l
index 6b853aa..2055b07 100644
--- a/engines/director/lingo/lingo-lex.l
+++ b/engines/director/lingo/lingo-lex.l
@@ -295,11 +295,13 @@ the[ \t]+[[:alpha:]]+[ \t]+of[ \t]+{identifier} {
return THEENTITY;
} else {
if (g_director->getVersion() >= 4) {
- field = Common::String::format("%d%s", g_lingo->_objectEntityId, field.c_str());
+ Common::String key = Common::String::format("%d%s", g_lingo->_objectEntityId, field.c_str());
- if (!g_lingo->_theEntityFields.contains(field)) {
- warning("LEXER: Unhandled the field '%s' for object", field.c_str());
- return LEXERROR;
+ if (!g_lingo->_theEntityFields.contains(key)) { // Okay, this must be an object reference
+ yylval.objectref.obj = new Common::String(ptr);
+ yylval.objectref.field = new Common::String(field);
+
+ return THEOBJECTREF;
}
yylval.objectfield.os = new Common::String(ptr);
diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp
index 098803a..fb55374 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -898,4 +898,13 @@ void Lingo::setObjectField(Common::String &obj, int field, Datum &d) {
warning("STUB: setObjectField(\"%s\", %d, ...)", obj.c_str(), field);
}
+Datum Lingo::getObjectRef(Common::String &obj, Common::String &field) {
+ warning("STUB: getObjectRef(\"%s\", \"%s\")", obj.c_str(), field.c_str());
+
+ Datum d;
+ d.type = VOID;
+
+ return d;
+}
+
} // End of namespace Director
diff --git a/engines/director/lingo/lingo.h b/engines/director/lingo/lingo.h
index 39d6d8a..1445e01 100644
--- a/engines/director/lingo/lingo.h
+++ b/engines/director/lingo/lingo.h
@@ -269,6 +269,7 @@ public:
Datum getTheCast(Datum &id, int field);
Datum getObjectField(Common::String &obj, int field);
void setObjectField(Common::String &obj, int field, Datum &d);
+ Datum getObjectRef(Common::String &obj, Common::String &field);
const char *entity2str(int id);
const char *field2str(int id);
More information about the Scummvm-git-logs
mailing list