[Scummvm-git-logs] scummvm master -> 6975061434460096be89e00214130f2315ed6832
sev-
sev at scummvm.org
Tue Jan 14 17:59:22 UTC 2020
This automated email contains information about 10 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
66455b6aa5 GRAPHICS: MACGUI: Added sanity check to splitString()
878b4e944d DIRECTOR: LINGO: Added parsing for 'the volume of sound <n>'
259592c28c DIRECTOR: LINGO: Added test of 'the volume of sound <n>'
b4cd76c75e DIRECTOR: LINGO: Implement proper parsing and code generation for 'tell'
b29d68218c DIRECTOR: LINGO: Added test for the 'tell' command
57d7325066 DIRECTOR: LINGO: Implement reliable stub fot c_tellcode()
dcc530f34a DIRECTOR: LINGO: Fix REFERENCE stubs
dd4681e195 DIRECTOR: LINGO: Fix toString() when score was not loaded
f4653e8c28 DIRECTOR: LINGO: Implemented parser for 'sound <xx>' family of commands
6975061434 DIRECTOR: LINGO: Added tests for the 'sound <xx>' fzmily of commands
Commit: 66455b6aa574da77831b49af77c74bacf487f74f
https://github.com/scummvm/scummvm/commit/66455b6aa574da77831b49af77c74bacf487f74f
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-01-14T18:48:42+01:00
Commit Message:
GRAPHICS: MACGUI: Added sanity check to splitString()
Changed paths:
graphics/macgui/mactext.cpp
diff --git a/graphics/macgui/mactext.cpp b/graphics/macgui/mactext.cpp
index 2fc9b8d..56e5a75 100644
--- a/graphics/macgui/mactext.cpp
+++ b/graphics/macgui/mactext.cpp
@@ -279,7 +279,10 @@ void MacText::splitString(Common::U32String &str) {
_currentFormatting.getFont()->wordWrapText(tmp, _maxWidth, text, w);
- _textLines[curLine].chunks[curChunk].text = text[0];
+ if (text.size())
+ _textLines[curLine].chunks[curChunk].text = text[0];
+ else
+ warning("MacText::splitString(): Font resulted in 0 width for text '%s'", tmp.encode().c_str());
if (text.size() > 1) {
for (uint i = 1; i < text.size(); i++) {
Commit: 878b4e944d51e2f1df166038ef754e53e146bdcc
https://github.com/scummvm/scummvm/commit/878b4e944d51e2f1df166038ef754e53e146bdcc
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-01-14T18:48:42+01:00
Commit Message:
DIRECTOR: LINGO: Added parsing for 'the volume of sound <n>'
Changed paths:
engines/director/lingo/lingo-the.cpp
engines/director/lingo/lingo-the.h
diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp
index 8bb349f..c54712d 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -120,6 +120,7 @@ TheEntity entities[] = {
{ kTheShiftDown, "shiftDown", false, 2 }, // D2 f
{ kTheSoundEnabled, "soundEnabled", false, 2 }, // D2 p
{ kTheSoundLevel, "soundLevel", false, 2 }, // D2 p
+ { kTheSoundEntity, "sound", true, 4 }, // D4
{ kTheSprite, "sprite", true, 2 }, // D4 p
{ kTheSqrt, "sqrt", false, 2 }, // D2 f
{ kTheStage, "stage", false, 4 }, // D4 p
@@ -260,6 +261,8 @@ TheEntityField fields[] = {
{ kTheTime, "abbrev", kTheAbbr, 3 },// D3 f
{ kTheTime, "abbr", kTheAbbr, 3 },// D3 f
+ { kTheSoundEntity,"volume", kTheVolume, 4 },// D4 p
+
{ kTheNOEntity, NULL, kTheNOField, 0 }
};
diff --git a/engines/director/lingo/lingo-the.h b/engines/director/lingo/lingo-the.h
index 57bb113..5551aff 100644
--- a/engines/director/lingo/lingo-the.h
+++ b/engines/director/lingo/lingo-the.h
@@ -115,6 +115,7 @@ enum TheEntityType {
kTheSelEnd,
kTheSelStart,
kTheShiftDown,
+ kTheSoundEntity,
kTheSoundEnabled,
kTheSoundLevel,
kTheSprite,
Commit: 259592c28c18f1b42b130d5ad219296f8b3b9853
https://github.com/scummvm/scummvm/commit/259592c28c18f1b42b130d5ad219296f8b3b9853
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-01-14T18:50:48+01:00
Commit Message:
DIRECTOR: LINGO: Added test of 'the volume of sound <n>'
Changed paths:
engines/director/lingo/tests/the.lingo
diff --git a/engines/director/lingo/tests/the.lingo b/engines/director/lingo/tests/the.lingo
index e03f447..6ad82d6 100644
--- a/engines/director/lingo/tests/the.lingo
+++ b/engines/director/lingo/tests/the.lingo
@@ -30,3 +30,6 @@ set the bottom of x to originV + (the number of words in someText) * 16
put the number of words of field 1 into field 5
set h = the locH of sprite pSprite + pChangeH
+
+set the volume of sound 1 to 255
+put the volume of sound 1 into field 11
Commit: b4cd76c75ee3899fc05179be717384bdf2831d97
https://github.com/scummvm/scummvm/commit/b4cd76c75ee3899fc05179be717384bdf2831d97
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-01-14T18:57:00+01:00
Commit Message:
DIRECTOR: LINGO: Implement proper parsing and code generation for 'tell'
Changed paths:
engines/director/lingo/lingo-gr.cpp
engines/director/lingo/lingo-gr.y
diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp
index 94b71d1..a7c4062 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -566,7 +566,7 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 122
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 1507
+#define YYLAST 1491
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 98
@@ -575,7 +575,7 @@ union yyalloc
/* YYNRULES -- Number of rules. */
#define YYNRULES 161
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 341
+#define YYNSTATES 343
#define YYUNDEFTOK 2
#define YYMAXUTOK 337
@@ -633,20 +633,20 @@ static const yytype_int16 yyrline[] =
0, 135, 135, 136, 137, 140, 141, 142, 145, 151,
154, 155, 156, 162, 169, 175, 182, 188, 194, 202,
203, 204, 207, 208, 209, 210, 213, 214, 219, 230,
- 247, 259, 264, 266, 270, 280, 292, 293, 296, 304,
- 314, 327, 330, 337, 344, 352, 355, 358, 359, 360,
- 363, 369, 373, 376, 379, 383, 387, 391, 394, 395,
- 396, 399, 402, 410, 416, 421, 422, 423, 424, 425,
- 426, 427, 428, 429, 430, 431, 432, 433, 434, 435,
- 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
- 446, 447, 448, 449, 450, 451, 452, 455, 460, 461,
- 462, 463, 464, 465, 466, 467, 468, 471, 472, 475,
- 476, 479, 480, 483, 484, 495, 496, 497, 498, 502,
- 506, 512, 513, 516, 517, 521, 525, 529, 529, 560,
- 560, 567, 568, 568, 575, 585, 593, 595, 596, 597,
- 598, 601, 602, 603, 606, 609, 618, 619, 620, 623,
- 624, 627, 630, 631, 632, 633, 636, 637, 640, 641,
- 644, 648
+ 247, 259, 264, 268, 274, 278, 288, 300, 301, 304,
+ 312, 322, 335, 338, 345, 352, 360, 363, 366, 367,
+ 368, 371, 377, 380, 383, 387, 391, 395, 398, 399,
+ 400, 403, 406, 414, 420, 425, 426, 427, 428, 429,
+ 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
+ 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
+ 450, 451, 452, 453, 454, 455, 456, 459, 464, 465,
+ 466, 467, 468, 469, 470, 471, 472, 475, 476, 479,
+ 480, 483, 484, 487, 488, 499, 500, 501, 502, 506,
+ 510, 516, 517, 520, 521, 525, 529, 533, 533, 564,
+ 564, 571, 572, 572, 579, 589, 597, 599, 600, 601,
+ 602, 605, 606, 607, 610, 613, 622, 623, 624, 627,
+ 628, 631, 634, 635, 636, 637, 640, 641, 644, 645,
+ 648, 652
};
#endif
@@ -669,13 +669,14 @@ static const char *const yytname[] =
"tPROPERTY", "tON", "tENDIF", "tENDREPEAT", "tENDTELL", "'<'", "'>'",
"'&'", "'+'", "'-'", "'*'", "'/'", "'%'", "'\\n'", "'('", "')'", "','",
"'['", "']'", "':'", "$accept", "program", "programline", "asgn",
- "stmtoneliner", "stmtonelinerwithif", "stmt", "ifstmt", "elseifstmtlist",
- "elseifstmt", "ifoneliner", "repeatwhile", "repeatwith", "if", "elseif",
- "begin", "end", "stmtlist", "when", "tell", "simpleexpr", "expr",
- "reference", "proc", "globallist", "propertylist", "instancelist",
- "gotofunc", "gotomovie", "playfunc", "$@1", "defn", "$@2", "$@3", "on",
- "argdef", "endargdef", "argstore", "macro", "arglist", "nonemptyarglist",
- "list", "valuelist", "linearlist", "proplist", "proppair", YY_NULLPTR
+ "stmtoneliner", "stmtonelinerwithif", "stmt", "tellstart", "ifstmt",
+ "elseifstmtlist", "elseifstmt", "ifoneliner", "repeatwhile",
+ "repeatwith", "if", "elseif", "begin", "end", "stmtlist", "when",
+ "simpleexpr", "expr", "reference", "proc", "globallist", "propertylist",
+ "instancelist", "gotofunc", "gotomovie", "playfunc", "$@1", "defn",
+ "$@2", "$@3", "on", "argdef", "endargdef", "argstore", "macro",
+ "arglist", "nonemptyarglist", "list", "valuelist", "linearlist",
+ "proplist", "proppair", YY_NULLPTR
};
#endif
@@ -697,7 +698,7 @@ static const yytype_int16 yytoknum[] =
};
# endif
-#define YYPACT_NINF (-272)
+#define YYPACT_NINF (-253)
#define yypact_value_is_default(Yyn) \
((Yyn) == YYPACT_NINF)
@@ -711,41 +712,41 @@ static const yytype_int16 yytoknum[] =
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- 279, -82, -272, -272, 882, -272, 882, 882, 65, 916,
- -272, -272, -272, -272, -272, 22, 23, 765, -272, 67,
- 882, -35, 84, 71, 72, 882, 801, 75, 882, 882,
- 882, 882, 882, 882, -272, 80, 81, 882, 882, 882,
- 57, 6, -272, -272, -272, -272, -272, 882, 44, 882,
- 603, 882, -272, 1405, -272, -272, -272, -272, -272, -272,
- -272, -272, -272, 12, 882, 1405, 1405, 13, 13, -272,
- -272, 882, 1405, 15, 882, -272, -272, -272, 16, -272,
- 882, -272, 74, -272, 968, -272, -272, 955, 85, -272,
- -17, 65, -9, 64, 68, -272, 1322, -272, 968, -272,
- -272, 28, -272, 1017, 1050, 1083, 1116, 1372, -272, 30,
- -272, -272, -272, 1335, 32, 50, -272, -272, 55, 34,
- 61, -272, -272, 360, 1405, 882, 1405, -272, -272, 882,
- 1405, -272, -272, 1281, 882, 882, 882, 882, 882, 882,
- 882, 882, 882, 882, 882, 882, 882, 882, 882, 882,
- 882, 128, 882, 955, 882, 1335, -45, 882, 13, 128,
- 135, 1405, 882, -272, -272, 38, 882, 882, -272, 882,
- 882, -6, 882, 882, 882, -272, 882, -272, 136, 882,
- 882, 882, 882, 882, 882, 882, 882, 882, 882, 138,
- -272, 65, 65, -272, 65, 49, -272, -272, 1405, 115,
- -272, 1405, 882, -272, 31, 31, 31, 31, 1418, 1418,
- -272, -25, 31, 31, 31, 31, -25, -33, -33, -272,
- -272, -272, -71, 1405, -272, 1405, -26, -272, 1405, 128,
- -272, -272, 1405, 1405, 1405, 31, 882, 882, 1405, 31,
- 1405, 1405, -272, 1405, 1149, 1405, 1182, 1405, 1215, 1405,
- 1248, 1405, 1405, -272, -272, -272, -272, 32, 50, -272,
- 522, -10, -272, 118, 1405, 522, 73, 150, 73, -19,
- 1405, 31, 882, 882, 882, 882, -272, -272, 92, 139,
- 882, 522, 684, 105, 167, -272, -272, -272, 73, 1405,
- 1405, 1405, 1405, -272, 882, 1405, -272, -272, -272, -272,
- 441, 522, -272, 1405, -272, 53, -23, 168, 522, -272,
- 522, -272, -272, -272, 882, 113, -272, -272, -272, 101,
- 522, 119, -272, 1405, -272, 684, 175, 120, -272, 522,
- 156, -272, -272, -272, 123, -272, 124, -272, 522, -272,
- -272
+ 263, -77, -253, -253, 866, -253, 866, 866, 64, 900,
+ -253, -253, -253, -253, -253, -24, 30, 749, -253, 42,
+ 866, -31, 33, 66, 70, 866, 785, 78, 866, 866,
+ 866, 866, 866, 866, 866, 83, 88, 866, 866, 866,
+ 56, 6, -253, -253, -253, -253, -253, 866, 55, 866,
+ 587, -253, 1389, -253, -253, -253, -253, -253, -253, -253,
+ -253, -253, 23, 866, 1389, 1389, 22, 22, -253, -253,
+ 866, 1389, 24, 866, -253, -253, -253, 26, -253, 866,
+ -253, 80, -253, 952, -253, -253, 939, 96, -253, -36,
+ 64, 5, 75, 77, -253, 1306, -253, 952, -253, -253,
+ 32, -253, 1001, 1034, 1067, 1100, 1356, 1265, -253, 34,
+ -253, -253, -253, 1319, 27, 49, -253, -253, 52, 60,
+ 61, -253, -253, 344, 1389, 866, 1389, -253, -253, 866,
+ 1389, -253, -253, 866, 866, 866, 866, 866, 866, 866,
+ 866, 866, 866, 866, 866, 866, 866, 866, 866, 866,
+ 129, 866, 939, 866, 1319, 18, 866, 22, 129, 135,
+ 1389, 866, -253, -253, 37, 866, 866, -253, 866, 866,
+ 8, 866, 866, 866, -253, 866, -253, 137, 866, 866,
+ 866, 866, 866, 866, 866, 866, 866, 866, -253, -253,
+ 139, -253, 64, 64, -253, 64, 48, -253, -253, 1389,
+ 117, -253, 1389, 7, 7, 7, 7, 1402, 1402, -253,
+ 19, 7, 7, 7, 7, 19, -47, -47, -253, -253,
+ -253, -44, 1389, -253, 1389, -38, -253, 1389, 129, -253,
+ -253, 1389, 1389, 1389, 7, 866, 866, 1389, 7, 1389,
+ 1389, -253, 1389, 1133, 1389, 1166, 1389, 1199, 1389, 1232,
+ 1389, 1389, 668, -253, -253, -253, -253, -253, 27, 49,
+ -253, 506, 15, -253, 120, 76, 152, 76, 9, 1389,
+ 7, 866, 866, 866, 866, -253, 506, -253, -253, 103,
+ 138, 866, 506, 668, 168, -253, -253, -253, 76, 1389,
+ 1389, 1389, 1389, -253, 108, -253, 866, 1389, -253, -253,
+ -253, 425, 506, -253, -253, 1389, -253, 71, -20, 174,
+ 506, -253, 506, -253, -253, -253, 866, 116, -253, -253,
+ -253, 105, 506, 119, -253, 1389, -253, 668, 176, 121,
+ -253, 506, 155, -253, -253, -253, 123, -253, 124, -253,
+ 506, -253, -253
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -754,60 +755,60 @@ static const yytype_int16 yypact[] =
static const yytype_uint8 yydefact[] =
{
0, 0, 52, 62, 0, 53, 146, 146, 0, 56,
- 55, 54, 127, 132, 64, 102, 0, 0, 43, 0,
+ 55, 54, 127, 132, 64, 102, 0, 0, 44, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 51, 0, 0, 0, 0, 0,
152, 0, 3, 65, 26, 7, 27, 0, 0, 0,
- 0, 0, 58, 20, 59, 21, 99, 100, 6, 45,
- 19, 57, 4, 56, 0, 63, 147, 106, 60, 56,
- 97, 146, 149, 145, 146, 45, 101, 109, 103, 115,
- 0, 116, 0, 117, 118, 120, 129, 98, 0, 41,
- 0, 0, 0, 0, 0, 131, 108, 123, 124, 126,
- 113, 105, 79, 0, 0, 0, 0, 0, 111, 104,
+ 0, 58, 20, 59, 21, 99, 100, 6, 46, 19,
+ 57, 4, 56, 0, 63, 147, 106, 60, 56, 97,
+ 146, 149, 145, 146, 46, 101, 109, 103, 115, 0,
+ 116, 0, 117, 118, 120, 129, 98, 0, 42, 0,
+ 0, 0, 0, 0, 131, 108, 123, 124, 126, 113,
+ 105, 79, 0, 0, 0, 0, 0, 0, 111, 104,
136, 84, 85, 0, 55, 54, 153, 156, 0, 154,
- 155, 158, 1, 5, 46, 0, 46, 46, 25, 0,
+ 155, 158, 1, 5, 47, 0, 47, 47, 25, 0,
23, 24, 22, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 137, 146, 0, 0, 147, 0, 0, 128, 137,
- 0, 122, 0, 119, 45, 0, 0, 0, 42, 0,
- 0, 0, 0, 0, 0, 50, 0, 125, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 86, 0, 0, 151, 0, 0, 2, 47, 46, 0,
- 31, 46, 0, 47, 75, 76, 73, 74, 77, 78,
- 70, 81, 82, 83, 72, 71, 80, 66, 67, 68,
- 69, 138, 0, 148, 61, 150, 0, 110, 121, 137,
- 8, 9, 10, 11, 15, 13, 0, 0, 14, 12,
- 18, 107, 114, 89, 0, 91, 0, 93, 0, 95,
- 0, 87, 88, 112, 161, 160, 157, 0, 0, 159,
- 46, 0, 47, 0, 33, 46, 144, 0, 144, 0,
- 16, 17, 0, 0, 0, 0, 48, 49, 0, 0,
- 0, 46, 0, 0, 0, 47, 139, 47, 144, 90,
- 92, 94, 96, 28, 0, 46, 36, 46, 32, 140,
- 135, 133, 47, 46, 47, 46, 0, 141, 130, 47,
- 46, 45, 44, 37, 0, 0, 45, 40, 142, 134,
- 46, 0, 47, 46, 34, 0, 0, 0, 29, 46,
- 0, 46, 143, 30, 0, 47, 0, 35, 46, 39,
- 38
+ 137, 146, 0, 0, 147, 0, 0, 128, 137, 0,
+ 122, 0, 119, 46, 0, 0, 0, 43, 0, 0,
+ 0, 0, 0, 0, 51, 0, 125, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 34, 34,
+ 0, 86, 0, 0, 151, 0, 0, 2, 48, 47,
+ 0, 31, 47, 75, 76, 73, 74, 77, 78, 70,
+ 81, 82, 83, 72, 71, 80, 66, 67, 68, 69,
+ 138, 0, 148, 61, 150, 0, 110, 121, 137, 8,
+ 9, 10, 11, 15, 13, 0, 0, 14, 12, 18,
+ 107, 114, 89, 0, 91, 0, 93, 0, 95, 0,
+ 87, 88, 0, 48, 112, 161, 160, 157, 0, 0,
+ 159, 47, 0, 48, 0, 144, 0, 144, 0, 16,
+ 17, 0, 0, 0, 0, 47, 47, 49, 50, 0,
+ 0, 0, 47, 0, 0, 48, 139, 48, 144, 90,
+ 92, 94, 96, 33, 0, 28, 0, 47, 37, 47,
+ 140, 135, 133, 48, 32, 47, 48, 47, 0, 141,
+ 130, 48, 47, 46, 45, 38, 0, 0, 46, 41,
+ 142, 134, 47, 0, 48, 47, 35, 0, 0, 0,
+ 29, 47, 0, 47, 143, 30, 0, 48, 0, 36,
+ 47, 40, 39
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -272, -272, 82, -272, -271, -272, 4, -272, -272, -272,
- -272, -272, -272, 157, -272, -74, -75, -88, -272, -272,
- 0, -4, 43, 159, -272, -272, -272, -272, 10, -272,
- -272, -272, -272, -272, -272, -149, -272, -256, 160, 11,
- -272, -272, -272, -272, -272, 17
+ -253, -253, 82, -253, -243, -253, 4, 17, -253, -253,
+ -253, -253, -253, -253, 157, -253, -73, -89, -65, -253,
+ -1, -4, 45, 161, -253, -253, -253, -253, -18, -253,
+ -253, -253, -253, -253, -253, -146, -253, -252, 162, 25,
+ -253, -253, -253, -253, -253, 21
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 41, 42, 43, 44, 127, 277, 46, 305, 313,
- 128, 47, 48, 49, 314, 151, 197, 260, 50, 51,
- 52, 53, 54, 55, 78, 109, 101, 56, 85, 57,
- 74, 58, 164, 75, 59, 222, 319, 285, 60, 156,
- 73, 61, 118, 119, 120, 121
+ -1, 41, 42, 43, 44, 127, 278, 252, 46, 307,
+ 315, 128, 47, 48, 49, 316, 150, 198, 261, 50,
+ 51, 52, 53, 54, 77, 109, 100, 55, 84, 56,
+ 73, 57, 163, 74, 58, 221, 321, 285, 59, 155,
+ 72, 60, 118, 119, 120, 121
};
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
@@ -815,278 +816,282 @@ static const yytype_int16 yydefgoto[] =
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 65, 159, 66, 66, 45, 72, 122, 316, 70, 62,
- 226, 297, 287, 84, 88, 89, 87, 67, 68, 279,
- 266, 96, 98, 267, 102, 103, 104, 105, 106, 107,
- 169, 140, 302, 111, 112, 113, 99, 280, 172, 140,
- 117, 236, 170, 124, 77, 126, 130, 133, 224, 154,
- 173, 199, 200, 237, 331, 149, 150, 317, 8, 230,
- 153, 147, 148, 149, 150, 268, 76, 155, 267, 2,
- 66, 257, 288, 258, 5, 267, 161, 2, 69, 114,
- 269, 115, 5, 311, 312, 158, 69, 10, 86, 11,
- 229, 171, 94, 95, 163, 140, 100, 123, 141, 90,
- 91, 108, 110, 125, 152, 92, 168, 154, 177, 157,
- 160, 174, 93, 162, 175, 265, 146, 147, 148, 149,
- 150, 198, 178, 261, 189, 201, 263, 45, 194, 191,
+ 64, 158, 65, 65, 45, 71, 122, 69, 98, 275,
+ 318, 168, 225, 83, 61, 287, 86, 139, 87, 88,
+ 75, 95, 97, 169, 101, 102, 103, 104, 105, 106,
+ 107, 66, 67, 111, 112, 113, 303, 200, 201, 117,
+ 299, 148, 149, 124, 280, 126, 130, 265, 89, 90,
+ 266, 76, 171, 267, 91, 235, 266, 8, 229, 152,
+ 319, 92, 281, 85, 172, 162, 154, 236, 2, 65,
+ 258, 139, 259, 5, 140, 160, 2, 68, 114, 176,
+ 115, 5, 268, 139, 333, 68, 10, 93, 11, 170,
+ 228, 94, 145, 146, 147, 148, 149, 123, 157, 99,
+ 288, 313, 314, 266, 108, 146, 147, 148, 149, 110,
+ 262, 223, 153, 264, 125, 151, 153, 167, 156, 161,
+ 159, 199, 173, 174, 192, 202, 177, 45, 190, 203,
204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
- 214, 215, 216, 217, 218, 219, 220, 192, 66, 221,
- 223, 193, 40, 225, 116, 195, 227, 242, 228, 253,
- 40, 262, 232, 233, 282, 234, 235, 284, 238, 239,
- 240, 286, 241, 293, 281, 243, 244, 245, 246, 247,
- 248, 249, 250, 251, 252, 278, 294, 298, 299, 318,
- 283, 254, 255, 324, 256, 326, 332, 300, 264, 301,
- 328, 333, 335, 337, 339, 196, 296, 129, 231, 131,
- 132, 0, 259, 0, 308, 0, 310, 0, 0, 0,
- 304, 320, 306, 0, 0, 0, 0, 0, 309, 0,
- 315, 0, 270, 271, 329, 321, 0, 322, 0, 0,
- 0, 0, 325, 0, 0, 327, 0, 338, 330, 0,
- 0, 0, 0, 0, 334, 0, 336, 0, 0, 0,
- 0, 0, 0, 340, 0, 0, 0, 0, 289, 290,
- 291, 292, 0, 0, 0, 0, 295, 0, 0, -5,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 303, 2, 0, 0, 3, 4, 5, 6, 7, 8,
- 9, 10, 0, 11, 0, 12, 13, 14, 0, 0,
- 323, 15, 16, 17, 18, 0, 0, 19, 0, 0,
- 0, 0, 20, 21, 22, 0, 0, 23, 0, 0,
- 0, 24, 25, 26, 0, 27, 0, 0, 0, 0,
- 0, 0, 28, 0, 0, 0, 0, 0, 0, 29,
- 30, 31, 32, 33, 0, 0, 34, 35, 36, 0,
- 0, 0, 0, 0, 0, 37, 38, 0, 0, 0,
- -5, 39, 2, 0, 40, 3, 4, 5, 6, 7,
- 8, 9, 10, 0, 11, 0, 12, 13, 14, 0,
- 0, 0, 15, 16, 17, 18, 0, 0, 19, 0,
- 0, 0, 0, 20, 21, 22, 0, 0, 23, 0,
- 0, 0, 24, 25, 26, 0, 27, 0, 0, 0,
- 0, 0, 0, 28, 0, 0, 0, 0, 0, 0,
- 29, 30, 31, 32, 33, 0, 0, 34, 35, 36,
- 0, 0, 0, 0, 0, 0, 37, 38, 0, 0,
- 0, 0, 39, 2, 0, 40, 3, 4, 5, 6,
- 7, 8, 9, 10, 0, 11, 307, 12, 0, 14,
- 0, 0, 0, 15, 16, 17, 18, 0, 0, 0,
- 0, 0, 0, 0, 20, 21, 22, 0, 0, 23,
- 0, 0, 0, 0, 25, 26, 0, 27, 0, 0,
- 0, 0, 0, 0, 28, 0, 0, 0, 0, 0,
- 0, 29, 30, 31, 32, 33, 0, 0, 34, 35,
- 0, 0, 0, 0, 0, 0, 0, 37, 38, 0,
- 0, 0, 276, 39, 2, 0, 40, 3, 4, 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, 20, 21, 22, 0, 0,
- 23, 0, 0, 0, 0, 25, 26, 0, 27, 0,
- 0, 0, 0, 0, 0, 28, 0, 0, 0, 0,
- 0, 0, 29, 30, 31, 32, 33, 0, 0, 34,
- 35, 0, 0, 0, 0, 0, 0, 0, 37, 38,
- 0, 0, 0, 276, 39, 2, 0, 40, 3, 4,
+ 214, 215, 216, 217, 218, 219, 193, 65, 194, 222,
+ 220, 40, 224, 116, 195, 196, 226, 227, 241, 40,
+ 254, 231, 232, 263, 233, 234, 283, 237, 238, 239,
+ 284, 240, 279, 286, 242, 243, 244, 245, 246, 247,
+ 248, 249, 250, 251, 295, 296, 293, 294, 276, 300,
+ 304, 255, 256, 298, 257, 320, 326, 334, 282, 328,
+ 330, 337, 335, 339, 341, 197, 253, 129, 306, 230,
+ 308, 131, 132, 0, 0, 0, 311, 260, 317, 0,
+ 301, 0, 302, 323, 0, 0, 0, 0, 0, 0,
+ 0, 269, 270, 329, 0, 0, 332, 0, 310, 0,
+ 324, 312, 336, 0, 338, 327, 322, 0, 0, 0,
+ 0, 342, 0, 0, 0, 0, 0, 0, 0, 331,
+ 0, 0, 0, -5, 1, 0, 0, 289, 290, 291,
+ 292, 0, 340, 0, 0, 2, 0, 297, 3, 4,
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, 20, 0, 22, 0,
- 0, 0, 0, 0, 0, 0, 25, 26, 0, 27,
+ 13, 14, 305, 0, 0, 15, 16, 17, 18, 0,
+ 0, 19, 0, 0, 0, 0, 20, 21, 22, 0,
+ 0, 23, 325, 0, 0, 24, 25, 26, 0, 27,
0, 0, 0, 0, 0, 0, 28, 0, 0, 0,
0, 0, 0, 29, 30, 31, 32, 33, 0, 0,
- 0, 35, 0, 0, 0, 0, 0, 0, 0, 37,
- 38, 0, 0, 0, 0, 39, 2, 0, 40, 3,
+ 34, 35, 36, 0, 0, 0, 0, 0, 0, 37,
+ 38, 0, 0, 0, -5, 39, 2, 0, 40, 3,
4, 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, 20, 0, 22,
- 0, 0, 0, 0, 0, 0, 0, 25, 26, 0,
+ 12, 13, 14, 0, 0, 0, 15, 16, 17, 18,
+ 0, 0, 19, 0, 0, 0, 0, 20, 21, 22,
+ 0, 0, 23, 0, 0, 0, 24, 25, 26, 0,
27, 0, 0, 0, 0, 0, 0, 28, 0, 0,
0, 0, 0, 0, 29, 30, 31, 32, 33, 0,
- 0, 0, 35, 0, 0, 0, 0, 0, 0, 0,
+ 0, 34, 35, 36, 0, 0, 0, 0, 0, 0,
37, 38, 0, 0, 0, 0, 39, 2, 0, 40,
- 3, 4, 5, 0, 7, 8, 63, 10, 0, 11,
- 0, 0, 0, 14, 0, 0, 0, 0, 0, 0,
- 0, 0, 79, 0, 80, 81, 82, 83, 64, 0,
- 22, 0, 0, 2, 0, 0, 3, 4, 5, 0,
- 7, 8, 63, 10, 0, 11, 0, 0, 28, 14,
+ 3, 4, 5, 6, 7, 8, 9, 10, 0, 11,
+ 309, 12, 0, 14, 0, 0, 0, 15, 16, 17,
+ 18, 0, 0, 0, 0, 0, 0, 0, 20, 21,
+ 22, 0, 0, 23, 0, 0, 0, 0, 25, 26,
+ 0, 27, 0, 0, 0, 0, 0, 0, 28, 0,
0, 0, 0, 0, 0, 29, 30, 31, 32, 33,
- 80, 0, 82, 0, 64, 0, 22, 0, 0, 0,
- 0, 37, 38, 0, 0, 0, 97, 39, 0, 0,
- 40, 0, 0, 0, 28, 0, 0, 0, 0, 0,
- 0, 29, 30, 31, 32, 33, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 37, 38, 0,
- 0, 0, 0, 39, 2, 0, 40, 3, 4, 5,
- 0, 7, 8, 63, 10, 0, 11, 0, 0, 0,
- 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 64, 0, 22, 2, 0,
- 0, 3, 4, 5, 0, 7, 8, 63, 10, 0,
- 11, 0, 0, 0, 14, 28, 0, 0, 0, 0,
- 0, 0, 29, 30, 31, 32, 33, 0, 0, 64,
- 0, 22, 0, 0, 0, 0, 0, 0, 37, 38,
- 0, 0, 0, 0, 39, 0, 0, 40, 0, 28,
+ 0, 0, 34, 35, 0, 0, 0, 0, 0, 0,
+ 0, 37, 38, 0, 0, 0, 277, 39, 2, 0,
+ 40, 3, 4, 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, 20,
+ 21, 22, 0, 0, 23, 0, 0, 0, 0, 25,
+ 26, 0, 27, 0, 0, 0, 0, 0, 0, 28,
+ 0, 0, 0, 0, 0, 0, 29, 30, 31, 32,
+ 33, 0, 0, 34, 35, 0, 0, 0, 0, 0,
+ 0, 0, 37, 38, 0, 0, 0, 277, 39, 2,
+ 0, 40, 3, 4, 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,
+ 20, 0, 22, 0, 0, 0, 0, 0, 0, 0,
+ 25, 26, 0, 27, 0, 0, 0, 0, 0, 0,
+ 28, 0, 0, 0, 0, 0, 0, 29, 30, 31,
+ 32, 33, 0, 0, 0, 35, 0, 0, 0, 0,
+ 0, 0, 0, 37, 38, 0, 0, 0, 0, 39,
+ 2, 0, 40, 3, 4, 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, 20, 0, 22, 0, 0, 0, 0, 0, 0,
+ 0, 25, 26, 0, 27, 0, 0, 0, 0, 0,
+ 0, 28, 0, 0, 0, 0, 0, 0, 29, 30,
+ 31, 32, 33, 0, 0, 0, 35, 0, 0, 0,
+ 0, 0, 0, 0, 37, 38, 0, 0, 0, 0,
+ 39, 2, 0, 40, 3, 4, 5, 0, 7, 8,
+ 62, 10, 0, 11, 0, 0, 0, 14, 0, 0,
+ 0, 0, 0, 0, 0, 0, 78, 0, 79, 80,
+ 81, 82, 63, 0, 22, 0, 0, 2, 0, 0,
+ 3, 4, 5, 0, 7, 8, 62, 10, 0, 11,
+ 0, 0, 28, 14, 0, 0, 0, 0, 0, 29,
+ 30, 31, 32, 33, 79, 0, 81, 0, 63, 0,
+ 22, 0, 0, 0, 0, 37, 38, 0, 0, 0,
+ 96, 39, 0, 0, 40, 0, 0, 0, 28, 0,
+ 0, 0, 0, 0, 0, 29, 30, 31, 32, 33,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 37, 38, 0, 0, 0, 0, 39, 2, 0,
+ 40, 3, 4, 5, 0, 7, 8, 62, 10, 0,
+ 11, 0, 0, 0, 14, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
+ 0, 22, 2, 0, 0, 3, 4, 5, 0, 7,
+ 8, 62, 10, 0, 11, 0, 0, 0, 14, 28,
0, 0, 0, 0, 0, 0, 29, 30, 31, 32,
- 33, 165, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 37, 38, 0, 0, 0, 80, 71, 82,
- 0, 40, 134, 135, 136, 137, 138, 139, 0, 140,
- 166, 167, 141, 142, 143, 134, 135, 136, 137, 138,
- 139, 0, 140, 0, 0, 141, 142, 143, 144, 145,
- 146, 147, 148, 149, 150, 0, 0, 0, 0, 0,
- 0, 144, 145, 146, 147, 148, 149, 150, 179, 0,
- 0, 0, 0, 0, 180, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 134, 135, 136, 137, 138, 139,
- 0, 140, 0, 0, 141, 142, 143, 0, 0, 0,
- 0, 181, 0, 0, 0, 0, 0, 182, 0, 0,
- 144, 145, 146, 147, 148, 149, 150, 134, 135, 136,
- 137, 138, 139, 0, 140, 0, 0, 141, 142, 143,
- 0, 0, 0, 0, 183, 0, 0, 0, 0, 0,
- 184, 0, 0, 144, 145, 146, 147, 148, 149, 150,
- 134, 135, 136, 137, 138, 139, 0, 140, 0, 0,
- 141, 142, 143, 0, 0, 0, 0, 185, 0, 0,
- 0, 0, 0, 186, 0, 0, 144, 145, 146, 147,
- 148, 149, 150, 134, 135, 136, 137, 138, 139, 0,
- 140, 0, 0, 141, 142, 143, 0, 0, 0, 0,
- 272, 0, 0, 0, 0, 0, 0, 0, 0, 144,
- 145, 146, 147, 148, 149, 150, 134, 135, 136, 137,
- 138, 139, 0, 140, 0, 0, 141, 142, 143, 0,
- 0, 0, 0, 273, 0, 0, 0, 0, 0, 0,
- 0, 0, 144, 145, 146, 147, 148, 149, 150, 134,
- 135, 136, 137, 138, 139, 0, 140, 0, 0, 141,
- 142, 143, 0, 0, 0, 0, 274, 0, 0, 0,
- 0, 0, 0, 0, 0, 144, 145, 146, 147, 148,
- 149, 150, 134, 135, 136, 137, 138, 139, 0, 140,
- 0, 0, 141, 142, 143, 0, 0, 0, 0, 275,
- 0, 0, 0, 0, 0, 0, 0, 0, 144, 145,
- 146, 147, 148, 149, 150, 134, 135, 136, 137, 138,
- 139, 0, 140, 0, 0, 141, 142, 143, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 202, 0,
- 0, 144, 145, 146, 147, 148, 149, 150, 134, 135,
- 136, 137, 138, 139, 0, 140, 0, 0, 141, 142,
- 143, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 144, 145, 146, 147, 148, 149,
- 150, 176, 203, 0, 0, 0, 0, 0, 0, 134,
- 135, 136, 137, 138, 139, 0, 140, 0, 0, 141,
- 142, 143, 134, 135, 136, 137, 138, 139, 0, 140,
- 0, 0, 141, 142, 143, 144, 145, 146, 147, 148,
- 149, 150, 0, 0, 0, 0, 0, 0, 144, 145,
- 146, 147, 148, 149, 150, 0, 0, 0, 190, 134,
- 135, 136, 137, 138, 139, 0, 140, 0, 0, 141,
- 142, 143, 0, 0, 0, 0, 0, 187, 188, 0,
- 0, 0, 0, 0, 0, 144, 145, 146, 147, 148,
- 149, 150, 134, 135, 136, 137, 138, 139, 0, 140,
- 0, 0, 141, 142, 143, 134, 135, 136, 137, 0,
- 0, 0, 140, 0, 0, 141, 142, 143, 144, 145,
- 146, 147, 148, 149, 150, 0, 0, 0, 0, 0,
- 0, 144, 145, 146, 147, 148, 149, 150
+ 33, 0, 0, 63, 0, 22, 0, 0, 0, 0,
+ 0, 0, 37, 38, 0, 0, 0, 0, 39, 0,
+ 0, 40, 0, 28, 0, 0, 0, 0, 0, 0,
+ 29, 30, 31, 32, 33, 164, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 37, 38, 0, 0,
+ 0, 79, 70, 81, 0, 40, 133, 134, 135, 136,
+ 137, 138, 0, 139, 165, 166, 140, 141, 142, 133,
+ 134, 135, 136, 137, 138, 0, 139, 0, 0, 140,
+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 0,
+ 0, 0, 0, 0, 0, 143, 144, 145, 146, 147,
+ 148, 149, 178, 0, 0, 0, 0, 0, 179, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 133, 134,
+ 135, 136, 137, 138, 0, 139, 0, 0, 140, 141,
+ 142, 0, 0, 0, 0, 180, 0, 0, 0, 0,
+ 0, 181, 0, 0, 143, 144, 145, 146, 147, 148,
+ 149, 133, 134, 135, 136, 137, 138, 0, 139, 0,
+ 0, 140, 141, 142, 0, 0, 0, 0, 182, 0,
+ 0, 0, 0, 0, 183, 0, 0, 143, 144, 145,
+ 146, 147, 148, 149, 133, 134, 135, 136, 137, 138,
+ 0, 139, 0, 0, 140, 141, 142, 0, 0, 0,
+ 0, 184, 0, 0, 0, 0, 0, 185, 0, 0,
+ 143, 144, 145, 146, 147, 148, 149, 133, 134, 135,
+ 136, 137, 138, 0, 139, 0, 0, 140, 141, 142,
+ 0, 0, 0, 0, 271, 0, 0, 0, 0, 0,
+ 0, 0, 0, 143, 144, 145, 146, 147, 148, 149,
+ 133, 134, 135, 136, 137, 138, 0, 139, 0, 0,
+ 140, 141, 142, 0, 0, 0, 0, 272, 0, 0,
+ 0, 0, 0, 0, 0, 0, 143, 144, 145, 146,
+ 147, 148, 149, 133, 134, 135, 136, 137, 138, 0,
+ 139, 0, 0, 140, 141, 142, 0, 0, 0, 0,
+ 273, 0, 0, 0, 0, 0, 0, 0, 0, 143,
+ 144, 145, 146, 147, 148, 149, 133, 134, 135, 136,
+ 137, 138, 0, 139, 0, 0, 140, 141, 142, 0,
+ 0, 0, 0, 274, 0, 0, 0, 0, 0, 0,
+ 0, 0, 143, 144, 145, 146, 147, 148, 149, 133,
+ 134, 135, 136, 137, 138, 0, 139, 0, 0, 140,
+ 141, 142, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 188, 0, 0, 143, 144, 145, 146, 147,
+ 148, 149, 133, 134, 135, 136, 137, 138, 0, 139,
+ 0, 0, 140, 141, 142, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 143, 144,
+ 145, 146, 147, 148, 149, 175, 189, 0, 0, 0,
+ 0, 0, 0, 133, 134, 135, 136, 137, 138, 0,
+ 139, 0, 0, 140, 141, 142, 133, 134, 135, 136,
+ 137, 138, 0, 139, 0, 0, 140, 141, 142, 143,
+ 144, 145, 146, 147, 148, 149, 0, 0, 0, 0,
+ 0, 0, 143, 144, 145, 146, 147, 148, 149, 0,
+ 0, 0, 191, 133, 134, 135, 136, 137, 138, 0,
+ 139, 0, 0, 140, 141, 142, 0, 0, 0, 0,
+ 0, 186, 187, 0, 0, 0, 0, 0, 0, 143,
+ 144, 145, 146, 147, 148, 149, 133, 134, 135, 136,
+ 137, 138, 0, 139, 0, 0, 140, 141, 142, 133,
+ 134, 135, 136, 0, 0, 0, 139, 0, 0, 140,
+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 0,
+ 0, 0, 0, 0, 0, 143, 144, 145, 146, 147,
+ 148, 149
};
static const yytype_int16 yycheck[] =
{
- 4, 75, 6, 7, 0, 9, 0, 30, 8, 91,
- 159, 282, 268, 17, 49, 50, 20, 6, 7, 29,
- 91, 25, 26, 94, 28, 29, 30, 31, 32, 33,
- 47, 64, 288, 37, 38, 39, 26, 47, 47, 64,
- 40, 47, 59, 47, 21, 49, 50, 51, 93, 94,
- 59, 126, 127, 59, 325, 88, 89, 80, 20, 21,
- 64, 86, 87, 88, 89, 91, 44, 71, 94, 12,
- 74, 22, 91, 24, 17, 94, 80, 12, 21, 22,
- 229, 24, 17, 30, 31, 74, 21, 22, 21, 24,
- 164, 91, 21, 21, 84, 64, 21, 91, 67, 15,
- 16, 21, 21, 59, 92, 21, 21, 94, 98, 94,
- 94, 47, 28, 39, 46, 203, 85, 86, 87, 88,
- 89, 125, 94, 198, 94, 129, 201, 123, 94, 97,
+ 4, 74, 6, 7, 0, 9, 0, 8, 26, 252,
+ 30, 47, 158, 17, 91, 267, 20, 64, 49, 50,
+ 44, 25, 26, 59, 28, 29, 30, 31, 32, 33,
+ 34, 6, 7, 37, 38, 39, 288, 126, 127, 40,
+ 283, 88, 89, 47, 29, 49, 50, 91, 15, 16,
+ 94, 21, 47, 91, 21, 47, 94, 20, 21, 63,
+ 80, 28, 47, 21, 59, 83, 70, 59, 12, 73,
+ 22, 64, 24, 17, 67, 79, 12, 21, 22, 97,
+ 24, 17, 228, 64, 327, 21, 22, 21, 24, 90,
+ 163, 21, 85, 86, 87, 88, 89, 91, 73, 21,
+ 91, 30, 31, 94, 21, 86, 87, 88, 89, 21,
+ 199, 93, 94, 202, 59, 92, 94, 21, 94, 39,
+ 94, 125, 47, 46, 97, 129, 94, 123, 94, 133,
134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
- 144, 145, 146, 147, 148, 149, 150, 97, 152, 21,
- 154, 96, 95, 157, 97, 94, 21, 21, 162, 21,
- 95, 46, 166, 167, 46, 169, 170, 94, 172, 173,
- 174, 21, 176, 81, 262, 179, 180, 181, 182, 183,
- 184, 185, 186, 187, 188, 260, 47, 82, 21, 21,
- 265, 191, 192, 80, 194, 94, 21, 285, 202, 287,
- 81, 81, 46, 80, 80, 123, 281, 50, 165, 50,
- 50, -1, 195, -1, 302, -1, 304, -1, -1, -1,
- 295, 309, 297, -1, -1, -1, -1, -1, 303, -1,
- 305, -1, 236, 237, 322, 310, -1, 311, -1, -1,
- -1, -1, 316, -1, -1, 320, -1, 335, 323, -1,
- -1, -1, -1, -1, 329, -1, 331, -1, -1, -1,
- -1, -1, -1, 338, -1, -1, -1, -1, 272, 273,
- 274, 275, -1, -1, -1, -1, 280, -1, -1, 0,
- 1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 294, 12, -1, -1, 15, 16, 17, 18, 19, 20,
- 21, 22, -1, 24, -1, 26, 27, 28, -1, -1,
- 314, 32, 33, 34, 35, -1, -1, 38, -1, -1,
- -1, -1, 43, 44, 45, -1, -1, 48, -1, -1,
- -1, 52, 53, 54, -1, 56, -1, -1, -1, -1,
- -1, -1, 63, -1, -1, -1, -1, -1, -1, 70,
- 71, 72, 73, 74, -1, -1, 77, 78, 79, -1,
- -1, -1, -1, -1, -1, 86, 87, -1, -1, -1,
- 91, 92, 12, -1, 95, 15, 16, 17, 18, 19,
- 20, 21, 22, -1, 24, -1, 26, 27, 28, -1,
- -1, -1, 32, 33, 34, 35, -1, -1, 38, -1,
- -1, -1, -1, 43, 44, 45, -1, -1, 48, -1,
- -1, -1, 52, 53, 54, -1, 56, -1, -1, -1,
- -1, -1, -1, 63, -1, -1, -1, -1, -1, -1,
- 70, 71, 72, 73, 74, -1, -1, 77, 78, 79,
- -1, -1, -1, -1, -1, -1, 86, 87, -1, -1,
- -1, -1, 92, 12, -1, 95, 15, 16, 17, 18,
- 19, 20, 21, 22, -1, 24, 25, 26, -1, 28,
- -1, -1, -1, 32, 33, 34, 35, -1, -1, -1,
- -1, -1, -1, -1, 43, 44, 45, -1, -1, 48,
- -1, -1, -1, -1, 53, 54, -1, 56, -1, -1,
- -1, -1, -1, -1, 63, -1, -1, -1, -1, -1,
- -1, 70, 71, 72, 73, 74, -1, -1, 77, 78,
- -1, -1, -1, -1, -1, -1, -1, 86, 87, -1,
- -1, -1, 91, 92, 12, -1, 95, 15, 16, 17,
- 18, 19, 20, 21, 22, -1, 24, -1, 26, -1,
- 28, -1, -1, -1, 32, 33, 34, 35, -1, -1,
- -1, -1, -1, -1, -1, 43, 44, 45, -1, -1,
- 48, -1, -1, -1, -1, 53, 54, -1, 56, -1,
- -1, -1, -1, -1, -1, 63, -1, -1, -1, -1,
- -1, -1, 70, 71, 72, 73, 74, -1, -1, 77,
- 78, -1, -1, -1, -1, -1, -1, -1, 86, 87,
- -1, -1, -1, 91, 92, 12, -1, 95, 15, 16,
+ 144, 145, 146, 147, 148, 149, 97, 151, 96, 153,
+ 21, 95, 156, 97, 94, 94, 21, 161, 21, 95,
+ 21, 165, 166, 46, 168, 169, 46, 171, 172, 173,
+ 94, 175, 261, 21, 178, 179, 180, 181, 182, 183,
+ 184, 185, 186, 187, 81, 47, 275, 276, 253, 21,
+ 82, 192, 193, 282, 195, 21, 80, 21, 263, 94,
+ 81, 46, 81, 80, 80, 123, 189, 50, 297, 164,
+ 299, 50, 50, -1, -1, -1, 305, 196, 307, -1,
+ 285, -1, 287, 312, -1, -1, -1, -1, -1, -1,
+ -1, 235, 236, 322, -1, -1, 325, -1, 303, -1,
+ 313, 306, 331, -1, 333, 318, 311, -1, -1, -1,
+ -1, 340, -1, -1, -1, -1, -1, -1, -1, 324,
+ -1, -1, -1, 0, 1, -1, -1, 271, 272, 273,
+ 274, -1, 337, -1, -1, 12, -1, 281, 15, 16,
17, 18, 19, 20, 21, 22, -1, 24, -1, 26,
- -1, 28, -1, -1, -1, 32, 33, 34, 35, -1,
- -1, -1, -1, -1, -1, -1, 43, -1, 45, -1,
- -1, -1, -1, -1, -1, -1, 53, 54, -1, 56,
+ 27, 28, 296, -1, -1, 32, 33, 34, 35, -1,
+ -1, 38, -1, -1, -1, -1, 43, 44, 45, -1,
+ -1, 48, 316, -1, -1, 52, 53, 54, -1, 56,
-1, -1, -1, -1, -1, -1, 63, -1, -1, -1,
-1, -1, -1, 70, 71, 72, 73, 74, -1, -1,
- -1, 78, -1, -1, -1, -1, -1, -1, -1, 86,
- 87, -1, -1, -1, -1, 92, 12, -1, 95, 15,
+ 77, 78, 79, -1, -1, -1, -1, -1, -1, 86,
+ 87, -1, -1, -1, 91, 92, 12, -1, 95, 15,
16, 17, 18, 19, 20, 21, 22, -1, 24, -1,
- 26, -1, 28, -1, -1, -1, 32, 33, 34, -1,
- -1, -1, -1, -1, -1, -1, -1, 43, -1, 45,
- -1, -1, -1, -1, -1, -1, -1, 53, 54, -1,
+ 26, 27, 28, -1, -1, -1, 32, 33, 34, 35,
+ -1, -1, 38, -1, -1, -1, -1, 43, 44, 45,
+ -1, -1, 48, -1, -1, -1, 52, 53, 54, -1,
56, -1, -1, -1, -1, -1, -1, 63, -1, -1,
-1, -1, -1, -1, 70, 71, 72, 73, 74, -1,
- -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
+ -1, 77, 78, 79, -1, -1, -1, -1, -1, -1,
86, 87, -1, -1, -1, -1, 92, 12, -1, 95,
+ 15, 16, 17, 18, 19, 20, 21, 22, -1, 24,
+ 25, 26, -1, 28, -1, -1, -1, 32, 33, 34,
+ 35, -1, -1, -1, -1, -1, -1, -1, 43, 44,
+ 45, -1, -1, 48, -1, -1, -1, -1, 53, 54,
+ -1, 56, -1, -1, -1, -1, -1, -1, 63, -1,
+ -1, -1, -1, -1, -1, 70, 71, 72, 73, 74,
+ -1, -1, 77, 78, -1, -1, -1, -1, -1, -1,
+ -1, 86, 87, -1, -1, -1, 91, 92, 12, -1,
+ 95, 15, 16, 17, 18, 19, 20, 21, 22, -1,
+ 24, -1, 26, -1, 28, -1, -1, -1, 32, 33,
+ 34, 35, -1, -1, -1, -1, -1, -1, -1, 43,
+ 44, 45, -1, -1, 48, -1, -1, -1, -1, 53,
+ 54, -1, 56, -1, -1, -1, -1, -1, -1, 63,
+ -1, -1, -1, -1, -1, -1, 70, 71, 72, 73,
+ 74, -1, -1, 77, 78, -1, -1, -1, -1, -1,
+ -1, -1, 86, 87, -1, -1, -1, 91, 92, 12,
+ -1, 95, 15, 16, 17, 18, 19, 20, 21, 22,
+ -1, 24, -1, 26, -1, 28, -1, -1, -1, 32,
+ 33, 34, 35, -1, -1, -1, -1, -1, -1, -1,
+ 43, -1, 45, -1, -1, -1, -1, -1, -1, -1,
+ 53, 54, -1, 56, -1, -1, -1, -1, -1, -1,
+ 63, -1, -1, -1, -1, -1, -1, 70, 71, 72,
+ 73, 74, -1, -1, -1, 78, -1, -1, -1, -1,
+ -1, -1, -1, 86, 87, -1, -1, -1, -1, 92,
+ 12, -1, 95, 15, 16, 17, 18, 19, 20, 21,
+ 22, -1, 24, -1, 26, -1, 28, -1, -1, -1,
+ 32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
+ -1, 43, -1, 45, -1, -1, -1, -1, -1, -1,
+ -1, 53, 54, -1, 56, -1, -1, -1, -1, -1,
+ -1, 63, -1, -1, -1, -1, -1, -1, 70, 71,
+ 72, 73, 74, -1, -1, -1, 78, -1, -1, -1,
+ -1, -1, -1, -1, 86, 87, -1, -1, -1, -1,
+ 92, 12, -1, 95, 15, 16, 17, -1, 19, 20,
+ 21, 22, -1, 24, -1, -1, -1, 28, -1, -1,
+ -1, -1, -1, -1, -1, -1, 37, -1, 39, 40,
+ 41, 42, 43, -1, 45, -1, -1, 12, -1, -1,
15, 16, 17, -1, 19, 20, 21, 22, -1, 24,
- -1, -1, -1, 28, -1, -1, -1, -1, -1, -1,
- -1, -1, 37, -1, 39, 40, 41, 42, 43, -1,
- 45, -1, -1, 12, -1, -1, 15, 16, 17, -1,
- 19, 20, 21, 22, -1, 24, -1, -1, 63, 28,
+ -1, -1, 63, 28, -1, -1, -1, -1, -1, 70,
+ 71, 72, 73, 74, 39, -1, 41, -1, 43, -1,
+ 45, -1, -1, -1, -1, 86, 87, -1, -1, -1,
+ 55, 92, -1, -1, 95, -1, -1, -1, 63, -1,
-1, -1, -1, -1, -1, 70, 71, 72, 73, 74,
- 39, -1, 41, -1, 43, -1, 45, -1, -1, -1,
- -1, 86, 87, -1, -1, -1, 55, 92, -1, -1,
- 95, -1, -1, -1, 63, -1, -1, -1, -1, -1,
- -1, 70, 71, 72, 73, 74, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 86, 87, -1,
- -1, -1, -1, 92, 12, -1, 95, 15, 16, 17,
- -1, 19, 20, 21, 22, -1, 24, -1, -1, -1,
- 28, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 43, -1, 45, 12, -1,
- -1, 15, 16, 17, -1, 19, 20, 21, 22, -1,
- 24, -1, -1, -1, 28, 63, -1, -1, -1, -1,
- -1, -1, 70, 71, 72, 73, 74, -1, -1, 43,
- -1, 45, -1, -1, -1, -1, -1, -1, 86, 87,
- -1, -1, -1, -1, 92, -1, -1, 95, -1, 63,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 86, 87, -1, -1, -1, -1, 92, 12, -1,
+ 95, 15, 16, 17, -1, 19, 20, 21, 22, -1,
+ 24, -1, -1, -1, 28, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 43,
+ -1, 45, 12, -1, -1, 15, 16, 17, -1, 19,
+ 20, 21, 22, -1, 24, -1, -1, -1, 28, 63,
-1, -1, -1, -1, -1, -1, 70, 71, 72, 73,
- 74, 36, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 86, 87, -1, -1, -1, 39, 92, 41,
- -1, 95, 57, 58, 59, 60, 61, 62, -1, 64,
- 65, 66, 67, 68, 69, 57, 58, 59, 60, 61,
- 62, -1, 64, -1, -1, 67, 68, 69, 83, 84,
- 85, 86, 87, 88, 89, -1, -1, -1, -1, -1,
- -1, 83, 84, 85, 86, 87, 88, 89, 41, -1,
- -1, -1, -1, -1, 47, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 57, 58, 59, 60, 61, 62,
+ 74, -1, -1, 43, -1, 45, -1, -1, -1, -1,
+ -1, -1, 86, 87, -1, -1, -1, -1, 92, -1,
+ -1, 95, -1, 63, -1, -1, -1, -1, -1, -1,
+ 70, 71, 72, 73, 74, 36, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 86, 87, -1, -1,
+ -1, 39, 92, 41, -1, 95, 57, 58, 59, 60,
+ 61, 62, -1, 64, 65, 66, 67, 68, 69, 57,
+ 58, 59, 60, 61, 62, -1, 64, -1, -1, 67,
+ 68, 69, 83, 84, 85, 86, 87, 88, 89, -1,
+ -1, -1, -1, -1, -1, 83, 84, 85, 86, 87,
+ 88, 89, 41, -1, -1, -1, -1, -1, 47, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 57, 58,
+ 59, 60, 61, 62, -1, 64, -1, -1, 67, 68,
+ 69, -1, -1, -1, -1, 41, -1, -1, -1, -1,
+ -1, 47, -1, -1, 83, 84, 85, 86, 87, 88,
+ 89, 57, 58, 59, 60, 61, 62, -1, 64, -1,
+ -1, 67, 68, 69, -1, -1, -1, -1, 41, -1,
+ -1, -1, -1, -1, 47, -1, -1, 83, 84, 85,
+ 86, 87, 88, 89, 57, 58, 59, 60, 61, 62,
-1, 64, -1, -1, 67, 68, 69, -1, -1, -1,
-1, 41, -1, -1, -1, -1, -1, 47, -1, -1,
83, 84, 85, 86, 87, 88, 89, 57, 58, 59,
60, 61, 62, -1, 64, -1, -1, 67, 68, 69,
-1, -1, -1, -1, 41, -1, -1, -1, -1, -1,
- 47, -1, -1, 83, 84, 85, 86, 87, 88, 89,
+ -1, -1, -1, 83, 84, 85, 86, 87, 88, 89,
57, 58, 59, 60, 61, 62, -1, 64, -1, -1,
67, 68, 69, -1, -1, -1, -1, 41, -1, -1,
- -1, -1, -1, 47, -1, -1, 83, 84, 85, 86,
+ -1, -1, -1, -1, -1, -1, 83, 84, 85, 86,
87, 88, 89, 57, 58, 59, 60, 61, 62, -1,
64, -1, -1, 67, 68, 69, -1, -1, -1, -1,
41, -1, -1, -1, -1, -1, -1, -1, -1, 83,
@@ -1095,32 +1100,26 @@ static const yytype_int16 yycheck[] =
-1, -1, -1, 41, -1, -1, -1, -1, -1, -1,
-1, -1, 83, 84, 85, 86, 87, 88, 89, 57,
58, 59, 60, 61, 62, -1, 64, -1, -1, 67,
- 68, 69, -1, -1, -1, -1, 41, -1, -1, -1,
- -1, -1, -1, -1, -1, 83, 84, 85, 86, 87,
+ 68, 69, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 47, -1, -1, 83, 84, 85, 86, 87,
88, 89, 57, 58, 59, 60, 61, 62, -1, 64,
- -1, -1, 67, 68, 69, -1, -1, -1, -1, 41,
+ -1, -1, 67, 68, 69, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 83, 84,
- 85, 86, 87, 88, 89, 57, 58, 59, 60, 61,
- 62, -1, 64, -1, -1, 67, 68, 69, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 47, -1,
- -1, 83, 84, 85, 86, 87, 88, 89, 57, 58,
- 59, 60, 61, 62, -1, 64, -1, -1, 67, 68,
- 69, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 83, 84, 85, 86, 87, 88,
- 89, 49, 91, -1, -1, -1, -1, -1, -1, 57,
- 58, 59, 60, 61, 62, -1, 64, -1, -1, 67,
- 68, 69, 57, 58, 59, 60, 61, 62, -1, 64,
- -1, -1, 67, 68, 69, 83, 84, 85, 86, 87,
- 88, 89, -1, -1, -1, -1, -1, -1, 83, 84,
- 85, 86, 87, 88, 89, -1, -1, -1, 93, 57,
- 58, 59, 60, 61, 62, -1, 64, -1, -1, 67,
- 68, 69, -1, -1, -1, -1, -1, 75, 76, -1,
+ 85, 86, 87, 88, 89, 49, 91, -1, -1, -1,
+ -1, -1, -1, 57, 58, 59, 60, 61, 62, -1,
+ 64, -1, -1, 67, 68, 69, 57, 58, 59, 60,
+ 61, 62, -1, 64, -1, -1, 67, 68, 69, 83,
+ 84, 85, 86, 87, 88, 89, -1, -1, -1, -1,
+ -1, -1, 83, 84, 85, 86, 87, 88, 89, -1,
+ -1, -1, 93, 57, 58, 59, 60, 61, 62, -1,
+ 64, -1, -1, 67, 68, 69, -1, -1, -1, -1,
+ -1, 75, 76, -1, -1, -1, -1, -1, -1, 83,
+ 84, 85, 86, 87, 88, 89, 57, 58, 59, 60,
+ 61, 62, -1, 64, -1, -1, 67, 68, 69, 57,
+ 58, 59, 60, -1, -1, -1, 64, -1, -1, 67,
+ 68, 69, 83, 84, 85, 86, 87, 88, 89, -1,
-1, -1, -1, -1, -1, 83, 84, 85, 86, 87,
- 88, 89, 57, 58, 59, 60, 61, 62, -1, 64,
- -1, -1, 67, 68, 69, 57, 58, 59, 60, -1,
- -1, -1, 64, -1, -1, 67, 68, 69, 83, 84,
- 85, 86, 87, 88, 89, -1, -1, -1, -1, -1,
- -1, 83, 84, 85, 86, 87, 88, 89
+ 88, 89
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1131,37 +1130,37 @@ static const yytype_uint8 yystos[] =
22, 24, 26, 27, 28, 32, 33, 34, 35, 38,
43, 44, 45, 48, 52, 53, 54, 56, 63, 70,
71, 72, 73, 74, 77, 78, 79, 86, 87, 92,
- 95, 99, 100, 101, 102, 104, 105, 109, 110, 111,
- 116, 117, 118, 119, 120, 121, 125, 127, 129, 132,
- 136, 139, 91, 21, 43, 119, 119, 137, 137, 21,
- 118, 92, 119, 138, 128, 131, 44, 21, 122, 37,
- 39, 40, 41, 42, 119, 126, 21, 119, 49, 50,
- 15, 16, 21, 28, 21, 21, 119, 55, 119, 126,
- 21, 124, 119, 119, 119, 119, 119, 119, 21, 123,
+ 95, 99, 100, 101, 102, 104, 106, 110, 111, 112,
+ 117, 118, 119, 120, 121, 125, 127, 129, 132, 136,
+ 139, 91, 21, 43, 119, 119, 137, 137, 21, 118,
+ 92, 119, 138, 128, 131, 44, 21, 122, 37, 39,
+ 40, 41, 42, 119, 126, 21, 119, 49, 50, 15,
+ 16, 21, 28, 21, 21, 119, 55, 119, 126, 21,
+ 124, 119, 119, 119, 119, 119, 119, 119, 21, 123,
21, 119, 119, 119, 22, 24, 97, 118, 140, 141,
- 142, 143, 0, 91, 119, 59, 119, 103, 108, 111,
- 119, 121, 136, 119, 57, 58, 59, 60, 61, 62,
- 64, 67, 68, 69, 83, 84, 85, 86, 87, 88,
- 89, 113, 92, 119, 94, 119, 137, 94, 137, 113,
- 94, 119, 39, 126, 130, 36, 65, 66, 21, 47,
- 59, 118, 47, 59, 47, 46, 49, 126, 94, 41,
- 47, 41, 47, 41, 47, 41, 47, 75, 76, 94,
- 93, 97, 97, 96, 94, 94, 100, 114, 119, 114,
- 114, 119, 47, 91, 119, 119, 119, 119, 119, 119,
+ 142, 143, 0, 91, 119, 59, 119, 103, 109, 112,
+ 119, 121, 136, 57, 58, 59, 60, 61, 62, 64,
+ 67, 68, 69, 83, 84, 85, 86, 87, 88, 89,
+ 114, 92, 119, 94, 119, 137, 94, 137, 114, 94,
+ 119, 39, 126, 130, 36, 65, 66, 21, 47, 59,
+ 118, 47, 59, 47, 46, 49, 126, 94, 41, 47,
+ 41, 47, 41, 47, 41, 47, 75, 76, 47, 91,
+ 94, 93, 97, 97, 96, 94, 94, 100, 115, 119,
+ 115, 115, 119, 119, 119, 119, 119, 119, 119, 119,
119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 119, 21, 133, 119, 93, 119, 133, 21, 119, 113,
- 21, 120, 119, 119, 119, 119, 47, 59, 119, 119,
- 119, 119, 21, 119, 119, 119, 119, 119, 119, 119,
- 119, 119, 119, 21, 118, 118, 118, 22, 24, 143,
- 115, 114, 46, 114, 119, 115, 91, 94, 91, 133,
- 119, 119, 41, 41, 41, 41, 91, 104, 114, 29,
- 47, 115, 46, 114, 94, 135, 21, 135, 91, 119,
- 119, 119, 119, 81, 47, 119, 114, 102, 82, 21,
- 115, 115, 135, 119, 114, 106, 114, 25, 115, 114,
- 115, 30, 31, 107, 112, 114, 30, 80, 21, 134,
- 115, 114, 113, 119, 80, 113, 94, 114, 81, 115,
- 114, 102, 21, 81, 114, 46, 114, 80, 115, 80,
- 114
+ 21, 133, 119, 93, 119, 133, 21, 119, 114, 21,
+ 120, 119, 119, 119, 119, 47, 59, 119, 119, 119,
+ 119, 21, 119, 119, 119, 119, 119, 119, 119, 119,
+ 119, 119, 105, 105, 21, 118, 118, 118, 22, 24,
+ 143, 116, 115, 46, 115, 91, 94, 91, 133, 119,
+ 119, 41, 41, 41, 41, 102, 116, 91, 104, 115,
+ 29, 47, 116, 46, 94, 135, 21, 135, 91, 119,
+ 119, 119, 119, 115, 115, 81, 47, 119, 115, 102,
+ 21, 116, 116, 135, 82, 119, 115, 107, 115, 25,
+ 116, 115, 116, 30, 31, 108, 113, 115, 30, 80,
+ 21, 134, 116, 115, 114, 119, 80, 114, 94, 115,
+ 81, 116, 115, 102, 21, 81, 115, 46, 115, 80,
+ 116, 80, 115
};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
@@ -1170,8 +1169,8 @@ static const yytype_uint8 yyr1[] =
0, 98, 99, 99, 99, 100, 100, 100, 101, 101,
101, 101, 101, 101, 101, 101, 101, 101, 101, 102,
102, 102, 103, 103, 103, 103, 104, 104, 104, 104,
- 104, 104, 104, 104, 105, 105, 106, 106, 107, 108,
- 108, 109, 110, 111, 112, 113, 114, 115, 115, 115,
+ 104, 104, 104, 104, 105, 106, 106, 107, 107, 108,
+ 109, 109, 110, 111, 112, 113, 114, 115, 116, 116,
116, 117, 118, 118, 118, 118, 118, 118, 119, 119,
119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
@@ -1192,9 +1191,9 @@ static const yytype_int8 yyr2[] =
0, 2, 3, 1, 2, 0, 1, 1, 4, 4,
4, 4, 4, 4, 4, 4, 5, 5, 4, 1,
1, 1, 1, 1, 1, 1, 1, 1, 6, 10,
- 11, 3, 6, 4, 9, 12, 0, 2, 6, 11,
- 7, 2, 3, 1, 1, 0, 0, 0, 2, 2,
- 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 11, 3, 7, 6, 0, 9, 12, 0, 2, 6,
+ 11, 7, 2, 3, 1, 1, 0, 0, 0, 2,
+ 2, 3, 1, 1, 1, 1, 1, 1, 1, 1,
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,
@@ -1643,73 +1642,73 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
case 18: /* BLTIN */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1647 "engines/director/lingo/lingo-gr.cpp"
+#line 1646 "engines/director/lingo/lingo-gr.cpp"
break;
case 19: /* FBLTIN */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1653 "engines/director/lingo/lingo-gr.cpp"
+#line 1652 "engines/director/lingo/lingo-gr.cpp"
break;
case 20: /* RBLTIN */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1659 "engines/director/lingo/lingo-gr.cpp"
+#line 1658 "engines/director/lingo/lingo-gr.cpp"
break;
case 21: /* ID */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1665 "engines/director/lingo/lingo-gr.cpp"
+#line 1664 "engines/director/lingo/lingo-gr.cpp"
break;
case 22: /* STRING */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1671 "engines/director/lingo/lingo-gr.cpp"
+#line 1670 "engines/director/lingo/lingo-gr.cpp"
break;
case 23: /* HANDLER */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1677 "engines/director/lingo/lingo-gr.cpp"
+#line 1676 "engines/director/lingo/lingo-gr.cpp"
break;
case 24: /* SYMBOL */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1683 "engines/director/lingo/lingo-gr.cpp"
+#line 1682 "engines/director/lingo/lingo-gr.cpp"
break;
case 25: /* ENDCLAUSE */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1689 "engines/director/lingo/lingo-gr.cpp"
+#line 1688 "engines/director/lingo/lingo-gr.cpp"
break;
case 26: /* tPLAYACCEL */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1695 "engines/director/lingo/lingo-gr.cpp"
+#line 1694 "engines/director/lingo/lingo-gr.cpp"
break;
case 27: /* tMETHOD */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1701 "engines/director/lingo/lingo-gr.cpp"
+#line 1700 "engines/director/lingo/lingo-gr.cpp"
break;
case 28: /* THEOBJECTFIELD */
#line 131 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).objectfield).os; }
-#line 1707 "engines/director/lingo/lingo-gr.cpp"
+#line 1706 "engines/director/lingo/lingo-gr.cpp"
break;
case 132: /* on */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1713 "engines/director/lingo/lingo-gr.cpp"
+#line 1712 "engines/director/lingo/lingo-gr.cpp"
break;
default:
@@ -1979,7 +1978,7 @@ yyreduce:
case 4:
#line 137 "engines/director/lingo/lingo-gr.y"
{ yyerrok; }
-#line 1983 "engines/director/lingo/lingo-gr.cpp"
+#line 1982 "engines/director/lingo/lingo-gr.cpp"
break;
case 8:
@@ -1990,7 +1989,7 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[-2].code);
delete (yyvsp[0].s); }
-#line 1994 "engines/director/lingo/lingo-gr.cpp"
+#line 1993 "engines/director/lingo/lingo-gr.cpp"
break;
case 9:
@@ -1998,19 +1997,19 @@ yyreduce:
{
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[-2].code); }
-#line 2002 "engines/director/lingo/lingo-gr.cpp"
+#line 2001 "engines/director/lingo/lingo-gr.cpp"
break;
case 10:
#line 154 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_after); }
-#line 2008 "engines/director/lingo/lingo-gr.cpp"
+#line 2007 "engines/director/lingo/lingo-gr.cpp"
break;
case 11:
#line 155 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_before); }
-#line 2014 "engines/director/lingo/lingo-gr.cpp"
+#line 2013 "engines/director/lingo/lingo-gr.cpp"
break;
case 12:
@@ -2021,7 +2020,7 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[0].code);
delete (yyvsp[-2].s); }
-#line 2025 "engines/director/lingo/lingo-gr.cpp"
+#line 2024 "engines/director/lingo/lingo-gr.cpp"
break;
case 13:
@@ -2033,7 +2032,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-2].e)[0]);
g_lingo->codeInt((yyvsp[-2].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2037 "engines/director/lingo/lingo-gr.cpp"
+#line 2036 "engines/director/lingo/lingo-gr.cpp"
break;
case 14:
@@ -2044,7 +2043,7 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[0].code);
delete (yyvsp[-2].s); }
-#line 2048 "engines/director/lingo/lingo-gr.cpp"
+#line 2047 "engines/director/lingo/lingo-gr.cpp"
break;
case 15:
@@ -2056,7 +2055,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-2].e)[0]);
g_lingo->codeInt((yyvsp[-2].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2060 "engines/director/lingo/lingo-gr.cpp"
+#line 2059 "engines/director/lingo/lingo-gr.cpp"
break;
case 16:
@@ -2067,7 +2066,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-3].e)[0]);
g_lingo->codeInt((yyvsp[-3].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2071 "engines/director/lingo/lingo-gr.cpp"
+#line 2070 "engines/director/lingo/lingo-gr.cpp"
break;
case 17:
@@ -2078,7 +2077,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-3].e)[0]);
g_lingo->codeInt((yyvsp[-3].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2082 "engines/director/lingo/lingo-gr.cpp"
+#line 2081 "engines/director/lingo/lingo-gr.cpp"
break;
case 18:
@@ -2089,7 +2088,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-2].objectfield).oe);
delete (yyvsp[-2].objectfield).os;
(yyval.code) = (yyvsp[0].code); }
-#line 2093 "engines/director/lingo/lingo-gr.cpp"
+#line 2092 "engines/director/lingo/lingo-gr.cpp"
break;
case 28:
@@ -2100,7 +2099,7 @@ yyreduce:
WRITE_UINT32(&end, (yyvsp[-1].code) - (yyvsp[-5].code));
(*g_lingo->_currentScript)[(yyvsp[-5].code) + 1] = body; /* body of loop */
(*g_lingo->_currentScript)[(yyvsp[-5].code) + 2] = end; }
-#line 2104 "engines/director/lingo/lingo-gr.cpp"
+#line 2103 "engines/director/lingo/lingo-gr.cpp"
break;
case 29:
@@ -2117,7 +2116,7 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-9].code) + 3] = body; /* body of loop */
(*g_lingo->_currentScript)[(yyvsp[-9].code) + 4] = inc; /* increment */
(*g_lingo->_currentScript)[(yyvsp[-9].code) + 5] = end; }
-#line 2121 "engines/director/lingo/lingo-gr.cpp"
+#line 2120 "engines/director/lingo/lingo-gr.cpp"
break;
case 30:
@@ -2134,7 +2133,7 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-10].code) + 3] = body; /* body of loop */
(*g_lingo->_currentScript)[(yyvsp[-10].code) + 4] = inc; /* increment */
(*g_lingo->_currentScript)[(yyvsp[-10].code) + 5] = end; }
-#line 2138 "engines/director/lingo/lingo-gr.cpp"
+#line 2137 "engines/director/lingo/lingo-gr.cpp"
break;
case 31:
@@ -2144,25 +2143,37 @@ yyreduce:
WRITE_UINT32(&end, (yyvsp[0].code) - (yyvsp[-2].code));
g_lingo->code1(STOP);
(*g_lingo->_currentScript)[(yyvsp[-2].code) + 1] = end; }
-#line 2148 "engines/director/lingo/lingo-gr.cpp"
+#line 2147 "engines/director/lingo/lingo-gr.cpp"
break;
case 32:
#line 264 "engines/director/lingo/lingo-gr.y"
- {
- warning("STUB: TELL is not implemented"); }
-#line 2155 "engines/director/lingo/lingo-gr.cpp"
+ {
+ inst end;
+ WRITE_UINT32(&end, (yyvsp[-1].code) - (yyvsp[-3].code));
+ (*g_lingo->_currentScript)[(yyvsp[-3].code) + 1] = end; }
+#line 2156 "engines/director/lingo/lingo-gr.cpp"
break;
case 33:
-#line 266 "engines/director/lingo/lingo-gr.y"
- {
- warning("STUB: TELL is not implemented"); }
-#line 2162 "engines/director/lingo/lingo-gr.cpp"
+#line 268 "engines/director/lingo/lingo-gr.y"
+ {
+ inst end;
+ WRITE_UINT32(&end, (yyvsp[0].code) - (yyvsp[-2].code));
+ (*g_lingo->_currentScript)[(yyvsp[-2].code) + 1] = end; }
+#line 2165 "engines/director/lingo/lingo-gr.cpp"
break;
case 34:
-#line 270 "engines/director/lingo/lingo-gr.y"
+#line 274 "engines/director/lingo/lingo-gr.y"
+ {
+ (yyval.code) = g_lingo->code1(LC::c_tellcode);
+ g_lingo->code1(STOP); }
+#line 2173 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 35:
+#line 278 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[-6].code) - (yyvsp[-8].code));
@@ -2173,11 +2184,11 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-8].code) + 3] = end; /* end, if cond fails */
g_lingo->processIf((yyvsp[-8].code), (yyvsp[-1].code) - (yyvsp[-8].code), 0); }
-#line 2177 "engines/director/lingo/lingo-gr.cpp"
+#line 2188 "engines/director/lingo/lingo-gr.cpp"
break;
- case 35:
-#line 280 "engines/director/lingo/lingo-gr.y"
+ case 36:
+#line 288 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[-9].code) - (yyvsp[-11].code));
@@ -2188,22 +2199,22 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-11].code) + 3] = end; /* end, if cond fails */
g_lingo->processIf((yyvsp[-11].code), (yyvsp[-1].code) - (yyvsp[-11].code), (yyvsp[-3].code) - (yyvsp[-11].code)); }
-#line 2192 "engines/director/lingo/lingo-gr.cpp"
+#line 2203 "engines/director/lingo/lingo-gr.cpp"
break;
- case 38:
-#line 296 "engines/director/lingo/lingo-gr.y"
+ case 39:
+#line 304 "engines/director/lingo/lingo-gr.y"
{
inst then = 0;
WRITE_UINT32(&then, (yyvsp[-3].code) - (yyvsp[-5].code));
(*g_lingo->_currentScript)[(yyvsp[-5].code) + 1] = then; /* thenpart */
g_lingo->codeLabel((yyvsp[-5].code)); }
-#line 2203 "engines/director/lingo/lingo-gr.cpp"
+#line 2214 "engines/director/lingo/lingo-gr.cpp"
break;
- case 39:
-#line 304 "engines/director/lingo/lingo-gr.y"
+ case 40:
+#line 312 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[-8].code) - (yyvsp[-10].code));
@@ -2214,11 +2225,11 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-10].code) + 3] = end; /* end, if cond fails */
g_lingo->processIf((yyvsp[-10].code), (yyvsp[-1].code) - (yyvsp[-10].code), (yyvsp[-3].code) - (yyvsp[-10].code)); }
-#line 2218 "engines/director/lingo/lingo-gr.cpp"
+#line 2229 "engines/director/lingo/lingo-gr.cpp"
break;
- case 40:
-#line 314 "engines/director/lingo/lingo-gr.y"
+ case 41:
+#line 322 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[-4].code) - (yyvsp[-6].code));
@@ -2229,149 +2240,141 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-6].code) + 3] = end; /* end, if cond fails */
g_lingo->processIf((yyvsp[-6].code), (yyvsp[-1].code) - (yyvsp[-6].code), (yyvsp[-1].code) - (yyvsp[-6].code)); }
-#line 2233 "engines/director/lingo/lingo-gr.cpp"
+#line 2244 "engines/director/lingo/lingo-gr.cpp"
break;
- case 41:
-#line 327 "engines/director/lingo/lingo-gr.y"
+ case 42:
+#line 335 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code3(LC::c_repeatwhilecode, STOP, STOP); }
-#line 2239 "engines/director/lingo/lingo-gr.cpp"
+#line 2250 "engines/director/lingo/lingo-gr.cpp"
break;
- case 42:
-#line 330 "engines/director/lingo/lingo-gr.y"
+ case 43:
+#line 338 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code3(LC::c_repeatwithcode, STOP, STOP);
g_lingo->code3(STOP, STOP, STOP);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2249 "engines/director/lingo/lingo-gr.cpp"
+#line 2260 "engines/director/lingo/lingo-gr.cpp"
break;
- case 43:
-#line 337 "engines/director/lingo/lingo-gr.y"
+ case 44:
+#line 345 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_ifcode);
g_lingo->code3(STOP, STOP, STOP);
g_lingo->code1(0); // Do not skip end
g_lingo->codeLabel(0); }
-#line 2259 "engines/director/lingo/lingo-gr.cpp"
+#line 2270 "engines/director/lingo/lingo-gr.cpp"
break;
- case 44:
-#line 344 "engines/director/lingo/lingo-gr.y"
+ case 45:
+#line 352 "engines/director/lingo/lingo-gr.y"
{
inst skipEnd;
WRITE_UINT32(&skipEnd, 1); // We have to skip end to avoid multiple executions
(yyval.code) = g_lingo->code1(LC::c_ifcode);
g_lingo->code3(STOP, STOP, STOP);
g_lingo->code1(skipEnd); }
-#line 2270 "engines/director/lingo/lingo-gr.cpp"
+#line 2281 "engines/director/lingo/lingo-gr.cpp"
break;
- case 45:
-#line 352 "engines/director/lingo/lingo-gr.y"
+ case 46:
+#line 360 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->_currentScript->size(); }
-#line 2276 "engines/director/lingo/lingo-gr.cpp"
+#line 2287 "engines/director/lingo/lingo-gr.cpp"
break;
- case 46:
-#line 355 "engines/director/lingo/lingo-gr.y"
+ case 47:
+#line 363 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(STOP); (yyval.code) = g_lingo->_currentScript->size(); }
-#line 2282 "engines/director/lingo/lingo-gr.cpp"
+#line 2293 "engines/director/lingo/lingo-gr.cpp"
break;
- case 47:
-#line 358 "engines/director/lingo/lingo-gr.y"
+ case 48:
+#line 366 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->_currentScript->size(); }
-#line 2288 "engines/director/lingo/lingo-gr.cpp"
+#line 2299 "engines/director/lingo/lingo-gr.cpp"
break;
- case 50:
-#line 363 "engines/director/lingo/lingo-gr.y"
+ case 51:
+#line 371 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_whencode);
g_lingo->code1(STOP);
g_lingo->codeString((yyvsp[-1].s)->c_str());
delete (yyvsp[-1].s); }
-#line 2298 "engines/director/lingo/lingo-gr.cpp"
- break;
-
- case 51:
-#line 369 "engines/director/lingo/lingo-gr.y"
- {
- (yyval.code) = g_lingo->code1(LC::c_tellcode);
- g_lingo->code1(STOP); }
-#line 2306 "engines/director/lingo/lingo-gr.cpp"
+#line 2309 "engines/director/lingo/lingo-gr.cpp"
break;
case 52:
-#line 373 "engines/director/lingo/lingo-gr.y"
+#line 377 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_intpush);
g_lingo->codeInt((yyvsp[0].i)); }
-#line 2314 "engines/director/lingo/lingo-gr.cpp"
+#line 2317 "engines/director/lingo/lingo-gr.cpp"
break;
case 53:
-#line 376 "engines/director/lingo/lingo-gr.y"
+#line 380 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_floatpush);
g_lingo->codeFloat((yyvsp[0].f)); }
-#line 2322 "engines/director/lingo/lingo-gr.cpp"
+#line 2325 "engines/director/lingo/lingo-gr.cpp"
break;
case 54:
-#line 379 "engines/director/lingo/lingo-gr.y"
+#line 383 "engines/director/lingo/lingo-gr.y"
{ // D3
(yyval.code) = g_lingo->code1(LC::c_symbolpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2331 "engines/director/lingo/lingo-gr.cpp"
+#line 2334 "engines/director/lingo/lingo-gr.cpp"
break;
case 55:
-#line 383 "engines/director/lingo/lingo-gr.y"
+#line 387 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_stringpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2340 "engines/director/lingo/lingo-gr.cpp"
+#line 2343 "engines/director/lingo/lingo-gr.cpp"
break;
case 56:
-#line 387 "engines/director/lingo/lingo-gr.y"
+#line 391 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_eval);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2349 "engines/director/lingo/lingo-gr.cpp"
+#line 2352 "engines/director/lingo/lingo-gr.cpp"
break;
case 58:
-#line 394 "engines/director/lingo/lingo-gr.y"
+#line 398 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); }
-#line 2355 "engines/director/lingo/lingo-gr.cpp"
+#line 2358 "engines/director/lingo/lingo-gr.cpp"
break;
case 60:
-#line 396 "engines/director/lingo/lingo-gr.y"
+#line 400 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-1].s), (yyvsp[0].narg));
delete (yyvsp[-1].s); }
-#line 2363 "engines/director/lingo/lingo-gr.cpp"
+#line 2366 "engines/director/lingo/lingo-gr.cpp"
break;
case 61:
-#line 399 "engines/director/lingo/lingo-gr.y"
+#line 403 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 2371 "engines/director/lingo/lingo-gr.cpp"
+#line 2374 "engines/director/lingo/lingo-gr.cpp"
break;
case 62:
-#line 402 "engines/director/lingo/lingo-gr.y"
+#line 406 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(0); // Put dummy id
@@ -2380,433 +2383,433 @@ yyreduce:
WRITE_UINT32(&e, (yyvsp[0].e)[0]);
WRITE_UINT32(&f, (yyvsp[0].e)[1]);
g_lingo->code2(e, f); }
-#line 2384 "engines/director/lingo/lingo-gr.cpp"
+#line 2387 "engines/director/lingo/lingo-gr.cpp"
break;
case 63:
-#line 410 "engines/director/lingo/lingo-gr.y"
+#line 414 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_theentitypush);
inst e = 0, f = 0;
WRITE_UINT32(&e, (yyvsp[-1].e)[0]);
WRITE_UINT32(&f, (yyvsp[-1].e)[1]);
g_lingo->code2(e, f); }
-#line 2395 "engines/director/lingo/lingo-gr.cpp"
+#line 2398 "engines/director/lingo/lingo-gr.cpp"
break;
case 64:
-#line 416 "engines/director/lingo/lingo-gr.y"
+#line 420 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_objectfieldpush);
g_lingo->codeString((yyvsp[0].objectfield).os->c_str());
g_lingo->codeInt((yyvsp[0].objectfield).oe);
delete (yyvsp[0].objectfield).os; }
-#line 2405 "engines/director/lingo/lingo-gr.cpp"
+#line 2408 "engines/director/lingo/lingo-gr.cpp"
break;
case 66:
-#line 422 "engines/director/lingo/lingo-gr.y"
+#line 426 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_add); }
-#line 2411 "engines/director/lingo/lingo-gr.cpp"
+#line 2414 "engines/director/lingo/lingo-gr.cpp"
break;
case 67:
-#line 423 "engines/director/lingo/lingo-gr.y"
+#line 427 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_sub); }
-#line 2417 "engines/director/lingo/lingo-gr.cpp"
+#line 2420 "engines/director/lingo/lingo-gr.cpp"
break;
case 68:
-#line 424 "engines/director/lingo/lingo-gr.y"
+#line 428 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_mul); }
-#line 2423 "engines/director/lingo/lingo-gr.cpp"
+#line 2426 "engines/director/lingo/lingo-gr.cpp"
break;
case 69:
-#line 425 "engines/director/lingo/lingo-gr.y"
+#line 429 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_div); }
-#line 2429 "engines/director/lingo/lingo-gr.cpp"
+#line 2432 "engines/director/lingo/lingo-gr.cpp"
break;
case 70:
-#line 426 "engines/director/lingo/lingo-gr.y"
+#line 430 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_mod); }
-#line 2435 "engines/director/lingo/lingo-gr.cpp"
+#line 2438 "engines/director/lingo/lingo-gr.cpp"
break;
case 71:
-#line 427 "engines/director/lingo/lingo-gr.y"
+#line 431 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gt); }
-#line 2441 "engines/director/lingo/lingo-gr.cpp"
+#line 2444 "engines/director/lingo/lingo-gr.cpp"
break;
case 72:
-#line 428 "engines/director/lingo/lingo-gr.y"
+#line 432 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lt); }
-#line 2447 "engines/director/lingo/lingo-gr.cpp"
+#line 2450 "engines/director/lingo/lingo-gr.cpp"
break;
case 73:
-#line 429 "engines/director/lingo/lingo-gr.y"
+#line 433 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_eq); }
-#line 2453 "engines/director/lingo/lingo-gr.cpp"
+#line 2456 "engines/director/lingo/lingo-gr.cpp"
break;
case 74:
-#line 430 "engines/director/lingo/lingo-gr.y"
+#line 434 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_neq); }
-#line 2459 "engines/director/lingo/lingo-gr.cpp"
+#line 2462 "engines/director/lingo/lingo-gr.cpp"
break;
case 75:
-#line 431 "engines/director/lingo/lingo-gr.y"
+#line 435 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ge); }
-#line 2465 "engines/director/lingo/lingo-gr.cpp"
+#line 2468 "engines/director/lingo/lingo-gr.cpp"
break;
case 76:
-#line 432 "engines/director/lingo/lingo-gr.y"
+#line 436 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_le); }
-#line 2471 "engines/director/lingo/lingo-gr.cpp"
+#line 2474 "engines/director/lingo/lingo-gr.cpp"
break;
case 77:
-#line 433 "engines/director/lingo/lingo-gr.y"
+#line 437 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_and); }
-#line 2477 "engines/director/lingo/lingo-gr.cpp"
+#line 2480 "engines/director/lingo/lingo-gr.cpp"
break;
case 78:
-#line 434 "engines/director/lingo/lingo-gr.y"
+#line 438 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_or); }
-#line 2483 "engines/director/lingo/lingo-gr.cpp"
+#line 2486 "engines/director/lingo/lingo-gr.cpp"
break;
case 79:
-#line 435 "engines/director/lingo/lingo-gr.y"
+#line 439 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_not); }
-#line 2489 "engines/director/lingo/lingo-gr.cpp"
+#line 2492 "engines/director/lingo/lingo-gr.cpp"
break;
case 80:
-#line 436 "engines/director/lingo/lingo-gr.y"
+#line 440 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ampersand); }
-#line 2495 "engines/director/lingo/lingo-gr.cpp"
+#line 2498 "engines/director/lingo/lingo-gr.cpp"
break;
case 81:
-#line 437 "engines/director/lingo/lingo-gr.y"
+#line 441 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_concat); }
-#line 2501 "engines/director/lingo/lingo-gr.cpp"
+#line 2504 "engines/director/lingo/lingo-gr.cpp"
break;
case 82:
-#line 438 "engines/director/lingo/lingo-gr.y"
+#line 442 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_contains); }
-#line 2507 "engines/director/lingo/lingo-gr.cpp"
+#line 2510 "engines/director/lingo/lingo-gr.cpp"
break;
case 83:
-#line 439 "engines/director/lingo/lingo-gr.y"
+#line 443 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_starts); }
-#line 2513 "engines/director/lingo/lingo-gr.cpp"
+#line 2516 "engines/director/lingo/lingo-gr.cpp"
break;
case 84:
-#line 440 "engines/director/lingo/lingo-gr.y"
+#line 444 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); }
-#line 2519 "engines/director/lingo/lingo-gr.cpp"
+#line 2522 "engines/director/lingo/lingo-gr.cpp"
break;
case 85:
-#line 441 "engines/director/lingo/lingo-gr.y"
+#line 445 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); g_lingo->code1(LC::c_negate); }
-#line 2525 "engines/director/lingo/lingo-gr.cpp"
+#line 2528 "engines/director/lingo/lingo-gr.cpp"
break;
case 86:
-#line 442 "engines/director/lingo/lingo-gr.y"
+#line 446 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[-1].code); }
-#line 2531 "engines/director/lingo/lingo-gr.cpp"
+#line 2534 "engines/director/lingo/lingo-gr.cpp"
break;
case 87:
-#line 443 "engines/director/lingo/lingo-gr.y"
+#line 447 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_intersects); }
-#line 2537 "engines/director/lingo/lingo-gr.cpp"
+#line 2540 "engines/director/lingo/lingo-gr.cpp"
break;
case 88:
-#line 444 "engines/director/lingo/lingo-gr.y"
+#line 448 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_within); }
-#line 2543 "engines/director/lingo/lingo-gr.cpp"
+#line 2546 "engines/director/lingo/lingo-gr.cpp"
break;
case 89:
-#line 445 "engines/director/lingo/lingo-gr.y"
+#line 449 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_charOf); }
-#line 2549 "engines/director/lingo/lingo-gr.cpp"
+#line 2552 "engines/director/lingo/lingo-gr.cpp"
break;
case 90:
-#line 446 "engines/director/lingo/lingo-gr.y"
+#line 450 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_charToOf); }
-#line 2555 "engines/director/lingo/lingo-gr.cpp"
+#line 2558 "engines/director/lingo/lingo-gr.cpp"
break;
case 91:
-#line 447 "engines/director/lingo/lingo-gr.y"
+#line 451 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_itemOf); }
-#line 2561 "engines/director/lingo/lingo-gr.cpp"
+#line 2564 "engines/director/lingo/lingo-gr.cpp"
break;
case 92:
-#line 448 "engines/director/lingo/lingo-gr.y"
+#line 452 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_itemToOf); }
-#line 2567 "engines/director/lingo/lingo-gr.cpp"
+#line 2570 "engines/director/lingo/lingo-gr.cpp"
break;
case 93:
-#line 449 "engines/director/lingo/lingo-gr.y"
+#line 453 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lineOf); }
-#line 2573 "engines/director/lingo/lingo-gr.cpp"
+#line 2576 "engines/director/lingo/lingo-gr.cpp"
break;
case 94:
-#line 450 "engines/director/lingo/lingo-gr.y"
+#line 454 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lineToOf); }
-#line 2579 "engines/director/lingo/lingo-gr.cpp"
+#line 2582 "engines/director/lingo/lingo-gr.cpp"
break;
case 95:
-#line 451 "engines/director/lingo/lingo-gr.y"
+#line 455 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_wordOf); }
-#line 2585 "engines/director/lingo/lingo-gr.cpp"
+#line 2588 "engines/director/lingo/lingo-gr.cpp"
break;
case 96:
-#line 452 "engines/director/lingo/lingo-gr.y"
+#line 456 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_wordToOf); }
-#line 2591 "engines/director/lingo/lingo-gr.cpp"
+#line 2594 "engines/director/lingo/lingo-gr.cpp"
break;
case 97:
-#line 455 "engines/director/lingo/lingo-gr.y"
+#line 459 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-1].s), 1);
delete (yyvsp[-1].s); }
-#line 2599 "engines/director/lingo/lingo-gr.cpp"
+#line 2602 "engines/director/lingo/lingo-gr.cpp"
break;
case 98:
-#line 460 "engines/director/lingo/lingo-gr.y"
+#line 464 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_printtop); }
-#line 2605 "engines/director/lingo/lingo-gr.cpp"
+#line 2608 "engines/director/lingo/lingo-gr.cpp"
break;
case 101:
-#line 463 "engines/director/lingo/lingo-gr.y"
+#line 467 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_exitRepeat); }
-#line 2611 "engines/director/lingo/lingo-gr.cpp"
+#line 2614 "engines/director/lingo/lingo-gr.cpp"
break;
case 102:
-#line 464 "engines/director/lingo/lingo-gr.y"
+#line 468 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_procret); }
-#line 2617 "engines/director/lingo/lingo-gr.cpp"
+#line 2620 "engines/director/lingo/lingo-gr.cpp"
break;
case 106:
-#line 468 "engines/director/lingo/lingo-gr.y"
+#line 472 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-1].s), (yyvsp[0].narg));
delete (yyvsp[-1].s); }
-#line 2625 "engines/director/lingo/lingo-gr.cpp"
+#line 2628 "engines/director/lingo/lingo-gr.cpp"
break;
case 107:
-#line 471 "engines/director/lingo/lingo-gr.y"
+#line 475 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_open); }
-#line 2631 "engines/director/lingo/lingo-gr.cpp"
+#line 2634 "engines/director/lingo/lingo-gr.cpp"
break;
case 108:
-#line 472 "engines/director/lingo/lingo-gr.y"
+#line 476 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code2(LC::c_voidpush, LC::c_open); }
-#line 2637 "engines/director/lingo/lingo-gr.cpp"
+#line 2640 "engines/director/lingo/lingo-gr.cpp"
break;
case 109:
-#line 475 "engines/director/lingo/lingo-gr.y"
+#line 479 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_global); g_lingo->codeString((yyvsp[0].s)->c_str()); delete (yyvsp[0].s); }
-#line 2643 "engines/director/lingo/lingo-gr.cpp"
+#line 2646 "engines/director/lingo/lingo-gr.cpp"
break;
case 110:
-#line 476 "engines/director/lingo/lingo-gr.y"
+#line 480 "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 2649 "engines/director/lingo/lingo-gr.cpp"
+#line 2652 "engines/director/lingo/lingo-gr.cpp"
break;
case 111:
-#line 479 "engines/director/lingo/lingo-gr.y"
+#line 483 "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 2655 "engines/director/lingo/lingo-gr.cpp"
+#line 2658 "engines/director/lingo/lingo-gr.cpp"
break;
case 112:
-#line 480 "engines/director/lingo/lingo-gr.y"
+#line 484 "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 2661 "engines/director/lingo/lingo-gr.cpp"
+#line 2664 "engines/director/lingo/lingo-gr.cpp"
break;
case 113:
-#line 483 "engines/director/lingo/lingo-gr.y"
+#line 487 "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 2667 "engines/director/lingo/lingo-gr.cpp"
+#line 2670 "engines/director/lingo/lingo-gr.cpp"
break;
case 114:
-#line 484 "engines/director/lingo/lingo-gr.y"
+#line 488 "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 2673 "engines/director/lingo/lingo-gr.cpp"
+#line 2676 "engines/director/lingo/lingo-gr.cpp"
break;
case 115:
-#line 495 "engines/director/lingo/lingo-gr.y"
+#line 499 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotoloop); }
-#line 2679 "engines/director/lingo/lingo-gr.cpp"
+#line 2682 "engines/director/lingo/lingo-gr.cpp"
break;
case 116:
-#line 496 "engines/director/lingo/lingo-gr.y"
+#line 500 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotonext); }
-#line 2685 "engines/director/lingo/lingo-gr.cpp"
+#line 2688 "engines/director/lingo/lingo-gr.cpp"
break;
case 117:
-#line 497 "engines/director/lingo/lingo-gr.y"
+#line 501 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotoprevious); }
-#line 2691 "engines/director/lingo/lingo-gr.cpp"
+#line 2694 "engines/director/lingo/lingo-gr.cpp"
break;
case 118:
-#line 498 "engines/director/lingo/lingo-gr.y"
+#line 502 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(LC::c_goto); }
-#line 2700 "engines/director/lingo/lingo-gr.cpp"
+#line 2703 "engines/director/lingo/lingo-gr.cpp"
break;
case 119:
-#line 502 "engines/director/lingo/lingo-gr.y"
+#line 506 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(LC::c_goto); }
-#line 2709 "engines/director/lingo/lingo-gr.cpp"
+#line 2712 "engines/director/lingo/lingo-gr.cpp"
break;
case 120:
-#line 506 "engines/director/lingo/lingo-gr.y"
+#line 510 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(2);
g_lingo->code1(LC::c_goto); }
-#line 2718 "engines/director/lingo/lingo-gr.cpp"
+#line 2721 "engines/director/lingo/lingo-gr.cpp"
break;
case 123:
-#line 516 "engines/director/lingo/lingo-gr.y"
+#line 520 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_playdone); }
-#line 2724 "engines/director/lingo/lingo-gr.cpp"
+#line 2727 "engines/director/lingo/lingo-gr.cpp"
break;
case 124:
-#line 517 "engines/director/lingo/lingo-gr.y"
+#line 521 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(LC::c_play); }
-#line 2733 "engines/director/lingo/lingo-gr.cpp"
+#line 2736 "engines/director/lingo/lingo-gr.cpp"
break;
case 125:
-#line 521 "engines/director/lingo/lingo-gr.y"
+#line 525 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(LC::c_play); }
-#line 2742 "engines/director/lingo/lingo-gr.cpp"
+#line 2745 "engines/director/lingo/lingo-gr.cpp"
break;
case 126:
-#line 525 "engines/director/lingo/lingo-gr.y"
+#line 529 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(2);
g_lingo->code1(LC::c_play); }
-#line 2751 "engines/director/lingo/lingo-gr.cpp"
+#line 2754 "engines/director/lingo/lingo-gr.cpp"
break;
case 127:
-#line 529 "engines/director/lingo/lingo-gr.y"
+#line 533 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeSetImmediate(true); }
-#line 2757 "engines/director/lingo/lingo-gr.cpp"
+#line 2760 "engines/director/lingo/lingo-gr.cpp"
break;
case 128:
-#line 529 "engines/director/lingo/lingo-gr.y"
+#line 533 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeSetImmediate(false);
g_lingo->codeFunc((yyvsp[-2].s), (yyvsp[0].narg));
delete (yyvsp[-2].s); }
-#line 2766 "engines/director/lingo/lingo-gr.cpp"
+#line 2769 "engines/director/lingo/lingo-gr.cpp"
break;
case 129:
-#line 560 "engines/director/lingo/lingo-gr.y"
+#line 564 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; g_lingo->_currentFactory.clear(); }
-#line 2772 "engines/director/lingo/lingo-gr.cpp"
+#line 2775 "engines/director/lingo/lingo-gr.cpp"
break;
case 130:
-#line 561 "engines/director/lingo/lingo-gr.y"
+#line 565 "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 2783 "engines/director/lingo/lingo-gr.cpp"
+#line 2786 "engines/director/lingo/lingo-gr.cpp"
break;
case 131:
-#line 567 "engines/director/lingo/lingo-gr.y"
+#line 571 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeFactory(*(yyvsp[0].s)); delete (yyvsp[0].s); }
-#line 2789 "engines/director/lingo/lingo-gr.cpp"
+#line 2792 "engines/director/lingo/lingo-gr.cpp"
break;
case 132:
-#line 568 "engines/director/lingo/lingo-gr.y"
+#line 572 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; }
-#line 2795 "engines/director/lingo/lingo-gr.cpp"
+#line 2798 "engines/director/lingo/lingo-gr.cpp"
break;
case 133:
-#line 569 "engines/director/lingo/lingo-gr.y"
+#line 573 "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 2806 "engines/director/lingo/lingo-gr.cpp"
+#line 2809 "engines/director/lingo/lingo-gr.cpp"
break;
case 134:
-#line 575 "engines/director/lingo/lingo-gr.y"
+#line 579 "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));
@@ -2817,11 +2820,11 @@ yyreduce:
checkEnd((yyvsp[-1].s), (yyvsp[-7].s)->c_str(), false);
delete (yyvsp[-7].s);
delete (yyvsp[-1].s); }
-#line 2821 "engines/director/lingo/lingo-gr.cpp"
+#line 2824 "engines/director/lingo/lingo-gr.cpp"
break;
case 135:
-#line 585 "engines/director/lingo/lingo-gr.y"
+#line 589 "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));
@@ -2829,59 +2832,59 @@ yyreduce:
g_lingo->clearArgStack();
g_lingo->_ignoreMe = false;
delete (yyvsp[-5].s); }
-#line 2833 "engines/director/lingo/lingo-gr.cpp"
+#line 2836 "engines/director/lingo/lingo-gr.cpp"
break;
case 136:
-#line 593 "engines/director/lingo/lingo-gr.y"
+#line 597 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = (yyvsp[0].s); g_lingo->_indef = kStateInArgs; g_lingo->_currentFactory.clear(); g_lingo->_ignoreMe = true; }
-#line 2839 "engines/director/lingo/lingo-gr.cpp"
+#line 2842 "engines/director/lingo/lingo-gr.cpp"
break;
case 137:
-#line 595 "engines/director/lingo/lingo-gr.y"
+#line 599 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; }
-#line 2845 "engines/director/lingo/lingo-gr.cpp"
+#line 2848 "engines/director/lingo/lingo-gr.cpp"
break;
case 138:
-#line 596 "engines/director/lingo/lingo-gr.y"
+#line 600 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); (yyval.narg) = 1; delete (yyvsp[0].s); }
-#line 2851 "engines/director/lingo/lingo-gr.cpp"
+#line 2854 "engines/director/lingo/lingo-gr.cpp"
break;
case 139:
-#line 597 "engines/director/lingo/lingo-gr.y"
+#line 601 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); (yyval.narg) = (yyvsp[-2].narg) + 1; delete (yyvsp[0].s); }
-#line 2857 "engines/director/lingo/lingo-gr.cpp"
+#line 2860 "engines/director/lingo/lingo-gr.cpp"
break;
case 140:
-#line 598 "engines/director/lingo/lingo-gr.y"
+#line 602 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); (yyval.narg) = (yyvsp[-3].narg) + 1; delete (yyvsp[0].s); }
-#line 2863 "engines/director/lingo/lingo-gr.cpp"
+#line 2866 "engines/director/lingo/lingo-gr.cpp"
break;
case 142:
-#line 602 "engines/director/lingo/lingo-gr.y"
+#line 606 "engines/director/lingo/lingo-gr.y"
{ delete (yyvsp[0].s); }
-#line 2869 "engines/director/lingo/lingo-gr.cpp"
+#line 2872 "engines/director/lingo/lingo-gr.cpp"
break;
case 143:
-#line 603 "engines/director/lingo/lingo-gr.y"
+#line 607 "engines/director/lingo/lingo-gr.y"
{ delete (yyvsp[0].s); }
-#line 2875 "engines/director/lingo/lingo-gr.cpp"
+#line 2878 "engines/director/lingo/lingo-gr.cpp"
break;
case 144:
-#line 606 "engines/director/lingo/lingo-gr.y"
+#line 610 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArgStore(); g_lingo->_indef = kStateInDef; }
-#line 2881 "engines/director/lingo/lingo-gr.cpp"
+#line 2884 "engines/director/lingo/lingo-gr.cpp"
break;
case 145:
-#line 609 "engines/director/lingo/lingo-gr.y"
+#line 613 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_call);
g_lingo->codeString((yyvsp[-1].s)->c_str());
@@ -2889,113 +2892,113 @@ yyreduce:
WRITE_UINT32(&numpar, (yyvsp[0].narg));
g_lingo->code1(numpar);
delete (yyvsp[-1].s); }
-#line 2893 "engines/director/lingo/lingo-gr.cpp"
+#line 2896 "engines/director/lingo/lingo-gr.cpp"
break;
case 146:
-#line 618 "engines/director/lingo/lingo-gr.y"
+#line 622 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; }
-#line 2899 "engines/director/lingo/lingo-gr.cpp"
+#line 2902 "engines/director/lingo/lingo-gr.cpp"
break;
case 147:
-#line 619 "engines/director/lingo/lingo-gr.y"
+#line 623 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 2905 "engines/director/lingo/lingo-gr.cpp"
+#line 2908 "engines/director/lingo/lingo-gr.cpp"
break;
case 148:
-#line 620 "engines/director/lingo/lingo-gr.y"
+#line 624 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 2911 "engines/director/lingo/lingo-gr.cpp"
+#line 2914 "engines/director/lingo/lingo-gr.cpp"
break;
case 149:
-#line 623 "engines/director/lingo/lingo-gr.y"
+#line 627 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 2917 "engines/director/lingo/lingo-gr.cpp"
+#line 2920 "engines/director/lingo/lingo-gr.cpp"
break;
case 150:
-#line 624 "engines/director/lingo/lingo-gr.y"
+#line 628 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 2923 "engines/director/lingo/lingo-gr.cpp"
+#line 2926 "engines/director/lingo/lingo-gr.cpp"
break;
case 151:
-#line 627 "engines/director/lingo/lingo-gr.y"
+#line 631 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[-1].code); }
-#line 2929 "engines/director/lingo/lingo-gr.cpp"
+#line 2932 "engines/director/lingo/lingo-gr.cpp"
break;
case 152:
-#line 630 "engines/director/lingo/lingo-gr.y"
+#line 634 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code2(LC::c_arraypush, 0); }
-#line 2935 "engines/director/lingo/lingo-gr.cpp"
+#line 2938 "engines/director/lingo/lingo-gr.cpp"
break;
case 153:
-#line 631 "engines/director/lingo/lingo-gr.y"
+#line 635 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code2(LC::c_proparraypush, 0); }
-#line 2941 "engines/director/lingo/lingo-gr.cpp"
+#line 2944 "engines/director/lingo/lingo-gr.cpp"
break;
case 154:
-#line 632 "engines/director/lingo/lingo-gr.y"
+#line 636 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_arraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 2947 "engines/director/lingo/lingo-gr.cpp"
+#line 2950 "engines/director/lingo/lingo-gr.cpp"
break;
case 155:
-#line 633 "engines/director/lingo/lingo-gr.y"
+#line 637 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_proparraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 2953 "engines/director/lingo/lingo-gr.cpp"
+#line 2956 "engines/director/lingo/lingo-gr.cpp"
break;
case 156:
-#line 636 "engines/director/lingo/lingo-gr.y"
+#line 640 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 2959 "engines/director/lingo/lingo-gr.cpp"
+#line 2962 "engines/director/lingo/lingo-gr.cpp"
break;
case 157:
-#line 637 "engines/director/lingo/lingo-gr.y"
+#line 641 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 2965 "engines/director/lingo/lingo-gr.cpp"
+#line 2968 "engines/director/lingo/lingo-gr.cpp"
break;
case 158:
-#line 640 "engines/director/lingo/lingo-gr.y"
+#line 644 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 2971 "engines/director/lingo/lingo-gr.cpp"
+#line 2974 "engines/director/lingo/lingo-gr.cpp"
break;
case 159:
-#line 641 "engines/director/lingo/lingo-gr.y"
+#line 645 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 2977 "engines/director/lingo/lingo-gr.cpp"
+#line 2980 "engines/director/lingo/lingo-gr.cpp"
break;
case 160:
-#line 644 "engines/director/lingo/lingo-gr.y"
+#line 648 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_symbolpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
delete (yyvsp[-2].s); }
-#line 2986 "engines/director/lingo/lingo-gr.cpp"
+#line 2989 "engines/director/lingo/lingo-gr.cpp"
break;
case 161:
-#line 648 "engines/director/lingo/lingo-gr.y"
+#line 652 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_stringpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
delete (yyvsp[-2].s); }
-#line 2995 "engines/director/lingo/lingo-gr.cpp"
+#line 2998 "engines/director/lingo/lingo-gr.cpp"
break;
-#line 2999 "engines/director/lingo/lingo-gr.cpp"
+#line 3002 "engines/director/lingo/lingo-gr.cpp"
default: break;
}
@@ -3227,5 +3230,5 @@ yyreturn:
#endif
return yyresult;
}
-#line 655 "engines/director/lingo/lingo-gr.y"
+#line 659 "engines/director/lingo/lingo-gr.y"
diff --git a/engines/director/lingo/lingo-gr.y b/engines/director/lingo/lingo-gr.y
index 1a5fa58..f09cace 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -116,7 +116,7 @@ void checkEnd(Common::String *token, const char *expect, bool required) {
%token tON tENDIF tENDREPEAT tENDTELL
%type<code> asgn begin elseif end expr if when repeatwhile
-%type<code> repeatwith stmtlist tell reference simpleexpr list valuelist
+%type<code> repeatwith stmtlist tellstart reference simpleexpr list valuelist
%type<narg> argdef arglist nonemptyarglist linearlist proplist
%type<s> on
@@ -261,12 +261,20 @@ stmt: stmtoneliner
WRITE_UINT32(&end, $end - $when);
g_lingo->code1(STOP);
(*g_lingo->_currentScript)[$when + 1] = end; }
- | tell expr '\n' stmtlist end tENDTELL {
- warning("STUB: TELL is not implemented"); }
- | tell expr tTO expr {
- warning("STUB: TELL is not implemented"); }
+ | tTELL expr '\n' tellstart stmtlist end tENDTELL {
+ inst end;
+ WRITE_UINT32(&end, $end - $tellstart);
+ (*g_lingo->_currentScript)[$tellstart + 1] = end; }
+ | tTELL expr tTO tellstart stmtoneliner end {
+ inst end;
+ WRITE_UINT32(&end, $end - $tellstart);
+ (*g_lingo->_currentScript)[$tellstart + 1] = end; }
;
+tellstart: /* empty */ {
+ $$ = g_lingo->code1(LC::c_tellcode);
+ g_lingo->code1(STOP); }
+
ifstmt: if expr end[endexpr] tTHEN stmtlist end[else1] elseifstmtlist end[end3] tENDIF {
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, $endexpr - $if);
@@ -366,10 +374,6 @@ when: tWHEN ID tTHEN {
g_lingo->codeString($ID->c_str());
delete $ID; }
-tell: tTELL {
- $$ = g_lingo->code1(LC::c_tellcode);
- g_lingo->code1(STOP); }
-
simpleexpr: INT {
$$ = g_lingo->code1(LC::c_intpush);
g_lingo->codeInt($INT); }
Commit: b29d68218c2854ef477badbe1645215d01d6d298
https://github.com/scummvm/scummvm/commit/b29d68218c2854ef477badbe1645215d01d6d298
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-01-14T18:57:00+01:00
Commit Message:
DIRECTOR: LINGO: Added test for the 'tell' command
Changed paths:
A engines/director/lingo/tests/tell.lingo
diff --git a/engines/director/lingo/tests/tell.lingo b/engines/director/lingo/tests/tell.lingo
new file mode 100644
index 0000000..f724611
--- /dev/null
+++ b/engines/director/lingo/tests/tell.lingo
@@ -0,0 +1,9 @@
+tell window "ball" to puppettempo 5
+
+tell window "hello" to continue
+
+tell window childMovie
+ go to frame 50
+ set the stageColor to 100
+ updateStage
+end tell
Commit: 57d73250668f3bc1c15b4a3b3343321398f8478d
https://github.com/scummvm/scummvm/commit/57d73250668f3bc1c15b4a3b3343321398f8478d
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-01-14T18:57:00+01:00
Commit Message:
DIRECTOR: LINGO: Implement reliable stub fot c_tellcode()
Changed paths:
engines/director/lingo/lingo-code.cpp
diff --git a/engines/director/lingo/lingo-code.cpp b/engines/director/lingo/lingo-code.cpp
index 5eb51c5..7715ff7 100644
--- a/engines/director/lingo/lingo-code.cpp
+++ b/engines/director/lingo/lingo-code.cpp
@@ -1079,7 +1079,13 @@ void LC::c_whencode() {
}
void LC::c_tellcode() {
- warning("STUB: c_tellcode");
+ Datum d1 = g_lingo->pop(); // reference
+ uint start = g_lingo->_pc;
+ uint end = g_lingo->readInt() + start - 1;
+
+ warning("STUB: c_tellcode(%s)", d1.toString()->c_str());
+
+ g_lingo->_pc = end;
}
void LC::c_tell() {
Commit: dcc530f34a2b2023da886f5a95046a9a36b82da7
https://github.com/scummvm/scummvm/commit/dcc530f34a2b2023da886f5a95046a9a36b82da7
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-01-14T18:57:00+01:00
Commit Message:
DIRECTOR: LINGO: Fix REFERENCE stubs
Changed paths:
engines/director/lingo/lingo-builtins.cpp
diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index c5f05a0..7b264b5 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -1723,6 +1723,7 @@ void LB::b_cast(int nargs) {
warning("STUB: b_cast");
d.type = REFERENCE;
+ d.u.i = 0;
g_lingo->push(d);
}
@@ -1757,6 +1758,7 @@ void LB::b_script(int nargs) {
warning("STUB: b_script");
d.type = REFERENCE;
+ d.u.i = 0;
g_lingo->push(d);
}
@@ -1767,6 +1769,7 @@ void LB::b_window(int nargs) {
warning("STUB: b_window");
d.type = REFERENCE;
+ d.u.i = 0;
g_lingo->push(d);
}
Commit: dd4681e195604f5952226f75a2bdfc468d9251c6
https://github.com/scummvm/scummvm/commit/dd4681e195604f5952226f75a2bdfc468d9251c6
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-01-14T18:57:00+01:00
Commit Message:
DIRECTOR: LINGO: Fix toString() when score was not loaded
Changed paths:
engines/director/lingo/lingo.cpp
diff --git a/engines/director/lingo/lingo.cpp b/engines/director/lingo/lingo.cpp
index 8935614..de4ab1d 100644
--- a/engines/director/lingo/lingo.cpp
+++ b/engines/director/lingo/lingo.cpp
@@ -411,6 +411,12 @@ Common::String *Datum::toString() {
int idx = u.i;
Score *score = g_director->getCurrentScore();
+ if (!score) {
+ warning("toString(): No score");
+ *s = "";
+ break;
+ }
+
if (!score->_loadedCast->contains(idx)) {
if (!score->_loadedCast->contains(idx - score->_castIDoffset)) {
warning("toString(): Unknown REFERENCE %d", idx);
Commit: f4653e8c287b4f1582e907429a33fee8f01a5776
https://github.com/scummvm/scummvm/commit/f4653e8c287b4f1582e907429a33fee8f01a5776
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-01-14T18:58:11+01:00
Commit Message:
DIRECTOR: LINGO: Implemented parser for 'sound <xx>' family of commands
Changed paths:
engines/director/lingo/lingo-lex.cpp
engines/director/lingo/lingo-lex.l
diff --git a/engines/director/lingo/lingo-lex.cpp b/engines/director/lingo/lingo-lex.cpp
index eb45c32..273e7dc 100644
--- a/engines/director/lingo/lingo-lex.cpp
+++ b/engines/director/lingo/lingo-lex.cpp
@@ -364,8 +364,8 @@ static void yy_fatal_error (yyconst char msg[] );
*yy_cp = '\0'; \
(yy_c_buf_p) = yy_cp;
-#define YY_NUM_RULES 75
-#define YY_END_OF_BUFFER 76
+#define YY_NUM_RULES 76
+#define YY_END_OF_BUFFER 77
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
@@ -373,42 +373,48 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int16_t yy_accept[307] =
+static yyconst flex_int16_t yy_accept[365] =
{ 0,
- 0, 0, 76, 74, 4, 72, 72, 74, 74, 74,
- 71, 71, 71, 70, 71, 67, 71, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 74, 3, 3, 68, 4, 72,
- 0, 0, 0, 73, 5, 66, 2, 69, 70, 65,
- 63, 64, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 22, 13, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 35, 36, 68, 38, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 56, 68, 68,
- 68, 1, 3, 3, 0, 68, 5, 2, 69, 68,
-
- 7, 68, 68, 68, 68, 68, 68, 16, 68, 68,
- 0, 68, 68, 68, 68, 68, 68, 68, 31, 68,
- 68, 34, 68, 68, 68, 68, 44, 68, 46, 68,
- 68, 68, 68, 68, 68, 68, 68, 0, 68, 68,
- 68, 9, 68, 11, 12, 15, 0, 18, 68, 0,
- 68, 68, 25, 26, 27, 28, 68, 68, 68, 33,
- 37, 40, 68, 68, 68, 68, 68, 48, 0, 55,
- 60, 68, 58, 62, 0, 68, 6, 68, 68, 0,
- 16, 68, 21, 68, 68, 29, 68, 32, 0, 68,
- 68, 68, 68, 68, 68, 54, 54, 54, 54, 61,
-
- 68, 0, 68, 8, 68, 0, 16, 19, 0, 68,
- 68, 68, 0, 68, 68, 68, 45, 57, 47, 0,
- 0, 54, 54, 54, 59, 0, 68, 68, 14, 0,
- 68, 68, 0, 30, 0, 68, 68, 68, 0, 0,
- 0, 0, 54, 54, 54, 0, 17, 10, 0, 23,
- 68, 30, 30, 0, 68, 42, 43, 0, 0, 0,
- 54, 54, 54, 17, 0, 68, 30, 0, 41, 0,
- 0, 0, 54, 0, 54, 0, 24, 39, 53, 52,
- 53, 54, 0, 0, 0, 20, 52, 0, 0, 0,
- 0, 0, 0, 49, 50, 0, 50, 0, 52, 0,
-
- 52, 0, 0, 51, 51, 0
+ 0, 0, 77, 75, 4, 73, 73, 75, 75, 75,
+ 72, 72, 72, 71, 72, 68, 72, 69, 69, 69,
+ 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+ 69, 69, 69, 69, 75, 3, 3, 69, 4, 73,
+ 0, 0, 0, 74, 5, 67, 2, 70, 71, 66,
+ 64, 65, 69, 69, 69, 69, 69, 69, 69, 69,
+ 69, 69, 69, 22, 13, 69, 69, 69, 69, 69,
+ 69, 69, 69, 69, 35, 36, 69, 38, 69, 69,
+ 69, 69, 69, 69, 69, 69, 69, 69, 57, 69,
+ 69, 69, 1, 3, 3, 0, 69, 5, 2, 70,
+
+ 69, 7, 69, 69, 69, 69, 69, 69, 16, 69,
+ 69, 0, 69, 69, 69, 69, 69, 69, 69, 31,
+ 69, 69, 34, 69, 69, 69, 69, 44, 69, 46,
+ 69, 69, 69, 69, 69, 69, 69, 69, 69, 0,
+ 69, 69, 69, 9, 69, 11, 12, 15, 0, 18,
+ 69, 0, 69, 69, 25, 26, 27, 28, 69, 69,
+ 69, 33, 37, 40, 69, 69, 69, 69, 69, 69,
+ 49, 0, 56, 61, 69, 59, 63, 0, 69, 6,
+ 69, 69, 0, 16, 69, 21, 69, 69, 29, 69,
+ 32, 0, 69, 69, 69, 69, 69, 69, 69, 55,
+
+ 55, 55, 55, 62, 69, 0, 69, 8, 69, 0,
+ 16, 19, 0, 69, 69, 69, 0, 69, 69, 69,
+ 45, 0, 69, 58, 48, 0, 0, 55, 55, 55,
+ 60, 0, 69, 69, 14, 0, 69, 69, 0, 30,
+ 0, 69, 69, 69, 0, 0, 0, 0, 69, 69,
+ 69, 69, 0, 0, 0, 0, 55, 55, 55, 0,
+ 17, 10, 0, 23, 69, 30, 30, 0, 69, 42,
+ 43, 0, 0, 0, 0, 69, 69, 69, 69, 0,
+ 0, 0, 55, 55, 55, 17, 0, 69, 30, 0,
+ 41, 0, 0, 0, 0, 69, 69, 69, 69, 0,
+
+ 0, 0, 55, 0, 55, 0, 24, 39, 0, 0,
+ 0, 47, 69, 69, 69, 47, 54, 53, 54, 55,
+ 0, 0, 0, 20, 47, 0, 0, 0, 47, 69,
+ 69, 69, 53, 0, 0, 0, 0, 47, 0, 0,
+ 47, 69, 69, 0, 0, 50, 51, 47, 0, 47,
+ 69, 0, 51, 47, 47, 0, 53, 0, 53, 0,
+ 0, 52, 52, 0
} ;
static yyconst flex_int32_t yy_ec[256] =
@@ -454,87 +460,97 @@ static yyconst flex_int32_t yy_meta[66] =
5, 5, 5, 5, 1
} ;
-static yyconst flex_int16_t yy_base[323] =
+static yyconst flex_int16_t yy_base[381] =
{ 0,
- 0, 64, 485, 800, 68, 800, 800, 72, 474, 0,
- 800, 427, 419, 55, 63, 800, 365, 59, 59, 59,
+ 0, 64, 642, 908, 68, 908, 908, 72, 625, 0,
+ 908, 617, 581, 55, 63, 908, 535, 59, 59, 59,
55, 63, 0, 64, 75, 70, 100, 77, 110, 102,
- 98, 129, 128, 131, 83, 166, 187, 293, 191, 800,
- 195, 144, 320, 800, 0, 800, 0, 305, 160, 800,
- 800, 800, 0, 66, 131, 156, 162, 74, 173, 149,
- 167, 180, 156, 91, 0, 174, 193, 172, 186, 198,
- 184, 200, 183, 188, 0, 0, 203, 0, 211, 208,
- 192, 210, 209, 215, 233, 228, 236, 0, 238, 231,
- 234, 800, 290, 294, 271, 225, 0, 0, 223, 237,
-
- 0, 246, 244, 243, 243, 251, 260, 213, 250, 268,
- 268, 270, 286, 282, 266, 283, 282, 284, 0, 292,
- 284, 0, 291, 281, 285, 292, 0, 303, 0, 300,
- 295, 303, 346, 307, 326, 307, 337, 177, 147, 328,
- 329, 0, 341, 0, 0, 269, 361, 0, 347, 337,
- 348, 335, 0, 0, 0, 0, 339, 340, 350, 0,
- 0, 371, 347, 357, 362, 339, 346, 0, 382, 0,
- 0, 374, 375, 0, 107, 91, 0, 380, 377, 404,
- 0, 380, 410, 379, 376, 0, 394, 0, 416, 398,
- 392, 390, 389, 407, 399, 439, 450, 456, 454, 0,
-
- 416, 86, 79, 0, 421, 415, 0, 0, 468, 432,
- 446, 470, 432, 449, 441, 443, 0, 0, 0, 479,
- 459, 493, 495, 515, 0, 42, 20, 448, 800, 454,
- 470, 488, 517, 0, 506, 505, 479, 489, 525, 514,
- 512, 510, 539, 559, 560, 18, 0, 0, 526, 0,
- 504, 0, 0, 519, 523, 0, 0, 519, 570, 539,
- 571, 575, 585, 800, 555, 550, 0, 565, 0, 567,
- 595, 568, 599, 610, 600, 577, 0, 800, 800, 0,
- 800, 614, 620, 581, 631, 800, 0, 632, 624, 633,
- 599, 642, 621, 637, 652, 668, 673, 677, 679, 658,
-
- 692, 612, 667, 800, 800, 800, 733, 735, 738, 741,
- 747, 752, 757, 759, 764, 769, 772, 775, 780, 783,
- 788, 793
+ 98, 139, 126, 152, 83, 184, 205, 458, 209, 908,
+ 213, 145, 482, 908, 0, 908, 0, 430, 139, 908,
+ 908, 908, 0, 66, 116, 136, 149, 74, 166, 106,
+ 151, 153, 125, 91, 0, 165, 176, 139, 151, 201,
+ 191, 201, 188, 194, 0, 0, 209, 0, 215, 212,
+ 200, 205, 202, 203, 207, 226, 214, 223, 0, 246,
+ 213, 223, 908, 279, 283, 333, 324, 0, 0, 234,
+
+ 233, 0, 243, 242, 241, 256, 260, 269, 289, 258,
+ 277, 296, 268, 286, 276, 287, 274, 277, 287, 0,
+ 287, 279, 0, 289, 279, 284, 291, 0, 303, 0,
+ 294, 300, 302, 312, 349, 312, 325, 332, 337, 190,
+ 166, 320, 327, 0, 341, 0, 0, 304, 359, 0,
+ 345, 336, 350, 336, 0, 0, 0, 0, 340, 341,
+ 351, 0, 0, 383, 348, 353, 362, 360, 351, 354,
+ 0, 401, 0, 0, 370, 371, 0, 131, 130, 0,
+ 380, 382, 406, 0, 382, 410, 388, 384, 0, 394,
+ 0, 418, 400, 392, 391, 392, 423, 415, 395, 445,
+
+ 447, 458, 462, 0, 416, 119, 88, 0, 441, 444,
+ 0, 0, 471, 452, 453, 473, 444, 461, 448, 450,
+ 0, 514, 569, 0, 0, 493, 467, 487, 520, 519,
+ 0, 42, 20, 469, 908, 477, 460, 497, 432, 0,
+ 500, 510, 477, 480, 513, 515, 516, 516, 527, 520,
+ 528, 524, 563, 543, 549, 551, 579, 585, 597, 18,
+ 0, 0, 563, 0, 547, 0, 0, 558, 567, 0,
+ 0, 578, 578, 592, 581, 582, 594, 598, 589, 586,
+ 561, 597, 645, 636, 646, 908, 601, 596, 0, 616,
+ 0, 618, 637, 620, 630, 629, 643, 629, 639, 644,
+
+ 666, 651, 672, 676, 693, 654, 0, 908, 658, 677,
+ 666, 908, 678, 684, 679, 0, 908, 0, 908, 710,
+ 714, 686, 720, 908, 908, 657, 681, 693, 0, 694,
+ 692, 707, 0, 740, 734, 746, 715, 908, 714, 726,
+ 0, 719, 729, 756, 724, 761, 762, 908, 738, 0,
+ 751, 785, 786, 908, 0, 787, 791, 773, 800, 753,
+ 761, 908, 908, 908, 841, 843, 846, 849, 855, 860,
+ 865, 867, 872, 877, 880, 883, 888, 891, 896, 901
} ;
-static yyconst flex_int16_t yy_def[323] =
+static yyconst flex_int16_t yy_def[381] =
{ 0,
- 306, 1, 306, 306, 306, 306, 306, 306, 307, 308,
- 306, 306, 306, 306, 306, 306, 306, 309, 309, 309,
- 309, 309, 309, 309, 309, 309, 309, 309, 309, 309,
- 309, 309, 309, 309, 306, 306, 306, 309, 306, 306,
- 306, 306, 307, 306, 310, 306, 311, 306, 306, 306,
- 306, 306, 309, 309, 309, 309, 309, 309, 309, 309,
- 309, 309, 309, 309, 309, 309, 309, 309, 309, 309,
- 309, 309, 309, 309, 309, 309, 309, 309, 309, 309,
- 309, 309, 309, 309, 309, 309, 309, 309, 309, 309,
- 309, 306, 306, 306, 306, 309, 310, 311, 306, 309,
-
- 309, 309, 309, 309, 309, 309, 309, 309, 309, 309,
- 306, 309, 309, 309, 309, 309, 309, 309, 309, 309,
- 309, 309, 309, 309, 309, 309, 309, 309, 309, 309,
- 309, 309, 309, 309, 309, 309, 309, 306, 309, 309,
- 309, 309, 309, 309, 309, 309, 312, 309, 309, 306,
- 309, 309, 309, 309, 309, 309, 309, 309, 309, 309,
- 309, 309, 309, 309, 309, 309, 309, 309, 313, 309,
- 309, 309, 309, 309, 306, 309, 309, 309, 309, 306,
- 314, 309, 306, 309, 309, 309, 309, 309, 306, 309,
- 309, 309, 309, 309, 309, 313, 313, 313, 313, 309,
-
- 309, 306, 309, 309, 309, 306, 314, 309, 306, 309,
- 309, 315, 306, 309, 309, 309, 309, 309, 309, 306,
- 306, 313, 313, 313, 309, 306, 309, 309, 306, 306,
- 309, 309, 316, 317, 306, 309, 309, 309, 306, 306,
- 306, 306, 313, 313, 313, 306, 309, 309, 306, 309,
- 309, 318, 317, 306, 309, 309, 309, 306, 306, 306,
- 313, 313, 313, 306, 306, 309, 318, 306, 309, 306,
- 319, 306, 313, 306, 313, 306, 309, 306, 306, 320,
- 306, 313, 306, 306, 306, 306, 320, 306, 306, 306,
- 306, 306, 306, 319, 306, 306, 319, 321, 322, 306,
-
- 322, 306, 306, 306, 306, 0, 306, 306, 306, 306,
- 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
- 306, 306
+ 364, 1, 364, 364, 364, 364, 364, 364, 365, 366,
+ 364, 364, 364, 364, 364, 364, 364, 367, 367, 367,
+ 367, 367, 367, 367, 367, 367, 367, 367, 367, 367,
+ 367, 367, 367, 367, 364, 364, 364, 367, 364, 364,
+ 364, 364, 365, 364, 368, 364, 369, 364, 364, 364,
+ 364, 364, 367, 367, 367, 367, 367, 367, 367, 367,
+ 367, 367, 367, 367, 367, 367, 367, 367, 367, 367,
+ 367, 367, 367, 367, 367, 367, 367, 367, 367, 367,
+ 367, 367, 367, 367, 367, 367, 367, 367, 367, 367,
+ 367, 367, 364, 364, 364, 364, 367, 368, 369, 364,
+
+ 367, 367, 367, 367, 367, 367, 367, 367, 367, 367,
+ 367, 364, 367, 367, 367, 367, 367, 367, 367, 367,
+ 367, 367, 367, 367, 367, 367, 367, 367, 367, 367,
+ 367, 367, 367, 367, 367, 367, 367, 367, 367, 364,
+ 367, 367, 367, 367, 367, 367, 367, 367, 370, 367,
+ 367, 364, 367, 367, 367, 367, 367, 367, 367, 367,
+ 367, 367, 367, 367, 367, 367, 367, 367, 367, 367,
+ 367, 371, 367, 367, 367, 367, 367, 364, 367, 367,
+ 367, 367, 364, 372, 367, 364, 367, 367, 367, 367,
+ 367, 364, 367, 367, 367, 367, 367, 367, 367, 371,
+
+ 371, 371, 371, 367, 367, 364, 367, 367, 367, 364,
+ 372, 367, 364, 367, 367, 373, 364, 367, 367, 367,
+ 367, 364, 367, 367, 367, 364, 364, 371, 371, 371,
+ 367, 364, 367, 367, 364, 364, 367, 367, 374, 375,
+ 364, 367, 367, 367, 364, 364, 364, 364, 367, 367,
+ 367, 367, 364, 364, 364, 364, 371, 371, 371, 364,
+ 367, 367, 364, 367, 367, 376, 375, 364, 367, 367,
+ 367, 364, 364, 364, 364, 367, 367, 367, 367, 364,
+ 364, 364, 371, 371, 371, 364, 364, 367, 376, 364,
+ 367, 364, 364, 364, 364, 367, 367, 367, 367, 364,
+
+ 377, 364, 371, 364, 371, 364, 367, 364, 364, 364,
+ 364, 364, 367, 367, 367, 367, 364, 378, 364, 371,
+ 364, 364, 364, 364, 364, 364, 364, 364, 367, 367,
+ 367, 367, 378, 364, 364, 364, 364, 364, 364, 364,
+ 367, 367, 367, 364, 364, 377, 364, 364, 364, 367,
+ 367, 364, 377, 364, 367, 379, 380, 364, 380, 364,
+ 364, 364, 364, 0, 364, 364, 364, 364, 364, 364,
+ 364, 364, 364, 364, 364, 364, 364, 364, 364, 364
} ;
-static yyconst flex_int16_t yy_nxt[866] =
+static yyconst flex_int16_t yy_nxt[974] =
{ 0,
4, 5, 6, 7, 8, 9, 10, 11, 12, 11,
13, 4, 14, 15, 16, 17, 18, 19, 20, 21,
@@ -544,96 +560,108 @@ static yyconst flex_int16_t yy_nxt[866] =
26, 27, 28, 29, 30, 23, 31, 32, 33, 23,
23, 34, 23, 23, 35, 36, 48, 49, 37, 39,
40, 40, 41, 41, 40, 40, 41, 50, 51, 56,
- 54, 264, 57, 247, 59, 92, 92, 55, 58, 60,
- 63, 61, 111, 64, 68, 111, 65, 73, 246, 69,
+ 54, 286, 57, 261, 59, 93, 93, 55, 58, 60,
+ 63, 61, 112, 64, 68, 112, 65, 73, 260, 69,
- 100, 62, 104, 66, 56, 54, 74, 57, 59, 67,
+ 101, 62, 105, 66, 56, 54, 74, 57, 59, 67,
38, 55, 58, 60, 63, 61, 70, 64, 82, 68,
- 71, 65, 73, 69, 100, 62, 104, 66, 79, 72,
- 74, 75, 42, 67, 80, 227, 42, 81, 76, 226,
- 77, 70, 78, 82, 203, 71, 92, 92, 86, 83,
- 101, 87, 79, 72, 89, 90, 75, 88, 80, 84,
- 91, 81, 76, 85, 77, 202, 78, 93, 40, 40,
- 94, 48, 49, 86, 83, 101, 87, 102, 103, 89,
- 90, 88, 107, 84, 91, 110, 108, 85, 94, 40,
- 40, 94, 39, 40, 40, 41, 41, 40, 40, 41,
-
- 115, 105, 102, 103, 109, 176, 107, 112, 113, 110,
- 106, 108, 95, 114, 147, 116, 117, 147, 118, 119,
- 175, 121, 122, 123, 115, 105, 127, 124, 125, 109,
- 42, 112, 113, 95, 106, 99, 120, 126, 114, 116,
- 128, 117, 118, 129, 119, 121, 122, 130, 123, 131,
- 127, 42, 124, 125, 132, 42, 133, 140, 134, 42,
- 120, 126, 135, 144, 128, 136, 137, 129, 139, 111,
- 180, 130, 111, 180, 131, 141, 142, 143, 132, 145,
- 146, 133, 140, 134, 148, 149, 155, 135, 144, 136,
- 137, 93, 40, 40, 94, 94, 40, 40, 94, 141,
-
- 142, 143, 150, 145, 151, 146, 152, 158, 148, 154,
- 149, 155, 138, 156, 157, 153, 159, 99, 160, 161,
- 162, 163, 164, 165, 166, 44, 150, 167, 151, 168,
- 173, 152, 158, 154, 96, 171, 95, 156, 157, 153,
- 95, 159, 160, 161, 162, 163, 164, 169, 165, 166,
- 169, 167, 172, 168, 42, 173, 174, 179, 42, 171,
- 177, 178, 147, 182, 184, 147, 183, 185, 186, 187,
- 188, 191, 189, 194, 170, 189, 172, 192, 193, 52,
- 195, 174, 179, 169, 177, 178, 169, 190, 182, 184,
- 183, 185, 186, 187, 200, 188, 191, 194, 170, 201,
-
- 204, 205, 192, 193, 195, 180, 208, 210, 180, 211,
- 197, 209, 190, 212, 209, 198, 214, 189, 199, 200,
- 189, 215, 216, 217, 201, 204, 205, 218, 206, 47,
- 208, 210, 219, 211, 197, 46, 229, 213, 212, 198,
- 220, 214, 199, 220, 225, 215, 216, 217, 221, 228,
- 231, 220, 218, 206, 220, 220, 219, 220, 220, 221,
- 220, 229, 213, 221, 235, 221, 232, 236, 225, 209,
- 224, 233, 209, 228, 233, 231, 237, 238, 240, 44,
- 239, 248, 53, 239, 306, 222, 249, 223, 235, 230,
- 250, 232, 236, 242, 220, 224, 220, 220, 240, 220,
-
- 237, 238, 221, 240, 221, 248, 251, 306, 241, 222,
- 249, 223, 256, 242, 230, 250, 220, 242, 233, 220,
- 243, 233, 254, 240, 221, 255, 239, 244, 257, 239,
- 258, 251, 241, 259, 260, 306, 256, 242, 266, 306,
- 220, 245, 265, 220, 243, 306, 268, 254, 221, 269,
- 255, 244, 257, 270, 241, 258, 261, 306, 259, 260,
- 220, 220, 266, 220, 220, 245, 272, 265, 221, 221,
- 268, 271, 220, 269, 271, 220, 274, 270, 241, 274,
- 221, 261, 276, 277, 221, 278, 220, 279, 281, 220,
- 272, 273, 306, 262, 221, 263, 271, 286, 306, 271,
-
- 220, 285, 289, 220, 285, 275, 276, 277, 221, 221,
- 278, 283, 279, 281, 283, 288, 273, 262, 288, 263,
- 295, 283, 286, 221, 283, 294, 306, 289, 294, 240,
- 275, 282, 290, 292, 290, 290, 292, 290, 294, 284,
- 304, 294, 296, 292, 242, 295, 292, 306, 306, 284,
- 240, 240, 306, 297, 240, 282, 297, 306, 306, 306,
- 291, 293, 291, 284, 304, 242, 242, 296, 242, 298,
- 306, 293, 298, 284, 297, 240, 240, 297, 298, 306,
- 300, 298, 302, 300, 291, 293, 291, 303, 305, 242,
- 242, 287, 306, 300, 306, 293, 300, 306, 306, 306,
-
- 306, 306, 306, 306, 287, 306, 306, 302, 306, 306,
- 306, 303, 306, 305, 306, 306, 306, 280, 306, 287,
- 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
- 306, 306, 287, 43, 43, 306, 43, 43, 43, 45,
- 45, 53, 53, 53, 97, 97, 97, 98, 98, 306,
- 98, 98, 98, 181, 306, 306, 181, 181, 196, 306,
- 306, 196, 207, 207, 207, 234, 306, 234, 234, 234,
- 252, 306, 306, 252, 252, 253, 253, 253, 267, 267,
- 267, 280, 306, 306, 280, 280, 287, 287, 287, 299,
- 306, 306, 299, 299, 301, 306, 301, 301, 301, 3,
-
- 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
- 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
- 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
- 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
- 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
- 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
- 306, 306, 306, 306, 306
+ 71, 65, 73, 69, 101, 62, 105, 66, 79, 72,
+ 74, 75, 42, 67, 80, 102, 42, 81, 76, 108,
+ 77, 70, 78, 82, 233, 71, 87, 93, 93, 88,
+ 48, 49, 79, 72, 111, 89, 75, 103, 80, 83,
+ 102, 81, 76, 108, 77, 104, 78, 116, 84, 85,
+ 109, 87, 232, 86, 88, 90, 91, 110, 111, 89,
+ 117, 92, 103, 207, 83, 94, 40, 40, 95, 206,
+ 104, 116, 84, 85, 106, 109, 115, 86, 113, 114,
+
+ 90, 91, 110, 107, 117, 92, 95, 40, 40, 95,
+ 39, 40, 40, 41, 41, 40, 40, 41, 106, 118,
+ 120, 115, 113, 114, 179, 119, 122, 107, 123, 124,
+ 96, 125, 126, 178, 128, 129, 130, 121, 131, 132,
+ 134, 127, 133, 135, 118, 120, 100, 138, 42, 119,
+ 122, 96, 123, 142, 124, 139, 125, 126, 128, 129,
+ 130, 121, 131, 132, 134, 127, 136, 133, 135, 42,
+ 137, 138, 143, 42, 144, 145, 146, 42, 142, 139,
+ 94, 40, 40, 95, 95, 40, 40, 95, 147, 148,
+ 149, 136, 150, 149, 151, 137, 143, 112, 144, 145,
+
+ 112, 146, 153, 156, 158, 183, 154, 157, 183, 159,
+ 160, 161, 147, 162, 148, 155, 150, 163, 164, 151,
+ 165, 166, 168, 167, 169, 96, 153, 156, 158, 96,
+ 152, 154, 157, 159, 170, 160, 161, 162, 171, 155,
+ 174, 163, 164, 42, 165, 166, 168, 42, 167, 169,
+ 172, 175, 180, 172, 152, 176, 177, 182, 170, 181,
+ 149, 185, 171, 149, 174, 186, 187, 141, 188, 189,
+ 190, 191, 194, 195, 140, 175, 180, 173, 196, 197,
+ 176, 177, 182, 181, 192, 198, 185, 192, 199, 186,
+ 204, 187, 188, 189, 190, 205, 191, 194, 195, 193,
+
+ 208, 173, 172, 196, 197, 172, 209, 183, 212, 198,
+ 183, 213, 199, 216, 213, 204, 214, 215, 218, 192,
+ 205, 219, 192, 220, 193, 208, 221, 222, 225, 201,
+ 210, 209, 212, 239, 202, 224, 239, 203, 216, 217,
+ 214, 215, 100, 218, 231, 219, 226, 220, 226, 226,
+ 221, 226, 225, 201, 227, 210, 227, 223, 202, 226,
+ 224, 203, 226, 226, 217, 235, 226, 227, 231, 234,
+ 237, 227, 213, 238, 239, 213, 241, 239, 230, 242,
+ 264, 223, 228, 243, 244, 53, 254, 44, 226, 229,
+ 235, 226, 236, 234, 253, 237, 227, 253, 238, 97,
+
+ 241, 256, 262, 230, 242, 264, 228, 243, 244, 263,
+ 270, 254, 254, 229, 257, 265, 268, 236, 222, 271,
+ 226, 226, 255, 226, 226, 256, 262, 256, 227, 227,
+ 269, 273, 245, 263, 270, 246, 277, 254, 257, 272,
+ 265, 268, 274, 271, 247, 259, 255, 248, 222, 52,
+ 275, 256, 258, 276, 278, 269, 273, 245, 279, 280,
+ 246, 277, 301, 272, 253, 301, 274, 253, 247, 259,
+ 281, 248, 222, 222, 275, 282, 258, 276, 278, 287,
+ 226, 288, 279, 226, 280, 290, 226, 249, 227, 226,
+ 250, 47, 255, 291, 227, 281, 283, 293, 226, 251,
+
+ 282, 226, 252, 223, 287, 288, 227, 292, 294, 290,
+ 295, 296, 249, 297, 298, 250, 255, 291, 299, 284,
+ 300, 283, 293, 251, 302, 46, 252, 223, 306, 307,
+ 44, 292, 285, 294, 295, 296, 308, 304, 297, 298,
+ 304, 364, 299, 284, 300, 227, 226, 226, 302, 226,
+ 226, 309, 306, 307, 227, 227, 285, 310, 364, 311,
+ 312, 308, 313, 314, 317, 303, 305, 301, 315, 316,
+ 301, 319, 364, 226, 324, 309, 226, 321, 325, 364,
+ 321, 227, 310, 311, 312, 338, 313, 328, 314, 317,
+ 303, 305, 315, 316, 323, 254, 319, 323, 329, 324,
+
+ 332, 326, 227, 325, 320, 322, 327, 335, 330, 338,
+ 256, 334, 328, 331, 334, 321, 339, 340, 321, 227,
+ 254, 336, 341, 329, 336, 332, 326, 342, 320, 322,
+ 327, 343, 335, 330, 256, 346, 347, 331, 346, 254,
+ 339, 344, 340, 322, 344, 352, 341, 336, 348, 337,
+ 336, 342, 349, 350, 256, 351, 343, 344, 354, 254,
+ 344, 347, 346, 353, 254, 346, 353, 322, 364, 345,
+ 352, 355, 348, 337, 256, 337, 349, 350, 256, 351,
+ 364, 362, 363, 354, 254, 345, 356, 353, 356, 356,
+ 353, 356, 358, 345, 364, 358, 355, 360, 256, 337,
+
+ 364, 358, 361, 333, 358, 362, 364, 363, 364, 345,
+ 364, 364, 333, 364, 364, 364, 364, 364, 364, 364,
+ 364, 364, 360, 364, 364, 364, 361, 318, 364, 364,
+ 364, 333, 364, 364, 364, 364, 364, 364, 364, 364,
+ 333, 43, 43, 364, 43, 43, 43, 45, 45, 53,
+ 53, 53, 98, 98, 98, 99, 99, 364, 99, 99,
+ 99, 184, 364, 364, 184, 184, 200, 364, 364, 200,
+ 211, 211, 211, 240, 364, 240, 240, 240, 266, 364,
+ 364, 266, 266, 267, 267, 267, 289, 289, 289, 318,
+ 364, 364, 318, 318, 333, 333, 333, 357, 364, 364,
+
+ 357, 357, 359, 364, 359, 359, 359, 3, 364, 364,
+ 364, 364, 364, 364, 364, 364, 364, 364, 364, 364,
+ 364, 364, 364, 364, 364, 364, 364, 364, 364, 364,
+ 364, 364, 364, 364, 364, 364, 364, 364, 364, 364,
+ 364, 364, 364, 364, 364, 364, 364, 364, 364, 364,
+ 364, 364, 364, 364, 364, 364, 364, 364, 364, 364,
+ 364, 364, 364, 364, 364, 364, 364, 364, 364, 364,
+ 364, 364, 364
} ;
-static yyconst flex_int16_t yy_chk[866] =
+static yyconst flex_int16_t yy_chk[974] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -643,93 +671,105 @@ static yyconst flex_int16_t yy_chk[866] =
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 2, 14, 14, 2, 5,
5, 5, 5, 8, 8, 8, 8, 15, 15, 19,
- 18, 246, 20, 227, 21, 35, 35, 18, 20, 22,
- 24, 22, 64, 24, 26, 64, 25, 28, 226, 26,
+ 18, 260, 20, 233, 21, 35, 35, 18, 20, 22,
+ 24, 22, 64, 24, 26, 64, 25, 28, 232, 26,
54, 22, 58, 25, 19, 18, 28, 20, 21, 25,
2, 18, 20, 22, 24, 22, 27, 24, 31, 26,
27, 25, 28, 26, 54, 22, 58, 25, 30, 27,
- 28, 29, 5, 25, 30, 203, 8, 30, 29, 202,
- 29, 27, 29, 31, 176, 27, 42, 42, 33, 32,
- 55, 33, 30, 27, 34, 34, 29, 33, 30, 32,
- 34, 30, 29, 32, 29, 175, 29, 36, 36, 36,
- 36, 49, 49, 33, 32, 55, 33, 56, 57, 34,
- 34, 33, 60, 32, 34, 63, 61, 32, 37, 37,
- 37, 37, 39, 39, 39, 39, 41, 41, 41, 41,
-
- 68, 59, 56, 57, 62, 139, 60, 66, 66, 63,
- 59, 61, 36, 67, 108, 69, 70, 108, 71, 72,
- 138, 73, 74, 77, 68, 59, 81, 79, 80, 62,
- 36, 66, 66, 37, 59, 99, 72, 80, 67, 69,
- 82, 70, 71, 83, 72, 73, 74, 84, 77, 85,
- 81, 37, 79, 80, 86, 39, 87, 100, 89, 41,
- 72, 80, 89, 105, 82, 90, 91, 83, 96, 111,
- 146, 84, 111, 146, 85, 102, 103, 104, 86, 106,
- 107, 87, 100, 89, 109, 110, 115, 89, 105, 90,
- 91, 93, 93, 93, 93, 94, 94, 94, 94, 102,
-
- 103, 104, 111, 106, 112, 107, 113, 118, 109, 114,
- 110, 115, 95, 116, 117, 113, 120, 48, 121, 123,
- 124, 125, 126, 128, 130, 43, 111, 131, 112, 132,
- 136, 113, 118, 114, 38, 134, 93, 116, 117, 113,
- 94, 120, 121, 123, 124, 125, 126, 133, 128, 130,
- 133, 131, 135, 132, 93, 136, 137, 143, 94, 134,
- 140, 141, 147, 149, 151, 147, 150, 152, 157, 158,
- 159, 163, 162, 166, 133, 162, 135, 164, 165, 17,
- 167, 137, 143, 169, 140, 141, 169, 162, 149, 151,
- 150, 152, 157, 158, 172, 159, 163, 166, 133, 173,
-
- 178, 179, 164, 165, 167, 180, 182, 184, 180, 185,
- 169, 183, 162, 187, 183, 169, 190, 189, 169, 172,
- 189, 191, 192, 193, 173, 178, 179, 194, 180, 13,
- 182, 184, 195, 185, 169, 12, 206, 189, 187, 169,
- 196, 190, 169, 196, 201, 191, 192, 193, 196, 205,
- 210, 197, 194, 180, 197, 199, 195, 198, 199, 197,
- 198, 206, 189, 199, 213, 198, 211, 214, 201, 209,
- 199, 212, 209, 205, 212, 210, 215, 216, 221, 9,
- 220, 228, 212, 220, 3, 197, 230, 198, 213, 209,
- 231, 211, 214, 221, 222, 199, 223, 222, 220, 223,
-
- 215, 216, 222, 221, 223, 228, 232, 0, 220, 197,
- 230, 198, 237, 220, 209, 231, 224, 221, 233, 224,
- 222, 233, 235, 220, 224, 236, 239, 223, 238, 239,
- 240, 232, 220, 241, 242, 0, 237, 220, 251, 0,
- 243, 224, 249, 243, 222, 0, 254, 235, 243, 255,
- 236, 223, 238, 258, 239, 240, 243, 0, 241, 242,
- 244, 245, 251, 244, 245, 224, 260, 249, 244, 245,
- 254, 259, 261, 255, 259, 261, 262, 258, 239, 262,
- 261, 243, 265, 266, 262, 268, 263, 270, 272, 263,
- 260, 261, 0, 244, 263, 245, 271, 276, 0, 271,
-
- 273, 275, 284, 273, 275, 263, 265, 266, 273, 275,
- 268, 274, 270, 272, 274, 282, 261, 244, 282, 245,
- 291, 283, 276, 282, 283, 289, 0, 284, 289, 274,
- 263, 273, 285, 288, 290, 285, 288, 290, 294, 274,
- 302, 294, 293, 292, 274, 291, 292, 0, 0, 283,
- 285, 288, 0, 295, 274, 273, 295, 0, 0, 0,
- 285, 288, 290, 274, 302, 285, 288, 293, 274, 296,
- 0, 292, 296, 283, 297, 285, 288, 297, 298, 0,
- 299, 298, 300, 299, 285, 288, 290, 300, 303, 285,
- 288, 299, 0, 301, 0, 292, 301, 0, 0, 0,
-
- 0, 0, 0, 0, 301, 0, 0, 300, 0, 0,
- 0, 300, 0, 303, 0, 0, 0, 298, 0, 299,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 301, 307, 307, 0, 307, 307, 307, 308,
- 308, 309, 309, 309, 310, 310, 310, 311, 311, 0,
- 311, 311, 311, 312, 0, 0, 312, 312, 313, 0,
- 0, 313, 314, 314, 314, 315, 0, 315, 315, 315,
- 316, 0, 0, 316, 316, 317, 317, 317, 318, 318,
- 318, 319, 0, 0, 319, 319, 320, 320, 320, 321,
- 0, 0, 321, 321, 322, 0, 322, 322, 322, 306,
-
- 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
- 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
- 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
- 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
- 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
- 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
- 306, 306, 306, 306, 306
+ 28, 29, 5, 25, 30, 55, 8, 30, 29, 60,
+ 29, 27, 29, 31, 207, 27, 33, 42, 42, 33,
+ 49, 49, 30, 27, 63, 33, 29, 56, 30, 32,
+ 55, 30, 29, 60, 29, 57, 29, 68, 32, 32,
+ 61, 33, 206, 32, 33, 34, 34, 62, 63, 33,
+ 69, 34, 56, 179, 32, 36, 36, 36, 36, 178,
+ 57, 68, 32, 32, 59, 61, 67, 32, 66, 66,
+
+ 34, 34, 62, 59, 69, 34, 37, 37, 37, 37,
+ 39, 39, 39, 39, 41, 41, 41, 41, 59, 70,
+ 72, 67, 66, 66, 141, 71, 73, 59, 74, 77,
+ 36, 79, 80, 140, 81, 82, 83, 72, 84, 85,
+ 87, 80, 86, 88, 70, 72, 100, 91, 36, 71,
+ 73, 37, 74, 101, 77, 92, 79, 80, 81, 82,
+ 83, 72, 84, 85, 87, 80, 90, 86, 88, 37,
+ 90, 91, 103, 39, 104, 105, 106, 41, 101, 92,
+ 94, 94, 94, 94, 95, 95, 95, 95, 107, 108,
+ 109, 90, 110, 109, 111, 90, 103, 112, 104, 105,
+
+ 112, 106, 113, 115, 117, 148, 114, 116, 148, 118,
+ 119, 121, 107, 122, 108, 114, 110, 124, 125, 111,
+ 126, 127, 131, 129, 132, 94, 113, 115, 117, 95,
+ 112, 114, 116, 118, 133, 119, 121, 122, 134, 114,
+ 136, 124, 125, 94, 126, 127, 131, 95, 129, 132,
+ 135, 137, 142, 135, 112, 138, 139, 145, 133, 143,
+ 149, 151, 134, 149, 136, 152, 153, 97, 154, 159,
+ 160, 161, 165, 166, 96, 137, 142, 135, 167, 168,
+ 138, 139, 145, 143, 164, 169, 151, 164, 170, 152,
+ 175, 153, 154, 159, 160, 176, 161, 165, 166, 164,
+
+ 181, 135, 172, 167, 168, 172, 182, 183, 185, 169,
+ 183, 186, 170, 190, 186, 175, 187, 188, 193, 192,
+ 176, 194, 192, 195, 164, 181, 196, 197, 199, 172,
+ 183, 182, 185, 239, 172, 198, 239, 172, 190, 192,
+ 187, 188, 48, 193, 205, 194, 200, 195, 201, 200,
+ 196, 201, 199, 172, 200, 183, 201, 197, 172, 202,
+ 198, 172, 202, 203, 192, 210, 203, 202, 205, 209,
+ 214, 203, 213, 215, 216, 213, 217, 216, 203, 218,
+ 237, 197, 201, 219, 220, 216, 227, 43, 228, 202,
+ 210, 228, 213, 209, 226, 214, 228, 226, 215, 38,
+
+ 217, 227, 234, 203, 218, 237, 201, 219, 220, 236,
+ 243, 227, 226, 202, 228, 238, 241, 213, 222, 244,
+ 230, 229, 226, 230, 229, 227, 234, 226, 230, 229,
+ 242, 246, 222, 236, 243, 222, 250, 226, 228, 245,
+ 238, 241, 247, 244, 222, 230, 226, 222, 222, 17,
+ 248, 226, 229, 249, 251, 242, 246, 222, 252, 254,
+ 222, 250, 281, 245, 253, 281, 247, 253, 222, 230,
+ 255, 222, 222, 223, 248, 256, 229, 249, 251, 263,
+ 257, 265, 252, 257, 254, 268, 258, 223, 257, 258,
+ 223, 13, 253, 269, 258, 255, 257, 273, 259, 223,
+
+ 256, 259, 223, 223, 263, 265, 259, 272, 274, 268,
+ 275, 276, 223, 277, 278, 223, 253, 269, 279, 258,
+ 280, 257, 273, 223, 282, 12, 223, 223, 287, 288,
+ 9, 272, 259, 274, 275, 276, 290, 284, 277, 278,
+ 284, 3, 279, 258, 280, 284, 283, 285, 282, 283,
+ 285, 292, 287, 288, 283, 285, 259, 293, 0, 294,
+ 295, 290, 296, 297, 300, 283, 285, 301, 298, 299,
+ 301, 302, 0, 303, 306, 292, 303, 304, 309, 0,
+ 304, 303, 293, 294, 295, 326, 296, 311, 297, 300,
+ 283, 285, 298, 299, 305, 304, 302, 305, 313, 306,
+
+ 315, 310, 305, 309, 303, 304, 310, 322, 314, 326,
+ 304, 320, 311, 314, 320, 321, 327, 328, 321, 320,
+ 304, 323, 330, 313, 323, 315, 310, 331, 303, 304,
+ 310, 332, 322, 314, 304, 335, 337, 314, 335, 323,
+ 327, 334, 328, 321, 334, 345, 330, 336, 339, 323,
+ 336, 331, 340, 342, 323, 343, 332, 344, 349, 334,
+ 344, 337, 346, 347, 323, 346, 347, 321, 0, 334,
+ 345, 351, 339, 323, 334, 336, 340, 342, 323, 343,
+ 0, 360, 361, 349, 334, 344, 352, 353, 356, 352,
+ 353, 356, 357, 334, 0, 357, 351, 358, 334, 336,
+
+ 0, 359, 358, 357, 359, 360, 0, 361, 0, 344,
+ 0, 0, 359, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 358, 0, 0, 0, 358, 356, 0, 0,
+ 0, 357, 0, 0, 0, 0, 0, 0, 0, 0,
+ 359, 365, 365, 0, 365, 365, 365, 366, 366, 367,
+ 367, 367, 368, 368, 368, 369, 369, 0, 369, 369,
+ 369, 370, 0, 0, 370, 370, 371, 0, 0, 371,
+ 372, 372, 372, 373, 0, 373, 373, 373, 374, 0,
+ 0, 374, 374, 375, 375, 375, 376, 376, 376, 377,
+ 0, 0, 377, 377, 378, 378, 378, 379, 0, 0,
+
+ 379, 379, 380, 0, 380, 380, 380, 364, 364, 364,
+ 364, 364, 364, 364, 364, 364, 364, 364, 364, 364,
+ 364, 364, 364, 364, 364, 364, 364, 364, 364, 364,
+ 364, 364, 364, 364, 364, 364, 364, 364, 364, 364,
+ 364, 364, 364, 364, 364, 364, 364, 364, 364, 364,
+ 364, 364, 364, 364, 364, 364, 364, 364, 364, 364,
+ 364, 364, 364, 364, 364, 364, 364, 364, 364, 364,
+ 364, 364, 364
} ;
static yy_state_type yy_last_accepting_state;
@@ -818,7 +858,7 @@ static int checkImmediate(int token) {
return token;
}
-#line 822 "engines/director/lingo/lingo-lex.cpp"
+#line 862 "engines/director/lingo/lingo-lex.cpp"
#define INITIAL 0
@@ -1004,7 +1044,7 @@ YY_DECL
#line 87 "engines/director/lingo/lingo-lex.l"
-#line 1008 "engines/director/lingo/lingo-lex.cpp"
+#line 1048 "engines/director/lingo/lingo-lex.cpp"
if ( !(yy_init) )
{
@@ -1058,13 +1098,13 @@ yy_match:
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 307 )
+ if ( yy_current_state >= 365 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
++yy_cp;
}
- while ( yy_current_state != 306 );
+ while ( yy_current_state != 364 );
yy_cp = (yy_last_accepting_cpos);
yy_current_state = (yy_last_accepting_state);
@@ -1345,16 +1385,40 @@ YY_RULE_SETUP
case 47:
YY_RULE_SETUP
#line 164 "engines/director/lingo/lingo-lex.l"
-{ count(); return tSTARTS; }
+{
+ count();
+
+ const char *ptr = &yytext[6]; // Skip 'sound '
+ while (*ptr == ' ' || *ptr == '\t')
+ ptr++;
+
+ Common::String command;
+ while (*ptr != ' ' && *ptr != '\t')
+ command += *ptr++;
+
+ Common::String bltin = Common::String::format("sound-%s", command.c_str());
+
+ if (g_lingo->_builtins.contains(bltin)) {
+ yylval.s = new Common::String(bltin);
+ return BLTIN;
+ } else {
+ error("LEXER: Unhandled 'sound %s'", command.c_str());
+ }
+ }
YY_BREAK
case 48:
YY_RULE_SETUP
-#line 165 "engines/director/lingo/lingo-lex.l"
-{ count(); return tTELL; }
+#line 184 "engines/director/lingo/lingo-lex.l"
+{ count(); return tSTARTS; }
YY_BREAK
case 49:
YY_RULE_SETUP
-#line 166 "engines/director/lingo/lingo-lex.l"
+#line 185 "engines/director/lingo/lingo-lex.l"
+{ count(); return tTELL; }
+ YY_BREAK
+case 50:
+YY_RULE_SETUP
+#line 186 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1364,9 +1428,9 @@ YY_RULE_SETUP
return THEENTITYWITHID;
}
YY_BREAK
-case 50:
+case 51:
YY_RULE_SETUP
-#line 174 "engines/director/lingo/lingo-lex.l"
+#line 194 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1375,9 +1439,9 @@ YY_RULE_SETUP
return FBLTIN;
}
YY_BREAK
-case 51:
+case 52:
YY_RULE_SETUP
-#line 181 "engines/director/lingo/lingo-lex.l"
+#line 201 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1402,9 +1466,9 @@ YY_RULE_SETUP
error("LEXER: Unhandled chunk expression '%s'", yylval.s->c_str());
}
YY_BREAK
-case 52:
+case 53:
YY_RULE_SETUP
-#line 204 "engines/director/lingo/lingo-lex.l"
+#line 224 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1459,9 +1523,9 @@ YY_RULE_SETUP
warning("LEXER: Unhandled the entity '%s', field '%s'", ptr, field.c_str());
}
YY_BREAK
-case 53:
+case 54:
YY_RULE_SETUP
-#line 257 "engines/director/lingo/lingo-lex.l"
+#line 277 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1494,9 +1558,9 @@ YY_RULE_SETUP
return THEENTITY;
}
YY_BREAK
-case 54:
+case 55:
YY_RULE_SETUP
-#line 288 "engines/director/lingo/lingo-lex.l"
+#line 308 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1517,74 +1581,74 @@ YY_RULE_SETUP
warning("LEXER: Unhandled the entity '%s'", ptr);
}
YY_BREAK
-case 55:
+case 56:
YY_RULE_SETUP
-#line 307 "engines/director/lingo/lingo-lex.l"
+#line 327 "engines/director/lingo/lingo-lex.l"
{ count(); return tTHEN; }
YY_BREAK
-case 56:
+case 57:
YY_RULE_SETUP
-#line 308 "engines/director/lingo/lingo-lex.l"
+#line 328 "engines/director/lingo/lingo-lex.l"
{ count(); return tTO; }
YY_BREAK
-case 57:
+case 58:
YY_RULE_SETUP
-#line 309 "engines/director/lingo/lingo-lex.l"
+#line 329 "engines/director/lingo/lingo-lex.l"
{ count(); return tSPRITE; }
YY_BREAK
-case 58:
+case 59:
YY_RULE_SETUP
-#line 310 "engines/director/lingo/lingo-lex.l"
+#line 330 "engines/director/lingo/lingo-lex.l"
{ count(); return tWITH; }
YY_BREAK
-case 59:
+case 60:
YY_RULE_SETUP
-#line 311 "engines/director/lingo/lingo-lex.l"
+#line 331 "engines/director/lingo/lingo-lex.l"
{ count(); return tWITHIN; }
YY_BREAK
-case 60:
+case 61:
YY_RULE_SETUP
-#line 312 "engines/director/lingo/lingo-lex.l"
+#line 332 "engines/director/lingo/lingo-lex.l"
{ count(); return tWHEN; }
YY_BREAK
-case 61:
+case 62:
YY_RULE_SETUP
-#line 313 "engines/director/lingo/lingo-lex.l"
+#line 333 "engines/director/lingo/lingo-lex.l"
{ count(); return tWHILE; }
YY_BREAK
-case 62:
+case 63:
YY_RULE_SETUP
-#line 314 "engines/director/lingo/lingo-lex.l"
+#line 334 "engines/director/lingo/lingo-lex.l"
{ count(); return tWORD; }
YY_BREAK
-case 63:
+case 64:
YY_RULE_SETUP
-#line 316 "engines/director/lingo/lingo-lex.l"
+#line 336 "engines/director/lingo/lingo-lex.l"
{ count(); return tNEQ; }
YY_BREAK
-case 64:
+case 65:
YY_RULE_SETUP
-#line 317 "engines/director/lingo/lingo-lex.l"
+#line 337 "engines/director/lingo/lingo-lex.l"
{ count(); return tGE; }
YY_BREAK
-case 65:
+case 66:
YY_RULE_SETUP
-#line 318 "engines/director/lingo/lingo-lex.l"
+#line 338 "engines/director/lingo/lingo-lex.l"
{ count(); return tLE; }
YY_BREAK
-case 66:
+case 67:
YY_RULE_SETUP
-#line 319 "engines/director/lingo/lingo-lex.l"
+#line 339 "engines/director/lingo/lingo-lex.l"
{ count(); return tCONCAT; }
YY_BREAK
-case 67:
+case 68:
YY_RULE_SETUP
-#line 320 "engines/director/lingo/lingo-lex.l"
+#line 340 "engines/director/lingo/lingo-lex.l"
{ count(); return tEQ; }
YY_BREAK
-case 68:
+case 69:
YY_RULE_SETUP
-#line 322 "engines/director/lingo/lingo-lex.l"
+#line 342 "engines/director/lingo/lingo-lex.l"
{
count();
yylval.s = new Common::String(yytext);
@@ -1618,43 +1682,43 @@ YY_RULE_SETUP
return ID;
}
YY_BREAK
-case 69:
+case 70:
YY_RULE_SETUP
-#line 354 "engines/director/lingo/lingo-lex.l"
+#line 374 "engines/director/lingo/lingo-lex.l"
{ count(); yylval.f = atof(yytext); return FLOAT; }
YY_BREAK
-case 70:
+case 71:
YY_RULE_SETUP
-#line 355 "engines/director/lingo/lingo-lex.l"
+#line 375 "engines/director/lingo/lingo-lex.l"
{ count(); yylval.i = strtol(yytext, NULL, 10); return INT; }
YY_BREAK
-case 71:
+case 72:
YY_RULE_SETUP
-#line 356 "engines/director/lingo/lingo-lex.l"
+#line 376 "engines/director/lingo/lingo-lex.l"
{ count(); return *yytext; }
YY_BREAK
-case 72:
-/* rule 72 can match eol */
+case 73:
+/* rule 73 can match eol */
YY_RULE_SETUP
-#line 357 "engines/director/lingo/lingo-lex.l"
+#line 377 "engines/director/lingo/lingo-lex.l"
{ count(); return '\n'; }
YY_BREAK
-case 73:
+case 74:
YY_RULE_SETUP
-#line 358 "engines/director/lingo/lingo-lex.l"
+#line 378 "engines/director/lingo/lingo-lex.l"
{ count(); yylval.s = new Common::String(&yytext[1]); yylval.s->deleteLastChar(); return STRING; }
YY_BREAK
-case 74:
+case 75:
YY_RULE_SETUP
-#line 359 "engines/director/lingo/lingo-lex.l"
+#line 379 "engines/director/lingo/lingo-lex.l"
{ count(); }
YY_BREAK
-case 75:
+case 76:
YY_RULE_SETUP
-#line 361 "engines/director/lingo/lingo-lex.l"
+#line 381 "engines/director/lingo/lingo-lex.l"
ECHO;
YY_BREAK
-#line 1658 "engines/director/lingo/lingo-lex.cpp"
+#line 1722 "engines/director/lingo/lingo-lex.cpp"
case YY_STATE_EOF(INITIAL):
yyterminate();
@@ -1948,7 +2012,7 @@ static int yy_get_next_buffer (void)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 307 )
+ if ( yy_current_state >= 365 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -1976,11 +2040,11 @@ static int yy_get_next_buffer (void)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 307 )
+ if ( yy_current_state >= 365 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
- yy_is_jam = (yy_current_state == 306);
+ yy_is_jam = (yy_current_state == 364);
return yy_is_jam ? 0 : yy_current_state;
}
@@ -2614,7 +2678,7 @@ void yyfree (void * ptr )
#define YYTABLES_NAME "yytables"
-#line 361 "engines/director/lingo/lingo-lex.l"
+#line 381 "engines/director/lingo/lingo-lex.l"
diff --git a/engines/director/lingo/lingo-lex.l b/engines/director/lingo/lingo-lex.l
index fbe11f4..e69e516 100644
--- a/engines/director/lingo/lingo-lex.l
+++ b/engines/director/lingo/lingo-lex.l
@@ -161,6 +161,26 @@ whitespace [\t ]
(?i:put) { count(); return tPUT; }
(?i:repeat) { count(); return checkImmediate(tREPEAT); }
(?i:set) { count(); return tSET; }
+(?i:sound[\ t]+(close|fadeIn|fadeOut|playFile|stop)) {
+ count();
+
+ const char *ptr = &yytext[6]; // Skip 'sound '
+ while (*ptr == ' ' || *ptr == '\t')
+ ptr++;
+
+ Common::String command;
+ while (*ptr != ' ' && *ptr != '\t')
+ command += *ptr++;
+
+ Common::String bltin = Common::String::format("sound-%s", command.c_str());
+
+ if (g_lingo->_builtins.contains(bltin)) {
+ yylval.s = new Common::String(bltin);
+ return BLTIN;
+ } else {
+ error("LEXER: Unhandled 'sound %s'", command.c_str());
+ }
+ }
(?i:starts) { count(); return tSTARTS; }
(?i:tell) { count(); return tTELL; }
(?i:the[ \t]+sqrt[\t ]+of[\t ]+) {
Commit: 6975061434460096be89e00214130f2315ed6832
https://github.com/scummvm/scummvm/commit/6975061434460096be89e00214130f2315ed6832
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-01-14T18:58:11+01:00
Commit Message:
DIRECTOR: LINGO: Added tests for the 'sound <xx>' fzmily of commands
Changed paths:
A engines/director/lingo/tests/sound.lingo
diff --git a/engines/director/lingo/tests/sound.lingo b/engines/director/lingo/tests/sound.lingo
new file mode 100644
index 0000000..61f8776
--- /dev/null
+++ b/engines/director/lingo/tests/sound.lingo
@@ -0,0 +1,6 @@
+Sound playfile 3, "Sound.AIF"
+
+sound fadeIn 5
+sound fadeIn 5, 10
+sound stop 1
+sound close 1
More information about the Scummvm-git-logs
mailing list