[Scummvm-git-logs] scummvm master -> cb04714a079740f2b1dc223340a01501e4512cf3
sev-
noreply at scummvm.org
Fri Jun 19 22:12:02 UTC 2026
This automated email contains information about 4 new commits which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
5991cbeeae DIRECTOR: XOBJ: Add lipsync playback to WidgetXObj
d5540f2919 DIRECTOR: LINGO: Allow setting the timeoutLapsed in all versions
d4e2e3d8a2 DIRECTOR: XOBJ: Add loadData/saveData to WidgetXObj
cb04714a07 DIRECTOR: LINGO: Add inline kLPPTrimGarbage handling to compiler
Commit: 5991cbeeae1cca9645964b068d2f4b7435e98e2d
https://github.com/scummvm/scummvm/commit/5991cbeeae1cca9645964b068d2f4b7435e98e2d
Author: Scott Percival (code at moral.net.au)
Date: 2026-06-20T00:11:56+02:00
Commit Message:
DIRECTOR: XOBJ: Add lipsync playback to WidgetXObj
Fixes character portraits in Yellow Brick Road.
Changed paths:
engines/director/lingo/xlibs/w/widget.cpp
engines/director/lingo/xlibs/w/widget.h
diff --git a/engines/director/lingo/xlibs/w/widget.cpp b/engines/director/lingo/xlibs/w/widget.cpp
index ee5941d5a3a..c32cb0954c3 100644
--- a/engines/director/lingo/xlibs/w/widget.cpp
+++ b/engines/director/lingo/xlibs/w/widget.cpp
@@ -19,6 +19,7 @@
*
*/
+#include "common/macresman.h"
#include "common/system.h"
#include "director/director.h"
@@ -121,7 +122,27 @@ void WidgetXObj::close(ObjectType type) {
}
void WidgetXObj::m_new(int nargs) {
- g_lingo->printSTUBWithArglist("WidgetXObj::m_new", nargs);
+
+ WidgetXObject *me = static_cast<WidgetXObject *>(g_lingo->_state->me.u.obj);
+ if (nargs == 1) {
+ Common::String rawPath = g_lingo->pop().asString();
+ nargs--;
+ Common::SeekableReadStream *stream = Common::MacResManager::openFileOrDataFork(findPath(rawPath));
+ if (!stream) {
+ warning("WidgetXObj::m_new: unable to resolve path %s", rawPath.c_str());
+ } else {
+ debugC(5, kDebugXObj, "WidgetXObj::m_new: loading lip sync data from \"%s\"", rawPath.c_str());
+ while (stream->pos() < stream->size()) {
+ Common::String name = stream->readString(0, 16);
+ uint16 size = stream->readUint16LE();
+ me->_lipSyncData[name] = Common::Array<byte>();
+ me->_lipSyncData[name].resize(size);
+ stream->read(me->_lipSyncData[name].data(), size);
+ debugC(5, kDebugXObj, "WidgetXObj::m_new: added \"%s\" (%d)", name.c_str(), size);
+ }
+ delete stream;
+ }
+ }
g_lingo->dropStack(nargs);
g_lingo->push(g_lingo->_state->me);
}
@@ -136,8 +157,22 @@ XOBJSTUB(WidgetXObj::m_add, 0)
XOBJSTUB(WidgetXObj::m_askQuit, 0)
XOBJSTUB(WidgetXObj::m_first, "")
-// 100 means the animation is done
-XOBJSTUB(WidgetXObj::m_lipSync, 100)
+void WidgetXObj::m_lipSync(int nargs) {
+ WidgetXObject *me = static_cast<WidgetXObject *>(g_lingo->_state->me.u.obj);
+ ARGNUMCHECK(2);
+ int pos = MAX(0, g_lingo->pop().asInt());
+ // 100 means the animation is done
+ int result = 100;
+ Common::String name = g_lingo->pop().asString();
+ if (me->_lipSyncData.contains(name)) {
+ if (pos < (int)me->_lipSyncData[name].size()) {
+ result = (int)me->_lipSyncData[name][pos];
+ }
+ }
+
+ debugC(5, kDebugXObj, "WidgetXObj::m_lipSync: \"%s\" frame %d, result: %d", name.c_str(), pos, result);
+ g_lingo->push(result);
+}
XOBJSTUB(WidgetXObj::m_loadData, 0)
XOBJSTUB(WidgetXObj::m_saveData, 0)
diff --git a/engines/director/lingo/xlibs/w/widget.h b/engines/director/lingo/xlibs/w/widget.h
index 4d7af06e124..955d1bc8c0d 100644
--- a/engines/director/lingo/xlibs/w/widget.h
+++ b/engines/director/lingo/xlibs/w/widget.h
@@ -27,6 +27,8 @@ namespace Director {
class WidgetXObject : public Object<WidgetXObject> {
public:
WidgetXObject(ObjectType objType);
+
+ Common::HashMap<Common::String, Common::Array<byte>> _lipSyncData;
};
namespace WidgetXObj {
Commit: d5540f29191a57c76302f0d45930966b57cde946
https://github.com/scummvm/scummvm/commit/d5540f29191a57c76302f0d45930966b57cde946
Author: Scott Percival (code at moral.net.au)
Date: 2026-06-20T00:11:56+02:00
Commit Message:
DIRECTOR: LINGO: Allow setting the timeoutLapsed in all versions
Fixes enemies speeding up when using an item + long pauses after an
attack in Yellow Brick Road.
Changed paths:
engines/director/lingo/lingo-the.cpp
diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp
index 3afd0676ebc..13d3fd36f26 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -1477,9 +1477,11 @@ void Lingo::setTheEntity(int entity, Datum &id, int field, Datum &d) {
movie->_timeOutKeyDown = d.asInt();
break;
case kTheTimeoutLapsed:
- // timeOutLapsed can be set in D4, but can't in D3. see D3.1 interactivity manual p312 and D4 dictionary p296.
- if (g_director->getVersion() >= 400 && (d.type == INT || d.type == FLOAT)) {
- g_director->_tickBaseline = (int)g_director->getMacTicks() - d.asInt();
+ // The D3.1 interactivity interactivity manual p312 says timeoutLapsed can't be set,
+ // but it is lying. D2 and D3 Mac will let you set it, and games like ybr1 use it.
+ // See D4 dictionary p296.
+ if ((d.type == INT || d.type == FLOAT)) {
+ movie->_lastTimeOut = (int)g_director->getMacTicks() - d.asInt();
}
if (d.type != INT) {
warning("Lingo::setTheEntity() : Wrong DatumType %d for setting of Lingo Property timeOutLapsed", d.type);
Commit: d4e2e3d8a26c77dd0337c1d327bb6d073d13a455
https://github.com/scummvm/scummvm/commit/d4e2e3d8a26c77dd0337c1d327bb6d073d13a455
Author: Scott Percival (code at moral.net.au)
Date: 2026-06-20T00:11:56+02:00
Commit Message:
DIRECTOR: XOBJ: Add loadData/saveData to WidgetXObj
Fixes save points in Yellow Brick Road.
Changed paths:
engines/director/lingo/xlibs/w/widget.cpp
diff --git a/engines/director/lingo/xlibs/w/widget.cpp b/engines/director/lingo/xlibs/w/widget.cpp
index c32cb0954c3..ea57e1c9dd3 100644
--- a/engines/director/lingo/xlibs/w/widget.cpp
+++ b/engines/director/lingo/xlibs/w/widget.cpp
@@ -20,6 +20,7 @@
*/
#include "common/macresman.h"
+#include "common/savefile.h"
#include "common/system.h"
#include "director/director.h"
@@ -174,8 +175,105 @@ void WidgetXObj::m_lipSync(int nargs) {
g_lingo->push(result);
}
-XOBJSTUB(WidgetXObj::m_loadData, 0)
-XOBJSTUB(WidgetXObj::m_saveData, 0)
+void WidgetXObj::m_loadData(int nargs) {
+ uint32 result = 0;
+ if (Common::String("ybr1").equals(g_director->getGameId())) {
+ // I have no idea why they decided to write this in C instead of use Lingo
+ ARGNUMCHECK(0);
+ Common::SaveFileManager *saves = g_system->getSavefileManager();
+ Common::SeekableReadStream *stream = saves->openForLoading(savePrefix() + Common::String("YBR.INI"));
+ if (stream) {
+ Common::String line1 = stream->readLine();
+ Common::String line2 = stream->readLine();
+ if (line1.equals("[YBRDAT]") && line2.hasPrefix("Dat=")) {
+ Datum value(line2.substr(4, Common::String::npos));
+ result = value.asInt();
+
+ Datum batIsu("BatIsu");
+ batIsu.type = GLOBALREF;
+ g_lingo->varAssign(batIsu, result & 0x8000 ? 1 : 0);
+
+ Datum kKey("K_Key");
+ kKey.type = GLOBALREF;
+ g_lingo->varAssign(kKey, result & 0x4000 ? 1 : 0);
+
+ Datum bedSui("BedSui");
+ bedSui.type = GLOBALREF;
+ g_lingo->varAssign(bedSui, result & 0x2000 ? 1 : 0);
+
+ Datum warp("Warp");
+ warp.type = GLOBALREF;
+ g_lingo->varAssign(warp, result & 0x1000 ? 1 : 0);
+
+ Datum bat4("Bat4");
+ bat4.type = GLOBALREF;
+ g_lingo->varAssign(bat4, result & 0x800 ? 1 : 0);
+
+ result &= 0x7ff;
+ }
+ }
+
+ }
+ g_lingo->push((int)result);
+}
+
+void WidgetXObj::m_saveData(int nargs) {
+ if (Common::String("ybr1").equals(g_director->getGameId())) {
+ // I have no idea why they decided to write this in C instead of use Lingo
+ ARGNUMCHECK(1);
+ Datum place = g_lingo->pop();
+ TYPECHECK(place, INT);
+ uint32 flags = place.asInt();
+
+ Datum batIsu("BatIsu");
+ batIsu.type = GLOBALREF;
+ batIsu = g_lingo->varFetch(batIsu);
+ if (batIsu.asInt() > 0) {
+ flags |= 0x8000;
+ }
+
+ Datum kKey("K_Key");
+ kKey.type = GLOBALREF;
+ kKey = g_lingo->varFetch(kKey);
+ if (kKey.asInt() > 0) {
+ flags |= 0x4000;
+ }
+
+ Datum bedSui("BedSui");
+ bedSui.type = GLOBALREF;
+ bedSui = g_lingo->varFetch(bedSui);
+ if (bedSui.asInt() > 0) {
+ flags |= 0x2000;
+ }
+
+ Datum warp("Warp");
+ warp.type = GLOBALREF;
+ warp = g_lingo->varFetch(warp);
+ if (warp.asInt() > 0) {
+ flags |= 0x1000;
+ }
+
+ Datum bat4("Bat4");
+ bat4.type = GLOBALREF;
+ bat4 = g_lingo->varFetch(bat4);
+ if (bat4.asInt() > 0) {
+ flags |= 0x800;
+ }
+
+ Common::SaveFileManager *saves = g_system->getSavefileManager();
+ Common::SeekableWriteStream *stream = saves->openForSaving(savePrefix() + Common::String("YBR.INI"), false);
+ if (stream) {
+ Common::String buffer = Common::String::format("[YBRDAT]\r\nDat=%d", flags);
+ stream->writeString(buffer);
+ stream->finalize();
+ delete stream;
+ } else {
+ warning("WidgetXObj::m_saveData: unable to open YBR.INI for writing");
+ }
+ }
+ g_lingo->push(0);
+}
+
XOBJSTUB(WidgetXObj::m_hideCursor, 0)
XOBJSTUB(WidgetXObj::m_showCursor, 0)
XOBJSTUB(WidgetXObj::m_mul, 0)
Commit: cb04714a079740f2b1dc223340a01501e4512cf3
https://github.com/scummvm/scummvm/commit/cb04714a079740f2b1dc223340a01501e4512cf3
Author: Scott Percival (code at moral.net.au)
Date: 2026-06-20T00:11:56+02:00
Commit Message:
DIRECTOR: LINGO: Add inline kLPPTrimGarbage handling to compiler
D2 and D3 have a pretty glaring design flaw. If a syntax error is
encountered on a line of script, the compiler will keep everything
up until the first symbol it doesn't understand, then continue to
the next line.
A reasonable person might think "that can't be right, wouldn't every
D2 and D3 game be a mess of typos???". Yep. Also there's no bytecode
version, so a non-compiling script is a big problem.
A previous attempt to fix this problem was to use the text preprocessor
to strip the end of the script, using the offset returned by the parser
error-handling function, then retry the whole thing. This sort of worked
for b_value, which takes a one-liner expression, but didn't work for
movie or score scripts with more than one line.
This new attempt uses Bison's special "error" matching token; if the
regular parser attempt fails with a syntax error, the partial match will
be sent to the same handler but with "error" sandwiched just before the
new line token. If the trim garbage flag is switched on, Bison will
keep the AST and continue to the next line, otherwise it will error out
as usual.
90+% of the text script patch overrides can probably be removed.
Fixes (amongst many things) using a weapon in Yellow Brick Road.
Changed paths:
engines/director/lingo/lingo-builtins.cpp
engines/director/lingo/lingo-codegen.cpp
engines/director/lingo/lingo-codegen.h
engines/director/lingo/lingo-gr.cpp
engines/director/lingo/lingo-gr.h
engines/director/lingo/lingo-gr.y
diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index 6b97ddeba8d..ef0815fbd16 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -1976,7 +1976,10 @@ void LB::b_do(int nargs) {
if (code.empty())
return;
- ScriptContext *sc = g_lingo->_compiler->compileAnonymous(code);
+ uint32 flags = 0;
+ flags |= g_director->getVersion() < 400 ? kLPPTrimGarbage : 0;
+
+ ScriptContext *sc = g_lingo->_compiler->compileAnonymous(code, flags);
if (!sc) {
warning("b_do(): compilation failed, ignoring");
diff --git a/engines/director/lingo/lingo-codegen.cpp b/engines/director/lingo/lingo-codegen.cpp
index 601defdc412..11006c29b8f 100644
--- a/engines/director/lingo/lingo-codegen.cpp
+++ b/engines/director/lingo/lingo-codegen.cpp
@@ -52,6 +52,7 @@
#include "director/lingo/lingo-codegen.h"
#include "director/lingo/lingo-object.h"
#include "director/lingo/lingo-the.h"
+#include "director/types.h"
namespace Director {
@@ -119,6 +120,7 @@ LingoCompiler::LingoCompiler() {
_refMode = false;
_hadError = false;
+ _trimGarbage = false;
}
ScriptContext *LingoCompiler::compileAnonymous(const Common::U32String &code, uint32 preprocFlags) {
@@ -138,6 +140,7 @@ ScriptContext *LingoCompiler::compileLingo(const Common::U32String &code, LingoA
_methodVars = new VarTypeHash;
_linenumber = _colnumber = 1;
_hadError = false;
+ _trimGarbage = (bool)(preprocFlags & kLPPTrimGarbage);
// Preprocess the code for ease of the parser
Common::U32String codePrep = codePreprocessor(code, archive, type, id, preprocFlags);
@@ -152,7 +155,7 @@ ScriptContext *LingoCompiler::compileLingo(const Common::U32String &code, LingoA
parse(utf8Code);
// If it doesn't work, and we have kLPPTrimGarbage enabled,
// have another try with the input trimmed to the last valid character.
- if (!_assemblyAST && (preprocFlags & kLPPTrimGarbage)) {
+ if (!_assemblyAST && _trimGarbage) {
delete _assemblyContext;
delete _currentAssembly;
delete _methodVars;
diff --git a/engines/director/lingo/lingo-codegen.h b/engines/director/lingo/lingo-codegen.h
index 88bd91ba042..8cb407d96a4 100644
--- a/engines/director/lingo/lingo-codegen.h
+++ b/engines/director/lingo/lingo-codegen.h
@@ -58,6 +58,7 @@ public:
Common::SharedPtr<Node> _assemblyAST;
int32 _assemblyId;
ScriptData *_currentAssembly;
+ bool _trimGarbage;
bool _indef;
uint _linenumber;
uint _colnumber;
diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp
index dc0d6653a89..ad6ce54c92c 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -96,6 +96,20 @@ extern int yylex();
using namespace Director;
+// if we have the trim garbage flag on, and we encounter
+// an unwelcome surprise in an expression, use everything up until
+// the first failing token.
+#define TRIM_GARBAGE(src, target) \
+ if (g_lingo->_compiler->_trimGarbage) { \
+ warning("Trimming garbage and continuing."); \
+ src = target; \
+ yyerrok; \
+ } else { \
+ src = nullptr; \
+ YYABORT; \
+ } \
+
+
static void yyerror(const char *s) {
LingoCompiler *compiler = g_lingo->_compiler;
compiler->_hadError = true;
@@ -132,7 +146,7 @@ static void checkEnd(Common::String *token, Common::String *expect, bool require
}
-#line 136 "engines/director/lingo/lingo-gr.cpp"
+#line 150 "engines/director/lingo/lingo-gr.cpp"
# ifndef YY_CAST
# ifdef __cplusplus
@@ -658,18 +672,18 @@ union yyalloc
#endif /* !YYCOPY_NEEDED */
/* YYFINAL -- State number of the termination state. */
-#define YYFINAL 195
+#define YYFINAL 197
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 4723
+#define YYLAST 4834
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 108
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 65
/* YYNRULES -- Number of rules. */
-#define YYNRULES 337
+#define YYNRULES 369
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 635
+#define YYNSTATES 721
/* YYMAXUTOK -- Last valid token kind. */
#define YYMAXUTOK 348
@@ -727,40 +741,43 @@ static const yytype_int8 yytranslate[] =
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_int16 yyrline[] =
{
- 0, 211, 211, 213, 219, 226, 227, 228, 229, 230,
- 231, 260, 264, 266, 268, 269, 272, 278, 285, 286,
- 287, 292, 296, 300, 301, 302, 309, 310, 311, 312,
- 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
- 323, 324, 325, 326, 327, 328, 329, 330, 331, 332,
- 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
- 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
- 353, 354, 355, 356, 357, 360, 361, 362, 363, 364,
- 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
- 375, 376, 377, 378, 379, 382, 383, 384, 387, 391,
- 401, 402, 405, 406, 407, 408, 409, 410, 413, 414,
- 415, 418, 419, 420, 421, 422, 423, 424, 425, 430,
- 431, 432, 433, 434, 435, 436, 437, 440, 443, 448,
- 452, 458, 463, 466, 471, 475, 481, 488, 488, 494,
- 499, 505, 511, 517, 525, 526, 527, 528, 531, 531,
- 533, 534, 535, 538, 542, 546, 552, 556, 560, 564,
- 571, 573, 575, 577, 579, 583, 587, 591, 593, 594,
- 598, 604, 611, 612, 615, 616, 620, 626, 633, 634,
- 640, 641, 642, 643, 644, 645, 646, 647, 653, 658,
- 659, 660, 661, 662, 663, 666, 668, 669, 672, 673,
- 676, 677, 678, 679, 680, 682, 684, 686, 688, 690,
- 692, 694, 696, 699, 700, 701, 702, 705, 706, 709,
- 714, 717, 722, 728, 729, 730, 731, 732, 735, 736,
- 737, 738, 739, 742, 744, 745, 746, 747, 748, 749,
- 750, 751, 752, 753, 757, 758, 759, 760, 761, 762,
- 763, 764, 767, 767, 769, 770, 773, 774, 775, 776,
- 777, 780, 781, 782, 788, 792, 795, 800, 801, 802,
- 803, 804, 807, 808, 811, 812, 816, 817, 818, 819,
- 820, 821, 822, 823, 824, 825, 826, 827, 828, 829,
- 830, 831, 832, 833, 834, 841, 842, 843, 844, 845,
- 846, 847, 848, 849, 850, 851, 852, 853, 854, 855,
- 856, 857, 858, 859, 862, 863, 864, 865, 866, 867,
- 868, 869, 870, 871, 872, 873, 874, 875, 876, 877,
- 878, 879, 882, 883, 886, 887, 890, 894
+ 0, 225, 225, 227, 233, 240, 241, 242, 243, 244,
+ 245, 274, 275, 280, 281, 284, 285, 288, 289, 292,
+ 298, 305, 306, 307, 312, 316, 320, 322, 326, 327,
+ 328, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
+ 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
+ 386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
+ 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
+ 408, 409, 410, 413, 417, 427, 428, 431, 432, 433,
+ 434, 435, 436, 439, 440, 441, 444, 445, 446, 447,
+ 448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
+ 458, 463, 464, 465, 466, 467, 468, 469, 470, 471,
+ 472, 473, 474, 475, 476, 477, 480, 483, 488, 492,
+ 498, 503, 506, 511, 515, 521, 528, 528, 534, 539,
+ 545, 551, 557, 565, 566, 567, 568, 569, 570, 571,
+ 572, 575, 575, 577, 578, 579, 580, 581, 582, 585,
+ 589, 591, 595, 601, 605, 609, 613, 620, 622, 624,
+ 626, 628, 630, 632, 634, 636, 640, 644, 646, 650,
+ 652, 653, 657, 663, 670, 671, 674, 675, 679, 685,
+ 692, 693, 699, 700, 701, 702, 703, 704, 705, 706,
+ 712, 717, 718, 719, 720, 721, 722, 725, 727, 728,
+ 731, 732, 735, 736, 737, 738, 739, 741, 743, 745,
+ 747, 749, 751, 753, 755, 758, 759, 760, 761, 764,
+ 765, 768, 773, 776, 781, 787, 788, 789, 790, 791,
+ 794, 795, 796, 797, 798, 801, 803, 804, 805, 806,
+ 807, 808, 809, 810, 811, 812, 816, 817, 818, 819,
+ 820, 821, 822, 823, 826, 826, 828, 829, 832, 833,
+ 834, 835, 836, 839, 840, 841, 847, 851, 854, 859,
+ 860, 861, 862, 863, 866, 867, 870, 871, 875, 876,
+ 877, 878, 879, 880, 881, 882, 883, 884, 885, 886,
+ 887, 888, 889, 890, 891, 892, 893, 900, 901, 902,
+ 903, 904, 905, 906, 907, 908, 909, 910, 911, 912,
+ 913, 914, 915, 916, 917, 918, 921, 922, 923, 924,
+ 925, 926, 927, 928, 929, 930, 931, 932, 933, 934,
+ 935, 936, 937, 938, 941, 942, 945, 946, 949, 953
};
#endif
@@ -811,7 +828,7 @@ yysymbol_name (yysymbol_kind_t yysymbol)
}
#endif
-#define YYPACT_NINF (-534)
+#define YYPACT_NINF (-562)
#define yypact_value_is_default(Yyn) \
((Yyn) == YYPACT_NINF)
@@ -825,70 +842,79 @@ yysymbol_name (yysymbol_kind_t yysymbol)
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- 3033, -534, 3586, -534, -534, -534, -534, -534, -534, 108,
- -534, -23, -534, 3586, 2119, 108, 2221, -534, -534, 3586,
- 1507, -534, 6, -534, -534, 2323, 32, 3671, -534, -59,
- -534, -534, 3586, 2323, 2119, 3586, -534, -534, -534, -534,
- -534, -534, -534, -534, -534, -534, -534, -534, -534, -534,
- -534, -534, -534, -534, -534, -534, -534, -534, -534, -534,
- -534, -534, -534, 2221, 3586, 3586, -56, 3925, -534, 61,
- 3033, -534, -534, -534, -534, 2323, -534, -534, -534, -534,
- -534, -534, -534, -534, -534, -534, -534, -534, -534, -534,
- -534, -534, -534, -534, -534, -534, -534, -534, -534, -534,
- -534, -534, -534, -534, -534, -534, -534, -534, -534, -534,
- -534, 9, -534, -534, 2425, 2425, 2425, 2425, 2221, 2221,
- 2221, 2221, 7, -17, 5, -534, -534, 24, 47, -534,
- -534, -534, -534, 2425, 2425, 2425, 2425, 2425, 2425, 2221,
- 2221, 2527, 2221, 2221, 2221, 2221, 3756, 2221, 2527, 2527,
- 1609, 791, -12, 39, 62, -534, -534, -534, -534, -534,
- -534, -534, -534, -534, -534, 895, -534, 66, 2221, 4157,
- 3586, -534, 4357, 73, 79, 997, 3586, 2221, 3586, -534,
- -534, 11, -534, -534, 80, 81, 1099, 82, 83, 88,
- 4122, 92, 3586, -534, -534, -534, -534, 97, 1201, -534,
- 3586, 1711, -534, -534, -534, -534, -534, 609, 682, 3974,
- 3996, 132, -534, -534, -534, 3586, -534, -534, 1303, 4554,
- -534, -20, 38, 45, 56, 72, 132, 65, 71, 4541,
- -534, -534, -534, 2935, 4179, 50, 90, 93, 94, 2,
- -82, -46, -534, 4554, 67, 100, 1813, -534, -534, 176,
- 2221, 2221, 2221, 2221, 2221, 2221, 2221, 2221, 2221, 2221,
- 2221, 2221, 2221, 2221, 2221, 2221, 2221, 2221, -534, -534,
- 4273, -534, -534, 4213, 3125, 105, -534, -534, -534, 3841,
- 3841, 3841, 29, 4370, 177, -534, -534, 2221, 4, -534,
- 2221, -534, -534, -534, 3925, 3217, -534, 106, -534, -534,
- -534, 4192, 2527, 2221, 2527, 2221, 2527, 2221, 2527, 2221,
- -534, -534, -534, -534, 43, -534, 186, 4610, -534, -534,
- -534, -534, -534, -534, -534, -534, -534, -534, 1405, 2629,
- 2527, 2527, 4286, 1915, -534, 2221, 2221, 2221, 2221, -534,
- 2221, 2731, -534, -534, 2221, -534, 2935, 115, 2221, -11,
- -11, -11, -11, 363, 363, -534, 1, -11, -11, -11,
- -11, 1, -19, -19, -534, -534, 115, 2221, 2221, 2221,
- 2221, 2221, 2221, 2221, 2221, 2221, 2221, 2221, 2221, 2221,
- 2221, 2221, 2221, 2221, 2221, -534, 3493, 201, 3217, 7,
- -534, 125, -534, 126, 134, 2221, 2221, 3217, 2833, 4383,
- 3586, 3586, -534, -534, -534, 4, -534, 4440, -534, -534,
- -534, 133, 3217, -534, 3217, 2017, -534, 4009, -534, 4031,
- -534, 4066, -534, 4088, -534, -534, 2527, 2221, 43, 43,
- 43, 43, 2527, -534, 2527, 43, -534, -534, 2527, 2527,
- -534, -534, -534, -534, -534, -534, 2221, 135, -534, 115,
- 4554, 4554, 4554, 4554, 4554, -534, 4554, 4554, 4299, 2221,
- 137, 4554, -534, -11, -11, -11, -11, 363, 363, -534,
- 1, -11, -11, -11, -11, 1, -19, -19, -534, -534,
- 115, -534, -534, -13, 3493, -534, 3309, -534, -534, -534,
- -534, 4453, 539, 145, 2221, 2221, 2221, 2221, -534, -534,
- -534, 19, 3586, -534, -534, 136, -534, 229, -534, 115,
- 2527, 2527, 2527, 2527, -534, 4554, 2527, 2527, 2527, 2527,
- -534, 211, 170, -534, -534, 115, -534, 160, 2221, 161,
- -534, -534, 3401, 165, -534, -534, 3493, -534, 3217, 230,
- 2221, 167, -534, 525, -534, 4101, 525, 525, -534, 169,
- -534, 3586, 168, -534, -534, -534, -534, -534, -534, -534,
- -534, 198, 2527, -534, 171, -534, 115, -534, 3493, -534,
- -534, 183, 185, 2221, 4466, -534, 2221, 2221, 2221, 2221,
- 2221, 2221, 2221, 2221, 2221, 2221, 2221, 2221, 2221, 2221,
- 2221, 2221, 209, 3217, 51, -534, 2527, -534, 179, 183,
- -534, 191, 4523, 3217, 124, 124, 124, 4623, 4623, -534,
- 31, 124, 124, 124, 124, 31, -5, -5, -534, -534,
- 2221, -534, -534, -534, -534, -534, -534, 3217, 195, 525,
- 196, 192, 199, -534, -534
+ 3284, -562, 3745, -562, -562, -562, -562, -562, -562, 242,
+ -562, 10, -562, 3745, 2279, 242, 2381, -562, -562, 3745,
+ 951, -562, 17, -562, -562, 2483, 64, 3830, -562, -36,
+ -562, -562, 3745, 2483, 2279, 3745, -562, -562, -562, -562,
+ -562, -562, -562, -562, -562, -562, -562, -562, -562, -562,
+ -562, -562, -562, -562, -562, -562, -562, -562, -562, -562,
+ -562, -562, -562, 2381, 3745, 3745, -30, 4084, -562, 78,
+ 3284, -562, -562, -562, -562, 2483, -562, -562, -562, -562,
+ -562, -562, -562, -562, -562, -562, -562, -562, -562, -562,
+ -562, -562, -562, -562, -562, -562, -562, -562, -562, -562,
+ -562, -562, -562, -562, -562, -562, -562, -562, -562, -562,
+ -562, -10, -562, -562, 2585, 2585, 2585, 2585, 2381, 2381,
+ 2381, 2381, 8, 15, -12, 16, -562, -562, 20, -4,
+ -562, -562, -562, -562, 2585, 2585, 2585, 2585, 2585, 2585,
+ 2381, 2381, 2687, 2381, 2381, 2381, 2381, 3915, 2381, 2687,
+ 2687, 1769, 1053, 28, 23, 24, -562, -562, -562, -562,
+ -562, -562, -562, -562, -562, -562, 1157, -562, 26, 2381,
+ 4387, 3745, 12, -562, 629, 29, 36, 1259, 3745, 2381,
+ 3745, -562, -562, 13, -562, -562, 38, 39, 1361, 40,
+ 41, 44, 525, 47, 3745, -562, -562, -562, -562, 48,
+ 1463, -562, 3745, 1871, -562, -562, -562, -562, -562, 4163,
+ 4197, 4219, 4253, 109, 18, -562, -562, 46, -562, 71,
+ -562, 3745, -562, -562, 1565, 4652, -562, 3, 30, 31,
+ 83, 86, 109, 130, 171, 4596, -562, -562, -562, 3095,
+ 4400, 22, 103, 105, 111, 99, 110, 132, -562, 4652,
+ 115, 114, 1973, 136, -562, 142, -562, 202, 2381, 2381,
+ 2381, 2381, 2381, 2381, 2381, 2381, 2381, 2381, 2381, 2381,
+ 2381, 2381, 2381, 2381, 2381, 2381, -562, -562, 4494, -562,
+ 143, -562, 4481, 3191, 51, -562, 144, -562, 146, -562,
+ 147, -562, 4000, 4000, 4000, 60, 665, 223, -562, -562,
+ 2381, 154, 11, 157, -562, 2381, 158, -562, 159, -562,
+ 160, -562, 161, 4084, 3376, 162, -562, 52, 167, -562,
+ -562, -562, 4421, 2687, 2381, 2687, 2381, 2687, 2381, 2687,
+ 2381, -562, -562, -562, -562, 37, -562, -562, -562, -562,
+ 243, 4665, -562, -562, -562, -562, -562, -562, -562, -562,
+ -562, -562, 1667, 2789, 2687, 2687, 4507, 2075, -562, 2381,
+ 2381, 2381, 2381, -562, 2381, 2891, -562, -562, 2381, -562,
+ 3095, 185, -562, -562, 2381, 178, 178, 178, 178, 4127,
+ 4127, -562, 92, 178, 178, 178, 178, 92, -24, -24,
+ -562, -562, 185, 2381, 2381, 2381, 2381, 2381, 2381, 2381,
+ 2381, 2381, 2381, 2381, 2381, 2381, 2381, 2381, 2381, 2381,
+ 2381, -562, -562, 172, 3652, 270, 189, 3376, -562, -562,
+ -562, 8, -562, 54, -562, 55, 57, 2381, 2381, 198,
+ 3376, 2993, 700, 11, 3745, 3745, -562, -562, -562, 11,
+ -562, -562, 4578, -562, -562, -562, 3376, -562, -562, -562,
+ 211, 3376, -562, -562, 206, 3376, -562, 2177, -562, 4275,
+ -562, 4309, -562, 4331, -562, 4365, -562, -562, 2687, 2381,
+ 37, 37, 37, 37, 2687, -562, 2687, 37, -562, -562,
+ 2687, 2687, -562, -562, -562, -562, -562, -562, 2381, 213,
+ -562, 185, 4652, 4652, 4652, 4652, 4652, -562, 4652, 4652,
+ 4565, 2381, 214, 4652, -562, 178, 178, 178, 178, 4127,
+ 4127, -562, 92, 178, 178, 178, 178, 92, -24, -24,
+ -562, -562, 185, 3652, -562, -562, 43, 3652, -562, 3468,
+ 3376, -562, 215, -562, 218, -562, 238, -562, 766, 4141,
+ 3376, 224, 2381, 2381, 2381, 2381, -562, -562, 239, -562,
+ -562, 62, 3745, -562, -562, 249, 241, -562, 3376, 334,
+ -562, 185, 2687, 2687, 2687, 2687, -562, 4652, 2687, 2687,
+ 2687, 2687, -562, 313, 272, -562, -562, 185, -562, 244,
+ 2381, 245, -562, -562, 256, 3560, 246, -562, -562, 3652,
+ -562, -562, -562, -562, -562, 250, 3376, 315, 2381, 259,
+ 252, -562, 4678, -562, 504, 4678, 4678, -562, -562, 58,
+ 253, -562, 346, 3745, 254, -562, -562, -562, -562, -562,
+ -562, -562, -562, 284, 2687, -562, 255, -562, 185, -562,
+ -562, 3652, -562, -562, 256, 3376, 269, 2381, 801, 260,
+ -562, 2381, 2381, 2381, 2381, 2381, 2381, 2381, 2381, 2381,
+ 2381, 2381, 2381, 2381, 2381, 2381, 2381, 289, 264, 3376,
+ -562, 3745, 84, -562, 2687, -562, 262, 256, -562, 276,
+ 268, 834, 271, 3376, -562, 212, 212, 212, 4734, 4734,
+ -562, 126, 212, 212, 212, 212, 126, 35, 35, -562,
+ -562, 2381, 3376, -562, 98, -562, -562, -562, -562, 273,
+ -562, 274, 3376, 3376, 279, 4678, -562, -562, -562, 3376,
+ 280, 282, 275, 290, 281, 283, -562, 285, -562, -562,
+ -562
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -896,94 +922,103 @@ static const yytype_int16 yypact[] =
means the default is an error. */
static const yytype_int16 yydefact[] =
{
- 0, 26, 23, 32, 39, 61, 70, 51, 33, 37,
- 38, 0, 40, 95, 127, 41, 0, 42, 44, 0,
- 0, 55, 56, 58, 59, 127, 60, 0, 68, 0,
- 71, 69, 0, 127, 127, 95, 30, 31, 34, 35,
- 45, 46, 48, 49, 73, 74, 27, 28, 29, 50,
- 63, 36, 47, 52, 53, 54, 57, 66, 67, 64,
- 65, 43, 72, 0, 95, 0, 0, 62, 5, 0,
- 2, 3, 6, 7, 8, 127, 9, 100, 102, 108,
- 109, 110, 103, 104, 105, 106, 107, 77, 37, 76,
- 78, 80, 81, 41, 82, 84, 91, 56, 90, 60,
- 92, 94, 79, 87, 88, 83, 93, 89, 86, 85,
- 62, 0, 75, 24, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 121, 98, 0, 96, 180,
- 181, 183, 182, 32, 39, 61, 70, 51, 33, 40,
- 55, 0, 34, 45, 48, 73, 66, 65, 0, 0,
- 0, 334, 195, 0, 0, 274, 190, 191, 192, 193,
- 226, 227, 194, 275, 276, 137, 277, 0, 0, 0,
- 95, 122, 0, 0, 0, 137, 0, 0, 66, 195,
- 198, 0, 199, 167, 0, 0, 137, 0, 0, 0,
- 0, 0, 95, 101, 126, 1, 4, 0, 137, 10,
- 0, 0, 201, 219, 200, 202, 203, 0, 0, 0,
- 0, 0, 124, 120, 150, 97, 217, 218, 139, 140,
- 184, 27, 28, 29, 50, 63, 47, 57, 223, 0,
- 272, 273, 132, 190, 0, 180, 181, 183, 182, 0,
- 195, 0, 264, 336, 0, 335, 0, 113, 114, 58,
+ 0, 31, 28, 37, 44, 66, 75, 56, 38, 42,
+ 43, 0, 45, 100, 146, 46, 0, 47, 49, 0,
+ 0, 60, 61, 63, 64, 146, 65, 0, 73, 0,
+ 76, 74, 0, 146, 146, 100, 35, 36, 39, 40,
+ 50, 51, 53, 54, 78, 79, 32, 33, 34, 55,
+ 68, 41, 52, 57, 58, 59, 62, 71, 72, 69,
+ 70, 48, 77, 0, 100, 0, 0, 67, 5, 0,
+ 2, 3, 6, 7, 8, 146, 9, 105, 107, 113,
+ 114, 115, 108, 109, 110, 111, 112, 82, 42, 81,
+ 83, 85, 86, 46, 87, 89, 96, 61, 95, 65,
+ 97, 99, 84, 92, 93, 88, 98, 94, 91, 90,
+ 67, 0, 80, 29, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 135, 103, 0, 101,
+ 212, 213, 215, 214, 37, 44, 66, 75, 56, 38,
+ 45, 60, 0, 39, 50, 53, 78, 71, 70, 0,
+ 0, 0, 366, 227, 0, 0, 306, 222, 223, 224,
+ 225, 258, 259, 226, 307, 308, 156, 309, 0, 0,
+ 0, 100, 0, 137, 0, 0, 0, 156, 0, 0,
+ 71, 227, 230, 0, 231, 199, 0, 0, 156, 0,
+ 0, 0, 0, 0, 100, 106, 145, 1, 4, 0,
+ 156, 10, 0, 0, 233, 251, 232, 234, 235, 0,
+ 0, 0, 0, 0, 0, 141, 136, 0, 133, 0,
+ 173, 102, 249, 250, 158, 159, 216, 32, 33, 34,
+ 55, 68, 52, 62, 255, 0, 304, 305, 151, 222,
+ 0, 212, 213, 215, 214, 0, 227, 0, 296, 368,
+ 0, 367, 0, 0, 120, 0, 122, 63, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 138, 128, 295,
- 137, 296, 125, 0, 0, 0, 123, 119, 112, 44,
- 30, 31, 0, 0, 254, 148, 149, 0, 14, 117,
- 71, 115, 116, 152, 0, 168, 151, 0, 111, 25,
- 220, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 213, 215, 216, 214, 0, 99, 58, 143, 234, 235,
- 236, 237, 238, 239, 240, 241, 242, 243, 0, 0,
- 0, 0, 137, 0, 189, 0, 0, 0, 0, 262,
- 0, 0, 263, 261, 0, 185, 190, 137, 0, 287,
- 288, 285, 286, 289, 290, 282, 292, 293, 294, 284,
- 283, 291, 278, 279, 280, 281, 137, 0, 0, 0,
+ 0, 0, 0, 0, 0, 157, 147, 327, 156, 328,
+ 0, 143, 0, 0, 0, 138, 0, 139, 0, 131,
+ 0, 118, 49, 35, 36, 0, 0, 286, 171, 172,
+ 0, 0, 17, 0, 128, 76, 0, 124, 0, 126,
+ 0, 177, 0, 0, 200, 0, 175, 0, 0, 116,
+ 30, 252, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 245, 247, 248, 246, 0, 142, 134, 174, 104,
+ 63, 162, 266, 267, 268, 269, 270, 271, 272, 273,
+ 274, 275, 0, 0, 0, 0, 156, 0, 221, 0,
+ 0, 0, 0, 294, 0, 0, 295, 293, 0, 217,
+ 222, 156, 121, 123, 0, 319, 320, 317, 318, 321,
+ 322, 314, 324, 325, 326, 316, 315, 323, 310, 311,
+ 312, 313, 156, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 138, 130, 174, 153, 168, 66,
- 196, 0, 197, 0, 0, 0, 0, 168, 0, 0,
- 23, 0, 18, 19, 12, 15, 16, 0, 165, 172,
- 173, 0, 169, 170, 168, 0, 204, 0, 208, 0,
- 210, 0, 206, 0, 252, 253, 0, 0, 35, 46,
- 49, 74, 52, 249, 53, 54, 250, 251, 64, 65,
- 225, 229, 228, 224, 332, 333, 138, 0, 133, 137,
- 270, 271, 269, 267, 268, 265, 266, 337, 137, 138,
- 0, 142, 129, 306, 307, 304, 305, 308, 309, 301,
- 311, 312, 313, 303, 302, 310, 297, 298, 299, 300,
- 137, 178, 179, 159, 175, 176, 0, 11, 144, 145,
- 146, 0, 0, 0, 52, 53, 64, 65, 255, 256,
- 147, 0, 95, 17, 118, 0, 171, 22, 221, 137,
- 0, 0, 0, 0, 212, 141, 0, 0, 0, 0,
- 233, 0, 0, 231, 232, 137, 135, 0, 138, 0,
- 186, 131, 0, 0, 154, 177, 174, 155, 168, 0,
- 0, 0, 314, 257, 315, 0, 259, 260, 20, 0,
- 166, 23, 0, 205, 209, 211, 207, 244, 246, 247,
- 245, 0, 0, 248, 0, 134, 137, 187, 174, 157,
- 160, 159, 0, 0, 0, 161, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 168, 0, 222, 0, 136, 0, 159,
- 156, 0, 0, 168, 324, 325, 323, 326, 327, 320,
- 329, 330, 331, 322, 321, 328, 316, 317, 318, 319,
- 0, 13, 21, 230, 188, 158, 164, 168, 0, 258,
- 0, 0, 0, 162, 163
+ 157, 149, 144, 0, 206, 179, 0, 200, 140, 132,
+ 119, 71, 228, 0, 229, 0, 0, 0, 0, 0,
+ 200, 0, 0, 17, 28, 0, 21, 22, 13, 18,
+ 19, 129, 0, 125, 127, 178, 200, 196, 204, 205,
+ 0, 201, 202, 176, 0, 200, 117, 0, 236, 0,
+ 240, 0, 242, 0, 238, 0, 284, 285, 0, 0,
+ 40, 51, 54, 79, 57, 281, 58, 59, 282, 283,
+ 69, 70, 257, 261, 260, 256, 364, 365, 157, 0,
+ 152, 156, 302, 303, 301, 299, 300, 297, 298, 369,
+ 156, 157, 0, 161, 148, 338, 339, 336, 337, 340,
+ 341, 333, 343, 344, 345, 335, 334, 342, 329, 330,
+ 331, 332, 156, 206, 210, 211, 186, 207, 208, 0,
+ 200, 11, 0, 163, 0, 165, 0, 167, 0, 0,
+ 200, 0, 57, 58, 69, 70, 287, 288, 0, 169,
+ 14, 0, 100, 20, 130, 0, 0, 203, 200, 26,
+ 253, 156, 0, 0, 0, 0, 244, 160, 0, 0,
+ 0, 0, 265, 0, 0, 263, 264, 156, 154, 0,
+ 157, 0, 218, 150, 186, 0, 0, 180, 209, 206,
+ 182, 12, 164, 166, 168, 0, 200, 0, 0, 0,
+ 0, 346, 289, 347, 0, 291, 292, 170, 23, 0,
+ 0, 197, 27, 28, 0, 237, 241, 243, 239, 276,
+ 278, 279, 277, 0, 0, 280, 0, 153, 156, 219,
+ 181, 206, 184, 187, 186, 200, 0, 0, 0, 0,
+ 188, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 200,
+ 198, 28, 0, 254, 0, 155, 0, 186, 183, 0,
+ 0, 0, 0, 200, 189, 356, 357, 355, 358, 359,
+ 352, 361, 362, 363, 354, 353, 360, 348, 349, 350,
+ 351, 0, 200, 15, 0, 24, 262, 220, 185, 0,
+ 194, 0, 200, 200, 0, 290, 16, 25, 195, 200,
+ 0, 0, 0, 0, 0, 0, 190, 0, 192, 191,
+ 193
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -534, -534, -534, 226, -534, -534, -534, -534, -534, -103,
- -534, -396, 0, -1, -28, -534, 3, -380, -65, -534,
- -10, -240, 270, -534, -534, -534, -534, -534, -533, -534,
- -534, -534, -210, -534, -107, -519, -534, -178, -136, -18,
- -134, -534, 37, -534, -534, 96, -534, -16, -208, -534,
- -534, -270, -534, -534, -534, -534, -22, -534, 174, -6,
- -198, -69, -143, -534, -230
+ -562, -562, -562, 318, -562, -562, -562, -50, -562, -54,
+ -562, -426, 0, -1, -28, -562, 2, -409, -64, -562,
+ 61, -272, 356, -562, -562, -562, -562, -562, -561, -562,
+ -562, -562, -408, -562, -59, -508, -562, -133, -131, -23,
+ -53, -562, 4, -562, -562, 59, -562, 42, -178, -562,
+ -562, -191, -562, -562, -562, -562, 50, -562, 263, 63,
+ -210, -2, -134, -562, -242
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- 0, 69, 70, 71, 72, 73, 403, 404, 405, 406,
- 74, 111, 112, 152, 127, 128, 410, 77, 78, 79,
- 153, 268, 154, 80, 287, 81, 82, 83, 534, 84,
- 85, 86, 411, 412, 413, 483, 484, 485, 155, 156,
- 391, 181, 157, 314, 158, 202, 159, 440, 441, 160,
- 161, 426, 182, 498, 162, 241, 242, 163, 164, 243,
- 270, 543, 166, 244, 245
+ 0, 69, 70, 71, 72, 73, 437, 438, 439, 440,
+ 74, 111, 112, 153, 128, 129, 449, 77, 78, 79,
+ 154, 276, 155, 80, 300, 81, 82, 83, 587, 84,
+ 85, 86, 450, 451, 452, 526, 527, 528, 156, 157,
+ 423, 183, 158, 335, 159, 204, 160, 482, 483, 161,
+ 162, 468, 184, 546, 163, 247, 248, 164, 165, 249,
+ 278, 602, 167, 250, 251
};
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
@@ -991,348 +1026,327 @@ static const yytype_int16 yydefgoto[] =
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 75, 113, 194, 76, 501, 532, 482, 189, 165, 180,
- 169, 124, 126, 400, 172, 174, 347, 571, 170, 175,
- 317, 246, 271, 185, 187, 340, 179, 186, 165, 269,
- 385, 184, 271, 256, 126, 332, 191, 366, 600, 269,
- 173, 256, 183, 271, 257, 193, 123, 581, 285, 599,
- 269, 318, 167, 256, 395, 271, 341, 190, 286, 319,
- 342, 195, 269, 126, 192, 197, 625, 75, 424, 198,
- 75, 176, 177, 76, 425, 271, 396, 533, 125, 211,
- 265, 266, 269, 581, 212, 262, 263, 264, 265, 266,
- 271, 246, 447, 401, 590, 591, 328, 269, 263, 264,
- 265, 266, 329, 449, 482, 402, 213, 460, 339, 320,
- 199, 200, 207, 208, 209, 210, 322, 321, 114, 115,
- 548, 200, 116, 117, 323, 214, 462, 324, 588, 589,
- 590, 591, 233, 218, 219, 325, 207, 208, 209, 210,
- 247, 229, 275, 326, 234, 228, 393, 394, 458, 215,
- 240, 327, 622, 200, 480, 594, 482, 335, 516, 517,
- 518, 519, 273, 248, 297, 522, 118, 272, 119, 126,
- 120, 283, 121, 343, 277, 282, 581, 284, 487, 582,
- 278, 288, 289, 291, 292, 509, 122, 493, 482, 293,
- 310, 126, 311, 296, 312, 301, 313, 336, 298, 299,
- 337, 338, 344, 271, 507, 348, 388, 414, 398, 527,
- 269, 204, 205, 206, 315, 427, 525, 459, 529, 486,
- 587, 588, 589, 590, 591, 505, 488, 489, 346, 408,
- 204, 216, 217, 205, 206, 490, 541, 550, 551, 526,
- 531, 530, 561, 562, 349, 350, 351, 352, 353, 354,
- 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
- 365, 390, 390, 390, 565, 567, 570, 573, 575, 552,
- 593, 596, 595, 533, 75, 597, 601, 387, 179, 179,
- 179, 399, 620, 624, 407, 564, 631, 632, 203, 203,
- 203, 203, 626, 633, 75, 75, 196, 417, 566, 419,
- 634, 421, 503, 423, 188, 506, 535, 203, 203, 203,
- 203, 203, 203, 443, 563, 220, 392, 392, 392, 455,
- 0, 0, 230, 231, 0, 0, 598, 0, 572, 450,
- 451, 452, 453, 0, 454, 456, 0, 0, 457, 0,
- 240, 0, 461, 0, 0, 0, 0, 0, 0, 0,
- 0, 544, 544, 544, 544, 0, 0, 0, 0, 0,
- 0, 463, 464, 465, 466, 467, 468, 469, 470, 471,
- 472, 473, 474, 475, 476, 477, 478, 479, 0, 0,
- 0, 0, 0, 621, 0, 0, 75, 0, 75, 491,
- 492, 0, 0, 628, 0, 0, 0, 75, 0, 113,
- 502, 0, 0, 0, 0, 0, 0, 0, 250, 251,
- 252, 253, 75, 0, 75, 256, 0, 630, 257, 258,
- 259, 515, 0, 0, 0, 0, 545, 546, 547, 0,
- 0, 0, 0, 544, 544, 544, 544, 544, 544, 544,
- 544, 544, 544, 544, 544, 544, 544, 544, 544, 0,
- 0, 0, 0, 457, 0, 0, 0, 260, 261, 262,
- 263, 264, 265, 266, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 549, 0, 416, 544, 418, 0,
- 420, 0, 422, 0, 75, 0, 75, 0, 0, 537,
+ 75, 113, 76, 196, 182, 525, 411, 191, 551, 531,
+ 371, 124, 127, 123, 341, 584, 214, 217, 171, 168,
+ 434, 219, 541, 630, 253, 255, 181, 280, 264, 356,
+ 288, 186, 279, 392, 127, 277, 193, 290, 555, 301,
+ 303, 306, 308, 279, 125, 310, 277, 559, 315, 318,
+ 298, 175, 416, 454, 279, 532, 534, 277, 536, 658,
+ 299, 585, 466, 127, 194, 185, 279, 75, 467, 277,
+ 75, 195, 76, 668, 342, 273, 274, 166, 197, 170,
+ 213, 634, 343, 174, 489, 427, 176, 646, 177, 216,
+ 279, 201, 202, 277, 187, 189, 188, 166, 221, 502,
+ 435, 344, 346, 178, 179, 279, 698, 428, 277, 345,
+ 347, 126, 436, 285, 525, 491, 215, 218, 525, 336,
+ 504, 220, 591, 667, 254, 256, 192, 281, 239, 359,
+ 289, 252, 599, 586, 655, 656, 199, 291, 200, 302,
+ 304, 307, 309, 284, 264, 311, 234, 337, 316, 319,
+ 612, 246, 417, 455, 348, 533, 535, 350, 537, 659,
+ 500, 352, 349, 608, 202, 351, 317, 331, 522, 332,
+ 127, 333, 338, 334, 206, 207, 208, 295, 646, 297,
+ 525, 209, 210, 211, 212, 695, 202, 662, 636, 271,
+ 272, 273, 274, 127, 206, 222, 223, 207, 208, 707,
+ 202, 320, 353, 224, 225, 363, 209, 210, 211, 212,
+ 360, 235, 361, 252, 240, 561, 368, 364, 362, 579,
+ 339, 367, 525, 653, 654, 655, 656, 669, 581, 370,
+ 264, 374, 282, 265, 365, 694, 279, 372, 366, 277,
+ 425, 426, 296, 373, 412, 418, 577, 419, 420, 447,
+ 583, 693, 114, 115, 431, 433, 116, 117, 441, 443,
+ 444, 445, 446, 453, 646, 704, 322, 647, 456, 422,
+ 422, 422, 469, 523, 270, 271, 272, 273, 274, 568,
+ 569, 570, 571, 75, 706, 415, 574, 501, 529, 614,
+ 530, 181, 181, 181, 710, 711, 424, 424, 424, 540,
+ 118, 713, 119, 556, 120, 626, 121, 558, 652, 653,
+ 654, 655, 656, 75, 75, 600, 592, 578, 582, 593,
+ 122, 375, 376, 377, 378, 379, 380, 381, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 628, 594,
+ 607, 610, 611, 613, 623, 624, 586, 633, 627, 629,
+ 639, 635, 637, 640, 660, 661, 666, 664, 663, 665,
+ 670, 674, 691, 432, 246, 692, 697, 699, 442, 700,
+ 712, 714, 703, 715, 708, 709, 716, 205, 205, 205,
+ 205, 717, 718, 550, 719, 553, 720, 459, 198, 461,
+ 190, 463, 557, 465, 588, 485, 625, 205, 205, 205,
+ 205, 205, 205, 0, 0, 226, 0, 0, 603, 603,
+ 603, 603, 236, 237, 75, 497, 0, 75, 0, 0,
+ 0, 0, 492, 493, 494, 495, 0, 496, 498, 0,
+ 75, 499, 0, 113, 552, 0, 0, 503, 0, 0,
+ 0, 0, 0, 0, 0, 0, 75, 0, 0, 0,
+ 0, 75, 0, 0, 0, 75, 505, 506, 507, 508,
+ 509, 510, 511, 512, 513, 514, 515, 516, 517, 518,
+ 519, 520, 521, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 538, 539, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 603, 603, 603,
+ 603, 603, 603, 603, 603, 603, 603, 603, 603, 603,
+ 603, 603, 603, 75, 609, 0, 312, 75, 0, 75,
+ 75, 590, 567, 0, 0, 657, 0, 0, 0, 0,
+ 75, 604, 605, 606, 0, 0, 0, 0, 0, 641,
+ 642, 127, 643, 644, 645, 0, 646, 603, 75, 647,
+ 648, 649, 313, 0, 499, 0, 0, 0, 0, 0,
+ 258, 259, 260, 261, 262, 263, 0, 264, 0, 0,
+ 265, 266, 267, 0, 0, 75, 458, 632, 460, 75,
+ 462, 0, 464, 0, 0, 0, 75, 0, 650, 651,
+ 652, 653, 654, 655, 656, 0, 0, 0, 0, 0,
+ 0, 0, 113, 0, 0, 484, 484, 486, 487, 268,
+ 269, 270, 271, 272, 273, 274, 314, 0, 0, 0,
+ 286, 75, 0, 0, 0, 75, 0, 0, 0, 675,
+ 676, 677, 678, 679, 680, 681, 682, 683, 684, 685,
+ 686, 687, 688, 689, 690, 0, 0, 0, 0, 75,
+ 113, 638, 0, 0, 0, 0, 429, 0, 0, 0,
+ 0, 0, 0, 75, 258, 259, 260, 261, 262, 263,
+ 0, 264, 0, 0, 265, 266, 267, 0, 0, 705,
+ 0, 0, 75, 0, 547, 0, 0, 0, 0, 0,
+ 671, 548, 75, 75, 0, 0, 0, 0, 0, 75,
+ 258, 259, 260, 261, 262, 263, 0, 264, 0, 0,
+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
+ 287, 566, 0, 0, 0, 0, 0, 572, 0, 573,
+ 0, 0, 0, 575, 576, 258, 259, 260, 261, 262,
+ 263, 0, 264, 0, 0, 265, 266, 267, 0, 268,
+ 269, 270, 271, 272, 273, 274, 430, 595, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 126, 442, 442, 444, 445, 0, 604, 605, 606,
- 607, 608, 609, 610, 611, 612, 613, 614, 615, 616,
- 617, 618, 619, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 75, 0, 574, 569, 75, 0, 75, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 113, 629, 0, 0, 0, 0, 539, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 602, 75, 0,
- 576, 577, 499, 578, 579, 580, 540, 581, 0, 0,
- 582, 583, 584, 0, 250, 251, 252, 253, 254, 255,
- 0, 256, 0, 75, 257, 258, 259, 0, 0, 0,
- 514, 0, 0, 75, 0, 0, 520, 0, 521, 0,
- 0, 0, 523, 524, 0, 0, 0, 0, 0, 585,
- 586, 587, 588, 589, 590, 591, 0, 75, 0, 0,
- 0, 0, 0, 260, 261, 262, 263, 264, 265, 266,
- 302, 0, 0, 0, 0, 0, 303, 0, 0, 0,
- 0, 0, 0, 0, 250, 251, 252, 253, 254, 255,
- 0, 256, 0, 0, 257, 258, 259, 0, 542, 542,
- 542, 542, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 553, 554, 555, 556, 0, 0,
- 557, 558, 559, 560, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 260, 261, 262, 263, 264, 265, 266,
- 0, 0, 0, 304, 0, 0, 0, 0, 0, 305,
- 0, 0, 0, 0, 0, 0, 0, 250, 251, 252,
- 253, 254, 255, 0, 256, 0, 520, 257, 258, 259,
+ 0, 0, 0, 0, 268, 269, 270, 271, 272, 273,
+ 274, 549, 672, 0, 0, 601, 601, 601, 601, 0,
+ 0, 258, 259, 260, 261, 262, 263, 0, 264, 0,
+ 0, 265, 266, 267, 0, 615, 616, 617, 618, 0,
+ 0, 619, 620, 621, 622, 701, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 258, 259, 260, 261,
+ 262, 263, 0, 264, 0, 0, 265, 266, 267, 0,
+ 268, 269, 270, 271, 272, 273, 274, 596, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 258,
+ 259, 260, 261, 262, 263, 0, 264, 572, 0, 265,
+ 266, 267, 0, 0, 0, 268, 269, 270, 271, 272,
+ 273, 274, 673, 0, 601, 601, 601, 601, 601, 601,
+ 601, 601, 601, 601, 601, 601, 601, 601, 601, 601,
+ 0, 0, 0, 0, 0, 0, 0, 696, 268, 269,
+ 270, 271, 272, 273, 274, 702, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 542, 542, 542, 542, 542, 542, 542, 542, 542, 542,
- 542, 542, 542, 542, 542, 542, 0, 0, 0, 0,
- 623, 0, 0, 0, 0, 0, 260, 261, 262, 263,
- 264, 265, 266, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 542, 235, 236, 1, 237, 238,
- 87, 133, 134, 135, 136, 137, 138, 88, 10, 89,
+ 0, 0, 172, 0, 601, 130, 131, 1, 132, 133,
+ 87, 134, 135, 136, 137, 138, 139, 88, 10, 89,
90, 12, 91, 92, 93, 94, 17, 18, 95, 96,
21, 97, 23, 24, 98, 99, 100, 101, 28, 0,
30, 31, 102, 103, 104, 105, 0, 0, 0, 0,
- 0, 0, 141, 0, 36, 37, 0, 0, 0, 142,
- 39, 143, 41, 144, 43, 145, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, 0, 54, 55, 56, 146,
- 58, 0, 0, 59, 147, 61, 62, 106, 107, 108,
- 109, 0, 0, 0, 110, 0, 0, 0, 148, 149,
- 0, 0, 0, 0, 168, 0, 151, 0, 239, 129,
- 130, 1, 131, 132, 87, 133, 134, 135, 136, 137,
- 138, 88, 10, 89, 90, 12, 91, 92, 93, 94,
- 17, 18, 95, 96, 21, 97, 249, 24, 98, 99,
- 100, 101, 28, 0, 30, 31, 102, 103, 104, 105,
- 250, 251, 252, 253, 254, 255, 141, 256, 36, 37,
- 257, 258, 259, 142, 39, 143, 41, 144, 43, 145,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 0,
- 54, 55, 56, 146, 58, 0, 0, 59, 147, 61,
- 62, 106, 107, 108, 109, 0, 0, 0, 110, 260,
- 261, 262, 263, 264, 265, 266, 0, 267, 168, 0,
- 151, 129, 130, 1, 131, 132, 87, 133, 134, 135,
- 136, 137, 138, 88, 10, 89, 90, 12, 91, 92,
- 93, 94, 17, 279, 95, 96, 21, 97, 23, 24,
+ 0, 0, 142, 0, 36, 37, 0, 0, 0, 143,
+ 39, 144, 41, 145, 43, 146, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 0, 54, 55, 56, 147,
+ 58, 0, 0, 59, 148, 61, 62, 106, 107, 108,
+ 109, 0, 0, 0, 110, 0, 0, 0, 149, 150,
+ 0, 0, 173, 0, 169, 0, 152, 241, 242, 1,
+ 243, 244, 87, 134, 135, 136, 137, 138, 139, 88,
+ 10, 89, 90, 12, 91, 92, 93, 94, 17, 18,
+ 95, 96, 21, 97, 23, 24, 98, 99, 100, 101,
+ 28, 0, 30, 31, 102, 103, 104, 105, 0, 0,
+ 0, 0, 0, 0, 142, 0, 36, 37, 0, 0,
+ 0, 143, 39, 144, 41, 145, 43, 146, 45, 46,
+ 47, 48, 49, 50, 51, 52, 53, 0, 54, 55,
+ 56, 147, 58, 0, 0, 59, 148, 61, 62, 106,
+ 107, 108, 109, 0, 0, 0, 110, 0, 0, 0,
+ 149, 150, 0, 0, 0, 0, 169, 0, 152, 0,
+ 245, 130, 131, 1, 132, 133, 87, 134, 135, 136,
+ 137, 138, 139, 88, 10, 89, 90, 12, 91, 92,
+ 93, 94, 17, 18, 95, 96, 21, 97, 257, 24,
98, 99, 100, 101, 28, 0, 30, 31, 102, 103,
- 104, 105, 250, 251, 252, 253, 254, 255, 141, 256,
- 280, 281, 257, 258, 259, 142, 39, 143, 41, 144,
- 43, 145, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 0, 54, 55, 56, 146, 58, 0, 0, 59,
- 147, 61, 62, 106, 107, 108, 109, 0, 0, 0,
- 110, 260, 261, 262, 263, 264, 265, 266, 0, 267,
- 168, 0, 151, 129, 130, 1, 131, 132, 87, 133,
- 134, 135, 136, 137, 138, 88, 10, 89, 90, 12,
- 91, 92, 93, 94, 17, 18, 95, 96, 21, 97,
- 23, 24, 98, 99, 100, 101, 28, 0, 290, 31,
- 102, 103, 104, 105, 250, 251, 252, 253, 254, 255,
- 141, 256, 36, 37, 257, 258, 259, 142, 39, 143,
- 41, 144, 43, 145, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 0, 54, 55, 56, 146, 58, 0,
- 0, 59, 147, 61, 62, 106, 107, 108, 109, 0,
- 0, 0, 110, 260, 261, 262, 263, 264, 265, 266,
- 0, 267, 168, 0, 151, 129, 130, 1, 131, 132,
- 87, 133, 134, 135, 136, 137, 138, 88, 10, 89,
+ 104, 105, 258, 259, 260, 261, 262, 263, 142, 264,
+ 36, 37, 265, 266, 267, 143, 39, 144, 41, 145,
+ 43, 146, 45, 46, 47, 48, 49, 50, 51, 52,
+ 53, 0, 54, 55, 56, 147, 58, 0, 0, 59,
+ 148, 61, 62, 106, 107, 108, 109, 0, 0, 0,
+ 110, 268, 269, 270, 271, 272, 273, 274, 0, 275,
+ 169, 0, 152, 130, 131, 1, 132, 133, 87, 134,
+ 135, 136, 137, 138, 139, 88, 10, 89, 90, 12,
+ 91, 92, 93, 94, 17, 292, 95, 96, 21, 97,
+ 23, 24, 98, 99, 100, 101, 28, 0, 30, 31,
+ 102, 103, 104, 105, 258, 259, 260, 261, 262, 263,
+ 142, 264, 293, 294, 265, 266, 267, 143, 39, 144,
+ 41, 145, 43, 146, 45, 46, 47, 48, 49, 50,
+ 51, 52, 53, 0, 54, 55, 56, 147, 58, 0,
+ 0, 59, 148, 61, 62, 106, 107, 108, 109, 0,
+ 0, 0, 110, 268, 269, 270, 271, 272, 273, 274,
+ 0, 275, 169, 0, 152, 130, 131, 1, 132, 133,
+ 87, 134, 135, 136, 137, 138, 139, 88, 10, 89,
90, 12, 91, 92, 93, 94, 17, 18, 95, 96,
21, 97, 23, 24, 98, 99, 100, 101, 28, 0,
- 30, 31, 102, 103, 104, 105, 250, 251, 252, 253,
- 254, 255, 141, 256, 36, 37, 257, 258, 259, 142,
- 39, 143, 41, 144, 43, 145, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, 0, 54, 55, 56, 146,
- 58, 0, 0, 59, 147, 61, 62, 106, 107, 108,
- 109, 0, 0, 0, 110, 260, 261, 262, 263, 264,
- 265, 266, 0, 267, 168, 0, 151, 129, 130, 1,
- 131, 132, 87, 133, 134, 135, 136, 137, 138, 88,
+ 305, 31, 102, 103, 104, 105, 258, 259, 260, 261,
+ 262, 263, 142, 264, 36, 37, 265, 266, 267, 143,
+ 39, 144, 41, 145, 43, 146, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 0, 54, 55, 56, 147,
+ 58, 0, 0, 59, 148, 61, 62, 106, 107, 108,
+ 109, 0, 0, 0, 110, 268, 269, 270, 271, 272,
+ 273, 274, 0, 275, 169, 0, 152, 130, 131, 1,
+ 132, 133, 87, 134, 135, 136, 137, 138, 139, 88,
10, 89, 90, 12, 91, 92, 93, 94, 17, 18,
- 95, 96, 21, 97, 316, 24, 98, 99, 100, 101,
- 28, 0, 30, 31, 102, 103, 104, 105, 250, 251,
- 252, 253, 254, 255, 141, 256, 36, 37, 257, 258,
- 259, 142, 39, 143, 41, 144, 43, 145, 45, 46,
+ 95, 96, 21, 97, 23, 24, 98, 99, 100, 101,
+ 28, 0, 30, 31, 102, 103, 104, 105, 258, 259,
+ 260, 261, 262, 263, 142, 264, 36, 37, 265, 266,
+ 267, 143, 39, 144, 41, 145, 43, 146, 45, 46,
47, 48, 49, 50, 51, 52, 53, 0, 54, 55,
- 56, 146, 58, 0, 0, 59, 147, 61, 62, 106,
- 107, 108, 109, 0, 0, 0, 110, 260, 261, 262,
- 263, 264, 265, 266, 0, 0, 168, 0, 151, 129,
- 130, 1, 131, 132, 87, 133, 134, 135, 136, 137,
- 138, 88, 10, 89, 90, 12, 91, 92, 93, 94,
- 17, 18, 95, 96, 21, 97, 23, 24, 98, 99,
+ 56, 147, 58, 0, 0, 59, 148, 61, 62, 106,
+ 107, 108, 109, 0, 0, 0, 110, 268, 269, 270,
+ 271, 272, 273, 274, 0, 275, 169, 0, 152, 130,
+ 131, 1, 132, 133, 87, 134, 135, 136, 137, 138,
+ 139, 88, 10, 89, 90, 12, 91, 92, 93, 94,
+ 17, 18, 95, 96, 21, 97, 340, 24, 98, 99,
100, 101, 28, 0, 30, 31, 102, 103, 104, 105,
- 0, 0, 0, 0, 0, 0, 141, 0, 36, 37,
- 0, 0, 0, 142, 428, 143, 429, 144, 430, 145,
- 431, 46, 47, 48, 49, 50, 51, 52, 432, 433,
- 434, 435, 56, 146, 58, 436, 437, 438, 439, 61,
- 62, 106, 107, 108, 109, 0, 0, 0, 110, 0,
- 0, 0, 148, 149, 0, 0, 0, 0, 168, 0,
- 151, 129, 130, 1, 131, 132, 87, 133, 134, 135,
- 136, 137, 138, 88, 10, 89, 90, 12, 91, 92,
+ 258, 259, 260, 261, 262, 263, 142, 264, 36, 37,
+ 265, 266, 267, 143, 39, 144, 41, 145, 43, 146,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 0,
+ 54, 55, 56, 147, 58, 0, 0, 59, 148, 61,
+ 62, 106, 107, 108, 109, 0, 0, 0, 110, 268,
+ 269, 270, 271, 272, 273, 274, 0, 0, 169, 0,
+ 152, 130, 131, 1, 132, 133, 87, 134, 135, 136,
+ 137, 138, 139, 88, 10, 89, 90, 12, 91, 92,
93, 94, 17, 18, 95, 96, 21, 97, 23, 24,
98, 99, 100, 101, 28, 0, 30, 31, 102, 103,
- 104, 105, 0, 0, 0, 0, 0, 0, 141, 0,
- 36, 37, 0, 0, 0, 142, 39, 143, 41, 144,
- 43, 145, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 0, 54, 55, 56, 146, 58, 0, 0, 59,
- 147, 61, 62, 106, 107, 108, 109, 0, 0, 0,
- 110, 0, 0, 0, 148, 149, 0, 0, 171, 0,
- 168, 0, 151, 129, 130, 1, 131, 132, 87, 133,
- 134, 135, 136, 137, 138, 88, 10, 89, 90, 12,
+ 104, 105, 0, 0, 0, 0, 0, 0, 142, 0,
+ 36, 37, 0, 0, 0, 143, 470, 144, 471, 145,
+ 472, 146, 473, 46, 47, 48, 49, 50, 51, 52,
+ 474, 475, 476, 477, 56, 147, 58, 478, 479, 480,
+ 481, 61, 62, 106, 107, 108, 109, 0, 0, 0,
+ 110, 0, 0, 0, 149, 150, 0, 0, 0, 0,
+ 169, 0, 152, 130, 131, 1, 132, 133, 87, 134,
+ 135, 136, 137, 138, 139, 88, 10, 89, 90, 12,
91, 92, 93, 94, 17, 18, 95, 96, 21, 97,
23, 24, 98, 99, 100, 101, 28, 0, 30, 31,
102, 103, 104, 105, 0, 0, 0, 0, 0, 0,
- 141, 0, 36, 37, 0, 0, 0, 142, 39, 143,
- 41, 144, 43, 145, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 0, 54, 55, 56, 146, 58, 0,
- 0, 59, 147, 61, 62, 106, 107, 108, 109, 0,
- 0, 0, 110, 0, 0, 0, 148, 149, 0, 0,
- 0, 0, 168, 232, 151, 129, 130, 1, 131, 132,
- 87, 133, 134, 135, 136, 137, 138, 88, 10, 89,
+ 142, 0, 36, 37, 0, 0, 0, 143, 39, 144,
+ 41, 145, 43, 146, 45, 46, 47, 48, 49, 50,
+ 51, 52, 53, 0, 54, 55, 56, 147, 58, 0,
+ 0, 59, 148, 61, 62, 106, 107, 108, 109, 0,
+ 0, 0, 110, 0, 0, 0, 149, 150, 0, 0,
+ 0, 0, 169, 238, 152, 130, 131, 1, 132, 133,
+ 87, 134, 135, 136, 137, 138, 139, 88, 10, 89,
90, 12, 91, 92, 93, 94, 17, 18, 95, 96,
21, 97, 23, 24, 98, 99, 100, 101, 28, 0,
30, 31, 102, 103, 104, 105, 0, 0, 0, 0,
- 0, 0, 141, 0, 36, 37, 0, 0, 0, 142,
- 39, 143, 41, 144, 43, 145, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, 0, 54, 55, 56, 146,
- 58, 0, 0, 59, 147, 61, 62, 106, 107, 108,
- 109, 0, 0, 0, 110, 0, 0, 0, 148, 149,
- 0, 0, 0, 0, 168, 300, 151, 129, 130, 1,
- 131, 132, 87, 133, 134, 135, 136, 137, 138, 88,
+ 0, 0, 142, 0, 36, 37, 0, 0, 0, 143,
+ 39, 144, 41, 145, 43, 146, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 0, 54, 55, 56, 147,
+ 58, 0, 0, 59, 148, 61, 62, 106, 107, 108,
+ 109, 0, 0, 0, 110, 0, 0, 0, 149, 150,
+ 0, 0, 0, 0, 169, 321, 152, 130, 131, 1,
+ 132, 133, 87, 134, 135, 136, 137, 138, 139, 88,
10, 89, 90, 12, 91, 92, 93, 94, 17, 18,
95, 96, 21, 97, 23, 24, 98, 99, 100, 101,
28, 0, 30, 31, 102, 103, 104, 105, 0, 0,
- 0, 0, 0, 0, 141, 0, 36, 37, 0, 0,
- 0, 142, 39, 143, 41, 144, 43, 145, 45, 46,
+ 0, 0, 0, 0, 142, 0, 36, 37, 0, 0,
+ 0, 143, 39, 144, 41, 145, 43, 146, 45, 46,
47, 48, 49, 50, 51, 52, 53, 0, 54, 55,
- 56, 146, 58, 0, 0, 59, 147, 61, 62, 106,
+ 56, 147, 58, 0, 0, 59, 148, 61, 62, 106,
107, 108, 109, 0, 0, 0, 110, 0, 0, 0,
- 148, 149, 0, 0, 0, 0, 168, 345, 151, 129,
- 130, 1, 131, 132, 87, 133, 134, 135, 136, 137,
- 138, 88, 10, 89, 90, 12, 91, 92, 93, 94,
+ 149, 150, 0, 0, 0, 0, 169, 369, 152, 130,
+ 131, 1, 132, 133, 87, 134, 135, 136, 137, 138,
+ 139, 88, 10, 89, 90, 12, 91, 92, 93, 94,
17, 18, 95, 96, 21, 97, 23, 24, 98, 99,
100, 101, 28, 0, 30, 31, 102, 103, 104, 105,
- 0, 0, 0, 0, 0, 0, 141, 0, 36, 37,
- 0, 0, 0, 142, 39, 143, 41, 144, 43, 145,
+ 0, 0, 0, 0, 0, 0, 142, 0, 36, 37,
+ 0, 0, 0, 143, 39, 144, 41, 145, 43, 146,
45, 46, 47, 48, 49, 50, 51, 52, 53, 0,
- 54, 55, 56, 146, 58, 0, 0, 59, 147, 61,
+ 54, 55, 56, 147, 58, 0, 0, 59, 148, 61,
62, 106, 107, 108, 109, 0, 0, 0, 110, 0,
- 0, 0, 148, 149, 0, 0, 0, 0, 168, 448,
- 151, 129, 130, 1, 131, 132, 87, 133, 134, 135,
- 136, 137, 138, 88, 10, 89, 90, 12, 91, 92,
+ 0, 0, 149, 150, 0, 0, 0, 0, 169, 490,
+ 152, 130, 131, 1, 132, 133, 87, 134, 135, 136,
+ 137, 138, 139, 88, 10, 89, 90, 12, 91, 92,
93, 94, 17, 18, 95, 96, 21, 97, 23, 24,
98, 99, 100, 101, 28, 0, 30, 31, 102, 103,
- 104, 105, 0, 0, 0, 0, 0, 0, 141, 0,
- 36, 37, 0, 0, 0, 142, 39, 143, 41, 144,
- 43, 145, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 0, 54, 55, 56, 146, 58, 0, 0, 59,
- 147, 61, 62, 106, 107, 108, 109, 0, 0, 0,
- 110, 0, 0, 0, 148, 149, 0, 0, 0, 0,
- 168, 508, 151, 129, 130, 1, 131, 132, 87, 133,
- 134, 135, 136, 137, 138, 88, 10, 89, 90, 139,
- 91, 92, 93, 94, 17, 18, 95, 96, 140, 97,
+ 104, 105, 0, 0, 0, 0, 0, 0, 142, 0,
+ 36, 37, 0, 0, 0, 143, 39, 144, 41, 145,
+ 43, 146, 45, 46, 47, 48, 49, 50, 51, 52,
+ 53, 0, 54, 55, 56, 147, 58, 0, 0, 59,
+ 148, 61, 62, 106, 107, 108, 109, 0, 0, 0,
+ 110, 0, 0, 0, 149, 150, 0, 0, 0, 0,
+ 169, 560, 152, 130, 131, 1, 132, 133, 87, 134,
+ 135, 136, 137, 138, 139, 88, 10, 89, 90, 140,
+ 91, 92, 93, 94, 17, 18, 95, 96, 141, 97,
23, 24, 98, 99, 100, 101, 28, 0, 30, 31,
102, 103, 104, 105, 0, 0, 0, 0, 0, 0,
- 141, 0, 36, 37, 0, 0, 0, 142, 39, 143,
- 41, 144, 43, 145, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 0, 54, 55, 56, 146, 58, 0,
- 0, 59, 147, 61, 62, 106, 107, 108, 109, 0,
- 0, 0, 110, 0, 0, 0, 148, 149, 0, 0,
- 0, 0, 150, 0, 151, 129, 130, 1, 131, 132,
- 87, 133, 134, 135, 136, 137, 138, 88, 10, 89,
+ 142, 0, 36, 37, 0, 0, 0, 143, 39, 144,
+ 41, 145, 43, 146, 45, 46, 47, 48, 49, 50,
+ 51, 52, 53, 0, 54, 55, 56, 147, 58, 0,
+ 0, 59, 148, 61, 62, 106, 107, 108, 109, 0,
+ 0, 0, 110, 0, 0, 0, 149, 150, 0, 0,
+ 0, 0, 151, 0, 152, 130, 131, 1, 132, 133,
+ 87, 134, 135, 136, 137, 138, 139, 88, 10, 89,
90, 12, 91, 92, 93, 94, 17, 18, 95, 96,
21, 97, 23, 24, 98, 99, 100, 101, 28, 0,
30, 31, 102, 103, 104, 105, 0, 0, 0, 0,
- 0, 0, 141, 0, 36, 37, 0, 0, 0, 142,
- 39, 143, 41, 144, 43, 145, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, 0, 54, 55, 56, 146,
- 58, 0, 0, 59, 147, 61, 62, 106, 107, 108,
- 109, 0, 0, 0, 110, 0, 0, 0, 148, 149,
- 0, 0, 0, 0, 168, 0, 151, 129, 130, 1,
- 131, 132, 87, 133, 134, 135, 136, 137, 138, 88,
+ 0, 0, 142, 0, 36, 37, 0, 0, 0, 143,
+ 39, 144, 41, 145, 43, 146, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 0, 54, 55, 56, 147,
+ 58, 0, 0, 59, 148, 61, 62, 106, 107, 108,
+ 109, 0, 0, 0, 110, 0, 0, 0, 149, 150,
+ 0, 0, 0, 0, 169, 0, 152, 130, 131, 1,
+ 132, 133, 87, 134, 135, 136, 137, 138, 139, 88,
10, 89, 90, 12, 91, 92, 93, 94, 17, 18,
95, 96, 21, 97, 23, 24, 98, 99, 100, 101,
28, 0, 30, 31, 102, 103, 104, 105, 0, 0,
- 0, 0, 0, 0, 141, 0, 36, 37, 0, 0,
- 0, 142, 39, 143, 41, 144, 43, 145, 45, 46,
+ 0, 0, 0, 0, 142, 0, 36, 37, 0, 0,
+ 0, 143, 39, 144, 41, 145, 43, 146, 45, 46,
47, 48, 49, 50, 51, 52, 53, 0, 54, 55,
- 56, 146, 58, 0, 0, 59, 147, 61, 62, 106,
+ 56, 147, 58, 0, 0, 59, 148, 61, 62, 106,
107, 108, 109, 0, 0, 0, 110, 0, 0, 0,
- 148, 149, 0, 0, 0, 0, 150, 0, 151, 129,
- 130, 1, 131, 132, 87, 133, 134, 135, 136, 137,
- 138, 88, 10, 89, 90, 12, 91, 92, 93, 94,
+ 149, 150, 0, 0, 0, 0, 151, 0, 152, 130,
+ 131, 1, 132, 133, 87, 134, 135, 136, 137, 138,
+ 139, 88, 10, 89, 90, 12, 91, 92, 93, 94,
17, 18, 95, 96, 21, 97, 23, 24, 98, 99,
100, 101, 28, 0, 30, 31, 102, 103, 104, 105,
- 0, 0, 0, 0, 0, 0, 141, 0, 36, 37,
- 0, 0, 0, 142, 39, 143, 41, 144, 43, 145,
+ 0, 0, 0, 0, 0, 0, 142, 0, 36, 37,
+ 0, 0, 0, 143, 39, 144, 41, 145, 43, 146,
45, 46, 47, 48, 49, 50, 51, 52, 53, 0,
- 54, 55, 56, 146, 58, 0, 0, 59, 60, 61,
+ 54, 55, 56, 147, 58, 0, 0, 59, 60, 61,
62, 106, 107, 108, 109, 0, 0, 0, 110, 0,
- 0, 0, 148, 149, 0, 0, 0, 0, 201, 0,
- 151, 129, 130, 1, 131, 132, 87, 133, 134, 135,
- 136, 137, 138, 88, 10, 89, 90, 12, 91, 92,
+ 0, 0, 149, 150, 0, 0, 0, 0, 203, 0,
+ 152, 130, 131, 1, 132, 133, 87, 134, 135, 136,
+ 137, 138, 139, 88, 10, 89, 90, 12, 91, 92,
93, 94, 17, 18, 95, 96, 21, 97, 23, 24,
98, 99, 100, 101, 28, 0, 30, 31, 102, 103,
- 104, 105, 0, 0, 0, 0, 0, 0, 141, 0,
- 36, 37, 0, 0, 0, 142, 39, 143, 41, 144,
- 43, 145, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 0, 54, 55, 56, 146, 58, 0, 0, 59,
+ 104, 105, 0, 0, 0, 0, 0, 0, 142, 0,
+ 36, 37, 0, 0, 0, 143, 39, 144, 41, 145,
+ 43, 146, 45, 46, 47, 48, 49, 50, 51, 52,
+ 53, 0, 54, 55, 56, 147, 58, 0, 0, 59,
60, 61, 62, 106, 107, 108, 109, 0, 0, 0,
- 110, 0, 0, 0, 148, 149, 0, 0, 0, 0,
- 168, 0, 151, 129, 130, 1, 131, 132, 87, 133,
- 134, 135, 136, 137, 138, 88, 10, 89, 90, 12,
+ 110, 0, 0, 0, 149, 150, 0, 0, 0, 0,
+ 169, 0, 152, 130, 131, 1, 132, 133, 87, 134,
+ 135, 136, 137, 138, 139, 88, 10, 89, 90, 12,
91, 92, 93, 94, 17, 18, 95, 96, 21, 97,
23, 24, 98, 99, 100, 101, 28, 0, 30, 31,
102, 103, 104, 105, 0, 0, 0, 0, 0, 0,
- 141, 0, 36, 37, 0, 0, 0, 142, 39, 143,
- 41, 144, 43, 145, 45, 46, 47, 48, 49, 50,
- 51, 52, 432, 0, 434, 55, 56, 146, 58, 0,
- 0, 438, 439, 61, 62, 106, 107, 108, 109, 0,
- 0, 0, 110, 0, 0, 0, 148, 149, 0, 0,
- 0, 0, 168, 0, 151, 235, 236, 1, 237, 238,
- 87, 133, 134, 135, 136, 137, 138, 88, 10, 89,
+ 142, 0, 36, 37, 0, 0, 0, 143, 39, 144,
+ 41, 145, 43, 146, 45, 46, 47, 48, 49, 50,
+ 51, 52, 474, 0, 476, 55, 56, 147, 58, 0,
+ 0, 480, 481, 61, 62, 106, 107, 108, 109, 0,
+ 0, 0, 110, 0, 0, 0, 149, 150, 0, 0,
+ 0, 0, 169, 0, 152, 241, 242, 1, 243, 244,
+ 87, 134, 135, 136, 137, 138, 139, 88, 10, 89,
90, 12, 91, 92, 93, 94, 17, 18, 95, 96,
21, 97, 23, 24, 98, 99, 100, 101, 28, 0,
30, 31, 102, 103, 104, 105, 0, 0, 0, 0,
- 0, 0, 141, 0, 36, 37, 0, 0, 0, 142,
- 39, 143, 41, 144, 43, 145, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, 0, 54, 55, 56, 146,
- 58, 0, 0, 59, 147, 61, 62, 106, 107, 108,
- 109, 0, 0, 0, 110, 0, 0, 0, 148, 149,
- 0, 0, 0, 0, 168, 0, 151, 129, 130, 1,
- 131, 132, 87, 133, 134, 135, 136, 137, 138, 88,
+ 0, 0, 142, 0, 36, 37, 0, 0, 0, 143,
+ 39, 144, 41, 145, 43, 146, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 0, 54, 55, 56, 147,
+ 58, 0, 0, 59, 148, 61, 62, 106, 107, 108,
+ 109, 0, 0, 0, 110, 0, 0, 0, 149, 150,
+ 0, 0, 0, 0, 169, 0, 152, 130, 131, 1,
+ 132, 133, 87, 134, 135, 136, 137, 138, 139, 88,
10, 89, 90, 12, 91, 92, 93, 94, 17, 18,
95, 96, 21, 97, 23, 24, 98, 99, 100, 101,
28, 0, 30, 31, 102, 103, 104, 105, 0, 0,
- 0, 0, 0, 0, 141, 0, 36, 37, 0, 0,
- 0, 142, 39, 143, 41, 144, 43, 145, 45, 46,
- 47, 48, 49, 50, 51, 52, 494, 0, 495, 55,
- 56, 146, 58, 0, 0, 496, 497, 61, 62, 106,
+ 0, 0, 0, 0, 142, 0, 36, 37, 0, 0,
+ 0, 143, 39, 144, 41, 145, 43, 146, 45, 46,
+ 47, 48, 49, 50, 51, 52, 542, 0, 543, 55,
+ 56, 147, 58, 0, 0, 544, 545, 61, 62, 106,
107, 108, 109, 0, 0, 0, 110, 0, 0, 0,
- 148, 149, 0, 0, 0, 0, 168, 0, 151, 129,
- 130, 1, 131, 132, 87, 133, 134, 135, 136, 137,
- 138, 88, 10, 89, 90, 12, 91, 92, 93, 94,
+ 149, 150, 0, 0, 0, 0, 169, 0, 152, 130,
+ 131, 1, 132, 133, 87, 134, 135, 136, 137, 138,
+ 139, 88, 10, 89, 90, 12, 91, 92, 93, 94,
17, 18, 95, 96, 21, 97, 23, 24, 98, 99,
100, 101, 28, 0, 30, 31, 102, 103, 104, 105,
- 0, 0, 0, 0, 0, 0, 141, 0, 36, 37,
- 0, 0, 0, 142, 39, 143, 41, 144, 43, 145,
+ 0, 0, 0, 0, 0, 0, 142, 0, 36, 37,
+ 0, 0, 0, 143, 39, 144, 41, 145, 43, 146,
45, 46, 47, 48, 49, 50, 51, 52, 53, 0,
- 54, 55, 56, 146, 58, 0, 0, 59, 147, 61,
+ 54, 55, 56, 147, 58, 0, 0, 59, 148, 61,
62, 106, 107, 108, 109, 0, 0, 0, 110, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 168, 1,
- 151, 0, 2, 3, 4, 5, 6, 7, 8, 9,
- 10, 0, 11, 12, 13, 14, 15, 16, 17, 18,
- 19, 20, 21, 22, 23, 24, 25, 26, 27, 0,
- 28, 29, 30, 31, 32, 33, 34, 35, 0, 0,
- 0, 0, 0, 0, 0, 0, 36, 37, 0, 0,
- 0, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- 47, 48, 49, 50, 51, 52, 53, 0, 54, 55,
- 56, 57, 58, 0, 0, 59, 60, 61, 62, 63,
- 64, 65, 0, 66, 0, 0, 67, 0, 0, 0,
- 0, 1, 0, 0, 68, 3, 4, 5, 6, 7,
- 8, 9, 10, 0, 11, 12, 13, 14, 15, 16,
- 17, 18, 0, 20, 21, 22, 23, 24, 25, 26,
- 27, 0, 28, 29, 30, 31, 0, 33, 34, 35,
- 0, 0, 0, 0, 0, 0, 0, 0, 36, 37,
- 0, 0, 0, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 0,
- 54, 55, 56, 57, 58, 0, 0, 59, 60, 61,
- 62, 63, 64, 0, 0, 66, 0, 0, 67, 0,
- 0, 0, 0, 1, 0, 0, 386, 3, 4, 5,
- 6, 7, 8, 9, 10, 0, 11, 12, 13, 14,
- 15, 16, 17, 18, 0, 20, 21, 22, 23, 24,
- 25, 26, 27, 0, 28, 29, 30, 31, 0, 33,
- 34, 35, 0, 0, 0, 0, 0, 0, 0, 0,
- 36, 37, 0, 0, 0, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 0, 54, 55, 56, 57, 58, 0, 0, 59,
- 60, 61, 62, 63, 64, 0, 0, 66, 0, 0,
- 67, 0, 0, 0, 0, 1, 0, 0, 409, 3,
- 4, 5, 6, 7, 8, 9, 10, 0, 11, 12,
- 13, 14, 15, 16, 17, 18, 0, 20, 21, 22,
- 23, 24, 25, 26, 27, 0, 28, 29, 30, 31,
- 0, 33, 34, 35, 0, 0, 0, 0, 0, 0,
- 0, 0, 36, 37, 0, 0, 0, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 0, 54, 55, 56, 57, 58, 0,
- 0, 59, 60, 61, 62, 63, 64, 0, 0, 66,
- 0, 0, 67, 0, 0, 0, 0, 1, 0, 0,
- 536, 3, 4, 5, 6, 7, 8, 9, 10, 0,
+ 0, 0, 413, 0, 0, 0, 0, 1, 169, 0,
+ 152, 3, 4, 5, 6, 7, 8, 9, 10, 0,
11, 12, 13, 14, 15, 16, 17, 18, 0, 20,
21, 22, 23, 24, 25, 26, 27, 0, 28, 29,
30, 31, 0, 33, 34, 35, 0, 0, 0, 0,
@@ -1340,214 +1354,262 @@ static const yytype_int16 yytable[] =
39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
49, 50, 51, 52, 53, 0, 54, 55, 56, 57,
58, 0, 0, 59, 60, 61, 62, 63, 64, 0,
- 0, 66, 0, 0, 67, 0, 0, 0, 0, 1,
- 0, 0, 568, 3, 4, 5, 6, 7, 8, 9,
- 10, 0, 11, 12, 13, 14, 15, 16, 17, 18,
- 0, 20, 21, 22, 23, 24, 25, 26, 27, 0,
- 28, 29, 30, 31, 0, 33, 34, 35, 0, 0,
- 0, 0, 0, 0, 0, 0, 36, 37, 0, 0,
- 0, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- 47, 48, 49, 50, 51, 52, 53, 0, 54, 55,
- 56, 57, 58, 0, 0, 59, 60, 61, 62, 63,
- 64, 0, 0, 0, 0, 0, 67, 0, 0, 0,
- 0, 0, 1, 0, 481, 87, 3, 4, 5, 6,
- 7, 8, 88, 10, 89, 90, 12, 91, 92, 93,
- 94, 17, 18, 95, 96, 21, 97, 23, 24, 98,
- 99, 100, 101, 28, 0, 30, 31, 102, 103, 104,
- 105, 0, 0, 0, 0, 0, 0, 0, 0, 36,
+ 0, 66, 0, 0, 67, 0, 0, 0, 0, 0,
+ 1, 0, 414, 2, 3, 4, 5, 6, 7, 8,
+ 9, 10, 0, 11, 12, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
+ 0, 28, 29, 30, 31, 32, 33, 34, 35, 0,
+ 0, 0, 0, 0, 0, 0, 0, 36, 37, 0,
+ 0, 0, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, 49, 50, 51, 52, 53, 0, 54,
+ 55, 56, 57, 58, 0, 0, 59, 60, 61, 62,
+ 63, 64, 65, 0, 66, 0, 0, 67, 0, 0,
+ 0, 0, 1, 0, 0, 68, 3, 4, 5, 6,
+ 7, 8, 9, 10, 0, 11, 12, 13, 14, 15,
+ 16, 17, 18, 0, 20, 21, 22, 23, 24, 25,
+ 26, 27, 0, 28, 29, 30, 31, 0, 33, 34,
+ 35, 0, 0, 0, 0, 0, 0, 0, 0, 36,
37, 0, 0, 0, 38, 39, 40, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
0, 54, 55, 56, 57, 58, 0, 0, 59, 60,
- 61, 62, 106, 107, 108, 109, 0, 1, 0, 110,
- 87, 3, 4, 5, 6, 7, 8, 88, 10, 89,
- 90, 12, 91, 92, 93, 94, 17, 18, 95, 96,
- 21, 97, 23, 24, 98, 99, 100, 101, 28, 0,
- 30, 31, 102, 103, 104, 105, 0, 0, 0, 0,
- 0, 0, 0, 0, 36, 37, 0, 0, 0, 38,
- 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, 0, 54, 55, 56, 178,
- 58, 0, 0, 59, 60, 61, 62, 106, 107, 108,
- 109, 0, 1, 0, 110, 87, 3, 4, 5, 6,
- 7, 8, 88, 10, 89, 90, 12, 91, 92, 93,
- 94, 17, 18, 95, 96, 21, 97, 23, 24, 98,
- 99, 100, 101, 28, 0, 30, 31, 102, 103, 104,
- 105, 0, 0, 0, 0, 0, 0, 0, 0, 36,
- 37, 0, 0, 0, 38, 39, 40, 41, 42, 43,
- 44, 45, 221, 222, 223, 224, 225, 51, 226, 53,
- 0, 54, 55, 227, 57, 58, 0, 0, 59, 60,
- 61, 62, 106, 107, 108, 109, 0, 1, 0, 110,
- 87, 133, 134, 5, 6, 137, 138, 88, 10, 89,
- 90, 12, 91, 92, 93, 94, 17, 18, 95, 96,
- 21, 97, 23, 24, 98, 99, 100, 101, 28, 0,
- 30, 31, 102, 103, 104, 105, 0, 0, 0, 0,
- 0, 0, 0, 0, 36, 37, 0, 0, 0, 142,
- 39, 143, 41, 144, 43, 145, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, 0, 54, 55, 56, 389,
- 58, 0, 0, 59, 60, 61, 62, 106, 107, 108,
- 109, 1, 0, 0, 110, 3, 4, 5, 6, 7,
- 8, 9, 10, 0, 11, 12, 13, 14, 15, 0,
- 17, 18, 0, 20, 21, 22, 23, 24, 25, 99,
- 27, 0, 28, 0, 30, 31, 0, 33, 34, 35,
+ 61, 62, 63, 64, 0, 0, 66, 0, 0, 67,
+ 0, 0, 0, 0, 1, 0, 0, 448, 3, 4,
+ 5, 6, 7, 8, 9, 10, 0, 11, 12, 13,
+ 14, 15, 16, 17, 18, 0, 20, 21, 22, 23,
+ 24, 25, 26, 27, 0, 28, 29, 30, 31, 0,
+ 33, 34, 35, 0, 0, 0, 0, 0, 0, 0,
+ 0, 36, 37, 0, 0, 0, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
+ 52, 53, 0, 54, 55, 56, 57, 58, 0, 0,
+ 59, 60, 61, 62, 63, 64, 0, 0, 66, 0,
+ 0, 67, 0, 0, 0, 0, 1, 0, 0, 589,
+ 3, 4, 5, 6, 7, 8, 9, 10, 0, 11,
+ 12, 13, 14, 15, 16, 17, 18, 0, 20, 21,
+ 22, 23, 24, 25, 26, 27, 0, 28, 29, 30,
+ 31, 0, 33, 34, 35, 0, 0, 0, 0, 0,
+ 0, 0, 0, 36, 37, 0, 0, 0, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+ 50, 51, 52, 53, 0, 54, 55, 56, 57, 58,
+ 0, 0, 59, 60, 61, 62, 63, 64, 0, 0,
+ 66, 0, 0, 67, 0, 0, 0, 0, 1, 0,
+ 0, 631, 3, 4, 5, 6, 7, 8, 9, 10,
+ 0, 11, 12, 13, 14, 15, 16, 17, 18, 0,
+ 20, 21, 22, 23, 24, 25, 26, 27, 0, 28,
+ 29, 30, 31, 0, 33, 34, 35, 0, 0, 0,
+ 0, 0, 0, 0, 0, 36, 37, 0, 0, 0,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 0, 54, 55, 56,
+ 57, 58, 0, 0, 59, 60, 61, 62, 63, 64,
+ 0, 0, 0, 0, 0, 67, 0, 0, 0, 0,
+ 0, 1, 0, 524, 87, 3, 4, 5, 6, 7,
+ 8, 88, 10, 89, 90, 12, 91, 92, 93, 94,
+ 17, 18, 95, 96, 21, 97, 23, 24, 98, 99,
+ 100, 101, 28, 0, 30, 31, 102, 103, 104, 105,
0, 0, 0, 0, 0, 0, 0, 0, 36, 37,
0, 0, 0, 38, 39, 40, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, 51, 52, 53, 0,
- 54, 55, 56, 57, 58, 306, 0, 59, 60, 61,
- 62, 307, 64, 0, 0, 0, 0, 0, 67, 250,
- 251, 252, 253, 254, 255, 0, 256, 308, 0, 257,
- 258, 259, 0, 309, 0, 0, 0, 0, 0, 0,
- 510, 250, 251, 252, 253, 254, 255, 0, 256, 0,
- 0, 257, 258, 259, 250, 251, 252, 253, 254, 255,
- 0, 256, 511, 0, 257, 258, 259, 0, 260, 261,
- 262, 263, 264, 265, 266, 0, 250, 251, 252, 253,
- 254, 255, 0, 256, 0, 0, 257, 258, 259, 0,
- 260, 261, 262, 263, 264, 265, 266, 512, 0, 0,
- 0, 0, 0, 260, 261, 262, 263, 264, 265, 266,
- 0, 250, 251, 252, 253, 254, 255, 0, 256, 513,
- 0, 257, 258, 259, 0, 260, 261, 262, 263, 264,
- 265, 266, 592, 250, 251, 252, 253, 254, 255, 0,
- 256, 0, 0, 257, 258, 259, 576, 577, 0, 578,
- 579, 580, 0, 581, 0, 0, 582, 583, 584, 294,
- 260, 261, 262, 263, 264, 265, 266, 250, 251, 252,
- 253, 254, 255, 0, 256, 0, 0, 257, 258, 259,
- 0, 0, 260, 261, 262, 263, 264, 265, 266, 0,
- 0, 0, 0, 274, 0, 585, 586, 587, 588, 589,
- 590, 591, 250, 251, 252, 253, 254, 255, 0, 256,
- 0, 0, 257, 258, 259, 0, 260, 261, 262, 263,
- 264, 265, 266, 295, 250, 251, 252, 253, 254, 255,
- 0, 256, 0, 0, 257, 258, 259, 250, 251, 252,
- 253, 254, 255, 0, 256, 0, 0, 257, 258, 259,
- 0, 260, 261, 262, 263, 264, 265, 266, 250, 251,
- 252, 253, 254, 255, 0, 256, 0, 0, 257, 258,
- 259, 0, 0, 260, 261, 262, 263, 264, 265, 266,
- 0, 333, 0, 334, 0, 0, 260, 261, 262, 263,
- 264, 265, 266, 0, 415, 0, 334, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 260, 261, 262,
- 263, 264, 265, 266, 0, 0, 0, 334, 367, 368,
- 369, 370, 371, 372, 0, 373, 0, 0, 374, 375,
- 376, 367, 368, 369, 370, 371, 372, 0, 373, 0,
- 0, 374, 375, 376, 367, 368, 369, 370, 371, 372,
- 0, 373, 0, 0, 374, 375, 376, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 377, 378, 379,
- 380, 381, 382, 383, 0, 384, 0, 0, 0, 0,
- 377, 378, 379, 380, 381, 382, 383, 0, 446, 0,
- 0, 0, 0, 377, 378, 379, 380, 381, 382, 383,
- 0, 528, 250, 251, 252, 253, 254, 255, 0, 256,
- 0, 0, 257, 258, 259, 250, 251, 252, 253, 254,
- 255, 0, 256, 0, 0, 257, 258, 259, 250, 251,
- 252, 253, 254, 255, 0, 256, 0, 0, 257, 258,
- 259, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 260, 261, 262, 263, 264, 265, 266, 276, 0,
- 0, 0, 0, 0, 260, 261, 262, 263, 264, 265,
- 266, 397, 0, 0, 0, 0, 0, 260, 261, 262,
- 263, 264, 265, 266, 500, 250, 251, 252, 253, 254,
- 255, 0, 256, 0, 0, 257, 258, 259, 250, 251,
- 252, 253, 254, 255, 0, 256, 0, 0, 257, 258,
- 259, 250, 251, 252, 253, 254, 255, 0, 256, 0,
- 0, 257, 258, 259, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 260, 261, 262, 263, 264, 265,
- 266, 504, 0, 0, 0, 0, 0, 260, 261, 262,
- 263, 264, 265, 266, 538, 0, 0, 0, 0, 0,
- 260, 261, 262, 263, 264, 265, 266, 603, 250, 251,
- 252, 253, 254, 255, 0, 256, 0, 0, 257, 258,
- 259, 0, 0, 0, 0, 0, 250, 251, 252, 253,
- 254, 255, 0, 256, 0, 0, 257, 258, 259, 250,
- 251, 252, 253, 254, 255, 0, 256, 0, 0, 257,
- 258, 259, 0, 0, 0, 0, 0, 260, 261, 262,
- 263, 264, 265, 266, 627, 330, 331, 0, 0, 0,
- 0, 0, 0, 0, 0, 260, 261, 262, 263, 264,
- 265, 266, 0, 0, 0, 0, 0, 0, 260, 261,
- 262, 263, 264, 265, 266, 367, 368, 369, 370, 371,
- 372, 0, 373, 0, 0, 374, 375, 376, 576, 577,
- 0, 578, 0, 0, 0, 581, 0, 0, 582, 583,
- 584, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 54, 55, 56, 57, 58, 0, 0, 59, 60, 61,
+ 62, 106, 107, 108, 109, 0, 1, 0, 110, 87,
+ 3, 4, 5, 6, 7, 8, 88, 10, 89, 90,
+ 12, 91, 92, 93, 94, 17, 18, 95, 96, 21,
+ 97, 23, 24, 98, 99, 100, 101, 28, 0, 30,
+ 31, 102, 103, 104, 105, 0, 0, 0, 0, 0,
+ 0, 0, 0, 36, 37, 0, 0, 0, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+ 50, 51, 52, 53, 0, 54, 55, 56, 180, 58,
+ 0, 0, 59, 60, 61, 62, 106, 107, 108, 109,
+ 0, 1, 0, 110, 87, 3, 4, 5, 6, 7,
+ 8, 88, 10, 89, 90, 12, 91, 92, 93, 94,
+ 17, 18, 95, 96, 21, 97, 23, 24, 98, 99,
+ 100, 101, 28, 0, 30, 31, 102, 103, 104, 105,
+ 0, 0, 0, 0, 0, 0, 0, 0, 36, 37,
+ 0, 0, 0, 38, 39, 40, 41, 42, 43, 44,
+ 45, 227, 228, 229, 230, 231, 51, 232, 53, 0,
+ 54, 55, 233, 57, 58, 0, 0, 59, 60, 61,
+ 62, 106, 107, 108, 109, 0, 1, 0, 110, 87,
+ 134, 135, 5, 6, 138, 139, 88, 10, 89, 90,
+ 12, 91, 92, 93, 94, 17, 18, 95, 96, 21,
+ 97, 23, 24, 98, 99, 100, 101, 28, 0, 30,
+ 31, 102, 103, 104, 105, 0, 0, 0, 0, 0,
+ 0, 0, 0, 36, 37, 0, 0, 0, 143, 39,
+ 144, 41, 145, 43, 146, 45, 46, 47, 48, 49,
+ 50, 51, 52, 53, 0, 54, 55, 56, 421, 58,
+ 0, 0, 59, 60, 61, 62, 106, 107, 108, 109,
+ 1, 0, 0, 110, 3, 4, 5, 6, 7, 8,
+ 9, 10, 0, 11, 12, 13, 14, 15, 0, 17,
+ 18, 0, 20, 21, 22, 23, 24, 25, 99, 27,
+ 0, 28, 0, 30, 31, 0, 33, 34, 35, 0,
+ 0, 0, 0, 0, 0, 0, 0, 36, 37, 0,
+ 0, 0, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, 49, 50, 51, 52, 53, 597, 54,
+ 55, 56, 57, 58, 0, 0, 59, 60, 61, 62,
+ 0, 64, 258, 259, 260, 261, 0, 67, 598, 264,
+ 0, 0, 265, 266, 267, 0, 258, 259, 260, 261,
+ 262, 263, 0, 264, 323, 0, 265, 266, 267, 0,
+ 324, 0, 0, 0, 0, 0, 0, 0, 258, 259,
+ 260, 261, 262, 263, 0, 264, 0, 0, 265, 266,
+ 267, 268, 269, 270, 271, 272, 273, 274, 325, 0,
+ 0, 0, 0, 0, 326, 268, 269, 270, 271, 272,
+ 273, 274, 258, 259, 260, 261, 262, 263, 0, 264,
+ 327, 0, 265, 266, 267, 0, 328, 268, 269, 270,
+ 271, 272, 273, 274, 258, 259, 260, 261, 262, 263,
+ 0, 264, 0, 0, 265, 266, 267, 0, 0, 0,
+ 0, 0, 0, 0, 329, 0, 0, 0, 0, 0,
+ 330, 268, 269, 270, 271, 272, 273, 274, 258, 259,
+ 260, 261, 262, 263, 0, 264, 562, 0, 265, 266,
+ 267, 0, 0, 268, 269, 270, 271, 272, 273, 274,
+ 258, 259, 260, 261, 262, 263, 0, 264, 0, 0,
+ 265, 266, 267, 0, 0, 0, 0, 0, 0, 0,
+ 563, 0, 0, 0, 0, 0, 0, 268, 269, 270,
+ 271, 272, 273, 274, 258, 259, 260, 261, 262, 263,
+ 0, 264, 564, 0, 265, 266, 267, 0, 0, 268,
+ 269, 270, 271, 272, 273, 274, 258, 259, 260, 261,
+ 262, 263, 0, 264, 0, 0, 265, 266, 267, 0,
+ 0, 0, 0, 0, 0, 0, 565, 0, 0, 0,
+ 0, 0, 0, 268, 269, 270, 271, 272, 273, 274,
+ 258, 259, 260, 261, 262, 263, 0, 264, 0, 0,
+ 265, 266, 267, 283, 0, 268, 269, 270, 271, 272,
+ 273, 274, 258, 259, 260, 261, 262, 263, 0, 264,
+ 0, 0, 265, 266, 267, 258, 259, 260, 261, 262,
+ 263, 0, 264, 0, 0, 265, 266, 267, 0, 268,
+ 269, 270, 271, 272, 273, 274, 258, 259, 260, 261,
+ 262, 263, 0, 264, 0, 0, 265, 266, 267, 0,
+ 0, 268, 269, 270, 271, 272, 273, 274, 0, 0,
+ 0, 0, 0, 0, 268, 269, 270, 271, 272, 273,
+ 274, 0, 357, 0, 358, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 268, 269, 270, 271, 272,
+ 273, 274, 0, 457, 0, 358, 258, 259, 260, 261,
+ 262, 263, 0, 264, 0, 0, 265, 266, 267, 393,
+ 394, 395, 396, 397, 398, 0, 399, 0, 0, 400,
+ 401, 402, 393, 394, 395, 396, 397, 398, 0, 399,
+ 0, 0, 400, 401, 402, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 268, 269, 270, 271, 272,
+ 273, 274, 0, 0, 0, 358, 0, 0, 403, 404,
+ 405, 406, 407, 408, 409, 0, 410, 0, 0, 0,
+ 0, 403, 404, 405, 406, 407, 408, 409, 0, 488,
+ 393, 394, 395, 396, 397, 398, 0, 399, 0, 0,
+ 400, 401, 402, 258, 259, 260, 261, 262, 263, 0,
+ 264, 0, 0, 265, 266, 267, 0, 0, 0, 0,
+ 0, 258, 259, 260, 261, 262, 263, 0, 264, 0,
+ 0, 265, 266, 267, 0, 0, 0, 0, 0, 403,
+ 404, 405, 406, 407, 408, 409, 0, 580, 0, 0,
+ 0, 0, 268, 269, 270, 271, 272, 273, 274, 554,
+ 354, 355, 0, 0, 0, 0, 0, 0, 0, 0,
+ 268, 269, 270, 271, 272, 273, 274, 258, 259, 260,
+ 261, 262, 263, 0, 264, 0, 0, 265, 266, 267,
+ 393, 394, 395, 396, 397, 398, 0, 399, 0, 0,
+ 400, 401, 402, 641, 642, 0, 643, 644, 645, 0,
+ 646, 0, 0, 647, 648, 649, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 268, 269, 270, 271,
+ 272, 273, 274, 0, 0, 0, 0, 0, 0, 403,
+ 404, 405, 406, 407, 408, 409, 0, 0, 0, 0,
+ 0, 0, 650, 651, 652, 653, 654, 655, 656, 641,
+ 642, 0, 643, 0, 0, 0, 646, 0, 0, 647,
+ 648, 649, 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, 0, 0, 0,
- 0, 0, 0, 0, 377, 378, 379, 380, 381, 382,
- 383, 0, 0, 0, 0, 0, 0, 585, 586, 587,
- 588, 589, 590, 591
+ 0, 0, 0, 0, 0, 0, 0, 0, 650, 651,
+ 652, 653, 654, 655, 656
};
static const yytype_int16 yycheck[] =
{
- 0, 2, 67, 0, 400, 18, 386, 35, 14, 27,
- 16, 34, 13, 9, 20, 25, 246, 536, 19, 25,
- 218, 103, 165, 33, 34, 107, 27, 33, 34, 165,
- 270, 32, 175, 52, 35, 233, 64, 267, 571, 175,
- 34, 52, 101, 186, 55, 101, 9, 52, 37, 568,
- 186, 71, 15, 52, 25, 198, 102, 63, 47, 79,
- 106, 0, 198, 64, 65, 75, 599, 67, 25, 75,
- 70, 39, 40, 70, 31, 218, 47, 90, 101, 72,
- 99, 100, 218, 52, 101, 96, 97, 98, 99, 100,
- 233, 103, 332, 89, 99, 100, 31, 233, 97, 98,
- 99, 100, 31, 333, 484, 101, 101, 347, 106, 71,
- 101, 102, 118, 119, 120, 121, 71, 79, 10, 11,
- 101, 102, 14, 15, 79, 101, 366, 71, 97, 98,
- 99, 100, 150, 139, 140, 79, 142, 143, 144, 145,
- 101, 147, 170, 71, 150, 146, 280, 281, 346, 102,
- 151, 79, 101, 102, 384, 551, 536, 107, 428, 429,
- 430, 431, 168, 101, 192, 435, 58, 101, 60, 170,
- 62, 177, 64, 106, 101, 176, 52, 178, 388, 55,
- 101, 101, 101, 101, 101, 415, 78, 397, 568, 101,
- 58, 192, 60, 101, 62, 201, 64, 107, 101, 200,
- 107, 107, 102, 346, 414, 29, 101, 101, 31, 449,
- 346, 115, 116, 117, 215, 29, 446, 102, 458, 18,
- 96, 97, 98, 99, 100, 92, 101, 101, 246, 294,
- 134, 135, 136, 137, 138, 101, 91, 101, 9, 104,
- 480, 104, 31, 73, 250, 251, 252, 253, 254, 255,
- 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
- 266, 279, 280, 281, 104, 104, 101, 37, 101, 509,
- 101, 73, 104, 90, 274, 104, 91, 274, 279, 280,
- 281, 287, 73, 104, 290, 525, 91, 91, 114, 115,
- 116, 117, 101, 101, 294, 295, 70, 303, 528, 305,
- 101, 307, 405, 309, 34, 412, 484, 133, 134, 135,
- 136, 137, 138, 329, 522, 141, 279, 280, 281, 341,
- -1, -1, 148, 149, -1, -1, 566, -1, 538, 335,
- 336, 337, 338, -1, 340, 341, -1, -1, 344, -1,
- 341, -1, 348, -1, -1, -1, -1, -1, -1, -1,
- -1, 494, 495, 496, 497, -1, -1, -1, -1, -1,
- -1, 367, 368, 369, 370, 371, 372, 373, 374, 375,
- 376, 377, 378, 379, 380, 381, 382, 383, -1, -1,
- -1, -1, -1, 593, -1, -1, 386, -1, 388, 395,
- 396, -1, -1, 603, -1, -1, -1, 397, -1, 400,
- 401, -1, -1, -1, -1, -1, -1, -1, 45, 46,
- 47, 48, 412, -1, 414, 52, -1, 627, 55, 56,
- 57, 427, -1, -1, -1, -1, 495, 496, 497, -1,
- -1, -1, -1, 576, 577, 578, 579, 580, 581, 582,
- 583, 584, 585, 586, 587, 588, 589, 590, 591, -1,
- -1, -1, -1, 459, -1, -1, -1, 94, 95, 96,
- 97, 98, 99, 100, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 502, -1, 302, 620, 304, -1,
- 306, -1, 308, -1, 484, -1, 486, -1, -1, 486,
+ 0, 2, 0, 67, 27, 414, 278, 35, 434, 417,
+ 252, 1, 13, 9, 224, 523, 1, 1, 19, 15,
+ 9, 1, 430, 584, 1, 1, 27, 1, 52, 239,
+ 1, 32, 166, 275, 35, 166, 64, 1, 446, 1,
+ 1, 1, 1, 177, 34, 1, 177, 455, 1, 1,
+ 37, 34, 1, 1, 188, 1, 1, 188, 1, 1,
+ 47, 18, 25, 64, 65, 101, 200, 67, 31, 200,
+ 70, 101, 70, 634, 71, 99, 100, 14, 0, 16,
+ 72, 589, 79, 20, 356, 25, 25, 52, 25, 101,
+ 224, 101, 102, 224, 33, 34, 33, 34, 102, 371,
+ 89, 71, 71, 39, 40, 239, 667, 47, 239, 79,
+ 79, 101, 101, 101, 523, 357, 101, 101, 527, 101,
+ 392, 101, 530, 631, 101, 101, 63, 101, 151, 107,
+ 101, 103, 540, 90, 99, 100, 75, 101, 75, 101,
+ 101, 101, 101, 171, 52, 101, 147, 101, 101, 101,
+ 558, 152, 101, 101, 71, 101, 101, 71, 101, 101,
+ 370, 31, 79, 101, 102, 79, 194, 58, 410, 60,
+ 171, 62, 101, 64, 115, 116, 117, 178, 52, 180,
+ 589, 118, 119, 120, 121, 101, 102, 613, 596, 97,
+ 98, 99, 100, 194, 135, 136, 137, 138, 139, 101,
+ 102, 202, 31, 140, 141, 106, 143, 144, 145, 146,
+ 107, 148, 107, 103, 151, 457, 102, 107, 107, 491,
+ 221, 106, 631, 97, 98, 99, 100, 635, 500, 252,
+ 52, 29, 169, 55, 102, 661, 370, 101, 106, 370,
+ 293, 294, 179, 101, 101, 101, 488, 101, 101, 313,
+ 522, 659, 10, 11, 31, 101, 14, 15, 101, 101,
+ 101, 101, 101, 101, 52, 673, 203, 55, 101, 292,
+ 293, 294, 29, 101, 96, 97, 98, 99, 100, 470,
+ 471, 472, 473, 283, 692, 283, 477, 102, 18, 561,
+ 101, 292, 293, 294, 702, 703, 292, 293, 294, 101,
+ 58, 709, 60, 92, 62, 577, 64, 101, 96, 97,
+ 98, 99, 100, 313, 314, 91, 101, 104, 104, 101,
+ 78, 258, 259, 260, 261, 262, 263, 264, 265, 266,
+ 267, 268, 269, 270, 271, 272, 273, 274, 580, 101,
+ 101, 92, 101, 9, 31, 73, 90, 101, 104, 104,
+ 91, 101, 37, 101, 101, 9, 628, 73, 104, 104,
+ 91, 101, 73, 300, 365, 101, 104, 91, 305, 101,
+ 91, 91, 101, 91, 101, 101, 101, 114, 115, 116,
+ 117, 91, 101, 433, 101, 439, 101, 324, 70, 326,
+ 34, 328, 451, 330, 527, 353, 574, 134, 135, 136,
+ 137, 138, 139, -1, -1, 142, -1, -1, 542, 543,
+ 544, 545, 149, 150, 414, 365, -1, 417, -1, -1,
+ -1, -1, 359, 360, 361, 362, -1, 364, 365, -1,
+ 430, 368, -1, 434, 435, -1, -1, 374, -1, -1,
+ -1, -1, -1, -1, -1, -1, 446, -1, -1, -1,
+ -1, 451, -1, -1, -1, 455, 393, 394, 395, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 502, 328, 329, 330, 331, -1, 576, 577, 578,
- 579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
- 589, 590, 591, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 532, -1, 540, 532, 536, -1, 538, -1,
+ 427, 428, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 641, 642, 643,
+ 644, 645, 646, 647, 648, 649, 650, 651, 652, 653,
+ 654, 655, 656, 523, 552, -1, 1, 527, -1, 529,
+ 530, 529, 469, -1, -1, 31, -1, -1, -1, -1,
+ 540, 543, 544, 545, -1, -1, -1, -1, -1, 45,
+ 46, 552, 48, 49, 50, -1, 52, 691, 558, 55,
+ 56, 57, 37, -1, 501, -1, -1, -1, -1, -1,
+ 45, 46, 47, 48, 49, 50, -1, 52, -1, -1,
+ 55, 56, 57, -1, -1, 585, 323, 585, 325, 589,
+ 327, -1, 329, -1, -1, -1, 596, -1, 94, 95,
+ 96, 97, 98, 99, 100, -1, -1, -1, -1, -1,
+ -1, -1, 613, -1, -1, 352, 353, 354, 355, 94,
+ 95, 96, 97, 98, 99, 100, 101, -1, -1, -1,
+ 1, 631, -1, -1, -1, 635, -1, -1, -1, 641,
+ 642, 643, 644, 645, 646, 647, 648, 649, 650, 651,
+ 652, 653, 654, 655, 656, -1, -1, -1, -1, 659,
+ 661, 598, -1, -1, -1, -1, 1, -1, -1, -1,
+ -1, -1, -1, 673, 45, 46, 47, 48, 49, 50,
+ -1, 52, -1, -1, 55, 56, 57, -1, -1, 691,
+ -1, -1, 692, -1, 431, -1, -1, -1, -1, -1,
+ 637, 1, 702, 703, -1, -1, -1, -1, -1, 709,
+ 45, 46, 47, 48, 49, 50, -1, 52, -1, -1,
+ 55, 56, 57, 94, 95, 96, 97, 98, 99, 100,
+ 101, 468, -1, -1, -1, -1, -1, 474, -1, 476,
+ -1, -1, -1, 480, 481, 45, 46, 47, 48, 49,
+ 50, -1, 52, -1, -1, 55, 56, 57, -1, 94,
+ 95, 96, 97, 98, 99, 100, 101, 1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 551, 620, -1, -1, -1, -1, 17, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 573, 568, -1,
- 45, 46, 398, 48, 49, 50, 37, 52, -1, -1,
- 55, 56, 57, -1, 45, 46, 47, 48, 49, 50,
- -1, 52, -1, 593, 55, 56, 57, -1, -1, -1,
- 426, -1, -1, 603, -1, -1, 432, -1, 434, -1,
- -1, -1, 438, 439, -1, -1, -1, -1, -1, 94,
- 95, 96, 97, 98, 99, 100, -1, 627, -1, -1,
- -1, -1, -1, 94, 95, 96, 97, 98, 99, 100,
- 31, -1, -1, -1, -1, -1, 37, -1, -1, -1,
- -1, -1, -1, -1, 45, 46, 47, 48, 49, 50,
- -1, 52, -1, -1, 55, 56, 57, -1, 494, 495,
- 496, 497, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 510, 511, 512, 513, -1, -1,
- 516, 517, 518, 519, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 94, 95, 96, 97, 98, 99, 100,
- -1, -1, -1, 31, -1, -1, -1, -1, -1, 37,
- -1, -1, -1, -1, -1, -1, -1, 45, 46, 47,
- 48, 49, 50, -1, 52, -1, 562, 55, 56, 57,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
- 586, 587, 588, 589, 590, 591, -1, -1, -1, -1,
- 596, -1, -1, -1, -1, -1, 94, 95, 96, 97,
- 98, 99, 100, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 620, 4, 5, 6, 7, 8,
+ -1, -1, -1, -1, 94, 95, 96, 97, 98, 99,
+ 100, 101, 1, -1, -1, 542, 543, 544, 545, -1,
+ -1, 45, 46, 47, 48, 49, 50, -1, 52, -1,
+ -1, 55, 56, 57, -1, 562, 563, 564, 565, -1,
+ -1, 568, 569, 570, 571, 1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 45, 46, 47, 48,
+ 49, 50, -1, 52, -1, -1, 55, 56, 57, -1,
+ 94, 95, 96, 97, 98, 99, 100, 101, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 45,
+ 46, 47, 48, 49, 50, -1, 52, 624, -1, 55,
+ 56, 57, -1, -1, -1, 94, 95, 96, 97, 98,
+ 99, 100, 101, -1, 641, 642, 643, 644, 645, 646,
+ 647, 648, 649, 650, 651, 652, 653, 654, 655, 656,
+ -1, -1, -1, -1, -1, -1, -1, 664, 94, 95,
+ 96, 97, 98, 99, 100, 101, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 1, -1, 691, 4, 5, 6, 7, 8,
9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
29, 30, 31, 32, 33, 34, 35, 36, 37, -1,
@@ -1557,18 +1619,18 @@ static const yytype_int16 yycheck[] =
69, 70, 71, 72, 73, -1, 75, 76, 77, 78,
79, -1, -1, 82, 83, 84, 85, 86, 87, 88,
89, -1, -1, -1, 93, -1, -1, -1, 97, 98,
- -1, -1, -1, -1, 103, -1, 105, -1, 107, 4,
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
- 65, 66, 67, 68, 69, 70, 71, 72, 73, -1,
- 75, 76, 77, 78, 79, -1, -1, 82, 83, 84,
- 85, 86, 87, 88, 89, -1, -1, -1, 93, 94,
- 95, 96, 97, 98, 99, 100, -1, 102, 103, -1,
- 105, 4, 5, 6, 7, 8, 9, 10, 11, 12,
+ -1, -1, 101, -1, 103, -1, 105, 4, 5, 6,
+ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, -1, 39, 40, 41, 42, 43, 44, -1, -1,
+ -1, -1, -1, -1, 51, -1, 53, 54, -1, -1,
+ -1, 58, 59, 60, 61, 62, 63, 64, 65, 66,
+ 67, 68, 69, 70, 71, 72, 73, -1, 75, 76,
+ 77, 78, 79, -1, -1, 82, 83, 84, 85, 86,
+ 87, 88, 89, -1, -1, -1, 93, -1, -1, -1,
+ 97, 98, -1, -1, -1, -1, 103, -1, 105, -1,
+ 107, 4, 5, 6, 7, 8, 9, 10, 11, 12,
13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
33, 34, 35, 36, 37, -1, 39, 40, 41, 42,
@@ -1608,17 +1670,17 @@ static const yytype_int16 yycheck[] =
67, 68, 69, 70, 71, 72, 73, -1, 75, 76,
77, 78, 79, -1, -1, 82, 83, 84, 85, 86,
87, 88, 89, -1, -1, -1, 93, 94, 95, 96,
- 97, 98, 99, 100, -1, -1, 103, -1, 105, 4,
+ 97, 98, 99, 100, -1, 102, 103, -1, 105, 4,
5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
- -1, -1, -1, -1, -1, -1, 51, -1, 53, 54,
- -1, -1, -1, 58, 59, 60, 61, 62, 63, 64,
- 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, 87, 88, 89, -1, -1, -1, 93, -1,
- -1, -1, 97, 98, -1, -1, -1, -1, 103, -1,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, -1,
+ 75, 76, 77, 78, 79, -1, -1, 82, 83, 84,
+ 85, 86, 87, 88, 89, -1, -1, -1, 93, 94,
+ 95, 96, 97, 98, 99, 100, -1, -1, 103, -1,
105, 4, 5, 6, 7, 8, 9, 10, 11, 12,
13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
@@ -1626,9 +1688,9 @@ static const yytype_int16 yycheck[] =
43, 44, -1, -1, -1, -1, -1, -1, 51, -1,
53, 54, -1, -1, -1, 58, 59, 60, 61, 62,
63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
- 73, -1, 75, 76, 77, 78, 79, -1, -1, 82,
+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
83, 84, 85, 86, 87, 88, 89, -1, -1, -1,
- 93, -1, -1, -1, 97, 98, -1, -1, 101, -1,
+ 93, -1, -1, -1, 97, 98, -1, -1, -1, -1,
103, -1, 105, 4, 5, 6, 7, 8, 9, 10,
11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
@@ -1771,45 +1833,8 @@ static const yytype_int16 yycheck[] =
65, 66, 67, 68, 69, 70, 71, 72, 73, -1,
75, 76, 77, 78, 79, -1, -1, 82, 83, 84,
85, 86, 87, 88, 89, -1, -1, -1, 93, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 103, 6,
- 105, -1, 9, 10, 11, 12, 13, 14, 15, 16,
- 17, -1, 19, 20, 21, 22, 23, 24, 25, 26,
- 27, 28, 29, 30, 31, 32, 33, 34, 35, -1,
- 37, 38, 39, 40, 41, 42, 43, 44, -1, -1,
- -1, -1, -1, -1, -1, -1, 53, 54, -1, -1,
- -1, 58, 59, 60, 61, 62, 63, 64, 65, 66,
- 67, 68, 69, 70, 71, 72, 73, -1, 75, 76,
- 77, 78, 79, -1, -1, 82, 83, 84, 85, 86,
- 87, 88, -1, 90, -1, -1, 93, -1, -1, -1,
- -1, 6, -1, -1, 101, 10, 11, 12, 13, 14,
- 15, 16, 17, -1, 19, 20, 21, 22, 23, 24,
- 25, 26, -1, 28, 29, 30, 31, 32, 33, 34,
- 35, -1, 37, 38, 39, 40, -1, 42, 43, 44,
- -1, -1, -1, -1, -1, -1, -1, -1, 53, 54,
- -1, -1, -1, 58, 59, 60, 61, 62, 63, 64,
- 65, 66, 67, 68, 69, 70, 71, 72, 73, -1,
- 75, 76, 77, 78, 79, -1, -1, 82, 83, 84,
- 85, 86, 87, -1, -1, 90, -1, -1, 93, -1,
- -1, -1, -1, 6, -1, -1, 101, 10, 11, 12,
- 13, 14, 15, 16, 17, -1, 19, 20, 21, 22,
- 23, 24, 25, 26, -1, 28, 29, 30, 31, 32,
- 33, 34, 35, -1, 37, 38, 39, 40, -1, 42,
- 43, 44, -1, -1, -1, -1, -1, -1, -1, -1,
- 53, 54, -1, -1, -1, 58, 59, 60, 61, 62,
- 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
- 73, -1, 75, 76, 77, 78, 79, -1, -1, 82,
- 83, 84, 85, 86, 87, -1, -1, 90, -1, -1,
- 93, -1, -1, -1, -1, 6, -1, -1, 101, 10,
- 11, 12, 13, 14, 15, 16, 17, -1, 19, 20,
- 21, 22, 23, 24, 25, 26, -1, 28, 29, 30,
- 31, 32, 33, 34, 35, -1, 37, 38, 39, 40,
- -1, 42, 43, 44, -1, -1, -1, -1, -1, -1,
- -1, -1, 53, 54, -1, -1, -1, 58, 59, 60,
- 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
- 71, 72, 73, -1, 75, 76, 77, 78, 79, -1,
- -1, 82, 83, 84, 85, 86, 87, -1, -1, 90,
- -1, -1, 93, -1, -1, -1, -1, 6, -1, -1,
- 101, 10, 11, 12, 13, 14, 15, 16, 17, -1,
+ -1, -1, 1, -1, -1, -1, -1, 6, 103, -1,
+ 105, 10, 11, 12, 13, 14, 15, 16, 17, -1,
19, 20, 21, 22, 23, 24, 25, 26, -1, 28,
29, 30, 31, 32, 33, 34, 35, -1, 37, 38,
39, 40, -1, 42, 43, 44, -1, -1, -1, -1,
@@ -1817,130 +1842,162 @@ static const yytype_int16 yycheck[] =
59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
69, 70, 71, 72, 73, -1, 75, 76, 77, 78,
79, -1, -1, 82, 83, 84, 85, 86, 87, -1,
- -1, 90, -1, -1, 93, -1, -1, -1, -1, 6,
- -1, -1, 101, 10, 11, 12, 13, 14, 15, 16,
- 17, -1, 19, 20, 21, 22, 23, 24, 25, 26,
- -1, 28, 29, 30, 31, 32, 33, 34, 35, -1,
- 37, 38, 39, 40, -1, 42, 43, 44, -1, -1,
- -1, -1, -1, -1, -1, -1, 53, 54, -1, -1,
- -1, 58, 59, 60, 61, 62, 63, 64, 65, 66,
- 67, 68, 69, 70, 71, 72, 73, -1, 75, 76,
- 77, 78, 79, -1, -1, 82, 83, 84, 85, 86,
- 87, -1, -1, -1, -1, -1, 93, -1, -1, -1,
- -1, -1, 6, -1, 101, 9, 10, 11, 12, 13,
- 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
- 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
- 34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
- 44, -1, -1, -1, -1, -1, -1, -1, -1, 53,
- 54, -1, -1, -1, 58, 59, 60, 61, 62, 63,
- 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
- -1, 75, 76, 77, 78, 79, -1, -1, 82, 83,
- 84, 85, 86, 87, 88, 89, -1, 6, -1, 93,
- 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
- 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
- 29, 30, 31, 32, 33, 34, 35, 36, 37, -1,
- 39, 40, 41, 42, 43, 44, -1, -1, -1, -1,
- -1, -1, -1, -1, 53, 54, -1, -1, -1, 58,
- 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
- 69, 70, 71, 72, 73, -1, 75, 76, 77, 78,
- 79, -1, -1, 82, 83, 84, 85, 86, 87, 88,
- 89, -1, 6, -1, 93, 9, 10, 11, 12, 13,
- 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
- 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
- 34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
+ -1, 90, -1, -1, 93, -1, -1, -1, -1, -1,
+ 6, -1, 101, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, -1, 19, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ -1, 37, 38, 39, 40, 41, 42, 43, 44, -1,
+ -1, -1, -1, -1, -1, -1, -1, 53, 54, -1,
+ -1, -1, 58, 59, 60, 61, 62, 63, 64, 65,
+ 66, 67, 68, 69, 70, 71, 72, 73, -1, 75,
+ 76, 77, 78, 79, -1, -1, 82, 83, 84, 85,
+ 86, 87, 88, -1, 90, -1, -1, 93, -1, -1,
+ -1, -1, 6, -1, -1, 101, 10, 11, 12, 13,
+ 14, 15, 16, 17, -1, 19, 20, 21, 22, 23,
+ 24, 25, 26, -1, 28, 29, 30, 31, 32, 33,
+ 34, 35, -1, 37, 38, 39, 40, -1, 42, 43,
44, -1, -1, -1, -1, -1, -1, -1, -1, 53,
54, -1, -1, -1, 58, 59, 60, 61, 62, 63,
64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
-1, 75, 76, 77, 78, 79, -1, -1, 82, 83,
- 84, 85, 86, 87, 88, 89, -1, 6, -1, 93,
- 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
- 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
- 29, 30, 31, 32, 33, 34, 35, 36, 37, -1,
- 39, 40, 41, 42, 43, 44, -1, -1, -1, -1,
- -1, -1, -1, -1, 53, 54, -1, -1, -1, 58,
- 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
- 69, 70, 71, 72, 73, -1, 75, 76, 77, 78,
- 79, -1, -1, 82, 83, 84, 85, 86, 87, 88,
- 89, 6, -1, -1, 93, 10, 11, 12, 13, 14,
- 15, 16, 17, -1, 19, 20, 21, 22, 23, -1,
- 25, 26, -1, 28, 29, 30, 31, 32, 33, 34,
- 35, -1, 37, -1, 39, 40, -1, 42, 43, 44,
+ 84, 85, 86, 87, -1, -1, 90, -1, -1, 93,
+ -1, -1, -1, -1, 6, -1, -1, 101, 10, 11,
+ 12, 13, 14, 15, 16, 17, -1, 19, 20, 21,
+ 22, 23, 24, 25, 26, -1, 28, 29, 30, 31,
+ 32, 33, 34, 35, -1, 37, 38, 39, 40, -1,
+ 42, 43, 44, -1, -1, -1, -1, -1, -1, -1,
+ -1, 53, 54, -1, -1, -1, 58, 59, 60, 61,
+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, -1, 75, 76, 77, 78, 79, -1, -1,
+ 82, 83, 84, 85, 86, 87, -1, -1, 90, -1,
+ -1, 93, -1, -1, -1, -1, 6, -1, -1, 101,
+ 10, 11, 12, 13, 14, 15, 16, 17, -1, 19,
+ 20, 21, 22, 23, 24, 25, 26, -1, 28, 29,
+ 30, 31, 32, 33, 34, 35, -1, 37, 38, 39,
+ 40, -1, 42, 43, 44, -1, -1, -1, -1, -1,
+ -1, -1, -1, 53, 54, -1, -1, -1, 58, 59,
+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, -1, 75, 76, 77, 78, 79,
+ -1, -1, 82, 83, 84, 85, 86, 87, -1, -1,
+ 90, -1, -1, 93, -1, -1, -1, -1, 6, -1,
+ -1, 101, 10, 11, 12, 13, 14, 15, 16, 17,
+ -1, 19, 20, 21, 22, 23, 24, 25, 26, -1,
+ 28, 29, 30, 31, 32, 33, 34, 35, -1, 37,
+ 38, 39, 40, -1, 42, 43, 44, -1, -1, -1,
+ -1, -1, -1, -1, -1, 53, 54, -1, -1, -1,
+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
+ 68, 69, 70, 71, 72, 73, -1, 75, 76, 77,
+ 78, 79, -1, -1, 82, 83, 84, 85, 86, 87,
+ -1, -1, -1, -1, -1, 93, -1, -1, -1, -1,
+ -1, 6, -1, 101, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
+ 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
-1, -1, -1, -1, -1, -1, -1, -1, 53, 54,
-1, -1, -1, 58, 59, 60, 61, 62, 63, 64,
65, 66, 67, 68, 69, 70, 71, 72, 73, -1,
- 75, 76, 77, 78, 79, 31, -1, 82, 83, 84,
- 85, 37, 87, -1, -1, -1, -1, -1, 93, 45,
- 46, 47, 48, 49, 50, -1, 52, 31, -1, 55,
- 56, 57, -1, 37, -1, -1, -1, -1, -1, -1,
- 31, 45, 46, 47, 48, 49, 50, -1, 52, -1,
- -1, 55, 56, 57, 45, 46, 47, 48, 49, 50,
- -1, 52, 31, -1, 55, 56, 57, -1, 94, 95,
- 96, 97, 98, 99, 100, -1, 45, 46, 47, 48,
- 49, 50, -1, 52, -1, -1, 55, 56, 57, -1,
- 94, 95, 96, 97, 98, 99, 100, 31, -1, -1,
- -1, -1, -1, 94, 95, 96, 97, 98, 99, 100,
- -1, 45, 46, 47, 48, 49, 50, -1, 52, 31,
- -1, 55, 56, 57, -1, 94, 95, 96, 97, 98,
- 99, 100, 31, 45, 46, 47, 48, 49, 50, -1,
- 52, -1, -1, 55, 56, 57, 45, 46, -1, 48,
- 49, 50, -1, 52, -1, -1, 55, 56, 57, 37,
- 94, 95, 96, 97, 98, 99, 100, 45, 46, 47,
- 48, 49, 50, -1, 52, -1, -1, 55, 56, 57,
- -1, -1, 94, 95, 96, 97, 98, 99, 100, -1,
- -1, -1, -1, 36, -1, 94, 95, 96, 97, 98,
- 99, 100, 45, 46, 47, 48, 49, 50, -1, 52,
- -1, -1, 55, 56, 57, -1, 94, 95, 96, 97,
- 98, 99, 100, 101, 45, 46, 47, 48, 49, 50,
- -1, 52, -1, -1, 55, 56, 57, 45, 46, 47,
- 48, 49, 50, -1, 52, -1, -1, 55, 56, 57,
- -1, 94, 95, 96, 97, 98, 99, 100, 45, 46,
- 47, 48, 49, 50, -1, 52, -1, -1, 55, 56,
- 57, -1, -1, 94, 95, 96, 97, 98, 99, 100,
- -1, 102, -1, 104, -1, -1, 94, 95, 96, 97,
- 98, 99, 100, -1, 102, -1, 104, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 94, 95, 96,
- 97, 98, 99, 100, -1, -1, -1, 104, 45, 46,
+ 75, 76, 77, 78, 79, -1, -1, 82, 83, 84,
+ 85, 86, 87, 88, 89, -1, 6, -1, 93, 9,
+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 36, 37, -1, 39,
+ 40, 41, 42, 43, 44, -1, -1, -1, -1, -1,
+ -1, -1, -1, 53, 54, -1, -1, -1, 58, 59,
+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, -1, 75, 76, 77, 78, 79,
+ -1, -1, 82, 83, 84, 85, 86, 87, 88, 89,
+ -1, 6, -1, 93, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
+ 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
+ -1, -1, -1, -1, -1, -1, -1, -1, 53, 54,
+ -1, -1, -1, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, -1,
+ 75, 76, 77, 78, 79, -1, -1, 82, 83, 84,
+ 85, 86, 87, 88, 89, -1, 6, -1, 93, 9,
+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 36, 37, -1, 39,
+ 40, 41, 42, 43, 44, -1, -1, -1, -1, -1,
+ -1, -1, -1, 53, 54, -1, -1, -1, 58, 59,
+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, -1, 75, 76, 77, 78, 79,
+ -1, -1, 82, 83, 84, 85, 86, 87, 88, 89,
+ 6, -1, -1, 93, 10, 11, 12, 13, 14, 15,
+ 16, 17, -1, 19, 20, 21, 22, 23, -1, 25,
+ 26, -1, 28, 29, 30, 31, 32, 33, 34, 35,
+ -1, 37, -1, 39, 40, -1, 42, 43, 44, -1,
+ -1, -1, -1, -1, -1, -1, -1, 53, 54, -1,
+ -1, -1, 58, 59, 60, 61, 62, 63, 64, 65,
+ 66, 67, 68, 69, 70, 71, 72, 73, 17, 75,
+ 76, 77, 78, 79, -1, -1, 82, 83, 84, 85,
+ -1, 87, 45, 46, 47, 48, -1, 93, 37, 52,
+ -1, -1, 55, 56, 57, -1, 45, 46, 47, 48,
+ 49, 50, -1, 52, 31, -1, 55, 56, 57, -1,
+ 37, -1, -1, -1, -1, -1, -1, -1, 45, 46,
47, 48, 49, 50, -1, 52, -1, -1, 55, 56,
- 57, 45, 46, 47, 48, 49, 50, -1, 52, -1,
- -1, 55, 56, 57, 45, 46, 47, 48, 49, 50,
+ 57, 94, 95, 96, 97, 98, 99, 100, 31, -1,
+ -1, -1, -1, -1, 37, 94, 95, 96, 97, 98,
+ 99, 100, 45, 46, 47, 48, 49, 50, -1, 52,
+ 31, -1, 55, 56, 57, -1, 37, 94, 95, 96,
+ 97, 98, 99, 100, 45, 46, 47, 48, 49, 50,
-1, 52, -1, -1, 55, 56, 57, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 94, 95, 96,
- 97, 98, 99, 100, -1, 102, -1, -1, -1, -1,
- 94, 95, 96, 97, 98, 99, 100, -1, 102, -1,
+ -1, -1, -1, -1, 31, -1, -1, -1, -1, -1,
+ 37, 94, 95, 96, 97, 98, 99, 100, 45, 46,
+ 47, 48, 49, 50, -1, 52, 31, -1, 55, 56,
+ 57, -1, -1, 94, 95, 96, 97, 98, 99, 100,
+ 45, 46, 47, 48, 49, 50, -1, 52, -1, -1,
+ 55, 56, 57, -1, -1, -1, -1, -1, -1, -1,
+ 31, -1, -1, -1, -1, -1, -1, 94, 95, 96,
+ 97, 98, 99, 100, 45, 46, 47, 48, 49, 50,
+ -1, 52, 31, -1, 55, 56, 57, -1, -1, 94,
+ 95, 96, 97, 98, 99, 100, 45, 46, 47, 48,
+ 49, 50, -1, 52, -1, -1, 55, 56, 57, -1,
+ -1, -1, -1, -1, -1, -1, 31, -1, -1, -1,
-1, -1, -1, 94, 95, 96, 97, 98, 99, 100,
- -1, 102, 45, 46, 47, 48, 49, 50, -1, 52,
+ 45, 46, 47, 48, 49, 50, -1, 52, -1, -1,
+ 55, 56, 57, 36, -1, 94, 95, 96, 97, 98,
+ 99, 100, 45, 46, 47, 48, 49, 50, -1, 52,
-1, -1, 55, 56, 57, 45, 46, 47, 48, 49,
- 50, -1, 52, -1, -1, 55, 56, 57, 45, 46,
- 47, 48, 49, 50, -1, 52, -1, -1, 55, 56,
- 57, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 94, 95, 96, 97, 98, 99, 100, 101, -1,
- -1, -1, -1, -1, 94, 95, 96, 97, 98, 99,
- 100, 101, -1, -1, -1, -1, -1, 94, 95, 96,
- 97, 98, 99, 100, 101, 45, 46, 47, 48, 49,
- 50, -1, 52, -1, -1, 55, 56, 57, 45, 46,
- 47, 48, 49, 50, -1, 52, -1, -1, 55, 56,
- 57, 45, 46, 47, 48, 49, 50, -1, 52, -1,
- -1, 55, 56, 57, -1, -1, -1, -1, -1, -1,
+ 50, -1, 52, -1, -1, 55, 56, 57, -1, 94,
+ 95, 96, 97, 98, 99, 100, 45, 46, 47, 48,
+ 49, 50, -1, 52, -1, -1, 55, 56, 57, -1,
+ -1, 94, 95, 96, 97, 98, 99, 100, -1, -1,
-1, -1, -1, -1, 94, 95, 96, 97, 98, 99,
- 100, 101, -1, -1, -1, -1, -1, 94, 95, 96,
- 97, 98, 99, 100, 101, -1, -1, -1, -1, -1,
- 94, 95, 96, 97, 98, 99, 100, 101, 45, 46,
- 47, 48, 49, 50, -1, 52, -1, -1, 55, 56,
- 57, -1, -1, -1, -1, -1, 45, 46, 47, 48,
+ 100, -1, 102, -1, 104, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 94, 95, 96, 97, 98,
+ 99, 100, -1, 102, -1, 104, 45, 46, 47, 48,
49, 50, -1, 52, -1, -1, 55, 56, 57, 45,
46, 47, 48, 49, 50, -1, 52, -1, -1, 55,
- 56, 57, -1, -1, -1, -1, -1, 94, 95, 96,
- 97, 98, 99, 100, 101, 84, 85, -1, -1, -1,
+ 56, 57, 45, 46, 47, 48, 49, 50, -1, 52,
+ -1, -1, 55, 56, 57, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 94, 95, 96, 97, 98,
- 99, 100, -1, -1, -1, -1, -1, -1, 94, 95,
- 96, 97, 98, 99, 100, 45, 46, 47, 48, 49,
- 50, -1, 52, -1, -1, 55, 56, 57, 45, 46,
- -1, 48, -1, -1, -1, 52, -1, -1, 55, 56,
- 57, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 99, 100, -1, -1, -1, 104, -1, -1, 94, 95,
+ 96, 97, 98, 99, 100, -1, 102, -1, -1, -1,
+ -1, 94, 95, 96, 97, 98, 99, 100, -1, 102,
+ 45, 46, 47, 48, 49, 50, -1, 52, -1, -1,
+ 55, 56, 57, 45, 46, 47, 48, 49, 50, -1,
+ 52, -1, -1, 55, 56, 57, -1, -1, -1, -1,
+ -1, 45, 46, 47, 48, 49, 50, -1, 52, -1,
+ -1, 55, 56, 57, -1, -1, -1, -1, -1, 94,
+ 95, 96, 97, 98, 99, 100, -1, 102, -1, -1,
+ -1, -1, 94, 95, 96, 97, 98, 99, 100, 101,
+ 84, 85, -1, -1, -1, -1, -1, -1, -1, -1,
+ 94, 95, 96, 97, 98, 99, 100, 45, 46, 47,
+ 48, 49, 50, -1, 52, -1, -1, 55, 56, 57,
+ 45, 46, 47, 48, 49, 50, -1, 52, -1, -1,
+ 55, 56, 57, 45, 46, -1, 48, 49, 50, -1,
+ 52, -1, -1, 55, 56, 57, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 94, 95, 96, 97,
+ 98, 99, 100, -1, -1, -1, -1, -1, -1, 94,
+ 95, 96, 97, 98, 99, 100, -1, -1, -1, -1,
+ -1, -1, 94, 95, 96, 97, 98, 99, 100, 45,
+ 46, -1, 48, -1, -1, -1, 52, -1, -1, 55,
+ 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 94, 95, 96, 97, 98, 99,
- 100, -1, -1, -1, -1, -1, -1, 94, 95, 96,
- 97, 98, 99, 100
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 94, 95,
+ 96, 97, 98, 99, 100
};
/* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of
@@ -1959,136 +2016,151 @@ static const yytype_uint8 yystos[] =
19, 21, 22, 23, 24, 27, 28, 30, 33, 34,
35, 36, 41, 42, 43, 44, 86, 87, 88, 89,
93, 119, 120, 121, 10, 11, 14, 15, 58, 60,
- 62, 64, 78, 150, 34, 101, 121, 122, 123, 4,
- 5, 7, 8, 10, 11, 12, 13, 14, 15, 20,
- 29, 51, 58, 60, 62, 64, 78, 83, 97, 98,
- 103, 105, 121, 128, 130, 146, 147, 150, 152, 154,
- 157, 158, 162, 165, 166, 167, 170, 150, 103, 167,
- 121, 101, 167, 34, 128, 167, 39, 40, 78, 121,
- 147, 149, 160, 101, 121, 128, 167, 128, 130, 122,
- 167, 122, 121, 101, 126, 0, 111, 128, 167, 101,
- 102, 103, 153, 166, 153, 153, 153, 167, 167, 167,
- 167, 72, 101, 101, 101, 102, 153, 153, 167, 167,
- 166, 66, 67, 68, 69, 70, 72, 77, 121, 167,
- 166, 166, 104, 147, 167, 4, 5, 7, 8, 107,
- 121, 163, 164, 167, 171, 172, 103, 101, 101, 31,
- 45, 46, 47, 48, 49, 50, 52, 55, 56, 57,
- 94, 95, 96, 97, 98, 99, 100, 102, 129, 146,
- 168, 170, 101, 167, 36, 122, 101, 101, 101, 26,
- 53, 54, 121, 167, 121, 37, 47, 132, 101, 101,
- 39, 101, 101, 101, 37, 101, 101, 122, 101, 121,
- 104, 167, 31, 37, 31, 37, 31, 37, 31, 37,
- 58, 60, 62, 64, 151, 121, 31, 168, 71, 79,
- 71, 79, 71, 79, 71, 79, 71, 79, 31, 31,
- 84, 85, 168, 102, 104, 107, 107, 107, 107, 106,
- 107, 102, 106, 106, 102, 104, 147, 172, 29, 167,
+ 62, 64, 78, 150, 1, 34, 101, 121, 122, 123,
+ 4, 5, 7, 8, 10, 11, 12, 13, 14, 15,
+ 20, 29, 51, 58, 60, 62, 64, 78, 83, 97,
+ 98, 103, 105, 121, 128, 130, 146, 147, 150, 152,
+ 154, 157, 158, 162, 165, 166, 167, 170, 150, 103,
+ 167, 121, 1, 101, 167, 34, 128, 167, 39, 40,
+ 78, 121, 147, 149, 160, 101, 121, 128, 167, 128,
+ 130, 122, 167, 122, 121, 101, 126, 0, 111, 128,
+ 167, 101, 102, 103, 153, 166, 153, 153, 153, 167,
+ 167, 167, 167, 72, 1, 101, 101, 1, 101, 1,
+ 101, 102, 153, 153, 167, 167, 166, 66, 67, 68,
+ 69, 70, 72, 77, 121, 167, 166, 166, 104, 147,
+ 167, 4, 5, 7, 8, 107, 121, 163, 164, 167,
+ 171, 172, 103, 1, 101, 1, 101, 31, 45, 46,
+ 47, 48, 49, 50, 52, 55, 56, 57, 94, 95,
+ 96, 97, 98, 99, 100, 102, 129, 146, 168, 170,
+ 1, 101, 167, 36, 122, 101, 1, 101, 1, 101,
+ 1, 101, 26, 53, 54, 121, 167, 121, 37, 47,
+ 132, 1, 101, 1, 101, 39, 1, 101, 1, 101,
+ 1, 101, 1, 37, 101, 1, 101, 122, 1, 101,
+ 121, 104, 167, 31, 37, 31, 37, 31, 37, 31,
+ 37, 58, 60, 62, 64, 151, 101, 101, 101, 121,
+ 31, 168, 71, 79, 71, 79, 71, 79, 71, 79,
+ 71, 79, 31, 31, 84, 85, 168, 102, 104, 107,
+ 107, 107, 107, 106, 107, 102, 106, 106, 102, 104,
+ 147, 172, 101, 101, 29, 167, 167, 167, 167, 167,
167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
- 167, 167, 167, 167, 167, 167, 172, 45, 46, 47,
- 48, 49, 50, 52, 55, 56, 57, 94, 95, 96,
- 97, 98, 99, 100, 102, 129, 101, 124, 101, 78,
- 147, 148, 150, 148, 148, 25, 47, 101, 31, 167,
- 9, 89, 101, 114, 115, 116, 117, 167, 126, 101,
- 124, 140, 141, 142, 101, 102, 166, 167, 166, 167,
- 166, 167, 166, 167, 25, 31, 159, 29, 59, 61,
- 63, 65, 73, 74, 75, 76, 80, 81, 82, 83,
- 155, 156, 166, 155, 166, 166, 102, 129, 104, 172,
- 167, 167, 167, 167, 167, 164, 167, 167, 168, 102,
- 129, 167, 129, 167, 167, 167, 167, 167, 167, 167,
+ 167, 167, 172, 45, 46, 47, 48, 49, 50, 52,
+ 55, 56, 57, 94, 95, 96, 97, 98, 99, 100,
+ 102, 129, 101, 1, 101, 124, 1, 101, 101, 101,
+ 101, 78, 147, 148, 150, 148, 148, 25, 47, 1,
+ 101, 31, 167, 101, 9, 89, 101, 114, 115, 116,
+ 117, 101, 167, 101, 101, 101, 101, 126, 101, 124,
+ 140, 141, 142, 101, 1, 101, 101, 102, 166, 167,
+ 166, 167, 166, 167, 166, 167, 25, 31, 159, 29,
+ 59, 61, 63, 65, 73, 74, 75, 76, 80, 81,
+ 82, 83, 155, 156, 166, 155, 166, 166, 102, 129,
+ 104, 172, 167, 167, 167, 167, 167, 164, 167, 167,
+ 168, 102, 129, 167, 129, 167, 167, 167, 167, 167,
167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
- 172, 101, 125, 143, 144, 145, 18, 140, 101, 101,
- 101, 167, 167, 140, 73, 75, 82, 83, 161, 166,
- 101, 119, 121, 117, 101, 92, 142, 140, 104, 172,
- 31, 31, 31, 31, 166, 167, 159, 159, 159, 159,
- 166, 166, 159, 166, 166, 172, 104, 129, 102, 129,
- 104, 129, 18, 90, 136, 145, 101, 124, 101, 17,
- 37, 91, 166, 169, 170, 169, 169, 169, 101, 122,
- 101, 9, 129, 166, 166, 166, 166, 166, 166, 166,
- 166, 31, 73, 156, 129, 104, 172, 104, 101, 124,
- 101, 143, 140, 37, 167, 101, 45, 46, 48, 49,
- 50, 52, 55, 56, 57, 94, 95, 96, 97, 98,
- 99, 100, 31, 101, 119, 104, 73, 104, 129, 143,
- 136, 91, 167, 101, 169, 169, 169, 169, 169, 169,
+ 167, 167, 172, 101, 101, 125, 143, 144, 145, 18,
+ 101, 140, 1, 101, 1, 101, 1, 101, 167, 167,
+ 101, 140, 73, 75, 82, 83, 161, 166, 1, 101,
+ 115, 119, 121, 117, 101, 140, 92, 142, 101, 140,
+ 104, 172, 31, 31, 31, 31, 166, 167, 159, 159,
+ 159, 159, 166, 166, 159, 166, 166, 172, 104, 129,
+ 102, 129, 104, 129, 143, 18, 90, 136, 145, 101,
+ 124, 140, 101, 101, 101, 1, 101, 17, 37, 140,
+ 91, 166, 169, 170, 169, 169, 169, 101, 101, 122,
+ 92, 101, 140, 9, 129, 166, 166, 166, 166, 166,
+ 166, 166, 166, 31, 73, 156, 129, 104, 172, 104,
+ 136, 101, 124, 101, 143, 101, 140, 37, 167, 91,
+ 101, 45, 46, 48, 49, 50, 52, 55, 56, 57,
+ 94, 95, 96, 97, 98, 99, 100, 31, 1, 101,
+ 101, 9, 119, 104, 73, 104, 129, 143, 136, 140,
+ 91, 167, 1, 101, 101, 169, 169, 169, 169, 169,
169, 169, 169, 169, 169, 169, 169, 169, 169, 169,
- 73, 140, 101, 166, 104, 136, 101, 101, 140, 169,
- 140, 91, 91, 101, 101
+ 169, 73, 101, 140, 119, 101, 166, 104, 136, 91,
+ 101, 1, 101, 101, 140, 169, 140, 101, 101, 101,
+ 140, 140, 91, 140, 91, 91, 101, 91, 101, 101,
+ 101
};
/* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */
static const yytype_uint8 yyr1[] =
{
0, 108, 109, 110, 110, 111, 111, 111, 111, 111,
- 111, 112, 113, 114, 115, 115, 116, 116, 117, 117,
- 117, 118, 118, 119, 119, 119, 120, 120, 120, 120,
+ 111, 112, 112, 113, 113, 114, 114, 115, 115, 116,
+ 116, 117, 117, 117, 118, 118, 118, 118, 119, 119,
+ 119, 120, 120, 120, 120, 120, 120, 120, 120, 120,
120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
- 120, 120, 120, 120, 120, 121, 121, 121, 121, 121,
121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
- 121, 121, 121, 121, 121, 122, 122, 122, 123, 123,
- 124, 124, 125, 125, 125, 125, 125, 125, 126, 126,
- 126, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 129, 129, 130,
- 130, 130, 130, 130, 131, 131, 131, 131, 132, 132,
- 133, 133, 133, 134, 134, 135, 135, 135, 135, 136,
- 136, 137, 137, 137, 137, 138, 138, 139, 140, 140,
- 141, 141, 142, 142, 143, 143, 144, 144, 145, 145,
- 146, 146, 146, 146, 146, 146, 146, 146, 146, 146,
- 146, 146, 146, 146, 146, 147, 148, 148, 149, 149,
- 150, 150, 150, 150, 150, 150, 150, 150, 150, 150,
- 150, 150, 150, 151, 151, 151, 151, 152, 152, 153,
- 153, 153, 153, 154, 154, 154, 154, 154, 155, 155,
- 155, 155, 155, 156, 157, 157, 157, 157, 157, 157,
- 157, 157, 157, 157, 158, 158, 158, 158, 158, 158,
- 158, 158, 159, 159, 160, 160, 161, 161, 161, 161,
- 161, 162, 162, 162, 163, 163, 163, 164, 164, 164,
- 164, 164, 165, 165, 166, 166, 167, 167, 167, 167,
+ 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
+ 122, 122, 122, 123, 123, 124, 124, 125, 125, 125,
+ 125, 125, 125, 126, 126, 126, 127, 127, 127, 127,
+ 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
+ 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
+ 127, 127, 127, 127, 127, 127, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 129, 129, 130, 130,
+ 130, 130, 130, 131, 131, 131, 131, 131, 131, 131,
+ 131, 132, 132, 133, 133, 133, 133, 133, 133, 134,
+ 134, 134, 135, 135, 135, 135, 136, 136, 137, 137,
+ 137, 137, 137, 137, 137, 137, 138, 138, 138, 139,
+ 140, 140, 141, 141, 142, 142, 143, 143, 144, 144,
+ 145, 145, 146, 146, 146, 146, 146, 146, 146, 146,
+ 146, 146, 146, 146, 146, 146, 146, 147, 148, 148,
+ 149, 149, 150, 150, 150, 150, 150, 150, 150, 150,
+ 150, 150, 150, 150, 150, 151, 151, 151, 151, 152,
+ 152, 153, 153, 153, 153, 154, 154, 154, 154, 154,
+ 155, 155, 155, 155, 155, 156, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 158, 158, 158, 158,
+ 158, 158, 158, 158, 159, 159, 160, 160, 161, 161,
+ 161, 161, 161, 162, 162, 162, 163, 163, 163, 164,
+ 164, 164, 164, 164, 165, 165, 166, 166, 167, 167,
167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
- 167, 167, 167, 167, 167, 168, 168, 168, 168, 168,
+ 167, 167, 167, 167, 167, 167, 167, 168, 168, 168,
168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
- 168, 168, 168, 168, 169, 169, 169, 169, 169, 169,
+ 168, 168, 168, 168, 168, 168, 169, 169, 169, 169,
169, 169, 169, 169, 169, 169, 169, 169, 169, 169,
- 169, 169, 170, 170, 171, 171, 172, 172
+ 169, 169, 169, 169, 170, 170, 171, 171, 172, 172
};
/* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */
static const yytype_int8 yyr2[] =
{
0, 2, 1, 1, 2, 1, 1, 1, 1, 1,
- 3, 5, 4, 5, 0, 1, 1, 2, 1, 1,
- 3, 8, 5, 0, 1, 3, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 3, 5, 6, 4, 5, 5, 6, 0, 1, 1,
+ 2, 1, 1, 3, 8, 9, 5, 6, 0, 1,
+ 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 0, 1, 2, 1, 3,
- 1, 2, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 3, 3, 3, 3, 3, 3, 3, 5, 3,
- 3, 2, 2, 3, 3, 3, 2, 0, 2, 4,
- 3, 5, 2, 4, 6, 5, 7, 0, 1, 2,
- 2, 5, 4, 3, 5, 5, 5, 5, 1, 1,
- 3, 3, 3, 4, 6, 6, 8, 7, 9, 0,
- 2, 7, 11, 12, 9, 4, 6, 2, 0, 1,
- 1, 2, 1, 1, 0, 1, 1, 2, 1, 1,
- 1, 1, 1, 1, 2, 3, 5, 6, 8, 3,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 2, 2, 2, 2, 4, 6, 4, 6, 4, 6,
- 4, 6, 5, 1, 1, 1, 1, 2, 2, 1,
- 2, 4, 6, 2, 4, 4, 1, 1, 1, 1,
- 5, 2, 2, 2, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 6, 6, 6, 6, 6, 4,
- 4, 4, 1, 1, 2, 4, 1, 2, 5, 2,
- 2, 3, 3, 3, 1, 3, 3, 3, 3, 3,
- 3, 3, 2, 2, 1, 1, 1, 1, 3, 3,
+ 0, 1, 2, 1, 3, 1, 2, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 3, 4, 3, 4,
+ 3, 4, 3, 4, 3, 4, 3, 4, 3, 4,
+ 5, 3, 4, 3, 4, 2, 3, 2, 3, 3,
+ 4, 3, 4, 3, 4, 2, 0, 2, 4, 3,
+ 5, 2, 4, 6, 5, 7, 0, 1, 2, 2,
+ 5, 4, 3, 5, 6, 5, 6, 5, 6, 5,
+ 6, 1, 1, 3, 4, 3, 4, 3, 4, 4,
+ 6, 7, 6, 8, 7, 9, 0, 2, 7, 8,
+ 11, 12, 12, 13, 9, 10, 4, 6, 7, 2,
+ 0, 1, 1, 2, 1, 1, 0, 1, 1, 2,
+ 1, 1, 1, 1, 1, 1, 2, 3, 5, 6,
+ 8, 3, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 2, 2, 2, 2, 4, 6, 4, 6,
+ 4, 6, 4, 6, 5, 1, 1, 1, 1, 2,
+ 2, 1, 2, 4, 6, 2, 4, 4, 1, 1,
+ 1, 1, 5, 2, 2, 2, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 6, 6, 6, 6,
+ 6, 4, 4, 4, 1, 1, 2, 4, 1, 2,
+ 5, 2, 2, 3, 3, 3, 1, 3, 3, 3,
+ 3, 3, 3, 3, 2, 2, 1, 1, 1, 1,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 1, 1, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 1, 1, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 1, 1, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 1, 1, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 4, 4, 0, 1, 1, 3
+ 3, 3, 3, 3, 4, 4, 0, 1, 1, 3
};
@@ -2354,285 +2426,285 @@ yydestruct (const char *yymsg,
switch (yykind)
{
case YYSYMBOL_tVARID: /* tVARID */
-#line 204 "engines/director/lingo/lingo-gr.y"
+#line 218 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 2360 "engines/director/lingo/lingo-gr.cpp"
+#line 2432 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_tSTRING: /* tSTRING */
-#line 204 "engines/director/lingo/lingo-gr.y"
+#line 218 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 2366 "engines/director/lingo/lingo-gr.cpp"
+#line 2438 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_tSYMBOL: /* tSYMBOL */
-#line 204 "engines/director/lingo/lingo-gr.y"
+#line 218 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 2372 "engines/director/lingo/lingo-gr.cpp"
+#line 2444 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_tENDCLAUSE: /* tENDCLAUSE */
-#line 204 "engines/director/lingo/lingo-gr.y"
+#line 218 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 2378 "engines/director/lingo/lingo-gr.cpp"
+#line 2450 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_script: /* script */
-#line 205 "engines/director/lingo/lingo-gr.y"
+#line 219 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).node); }
-#line 2384 "engines/director/lingo/lingo-gr.cpp"
+#line 2456 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_scriptpart: /* scriptpart */
-#line 205 "engines/director/lingo/lingo-gr.y"
+#line 219 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).node); }
-#line 2390 "engines/director/lingo/lingo-gr.cpp"
+#line 2462 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_macro: /* macro */
-#line 205 "engines/director/lingo/lingo-gr.y"
+#line 219 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).node); }
-#line 2396 "engines/director/lingo/lingo-gr.cpp"
+#line 2468 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_factory: /* factory */
-#line 205 "engines/director/lingo/lingo-gr.y"
+#line 219 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).node); }
-#line 2402 "engines/director/lingo/lingo-gr.cpp"
+#line 2474 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_method: /* method */
-#line 205 "engines/director/lingo/lingo-gr.y"
+#line 219 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).node); }
-#line 2408 "engines/director/lingo/lingo-gr.cpp"
+#line 2480 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_methodlistline: /* methodlistline */
-#line 205 "engines/director/lingo/lingo-gr.y"
+#line 219 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).node); }
-#line 2414 "engines/director/lingo/lingo-gr.cpp"
+#line 2486 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_handler: /* handler */
-#line 205 "engines/director/lingo/lingo-gr.y"
+#line 219 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).node); }
-#line 2420 "engines/director/lingo/lingo-gr.cpp"
+#line 2492 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_CMDID: /* CMDID */
-#line 204 "engines/director/lingo/lingo-gr.y"
+#line 218 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 2426 "engines/director/lingo/lingo-gr.cpp"
+#line 2498 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_ID: /* ID */
-#line 204 "engines/director/lingo/lingo-gr.y"
+#line 218 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 2432 "engines/director/lingo/lingo-gr.cpp"
+#line 2504 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_stmt: /* stmt */
-#line 205 "engines/director/lingo/lingo-gr.y"
+#line 219 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).node); }
-#line 2438 "engines/director/lingo/lingo-gr.cpp"
+#line 2510 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_stmt_insideif: /* stmt_insideif */
-#line 205 "engines/director/lingo/lingo-gr.y"
+#line 219 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).node); }
-#line 2444 "engines/director/lingo/lingo-gr.cpp"
+#line 2516 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_stmtoneliner: /* stmtoneliner */
-#line 205 "engines/director/lingo/lingo-gr.y"
+#line 219 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).node); }
-#line 2450 "engines/director/lingo/lingo-gr.cpp"
+#line 2522 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_proc: /* proc */
-#line 205 "engines/director/lingo/lingo-gr.y"
+#line 219 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).node); }
-#line 2456 "engines/director/lingo/lingo-gr.cpp"
+#line 2528 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_asgn: /* asgn */
-#line 205 "engines/director/lingo/lingo-gr.y"
+#line 219 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).node); }
-#line 2462 "engines/director/lingo/lingo-gr.cpp"
+#line 2534 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_definevars: /* definevars */
-#line 205 "engines/director/lingo/lingo-gr.y"
+#line 219 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).node); }
-#line 2468 "engines/director/lingo/lingo-gr.cpp"
+#line 2540 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_ifstmt: /* ifstmt */
-#line 205 "engines/director/lingo/lingo-gr.y"
+#line 219 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).node); }
-#line 2474 "engines/director/lingo/lingo-gr.cpp"
+#line 2546 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_ifelsestmt: /* ifelsestmt */
-#line 205 "engines/director/lingo/lingo-gr.y"
+#line 219 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).node); }
-#line 2480 "engines/director/lingo/lingo-gr.cpp"
+#line 2552 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_loop: /* loop */
-#line 205 "engines/director/lingo/lingo-gr.y"
+#line 219 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).node); }
-#line 2486 "engines/director/lingo/lingo-gr.cpp"
+#line 2558 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_tell: /* tell */
-#line 205 "engines/director/lingo/lingo-gr.y"
+#line 219 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).node); }
-#line 2492 "engines/director/lingo/lingo-gr.cpp"
+#line 2564 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_when: /* when */
-#line 205 "engines/director/lingo/lingo-gr.y"
+#line 219 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).node); }
-#line 2498 "engines/director/lingo/lingo-gr.cpp"
+#line 2570 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_stmtlistline: /* stmtlistline */
-#line 205 "engines/director/lingo/lingo-gr.y"
+#line 219 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).node); }
-#line 2504 "engines/director/lingo/lingo-gr.cpp"
+#line 2576 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_stmtlistline_insideif: /* stmtlistline_insideif */
-#line 205 "engines/director/lingo/lingo-gr.y"
+#line 219 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).node); }
-#line 2510 "engines/director/lingo/lingo-gr.cpp"
+#line 2582 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_simpleexpr_nounarymath: /* simpleexpr_nounarymath */
-#line 205 "engines/director/lingo/lingo-gr.y"
+#line 219 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).node); }
-#line 2516 "engines/director/lingo/lingo-gr.cpp"
+#line 2588 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_var: /* var */
-#line 205 "engines/director/lingo/lingo-gr.y"
+#line 219 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).node); }
-#line 2522 "engines/director/lingo/lingo-gr.cpp"
+#line 2594 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_varorchunk: /* varorchunk */
-#line 205 "engines/director/lingo/lingo-gr.y"
+#line 219 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).node); }
-#line 2528 "engines/director/lingo/lingo-gr.cpp"
+#line 2600 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_varorthe: /* varorthe */
-#line 205 "engines/director/lingo/lingo-gr.y"
+#line 219 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).node); }
-#line 2534 "engines/director/lingo/lingo-gr.cpp"
+#line 2606 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_chunk: /* chunk */
-#line 205 "engines/director/lingo/lingo-gr.y"
+#line 219 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).node); }
-#line 2540 "engines/director/lingo/lingo-gr.cpp"
+#line 2612 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_object: /* object */
-#line 205 "engines/director/lingo/lingo-gr.y"
+#line 219 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).node); }
-#line 2546 "engines/director/lingo/lingo-gr.cpp"
+#line 2618 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_the: /* the */
-#line 205 "engines/director/lingo/lingo-gr.y"
+#line 219 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).node); }
-#line 2552 "engines/director/lingo/lingo-gr.cpp"
+#line 2624 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_theobj: /* theobj */
-#line 205 "engines/director/lingo/lingo-gr.y"
+#line 219 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).node); }
-#line 2558 "engines/director/lingo/lingo-gr.cpp"
+#line 2630 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_menu: /* menu */
-#line 205 "engines/director/lingo/lingo-gr.y"
+#line 219 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).node); }
-#line 2564 "engines/director/lingo/lingo-gr.cpp"
+#line 2636 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_thedatetime: /* thedatetime */
-#line 205 "engines/director/lingo/lingo-gr.y"
+#line 219 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).node); }
-#line 2570 "engines/director/lingo/lingo-gr.cpp"
+#line 2642 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_thenumberof: /* thenumberof */
-#line 205 "engines/director/lingo/lingo-gr.y"
+#line 219 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).node); }
-#line 2576 "engines/director/lingo/lingo-gr.cpp"
+#line 2648 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_writablethe: /* writablethe */
-#line 205 "engines/director/lingo/lingo-gr.y"
+#line 219 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).node); }
-#line 2582 "engines/director/lingo/lingo-gr.cpp"
+#line 2654 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_writabletheobj: /* writabletheobj */
-#line 205 "engines/director/lingo/lingo-gr.y"
+#line 219 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).node); }
-#line 2588 "engines/director/lingo/lingo-gr.cpp"
+#line 2660 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_list: /* list */
-#line 205 "engines/director/lingo/lingo-gr.y"
+#line 219 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).node); }
-#line 2594 "engines/director/lingo/lingo-gr.cpp"
+#line 2666 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_proppair: /* proppair */
-#line 205 "engines/director/lingo/lingo-gr.y"
+#line 219 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).node); }
-#line 2600 "engines/director/lingo/lingo-gr.cpp"
+#line 2672 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_unarymath: /* unarymath */
-#line 205 "engines/director/lingo/lingo-gr.y"
+#line 219 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).node); }
-#line 2606 "engines/director/lingo/lingo-gr.cpp"
+#line 2678 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_simpleexpr: /* simpleexpr */
-#line 205 "engines/director/lingo/lingo-gr.y"
+#line 219 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).node); }
-#line 2612 "engines/director/lingo/lingo-gr.cpp"
+#line 2684 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_expr: /* expr */
-#line 205 "engines/director/lingo/lingo-gr.y"
+#line 219 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).node); }
-#line 2618 "engines/director/lingo/lingo-gr.cpp"
+#line 2690 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_expr_nounarymath: /* expr_nounarymath */
-#line 205 "engines/director/lingo/lingo-gr.y"
+#line 219 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).node); }
-#line 2624 "engines/director/lingo/lingo-gr.cpp"
+#line 2696 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_expr_noeq: /* expr_noeq */
-#line 205 "engines/director/lingo/lingo-gr.y"
+#line 219 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).node); }
-#line 2630 "engines/director/lingo/lingo-gr.cpp"
+#line 2702 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_sprite: /* sprite */
-#line 205 "engines/director/lingo/lingo-gr.y"
+#line 219 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).node); }
-#line 2636 "engines/director/lingo/lingo-gr.cpp"
+#line 2708 "engines/director/lingo/lingo-gr.cpp"
break;
default:
@@ -2900,906 +2972,1073 @@ yyreduce:
switch (yyn)
{
case 2: /* script: scriptpartlist */
-#line 211 "engines/director/lingo/lingo-gr.y"
+#line 225 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_compiler->_assemblyAST = Common::SharedPtr<Node>(new ScriptNode((yyvsp[0].nodelist))); (yyval.node) = nullptr; }
-#line 2906 "engines/director/lingo/lingo-gr.cpp"
+#line 2978 "engines/director/lingo/lingo-gr.cpp"
break;
case 3: /* scriptpartlist: scriptpart */
-#line 213 "engines/director/lingo/lingo-gr.y"
+#line 227 "engines/director/lingo/lingo-gr.y"
{
NodeList *list = new NodeList;
if ((yyvsp[0].node)) {
list->push_back((yyvsp[0].node));
}
(yyval.nodelist) = list; }
-#line 2917 "engines/director/lingo/lingo-gr.cpp"
+#line 2989 "engines/director/lingo/lingo-gr.cpp"
break;
case 4: /* scriptpartlist: scriptpartlist scriptpart */
-#line 219 "engines/director/lingo/lingo-gr.y"
+#line 233 "engines/director/lingo/lingo-gr.y"
{
if ((yyvsp[0].node)) {
(yyvsp[-1].nodelist)->push_back((yyvsp[0].node));
}
(yyval.nodelist) = (yyvsp[-1].nodelist); }
-#line 2927 "engines/director/lingo/lingo-gr.cpp"
+#line 2999 "engines/director/lingo/lingo-gr.cpp"
break;
case 5: /* scriptpart: '\n' */
-#line 226 "engines/director/lingo/lingo-gr.y"
+#line 240 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = nullptr; }
-#line 2933 "engines/director/lingo/lingo-gr.cpp"
+#line 3005 "engines/director/lingo/lingo-gr.cpp"
break;
case 10: /* scriptpart: tENDCLAUSE endargdef '\n' */
-#line 231 "engines/director/lingo/lingo-gr.y"
+#line 245 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = nullptr; delete (yyvsp[-2].s); }
-#line 2939 "engines/director/lingo/lingo-gr.cpp"
+#line 3011 "engines/director/lingo/lingo-gr.cpp"
break;
case 11: /* macro: tMACRO ID idlist '\n' stmtlist */
-#line 260 "engines/director/lingo/lingo-gr.y"
+#line 274 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new HandlerNode((yyvsp[-3].s), (yyvsp[-2].idlist), (yyvsp[0].nodelist)); }
-#line 2945 "engines/director/lingo/lingo-gr.cpp"
+#line 3017 "engines/director/lingo/lingo-gr.cpp"
break;
- case 12: /* factory: tFACTORY ID '\n' methodlist */
-#line 264 "engines/director/lingo/lingo-gr.y"
+ case 12: /* macro: tMACRO ID idlist error '\n' stmtlist */
+#line 275 "engines/director/lingo/lingo-gr.y"
+ { TRIM_GARBAGE((yyval.node), new HandlerNode((yyvsp[-4].s), (yyvsp[-3].idlist), (yyvsp[0].nodelist))); }
+#line 3023 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 13: /* factory: tFACTORY ID '\n' methodlist */
+#line 280 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new FactoryNode((yyvsp[-2].s), (yyvsp[0].nodelist)); }
-#line 2951 "engines/director/lingo/lingo-gr.cpp"
+#line 3029 "engines/director/lingo/lingo-gr.cpp"
break;
- case 13: /* method: tMETHOD ID idlist '\n' stmtlist */
-#line 266 "engines/director/lingo/lingo-gr.y"
+ case 14: /* factory: tFACTORY ID error '\n' methodlist */
+#line 281 "engines/director/lingo/lingo-gr.y"
+ { TRIM_GARBAGE((yyval.node), new FactoryNode((yyvsp[-3].s), (yyvsp[0].nodelist))); }
+#line 3035 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 15: /* method: tMETHOD ID idlist '\n' stmtlist */
+#line 284 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new HandlerNode((yyvsp[-3].s), (yyvsp[-2].idlist), (yyvsp[0].nodelist)); }
-#line 2957 "engines/director/lingo/lingo-gr.cpp"
+#line 3041 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 16: /* method: tMETHOD ID idlist error '\n' stmtlist */
+#line 285 "engines/director/lingo/lingo-gr.y"
+ { TRIM_GARBAGE((yyval.node), new HandlerNode((yyvsp[-4].s), (yyvsp[-3].idlist), (yyvsp[0].nodelist))); }
+#line 3047 "engines/director/lingo/lingo-gr.cpp"
break;
- case 14: /* methodlist: %empty */
-#line 268 "engines/director/lingo/lingo-gr.y"
+ case 17: /* methodlist: %empty */
+#line 288 "engines/director/lingo/lingo-gr.y"
{ (yyval.nodelist) = new NodeList; }
-#line 2963 "engines/director/lingo/lingo-gr.cpp"
+#line 3053 "engines/director/lingo/lingo-gr.cpp"
break;
- case 16: /* nonemptymethodlist: methodlistline */
-#line 272 "engines/director/lingo/lingo-gr.y"
+ case 19: /* nonemptymethodlist: methodlistline */
+#line 292 "engines/director/lingo/lingo-gr.y"
{
NodeList *list = new NodeList;
if ((yyvsp[0].node)) {
list->push_back((yyvsp[0].node));
}
(yyval.nodelist) = list; }
-#line 2974 "engines/director/lingo/lingo-gr.cpp"
+#line 3064 "engines/director/lingo/lingo-gr.cpp"
break;
- case 17: /* nonemptymethodlist: nonemptymethodlist methodlistline */
-#line 278 "engines/director/lingo/lingo-gr.y"
+ case 20: /* nonemptymethodlist: nonemptymethodlist methodlistline */
+#line 298 "engines/director/lingo/lingo-gr.y"
{
if ((yyvsp[0].node)) {
(yyvsp[-1].nodelist)->push_back((yyvsp[0].node));
}
(yyval.nodelist) = (yyvsp[-1].nodelist); }
-#line 2984 "engines/director/lingo/lingo-gr.cpp"
+#line 3074 "engines/director/lingo/lingo-gr.cpp"
break;
- case 18: /* methodlistline: '\n' */
-#line 285 "engines/director/lingo/lingo-gr.y"
+ case 21: /* methodlistline: '\n' */
+#line 305 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = nullptr; }
-#line 2990 "engines/director/lingo/lingo-gr.cpp"
+#line 3080 "engines/director/lingo/lingo-gr.cpp"
break;
- case 20: /* methodlistline: tENDCLAUSE endargdef '\n' */
-#line 287 "engines/director/lingo/lingo-gr.y"
+ case 23: /* methodlistline: tENDCLAUSE endargdef '\n' */
+#line 307 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = nullptr; delete (yyvsp[-2].s); }
-#line 2996 "engines/director/lingo/lingo-gr.cpp"
+#line 3086 "engines/director/lingo/lingo-gr.cpp"
break;
- case 21: /* handler: tON ID idlist '\n' stmtlist tENDCLAUSE endargdef '\n' */
-#line 292 "engines/director/lingo/lingo-gr.y"
+ case 24: /* handler: tON ID idlist '\n' stmtlist tENDCLAUSE endargdef '\n' */
+#line 312 "engines/director/lingo/lingo-gr.y"
{ // D3
(yyval.node) = new HandlerNode((yyvsp[-6].s), (yyvsp[-5].idlist), (yyvsp[-3].nodelist));
checkEnd((yyvsp[-2].s), (yyvsp[-6].s), false);
delete (yyvsp[-2].s); }
-#line 3005 "engines/director/lingo/lingo-gr.cpp"
+#line 3095 "engines/director/lingo/lingo-gr.cpp"
break;
- case 22: /* handler: tON ID idlist '\n' stmtlist */
-#line 296 "engines/director/lingo/lingo-gr.y"
+ case 25: /* handler: tON ID idlist error '\n' stmtlist tENDCLAUSE endargdef '\n' */
+#line 316 "engines/director/lingo/lingo-gr.y"
+ { // D3
+ TRIM_GARBAGE((yyval.node), new HandlerNode((yyvsp[-7].s), (yyvsp[-6].idlist), (yyvsp[-3].nodelist)));
+ checkEnd((yyvsp[-2].s), (yyvsp[-7].s), false);
+ delete (yyvsp[-2].s); }
+#line 3104 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 26: /* handler: tON ID idlist '\n' stmtlist */
+#line 320 "engines/director/lingo/lingo-gr.y"
{ // D4. No 'end' clause
(yyval.node) = new HandlerNode((yyvsp[-3].s), (yyvsp[-2].idlist), (yyvsp[0].nodelist)); }
-#line 3012 "engines/director/lingo/lingo-gr.cpp"
+#line 3111 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 27: /* handler: tON ID idlist error '\n' stmtlist */
+#line 322 "engines/director/lingo/lingo-gr.y"
+ { // D4. No 'end' clause
+ TRIM_GARBAGE((yyval.node), new HandlerNode((yyvsp[-4].s), (yyvsp[-3].idlist), (yyvsp[0].nodelist))); }
+#line 3118 "engines/director/lingo/lingo-gr.cpp"
break;
- case 24: /* endargdef: ID */
-#line 301 "engines/director/lingo/lingo-gr.y"
+ case 29: /* endargdef: ID */
+#line 327 "engines/director/lingo/lingo-gr.y"
{ delete (yyvsp[0].s); }
-#line 3018 "engines/director/lingo/lingo-gr.cpp"
+#line 3124 "engines/director/lingo/lingo-gr.cpp"
break;
- case 25: /* endargdef: endargdef ',' ID */
-#line 302 "engines/director/lingo/lingo-gr.y"
+ case 30: /* endargdef: endargdef ',' ID */
+#line 328 "engines/director/lingo/lingo-gr.y"
{ delete (yyvsp[0].s); }
-#line 3024 "engines/director/lingo/lingo-gr.cpp"
+#line 3130 "engines/director/lingo/lingo-gr.cpp"
break;
- case 27: /* CMDID: tABBREVIATED */
-#line 310 "engines/director/lingo/lingo-gr.y"
+ case 32: /* CMDID: tABBREVIATED */
+#line 336 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("abbreviated"); }
-#line 3030 "engines/director/lingo/lingo-gr.cpp"
+#line 3136 "engines/director/lingo/lingo-gr.cpp"
break;
- case 28: /* CMDID: tABBREV */
-#line 311 "engines/director/lingo/lingo-gr.y"
+ case 33: /* CMDID: tABBREV */
+#line 337 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("abbrev"); }
-#line 3036 "engines/director/lingo/lingo-gr.cpp"
+#line 3142 "engines/director/lingo/lingo-gr.cpp"
break;
- case 29: /* CMDID: tABBR */
-#line 312 "engines/director/lingo/lingo-gr.y"
+ case 34: /* CMDID: tABBR */
+#line 338 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("abbr"); }
-#line 3042 "engines/director/lingo/lingo-gr.cpp"
+#line 3148 "engines/director/lingo/lingo-gr.cpp"
break;
- case 30: /* CMDID: tAFTER */
-#line 313 "engines/director/lingo/lingo-gr.y"
+ case 35: /* CMDID: tAFTER */
+#line 339 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("after"); }
-#line 3048 "engines/director/lingo/lingo-gr.cpp"
+#line 3154 "engines/director/lingo/lingo-gr.cpp"
break;
- case 31: /* CMDID: tBEFORE */
-#line 314 "engines/director/lingo/lingo-gr.y"
+ case 36: /* CMDID: tBEFORE */
+#line 340 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("before"); }
-#line 3054 "engines/director/lingo/lingo-gr.cpp"
+#line 3160 "engines/director/lingo/lingo-gr.cpp"
break;
- case 32: /* CMDID: tCAST */
-#line 315 "engines/director/lingo/lingo-gr.y"
+ case 37: /* CMDID: tCAST */
+#line 341 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("cast"); }
-#line 3060 "engines/director/lingo/lingo-gr.cpp"
+#line 3166 "engines/director/lingo/lingo-gr.cpp"
break;
- case 33: /* CMDID: tCASTLIB */
-#line 316 "engines/director/lingo/lingo-gr.y"
+ case 38: /* CMDID: tCASTLIB */
+#line 342 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("castLib"); }
-#line 3066 "engines/director/lingo/lingo-gr.cpp"
+#line 3172 "engines/director/lingo/lingo-gr.cpp"
break;
- case 34: /* CMDID: tCHAR */
-#line 317 "engines/director/lingo/lingo-gr.y"
+ case 39: /* CMDID: tCHAR */
+#line 343 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("char"); }
-#line 3072 "engines/director/lingo/lingo-gr.cpp"
+#line 3178 "engines/director/lingo/lingo-gr.cpp"
break;
- case 35: /* CMDID: tCHARS */
-#line 318 "engines/director/lingo/lingo-gr.y"
+ case 40: /* CMDID: tCHARS */
+#line 344 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("chars"); }
-#line 3078 "engines/director/lingo/lingo-gr.cpp"
+#line 3184 "engines/director/lingo/lingo-gr.cpp"
break;
- case 36: /* CMDID: tDATE */
-#line 319 "engines/director/lingo/lingo-gr.y"
+ case 41: /* CMDID: tDATE */
+#line 345 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("date"); }
-#line 3084 "engines/director/lingo/lingo-gr.cpp"
+#line 3190 "engines/director/lingo/lingo-gr.cpp"
break;
- case 37: /* CMDID: tDELETE */
-#line 320 "engines/director/lingo/lingo-gr.y"
+ case 42: /* CMDID: tDELETE */
+#line 346 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("delete"); }
-#line 3090 "engines/director/lingo/lingo-gr.cpp"
+#line 3196 "engines/director/lingo/lingo-gr.cpp"
break;
- case 38: /* CMDID: tDOWN */
-#line 321 "engines/director/lingo/lingo-gr.y"
+ case 43: /* CMDID: tDOWN */
+#line 347 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("down"); }
-#line 3096 "engines/director/lingo/lingo-gr.cpp"
+#line 3202 "engines/director/lingo/lingo-gr.cpp"
break;
- case 39: /* CMDID: tFIELD */
-#line 322 "engines/director/lingo/lingo-gr.y"
+ case 44: /* CMDID: tFIELD */
+#line 348 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("field"); }
-#line 3102 "engines/director/lingo/lingo-gr.cpp"
+#line 3208 "engines/director/lingo/lingo-gr.cpp"
break;
- case 40: /* CMDID: tFRAME */
-#line 323 "engines/director/lingo/lingo-gr.y"
+ case 45: /* CMDID: tFRAME */
+#line 349 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("frame"); }
-#line 3108 "engines/director/lingo/lingo-gr.cpp"
+#line 3214 "engines/director/lingo/lingo-gr.cpp"
break;
- case 41: /* CMDID: tHILITE */
-#line 324 "engines/director/lingo/lingo-gr.y"
+ case 46: /* CMDID: tHILITE */
+#line 350 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("hilite"); }
-#line 3114 "engines/director/lingo/lingo-gr.cpp"
+#line 3220 "engines/director/lingo/lingo-gr.cpp"
break;
- case 42: /* CMDID: tIN */
-#line 325 "engines/director/lingo/lingo-gr.y"
+ case 47: /* CMDID: tIN */
+#line 351 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("in"); }
-#line 3120 "engines/director/lingo/lingo-gr.cpp"
+#line 3226 "engines/director/lingo/lingo-gr.cpp"
break;
- case 43: /* CMDID: tINTERSECTS */
-#line 326 "engines/director/lingo/lingo-gr.y"
+ case 48: /* CMDID: tINTERSECTS */
+#line 352 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("intersects"); }
-#line 3126 "engines/director/lingo/lingo-gr.cpp"
+#line 3232 "engines/director/lingo/lingo-gr.cpp"
break;
- case 44: /* CMDID: tINTO */
-#line 327 "engines/director/lingo/lingo-gr.y"
+ case 49: /* CMDID: tINTO */
+#line 353 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("into"); }
-#line 3132 "engines/director/lingo/lingo-gr.cpp"
+#line 3238 "engines/director/lingo/lingo-gr.cpp"
break;
- case 45: /* CMDID: tITEM */
-#line 328 "engines/director/lingo/lingo-gr.y"
+ case 50: /* CMDID: tITEM */
+#line 354 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("item"); }
-#line 3138 "engines/director/lingo/lingo-gr.cpp"
+#line 3244 "engines/director/lingo/lingo-gr.cpp"
break;
- case 46: /* CMDID: tITEMS */
-#line 329 "engines/director/lingo/lingo-gr.y"
+ case 51: /* CMDID: tITEMS */
+#line 355 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("items"); }
-#line 3144 "engines/director/lingo/lingo-gr.cpp"
+#line 3250 "engines/director/lingo/lingo-gr.cpp"
break;
- case 47: /* CMDID: tLAST */
-#line 330 "engines/director/lingo/lingo-gr.y"
+ case 52: /* CMDID: tLAST */
+#line 356 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("last"); }
-#line 3150 "engines/director/lingo/lingo-gr.cpp"
+#line 3256 "engines/director/lingo/lingo-gr.cpp"
break;
- case 48: /* CMDID: tLINE */
-#line 331 "engines/director/lingo/lingo-gr.y"
+ case 53: /* CMDID: tLINE */
+#line 357 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("line"); }
-#line 3156 "engines/director/lingo/lingo-gr.cpp"
+#line 3262 "engines/director/lingo/lingo-gr.cpp"
break;
- case 49: /* CMDID: tLINES */
-#line 332 "engines/director/lingo/lingo-gr.y"
+ case 54: /* CMDID: tLINES */
+#line 358 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("lines"); }
-#line 3162 "engines/director/lingo/lingo-gr.cpp"
+#line 3268 "engines/director/lingo/lingo-gr.cpp"
break;
- case 50: /* CMDID: tLONG */
-#line 333 "engines/director/lingo/lingo-gr.y"
+ case 55: /* CMDID: tLONG */
+#line 359 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("long"); }
-#line 3168 "engines/director/lingo/lingo-gr.cpp"
+#line 3274 "engines/director/lingo/lingo-gr.cpp"
break;
- case 51: /* CMDID: tMEMBER */
-#line 334 "engines/director/lingo/lingo-gr.y"
+ case 56: /* CMDID: tMEMBER */
+#line 360 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("member"); }
-#line 3174 "engines/director/lingo/lingo-gr.cpp"
+#line 3280 "engines/director/lingo/lingo-gr.cpp"
break;
- case 52: /* CMDID: tMENU */
-#line 335 "engines/director/lingo/lingo-gr.y"
+ case 57: /* CMDID: tMENU */
+#line 361 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("menu"); }
-#line 3180 "engines/director/lingo/lingo-gr.cpp"
+#line 3286 "engines/director/lingo/lingo-gr.cpp"
break;
- case 53: /* CMDID: tMENUITEM */
-#line 336 "engines/director/lingo/lingo-gr.y"
+ case 58: /* CMDID: tMENUITEM */
+#line 362 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("menuItem"); }
-#line 3186 "engines/director/lingo/lingo-gr.cpp"
+#line 3292 "engines/director/lingo/lingo-gr.cpp"
break;
- case 54: /* CMDID: tMENUITEMS */
-#line 337 "engines/director/lingo/lingo-gr.y"
+ case 59: /* CMDID: tMENUITEMS */
+#line 363 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("menuItems"); }
-#line 3192 "engines/director/lingo/lingo-gr.cpp"
+#line 3298 "engines/director/lingo/lingo-gr.cpp"
break;
- case 55: /* CMDID: tMOVIE */
-#line 338 "engines/director/lingo/lingo-gr.y"
+ case 60: /* CMDID: tMOVIE */
+#line 364 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("movie"); }
-#line 3198 "engines/director/lingo/lingo-gr.cpp"
+#line 3304 "engines/director/lingo/lingo-gr.cpp"
break;
- case 56: /* CMDID: tNEXT */
-#line 339 "engines/director/lingo/lingo-gr.y"
+ case 61: /* CMDID: tNEXT */
+#line 365 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("next"); }
-#line 3204 "engines/director/lingo/lingo-gr.cpp"
+#line 3310 "engines/director/lingo/lingo-gr.cpp"
break;
- case 57: /* CMDID: tNUMBER */
-#line 340 "engines/director/lingo/lingo-gr.y"
+ case 62: /* CMDID: tNUMBER */
+#line 366 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("number"); }
-#line 3210 "engines/director/lingo/lingo-gr.cpp"
+#line 3316 "engines/director/lingo/lingo-gr.cpp"
break;
- case 58: /* CMDID: tOF */
-#line 341 "engines/director/lingo/lingo-gr.y"
+ case 63: /* CMDID: tOF */
+#line 367 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("of"); }
-#line 3216 "engines/director/lingo/lingo-gr.cpp"
+#line 3322 "engines/director/lingo/lingo-gr.cpp"
break;
- case 59: /* CMDID: tPREVIOUS */
-#line 342 "engines/director/lingo/lingo-gr.y"
+ case 64: /* CMDID: tPREVIOUS */
+#line 368 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("previous"); }
-#line 3222 "engines/director/lingo/lingo-gr.cpp"
+#line 3328 "engines/director/lingo/lingo-gr.cpp"
break;
- case 60: /* CMDID: tREPEAT */
-#line 343 "engines/director/lingo/lingo-gr.y"
+ case 65: /* CMDID: tREPEAT */
+#line 369 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("repeat"); }
-#line 3228 "engines/director/lingo/lingo-gr.cpp"
+#line 3334 "engines/director/lingo/lingo-gr.cpp"
break;
- case 61: /* CMDID: tSCRIPT */
-#line 344 "engines/director/lingo/lingo-gr.y"
+ case 66: /* CMDID: tSCRIPT */
+#line 370 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("script"); }
-#line 3234 "engines/director/lingo/lingo-gr.cpp"
+#line 3340 "engines/director/lingo/lingo-gr.cpp"
break;
- case 62: /* CMDID: tASSERTERROR */
-#line 345 "engines/director/lingo/lingo-gr.y"
+ case 67: /* CMDID: tASSERTERROR */
+#line 371 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("scummvmAssertError"); }
-#line 3240 "engines/director/lingo/lingo-gr.cpp"
+#line 3346 "engines/director/lingo/lingo-gr.cpp"
break;
- case 63: /* CMDID: tSHORT */
-#line 346 "engines/director/lingo/lingo-gr.y"
+ case 68: /* CMDID: tSHORT */
+#line 372 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("short"); }
-#line 3246 "engines/director/lingo/lingo-gr.cpp"
+#line 3352 "engines/director/lingo/lingo-gr.cpp"
break;
- case 64: /* CMDID: tSOUND */
-#line 347 "engines/director/lingo/lingo-gr.y"
+ case 69: /* CMDID: tSOUND */
+#line 373 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("sound"); }
-#line 3252 "engines/director/lingo/lingo-gr.cpp"
+#line 3358 "engines/director/lingo/lingo-gr.cpp"
break;
- case 65: /* CMDID: tSPRITE */
-#line 348 "engines/director/lingo/lingo-gr.y"
+ case 70: /* CMDID: tSPRITE */
+#line 374 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("sprite"); }
-#line 3258 "engines/director/lingo/lingo-gr.cpp"
+#line 3364 "engines/director/lingo/lingo-gr.cpp"
break;
- case 66: /* CMDID: tTHE */
-#line 349 "engines/director/lingo/lingo-gr.y"
+ case 71: /* CMDID: tTHE */
+#line 375 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("the"); }
-#line 3264 "engines/director/lingo/lingo-gr.cpp"
+#line 3370 "engines/director/lingo/lingo-gr.cpp"
break;
- case 67: /* CMDID: tTIME */
-#line 350 "engines/director/lingo/lingo-gr.y"
+ case 72: /* CMDID: tTIME */
+#line 376 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("time"); }
-#line 3270 "engines/director/lingo/lingo-gr.cpp"
+#line 3376 "engines/director/lingo/lingo-gr.cpp"
break;
- case 68: /* CMDID: tTO */
-#line 351 "engines/director/lingo/lingo-gr.y"
+ case 73: /* CMDID: tTO */
+#line 377 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("to"); }
-#line 3276 "engines/director/lingo/lingo-gr.cpp"
+#line 3382 "engines/director/lingo/lingo-gr.cpp"
break;
- case 69: /* CMDID: tWHILE */
-#line 352 "engines/director/lingo/lingo-gr.y"
+ case 74: /* CMDID: tWHILE */
+#line 378 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("while"); }
-#line 3282 "engines/director/lingo/lingo-gr.cpp"
+#line 3388 "engines/director/lingo/lingo-gr.cpp"
break;
- case 70: /* CMDID: tWINDOW */
-#line 353 "engines/director/lingo/lingo-gr.y"
+ case 75: /* CMDID: tWINDOW */
+#line 379 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("window"); }
-#line 3288 "engines/director/lingo/lingo-gr.cpp"
+#line 3394 "engines/director/lingo/lingo-gr.cpp"
break;
- case 71: /* CMDID: tWITH */
-#line 354 "engines/director/lingo/lingo-gr.y"
+ case 76: /* CMDID: tWITH */
+#line 380 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("with"); }
-#line 3294 "engines/director/lingo/lingo-gr.cpp"
+#line 3400 "engines/director/lingo/lingo-gr.cpp"
break;
- case 72: /* CMDID: tWITHIN */
-#line 355 "engines/director/lingo/lingo-gr.y"
+ case 77: /* CMDID: tWITHIN */
+#line 381 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("within"); }
-#line 3300 "engines/director/lingo/lingo-gr.cpp"
+#line 3406 "engines/director/lingo/lingo-gr.cpp"
break;
- case 73: /* CMDID: tWORD */
-#line 356 "engines/director/lingo/lingo-gr.y"
+ case 78: /* CMDID: tWORD */
+#line 382 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("word"); }
-#line 3306 "engines/director/lingo/lingo-gr.cpp"
+#line 3412 "engines/director/lingo/lingo-gr.cpp"
break;
- case 74: /* CMDID: tWORDS */
-#line 357 "engines/director/lingo/lingo-gr.y"
+ case 79: /* CMDID: tWORDS */
+#line 383 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("words"); }
-#line 3312 "engines/director/lingo/lingo-gr.cpp"
+#line 3418 "engines/director/lingo/lingo-gr.cpp"
break;
- case 76: /* ID: tELSE */
-#line 361 "engines/director/lingo/lingo-gr.y"
+ case 81: /* ID: tELSE */
+#line 387 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("else"); }
-#line 3318 "engines/director/lingo/lingo-gr.cpp"
+#line 3424 "engines/director/lingo/lingo-gr.cpp"
break;
- case 77: /* ID: tENDCLAUSE */
-#line 362 "engines/director/lingo/lingo-gr.y"
+ case 82: /* ID: tENDCLAUSE */
+#line 388 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("end"); delete (yyvsp[0].s); }
-#line 3324 "engines/director/lingo/lingo-gr.cpp"
+#line 3430 "engines/director/lingo/lingo-gr.cpp"
break;
- case 78: /* ID: tEXIT */
-#line 363 "engines/director/lingo/lingo-gr.y"
+ case 83: /* ID: tEXIT */
+#line 389 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("exit"); }
-#line 3330 "engines/director/lingo/lingo-gr.cpp"
+#line 3436 "engines/director/lingo/lingo-gr.cpp"
break;
- case 79: /* ID: tFACTORY */
-#line 364 "engines/director/lingo/lingo-gr.y"
+ case 84: /* ID: tFACTORY */
+#line 390 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("factory"); }
-#line 3336 "engines/director/lingo/lingo-gr.cpp"
+#line 3442 "engines/director/lingo/lingo-gr.cpp"
break;
- case 80: /* ID: tGLOBAL */
-#line 365 "engines/director/lingo/lingo-gr.y"
+ case 85: /* ID: tGLOBAL */
+#line 391 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("global"); }
-#line 3342 "engines/director/lingo/lingo-gr.cpp"
+#line 3448 "engines/director/lingo/lingo-gr.cpp"
break;
- case 81: /* ID: tGO */
-#line 366 "engines/director/lingo/lingo-gr.y"
+ case 86: /* ID: tGO */
+#line 392 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("go"); }
-#line 3348 "engines/director/lingo/lingo-gr.cpp"
+#line 3454 "engines/director/lingo/lingo-gr.cpp"
break;
- case 82: /* ID: tIF */
-#line 367 "engines/director/lingo/lingo-gr.y"
+ case 87: /* ID: tIF */
+#line 393 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("if"); }
-#line 3354 "engines/director/lingo/lingo-gr.cpp"
+#line 3460 "engines/director/lingo/lingo-gr.cpp"
break;
- case 83: /* ID: tINSTANCE */
-#line 368 "engines/director/lingo/lingo-gr.y"
+ case 88: /* ID: tINSTANCE */
+#line 394 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("instance"); }
-#line 3360 "engines/director/lingo/lingo-gr.cpp"
+#line 3466 "engines/director/lingo/lingo-gr.cpp"
break;
- case 84: /* ID: tMACRO */
-#line 369 "engines/director/lingo/lingo-gr.y"
+ case 89: /* ID: tMACRO */
+#line 395 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("macro"); }
-#line 3366 "engines/director/lingo/lingo-gr.cpp"
+#line 3472 "engines/director/lingo/lingo-gr.cpp"
break;
- case 85: /* ID: tMETHOD */
-#line 370 "engines/director/lingo/lingo-gr.y"
+ case 90: /* ID: tMETHOD */
+#line 396 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("method"); }
-#line 3372 "engines/director/lingo/lingo-gr.cpp"
+#line 3478 "engines/director/lingo/lingo-gr.cpp"
break;
- case 86: /* ID: tON */
-#line 371 "engines/director/lingo/lingo-gr.y"
+ case 91: /* ID: tON */
+#line 397 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("on"); }
-#line 3378 "engines/director/lingo/lingo-gr.cpp"
+#line 3484 "engines/director/lingo/lingo-gr.cpp"
break;
- case 87: /* ID: tOPEN */
-#line 372 "engines/director/lingo/lingo-gr.y"
+ case 92: /* ID: tOPEN */
+#line 398 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("open"); }
-#line 3384 "engines/director/lingo/lingo-gr.cpp"
+#line 3490 "engines/director/lingo/lingo-gr.cpp"
break;
- case 88: /* ID: tPLAY */
-#line 373 "engines/director/lingo/lingo-gr.y"
+ case 93: /* ID: tPLAY */
+#line 399 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("play"); }
-#line 3390 "engines/director/lingo/lingo-gr.cpp"
+#line 3496 "engines/director/lingo/lingo-gr.cpp"
break;
- case 89: /* ID: tPROPERTY */
-#line 374 "engines/director/lingo/lingo-gr.y"
+ case 94: /* ID: tPROPERTY */
+#line 400 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("property"); }
-#line 3396 "engines/director/lingo/lingo-gr.cpp"
+#line 3502 "engines/director/lingo/lingo-gr.cpp"
break;
- case 90: /* ID: tPUT */
-#line 375 "engines/director/lingo/lingo-gr.y"
+ case 95: /* ID: tPUT */
+#line 401 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("put"); }
-#line 3402 "engines/director/lingo/lingo-gr.cpp"
+#line 3508 "engines/director/lingo/lingo-gr.cpp"
break;
- case 91: /* ID: tRETURN */
-#line 376 "engines/director/lingo/lingo-gr.y"
+ case 96: /* ID: tRETURN */
+#line 402 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("return"); }
-#line 3408 "engines/director/lingo/lingo-gr.cpp"
+#line 3514 "engines/director/lingo/lingo-gr.cpp"
break;
- case 92: /* ID: tSET */
-#line 377 "engines/director/lingo/lingo-gr.y"
+ case 97: /* ID: tSET */
+#line 403 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("set"); }
-#line 3414 "engines/director/lingo/lingo-gr.cpp"
+#line 3520 "engines/director/lingo/lingo-gr.cpp"
break;
- case 93: /* ID: tTELL */
-#line 378 "engines/director/lingo/lingo-gr.y"
+ case 98: /* ID: tTELL */
+#line 404 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("tell"); }
-#line 3420 "engines/director/lingo/lingo-gr.cpp"
+#line 3526 "engines/director/lingo/lingo-gr.cpp"
break;
- case 94: /* ID: tTHEN */
-#line 379 "engines/director/lingo/lingo-gr.y"
+ case 99: /* ID: tTHEN */
+#line 405 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("then"); }
-#line 3426 "engines/director/lingo/lingo-gr.cpp"
+#line 3532 "engines/director/lingo/lingo-gr.cpp"
break;
- case 95: /* idlist: %empty */
-#line 382 "engines/director/lingo/lingo-gr.y"
+ case 100: /* idlist: %empty */
+#line 408 "engines/director/lingo/lingo-gr.y"
{ (yyval.idlist) = new IDList; }
-#line 3432 "engines/director/lingo/lingo-gr.cpp"
+#line 3538 "engines/director/lingo/lingo-gr.cpp"
break;
- case 98: /* nonemptyidlist: ID */
-#line 387 "engines/director/lingo/lingo-gr.y"
+ case 103: /* nonemptyidlist: ID */
+#line 413 "engines/director/lingo/lingo-gr.y"
{
Common::Array<Common::String *> *list = new IDList;
list->push_back((yyvsp[0].s));
(yyval.idlist) = list; }
-#line 3441 "engines/director/lingo/lingo-gr.cpp"
+#line 3547 "engines/director/lingo/lingo-gr.cpp"
break;
- case 99: /* nonemptyidlist: nonemptyidlist ',' ID */
-#line 391 "engines/director/lingo/lingo-gr.y"
+ case 104: /* nonemptyidlist: nonemptyidlist ',' ID */
+#line 417 "engines/director/lingo/lingo-gr.y"
{
(yyvsp[-2].idlist)->push_back((yyvsp[0].s));
(yyval.idlist) = (yyvsp[-2].idlist); }
-#line 3449 "engines/director/lingo/lingo-gr.cpp"
+#line 3555 "engines/director/lingo/lingo-gr.cpp"
break;
- case 101: /* stmt: tENDIF '\n' */
-#line 402 "engines/director/lingo/lingo-gr.y"
+ case 106: /* stmt: tENDIF '\n' */
+#line 428 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = nullptr; }
-#line 3455 "engines/director/lingo/lingo-gr.cpp"
+#line 3561 "engines/director/lingo/lingo-gr.cpp"
break;
- case 111: /* proc: CMDID cmdargs '\n' */
-#line 418 "engines/director/lingo/lingo-gr.y"
+ case 116: /* proc: CMDID cmdargs '\n' */
+#line 444 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new CmdNode((yyvsp[-2].s), (yyvsp[-1].nodelist), g_lingo->_compiler->_linenumber - 1); }
-#line 3461 "engines/director/lingo/lingo-gr.cpp"
+#line 3567 "engines/director/lingo/lingo-gr.cpp"
break;
- case 112: /* proc: tPUT cmdargs '\n' */
-#line 419 "engines/director/lingo/lingo-gr.y"
+ case 117: /* proc: CMDID cmdargs error '\n' */
+#line 445 "engines/director/lingo/lingo-gr.y"
+ { TRIM_GARBAGE((yyval.node), new CmdNode((yyvsp[-3].s), (yyvsp[-2].nodelist), g_lingo->_compiler->_linenumber - 1)); }
+#line 3573 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 118: /* proc: tPUT cmdargs '\n' */
+#line 446 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new CmdNode(new Common::String("put"), (yyvsp[-1].nodelist), g_lingo->_compiler->_linenumber - 1); }
-#line 3467 "engines/director/lingo/lingo-gr.cpp"
+#line 3579 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 119: /* proc: tPUT cmdargs error '\n' */
+#line 447 "engines/director/lingo/lingo-gr.y"
+ { TRIM_GARBAGE((yyval.node), new CmdNode(new Common::String("put"), (yyvsp[-2].nodelist), g_lingo->_compiler->_linenumber - 1)); }
+#line 3585 "engines/director/lingo/lingo-gr.cpp"
break;
- case 113: /* proc: tGO cmdargs '\n' */
-#line 420 "engines/director/lingo/lingo-gr.y"
+ case 120: /* proc: tGO cmdargs '\n' */
+#line 448 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new CmdNode(new Common::String("go"), (yyvsp[-1].nodelist), g_lingo->_compiler->_linenumber - 1); }
-#line 3473 "engines/director/lingo/lingo-gr.cpp"
+#line 3591 "engines/director/lingo/lingo-gr.cpp"
break;
- case 114: /* proc: tGO frameargs '\n' */
-#line 421 "engines/director/lingo/lingo-gr.y"
+ case 121: /* proc: tGO cmdargs error '\n' */
+#line 449 "engines/director/lingo/lingo-gr.y"
+ { TRIM_GARBAGE((yyval.node), new CmdNode(new Common::String("go"), (yyvsp[-2].nodelist), g_lingo->_compiler->_linenumber - 1)); }
+#line 3597 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 122: /* proc: tGO frameargs '\n' */
+#line 450 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new CmdNode(new Common::String("go"), (yyvsp[-1].nodelist), g_lingo->_compiler->_linenumber - 1); }
-#line 3479 "engines/director/lingo/lingo-gr.cpp"
+#line 3603 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 123: /* proc: tGO frameargs error '\n' */
+#line 451 "engines/director/lingo/lingo-gr.y"
+ { TRIM_GARBAGE((yyval.node), new CmdNode(new Common::String("go"), (yyvsp[-2].nodelist), g_lingo->_compiler->_linenumber - 1)); }
+#line 3609 "engines/director/lingo/lingo-gr.cpp"
break;
- case 115: /* proc: tPLAY cmdargs '\n' */
-#line 422 "engines/director/lingo/lingo-gr.y"
+ case 124: /* proc: tPLAY cmdargs '\n' */
+#line 452 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new CmdNode(new Common::String("play"), (yyvsp[-1].nodelist), g_lingo->_compiler->_linenumber - 1); }
-#line 3485 "engines/director/lingo/lingo-gr.cpp"
+#line 3615 "engines/director/lingo/lingo-gr.cpp"
break;
- case 116: /* proc: tPLAY frameargs '\n' */
-#line 423 "engines/director/lingo/lingo-gr.y"
+ case 125: /* proc: tPLAY cmdargs error '\n' */
+#line 453 "engines/director/lingo/lingo-gr.y"
+ { TRIM_GARBAGE((yyval.node), new CmdNode(new Common::String("play"), (yyvsp[-2].nodelist), g_lingo->_compiler->_linenumber - 1)); }
+#line 3621 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 126: /* proc: tPLAY frameargs '\n' */
+#line 454 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new CmdNode(new Common::String("play"), (yyvsp[-1].nodelist), g_lingo->_compiler->_linenumber - 1); }
-#line 3491 "engines/director/lingo/lingo-gr.cpp"
+#line 3627 "engines/director/lingo/lingo-gr.cpp"
break;
- case 117: /* proc: tOPEN cmdargs '\n' */
-#line 424 "engines/director/lingo/lingo-gr.y"
+ case 127: /* proc: tPLAY frameargs error '\n' */
+#line 455 "engines/director/lingo/lingo-gr.y"
+ { TRIM_GARBAGE((yyval.node), new CmdNode(new Common::String("play"), (yyvsp[-2].nodelist), g_lingo->_compiler->_linenumber - 1)); }
+#line 3633 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 128: /* proc: tOPEN cmdargs '\n' */
+#line 456 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new CmdNode(new Common::String("open"), (yyvsp[-1].nodelist), g_lingo->_compiler->_linenumber - 1); }
-#line 3497 "engines/director/lingo/lingo-gr.cpp"
+#line 3639 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 129: /* proc: tOPEN cmdargs error '\n' */
+#line 457 "engines/director/lingo/lingo-gr.y"
+ { TRIM_GARBAGE((yyval.node), new CmdNode(new Common::String("open"), (yyvsp[-2].nodelist), g_lingo->_compiler->_linenumber - 1)); }
+#line 3645 "engines/director/lingo/lingo-gr.cpp"
break;
- case 118: /* proc: tOPEN expr tWITH expr '\n' */
-#line 425 "engines/director/lingo/lingo-gr.y"
+ case 130: /* proc: tOPEN expr tWITH expr '\n' */
+#line 458 "engines/director/lingo/lingo-gr.y"
{
NodeList *args = new NodeList;
args->push_back((yyvsp[-3].node));
args->push_back((yyvsp[-1].node));
(yyval.node) = new CmdNode(new Common::String("open"), args, g_lingo->_compiler->_linenumber - 1); }
-#line 3507 "engines/director/lingo/lingo-gr.cpp"
+#line 3655 "engines/director/lingo/lingo-gr.cpp"
break;
- case 119: /* proc: tNEXT tREPEAT '\n' */
-#line 430 "engines/director/lingo/lingo-gr.y"
+ case 131: /* proc: tNEXT tREPEAT '\n' */
+#line 463 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new NextRepeatNode(); }
-#line 3513 "engines/director/lingo/lingo-gr.cpp"
+#line 3661 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 132: /* proc: tNEXT tREPEAT error '\n' */
+#line 464 "engines/director/lingo/lingo-gr.y"
+ { TRIM_GARBAGE((yyval.node), new NextRepeatNode()); }
+#line 3667 "engines/director/lingo/lingo-gr.cpp"
break;
- case 120: /* proc: tEXIT tREPEAT '\n' */
-#line 431 "engines/director/lingo/lingo-gr.y"
+ case 133: /* proc: tEXIT tREPEAT '\n' */
+#line 465 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new ExitRepeatNode(); }
-#line 3519 "engines/director/lingo/lingo-gr.cpp"
+#line 3673 "engines/director/lingo/lingo-gr.cpp"
break;
- case 121: /* proc: tEXIT '\n' */
-#line 432 "engines/director/lingo/lingo-gr.y"
+ case 134: /* proc: tEXIT tREPEAT error '\n' */
+#line 466 "engines/director/lingo/lingo-gr.y"
+ { TRIM_GARBAGE((yyval.node), new ExitRepeatNode()); }
+#line 3679 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 135: /* proc: tEXIT '\n' */
+#line 467 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new ExitNode(); }
-#line 3525 "engines/director/lingo/lingo-gr.cpp"
+#line 3685 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 136: /* proc: tEXIT error '\n' */
+#line 468 "engines/director/lingo/lingo-gr.y"
+ { TRIM_GARBAGE((yyval.node), new ExitNode()); }
+#line 3691 "engines/director/lingo/lingo-gr.cpp"
break;
- case 122: /* proc: tRETURN '\n' */
-#line 433 "engines/director/lingo/lingo-gr.y"
+ case 137: /* proc: tRETURN '\n' */
+#line 469 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new ReturnNode(nullptr); }
-#line 3531 "engines/director/lingo/lingo-gr.cpp"
+#line 3697 "engines/director/lingo/lingo-gr.cpp"
break;
- case 123: /* proc: tRETURN expr '\n' */
-#line 434 "engines/director/lingo/lingo-gr.y"
+ case 138: /* proc: tRETURN error '\n' */
+#line 470 "engines/director/lingo/lingo-gr.y"
+ { TRIM_GARBAGE((yyval.node), new ReturnNode(nullptr)); }
+#line 3703 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 139: /* proc: tRETURN expr '\n' */
+#line 471 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new ReturnNode((yyvsp[-1].node)); }
-#line 3537 "engines/director/lingo/lingo-gr.cpp"
+#line 3709 "engines/director/lingo/lingo-gr.cpp"
break;
- case 124: /* proc: tDELETE chunk '\n' */
-#line 435 "engines/director/lingo/lingo-gr.y"
+ case 140: /* proc: tRETURN expr error '\n' */
+#line 472 "engines/director/lingo/lingo-gr.y"
+ { TRIM_GARBAGE((yyval.node), new ReturnNode((yyvsp[-2].node))); }
+#line 3715 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 141: /* proc: tDELETE chunk '\n' */
+#line 473 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new DeleteNode((yyvsp[-1].node)); }
-#line 3543 "engines/director/lingo/lingo-gr.cpp"
+#line 3721 "engines/director/lingo/lingo-gr.cpp"
break;
- case 125: /* proc: tHILITE chunk '\n' */
-#line 436 "engines/director/lingo/lingo-gr.y"
+ case 142: /* proc: tDELETE chunk error '\n' */
+#line 474 "engines/director/lingo/lingo-gr.y"
+ { TRIM_GARBAGE((yyval.node), new DeleteNode((yyvsp[-2].node))); }
+#line 3727 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 143: /* proc: tHILITE chunk '\n' */
+#line 475 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new HiliteNode((yyvsp[-1].node)); }
-#line 3549 "engines/director/lingo/lingo-gr.cpp"
+#line 3733 "engines/director/lingo/lingo-gr.cpp"
break;
- case 126: /* proc: tASSERTERROR stmtoneliner */
-#line 437 "engines/director/lingo/lingo-gr.y"
+ case 144: /* proc: tHILITE chunk error '\n' */
+#line 476 "engines/director/lingo/lingo-gr.y"
+ { TRIM_GARBAGE((yyval.node), new HiliteNode((yyvsp[-2].node))); }
+#line 3739 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 145: /* proc: tASSERTERROR stmtoneliner */
+#line 477 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new AssertErrorNode((yyvsp[0].node)); }
-#line 3555 "engines/director/lingo/lingo-gr.cpp"
+#line 3745 "engines/director/lingo/lingo-gr.cpp"
break;
- case 127: /* cmdargs: %empty */
-#line 440 "engines/director/lingo/lingo-gr.y"
+ case 146: /* cmdargs: %empty */
+#line 480 "engines/director/lingo/lingo-gr.y"
{
// This matches `cmd`
(yyval.nodelist) = new NodeList; }
-#line 3563 "engines/director/lingo/lingo-gr.cpp"
+#line 3753 "engines/director/lingo/lingo-gr.cpp"
break;
- case 128: /* cmdargs: expr trailingcomma */
-#line 443 "engines/director/lingo/lingo-gr.y"
+ case 147: /* cmdargs: expr trailingcomma */
+#line 483 "engines/director/lingo/lingo-gr.y"
{
// This matches `cmd arg` and `cmd(arg)`
NodeList *args = new NodeList;
args->push_back((yyvsp[-1].node));
(yyval.nodelist) = args; }
-#line 3573 "engines/director/lingo/lingo-gr.cpp"
+#line 3763 "engines/director/lingo/lingo-gr.cpp"
break;
- case 129: /* cmdargs: expr ',' nonemptyexprlist trailingcomma */
-#line 448 "engines/director/lingo/lingo-gr.y"
+ case 148: /* cmdargs: expr ',' nonemptyexprlist trailingcomma */
+#line 488 "engines/director/lingo/lingo-gr.y"
{
// This matches `cmd arg, ...)
(yyvsp[-1].nodelist)->insert_at(0, (yyvsp[-3].node));
(yyval.nodelist) = (yyvsp[-1].nodelist); }
-#line 3582 "engines/director/lingo/lingo-gr.cpp"
+#line 3772 "engines/director/lingo/lingo-gr.cpp"
break;
- case 130: /* cmdargs: expr expr_nounarymath trailingcomma */
-#line 452 "engines/director/lingo/lingo-gr.y"
+ case 149: /* cmdargs: expr expr_nounarymath trailingcomma */
+#line 492 "engines/director/lingo/lingo-gr.y"
{
// This matches `cmd arg arg`
NodeList *args = new NodeList;
args->push_back((yyvsp[-2].node));
args->push_back((yyvsp[-1].node));
(yyval.nodelist) = args; }
-#line 3593 "engines/director/lingo/lingo-gr.cpp"
+#line 3783 "engines/director/lingo/lingo-gr.cpp"
break;
- case 131: /* cmdargs: expr expr_nounarymath ',' nonemptyexprlist trailingcomma */
-#line 458 "engines/director/lingo/lingo-gr.y"
+ case 150: /* cmdargs: expr expr_nounarymath ',' nonemptyexprlist trailingcomma */
+#line 498 "engines/director/lingo/lingo-gr.y"
{
// This matches `cmd arg arg, ...`
(yyvsp[-1].nodelist)->insert_at(0, (yyvsp[-3].node));
(yyvsp[-1].nodelist)->insert_at(0, (yyvsp[-4].node));
(yyval.nodelist) = (yyvsp[-1].nodelist); }
-#line 3603 "engines/director/lingo/lingo-gr.cpp"
+#line 3793 "engines/director/lingo/lingo-gr.cpp"
break;
- case 132: /* cmdargs: '(' ')' */
-#line 463 "engines/director/lingo/lingo-gr.y"
+ case 151: /* cmdargs: '(' ')' */
+#line 503 "engines/director/lingo/lingo-gr.y"
{
// This matches `cmd()`
(yyval.nodelist) = new NodeList; }
-#line 3611 "engines/director/lingo/lingo-gr.cpp"
+#line 3801 "engines/director/lingo/lingo-gr.cpp"
break;
- case 133: /* cmdargs: '(' expr ',' ')' */
-#line 466 "engines/director/lingo/lingo-gr.y"
+ case 152: /* cmdargs: '(' expr ',' ')' */
+#line 506 "engines/director/lingo/lingo-gr.y"
{
// This matches `cmd(arg,)`
NodeList *args = new NodeList;
args->push_back((yyvsp[-2].node));
(yyval.nodelist) = args; }
-#line 3621 "engines/director/lingo/lingo-gr.cpp"
+#line 3811 "engines/director/lingo/lingo-gr.cpp"
break;
- case 134: /* cmdargs: '(' expr ',' nonemptyexprlist trailingcomma ')' */
-#line 471 "engines/director/lingo/lingo-gr.y"
+ case 153: /* cmdargs: '(' expr ',' nonemptyexprlist trailingcomma ')' */
+#line 511 "engines/director/lingo/lingo-gr.y"
{
// This matches `cmd(arg, ...)`
(yyvsp[-2].nodelist)->insert_at(0, (yyvsp[-4].node));
(yyval.nodelist) = (yyvsp[-2].nodelist); }
-#line 3630 "engines/director/lingo/lingo-gr.cpp"
+#line 3820 "engines/director/lingo/lingo-gr.cpp"
break;
- case 135: /* cmdargs: '(' var expr_nounarymath trailingcomma ')' */
-#line 475 "engines/director/lingo/lingo-gr.y"
+ case 154: /* cmdargs: '(' var expr_nounarymath trailingcomma ')' */
+#line 515 "engines/director/lingo/lingo-gr.y"
{
// This matches `obj(method arg)`
NodeList *args = new NodeList;
args->push_back((yyvsp[-3].node));
args->push_back((yyvsp[-2].node));
(yyval.nodelist) = args; }
-#line 3641 "engines/director/lingo/lingo-gr.cpp"
+#line 3831 "engines/director/lingo/lingo-gr.cpp"
break;
- case 136: /* cmdargs: '(' var expr_nounarymath ',' nonemptyexprlist trailingcomma ')' */
-#line 481 "engines/director/lingo/lingo-gr.y"
+ case 155: /* cmdargs: '(' var expr_nounarymath ',' nonemptyexprlist trailingcomma ')' */
+#line 521 "engines/director/lingo/lingo-gr.y"
{
// This matches `obj(method arg, ...)`
(yyvsp[-2].nodelist)->insert_at(0, (yyvsp[-4].node));
(yyvsp[-2].nodelist)->insert_at(0, (yyvsp[-5].node));
(yyval.nodelist) = (yyvsp[-2].nodelist); }
-#line 3651 "engines/director/lingo/lingo-gr.cpp"
+#line 3841 "engines/director/lingo/lingo-gr.cpp"
break;
- case 139: /* frameargs: tFRAME expr */
-#line 494 "engines/director/lingo/lingo-gr.y"
+ case 158: /* frameargs: tFRAME expr */
+#line 534 "engines/director/lingo/lingo-gr.y"
{
// This matches `play frame arg`
NodeList *args = new NodeList;
args->push_back(new FrameNode((yyvsp[0].node)));
(yyval.nodelist) = args; }
-#line 3661 "engines/director/lingo/lingo-gr.cpp"
+#line 3851 "engines/director/lingo/lingo-gr.cpp"
break;
- case 140: /* frameargs: tMOVIE expr */
-#line 499 "engines/director/lingo/lingo-gr.y"
+ case 159: /* frameargs: tMOVIE expr */
+#line 539 "engines/director/lingo/lingo-gr.y"
{
// This matches `play movie arg`
NodeList *args = new NodeList;
args->push_back(new IntNode(1));
args->push_back(new MovieNode((yyvsp[0].node)));
(yyval.nodelist) = args; }
-#line 3672 "engines/director/lingo/lingo-gr.cpp"
+#line 3862 "engines/director/lingo/lingo-gr.cpp"
break;
- case 141: /* frameargs: tFRAME expr tOF tMOVIE expr */
-#line 505 "engines/director/lingo/lingo-gr.y"
+ case 160: /* frameargs: tFRAME expr tOF tMOVIE expr */
+#line 545 "engines/director/lingo/lingo-gr.y"
{
// This matches `play frame arg of movie arg`
NodeList *args = new NodeList;
args->push_back(new FrameNode((yyvsp[-3].node)));
args->push_back(new MovieNode((yyvsp[0].node)));
(yyval.nodelist) = args; }
-#line 3683 "engines/director/lingo/lingo-gr.cpp"
+#line 3873 "engines/director/lingo/lingo-gr.cpp"
break;
- case 142: /* frameargs: expr tOF tMOVIE expr */
-#line 511 "engines/director/lingo/lingo-gr.y"
+ case 161: /* frameargs: expr tOF tMOVIE expr */
+#line 551 "engines/director/lingo/lingo-gr.y"
{
// This matches `play arg of movie arg` (weird but valid)
NodeList *args = new NodeList;
args->push_back((yyvsp[-3].node));
args->push_back(new MovieNode((yyvsp[0].node)));
(yyval.nodelist) = args; }
-#line 3694 "engines/director/lingo/lingo-gr.cpp"
+#line 3884 "engines/director/lingo/lingo-gr.cpp"
break;
- case 143: /* frameargs: tFRAME expr expr_nounarymath */
-#line 517 "engines/director/lingo/lingo-gr.y"
+ case 162: /* frameargs: tFRAME expr expr_nounarymath */
+#line 557 "engines/director/lingo/lingo-gr.y"
{
// This matches `play frame arg arg` (also weird but valid)
NodeList *args = new NodeList;
args->push_back(new FrameNode((yyvsp[-1].node)));
args->push_back((yyvsp[0].node));
(yyval.nodelist) = args; }
-#line 3705 "engines/director/lingo/lingo-gr.cpp"
+#line 3895 "engines/director/lingo/lingo-gr.cpp"
break;
- case 144: /* asgn: tPUT expr tINTO varorchunk '\n' */
-#line 525 "engines/director/lingo/lingo-gr.y"
+ case 163: /* asgn: tPUT expr tINTO varorchunk '\n' */
+#line 565 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new PutIntoNode((yyvsp[-3].node), (yyvsp[-1].node)); }
-#line 3711 "engines/director/lingo/lingo-gr.cpp"
+#line 3901 "engines/director/lingo/lingo-gr.cpp"
break;
- case 145: /* asgn: tPUT expr tAFTER varorchunk '\n' */
-#line 526 "engines/director/lingo/lingo-gr.y"
+ case 164: /* asgn: tPUT expr tINTO varorchunk error '\n' */
+#line 566 "engines/director/lingo/lingo-gr.y"
+ { TRIM_GARBAGE((yyval.node), new PutIntoNode((yyvsp[-4].node), (yyvsp[-2].node))); }
+#line 3907 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 165: /* asgn: tPUT expr tAFTER varorchunk '\n' */
+#line 567 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new PutAfterNode((yyvsp[-3].node), (yyvsp[-1].node)); }
-#line 3717 "engines/director/lingo/lingo-gr.cpp"
+#line 3913 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 166: /* asgn: tPUT expr tAFTER varorchunk error '\n' */
+#line 568 "engines/director/lingo/lingo-gr.y"
+ { TRIM_GARBAGE((yyval.node), new PutAfterNode((yyvsp[-4].node), (yyvsp[-2].node))); }
+#line 3919 "engines/director/lingo/lingo-gr.cpp"
break;
- case 146: /* asgn: tPUT expr tBEFORE varorchunk '\n' */
-#line 527 "engines/director/lingo/lingo-gr.y"
+ case 167: /* asgn: tPUT expr tBEFORE varorchunk '\n' */
+#line 569 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new PutBeforeNode((yyvsp[-3].node), (yyvsp[-1].node)); }
-#line 3723 "engines/director/lingo/lingo-gr.cpp"
+#line 3925 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 168: /* asgn: tPUT expr tBEFORE varorchunk error '\n' */
+#line 570 "engines/director/lingo/lingo-gr.y"
+ { TRIM_GARBAGE((yyval.node), new PutBeforeNode((yyvsp[-4].node), (yyvsp[-2].node))); }
+#line 3931 "engines/director/lingo/lingo-gr.cpp"
break;
- case 147: /* asgn: tSET varorthe to expr '\n' */
-#line 528 "engines/director/lingo/lingo-gr.y"
+ case 169: /* asgn: tSET varorthe to expr '\n' */
+#line 571 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new SetNode((yyvsp[-3].node), (yyvsp[-1].node)); }
-#line 3729 "engines/director/lingo/lingo-gr.cpp"
+#line 3937 "engines/director/lingo/lingo-gr.cpp"
break;
- case 150: /* definevars: tGLOBAL idlist '\n' */
-#line 533 "engines/director/lingo/lingo-gr.y"
+ case 170: /* asgn: tSET varorthe to expr error '\n' */
+#line 572 "engines/director/lingo/lingo-gr.y"
+ { TRIM_GARBAGE((yyval.node), new SetNode((yyvsp[-4].node), (yyvsp[-2].node))); }
+#line 3943 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 173: /* definevars: tGLOBAL idlist '\n' */
+#line 577 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new GlobalNode((yyvsp[-1].idlist)); }
-#line 3735 "engines/director/lingo/lingo-gr.cpp"
+#line 3949 "engines/director/lingo/lingo-gr.cpp"
break;
- case 151: /* definevars: tPROPERTY idlist '\n' */
-#line 534 "engines/director/lingo/lingo-gr.y"
+ case 174: /* definevars: tGLOBAL idlist error '\n' */
+#line 578 "engines/director/lingo/lingo-gr.y"
+ { TRIM_GARBAGE((yyval.node), new GlobalNode((yyvsp[-2].idlist))); }
+#line 3955 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 175: /* definevars: tPROPERTY idlist '\n' */
+#line 579 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new PropertyNode((yyvsp[-1].idlist)); }
-#line 3741 "engines/director/lingo/lingo-gr.cpp"
+#line 3961 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 176: /* definevars: tPROPERTY idlist error '\n' */
+#line 580 "engines/director/lingo/lingo-gr.y"
+ { TRIM_GARBAGE((yyval.node), new PropertyNode((yyvsp[-2].idlist))); }
+#line 3967 "engines/director/lingo/lingo-gr.cpp"
break;
- case 152: /* definevars: tINSTANCE idlist '\n' */
-#line 535 "engines/director/lingo/lingo-gr.y"
+ case 177: /* definevars: tINSTANCE idlist '\n' */
+#line 581 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new InstanceNode((yyvsp[-1].idlist)); }
-#line 3747 "engines/director/lingo/lingo-gr.cpp"
+#line 3973 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 178: /* definevars: tINSTANCE idlist error '\n' */
+#line 582 "engines/director/lingo/lingo-gr.y"
+ { TRIM_GARBAGE((yyval.node), new InstanceNode((yyvsp[-2].idlist))); }
+#line 3979 "engines/director/lingo/lingo-gr.cpp"
break;
- case 153: /* ifstmt: tIF expr tTHEN stmt */
-#line 538 "engines/director/lingo/lingo-gr.y"
+ case 179: /* ifstmt: tIF expr tTHEN stmt */
+#line 585 "engines/director/lingo/lingo-gr.y"
{
NodeList *stmtlist = new NodeList;
stmtlist->push_back((yyvsp[0].node));
(yyval.node) = new IfStmtNode((yyvsp[-2].node), stmtlist); }
-#line 3756 "engines/director/lingo/lingo-gr.cpp"
+#line 3988 "engines/director/lingo/lingo-gr.cpp"
break;
- case 154: /* ifstmt: tIF expr tTHEN '\n' stmtlist_insideif endif */
-#line 542 "engines/director/lingo/lingo-gr.y"
+ case 180: /* ifstmt: tIF expr tTHEN '\n' stmtlist_insideif endif */
+#line 589 "engines/director/lingo/lingo-gr.y"
{
(yyval.node) = new IfStmtNode((yyvsp[-4].node), (yyvsp[-1].nodelist)); }
-#line 3763 "engines/director/lingo/lingo-gr.cpp"
+#line 3995 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 181: /* ifstmt: tIF expr tTHEN error '\n' stmtlist_insideif endif */
+#line 591 "engines/director/lingo/lingo-gr.y"
+ {
+ TRIM_GARBAGE((yyval.node), new IfStmtNode((yyvsp[-5].node), (yyvsp[-1].nodelist))); }
+#line 4002 "engines/director/lingo/lingo-gr.cpp"
break;
- case 155: /* ifelsestmt: tIF expr tTHEN stmt tELSE stmt */
-#line 546 "engines/director/lingo/lingo-gr.y"
+ case 182: /* ifelsestmt: tIF expr tTHEN stmt tELSE stmt */
+#line 595 "engines/director/lingo/lingo-gr.y"
{
NodeList *stmtlist1 = new NodeList;
stmtlist1->push_back((yyvsp[-2].node));
NodeList *stmtlist2 = new NodeList;
stmtlist2->push_back((yyvsp[0].node));
(yyval.node) = new IfElseStmtNode((yyvsp[-4].node), stmtlist1, stmtlist2); }
-#line 3774 "engines/director/lingo/lingo-gr.cpp"
+#line 4013 "engines/director/lingo/lingo-gr.cpp"
break;
- case 156: /* ifelsestmt: tIF expr tTHEN stmt tELSE '\n' stmtlist_insideif endif */
-#line 552 "engines/director/lingo/lingo-gr.y"
+ case 183: /* ifelsestmt: tIF expr tTHEN stmt tELSE '\n' stmtlist_insideif endif */
+#line 601 "engines/director/lingo/lingo-gr.y"
{
NodeList *stmtlist1 = new NodeList;
stmtlist1->push_back((yyvsp[-4].node));
(yyval.node) = new IfElseStmtNode((yyvsp[-6].node), stmtlist1, (yyvsp[-1].nodelist)); }
-#line 3783 "engines/director/lingo/lingo-gr.cpp"
+#line 4022 "engines/director/lingo/lingo-gr.cpp"
break;
- case 157: /* ifelsestmt: tIF expr tTHEN '\n' stmtlist_insideif tELSE stmt */
-#line 556 "engines/director/lingo/lingo-gr.y"
+ case 184: /* ifelsestmt: tIF expr tTHEN '\n' stmtlist_insideif tELSE stmt */
+#line 605 "engines/director/lingo/lingo-gr.y"
{
NodeList *stmtlist2 = new NodeList;
stmtlist2->push_back((yyvsp[0].node));
(yyval.node) = new IfElseStmtNode((yyvsp[-5].node), (yyvsp[-2].nodelist), stmtlist2); }
-#line 3792 "engines/director/lingo/lingo-gr.cpp"
+#line 4031 "engines/director/lingo/lingo-gr.cpp"
break;
- case 158: /* ifelsestmt: tIF expr tTHEN '\n' stmtlist_insideif tELSE '\n' stmtlist_insideif endif */
-#line 560 "engines/director/lingo/lingo-gr.y"
+ case 185: /* ifelsestmt: tIF expr tTHEN '\n' stmtlist_insideif tELSE '\n' stmtlist_insideif endif */
+#line 609 "engines/director/lingo/lingo-gr.y"
{
(yyval.node) = new IfElseStmtNode((yyvsp[-7].node), (yyvsp[-4].nodelist), (yyvsp[-1].nodelist)); }
-#line 3799 "engines/director/lingo/lingo-gr.cpp"
+#line 4038 "engines/director/lingo/lingo-gr.cpp"
break;
- case 159: /* endif: %empty */
-#line 564 "engines/director/lingo/lingo-gr.y"
+ case 186: /* endif: %empty */
+#line 613 "engines/director/lingo/lingo-gr.y"
{
LingoCompiler *compiler = g_lingo->_compiler;
warning("LingoCompiler::parse: no end if at line %d col %d in %s id: %d",
@@ -3807,967 +4046,1002 @@ yyreduce:
compiler->_assemblyContext->_id);
}
-#line 3811 "engines/director/lingo/lingo-gr.cpp"
+#line 4050 "engines/director/lingo/lingo-gr.cpp"
break;
- case 161: /* loop: tREPEAT tWHILE expr '\n' stmtlist tENDREPEAT '\n' */
-#line 573 "engines/director/lingo/lingo-gr.y"
+ case 188: /* loop: tREPEAT tWHILE expr '\n' stmtlist tENDREPEAT '\n' */
+#line 622 "engines/director/lingo/lingo-gr.y"
{
(yyval.node) = new RepeatWhileNode((yyvsp[-4].node), (yyvsp[-2].nodelist)); }
-#line 3818 "engines/director/lingo/lingo-gr.cpp"
+#line 4057 "engines/director/lingo/lingo-gr.cpp"
break;
- case 162: /* loop: tREPEAT tWITH ID tEQ expr tTO expr '\n' stmtlist tENDREPEAT '\n' */
-#line 575 "engines/director/lingo/lingo-gr.y"
+ case 189: /* loop: tREPEAT tWHILE expr error '\n' stmtlist tENDREPEAT '\n' */
+#line 624 "engines/director/lingo/lingo-gr.y"
+ {
+ TRIM_GARBAGE((yyval.node), new RepeatWhileNode((yyvsp[-5].node), (yyvsp[-2].nodelist))); }
+#line 4064 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 190: /* loop: tREPEAT tWITH ID tEQ expr tTO expr '\n' stmtlist tENDREPEAT '\n' */
+#line 626 "engines/director/lingo/lingo-gr.y"
{
(yyval.node) = new RepeatWithToNode((yyvsp[-8].s), (yyvsp[-6].node), false, (yyvsp[-4].node), (yyvsp[-2].nodelist)); }
-#line 3825 "engines/director/lingo/lingo-gr.cpp"
+#line 4071 "engines/director/lingo/lingo-gr.cpp"
break;
- case 163: /* loop: tREPEAT tWITH ID tEQ expr tDOWN tTO expr '\n' stmtlist tENDREPEAT '\n' */
-#line 577 "engines/director/lingo/lingo-gr.y"
+ case 191: /* loop: tREPEAT tWITH ID tEQ expr tTO expr error '\n' stmtlist tENDREPEAT '\n' */
+#line 628 "engines/director/lingo/lingo-gr.y"
+ {
+ TRIM_GARBAGE((yyval.node), new RepeatWithToNode((yyvsp[-9].s), (yyvsp[-7].node), false, (yyvsp[-5].node), (yyvsp[-2].nodelist))); }
+#line 4078 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 192: /* loop: tREPEAT tWITH ID tEQ expr tDOWN tTO expr '\n' stmtlist tENDREPEAT '\n' */
+#line 630 "engines/director/lingo/lingo-gr.y"
{
(yyval.node) = new RepeatWithToNode((yyvsp[-9].s), (yyvsp[-7].node), true, (yyvsp[-4].node), (yyvsp[-2].nodelist)); }
-#line 3832 "engines/director/lingo/lingo-gr.cpp"
+#line 4085 "engines/director/lingo/lingo-gr.cpp"
break;
- case 164: /* loop: tREPEAT tWITH ID tIN expr '\n' stmtlist tENDREPEAT '\n' */
-#line 579 "engines/director/lingo/lingo-gr.y"
+ case 193: /* loop: tREPEAT tWITH ID tEQ expr tDOWN tTO expr error '\n' stmtlist tENDREPEAT '\n' */
+#line 632 "engines/director/lingo/lingo-gr.y"
+ {
+ TRIM_GARBAGE((yyval.node), new RepeatWithToNode((yyvsp[-10].s), (yyvsp[-8].node), true, (yyvsp[-5].node), (yyvsp[-2].nodelist))); }
+#line 4092 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 194: /* loop: tREPEAT tWITH ID tIN expr '\n' stmtlist tENDREPEAT '\n' */
+#line 634 "engines/director/lingo/lingo-gr.y"
{
(yyval.node) = new RepeatWithInNode((yyvsp[-6].s), (yyvsp[-4].node), (yyvsp[-2].nodelist)); }
-#line 3839 "engines/director/lingo/lingo-gr.cpp"
+#line 4099 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 195: /* loop: tREPEAT tWITH ID tIN expr error '\n' stmtlist tENDREPEAT '\n' */
+#line 636 "engines/director/lingo/lingo-gr.y"
+ {
+ TRIM_GARBAGE((yyval.node), new RepeatWithInNode((yyvsp[-7].s), (yyvsp[-5].node), (yyvsp[-2].nodelist))); }
+#line 4106 "engines/director/lingo/lingo-gr.cpp"
break;
- case 165: /* tell: tTELL expr tTO stmtoneliner */
-#line 583 "engines/director/lingo/lingo-gr.y"
+ case 196: /* tell: tTELL expr tTO stmtoneliner */
+#line 640 "engines/director/lingo/lingo-gr.y"
{
NodeList *stmtlist = new NodeList;
stmtlist->push_back((yyvsp[0].node));
(yyval.node) = new TellNode((yyvsp[-2].node), stmtlist); }
-#line 3848 "engines/director/lingo/lingo-gr.cpp"
+#line 4115 "engines/director/lingo/lingo-gr.cpp"
break;
- case 166: /* tell: tTELL expr '\n' stmtlist tENDTELL '\n' */
-#line 587 "engines/director/lingo/lingo-gr.y"
+ case 197: /* tell: tTELL expr '\n' stmtlist tENDTELL '\n' */
+#line 644 "engines/director/lingo/lingo-gr.y"
{
(yyval.node) = new TellNode((yyvsp[-4].node), (yyvsp[-2].nodelist)); }
-#line 3855 "engines/director/lingo/lingo-gr.cpp"
+#line 4122 "engines/director/lingo/lingo-gr.cpp"
break;
- case 167: /* when: tWHEN '\n' */
-#line 591 "engines/director/lingo/lingo-gr.y"
+ case 198: /* tell: tTELL expr error '\n' stmtlist tENDTELL '\n' */
+#line 646 "engines/director/lingo/lingo-gr.y"
+ {
+ TRIM_GARBAGE((yyval.node), new TellNode((yyvsp[-5].node), (yyvsp[-2].nodelist))); }
+#line 4129 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 199: /* when: tWHEN '\n' */
+#line 650 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new WhenNode((yyvsp[-1].w).eventName, (yyvsp[-1].w).stmt); }
-#line 3861 "engines/director/lingo/lingo-gr.cpp"
+#line 4135 "engines/director/lingo/lingo-gr.cpp"
break;
- case 168: /* stmtlist: %empty */
-#line 593 "engines/director/lingo/lingo-gr.y"
+ case 200: /* stmtlist: %empty */
+#line 652 "engines/director/lingo/lingo-gr.y"
{ (yyval.nodelist) = new NodeList; }
-#line 3867 "engines/director/lingo/lingo-gr.cpp"
+#line 4141 "engines/director/lingo/lingo-gr.cpp"
break;
- case 170: /* nonemptystmtlist: stmtlistline */
-#line 598 "engines/director/lingo/lingo-gr.y"
+ case 202: /* nonemptystmtlist: stmtlistline */
+#line 657 "engines/director/lingo/lingo-gr.y"
{
NodeList *list = new NodeList;
if ((yyvsp[0].node)) {
list->push_back((yyvsp[0].node));
}
(yyval.nodelist) = list; }
-#line 3878 "engines/director/lingo/lingo-gr.cpp"
+#line 4152 "engines/director/lingo/lingo-gr.cpp"
break;
- case 171: /* nonemptystmtlist: nonemptystmtlist stmtlistline */
-#line 604 "engines/director/lingo/lingo-gr.y"
+ case 203: /* nonemptystmtlist: nonemptystmtlist stmtlistline */
+#line 663 "engines/director/lingo/lingo-gr.y"
{
if ((yyvsp[0].node)) {
(yyvsp[-1].nodelist)->push_back((yyvsp[0].node));
}
(yyval.nodelist) = (yyvsp[-1].nodelist); }
-#line 3888 "engines/director/lingo/lingo-gr.cpp"
+#line 4162 "engines/director/lingo/lingo-gr.cpp"
break;
- case 172: /* stmtlistline: '\n' */
-#line 611 "engines/director/lingo/lingo-gr.y"
+ case 204: /* stmtlistline: '\n' */
+#line 670 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = nullptr; }
-#line 3894 "engines/director/lingo/lingo-gr.cpp"
+#line 4168 "engines/director/lingo/lingo-gr.cpp"
break;
- case 174: /* stmtlist_insideif: %empty */
-#line 615 "engines/director/lingo/lingo-gr.y"
+ case 206: /* stmtlist_insideif: %empty */
+#line 674 "engines/director/lingo/lingo-gr.y"
{ (yyval.nodelist) = new NodeList; }
-#line 3900 "engines/director/lingo/lingo-gr.cpp"
+#line 4174 "engines/director/lingo/lingo-gr.cpp"
break;
- case 176: /* nonemptystmtlist_insideif: stmtlistline_insideif */
-#line 620 "engines/director/lingo/lingo-gr.y"
+ case 208: /* nonemptystmtlist_insideif: stmtlistline_insideif */
+#line 679 "engines/director/lingo/lingo-gr.y"
{
NodeList *list = new NodeList;
if ((yyvsp[0].node)) {
list->push_back((yyvsp[0].node));
}
(yyval.nodelist) = list; }
-#line 3911 "engines/director/lingo/lingo-gr.cpp"
+#line 4185 "engines/director/lingo/lingo-gr.cpp"
break;
- case 177: /* nonemptystmtlist_insideif: nonemptystmtlist_insideif stmtlistline_insideif */
-#line 626 "engines/director/lingo/lingo-gr.y"
+ case 209: /* nonemptystmtlist_insideif: nonemptystmtlist_insideif stmtlistline_insideif */
+#line 685 "engines/director/lingo/lingo-gr.y"
{
if ((yyvsp[0].node)) {
(yyvsp[-1].nodelist)->push_back((yyvsp[0].node));
}
(yyval.nodelist) = (yyvsp[-1].nodelist); }
-#line 3921 "engines/director/lingo/lingo-gr.cpp"
+#line 4195 "engines/director/lingo/lingo-gr.cpp"
break;
- case 178: /* stmtlistline_insideif: '\n' */
-#line 633 "engines/director/lingo/lingo-gr.y"
+ case 210: /* stmtlistline_insideif: '\n' */
+#line 692 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = nullptr; }
-#line 3927 "engines/director/lingo/lingo-gr.cpp"
+#line 4201 "engines/director/lingo/lingo-gr.cpp"
break;
- case 180: /* simpleexpr_nounarymath: tINT */
-#line 640 "engines/director/lingo/lingo-gr.y"
+ case 212: /* simpleexpr_nounarymath: tINT */
+#line 699 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new IntNode((yyvsp[0].i)); }
-#line 3933 "engines/director/lingo/lingo-gr.cpp"
+#line 4207 "engines/director/lingo/lingo-gr.cpp"
break;
- case 181: /* simpleexpr_nounarymath: tFLOAT */
-#line 641 "engines/director/lingo/lingo-gr.y"
+ case 213: /* simpleexpr_nounarymath: tFLOAT */
+#line 700 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new FloatNode((yyvsp[0].f)); }
-#line 3939 "engines/director/lingo/lingo-gr.cpp"
+#line 4213 "engines/director/lingo/lingo-gr.cpp"
break;
- case 182: /* simpleexpr_nounarymath: tSYMBOL */
-#line 642 "engines/director/lingo/lingo-gr.y"
+ case 214: /* simpleexpr_nounarymath: tSYMBOL */
+#line 701 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new SymbolNode((yyvsp[0].s)); }
-#line 3945 "engines/director/lingo/lingo-gr.cpp"
+#line 4219 "engines/director/lingo/lingo-gr.cpp"
break;
- case 183: /* simpleexpr_nounarymath: tSTRING */
-#line 643 "engines/director/lingo/lingo-gr.y"
+ case 215: /* simpleexpr_nounarymath: tSTRING */
+#line 702 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new StringNode((yyvsp[0].s)); }
-#line 3951 "engines/director/lingo/lingo-gr.cpp"
+#line 4225 "engines/director/lingo/lingo-gr.cpp"
break;
- case 184: /* simpleexpr_nounarymath: tNOT simpleexpr */
-#line 644 "engines/director/lingo/lingo-gr.y"
+ case 216: /* simpleexpr_nounarymath: tNOT simpleexpr */
+#line 703 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new UnaryOpNode(LC::c_not, (yyvsp[0].node)); }
-#line 3957 "engines/director/lingo/lingo-gr.cpp"
+#line 4231 "engines/director/lingo/lingo-gr.cpp"
break;
- case 185: /* simpleexpr_nounarymath: ID '(' ')' */
-#line 645 "engines/director/lingo/lingo-gr.y"
+ case 217: /* simpleexpr_nounarymath: ID '(' ')' */
+#line 704 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new FuncNode((yyvsp[-2].s), new NodeList); }
-#line 3963 "engines/director/lingo/lingo-gr.cpp"
+#line 4237 "engines/director/lingo/lingo-gr.cpp"
break;
- case 186: /* simpleexpr_nounarymath: ID '(' nonemptyexprlist trailingcomma ')' */
-#line 646 "engines/director/lingo/lingo-gr.y"
+ case 218: /* simpleexpr_nounarymath: ID '(' nonemptyexprlist trailingcomma ')' */
+#line 705 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new FuncNode((yyvsp[-4].s), (yyvsp[-2].nodelist)); }
-#line 3969 "engines/director/lingo/lingo-gr.cpp"
+#line 4243 "engines/director/lingo/lingo-gr.cpp"
break;
- case 187: /* simpleexpr_nounarymath: ID '(' var expr_nounarymath trailingcomma ')' */
-#line 647 "engines/director/lingo/lingo-gr.y"
+ case 219: /* simpleexpr_nounarymath: ID '(' var expr_nounarymath trailingcomma ')' */
+#line 706 "engines/director/lingo/lingo-gr.y"
{
// This matches `obj(method arg)`
NodeList *args = new NodeList;
args->push_back((yyvsp[-3].node));
args->push_back((yyvsp[-2].node));
(yyval.node) = new FuncNode((yyvsp[-5].s), args); }
-#line 3980 "engines/director/lingo/lingo-gr.cpp"
+#line 4254 "engines/director/lingo/lingo-gr.cpp"
break;
- case 188: /* simpleexpr_nounarymath: ID '(' var expr_nounarymath ',' nonemptyexprlist trailingcomma ')' */
-#line 653 "engines/director/lingo/lingo-gr.y"
+ case 220: /* simpleexpr_nounarymath: ID '(' var expr_nounarymath ',' nonemptyexprlist trailingcomma ')' */
+#line 712 "engines/director/lingo/lingo-gr.y"
{
// This matches `obj(method arg, ...)`
(yyvsp[-2].nodelist)->insert_at(0, (yyvsp[-4].node));
(yyvsp[-2].nodelist)->insert_at(0, (yyvsp[-5].node));
(yyval.node) = new FuncNode((yyvsp[-7].s), (yyvsp[-2].nodelist)); }
-#line 3990 "engines/director/lingo/lingo-gr.cpp"
+#line 4264 "engines/director/lingo/lingo-gr.cpp"
break;
- case 189: /* simpleexpr_nounarymath: '(' expr ')' */
-#line 658 "engines/director/lingo/lingo-gr.y"
+ case 221: /* simpleexpr_nounarymath: '(' expr ')' */
+#line 717 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = (yyvsp[-1].node); }
-#line 3996 "engines/director/lingo/lingo-gr.cpp"
+#line 4270 "engines/director/lingo/lingo-gr.cpp"
break;
- case 195: /* var: ID */
-#line 666 "engines/director/lingo/lingo-gr.y"
+ case 227: /* var: ID */
+#line 725 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new VarNode((yyvsp[0].s)); }
-#line 4002 "engines/director/lingo/lingo-gr.cpp"
+#line 4276 "engines/director/lingo/lingo-gr.cpp"
break;
- case 200: /* chunk: tFIELD refargs */
-#line 676 "engines/director/lingo/lingo-gr.y"
+ case 232: /* chunk: tFIELD refargs */
+#line 735 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new FuncNode(new Common::String("field"), (yyvsp[0].nodelist)); }
-#line 4008 "engines/director/lingo/lingo-gr.cpp"
+#line 4282 "engines/director/lingo/lingo-gr.cpp"
break;
- case 201: /* chunk: tCAST refargs */
-#line 677 "engines/director/lingo/lingo-gr.y"
+ case 233: /* chunk: tCAST refargs */
+#line 736 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new FuncNode(new Common::String("cast"), (yyvsp[0].nodelist)); }
-#line 4014 "engines/director/lingo/lingo-gr.cpp"
+#line 4288 "engines/director/lingo/lingo-gr.cpp"
break;
- case 202: /* chunk: tMEMBER refargs */
-#line 678 "engines/director/lingo/lingo-gr.y"
+ case 234: /* chunk: tMEMBER refargs */
+#line 737 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new FuncNode(new Common::String("member"), (yyvsp[0].nodelist)); }
-#line 4020 "engines/director/lingo/lingo-gr.cpp"
+#line 4294 "engines/director/lingo/lingo-gr.cpp"
break;
- case 203: /* chunk: tCASTLIB refargs */
-#line 679 "engines/director/lingo/lingo-gr.y"
+ case 235: /* chunk: tCASTLIB refargs */
+#line 738 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new FuncNode(new Common::String("castLib"), (yyvsp[0].nodelist)); }
-#line 4026 "engines/director/lingo/lingo-gr.cpp"
+#line 4300 "engines/director/lingo/lingo-gr.cpp"
break;
- case 204: /* chunk: tCHAR expr tOF simpleexpr */
-#line 680 "engines/director/lingo/lingo-gr.y"
+ case 236: /* chunk: tCHAR expr tOF simpleexpr */
+#line 739 "engines/director/lingo/lingo-gr.y"
{
(yyval.node) = new ChunkExprNode(kChunkChar, (yyvsp[-2].node), nullptr, (yyvsp[0].node)); }
-#line 4033 "engines/director/lingo/lingo-gr.cpp"
+#line 4307 "engines/director/lingo/lingo-gr.cpp"
break;
- case 205: /* chunk: tCHAR expr tTO expr tOF simpleexpr */
-#line 682 "engines/director/lingo/lingo-gr.y"
+ case 237: /* chunk: tCHAR expr tTO expr tOF simpleexpr */
+#line 741 "engines/director/lingo/lingo-gr.y"
{
(yyval.node) = new ChunkExprNode(kChunkChar, (yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4040 "engines/director/lingo/lingo-gr.cpp"
+#line 4314 "engines/director/lingo/lingo-gr.cpp"
break;
- case 206: /* chunk: tWORD expr tOF simpleexpr */
-#line 684 "engines/director/lingo/lingo-gr.y"
+ case 238: /* chunk: tWORD expr tOF simpleexpr */
+#line 743 "engines/director/lingo/lingo-gr.y"
{
(yyval.node) = new ChunkExprNode(kChunkWord, (yyvsp[-2].node), nullptr, (yyvsp[0].node)); }
-#line 4047 "engines/director/lingo/lingo-gr.cpp"
+#line 4321 "engines/director/lingo/lingo-gr.cpp"
break;
- case 207: /* chunk: tWORD expr tTO expr tOF simpleexpr */
-#line 686 "engines/director/lingo/lingo-gr.y"
+ case 239: /* chunk: tWORD expr tTO expr tOF simpleexpr */
+#line 745 "engines/director/lingo/lingo-gr.y"
{
(yyval.node) = new ChunkExprNode(kChunkWord, (yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4054 "engines/director/lingo/lingo-gr.cpp"
+#line 4328 "engines/director/lingo/lingo-gr.cpp"
break;
- case 208: /* chunk: tITEM expr tOF simpleexpr */
-#line 688 "engines/director/lingo/lingo-gr.y"
+ case 240: /* chunk: tITEM expr tOF simpleexpr */
+#line 747 "engines/director/lingo/lingo-gr.y"
{
(yyval.node) = new ChunkExprNode(kChunkItem, (yyvsp[-2].node), nullptr, (yyvsp[0].node)); }
-#line 4061 "engines/director/lingo/lingo-gr.cpp"
+#line 4335 "engines/director/lingo/lingo-gr.cpp"
break;
- case 209: /* chunk: tITEM expr tTO expr tOF simpleexpr */
-#line 690 "engines/director/lingo/lingo-gr.y"
+ case 241: /* chunk: tITEM expr tTO expr tOF simpleexpr */
+#line 749 "engines/director/lingo/lingo-gr.y"
{
(yyval.node) = new ChunkExprNode(kChunkItem, (yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4068 "engines/director/lingo/lingo-gr.cpp"
+#line 4342 "engines/director/lingo/lingo-gr.cpp"
break;
- case 210: /* chunk: tLINE expr tOF simpleexpr */
-#line 692 "engines/director/lingo/lingo-gr.y"
+ case 242: /* chunk: tLINE expr tOF simpleexpr */
+#line 751 "engines/director/lingo/lingo-gr.y"
{
(yyval.node) = new ChunkExprNode(kChunkLine, (yyvsp[-2].node), nullptr, (yyvsp[0].node)); }
-#line 4075 "engines/director/lingo/lingo-gr.cpp"
+#line 4349 "engines/director/lingo/lingo-gr.cpp"
break;
- case 211: /* chunk: tLINE expr tTO expr tOF simpleexpr */
-#line 694 "engines/director/lingo/lingo-gr.y"
+ case 243: /* chunk: tLINE expr tTO expr tOF simpleexpr */
+#line 753 "engines/director/lingo/lingo-gr.y"
{
(yyval.node) = new ChunkExprNode(kChunkLine, (yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4082 "engines/director/lingo/lingo-gr.cpp"
+#line 4356 "engines/director/lingo/lingo-gr.cpp"
break;
- case 212: /* chunk: tTHE tLAST chunktype inof simpleexpr */
-#line 696 "engines/director/lingo/lingo-gr.y"
+ case 244: /* chunk: tTHE tLAST chunktype inof simpleexpr */
+#line 755 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new TheLastNode((yyvsp[-2].chunktype), (yyvsp[0].node)); }
-#line 4088 "engines/director/lingo/lingo-gr.cpp"
+#line 4362 "engines/director/lingo/lingo-gr.cpp"
break;
- case 213: /* chunktype: tCHAR */
-#line 699 "engines/director/lingo/lingo-gr.y"
+ case 245: /* chunktype: tCHAR */
+#line 758 "engines/director/lingo/lingo-gr.y"
{ (yyval.chunktype) = kChunkChar; }
-#line 4094 "engines/director/lingo/lingo-gr.cpp"
+#line 4368 "engines/director/lingo/lingo-gr.cpp"
break;
- case 214: /* chunktype: tWORD */
-#line 700 "engines/director/lingo/lingo-gr.y"
+ case 246: /* chunktype: tWORD */
+#line 759 "engines/director/lingo/lingo-gr.y"
{ (yyval.chunktype) = kChunkWord; }
-#line 4100 "engines/director/lingo/lingo-gr.cpp"
+#line 4374 "engines/director/lingo/lingo-gr.cpp"
break;
- case 215: /* chunktype: tITEM */
-#line 701 "engines/director/lingo/lingo-gr.y"
+ case 247: /* chunktype: tITEM */
+#line 760 "engines/director/lingo/lingo-gr.y"
{ (yyval.chunktype) = kChunkItem; }
-#line 4106 "engines/director/lingo/lingo-gr.cpp"
+#line 4380 "engines/director/lingo/lingo-gr.cpp"
break;
- case 216: /* chunktype: tLINE */
-#line 702 "engines/director/lingo/lingo-gr.y"
+ case 248: /* chunktype: tLINE */
+#line 761 "engines/director/lingo/lingo-gr.y"
{ (yyval.chunktype) = kChunkLine; }
-#line 4112 "engines/director/lingo/lingo-gr.cpp"
+#line 4386 "engines/director/lingo/lingo-gr.cpp"
break;
- case 217: /* object: tSCRIPT refargs */
-#line 705 "engines/director/lingo/lingo-gr.y"
+ case 249: /* object: tSCRIPT refargs */
+#line 764 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new FuncNode(new Common::String("script"), (yyvsp[0].nodelist)); }
-#line 4118 "engines/director/lingo/lingo-gr.cpp"
+#line 4392 "engines/director/lingo/lingo-gr.cpp"
break;
- case 218: /* object: tWINDOW refargs */
-#line 706 "engines/director/lingo/lingo-gr.y"
+ case 250: /* object: tWINDOW refargs */
+#line 765 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new FuncNode(new Common::String("window"), (yyvsp[0].nodelist)); }
-#line 4124 "engines/director/lingo/lingo-gr.cpp"
+#line 4398 "engines/director/lingo/lingo-gr.cpp"
break;
- case 219: /* refargs: simpleexpr */
-#line 709 "engines/director/lingo/lingo-gr.y"
+ case 251: /* refargs: simpleexpr */
+#line 768 "engines/director/lingo/lingo-gr.y"
{
// This matches `ref arg` and `ref(arg)`
NodeList *args = new NodeList;
args->push_back((yyvsp[0].node));
(yyval.nodelist) = args; }
-#line 4134 "engines/director/lingo/lingo-gr.cpp"
+#line 4408 "engines/director/lingo/lingo-gr.cpp"
break;
- case 220: /* refargs: '(' ')' */
-#line 714 "engines/director/lingo/lingo-gr.y"
+ case 252: /* refargs: '(' ')' */
+#line 773 "engines/director/lingo/lingo-gr.y"
{
// This matches `ref()`
(yyval.nodelist) = new NodeList; }
-#line 4142 "engines/director/lingo/lingo-gr.cpp"
+#line 4416 "engines/director/lingo/lingo-gr.cpp"
break;
- case 221: /* refargs: '(' expr ',' ')' */
-#line 717 "engines/director/lingo/lingo-gr.y"
+ case 253: /* refargs: '(' expr ',' ')' */
+#line 776 "engines/director/lingo/lingo-gr.y"
{
// This matches `ref(arg,)`
NodeList *args = new NodeList;
args->push_back((yyvsp[-2].node));
(yyval.nodelist) = args; }
-#line 4152 "engines/director/lingo/lingo-gr.cpp"
+#line 4426 "engines/director/lingo/lingo-gr.cpp"
break;
- case 222: /* refargs: '(' expr ',' nonemptyexprlist trailingcomma ')' */
-#line 722 "engines/director/lingo/lingo-gr.y"
+ case 254: /* refargs: '(' expr ',' nonemptyexprlist trailingcomma ')' */
+#line 781 "engines/director/lingo/lingo-gr.y"
{
// This matches `ref(arg, ...)`
(yyvsp[-2].nodelist)->insert_at(0, (yyvsp[-4].node));
(yyval.nodelist) = (yyvsp[-2].nodelist); }
-#line 4161 "engines/director/lingo/lingo-gr.cpp"
+#line 4435 "engines/director/lingo/lingo-gr.cpp"
break;
- case 223: /* the: tTHE ID */
-#line 728 "engines/director/lingo/lingo-gr.y"
+ case 255: /* the: tTHE ID */
+#line 787 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new TheNode((yyvsp[0].s)); }
-#line 4167 "engines/director/lingo/lingo-gr.cpp"
+#line 4441 "engines/director/lingo/lingo-gr.cpp"
break;
- case 224: /* the: tTHE ID tOF theobj */
-#line 729 "engines/director/lingo/lingo-gr.y"
+ case 256: /* the: tTHE ID tOF theobj */
+#line 788 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new TheOfNode((yyvsp[-2].s), (yyvsp[0].node)); }
-#line 4173 "engines/director/lingo/lingo-gr.cpp"
+#line 4447 "engines/director/lingo/lingo-gr.cpp"
break;
- case 225: /* the: tTHE tNUMBER tOF theobj */
-#line 730 "engines/director/lingo/lingo-gr.y"
+ case 257: /* the: tTHE tNUMBER tOF theobj */
+#line 789 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new TheOfNode(new Common::String("number"), (yyvsp[0].node)); }
-#line 4179 "engines/director/lingo/lingo-gr.cpp"
+#line 4453 "engines/director/lingo/lingo-gr.cpp"
break;
- case 230: /* theobj: tMENUITEM simpleexpr tOF tMENU simpleexpr */
-#line 737 "engines/director/lingo/lingo-gr.y"
+ case 262: /* theobj: tMENUITEM simpleexpr tOF tMENU simpleexpr */
+#line 796 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new MenuItemNode((yyvsp[-3].node), (yyvsp[0].node)); }
-#line 4185 "engines/director/lingo/lingo-gr.cpp"
+#line 4459 "engines/director/lingo/lingo-gr.cpp"
break;
- case 231: /* theobj: tSOUND simpleexpr */
-#line 738 "engines/director/lingo/lingo-gr.y"
+ case 263: /* theobj: tSOUND simpleexpr */
+#line 797 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new SoundNode((yyvsp[0].node)); }
-#line 4191 "engines/director/lingo/lingo-gr.cpp"
+#line 4465 "engines/director/lingo/lingo-gr.cpp"
break;
- case 232: /* theobj: tSPRITE simpleexpr */
-#line 739 "engines/director/lingo/lingo-gr.y"
+ case 264: /* theobj: tSPRITE simpleexpr */
+#line 798 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new SpriteNode((yyvsp[0].node)); }
-#line 4197 "engines/director/lingo/lingo-gr.cpp"
+#line 4471 "engines/director/lingo/lingo-gr.cpp"
break;
- case 233: /* menu: tMENU simpleexpr */
-#line 742 "engines/director/lingo/lingo-gr.y"
+ case 265: /* menu: tMENU simpleexpr */
+#line 801 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new MenuNode((yyvsp[0].node)); }
-#line 4203 "engines/director/lingo/lingo-gr.cpp"
+#line 4477 "engines/director/lingo/lingo-gr.cpp"
break;
- case 234: /* thedatetime: tTHE tABBREVIATED tDATE */
-#line 744 "engines/director/lingo/lingo-gr.y"
+ case 266: /* thedatetime: tTHE tABBREVIATED tDATE */
+#line 803 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new TheDateTimeNode(kTheAbbr, kTheDate); }
-#line 4209 "engines/director/lingo/lingo-gr.cpp"
+#line 4483 "engines/director/lingo/lingo-gr.cpp"
break;
- case 235: /* thedatetime: tTHE tABBREVIATED tTIME */
-#line 745 "engines/director/lingo/lingo-gr.y"
+ case 267: /* thedatetime: tTHE tABBREVIATED tTIME */
+#line 804 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new TheDateTimeNode(kTheAbbr, kTheTime); }
-#line 4215 "engines/director/lingo/lingo-gr.cpp"
+#line 4489 "engines/director/lingo/lingo-gr.cpp"
break;
- case 236: /* thedatetime: tTHE tABBREV tDATE */
-#line 746 "engines/director/lingo/lingo-gr.y"
+ case 268: /* thedatetime: tTHE tABBREV tDATE */
+#line 805 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new TheDateTimeNode(kTheAbbr, kTheDate); }
-#line 4221 "engines/director/lingo/lingo-gr.cpp"
+#line 4495 "engines/director/lingo/lingo-gr.cpp"
break;
- case 237: /* thedatetime: tTHE tABBREV tTIME */
-#line 747 "engines/director/lingo/lingo-gr.y"
+ case 269: /* thedatetime: tTHE tABBREV tTIME */
+#line 806 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new TheDateTimeNode(kTheAbbr, kTheTime); }
-#line 4227 "engines/director/lingo/lingo-gr.cpp"
+#line 4501 "engines/director/lingo/lingo-gr.cpp"
break;
- case 238: /* thedatetime: tTHE tABBR tDATE */
-#line 748 "engines/director/lingo/lingo-gr.y"
+ case 270: /* thedatetime: tTHE tABBR tDATE */
+#line 807 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new TheDateTimeNode(kTheAbbr, kTheDate); }
-#line 4233 "engines/director/lingo/lingo-gr.cpp"
+#line 4507 "engines/director/lingo/lingo-gr.cpp"
break;
- case 239: /* thedatetime: tTHE tABBR tTIME */
-#line 749 "engines/director/lingo/lingo-gr.y"
+ case 271: /* thedatetime: tTHE tABBR tTIME */
+#line 808 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new TheDateTimeNode(kTheAbbr, kTheTime); }
-#line 4239 "engines/director/lingo/lingo-gr.cpp"
+#line 4513 "engines/director/lingo/lingo-gr.cpp"
break;
- case 240: /* thedatetime: tTHE tLONG tDATE */
-#line 750 "engines/director/lingo/lingo-gr.y"
+ case 272: /* thedatetime: tTHE tLONG tDATE */
+#line 809 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new TheDateTimeNode(kTheLong, kTheDate); }
-#line 4245 "engines/director/lingo/lingo-gr.cpp"
+#line 4519 "engines/director/lingo/lingo-gr.cpp"
break;
- case 241: /* thedatetime: tTHE tLONG tTIME */
-#line 751 "engines/director/lingo/lingo-gr.y"
+ case 273: /* thedatetime: tTHE tLONG tTIME */
+#line 810 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new TheDateTimeNode(kTheLong, kTheTime); }
-#line 4251 "engines/director/lingo/lingo-gr.cpp"
+#line 4525 "engines/director/lingo/lingo-gr.cpp"
break;
- case 242: /* thedatetime: tTHE tSHORT tDATE */
-#line 752 "engines/director/lingo/lingo-gr.y"
+ case 274: /* thedatetime: tTHE tSHORT tDATE */
+#line 811 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new TheDateTimeNode(kTheShort, kTheDate); }
-#line 4257 "engines/director/lingo/lingo-gr.cpp"
+#line 4531 "engines/director/lingo/lingo-gr.cpp"
break;
- case 243: /* thedatetime: tTHE tSHORT tTIME */
-#line 753 "engines/director/lingo/lingo-gr.y"
+ case 275: /* thedatetime: tTHE tSHORT tTIME */
+#line 812 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new TheDateTimeNode(kTheShort, kTheTime); }
-#line 4263 "engines/director/lingo/lingo-gr.cpp"
+#line 4537 "engines/director/lingo/lingo-gr.cpp"
break;
- case 244: /* thenumberof: tTHE tNUMBER tOF tCHARS inof simpleexpr */
-#line 757 "engines/director/lingo/lingo-gr.y"
+ case 276: /* thenumberof: tTHE tNUMBER tOF tCHARS inof simpleexpr */
+#line 816 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new TheNumberOfNode(kNumberOfChars, (yyvsp[0].node)); }
-#line 4269 "engines/director/lingo/lingo-gr.cpp"
+#line 4543 "engines/director/lingo/lingo-gr.cpp"
break;
- case 245: /* thenumberof: tTHE tNUMBER tOF tWORDS inof simpleexpr */
-#line 758 "engines/director/lingo/lingo-gr.y"
+ case 277: /* thenumberof: tTHE tNUMBER tOF tWORDS inof simpleexpr */
+#line 817 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new TheNumberOfNode(kNumberOfWords, (yyvsp[0].node)); }
-#line 4275 "engines/director/lingo/lingo-gr.cpp"
+#line 4549 "engines/director/lingo/lingo-gr.cpp"
break;
- case 246: /* thenumberof: tTHE tNUMBER tOF tITEMS inof simpleexpr */
-#line 759 "engines/director/lingo/lingo-gr.y"
+ case 278: /* thenumberof: tTHE tNUMBER tOF tITEMS inof simpleexpr */
+#line 818 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new TheNumberOfNode(kNumberOfItems, (yyvsp[0].node)); }
-#line 4281 "engines/director/lingo/lingo-gr.cpp"
+#line 4555 "engines/director/lingo/lingo-gr.cpp"
break;
- case 247: /* thenumberof: tTHE tNUMBER tOF tLINES inof simpleexpr */
-#line 760 "engines/director/lingo/lingo-gr.y"
+ case 279: /* thenumberof: tTHE tNUMBER tOF tLINES inof simpleexpr */
+#line 819 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new TheNumberOfNode(kNumberOfLines, (yyvsp[0].node)); }
-#line 4287 "engines/director/lingo/lingo-gr.cpp"
+#line 4561 "engines/director/lingo/lingo-gr.cpp"
break;
- case 248: /* thenumberof: tTHE tNUMBER tOF tMENUITEMS inof menu */
-#line 761 "engines/director/lingo/lingo-gr.y"
+ case 280: /* thenumberof: tTHE tNUMBER tOF tMENUITEMS inof menu */
+#line 820 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new TheNumberOfNode(kNumberOfMenuItems, (yyvsp[0].node)); }
-#line 4293 "engines/director/lingo/lingo-gr.cpp"
+#line 4567 "engines/director/lingo/lingo-gr.cpp"
break;
- case 249: /* thenumberof: tTHE tNUMBER tOF tMENUS */
-#line 762 "engines/director/lingo/lingo-gr.y"
+ case 281: /* thenumberof: tTHE tNUMBER tOF tMENUS */
+#line 821 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new TheNumberOfNode(kNumberOfMenus, nullptr); }
-#line 4299 "engines/director/lingo/lingo-gr.cpp"
+#line 4573 "engines/director/lingo/lingo-gr.cpp"
break;
- case 250: /* thenumberof: tTHE tNUMBER tOF tXTRAS */
-#line 763 "engines/director/lingo/lingo-gr.y"
+ case 282: /* thenumberof: tTHE tNUMBER tOF tXTRAS */
+#line 822 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new TheNumberOfNode(kNumberOfXtras, nullptr); }
-#line 4305 "engines/director/lingo/lingo-gr.cpp"
+#line 4579 "engines/director/lingo/lingo-gr.cpp"
break;
- case 251: /* thenumberof: tTHE tNUMBER tOF tCASTLIBS */
-#line 764 "engines/director/lingo/lingo-gr.y"
+ case 283: /* thenumberof: tTHE tNUMBER tOF tCASTLIBS */
+#line 823 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new TheNumberOfNode(kNumberOfCastlibs, nullptr); }
-#line 4311 "engines/director/lingo/lingo-gr.cpp"
+#line 4585 "engines/director/lingo/lingo-gr.cpp"
break;
- case 254: /* writablethe: tTHE ID */
-#line 769 "engines/director/lingo/lingo-gr.y"
+ case 286: /* writablethe: tTHE ID */
+#line 828 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new TheNode((yyvsp[0].s)); }
-#line 4317 "engines/director/lingo/lingo-gr.cpp"
+#line 4591 "engines/director/lingo/lingo-gr.cpp"
break;
- case 255: /* writablethe: tTHE ID tOF writabletheobj */
-#line 770 "engines/director/lingo/lingo-gr.y"
+ case 287: /* writablethe: tTHE ID tOF writabletheobj */
+#line 829 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new TheOfNode((yyvsp[-2].s), (yyvsp[0].node)); }
-#line 4323 "engines/director/lingo/lingo-gr.cpp"
+#line 4597 "engines/director/lingo/lingo-gr.cpp"
break;
- case 257: /* writabletheobj: tMENU expr_noeq */
-#line 774 "engines/director/lingo/lingo-gr.y"
+ case 289: /* writabletheobj: tMENU expr_noeq */
+#line 833 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new MenuNode((yyvsp[0].node)); }
-#line 4329 "engines/director/lingo/lingo-gr.cpp"
+#line 4603 "engines/director/lingo/lingo-gr.cpp"
break;
- case 258: /* writabletheobj: tMENUITEM expr_noeq tOF tMENU expr_noeq */
-#line 775 "engines/director/lingo/lingo-gr.y"
+ case 290: /* writabletheobj: tMENUITEM expr_noeq tOF tMENU expr_noeq */
+#line 834 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new MenuItemNode((yyvsp[-3].node), (yyvsp[0].node)); }
-#line 4335 "engines/director/lingo/lingo-gr.cpp"
+#line 4609 "engines/director/lingo/lingo-gr.cpp"
break;
- case 259: /* writabletheobj: tSOUND expr_noeq */
-#line 776 "engines/director/lingo/lingo-gr.y"
+ case 291: /* writabletheobj: tSOUND expr_noeq */
+#line 835 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new SoundNode((yyvsp[0].node)); }
-#line 4341 "engines/director/lingo/lingo-gr.cpp"
+#line 4615 "engines/director/lingo/lingo-gr.cpp"
break;
- case 260: /* writabletheobj: tSPRITE expr_noeq */
-#line 777 "engines/director/lingo/lingo-gr.y"
+ case 292: /* writabletheobj: tSPRITE expr_noeq */
+#line 836 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new SpriteNode((yyvsp[0].node)); }
-#line 4347 "engines/director/lingo/lingo-gr.cpp"
+#line 4621 "engines/director/lingo/lingo-gr.cpp"
break;
- case 261: /* list: '[' exprlist ']' */
-#line 780 "engines/director/lingo/lingo-gr.y"
+ case 293: /* list: '[' exprlist ']' */
+#line 839 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new ListNode((yyvsp[-1].nodelist)); }
-#line 4353 "engines/director/lingo/lingo-gr.cpp"
+#line 4627 "engines/director/lingo/lingo-gr.cpp"
break;
- case 262: /* list: '[' ':' ']' */
-#line 781 "engines/director/lingo/lingo-gr.y"
+ case 294: /* list: '[' ':' ']' */
+#line 840 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new PropListNode(new NodeList); }
-#line 4359 "engines/director/lingo/lingo-gr.cpp"
+#line 4633 "engines/director/lingo/lingo-gr.cpp"
break;
- case 263: /* list: '[' proplist ']' */
-#line 782 "engines/director/lingo/lingo-gr.y"
+ case 295: /* list: '[' proplist ']' */
+#line 841 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new PropListNode((yyvsp[-1].nodelist)); }
-#line 4365 "engines/director/lingo/lingo-gr.cpp"
+#line 4639 "engines/director/lingo/lingo-gr.cpp"
break;
- case 264: /* proplist: proppair */
-#line 788 "engines/director/lingo/lingo-gr.y"
+ case 296: /* proplist: proppair */
+#line 847 "engines/director/lingo/lingo-gr.y"
{
NodeList *list = new NodeList;
list->push_back((yyvsp[0].node));
(yyval.nodelist) = list; }
-#line 4374 "engines/director/lingo/lingo-gr.cpp"
+#line 4648 "engines/director/lingo/lingo-gr.cpp"
break;
- case 265: /* proplist: proplist ',' proppair */
-#line 792 "engines/director/lingo/lingo-gr.y"
+ case 297: /* proplist: proplist ',' proppair */
+#line 851 "engines/director/lingo/lingo-gr.y"
{
(yyvsp[-2].nodelist)->push_back((yyvsp[0].node));
(yyval.nodelist) = (yyvsp[-2].nodelist); }
-#line 4382 "engines/director/lingo/lingo-gr.cpp"
+#line 4656 "engines/director/lingo/lingo-gr.cpp"
break;
- case 266: /* proplist: proplist ',' expr */
-#line 795 "engines/director/lingo/lingo-gr.y"
+ case 298: /* proplist: proplist ',' expr */
+#line 854 "engines/director/lingo/lingo-gr.y"
{
(yyvsp[-2].nodelist)->push_back((yyvsp[0].node));
(yyval.nodelist) = (yyvsp[-2].nodelist); }
-#line 4390 "engines/director/lingo/lingo-gr.cpp"
+#line 4664 "engines/director/lingo/lingo-gr.cpp"
break;
- case 267: /* proppair: tSYMBOL ':' expr */
-#line 800 "engines/director/lingo/lingo-gr.y"
+ case 299: /* proppair: tSYMBOL ':' expr */
+#line 859 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new PropPairNode(new SymbolNode((yyvsp[-2].s)), (yyvsp[0].node)); }
-#line 4396 "engines/director/lingo/lingo-gr.cpp"
+#line 4670 "engines/director/lingo/lingo-gr.cpp"
break;
- case 268: /* proppair: ID ':' expr */
-#line 801 "engines/director/lingo/lingo-gr.y"
+ case 300: /* proppair: ID ':' expr */
+#line 860 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new PropPairNode(new SymbolNode((yyvsp[-2].s)), (yyvsp[0].node)); }
-#line 4402 "engines/director/lingo/lingo-gr.cpp"
+#line 4676 "engines/director/lingo/lingo-gr.cpp"
break;
- case 269: /* proppair: tSTRING ':' expr */
-#line 802 "engines/director/lingo/lingo-gr.y"
+ case 301: /* proppair: tSTRING ':' expr */
+#line 861 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new PropPairNode(new StringNode((yyvsp[-2].s)), (yyvsp[0].node)); }
-#line 4408 "engines/director/lingo/lingo-gr.cpp"
+#line 4682 "engines/director/lingo/lingo-gr.cpp"
break;
- case 270: /* proppair: tINT ':' expr */
-#line 803 "engines/director/lingo/lingo-gr.y"
+ case 302: /* proppair: tINT ':' expr */
+#line 862 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new PropPairNode(new IntNode((yyvsp[-2].i)), (yyvsp[0].node)); }
-#line 4414 "engines/director/lingo/lingo-gr.cpp"
+#line 4688 "engines/director/lingo/lingo-gr.cpp"
break;
- case 271: /* proppair: tFLOAT ':' expr */
-#line 804 "engines/director/lingo/lingo-gr.y"
+ case 303: /* proppair: tFLOAT ':' expr */
+#line 863 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new PropPairNode(new FloatNode((yyvsp[-2].f)), (yyvsp[0].node)); }
-#line 4420 "engines/director/lingo/lingo-gr.cpp"
+#line 4694 "engines/director/lingo/lingo-gr.cpp"
break;
- case 272: /* unarymath: '+' simpleexpr */
-#line 807 "engines/director/lingo/lingo-gr.y"
+ case 304: /* unarymath: '+' simpleexpr */
+#line 866 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 4426 "engines/director/lingo/lingo-gr.cpp"
+#line 4700 "engines/director/lingo/lingo-gr.cpp"
break;
- case 273: /* unarymath: '-' simpleexpr */
-#line 808 "engines/director/lingo/lingo-gr.y"
+ case 305: /* unarymath: '-' simpleexpr */
+#line 867 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new UnaryOpNode(LC::c_negate, (yyvsp[0].node)); }
-#line 4432 "engines/director/lingo/lingo-gr.cpp"
+#line 4706 "engines/director/lingo/lingo-gr.cpp"
break;
- case 278: /* expr: expr '+' expr */
-#line 818 "engines/director/lingo/lingo-gr.y"
+ case 310: /* expr: expr '+' expr */
+#line 877 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_add, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4438 "engines/director/lingo/lingo-gr.cpp"
+#line 4712 "engines/director/lingo/lingo-gr.cpp"
break;
- case 279: /* expr: expr '-' expr */
-#line 819 "engines/director/lingo/lingo-gr.y"
+ case 311: /* expr: expr '-' expr */
+#line 878 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_sub, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4444 "engines/director/lingo/lingo-gr.cpp"
+#line 4718 "engines/director/lingo/lingo-gr.cpp"
break;
- case 280: /* expr: expr '*' expr */
-#line 820 "engines/director/lingo/lingo-gr.y"
+ case 312: /* expr: expr '*' expr */
+#line 879 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_mul, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4450 "engines/director/lingo/lingo-gr.cpp"
+#line 4724 "engines/director/lingo/lingo-gr.cpp"
break;
- case 281: /* expr: expr '/' expr */
-#line 821 "engines/director/lingo/lingo-gr.y"
+ case 313: /* expr: expr '/' expr */
+#line 880 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_div, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4456 "engines/director/lingo/lingo-gr.cpp"
+#line 4730 "engines/director/lingo/lingo-gr.cpp"
break;
- case 282: /* expr: expr tMOD expr */
-#line 822 "engines/director/lingo/lingo-gr.y"
+ case 314: /* expr: expr tMOD expr */
+#line 881 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_mod, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4462 "engines/director/lingo/lingo-gr.cpp"
+#line 4736 "engines/director/lingo/lingo-gr.cpp"
break;
- case 283: /* expr: expr '>' expr */
-#line 823 "engines/director/lingo/lingo-gr.y"
+ case 315: /* expr: expr '>' expr */
+#line 882 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_gt, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4468 "engines/director/lingo/lingo-gr.cpp"
+#line 4742 "engines/director/lingo/lingo-gr.cpp"
break;
- case 284: /* expr: expr '<' expr */
-#line 824 "engines/director/lingo/lingo-gr.y"
+ case 316: /* expr: expr '<' expr */
+#line 883 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_lt, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4474 "engines/director/lingo/lingo-gr.cpp"
+#line 4748 "engines/director/lingo/lingo-gr.cpp"
break;
- case 285: /* expr: expr tEQ expr */
-#line 825 "engines/director/lingo/lingo-gr.y"
+ case 317: /* expr: expr tEQ expr */
+#line 884 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_eq, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4480 "engines/director/lingo/lingo-gr.cpp"
+#line 4754 "engines/director/lingo/lingo-gr.cpp"
break;
- case 286: /* expr: expr tNEQ expr */
-#line 826 "engines/director/lingo/lingo-gr.y"
+ case 318: /* expr: expr tNEQ expr */
+#line 885 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_neq, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4486 "engines/director/lingo/lingo-gr.cpp"
+#line 4760 "engines/director/lingo/lingo-gr.cpp"
break;
- case 287: /* expr: expr tGE expr */
-#line 827 "engines/director/lingo/lingo-gr.y"
+ case 319: /* expr: expr tGE expr */
+#line 886 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_ge, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4492 "engines/director/lingo/lingo-gr.cpp"
+#line 4766 "engines/director/lingo/lingo-gr.cpp"
break;
- case 288: /* expr: expr tLE expr */
-#line 828 "engines/director/lingo/lingo-gr.y"
+ case 320: /* expr: expr tLE expr */
+#line 887 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_le, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4498 "engines/director/lingo/lingo-gr.cpp"
+#line 4772 "engines/director/lingo/lingo-gr.cpp"
break;
- case 289: /* expr: expr tAND expr */
-#line 829 "engines/director/lingo/lingo-gr.y"
+ case 321: /* expr: expr tAND expr */
+#line 888 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_and, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4504 "engines/director/lingo/lingo-gr.cpp"
+#line 4778 "engines/director/lingo/lingo-gr.cpp"
break;
- case 290: /* expr: expr tOR expr */
-#line 830 "engines/director/lingo/lingo-gr.y"
+ case 322: /* expr: expr tOR expr */
+#line 889 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_or, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4510 "engines/director/lingo/lingo-gr.cpp"
+#line 4784 "engines/director/lingo/lingo-gr.cpp"
break;
- case 291: /* expr: expr '&' expr */
-#line 831 "engines/director/lingo/lingo-gr.y"
+ case 323: /* expr: expr '&' expr */
+#line 890 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_ampersand, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4516 "engines/director/lingo/lingo-gr.cpp"
+#line 4790 "engines/director/lingo/lingo-gr.cpp"
break;
- case 292: /* expr: expr tCONCAT expr */
-#line 832 "engines/director/lingo/lingo-gr.y"
+ case 324: /* expr: expr tCONCAT expr */
+#line 891 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_concat, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4522 "engines/director/lingo/lingo-gr.cpp"
+#line 4796 "engines/director/lingo/lingo-gr.cpp"
break;
- case 293: /* expr: expr tCONTAINS expr */
-#line 833 "engines/director/lingo/lingo-gr.y"
+ case 325: /* expr: expr tCONTAINS expr */
+#line 892 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_contains, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4528 "engines/director/lingo/lingo-gr.cpp"
+#line 4802 "engines/director/lingo/lingo-gr.cpp"
break;
- case 294: /* expr: expr tSTARTS expr */
-#line 834 "engines/director/lingo/lingo-gr.y"
+ case 326: /* expr: expr tSTARTS expr */
+#line 893 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_starts, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4534 "engines/director/lingo/lingo-gr.cpp"
+#line 4808 "engines/director/lingo/lingo-gr.cpp"
break;
- case 297: /* expr_nounarymath: expr_nounarymath '+' expr */
-#line 843 "engines/director/lingo/lingo-gr.y"
+ case 329: /* expr_nounarymath: expr_nounarymath '+' expr */
+#line 902 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_add, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4540 "engines/director/lingo/lingo-gr.cpp"
+#line 4814 "engines/director/lingo/lingo-gr.cpp"
break;
- case 298: /* expr_nounarymath: expr_nounarymath '-' expr */
-#line 844 "engines/director/lingo/lingo-gr.y"
+ case 330: /* expr_nounarymath: expr_nounarymath '-' expr */
+#line 903 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_sub, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4546 "engines/director/lingo/lingo-gr.cpp"
+#line 4820 "engines/director/lingo/lingo-gr.cpp"
break;
- case 299: /* expr_nounarymath: expr_nounarymath '*' expr */
-#line 845 "engines/director/lingo/lingo-gr.y"
+ case 331: /* expr_nounarymath: expr_nounarymath '*' expr */
+#line 904 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_mul, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4552 "engines/director/lingo/lingo-gr.cpp"
+#line 4826 "engines/director/lingo/lingo-gr.cpp"
break;
- case 300: /* expr_nounarymath: expr_nounarymath '/' expr */
-#line 846 "engines/director/lingo/lingo-gr.y"
+ case 332: /* expr_nounarymath: expr_nounarymath '/' expr */
+#line 905 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_div, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4558 "engines/director/lingo/lingo-gr.cpp"
+#line 4832 "engines/director/lingo/lingo-gr.cpp"
break;
- case 301: /* expr_nounarymath: expr_nounarymath tMOD expr */
-#line 847 "engines/director/lingo/lingo-gr.y"
+ case 333: /* expr_nounarymath: expr_nounarymath tMOD expr */
+#line 906 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_mod, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4564 "engines/director/lingo/lingo-gr.cpp"
+#line 4838 "engines/director/lingo/lingo-gr.cpp"
break;
- case 302: /* expr_nounarymath: expr_nounarymath '>' expr */
-#line 848 "engines/director/lingo/lingo-gr.y"
+ case 334: /* expr_nounarymath: expr_nounarymath '>' expr */
+#line 907 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_gt, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4570 "engines/director/lingo/lingo-gr.cpp"
+#line 4844 "engines/director/lingo/lingo-gr.cpp"
break;
- case 303: /* expr_nounarymath: expr_nounarymath '<' expr */
-#line 849 "engines/director/lingo/lingo-gr.y"
+ case 335: /* expr_nounarymath: expr_nounarymath '<' expr */
+#line 908 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_lt, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4576 "engines/director/lingo/lingo-gr.cpp"
+#line 4850 "engines/director/lingo/lingo-gr.cpp"
break;
- case 304: /* expr_nounarymath: expr_nounarymath tEQ expr */
-#line 850 "engines/director/lingo/lingo-gr.y"
+ case 336: /* expr_nounarymath: expr_nounarymath tEQ expr */
+#line 909 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_eq, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4582 "engines/director/lingo/lingo-gr.cpp"
+#line 4856 "engines/director/lingo/lingo-gr.cpp"
break;
- case 305: /* expr_nounarymath: expr_nounarymath tNEQ expr */
-#line 851 "engines/director/lingo/lingo-gr.y"
+ case 337: /* expr_nounarymath: expr_nounarymath tNEQ expr */
+#line 910 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_neq, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4588 "engines/director/lingo/lingo-gr.cpp"
+#line 4862 "engines/director/lingo/lingo-gr.cpp"
break;
- case 306: /* expr_nounarymath: expr_nounarymath tGE expr */
-#line 852 "engines/director/lingo/lingo-gr.y"
+ case 338: /* expr_nounarymath: expr_nounarymath tGE expr */
+#line 911 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_ge, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4594 "engines/director/lingo/lingo-gr.cpp"
+#line 4868 "engines/director/lingo/lingo-gr.cpp"
break;
- case 307: /* expr_nounarymath: expr_nounarymath tLE expr */
-#line 853 "engines/director/lingo/lingo-gr.y"
+ case 339: /* expr_nounarymath: expr_nounarymath tLE expr */
+#line 912 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_le, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4600 "engines/director/lingo/lingo-gr.cpp"
+#line 4874 "engines/director/lingo/lingo-gr.cpp"
break;
- case 308: /* expr_nounarymath: expr_nounarymath tAND expr */
-#line 854 "engines/director/lingo/lingo-gr.y"
+ case 340: /* expr_nounarymath: expr_nounarymath tAND expr */
+#line 913 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_and, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4606 "engines/director/lingo/lingo-gr.cpp"
+#line 4880 "engines/director/lingo/lingo-gr.cpp"
break;
- case 309: /* expr_nounarymath: expr_nounarymath tOR expr */
-#line 855 "engines/director/lingo/lingo-gr.y"
+ case 341: /* expr_nounarymath: expr_nounarymath tOR expr */
+#line 914 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_or, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4612 "engines/director/lingo/lingo-gr.cpp"
+#line 4886 "engines/director/lingo/lingo-gr.cpp"
break;
- case 310: /* expr_nounarymath: expr_nounarymath '&' expr */
-#line 856 "engines/director/lingo/lingo-gr.y"
+ case 342: /* expr_nounarymath: expr_nounarymath '&' expr */
+#line 915 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_ampersand, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4618 "engines/director/lingo/lingo-gr.cpp"
+#line 4892 "engines/director/lingo/lingo-gr.cpp"
break;
- case 311: /* expr_nounarymath: expr_nounarymath tCONCAT expr */
-#line 857 "engines/director/lingo/lingo-gr.y"
+ case 343: /* expr_nounarymath: expr_nounarymath tCONCAT expr */
+#line 916 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_concat, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4624 "engines/director/lingo/lingo-gr.cpp"
+#line 4898 "engines/director/lingo/lingo-gr.cpp"
break;
- case 312: /* expr_nounarymath: expr_nounarymath tCONTAINS expr */
-#line 858 "engines/director/lingo/lingo-gr.y"
+ case 344: /* expr_nounarymath: expr_nounarymath tCONTAINS expr */
+#line 917 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_contains, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4630 "engines/director/lingo/lingo-gr.cpp"
+#line 4904 "engines/director/lingo/lingo-gr.cpp"
break;
- case 313: /* expr_nounarymath: expr_nounarymath tSTARTS expr */
-#line 859 "engines/director/lingo/lingo-gr.y"
+ case 345: /* expr_nounarymath: expr_nounarymath tSTARTS expr */
+#line 918 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_starts, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4636 "engines/director/lingo/lingo-gr.cpp"
+#line 4910 "engines/director/lingo/lingo-gr.cpp"
break;
- case 316: /* expr_noeq: expr_noeq '+' expr_noeq */
-#line 864 "engines/director/lingo/lingo-gr.y"
+ case 348: /* expr_noeq: expr_noeq '+' expr_noeq */
+#line 923 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_add, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4642 "engines/director/lingo/lingo-gr.cpp"
+#line 4916 "engines/director/lingo/lingo-gr.cpp"
break;
- case 317: /* expr_noeq: expr_noeq '-' expr_noeq */
-#line 865 "engines/director/lingo/lingo-gr.y"
+ case 349: /* expr_noeq: expr_noeq '-' expr_noeq */
+#line 924 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_sub, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4648 "engines/director/lingo/lingo-gr.cpp"
+#line 4922 "engines/director/lingo/lingo-gr.cpp"
break;
- case 318: /* expr_noeq: expr_noeq '*' expr_noeq */
-#line 866 "engines/director/lingo/lingo-gr.y"
+ case 350: /* expr_noeq: expr_noeq '*' expr_noeq */
+#line 925 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_mul, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4654 "engines/director/lingo/lingo-gr.cpp"
+#line 4928 "engines/director/lingo/lingo-gr.cpp"
break;
- case 319: /* expr_noeq: expr_noeq '/' expr_noeq */
-#line 867 "engines/director/lingo/lingo-gr.y"
+ case 351: /* expr_noeq: expr_noeq '/' expr_noeq */
+#line 926 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_div, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4660 "engines/director/lingo/lingo-gr.cpp"
+#line 4934 "engines/director/lingo/lingo-gr.cpp"
break;
- case 320: /* expr_noeq: expr_noeq tMOD expr_noeq */
-#line 868 "engines/director/lingo/lingo-gr.y"
+ case 352: /* expr_noeq: expr_noeq tMOD expr_noeq */
+#line 927 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_mod, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4666 "engines/director/lingo/lingo-gr.cpp"
+#line 4940 "engines/director/lingo/lingo-gr.cpp"
break;
- case 321: /* expr_noeq: expr_noeq '>' expr_noeq */
-#line 869 "engines/director/lingo/lingo-gr.y"
+ case 353: /* expr_noeq: expr_noeq '>' expr_noeq */
+#line 928 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_gt, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4672 "engines/director/lingo/lingo-gr.cpp"
+#line 4946 "engines/director/lingo/lingo-gr.cpp"
break;
- case 322: /* expr_noeq: expr_noeq '<' expr_noeq */
-#line 870 "engines/director/lingo/lingo-gr.y"
+ case 354: /* expr_noeq: expr_noeq '<' expr_noeq */
+#line 929 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_lt, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4678 "engines/director/lingo/lingo-gr.cpp"
+#line 4952 "engines/director/lingo/lingo-gr.cpp"
break;
- case 323: /* expr_noeq: expr_noeq tNEQ expr_noeq */
-#line 871 "engines/director/lingo/lingo-gr.y"
+ case 355: /* expr_noeq: expr_noeq tNEQ expr_noeq */
+#line 930 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_neq, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4684 "engines/director/lingo/lingo-gr.cpp"
+#line 4958 "engines/director/lingo/lingo-gr.cpp"
break;
- case 324: /* expr_noeq: expr_noeq tGE expr_noeq */
-#line 872 "engines/director/lingo/lingo-gr.y"
+ case 356: /* expr_noeq: expr_noeq tGE expr_noeq */
+#line 931 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_ge, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4690 "engines/director/lingo/lingo-gr.cpp"
+#line 4964 "engines/director/lingo/lingo-gr.cpp"
break;
- case 325: /* expr_noeq: expr_noeq tLE expr_noeq */
-#line 873 "engines/director/lingo/lingo-gr.y"
+ case 357: /* expr_noeq: expr_noeq tLE expr_noeq */
+#line 932 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_le, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4696 "engines/director/lingo/lingo-gr.cpp"
+#line 4970 "engines/director/lingo/lingo-gr.cpp"
break;
- case 326: /* expr_noeq: expr_noeq tAND expr_noeq */
-#line 874 "engines/director/lingo/lingo-gr.y"
+ case 358: /* expr_noeq: expr_noeq tAND expr_noeq */
+#line 933 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_and, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4702 "engines/director/lingo/lingo-gr.cpp"
+#line 4976 "engines/director/lingo/lingo-gr.cpp"
break;
- case 327: /* expr_noeq: expr_noeq tOR expr_noeq */
-#line 875 "engines/director/lingo/lingo-gr.y"
+ case 359: /* expr_noeq: expr_noeq tOR expr_noeq */
+#line 934 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_or, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4708 "engines/director/lingo/lingo-gr.cpp"
+#line 4982 "engines/director/lingo/lingo-gr.cpp"
break;
- case 328: /* expr_noeq: expr_noeq '&' expr_noeq */
-#line 876 "engines/director/lingo/lingo-gr.y"
+ case 360: /* expr_noeq: expr_noeq '&' expr_noeq */
+#line 935 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_ampersand, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4714 "engines/director/lingo/lingo-gr.cpp"
+#line 4988 "engines/director/lingo/lingo-gr.cpp"
break;
- case 329: /* expr_noeq: expr_noeq tCONCAT expr_noeq */
-#line 877 "engines/director/lingo/lingo-gr.y"
+ case 361: /* expr_noeq: expr_noeq tCONCAT expr_noeq */
+#line 936 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_concat, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4720 "engines/director/lingo/lingo-gr.cpp"
+#line 4994 "engines/director/lingo/lingo-gr.cpp"
break;
- case 330: /* expr_noeq: expr_noeq tCONTAINS expr_noeq */
-#line 878 "engines/director/lingo/lingo-gr.y"
+ case 362: /* expr_noeq: expr_noeq tCONTAINS expr_noeq */
+#line 937 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_contains, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4726 "engines/director/lingo/lingo-gr.cpp"
+#line 5000 "engines/director/lingo/lingo-gr.cpp"
break;
- case 331: /* expr_noeq: expr_noeq tSTARTS expr_noeq */
-#line 879 "engines/director/lingo/lingo-gr.y"
+ case 363: /* expr_noeq: expr_noeq tSTARTS expr_noeq */
+#line 938 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new BinaryOpNode(LC::c_starts, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4732 "engines/director/lingo/lingo-gr.cpp"
+#line 5006 "engines/director/lingo/lingo-gr.cpp"
break;
- case 332: /* sprite: tSPRITE expr tINTERSECTS simpleexpr */
-#line 882 "engines/director/lingo/lingo-gr.y"
+ case 364: /* sprite: tSPRITE expr tINTERSECTS simpleexpr */
+#line 941 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new IntersectsNode((yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4738 "engines/director/lingo/lingo-gr.cpp"
+#line 5012 "engines/director/lingo/lingo-gr.cpp"
break;
- case 333: /* sprite: tSPRITE expr tWITHIN simpleexpr */
-#line 883 "engines/director/lingo/lingo-gr.y"
+ case 365: /* sprite: tSPRITE expr tWITHIN simpleexpr */
+#line 942 "engines/director/lingo/lingo-gr.y"
{ (yyval.node) = new WithinNode((yyvsp[-2].node), (yyvsp[0].node)); }
-#line 4744 "engines/director/lingo/lingo-gr.cpp"
+#line 5018 "engines/director/lingo/lingo-gr.cpp"
break;
- case 334: /* exprlist: %empty */
-#line 886 "engines/director/lingo/lingo-gr.y"
+ case 366: /* exprlist: %empty */
+#line 945 "engines/director/lingo/lingo-gr.y"
{ (yyval.nodelist) = new NodeList; }
-#line 4750 "engines/director/lingo/lingo-gr.cpp"
+#line 5024 "engines/director/lingo/lingo-gr.cpp"
break;
- case 336: /* nonemptyexprlist: expr */
-#line 890 "engines/director/lingo/lingo-gr.y"
+ case 368: /* nonemptyexprlist: expr */
+#line 949 "engines/director/lingo/lingo-gr.y"
{
NodeList *list = new NodeList;
list->push_back((yyvsp[0].node));
(yyval.nodelist) = list; }
-#line 4759 "engines/director/lingo/lingo-gr.cpp"
+#line 5033 "engines/director/lingo/lingo-gr.cpp"
break;
- case 337: /* nonemptyexprlist: nonemptyexprlist ',' expr */
-#line 894 "engines/director/lingo/lingo-gr.y"
+ case 369: /* nonemptyexprlist: nonemptyexprlist ',' expr */
+#line 953 "engines/director/lingo/lingo-gr.y"
{
(yyvsp[-2].nodelist)->push_back((yyvsp[0].node));
(yyval.nodelist) = (yyvsp[-2].nodelist); }
-#line 4767 "engines/director/lingo/lingo-gr.cpp"
+#line 5041 "engines/director/lingo/lingo-gr.cpp"
break;
-#line 4771 "engines/director/lingo/lingo-gr.cpp"
+#line 5045 "engines/director/lingo/lingo-gr.cpp"
default: break;
}
@@ -4965,7 +5239,7 @@ yyreturnlab:
return yyresult;
}
-#line 899 "engines/director/lingo/lingo-gr.y"
+#line 958 "engines/director/lingo/lingo-gr.y"
int yyreport_syntax_error(const yypcontext_t *ctx) {
diff --git a/engines/director/lingo/lingo-gr.h b/engines/director/lingo/lingo-gr.h
index c6ba1237d49..35d6f939a36 100644
--- a/engines/director/lingo/lingo-gr.h
+++ b/engines/director/lingo/lingo-gr.h
@@ -153,7 +153,7 @@ extern int yydebug;
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
union YYSTYPE
{
-#line 118 "engines/director/lingo/lingo-gr.y"
+#line 132 "engines/director/lingo/lingo-gr.y"
Common::String *s;
int i;
diff --git a/engines/director/lingo/lingo-gr.y b/engines/director/lingo/lingo-gr.y
index fc23083a5df..3c09c551fd0 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -78,6 +78,20 @@ extern int yylex();
using namespace Director;
+// if we have the trim garbage flag on, and we encounter
+// an unwelcome surprise in an expression, use everything up until
+// the first failing token.
+#define TRIM_GARBAGE(src, target) \
+ if (g_lingo->_compiler->_trimGarbage) { \
+ warning("Trimming garbage and continuing."); \
+ src = target; \
+ yyerrok; \
+ } else { \
+ src = nullptr; \
+ YYABORT; \
+ } \
+
+
static void yyerror(const char *s) {
LingoCompiler *compiler = g_lingo->_compiler;
compiler->_hadError = true;
@@ -257,13 +271,19 @@ scriptpart: '\n' { $$ = nullptr; }
// See also:
// on keyword
-macro: tMACRO ID idlist '\n' stmtlist { $$ = new HandlerNode($ID, $idlist, $stmtlist); } ;
+macro: tMACRO ID idlist '\n' stmtlist { $$ = new HandlerNode($ID, $idlist, $stmtlist); }
+ | tMACRO ID idlist error '\n' stmtlist { TRIM_GARBAGE($$, new HandlerNode($ID, $idlist, $stmtlist)); }
+ ;
// FACTORY
-factory: tFACTORY ID '\n' methodlist { $$ = new FactoryNode($ID, $methodlist); } ;
+factory: tFACTORY ID '\n' methodlist { $$ = new FactoryNode($ID, $methodlist); }
+ | tFACTORY ID error '\n' methodlist { TRIM_GARBAGE($$, new FactoryNode($ID, $methodlist)); }
+ ;
-method: tMETHOD ID idlist '\n' stmtlist { $$ = new HandlerNode($ID, $idlist, $stmtlist); } ;
+method: tMETHOD ID idlist '\n' stmtlist { $$ = new HandlerNode($ID, $idlist, $stmtlist); }
+ | tMETHOD ID idlist error '\n' stmtlist { TRIM_GARBAGE($$, new HandlerNode($ID, $idlist, $stmtlist)); }
+ ;
methodlist: /* empty */ { $$ = new NodeList; }
| nonemptymethodlist
@@ -293,8 +313,14 @@ handler: tON ID idlist '\n' stmtlist tENDCLAUSE endargdef '\n' { // D3
$$ = new HandlerNode($ID, $idlist, $stmtlist);
checkEnd($tENDCLAUSE, $ID, false);
delete $tENDCLAUSE; }
+ | tON ID idlist error '\n' stmtlist tENDCLAUSE endargdef '\n' { // D3
+ TRIM_GARBAGE($$, new HandlerNode($ID, $idlist, $stmtlist));
+ checkEnd($tENDCLAUSE, $ID, false);
+ delete $tENDCLAUSE; }
| tON ID idlist '\n' stmtlist { // D4. No 'end' clause
$$ = new HandlerNode($ID, $idlist, $stmtlist); }
+ | tON ID idlist error '\n' stmtlist { // D4. No 'end' clause
+ TRIM_GARBAGE($$, new HandlerNode($ID, $idlist, $stmtlist)); }
;
endargdef: /* nothing */
@@ -416,24 +442,38 @@ stmtoneliner: proc
;
proc: CMDID cmdargs '\n' { $$ = new CmdNode($CMDID, $cmdargs, g_lingo->_compiler->_linenumber - 1); }
+ | CMDID cmdargs error '\n' { TRIM_GARBAGE($$, new CmdNode($CMDID, $cmdargs, g_lingo->_compiler->_linenumber - 1)); }
| tPUT cmdargs '\n' { $$ = new CmdNode(new Common::String("put"), $cmdargs, g_lingo->_compiler->_linenumber - 1); }
+ | tPUT cmdargs error '\n' { TRIM_GARBAGE($$, new CmdNode(new Common::String("put"), $cmdargs, g_lingo->_compiler->_linenumber - 1)); }
| tGO cmdargs '\n' { $$ = new CmdNode(new Common::String("go"), $cmdargs, g_lingo->_compiler->_linenumber - 1); }
+ | tGO cmdargs error '\n' { TRIM_GARBAGE($$, new CmdNode(new Common::String("go"), $cmdargs, g_lingo->_compiler->_linenumber - 1)); }
| tGO frameargs '\n' { $$ = new CmdNode(new Common::String("go"), $frameargs, g_lingo->_compiler->_linenumber - 1); }
+ | tGO frameargs error '\n' { TRIM_GARBAGE($$, new CmdNode(new Common::String("go"), $frameargs, g_lingo->_compiler->_linenumber - 1)); }
| tPLAY cmdargs '\n' { $$ = new CmdNode(new Common::String("play"), $cmdargs, g_lingo->_compiler->_linenumber - 1); }
+ | tPLAY cmdargs error '\n' { TRIM_GARBAGE($$, new CmdNode(new Common::String("play"), $cmdargs, g_lingo->_compiler->_linenumber - 1)); }
| tPLAY frameargs '\n' { $$ = new CmdNode(new Common::String("play"), $frameargs, g_lingo->_compiler->_linenumber - 1); }
+ | tPLAY frameargs error '\n' { TRIM_GARBAGE($$, new CmdNode(new Common::String("play"), $frameargs, g_lingo->_compiler->_linenumber - 1)); }
| tOPEN cmdargs '\n' { $$ = new CmdNode(new Common::String("open"), $cmdargs, g_lingo->_compiler->_linenumber - 1); }
+ | tOPEN cmdargs error '\n' { TRIM_GARBAGE($$, new CmdNode(new Common::String("open"), $cmdargs, g_lingo->_compiler->_linenumber - 1)); }
| tOPEN expr[arg1] tWITH expr[arg2] '\n' {
NodeList *args = new NodeList;
args->push_back($arg1);
args->push_back($arg2);
$$ = new CmdNode(new Common::String("open"), args, g_lingo->_compiler->_linenumber - 1); }
| tNEXT tREPEAT '\n' { $$ = new NextRepeatNode(); }
+ | tNEXT tREPEAT error '\n' { TRIM_GARBAGE($$, new NextRepeatNode()); }
| tEXIT tREPEAT '\n' { $$ = new ExitRepeatNode(); }
+ | tEXIT tREPEAT error '\n' { TRIM_GARBAGE($$, new ExitRepeatNode()); }
| tEXIT '\n' { $$ = new ExitNode(); }
+ | tEXIT error '\n' { TRIM_GARBAGE($$, new ExitNode()); }
| tRETURN '\n' { $$ = new ReturnNode(nullptr); }
+ | tRETURN error '\n' { TRIM_GARBAGE($$, new ReturnNode(nullptr)); }
| tRETURN expr '\n' { $$ = new ReturnNode($expr); }
+ | tRETURN expr error '\n' { TRIM_GARBAGE($$, new ReturnNode($expr)); }
| tDELETE chunk '\n' { $$ = new DeleteNode($chunk); }
+ | tDELETE chunk error '\n' { TRIM_GARBAGE($$, new DeleteNode($chunk)); }
| tHILITE chunk '\n' { $$ = new HiliteNode($chunk); }
+ | tHILITE chunk error '\n' { TRIM_GARBAGE($$, new HiliteNode($chunk)); }
| tASSERTERROR stmtoneliner { $$ = new AssertErrorNode($stmtoneliner); }
;
@@ -523,16 +563,23 @@ frameargs:
;
asgn: tPUT expr tINTO varorchunk '\n' { $$ = new PutIntoNode($expr, $varorchunk); }
+ | tPUT expr tINTO varorchunk error '\n' { TRIM_GARBAGE($$, new PutIntoNode($expr, $varorchunk)); }
| tPUT expr tAFTER varorchunk '\n' { $$ = new PutAfterNode($expr, $varorchunk); }
+ | tPUT expr tAFTER varorchunk error '\n' { TRIM_GARBAGE($$, new PutAfterNode($expr, $varorchunk)); }
| tPUT expr tBEFORE varorchunk '\n' { $$ = new PutBeforeNode($expr, $varorchunk); }
+ | tPUT expr tBEFORE varorchunk error '\n' { TRIM_GARBAGE($$, new PutBeforeNode($expr, $varorchunk)); }
| tSET varorthe to expr '\n' { $$ = new SetNode($varorthe, $expr); }
+ | tSET varorthe to expr error '\n' { TRIM_GARBAGE($$, new SetNode($varorthe, $expr)); }
;
to: tTO | tEQ ;
definevars: tGLOBAL idlist '\n' { $$ = new GlobalNode($idlist); }
+ | tGLOBAL idlist error '\n' { TRIM_GARBAGE($$, new GlobalNode($idlist)); }
| tPROPERTY idlist '\n' { $$ = new PropertyNode($idlist); }
+ | tPROPERTY idlist error '\n' { TRIM_GARBAGE($$, new PropertyNode($idlist)); }
| tINSTANCE idlist '\n' { $$ = new InstanceNode($idlist); }
+ | tINSTANCE idlist error '\n' { TRIM_GARBAGE($$, new InstanceNode($idlist)); }
;
ifstmt: tIF expr tTHEN stmt {
@@ -541,6 +588,8 @@ ifstmt: tIF expr tTHEN stmt {
$$ = new IfStmtNode($expr, stmtlist); }
| tIF expr tTHEN '\n' stmtlist_insideif endif {
$$ = new IfStmtNode($expr, $stmtlist_insideif); }
+ | tIF expr tTHEN error '\n' stmtlist_insideif endif {
+ TRIM_GARBAGE($$, new IfStmtNode($expr, $stmtlist_insideif)); }
;
ifelsestmt: tIF expr tTHEN stmt[stmt1] tELSE stmt[stmt2] {
@@ -572,12 +621,20 @@ endif: /* empty */ {
loop: tREPEAT tWHILE expr '\n' stmtlist tENDREPEAT '\n' {
$$ = new RepeatWhileNode($expr, $stmtlist); }
+ | tREPEAT tWHILE expr error '\n' stmtlist tENDREPEAT '\n' {
+ TRIM_GARBAGE($$, new RepeatWhileNode($expr, $stmtlist)); }
| tREPEAT tWITH ID tEQ expr[start] tTO expr[end] '\n' stmtlist tENDREPEAT '\n' {
$$ = new RepeatWithToNode($ID, $start, false, $end, $stmtlist); }
+ | tREPEAT tWITH ID tEQ expr[start] tTO expr[end] error '\n' stmtlist tENDREPEAT '\n' {
+ TRIM_GARBAGE($$, new RepeatWithToNode($ID, $start, false, $end, $stmtlist)); }
| tREPEAT tWITH ID tEQ expr[start] tDOWN tTO expr[end] '\n' stmtlist tENDREPEAT '\n' {
$$ = new RepeatWithToNode($ID, $start, true, $end, $stmtlist); }
+ | tREPEAT tWITH ID tEQ expr[start] tDOWN tTO expr[end] error '\n' stmtlist tENDREPEAT '\n' {
+ TRIM_GARBAGE($$, new RepeatWithToNode($ID, $start, true, $end, $stmtlist)); }
| tREPEAT tWITH ID tIN expr '\n' stmtlist tENDREPEAT '\n' {
$$ = new RepeatWithInNode($ID, $expr, $stmtlist); }
+ | tREPEAT tWITH ID tIN expr error '\n' stmtlist tENDREPEAT '\n' {
+ TRIM_GARBAGE($$, new RepeatWithInNode($ID, $expr, $stmtlist)); }
;
tell: tTELL expr tTO stmtoneliner {
@@ -586,6 +643,8 @@ tell: tTELL expr tTO stmtoneliner {
$$ = new TellNode($expr, stmtlist); }
| tTELL expr '\n' stmtlist tENDTELL '\n' {
$$ = new TellNode($expr, $stmtlist); }
+ | tTELL expr error '\n' stmtlist tENDTELL '\n' {
+ TRIM_GARBAGE($$, new TellNode($expr, $stmtlist)); }
;
when: tWHEN '\n' { $$ = new WhenNode($tWHEN.eventName, $tWHEN.stmt); } ;
More information about the Scummvm-git-logs
mailing list