[Scummvm-git-logs] scummvm master -> 085bc555b7ee3f42810c469b7c5954b6c6cce3d8
djsrv
dservilla at gmail.com
Sun Jul 19 18:49:58 UTC 2020
This automated email contains information about 10 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
7943926317 DIRECTOR: LINGO: Get rid of return preprocessor
e95b7979b7 DIRECTOR: LINGO: Replace BLTIN/FBLTIN
2277a92d8e DIRECTOR: LINGO: Handle ARGC/ARGCNORET
fb8c0e53df DIRECTOR: LINGO: Improve references grammar
c1a087e33e DIRECTOR: LINGO: Improve stmtlist
dac9f31b88 DIRECTOR: LINGO: Fix chunk/sprite expressions
81dc7aaae3 DIRECTOR: LINGO: Move tNOT
7c11fbb89e DIRECTOR: LINGO: Get rid of right recursion
06d5e823e0 DIRECTOR: LINGO: Fix token declaration
085bc555b7 DIRECTOR: LINGO: Add tests
Commit: 7943926317a1b856aa32881a1fe207bf67e5d9d0
https://github.com/scummvm/scummvm/commit/7943926317a1b856aa32881a1fe207bf67e5d9d0
Author: djsrv (dservilla at gmail.com)
Date: 2020-07-19T13:33:35-04:00
Commit Message:
DIRECTOR: LINGO: Get rid of return preprocessor
Changed paths:
engines/director/lingo/lingo-preprocessor.cpp
diff --git a/engines/director/lingo/lingo-preprocessor.cpp b/engines/director/lingo/lingo-preprocessor.cpp
index c9bf5fd01d..050d2a6555 100644
--- a/engines/director/lingo/lingo-preprocessor.cpp
+++ b/engines/director/lingo/lingo-preprocessor.cpp
@@ -27,7 +27,6 @@
namespace Director {
Common::String preprocessWhen(Common::String in, bool *changed);
-Common::String preprocessReturn(Common::String in);
Common::String preprocessPlay(Common::String in);
Common::String preprocessSound(Common::String in);
@@ -244,7 +243,6 @@ Common::String Lingo::codePreprocessor(const char *s, ScriptType type, uint16 id
res1 = preprocessWhen(res1, &changed);
if (!changed) {
- res1 = preprocessReturn(res1);
res1 = preprocessPlay(res1);
res1 = preprocessSound(res1);
}
@@ -492,50 +490,6 @@ Common::String preprocessWhen(Common::String in, bool *changed) {
return res;
}
-// "hello" & return && "world" -> "hello" & scummvm_return && "world"
-//
-// This is to let the grammar not confuse RETURN constant with
-// return command
-Common::String preprocessReturn(Common::String in) {
- Common::String res, prev, next;
- const char *ptr = in.c_str();
- const char *beg = ptr;
-
- while ((ptr = scumm_strcasestr(beg, "return")) != NULL) {
- if (ptr != findtokstart(in.c_str(), ptr)) { // If we're in the middle of a word
- res += *beg++;
- continue;
- }
-
- res += Common::String(beg, ptr);
-
- if (ptr == beg)
- prev = "";
- else
- prev = prevtok(ptr - 1, beg);
-
- next = nexttok(ptr + 6); // end of 'return'
-
- debugC(2, kDebugParse | kDebugPreprocess, "RETURN: prevtok: %s nexttok: %s", prev.c_str(), next.c_str());
-
- if (prev.hasSuffix("&") || prev.hasSuffix("&&") || prev.hasSuffix("=") ||
- next.hasPrefix("&") || next.hasPrefix("&&") || prev.hasSuffix(",") ||
- next.hasPrefix(")") || prev.equalsIgnoreCase("put")) {
- res += "scummvm_"; // Turn it into scummvm_return
- }
-
- res += *ptr++; // We advance one character, so 'eturn' is left
- beg = ptr;
- }
-
- res += Common::String(beg);
-
- if (in.size() != res.size())
- debugC(2, kDebugParse | kDebugPreprocess, "RETURN: in: %s\nout: %s", in.c_str(), res.c_str());
-
- return res;
-}
-
// play done -> play #done
Common::String preprocessPlay(Common::String in) {
Common::String res, next;
Commit: e95b7979b70de43359926471f50eee4e64b4b6b9
https://github.com/scummvm/scummvm/commit/e95b7979b70de43359926471f50eee4e64b4b6b9
Author: djsrv (dservilla at gmail.com)
Date: 2020-07-19T13:33:35-04:00
Commit Message:
DIRECTOR: LINGO: Replace BLTIN/FBLTIN
They should only be treated differently during execution, not during
parse.
Changed paths:
engines/director/lingo/lingo-builtins.cpp
engines/director/lingo/lingo-bytecode.cpp
engines/director/lingo/lingo-code.cpp
engines/director/lingo/lingo-code.h
engines/director/lingo/lingo-codegen.cpp
engines/director/lingo/lingo-gr.cpp
engines/director/lingo/lingo-gr.h
engines/director/lingo/lingo-gr.y
engines/director/lingo/lingo-lex.cpp
engines/director/lingo/lingo-lex.l
engines/director/lingo/lingo-object.cpp
engines/director/lingo/lingo-object.h
engines/director/lingo/lingo.cpp
engines/director/lingo/lingo.h
engines/director/types.h
diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index 88643d972b..ecc20f9ac9 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -78,7 +78,7 @@ static struct BuiltinProto {
int maxArgs;
bool parens;
int version;
- int type;
+ SymbolType type;
} builtins[] = {
// Math
{ "abs", LB::b_abs, 1, 1, true, 2, FBLTIN }, // D2 function
@@ -97,21 +97,21 @@ static struct BuiltinProto {
// String
{ "chars", LB::b_chars, 3, 3, true, 2, FBLTIN }, // D2 f
{ "charToNum", LB::b_charToNum, 1, 1, true, 2, FBLTIN }, // D2 f
- { "delete", LB::b_delete, 1, 1, true, 3, BLTIN }, // D3 command
- { "hilite", LB::b_hilite, 1, 1, true, 3, BLTIN }, // D3 c
+ { "delete", LB::b_delete, 1, 1, true, 3, CBLTIN }, // D3 command
+ { "hilite", LB::b_hilite, 1, 1, true, 3, CBLTIN }, // D3 c
{ "length", LB::b_length, 1, 1, true, 2, FBLTIN }, // D2 f
{ "numToChar", LB::b_numToChar, 1, 1, true, 2, FBLTIN }, // D2 f
{ "offset", LB::b_offset, 2, 3, true, 2, FBLTIN }, // D2 f
{ "string", LB::b_string, 1, 1, true, 2, FBLTIN }, // D2 f
{ "value", LB::b_value, 1, 1, true, 2, FBLTIN }, // D2 f
// Lists
- { "add", LB::b_add, 2, 2, false, 4, BLTIN }, // D4 c
- { "addAt", LB::b_addAt, 3, 3, false, 4, BLTIN }, // D4 c
- { "addProp", LB::b_addProp, 3, 3, false, 4, BLTIN }, // D4 c
- { "append", LB::b_append, 2, 2, false, 4, BLTIN }, // D4 c
+ { "add", LB::b_add, 2, 2, false, 4, HBLTIN }, // D4 handler
+ { "addAt", LB::b_addAt, 3, 3, false, 4, HBLTIN }, // D4 h
+ { "addProp", LB::b_addProp, 3, 3, false, 4, HBLTIN }, // D4 h
+ { "append", LB::b_append, 2, 2, false, 4, HBLTIN }, // D4 h
{ "count", LB::b_count, 1, 1, true, 4, FBLTIN }, // D4 f
- { "deleteAt", LB::b_deleteAt, 2, 2, false, 4, BLTIN }, // D4 c
- { "deleteProp", LB::b_deleteProp, 2, 2, false, 4, BLTIN }, // D4 c
+ { "deleteAt", LB::b_deleteAt, 2, 2, false, 4, HBLTIN }, // D4 h
+ { "deleteProp", LB::b_deleteProp, 2, 2, false, 4, HBLTIN }, // D4 h
{ "findPos", LB::b_findPos, 2, 2, true, 4, FBLTIN }, // D4 f
{ "findPosNear", LB::b_findPosNear, 2, 2, true, 4, FBLTIN }, // D4 f
{ "getaProp", LB::b_getaProp, 2, 2, true, 4, FBLTIN }, // D4 f
@@ -125,46 +125,46 @@ static struct BuiltinProto {
{ "listP", LB::b_listP, 1, 1, true, 4, FBLTIN }, // D4 f
{ "max", LB::b_max, -1,0, true, 4, FBLTIN }, // D4 f
{ "min", LB::b_min, -1,0, true, 4, FBLTIN }, // D4 f
- { "setaProp", LB::b_setaProp, 3, 3, false, 4, BLTIN }, // D4 c
- { "setAt", LB::b_setAt, 3, 3, false, 4, BLTIN }, // D4 c
- { "setProp", LB::b_setProp, 3, 3, false, 4, BLTIN }, // D4 c
- { "sort", LB::b_sort, 1, 1, false, 4, BLTIN }, // D4 c
+ { "setaProp", LB::b_setaProp, 3, 3, false, 4, HBLTIN }, // D4 h
+ { "setAt", LB::b_setAt, 3, 3, false, 4, HBLTIN }, // D4 h
+ { "setProp", LB::b_setProp, 3, 3, false, 4, HBLTIN }, // D4 h
+ { "sort", LB::b_sort, 1, 1, false, 4, HBLTIN }, // D4 h
// Files
- { "closeDA", LB::b_closeDA, 0, 0, false, 2, BLTIN }, // D2 c
- { "closeResFile", LB::b_closeResFile, 0, 1, false, 2, BLTIN }, // D2 c
- { "closeXlib", LB::b_closeXlib, 0, 1, false, 2, BLTIN }, // D2 c
+ { "closeDA", LB::b_closeDA, 0, 0, false, 2, CBLTIN }, // D2 c
+ { "closeResFile", LB::b_closeResFile, 0, 1, false, 2, CBLTIN }, // D2 c
+ { "closeXlib", LB::b_closeXlib, 0, 1, false, 2, CBLTIN }, // D2 c
{ "getNthFileNameInFolder",LB::b_getNthFileNameInFolder,2,2,true,4,FBLTIN },// D4 f
- { "open", LB::b_open, 1, 2, false, 2, BLTIN }, // D2 c
- { "openDA", LB::b_openDA, 1, 1, false, 2, BLTIN }, // D2 c
- { "openResFile", LB::b_openResFile, 1, 1, false, 2, BLTIN }, // D2 c
- { "openXlib", LB::b_openXlib, 1, 1, false, 2, BLTIN }, // D2 c
- { "saveMovie", LB::b_saveMovie, 1, 1, false, 4, BLTIN }, // D4 c
- { "setCallBack", LB::b_setCallBack, 2, 2, false, 3, BLTIN }, // D3 c
- { "showResFile", LB::b_showResFile, 0, 1, false, 2, BLTIN }, // D2 c
- { "showXlib", LB::b_showXlib, 0, 1, false, 2, BLTIN }, // D2 c
+ { "open", LB::b_open, 1, 2, false, 2, CBLTIN }, // D2 c
+ { "openDA", LB::b_openDA, 1, 1, false, 2, CBLTIN }, // D2 c
+ { "openResFile", LB::b_openResFile, 1, 1, false, 2, CBLTIN }, // D2 c
+ { "openXlib", LB::b_openXlib, 1, 1, false, 2, CBLTIN }, // D2 c
+ { "saveMovie", LB::b_saveMovie, 1, 1, false, 4, CBLTIN }, // D4 c
+ { "setCallBack", LB::b_setCallBack, 2, 2, false, 3, CBLTIN }, // D3 c
+ { "showResFile", LB::b_showResFile, 0, 1, false, 2, CBLTIN }, // D2 c
+ { "showXlib", LB::b_showXlib, 0, 1, false, 2, CBLTIN }, // D2 c
{ "xFactoryList", LB::b_xFactoryList, 1, 1, true, 3, FBLTIN }, // D3 f
// Control
- { "abort", LB::b_abort, 0, 0, false, 4, BLTIN }, // D4 c
- { "continue", LB::b_continue, 0, 0, false, 2, BLTIN }, // D2 c
- { "dontPassEvent", LB::b_dontPassEvent,0, 0, false, 2, BLTIN }, // D2 c
- { "delay", LB::b_delay, 1, 1, false, 2, BLTIN }, // D2 c
- { "do", LB::b_do, 1, 1, false, 2, BLTIN }, // D2 c
- { "go", LB::b_go, 1, 2, false, 4, BLTIN }, // D4 c
- { "halt", LB::b_halt, 0, 0, false, 4, BLTIN }, // D4 c
- { "nothing", LB::b_nothing, 0, 0, false, 2, BLTIN }, // D2 c
- { "pass", LB::b_pass, 0, 0, false, 4, BLTIN }, // D4 c
- { "pause", LB::b_pause, 0, 0, false, 2, BLTIN }, // D2 c
- { "play", LB::b_play, 1, 2, false, 2, BLTIN }, // D2 c
- { "playAccel", LB::b_playAccel, -1,0, false, 2, BLTIN }, // D2
+ { "abort", LB::b_abort, 0, 0, false, 4, CBLTIN }, // D4 c
+ { "continue", LB::b_continue, 0, 0, false, 2, CBLTIN }, // D2 c
+ { "dontPassEvent", LB::b_dontPassEvent,0, 0, false, 2, CBLTIN }, // D2 c
+ { "delay", LB::b_delay, 1, 1, false, 2, CBLTIN }, // D2 c
+ { "do", LB::b_do, 1, 1, false, 2, CBLTIN }, // D2 c
+ { "go", LB::b_go, 1, 2, false, 4, CBLTIN }, // D4 c
+ { "halt", LB::b_halt, 0, 0, false, 4, CBLTIN }, // D4 c
+ { "nothing", LB::b_nothing, 0, 0, false, 2, CBLTIN }, // D2 c
+ { "pass", LB::b_pass, 0, 0, false, 4, CBLTIN }, // D4 c
+ { "pause", LB::b_pause, 0, 0, false, 2, CBLTIN }, // D2 c
+ { "play", LB::b_play, 1, 2, false, 2, CBLTIN }, // D2 c
+ { "playAccel", LB::b_playAccel, -1,0, false, 2, CBLTIN }, // D2
// play done // D2
- { "preLoad", LB::b_preLoad, -1,0, false, 3, BLTIN }, // D3.1 c
- { "preLoadCast", LB::b_preLoadCast, -1,0, false, 3, BLTIN }, // D3.1 c
- { "quit", LB::b_quit, 0, 0, false, 2, BLTIN }, // D2 c
- { "restart", LB::b_restart, 0, 0, false, 2, BLTIN }, // D2 c
- { "return", LB::b_return, 0, 1, false, 2, BLTIN }, // D2 f
- { "scummvm_returnNumber", LB::b_returnNumber, 1, 1, false, 2, BLTIN }, // D2 f
- { "shutDown", LB::b_shutDown, 0, 0, false, 2, BLTIN }, // D2 c
- { "startTimer", LB::b_startTimer, 0, 0, false, 2, BLTIN }, // D2 c
+ { "preLoad", LB::b_preLoad, -1,0, false, 3, CBLTIN }, // D3.1 c
+ { "preLoadCast", LB::b_preLoadCast, -1,0, false, 3, CBLTIN }, // D3.1 c
+ { "quit", LB::b_quit, 0, 0, false, 2, CBLTIN }, // D2 c
+ { "restart", LB::b_restart, 0, 0, false, 2, CBLTIN }, // D2 c
+ { "return", LB::b_return, 0, 1, false, 2, CBLTIN }, // D2 f
+ { "scummvm_returnNumber", LB::b_returnNumber, 1, 1, false, 2, CBLTIN }, // D2 f
+ { "shutDown", LB::b_shutDown, 0, 0, false, 2, CBLTIN }, // D2 c
+ { "startTimer", LB::b_startTimer, 0, 0, false, 2, CBLTIN }, // D2 c
// when keyDown // D2
// when mouseDown // D2
// when mouseUp // D2
@@ -180,45 +180,45 @@ static struct BuiltinProto {
{ "symbolp", LB::b_symbolp, 1, 1, true, 2, FBLTIN }, // D2 f
{ "voidP", LB::b_voidP, 1, 1, true, 4, FBLTIN }, // D4 f
// Misc
- { "alert", LB::b_alert, 1, 1, false, 2, BLTIN }, // D2 c
- { "clearGlobals", LB::b_clearGlobals, 0, 0, false, 3, BLTIN }, // D3.1 c
- { "cursor", LB::b_cursor, 1, 1, false, 2, BLTIN }, // D2 c
+ { "alert", LB::b_alert, 1, 1, false, 2, CBLTIN }, // D2 c
+ { "clearGlobals", LB::b_clearGlobals, 0, 0, false, 3, CBLTIN }, // D3.1 c
+ { "cursor", LB::b_cursor, 1, 1, false, 2, CBLTIN }, // D2 c
{ "framesToHMS", LB::b_framesToHMS, 4, 4, false, 3, FBLTIN }, // D3 f
{ "HMStoFrames", LB::b_HMStoFrames, 4, 4, false, 3, FBLTIN }, // D3 f
{ "param", LB::b_param, 1, 1, true, 4, FBLTIN }, // D4 f
- { "printFrom", LB::b_printFrom, -1,0, false, 2, BLTIN }, // D2 c
- { "put", LB::b_put, -1,0, false, 2, BLTIN }, // D2
+ { "printFrom", LB::b_printFrom, -1,0, false, 2, CBLTIN }, // D2 c
+ { "put", LB::b_put, -1,0, false, 2, CBLTIN }, // D2
// set // D2
- { "showGlobals", LB::b_showGlobals, 0, 0, false, 2, BLTIN }, // D2 c
- { "showLocals", LB::b_showLocals, 0, 0, false, 2, BLTIN }, // D2 c
+ { "showGlobals", LB::b_showGlobals, 0, 0, false, 2, CBLTIN }, // D2 c
+ { "showLocals", LB::b_showLocals, 0, 0, false, 2, CBLTIN }, // D2 c
// Score
{ "constrainH", LB::b_constrainH, 2, 2, true, 2, FBLTIN }, // D2 f
{ "constrainV", LB::b_constrainV, 2, 2, true, 2, FBLTIN }, // D2 f
- { "copyToClipBoard",LB::b_copyToClipBoard,1,1, false, 4, BLTIN }, // D4 c
- { "duplicate", LB::b_duplicate, 1, 2, false, 4, BLTIN }, // D4 c
- { "editableText", LB::b_editableText, 0, 0, false, 2, BLTIN }, // D2, FIXME: the field in D4+
- { "erase", LB::b_erase, 1, 1, false, 4, BLTIN }, // D4 c
+ { "copyToClipBoard",LB::b_copyToClipBoard,1,1, false, 4, CBLTIN }, // D4 c
+ { "duplicate", LB::b_duplicate, 1, 2, false, 4, CBLTIN }, // D4 c
+ { "editableText", LB::b_editableText, 0, 0, false, 2, CBLTIN }, // D2, FIXME: the field in D4+
+ { "erase", LB::b_erase, 1, 1, false, 4, CBLTIN }, // D4 c
{ "findEmpty", LB::b_findEmpty, 1, 1, true, 4, FBLTIN }, // D4 f
// go // D2
- { "importFileInto", LB::b_importFileInto,2, 2, false, 4, BLTIN }, // D4 c
- { "installMenu", LB::b_installMenu, 1, 1, false, 2, BLTIN }, // D2 c
+ { "importFileInto", LB::b_importFileInto,2, 2, false, 4, CBLTIN }, // D4 c
+ { "installMenu", LB::b_installMenu, 1, 1, false, 2, CBLTIN }, // D2 c
{ "label", LB::b_label, 1, 1, true, 2, FBLTIN }, // D2 f
{ "marker", LB::b_marker, 1, 1, true, 2, FBLTIN }, // D2 f
- { "move", LB::b_move, 1, 2, false, 4, BLTIN }, // D4 c
- { "moveableSprite", LB::b_moveableSprite,0, 0, false, 2, BLTIN }, // D2, FIXME: the field in D4+
- { "pasteClipBoardInto",LB::b_pasteClipBoardInto,1,1,false,4,BLTIN },// D4 c
- { "puppetPalette", LB::b_puppetPalette, -1,0, false, 2, BLTIN }, // D2 c
- { "puppetSound", LB::b_puppetSound, -1,0, false, 2, BLTIN }, // D2 c
- { "puppetSprite", LB::b_puppetSprite, -1,0, false, 2, BLTIN }, // D2 c
- { "puppetTempo", LB::b_puppetTempo, 1, 1, false, 2, BLTIN }, // D2 c
- { "puppetTransition",LB::b_puppetTransition,-1,0,false,2, BLTIN }, // D2 c
+ { "move", LB::b_move, 1, 2, false, 4, CBLTIN }, // D4 c
+ { "moveableSprite", LB::b_moveableSprite,0, 0, false, 2, CBLTIN }, // D2, FIXME: the field in D4+
+ { "pasteClipBoardInto",LB::b_pasteClipBoardInto,1,1,false,4,CBLTIN },// D4 c
+ { "puppetPalette", LB::b_puppetPalette, -1,0, false, 2, CBLTIN }, // D2 c
+ { "puppetSound", LB::b_puppetSound, -1,0, false, 2, CBLTIN }, // D2 c
+ { "puppetSprite", LB::b_puppetSprite, -1,0, false, 2, CBLTIN }, // D2 c
+ { "puppetTempo", LB::b_puppetTempo, 1, 1, false, 2, CBLTIN }, // D2 c
+ { "puppetTransition",LB::b_puppetTransition,-1,0,false,2, CBLTIN },// D2 c
{ "ramNeeded", LB::b_ramNeeded, 2, 2, true, 3, FBLTIN }, // D3.1 f
{ "rollOver", LB::b_rollOver, 1, 1, true, 2, FBLTIN }, // D2 f
- { "spriteBox", LB::b_spriteBox, -1,0, false, 2, BLTIN }, // D2 c
- { "unLoad", LB::b_unLoad, 0, 2, false, 3, BLTIN }, // D3.1 c
- { "unLoadCast", LB::b_unLoadCast, 0, 2, false, 3, BLTIN }, // D3.1 c
- { "updateStage", LB::b_updateStage, 0, 0, false, 2, BLTIN }, // D2 c
- { "zoomBox", LB::b_zoomBox, -1,0, false, 2, BLTIN }, // D2 c
+ { "spriteBox", LB::b_spriteBox, -1,0, false, 2, CBLTIN }, // D2 c
+ { "unLoad", LB::b_unLoad, 0, 2, false, 3, CBLTIN }, // D3.1 c
+ { "unLoadCast", LB::b_unLoadCast, 0, 2, false, 3, CBLTIN }, // D3.1 c
+ { "updateStage", LB::b_updateStage, 0, 0, false, 2, CBLTIN }, // D2 c
+ { "zoomBox", LB::b_zoomBox, -1,0, false, 2, CBLTIN }, // D2 c
// Point
{ "point", LB::b_point, 2, 2, true, 4, FBLTIN }, // D4 f
{ "inside", LB::b_inside, 2, 2, true, 4, FBLTIN }, // D4 f
@@ -227,26 +227,26 @@ static struct BuiltinProto {
{ "rect", LB::b_rect, 4, 4, true, 4, FBLTIN }, // D4 f
{ "union", LB::b_union, 2, 2, true, 4, FBLTIN }, // D4 f
// Sound
- { "beep", LB::b_beep, 0, 1, false, 2, BLTIN }, // D2
- { "mci", LB::b_mci, 1, 1, false, 3, BLTIN }, // D3.1 c
- { "mciwait", LB::b_mciwait, 1, 1, false, 4, BLTIN }, // D4 c
- { "sound", LB::b_sound, 2, 3, false, 3, BLTIN }, // D3 c
+ { "beep", LB::b_beep, 0, 1, false, 2, CBLTIN }, // D2
+ { "mci", LB::b_mci, 1, 1, false, 3, CBLTIN }, // D3.1 c
+ { "mciwait", LB::b_mciwait, 1, 1, false, 4, CBLTIN }, // D4 c
+ { "sound", LB::b_sound, 2, 3, false, 3, CBLTIN }, // D3 c
{ "soundBusy", LB::b_soundBusy, 1, 1, true, 3, FBLTIN }, // D3 f
// Constants
- { "backspace", LB::b_backspace, 0, 0, false, 2, FBLTIN }, // D2
- { "empty", LB::b_empty, 0, 0, false, 2, FBLTIN }, // D2
- { "enter", LB::b_enter, 0, 0, false, 2, FBLTIN }, // D2
- { "false", LB::b_false, 0, 0, false, 2, FBLTIN }, // D2
- { "quote", LB::b_quote, 0, 0, false, 2, FBLTIN }, // D2
- { "scummvm_return", LB::b_returnconst, 0, 0, false, 2, FBLTIN }, // D2
- { "tab", LB::b_tab, 0, 0, false, 2, FBLTIN }, // D2
- { "true", LB::b_true, 0, 0, false, 2, FBLTIN }, // D2
- { "version", LB::b_version, 0, 0, false, 3, FBLTIN }, // D3
+ { "backspace", LB::b_backspace, 0, 0, false, 2, KBLTIN }, // D2 konstant
+ { "empty", LB::b_empty, 0, 0, false, 2, KBLTIN }, // D2 k
+ { "enter", LB::b_enter, 0, 0, false, 2, KBLTIN }, // D2 k
+ { "false", LB::b_false, 0, 0, false, 2, KBLTIN }, // D2 k
+ { "quote", LB::b_quote, 0, 0, false, 2, KBLTIN }, // D2 k
+ { "return", LB::b_returnconst, 0, 0, false, 2, KBLTIN }, // D2 k
+ { "tab", LB::b_tab, 0, 0, false, 2, KBLTIN }, // D2 k
+ { "true", LB::b_true, 0, 0, false, 2, KBLTIN }, // D2 k
+ { "version", LB::b_version, 0, 0, false, 3, KBLTIN }, // D3 k
// References
- { "cast", LB::b_cast, 1, 1, false, 4, RBLTIN }, // D4 f
- { "field", LB::b_field, 1, 1, false, 3, RBLTIN }, // D3 f
- { "script", LB::b_script, 1, 1, false, 4, RBLTIN }, // D4 f
- { "window", LB::b_window, 1, 1, false, 4, RBLTIN }, // D4 f
+ { "cast", LB::b_cast, 1, 1, false, 4, FBLTIN }, // D4 f
+ { "field", LB::b_field, 1, 1, false, 3, FBLTIN }, // D3 f
+ { "script", LB::b_script, 1, 1, false, 4, FBLTIN }, // D4 f
+ { "window", LB::b_window, 1, 1, false, 4, FBLTIN }, // D4 f
// Chunk operations
{ "numberOfChars", LB::b_numberofchars,1, 1, false, 3, FBLTIN }, // D3 f
{ "numberOfItems", LB::b_numberofitems,1, 1, false, 3, FBLTIN }, // D3 f
@@ -258,11 +258,11 @@ static struct BuiltinProto {
{ "lastWordOf", LB::b_lastwordof, 1, 1, false, 4, FBLTIN }, // D4 f
// ScummVM Asserts: Used for testing ScummVM's Lingo implementation
- { "scummvmAssert", LB::b_scummvmassert,1, 1, true, 2, FBLTIN },
- { "scummvmAssertEqual", LB::b_scummvmassertequal,2,2,true,2,FBLTIN },
+ { "scummvmAssert", LB::b_scummvmassert,1, 1, true, 2, HBLTIN },
+ { "scummvmAssertEqual", LB::b_scummvmassertequal,2,2,true,2,HBLTIN },
- { 0, 0, 0, 0, false, 0, 0 }
+ { 0, 0, 0, 0, false, 0, VOIDSYM }
};
void Lingo::initBuiltIns() {
@@ -279,7 +279,22 @@ void Lingo::initBuiltIns() {
sym.parens = blt->parens;
sym.u.bltin = blt->func;
- _builtins[blt->name] = sym;
+ switch (blt->type) {
+ case CBLTIN:
+ _builtinCmds[blt->name] = sym;
+ break;
+ case FBLTIN:
+ _builtinFuncs[blt->name] = sym;
+ break;
+ case HBLTIN:
+ _builtinCmds[blt->name] = sym;
+ _builtinFuncs[blt->name] = sym;
+ break;
+ case KBLTIN:
+ _builtinConsts[blt->name] = sym;
+ default:
+ break;
+ }
_functions[(void *)sym.u.s] = new FuncDesc(blt->name, "");
}
@@ -310,7 +325,7 @@ void Lingo::printSTUBWithArglist(const char *funcname, int nargs, const char *pr
}
void Lingo::convertVOIDtoString(int arg, int nargs) {
- if (_stack[_stack.size() - nargs + arg].type == VOID) {
+ if (_stack[_stack.size() - nargs + arg].type == VOIDSYM) {
if (_stack[_stack.size() - nargs + arg].u.s != NULL)
g_lingo->_stack[_stack.size() - nargs + arg].type = STRING;
else
@@ -1645,7 +1660,7 @@ Common::String Lingo::genMenuHandler(int *commandId, Common::String &command) {
(*commandId)++;
name = Common::String::format("scummvmMenu%d", *commandId);
- } while (getHandler(name).type != VOID);
+ } while (getHandler(name).type != VOIDSYM);
return Common::String::format("on %s\n %s\nend %s\n\n", name.c_str(), command.c_str(), name.c_str());
}
diff --git a/engines/director/lingo/lingo-bytecode.cpp b/engines/director/lingo/lingo-bytecode.cpp
index 3c5dc8cb70..422242b115 100644
--- a/engines/director/lingo/lingo-bytecode.cpp
+++ b/engines/director/lingo/lingo-bytecode.cpp
@@ -371,7 +371,7 @@ void LC::cb_objectcall() {
Datum varTest(arg);
varTest.type = VAR;
varTest = g_lingo->varFetch(varTest);
- if (varTest.type != VOID)
+ if (varTest.type != VOIDSYM)
arg = varTest;
}
args.push_back(arg);
@@ -384,7 +384,7 @@ void LC::cb_objectcall() {
target = target->clone();
}
Symbol method = target->getMethod(methodName.asString());
- if (method.type != VOID) {
+ if (method.type != VOIDSYM) {
if (target->getObjType() == kFactoryObj && method.type == HANDLER) {
// For kFactoryObj handlers the target is the first argument
g_lingo->push(method.target);
@@ -403,7 +403,7 @@ void LC::cb_objectcall() {
// if there's nothing, try calling a function with that name
Symbol func = g_lingo->getHandler(*d.u.s);
- if (func.type != VOID) {
+ if (func.type != VOIDSYM) {
if (target) {
g_lingo->push(methodName);
}
diff --git a/engines/director/lingo/lingo-code.cpp b/engines/director/lingo/lingo-code.cpp
index 13720aed1a..2a8fbc0e63 100644
--- a/engines/director/lingo/lingo-code.cpp
+++ b/engines/director/lingo/lingo-code.cpp
@@ -72,10 +72,12 @@ static struct FuncDescr {
{ LC::c_arraypush, "c_arraypush", "i" },
{ LC::c_assign, "c_assign", "" },
{ LC::c_before, "c_before", "" }, // D3
- { LC::c_call, "c_call", "si" },
+ { LC::c_callcmd, "c_callcmd", "si" },
+ { LC::c_callfunc, "c_callfunc", "si" },
{ LC::c_charOf, "c_charOf", "" }, // D3
{ LC::c_charToOf, "c_charToOf", "" }, // D3
{ LC::c_concat, "c_concat", "" },
+ { LC::c_constpush, "c_constpush", "s" },
{ LC::c_contains, "c_contains", "" },
{ LC::c_div, "c_div", "" },
{ LC::c_eq, "c_eq", "" },
@@ -318,6 +320,17 @@ void LC::c_printtop(void) {
}
}
+void LC::c_constpush() {
+ Common::String name(g_lingo->readString());
+
+ Symbol funcSym;
+ if (g_lingo->_builtinConsts.contains(name)) {
+ funcSym = g_lingo->_builtinConsts[name];
+ }
+
+ LC::call(funcSym, 0);
+}
+
void LC::c_intpush() {
int value = g_lingo->readInt();
g_lingo->push(Datum(value));
@@ -1314,15 +1327,23 @@ void LC::c_play() {
g_lingo->func_play(frame, movie);
}
-void LC::c_call() {
+void LC::c_callcmd() {
Common::String name(g_lingo->readString());
int nargs = g_lingo->readInt();
- LC::call(name, nargs);
+ LC::call(name, nargs, CBLTIN);
}
-void LC::call(const Common::String &name, int nargs) {
+void LC::c_callfunc() {
+ Common::String name(g_lingo->readString());
+
+ int nargs = g_lingo->readInt();
+
+ LC::call(name, nargs, FBLTIN);
+}
+
+void LC::call(const Common::String &name, int nargs, SymbolType bltinType) {
if (debugChannelSet(3, kDebugLingoExec))
g_lingo->printSTUBWithArglist(name.c_str(), nargs, "call:");
@@ -1338,7 +1359,7 @@ void LC::call(const Common::String &name, int nargs) {
target = target->clone();
}
funcSym = target->getMethod(name);
- if (funcSym.type != VOID) {
+ if (funcSym.type != VOIDSYM) {
if (target->getObjType() == kScriptObj && funcSym.type == HANDLER) {
// For kScriptObj handlers the target is the first argument
g_lingo->_stack[g_lingo->_stack.size() - nargs] = funcSym.target;
@@ -1357,7 +1378,7 @@ void LC::call(const Common::String &name, int nargs) {
funcSym = g_lingo->getHandler(name);
// Factory/XObject method call
- if (funcSym.type == VOID) {
+ if (funcSym.type == VOIDSYM) {
Datum objName(name);
objName.type = VAR;
Datum d = g_lingo->varFetch(objName);
@@ -1380,18 +1401,35 @@ void LC::call(const Common::String &name, int nargs) {
}
}
+ // Builtin
+ if (funcSym.type == VOIDSYM) {
+ switch (bltinType) {
+ case CBLTIN:
+ if (g_lingo->_builtinCmds.contains(name)) {
+ funcSym = g_lingo->_builtinCmds[name];
+ }
+ break;
+ case FBLTIN:
+ if (g_lingo->_builtinFuncs.contains(name)) {
+ funcSym = g_lingo->_builtinFuncs[name];
+ }
+ break;
+ default:
+ break;
+ }
+ }
+
call(funcSym, nargs);
}
void LC::call(const Symbol &funcSym, int nargs) {
bool dropArgs = false;
- if (funcSym.type == VOID) {
+ if (funcSym.type == VOIDSYM) {
warning("Call to undefined handler. Dropping %d stack items", nargs);
dropArgs = true;
} else {
- if ((funcSym.type == BLTIN || funcSym.type == FBLTIN || funcSym.type == RBLTIN)
- && funcSym.nargs != -1 && funcSym.nargs != nargs && funcSym.maxArgs != nargs) {
+ if (funcSym.type != HANDLER && funcSym.nargs != -1 && funcSym.nargs != nargs && funcSym.maxArgs != nargs) {
if (funcSym.nargs == funcSym.maxArgs)
warning("Incorrect number of arguments to handler '%s', expecting %d. Dropping %d stack items", funcSym.name->c_str(), funcSym.nargs, nargs);
else
@@ -1418,7 +1456,7 @@ void LC::call(const Symbol &funcSym, int nargs) {
g_lingo->pop();
}
- if (funcSym.type == BLTIN || funcSym.type == FBLTIN || funcSym.type == RBLTIN) {
+ if (funcSym.type != HANDLER) {
int stackSize = g_lingo->_stack.size() - nargs;
if (funcSym.target) {
@@ -1434,10 +1472,10 @@ void LC::call(const Symbol &funcSym, int nargs) {
int stackNewSize = g_lingo->_stack.size();
- if (funcSym.type == FBLTIN || funcSym.type == RBLTIN) {
+ if (funcSym.type != HANDLER && funcSym.type != CBLTIN) {
if (stackNewSize - stackSize != 1)
warning("built-in function %s did not return value", funcSym.name->c_str());
- } else {
+ } else if (funcSym.type == CBLTIN) {
if (stackNewSize - stackSize != 0)
warning("built-in procedure %s returned extra %d values", funcSym.name->c_str(), stackNewSize - stackSize);
}
diff --git a/engines/director/lingo/lingo-code.h b/engines/director/lingo/lingo-code.h
index 8eb6ea2a10..de4dbb00f8 100644
--- a/engines/director/lingo/lingo-code.h
+++ b/engines/director/lingo/lingo-code.h
@@ -66,6 +66,7 @@ namespace LC {
void c_wordOf();
void c_wordToOf();
+ void c_constpush();
void c_intpush();
void c_voidpush();
void c_floatpush();
@@ -112,10 +113,11 @@ namespace LC {
void c_le();
void c_jump();
void c_jumpifz();
- void c_call();
+ void c_callcmd();
+ void c_callfunc();
void call(const Symbol &targetSym, int nargs);
- void call(const Common::String &name, int nargs);
+ void call(const Common::String &name, int nargs, SymbolType bltinType = VOIDSYM);
void c_procret();
diff --git a/engines/director/lingo/lingo-codegen.cpp b/engines/director/lingo/lingo-codegen.cpp
index 9680bedc4b..cd551282e2 100644
--- a/engines/director/lingo/lingo-codegen.cpp
+++ b/engines/director/lingo/lingo-codegen.cpp
@@ -213,8 +213,20 @@ int Lingo::codeSetImmediate(bool state) {
return res;
}
+int Lingo::codeCmd(Common::String *s, int numpar) {
+ int ret = g_lingo->code1(LC::c_callcmd);
+
+ g_lingo->codeString(s->c_str());
+
+ inst num = 0;
+ WRITE_UINT32(&num, numpar);
+ g_lingo->code1(num);
+
+ return ret;
+}
+
int Lingo::codeFunc(Common::String *s, int numpar) {
- int ret = g_lingo->code1(LC::c_call);
+ int ret = g_lingo->code1(LC::c_callfunc);
g_lingo->codeString(s->c_str());
diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp
index 237114d72f..238d325558 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -236,71 +236,72 @@ extern int yydebug;
THEMENUITEMENTITY = 274, /* THEMENUITEMENTITY */
THEMENUITEMSENTITY = 275, /* THEMENUITEMSENTITY */
FLOAT = 276, /* FLOAT */
- BLTIN = 277, /* BLTIN */
- FBLTIN = 278, /* FBLTIN */
- RBLTIN = 279, /* RBLTIN */
- THEFBLTIN = 280, /* THEFBLTIN */
- ID = 281, /* ID */
- STRING = 282, /* STRING */
- HANDLER = 283, /* HANDLER */
- SYMBOL = 284, /* SYMBOL */
- ENDCLAUSE = 285, /* ENDCLAUSE */
- tPLAYACCEL = 286, /* tPLAYACCEL */
- tMETHOD = 287, /* tMETHOD */
- THEOBJECTPROP = 288, /* THEOBJECTPROP */
- tDOWN = 289, /* tDOWN */
- tELSE = 290, /* tELSE */
- tELSIF = 291, /* tELSIF */
- tEXIT = 292, /* tEXIT */
- tGLOBAL = 293, /* tGLOBAL */
- tGO = 294, /* tGO */
- tGOLOOP = 295, /* tGOLOOP */
- tIF = 296, /* tIF */
- tIN = 297, /* tIN */
- tINTO = 298, /* tINTO */
- tMACRO = 299, /* tMACRO */
- tMOVIE = 300, /* tMOVIE */
- tNEXT = 301, /* tNEXT */
- tOF = 302, /* tOF */
- tPREVIOUS = 303, /* tPREVIOUS */
- tPUT = 304, /* tPUT */
- tREPEAT = 305, /* tREPEAT */
- tSET = 306, /* tSET */
- tTHEN = 307, /* tTHEN */
- tTO = 308, /* tTO */
- tWHEN = 309, /* tWHEN */
- tWITH = 310, /* tWITH */
- tWHILE = 311, /* tWHILE */
- tFACTORY = 312, /* tFACTORY */
- tOPEN = 313, /* tOPEN */
- tPLAY = 314, /* tPLAY */
- tINSTANCE = 315, /* tINSTANCE */
- tGE = 316, /* tGE */
- tLE = 317, /* tLE */
- tEQ = 318, /* tEQ */
- tNEQ = 319, /* tNEQ */
- tAND = 320, /* tAND */
- tOR = 321, /* tOR */
- tNOT = 322, /* tNOT */
- tMOD = 323, /* tMOD */
- tAFTER = 324, /* tAFTER */
- tBEFORE = 325, /* tBEFORE */
- tCONCAT = 326, /* tCONCAT */
- tCONTAINS = 327, /* tCONTAINS */
- tSTARTS = 328, /* tSTARTS */
- tCHAR = 329, /* tCHAR */
- tITEM = 330, /* tITEM */
- tLINE = 331, /* tLINE */
- tWORD = 332, /* tWORD */
- tSPRITE = 333, /* tSPRITE */
- tINTERSECTS = 334, /* tINTERSECTS */
- tWITHIN = 335, /* tWITHIN */
- tTELL = 336, /* tTELL */
- tPROPERTY = 337, /* tPROPERTY */
- tON = 338, /* tON */
- tENDIF = 339, /* tENDIF */
- tENDREPEAT = 340, /* tENDREPEAT */
- tENDTELL = 341 /* tENDTELL */
+ THEFUNC = 277, /* THEFUNC */
+ THEFUNCINOF = 278, /* THEFUNCINOF */
+ ID = 279, /* ID */
+ STRING = 280, /* STRING */
+ SYMBOL = 281, /* SYMBOL */
+ ENDCLAUSE = 282, /* ENDCLAUSE */
+ tPLAYACCEL = 283, /* tPLAYACCEL */
+ tMETHOD = 284, /* tMETHOD */
+ THEOBJECTPROP = 285, /* THEOBJECTPROP */
+ CAST = 286, /* CAST */
+ FIELD = 287, /* FIELD */
+ SCRIPT = 288, /* SCRIPT */
+ WINDOW = 289, /* WINDOW */
+ tDOWN = 290, /* tDOWN */
+ tELSE = 291, /* tELSE */
+ tELSIF = 292, /* tELSIF */
+ tEXIT = 293, /* tEXIT */
+ tGLOBAL = 294, /* tGLOBAL */
+ tGO = 295, /* tGO */
+ tGOLOOP = 296, /* tGOLOOP */
+ tIF = 297, /* tIF */
+ tIN = 298, /* tIN */
+ tINTO = 299, /* tINTO */
+ tMACRO = 300, /* tMACRO */
+ tMOVIE = 301, /* tMOVIE */
+ tNEXT = 302, /* tNEXT */
+ tOF = 303, /* tOF */
+ tPREVIOUS = 304, /* tPREVIOUS */
+ tPUT = 305, /* tPUT */
+ tREPEAT = 306, /* tREPEAT */
+ tSET = 307, /* tSET */
+ tTHEN = 308, /* tTHEN */
+ tTO = 309, /* tTO */
+ tWHEN = 310, /* tWHEN */
+ tWITH = 311, /* tWITH */
+ tWHILE = 312, /* tWHILE */
+ tFACTORY = 313, /* tFACTORY */
+ tOPEN = 314, /* tOPEN */
+ tPLAY = 315, /* tPLAY */
+ tINSTANCE = 316, /* tINSTANCE */
+ tGE = 317, /* tGE */
+ tLE = 318, /* tLE */
+ tEQ = 319, /* tEQ */
+ tNEQ = 320, /* tNEQ */
+ tAND = 321, /* tAND */
+ tOR = 322, /* tOR */
+ tNOT = 323, /* tNOT */
+ tMOD = 324, /* tMOD */
+ tAFTER = 325, /* tAFTER */
+ tBEFORE = 326, /* tBEFORE */
+ tCONCAT = 327, /* tCONCAT */
+ tCONTAINS = 328, /* tCONTAINS */
+ tSTARTS = 329, /* tSTARTS */
+ tCHAR = 330, /* tCHAR */
+ tITEM = 331, /* tITEM */
+ tLINE = 332, /* tLINE */
+ tWORD = 333, /* tWORD */
+ tSPRITE = 334, /* tSPRITE */
+ tINTERSECTS = 335, /* tINTERSECTS */
+ tWITHIN = 336, /* tWITHIN */
+ tTELL = 337, /* tTELL */
+ tPROPERTY = 338, /* tPROPERTY */
+ tON = 339, /* tON */
+ tENDIF = 340, /* tENDIF */
+ tENDREPEAT = 341, /* tENDREPEAT */
+ tENDTELL = 342 /* tENDTELL */
};
typedef enum yytokentype yytoken_kind_t;
#endif
@@ -324,7 +325,12 @@ union YYSTYPE
Common::String *prop;
} objectprop;
-#line 328 "engines/director/lingo/lingo-gr.cpp"
+ struct {
+ Common::String *s;
+ int i;
+ } ref;
+
+#line 334 "engines/director/lingo/lingo-gr.cpp"
};
typedef union YYSTYPE YYSTYPE;
@@ -364,138 +370,138 @@ enum yysymbol_kind_t
YYSYMBOL_THEMENUITEMENTITY = 19, /* THEMENUITEMENTITY */
YYSYMBOL_THEMENUITEMSENTITY = 20, /* THEMENUITEMSENTITY */
YYSYMBOL_FLOAT = 21, /* FLOAT */
- YYSYMBOL_BLTIN = 22, /* BLTIN */
- YYSYMBOL_FBLTIN = 23, /* FBLTIN */
- YYSYMBOL_RBLTIN = 24, /* RBLTIN */
- YYSYMBOL_THEFBLTIN = 25, /* THEFBLTIN */
- YYSYMBOL_ID = 26, /* ID */
- YYSYMBOL_STRING = 27, /* STRING */
- YYSYMBOL_HANDLER = 28, /* HANDLER */
- YYSYMBOL_SYMBOL = 29, /* SYMBOL */
- YYSYMBOL_ENDCLAUSE = 30, /* ENDCLAUSE */
- YYSYMBOL_tPLAYACCEL = 31, /* tPLAYACCEL */
- YYSYMBOL_tMETHOD = 32, /* tMETHOD */
- YYSYMBOL_THEOBJECTPROP = 33, /* THEOBJECTPROP */
- YYSYMBOL_tDOWN = 34, /* tDOWN */
- YYSYMBOL_tELSE = 35, /* tELSE */
- YYSYMBOL_tELSIF = 36, /* tELSIF */
- YYSYMBOL_tEXIT = 37, /* tEXIT */
- YYSYMBOL_tGLOBAL = 38, /* tGLOBAL */
- YYSYMBOL_tGO = 39, /* tGO */
- YYSYMBOL_tGOLOOP = 40, /* tGOLOOP */
- YYSYMBOL_tIF = 41, /* tIF */
- YYSYMBOL_tIN = 42, /* tIN */
- YYSYMBOL_tINTO = 43, /* tINTO */
- YYSYMBOL_tMACRO = 44, /* tMACRO */
- YYSYMBOL_tMOVIE = 45, /* tMOVIE */
- YYSYMBOL_tNEXT = 46, /* tNEXT */
- YYSYMBOL_tOF = 47, /* tOF */
- YYSYMBOL_tPREVIOUS = 48, /* tPREVIOUS */
- YYSYMBOL_tPUT = 49, /* tPUT */
- YYSYMBOL_tREPEAT = 50, /* tREPEAT */
- YYSYMBOL_tSET = 51, /* tSET */
- YYSYMBOL_tTHEN = 52, /* tTHEN */
- YYSYMBOL_tTO = 53, /* tTO */
- YYSYMBOL_tWHEN = 54, /* tWHEN */
- YYSYMBOL_tWITH = 55, /* tWITH */
- YYSYMBOL_tWHILE = 56, /* tWHILE */
- YYSYMBOL_tFACTORY = 57, /* tFACTORY */
- YYSYMBOL_tOPEN = 58, /* tOPEN */
- YYSYMBOL_tPLAY = 59, /* tPLAY */
- YYSYMBOL_tINSTANCE = 60, /* tINSTANCE */
- YYSYMBOL_tGE = 61, /* tGE */
- YYSYMBOL_tLE = 62, /* tLE */
- YYSYMBOL_tEQ = 63, /* tEQ */
- YYSYMBOL_tNEQ = 64, /* tNEQ */
- YYSYMBOL_tAND = 65, /* tAND */
- YYSYMBOL_tOR = 66, /* tOR */
- YYSYMBOL_tNOT = 67, /* tNOT */
- YYSYMBOL_tMOD = 68, /* tMOD */
- YYSYMBOL_tAFTER = 69, /* tAFTER */
- YYSYMBOL_tBEFORE = 70, /* tBEFORE */
- YYSYMBOL_tCONCAT = 71, /* tCONCAT */
- YYSYMBOL_tCONTAINS = 72, /* tCONTAINS */
- YYSYMBOL_tSTARTS = 73, /* tSTARTS */
- YYSYMBOL_tCHAR = 74, /* tCHAR */
- YYSYMBOL_tITEM = 75, /* tITEM */
- YYSYMBOL_tLINE = 76, /* tLINE */
- YYSYMBOL_tWORD = 77, /* tWORD */
- YYSYMBOL_tSPRITE = 78, /* tSPRITE */
- YYSYMBOL_tINTERSECTS = 79, /* tINTERSECTS */
- YYSYMBOL_tWITHIN = 80, /* tWITHIN */
- YYSYMBOL_tTELL = 81, /* tTELL */
- YYSYMBOL_tPROPERTY = 82, /* tPROPERTY */
- YYSYMBOL_tON = 83, /* tON */
- YYSYMBOL_tENDIF = 84, /* tENDIF */
- YYSYMBOL_tENDREPEAT = 85, /* tENDREPEAT */
- YYSYMBOL_tENDTELL = 86, /* tENDTELL */
- YYSYMBOL_87_ = 87, /* '<' */
- YYSYMBOL_88_ = 88, /* '>' */
- YYSYMBOL_89_ = 89, /* '&' */
- YYSYMBOL_90_ = 90, /* '+' */
- YYSYMBOL_91_ = 91, /* '-' */
- YYSYMBOL_92_ = 92, /* '*' */
- YYSYMBOL_93_ = 93, /* '/' */
- YYSYMBOL_94_ = 94, /* '%' */
- YYSYMBOL_95_n_ = 95, /* '\n' */
- YYSYMBOL_96_ = 96, /* '(' */
- YYSYMBOL_97_ = 97, /* ')' */
- YYSYMBOL_98_ = 98, /* ',' */
- YYSYMBOL_99_ = 99, /* '[' */
- YYSYMBOL_100_ = 100, /* ']' */
- YYSYMBOL_101_ = 101, /* ':' */
- YYSYMBOL_YYACCEPT = 102, /* $accept */
- YYSYMBOL_program = 103, /* program */
- YYSYMBOL_programline = 104, /* programline */
- YYSYMBOL_asgn = 105, /* asgn */
- YYSYMBOL_stmtoneliner = 106, /* stmtoneliner */
- YYSYMBOL_stmt = 107, /* stmt */
- YYSYMBOL_108_1 = 108, /* $@1 */
- YYSYMBOL_109_2 = 109, /* $@2 */
- YYSYMBOL_110_3 = 110, /* $@3 */
- YYSYMBOL_111_4 = 111, /* $@4 */
- YYSYMBOL_112_5 = 112, /* $@5 */
- YYSYMBOL_113_6 = 113, /* $@6 */
- YYSYMBOL_114_7 = 114, /* $@7 */
- YYSYMBOL_115_8 = 115, /* $@8 */
- YYSYMBOL_116_9 = 116, /* $@9 */
- YYSYMBOL_startrepeat = 117, /* startrepeat */
- YYSYMBOL_tellstart = 118, /* tellstart */
- YYSYMBOL_ifstmt = 119, /* ifstmt */
- YYSYMBOL_elseifstmtlist = 120, /* elseifstmtlist */
- YYSYMBOL_elseifstmt = 121, /* elseifstmt */
- YYSYMBOL_jumpifz = 122, /* jumpifz */
- YYSYMBOL_jump = 123, /* jump */
- YYSYMBOL_varassign = 124, /* varassign */
- YYSYMBOL_if = 125, /* if */
- YYSYMBOL_lbl = 126, /* lbl */
- YYSYMBOL_stmtlist = 127, /* stmtlist */
- YYSYMBOL_simpleexpr = 128, /* simpleexpr */
- YYSYMBOL_funccall = 129, /* funccall */
- YYSYMBOL_130_10 = 130, /* $@10 */
- YYSYMBOL_expr = 131, /* expr */
+ YYSYMBOL_THEFUNC = 22, /* THEFUNC */
+ YYSYMBOL_THEFUNCINOF = 23, /* THEFUNCINOF */
+ YYSYMBOL_ID = 24, /* ID */
+ YYSYMBOL_STRING = 25, /* STRING */
+ YYSYMBOL_SYMBOL = 26, /* SYMBOL */
+ YYSYMBOL_ENDCLAUSE = 27, /* ENDCLAUSE */
+ YYSYMBOL_tPLAYACCEL = 28, /* tPLAYACCEL */
+ YYSYMBOL_tMETHOD = 29, /* tMETHOD */
+ YYSYMBOL_THEOBJECTPROP = 30, /* THEOBJECTPROP */
+ YYSYMBOL_CAST = 31, /* CAST */
+ YYSYMBOL_FIELD = 32, /* FIELD */
+ YYSYMBOL_SCRIPT = 33, /* SCRIPT */
+ YYSYMBOL_WINDOW = 34, /* WINDOW */
+ YYSYMBOL_tDOWN = 35, /* tDOWN */
+ YYSYMBOL_tELSE = 36, /* tELSE */
+ YYSYMBOL_tELSIF = 37, /* tELSIF */
+ YYSYMBOL_tEXIT = 38, /* tEXIT */
+ YYSYMBOL_tGLOBAL = 39, /* tGLOBAL */
+ YYSYMBOL_tGO = 40, /* tGO */
+ YYSYMBOL_tGOLOOP = 41, /* tGOLOOP */
+ YYSYMBOL_tIF = 42, /* tIF */
+ YYSYMBOL_tIN = 43, /* tIN */
+ YYSYMBOL_tINTO = 44, /* tINTO */
+ YYSYMBOL_tMACRO = 45, /* tMACRO */
+ YYSYMBOL_tMOVIE = 46, /* tMOVIE */
+ YYSYMBOL_tNEXT = 47, /* tNEXT */
+ YYSYMBOL_tOF = 48, /* tOF */
+ YYSYMBOL_tPREVIOUS = 49, /* tPREVIOUS */
+ YYSYMBOL_tPUT = 50, /* tPUT */
+ YYSYMBOL_tREPEAT = 51, /* tREPEAT */
+ YYSYMBOL_tSET = 52, /* tSET */
+ YYSYMBOL_tTHEN = 53, /* tTHEN */
+ YYSYMBOL_tTO = 54, /* tTO */
+ YYSYMBOL_tWHEN = 55, /* tWHEN */
+ YYSYMBOL_tWITH = 56, /* tWITH */
+ YYSYMBOL_tWHILE = 57, /* tWHILE */
+ YYSYMBOL_tFACTORY = 58, /* tFACTORY */
+ YYSYMBOL_tOPEN = 59, /* tOPEN */
+ YYSYMBOL_tPLAY = 60, /* tPLAY */
+ YYSYMBOL_tINSTANCE = 61, /* tINSTANCE */
+ YYSYMBOL_tGE = 62, /* tGE */
+ YYSYMBOL_tLE = 63, /* tLE */
+ YYSYMBOL_tEQ = 64, /* tEQ */
+ YYSYMBOL_tNEQ = 65, /* tNEQ */
+ YYSYMBOL_tAND = 66, /* tAND */
+ YYSYMBOL_tOR = 67, /* tOR */
+ YYSYMBOL_tNOT = 68, /* tNOT */
+ YYSYMBOL_tMOD = 69, /* tMOD */
+ YYSYMBOL_tAFTER = 70, /* tAFTER */
+ YYSYMBOL_tBEFORE = 71, /* tBEFORE */
+ YYSYMBOL_tCONCAT = 72, /* tCONCAT */
+ YYSYMBOL_tCONTAINS = 73, /* tCONTAINS */
+ YYSYMBOL_tSTARTS = 74, /* tSTARTS */
+ YYSYMBOL_tCHAR = 75, /* tCHAR */
+ YYSYMBOL_tITEM = 76, /* tITEM */
+ YYSYMBOL_tLINE = 77, /* tLINE */
+ YYSYMBOL_tWORD = 78, /* tWORD */
+ YYSYMBOL_tSPRITE = 79, /* tSPRITE */
+ YYSYMBOL_tINTERSECTS = 80, /* tINTERSECTS */
+ YYSYMBOL_tWITHIN = 81, /* tWITHIN */
+ YYSYMBOL_tTELL = 82, /* tTELL */
+ YYSYMBOL_tPROPERTY = 83, /* tPROPERTY */
+ YYSYMBOL_tON = 84, /* tON */
+ YYSYMBOL_tENDIF = 85, /* tENDIF */
+ YYSYMBOL_tENDREPEAT = 86, /* tENDREPEAT */
+ YYSYMBOL_tENDTELL = 87, /* tENDTELL */
+ YYSYMBOL_88_ = 88, /* '<' */
+ YYSYMBOL_89_ = 89, /* '>' */
+ YYSYMBOL_90_ = 90, /* '&' */
+ YYSYMBOL_91_ = 91, /* '+' */
+ YYSYMBOL_92_ = 92, /* '-' */
+ YYSYMBOL_93_ = 93, /* '*' */
+ YYSYMBOL_94_ = 94, /* '/' */
+ YYSYMBOL_95_ = 95, /* '%' */
+ YYSYMBOL_96_n_ = 96, /* '\n' */
+ YYSYMBOL_97_ = 97, /* '(' */
+ YYSYMBOL_98_ = 98, /* ')' */
+ YYSYMBOL_99_ = 99, /* ',' */
+ YYSYMBOL_100_ = 100, /* '[' */
+ YYSYMBOL_101_ = 101, /* ']' */
+ YYSYMBOL_102_ = 102, /* ':' */
+ YYSYMBOL_YYACCEPT = 103, /* $accept */
+ YYSYMBOL_program = 104, /* program */
+ YYSYMBOL_programline = 105, /* programline */
+ YYSYMBOL_asgn = 106, /* asgn */
+ YYSYMBOL_stmtoneliner = 107, /* stmtoneliner */
+ YYSYMBOL_stmt = 108, /* stmt */
+ YYSYMBOL_109_1 = 109, /* $@1 */
+ YYSYMBOL_110_2 = 110, /* $@2 */
+ YYSYMBOL_111_3 = 111, /* $@3 */
+ YYSYMBOL_112_4 = 112, /* $@4 */
+ YYSYMBOL_113_5 = 113, /* $@5 */
+ YYSYMBOL_114_6 = 114, /* $@6 */
+ YYSYMBOL_115_7 = 115, /* $@7 */
+ YYSYMBOL_116_8 = 116, /* $@8 */
+ YYSYMBOL_117_9 = 117, /* $@9 */
+ YYSYMBOL_startrepeat = 118, /* startrepeat */
+ YYSYMBOL_tellstart = 119, /* tellstart */
+ YYSYMBOL_ifstmt = 120, /* ifstmt */
+ YYSYMBOL_elseifstmtlist = 121, /* elseifstmtlist */
+ YYSYMBOL_elseifstmt = 122, /* elseifstmt */
+ YYSYMBOL_jumpifz = 123, /* jumpifz */
+ YYSYMBOL_jump = 124, /* jump */
+ YYSYMBOL_varassign = 125, /* varassign */
+ YYSYMBOL_if = 126, /* if */
+ YYSYMBOL_lbl = 127, /* lbl */
+ YYSYMBOL_stmtlist = 128, /* stmtlist */
+ YYSYMBOL_simpleexpr = 129, /* simpleexpr */
+ YYSYMBOL_expr = 130, /* expr */
+ YYSYMBOL_131_10 = 131, /* $@10 */
YYSYMBOL_chunkexpr = 132, /* chunkexpr */
YYSYMBOL_reference = 133, /* reference */
YYSYMBOL_proc = 134, /* proc */
YYSYMBOL_135_11 = 135, /* $@11 */
YYSYMBOL_136_12 = 136, /* $@12 */
YYSYMBOL_137_13 = 137, /* $@13 */
- YYSYMBOL_globallist = 138, /* globallist */
- YYSYMBOL_propertylist = 139, /* propertylist */
- YYSYMBOL_instancelist = 140, /* instancelist */
- YYSYMBOL_gotofunc = 141, /* gotofunc */
- YYSYMBOL_gotomovie = 142, /* gotomovie */
- YYSYMBOL_playfunc = 143, /* playfunc */
- YYSYMBOL_144_14 = 144, /* $@14 */
- YYSYMBOL_defn = 145, /* defn */
- YYSYMBOL_146_15 = 146, /* $@15 */
+ YYSYMBOL_138_14 = 138, /* $@14 */
+ YYSYMBOL_globallist = 139, /* globallist */
+ YYSYMBOL_propertylist = 140, /* propertylist */
+ YYSYMBOL_instancelist = 141, /* instancelist */
+ YYSYMBOL_gotofunc = 142, /* gotofunc */
+ YYSYMBOL_gotomovie = 143, /* gotomovie */
+ YYSYMBOL_playfunc = 144, /* playfunc */
+ YYSYMBOL_145_15 = 145, /* $@15 */
+ YYSYMBOL_defn = 146, /* defn */
YYSYMBOL_147_16 = 147, /* $@16 */
- YYSYMBOL_on = 148, /* on */
- YYSYMBOL_149_17 = 149, /* $@17 */
- YYSYMBOL_argdef = 150, /* argdef */
- YYSYMBOL_endargdef = 151, /* endargdef */
- YYSYMBOL_argstore = 152, /* argstore */
- YYSYMBOL_macro = 153, /* macro */
+ YYSYMBOL_148_17 = 148, /* $@17 */
+ YYSYMBOL_on = 149, /* on */
+ YYSYMBOL_150_18 = 150, /* $@18 */
+ YYSYMBOL_argdef = 151, /* argdef */
+ YYSYMBOL_endargdef = 152, /* endargdef */
+ YYSYMBOL_argstore = 153, /* argstore */
YYSYMBOL_arglist = 154, /* arglist */
YYSYMBOL_nonemptyarglist = 155, /* nonemptyarglist */
YYSYMBOL_list = 156, /* list */
@@ -810,20 +816,20 @@ union yyalloc
#endif /* !YYCOPY_NEEDED */
/* YYFINAL -- State number of the termination state. */
-#define YYFINAL 103
+#define YYFINAL 96
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 2022
+#define YYLAST 1629
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 102
+#define YYNTOKENS 103
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 59
+#define YYNNTS 58
/* YYNRULES -- Number of rules. */
-#define YYNRULES 185
+#define YYNRULES 183
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 385
+#define YYNSTATES 379
-#define YYMAXUTOK 341
+#define YYMAXUTOK 342
/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
@@ -838,15 +844,15 @@ union yyalloc
static const yytype_int8 yytranslate[] =
{
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 95, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 96, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 94, 89, 2,
- 96, 97, 92, 90, 98, 91, 2, 93, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 101, 2,
- 87, 2, 88, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 95, 90, 2,
+ 97, 98, 93, 91, 99, 92, 2, 94, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 102, 2,
+ 88, 2, 89, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 99, 2, 100, 2, 2, 2, 2, 2, 2,
+ 2, 100, 2, 101, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -871,32 +877,32 @@ static const yytype_int8 yytranslate[] =
55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86
+ 85, 86, 87
};
#if YYDEBUG
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_int16 yyrline[] =
{
- 0, 212, 212, 213, 215, 216, 217, 219, 226, 230,
- 241, 248, 251, 258, 261, 268, 275, 282, 289, 295,
- 302, 313, 324, 331, 339, 340, 341, 342, 344, 345,
- 350, 363, 367, 370, 362, 397, 401, 404, 396, 431,
- 438, 444, 430, 474, 482, 485, 486, 488, 490, 492,
- 499, 507, 508, 510, 516, 520, 524, 528, 531, 533,
- 534, 535, 537, 540, 543, 547, 551, 555, 563, 569,
- 570, 571, 573, 576, 579, 582, 585, 591, 591, 596,
- 600, 601, 602, 603, 606, 612, 613, 614, 615, 616,
- 617, 618, 619, 620, 621, 622, 623, 624, 625, 626,
- 627, 628, 629, 630, 631, 632, 633, 635, 636, 637,
- 638, 639, 640, 641, 642, 644, 647, 649, 650, 651,
- 652, 660, 661, 661, 662, 662, 663, 663, 664, 667,
- 670, 673, 676, 680, 683, 687, 690, 694, 697, 708,
- 709, 710, 711, 715, 719, 724, 725, 727, 731, 735,
- 739, 739, 769, 769, 775, 776, 776, 782, 790, 796,
- 796, 798, 799, 800, 802, 803, 804, 806, 808, 816,
- 817, 818, 820, 821, 823, 825, 826, 827, 828, 830,
- 831, 833, 834, 836, 840, 844
+ 0, 218, 218, 219, 221, 222, 223, 225, 232, 236,
+ 247, 254, 257, 264, 267, 274, 281, 288, 295, 301,
+ 308, 319, 330, 337, 345, 346, 348, 349, 354, 367,
+ 371, 374, 366, 401, 405, 408, 400, 435, 442, 448,
+ 434, 478, 486, 489, 490, 492, 494, 496, 503, 511,
+ 512, 514, 520, 524, 528, 532, 535, 537, 538, 539,
+ 541, 544, 547, 551, 555, 563, 571, 577, 578, 579,
+ 581, 582, 583, 589, 589, 594, 597, 600, 603, 609,
+ 610, 611, 612, 613, 614, 615, 616, 617, 618, 619,
+ 620, 621, 622, 623, 624, 625, 626, 627, 628, 629,
+ 630, 632, 643, 644, 645, 646, 647, 648, 649, 650,
+ 652, 653, 664, 675, 688, 689, 690, 691, 699, 700,
+ 700, 701, 701, 702, 702, 703, 706, 709, 715, 715,
+ 720, 723, 727, 730, 734, 737, 741, 744, 755, 756,
+ 757, 758, 762, 766, 771, 772, 774, 778, 782, 786,
+ 786, 816, 816, 822, 823, 823, 829, 837, 843, 843,
+ 845, 846, 847, 849, 850, 851, 853, 855, 856, 857,
+ 859, 860, 862, 864, 865, 866, 867, 869, 870, 872,
+ 873, 875, 879, 883
};
#endif
@@ -916,27 +922,27 @@ yysymbol_name (yysymbol_kind_t yysymbol)
"end of file", "error", "invalid token", "UNARY", "CASTREF", "VOID",
"VAR", "POINT", "RECT", "ARRAY", "OBJECT", "FIELDREF", "LEXERROR",
"PARRAY", "INT", "ARGC", "ARGCNORET", "THEENTITY", "THEENTITYWITHID",
- "THEMENUITEMENTITY", "THEMENUITEMSENTITY", "FLOAT", "BLTIN", "FBLTIN",
- "RBLTIN", "THEFBLTIN", "ID", "STRING", "HANDLER", "SYMBOL", "ENDCLAUSE",
- "tPLAYACCEL", "tMETHOD", "THEOBJECTPROP", "tDOWN", "tELSE", "tELSIF",
- "tEXIT", "tGLOBAL", "tGO", "tGOLOOP", "tIF", "tIN", "tINTO", "tMACRO",
- "tMOVIE", "tNEXT", "tOF", "tPREVIOUS", "tPUT", "tREPEAT", "tSET",
- "tTHEN", "tTO", "tWHEN", "tWITH", "tWHILE", "tFACTORY", "tOPEN", "tPLAY",
- "tINSTANCE", "tGE", "tLE", "tEQ", "tNEQ", "tAND", "tOR", "tNOT", "tMOD",
- "tAFTER", "tBEFORE", "tCONCAT", "tCONTAINS", "tSTARTS", "tCHAR", "tITEM",
- "tLINE", "tWORD", "tSPRITE", "tINTERSECTS", "tWITHIN", "tTELL",
- "tPROPERTY", "tON", "tENDIF", "tENDREPEAT", "tENDTELL", "'<'", "'>'",
- "'&'", "'+'", "'-'", "'*'", "'/'", "'%'", "'\\n'", "'('", "')'", "','",
- "'['", "']'", "':'", "$accept", "program", "programline", "asgn",
- "stmtoneliner", "stmt", "$@1", "$@2", "$@3", "$@4", "$@5", "$@6", "$@7",
- "$@8", "$@9", "startrepeat", "tellstart", "ifstmt", "elseifstmtlist",
- "elseifstmt", "jumpifz", "jump", "varassign", "if", "lbl", "stmtlist",
- "simpleexpr", "funccall", "$@10", "expr", "chunkexpr", "reference",
- "proc", "$@11", "$@12", "$@13", "globallist", "propertylist",
- "instancelist", "gotofunc", "gotomovie", "playfunc", "$@14", "defn",
- "$@15", "$@16", "on", "$@17", "argdef", "endargdef", "argstore", "macro",
- "arglist", "nonemptyarglist", "list", "valuelist", "linearlist",
- "proplist", "proppair", YY_NULLPTR
+ "THEMENUITEMENTITY", "THEMENUITEMSENTITY", "FLOAT", "THEFUNC",
+ "THEFUNCINOF", "ID", "STRING", "SYMBOL", "ENDCLAUSE", "tPLAYACCEL",
+ "tMETHOD", "THEOBJECTPROP", "CAST", "FIELD", "SCRIPT", "WINDOW", "tDOWN",
+ "tELSE", "tELSIF", "tEXIT", "tGLOBAL", "tGO", "tGOLOOP", "tIF", "tIN",
+ "tINTO", "tMACRO", "tMOVIE", "tNEXT", "tOF", "tPREVIOUS", "tPUT",
+ "tREPEAT", "tSET", "tTHEN", "tTO", "tWHEN", "tWITH", "tWHILE",
+ "tFACTORY", "tOPEN", "tPLAY", "tINSTANCE", "tGE", "tLE", "tEQ", "tNEQ",
+ "tAND", "tOR", "tNOT", "tMOD", "tAFTER", "tBEFORE", "tCONCAT",
+ "tCONTAINS", "tSTARTS", "tCHAR", "tITEM", "tLINE", "tWORD", "tSPRITE",
+ "tINTERSECTS", "tWITHIN", "tTELL", "tPROPERTY", "tON", "tENDIF",
+ "tENDREPEAT", "tENDTELL", "'<'", "'>'", "'&'", "'+'", "'-'", "'*'",
+ "'/'", "'%'", "'\\n'", "'('", "')'", "','", "'['", "']'", "':'",
+ "$accept", "program", "programline", "asgn", "stmtoneliner", "stmt",
+ "$@1", "$@2", "$@3", "$@4", "$@5", "$@6", "$@7", "$@8", "$@9",
+ "startrepeat", "tellstart", "ifstmt", "elseifstmtlist", "elseifstmt",
+ "jumpifz", "jump", "varassign", "if", "lbl", "stmtlist", "simpleexpr",
+ "expr", "$@10", "chunkexpr", "reference", "proc", "$@11", "$@12", "$@13",
+ "$@14", "globallist", "propertylist", "instancelist", "gotofunc",
+ "gotomovie", "playfunc", "$@15", "defn", "$@16", "$@17", "on", "$@18",
+ "argdef", "endargdef", "argstore", "arglist", "nonemptyarglist", "list",
+ "valuelist", "linearlist", "proplist", "proppair", YY_NULLPTR
};
return yy_sname[yysymbol];
}
@@ -955,18 +961,18 @@ static const yytype_int16 yytoknum[] =
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
- 335, 336, 337, 338, 339, 340, 341, 60, 62, 38,
- 43, 45, 42, 47, 37, 10, 40, 41, 44, 91,
- 93, 58
+ 335, 336, 337, 338, 339, 340, 341, 342, 60, 62,
+ 38, 43, 45, 42, 47, 37, 10, 40, 41, 44,
+ 91, 93, 58
};
#endif
-#define YYPACT_NINF (-349)
+#define YYPACT_NINF (-337)
#define yypact_value_is_default(Yyn) \
((Yyn) == YYPACT_NINF)
-#define YYTABLE_NINF (-176)
+#define YYTABLE_NINF (-174)
#define yytable_value_is_error(Yyn) \
0
@@ -975,45 +981,44 @@ static const yytype_int16 yytoknum[] =
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- 1422, 649, 367, 468, 823, -349, -349, -43, -349, 909,
- -349, -349, -349, -36, 1137, 37, 133, 9, 23, 1164,
- 944, -349, 1164, -349, -349, 18, -69, -349, -349, -349,
- -349, 1164, -349, -349, -349, -349, -349, -349, -349, -35,
- -349, -349, 10, -349, 28, 7, -349, -349, -349, 1164,
- 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1024, 561, -349,
- -349, 1916, -349, 14, -349, 1024, 14, 1024, 14, 1051,
- 1916, 64, 736, -349, -349, 73, 1164, -349, 81, -349,
- 1164, 1497, -349, 79, -349, 138, 1463, 164, -349, -41,
- 10, 10, -34, -15, 139, -349, 1833, 1497, -349, 166,
- 1794, 178, 182, -349, 1422, 1916, 189, -349, -349, -349,
- 10, 1051, -349, 1530, 1563, 1596, 1629, 1883, -349, -349,
- 1846, 21, -25, 118, 119, -349, 1916, 121, 124, 125,
- -349, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
- 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 60,
- 70, 84, 75, 1164, 14, 189, -349, 126, 1916, 1164,
- 1846, -349, -349, 10, 48, 54, 137, 25, 1164, 1164,
- 1164, 26, 179, 1164, 1164, 1164, 1164, 1164, 1164, -349,
- -349, 127, -349, -349, -349, 131, -349, -349, 180, -349,
- -11, -349, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
- 1164, 1164, -349, -349, 1164, 1164, 1164, -349, 1164, 87,
- -28, -28, -28, -28, 1929, 1929, -349, 5, -28, -28,
- -28, -28, 5, -51, -51, -349, -349, 1916, -349, -349,
- -349, -349, -349, 1916, 22, 207, 1916, 189, 191, 10,
- -349, -349, -349, -349, -349, -349, -349, 1164, 1164, 1916,
- 1916, 1916, 1164, 1164, 209, 1916, 1916, 1916, 1916, 1916,
- 1916, 210, 1461, -349, 211, -349, -349, 212, 1916, 1662,
- 1916, 1695, 1916, 1728, 1916, 1761, 1916, 1916, 1916, 1916,
- 1916, 1916, 141, 118, 119, -349, 1164, -349, -349, 58,
- 1164, -349, 1916, 254, -349, 1916, 1916, 10, -349, -349,
- 1383, -349, 1383, -349, -349, 1164, 1164, 1164, 1164, 89,
- -349, -349, 1916, -349, -349, -349, -349, 38, -349, -349,
- -349, 154, -349, 573, 1916, 1916, 1916, 1916, -349, 1383,
- -349, -349, -349, -349, 1383, 1164, 1164, -349, 153, 213,
- 1383, -349, 190, 216, 159, 1916, 1916, -349, 1164, -349,
- 161, -349, 148, -349, 1164, 198, -349, 1383, 1916, -349,
- 226, -349, 1916, 1164, 171, 204, -349, -349, -349, 1916,
- -349, -349, 1227, -349, -349, 1383, -349, -349, -349, -349,
- 1279, -349, -349, 1331, -349
+ 1036, 367, -337, -337, -21, -337, 542, -337, -337, -337,
+ 15, 775, 152, 171, 13, 44, 801, 581, -337, 801,
+ -337, -337, 41, -5, -337, -337, -337, -337, 801, -337,
+ -337, -337, -337, -337, 22, -337, -337, 3, -337, 50,
+ 3, -1, -337, -337, -337, -337, -337, -337, -337, 801,
+ 801, 801, 801, 801, 801, 801, 801, 662, 278, -337,
+ 1522, -337, -337, 43, -337, 455, -337, -337, 116, 801,
+ -337, 103, -337, 801, 1103, -337, 122, -337, 127, 1070,
+ 140, -337, -46, 3, 3, -22, 17, 124, -337, 1439,
+ 1103, -337, 176, 1400, 186, 190, -337, 1036, 1522, 196,
+ -337, -337, -337, 3, -337, 688, -337, 1136, 1169, 1202,
+ 1235, 1489, -337, -337, 77, 1452, -39, 0, 129, 132,
+ -337, 1522, 123, 136, 137, -337, 801, 801, 801, 801,
+ 801, 801, 801, 801, 801, 801, 801, 801, 801, 801,
+ 801, 801, 801, 801, 43, 196, -337, 138, 1522, 801,
+ 1452, -337, -337, 3, 1, 29, 33, -8, 801, 801,
+ 801, 28, 191, 801, 801, 801, 801, 801, 801, -337,
+ -337, 141, -337, -337, -337, 142, -337, -337, 173, -337,
+ -11, -337, 100, 114, 801, 801, 801, 801, 801, 801,
+ 801, 801, 801, 801, -337, -337, -337, -337, 801, 801,
+ 801, -337, 801, 178, 76, 76, 76, 76, 1535, 1535,
+ -337, 21, 76, 76, 76, 76, 21, -54, -54, -337,
+ -337, 1522, 20, 218, 1522, 196, 199, -337, -337, -337,
+ -337, -337, -337, 801, 801, 1522, 1522, 1522, 801, 801,
+ 220, 1522, 1522, 1522, 1522, 1522, 1522, 221, 34, -337,
+ 222, -337, -337, 223, -337, -337, -337, 1522, 1268, 1522,
+ 1301, 1522, 1334, 1522, 1367, 1522, 1522, 801, 1522, 1522,
+ 1522, 1522, 146, 129, 132, -337, -337, -337, 48, 801,
+ 1522, 1037, -337, 1522, 1522, 3, -337, -337, 997, -337,
+ 997, -337, -337, 801, 801, 801, 801, 801, 1522, 118,
+ -337, -337, 1522, -337, -337, -337, -337, 109, -337, -337,
+ -337, 162, -337, 867, 120, 1522, 1522, 1522, 1522, -337,
+ 801, 997, -337, -337, -337, -337, 997, 801, 801, -337,
+ 193, 226, -337, 1522, 997, -337, 197, 217, 167, 1522,
+ 1522, -337, 801, -337, 169, -337, 156, -337, 801, 202,
+ -337, 997, 1522, -337, 233, -337, 1522, 801, 174, 205,
+ -337, -337, -337, 1522, -337, -337, 892, -337, -337, 997,
+ -337, -337, -337, -337, 930, -337, -337, 959, -337
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -1021,67 +1026,66 @@ static const yytype_int16 yypact[] =
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
- 4, 0, 0, 0, 0, 150, 155, 121, 122, 0,
- 139, 57, 152, 0, 0, 0, 0, 0, 0, 0,
- 0, 126, 0, 124, 159, 0, 2, 26, 28, 6,
- 29, 0, 25, 27, 118, 119, 5, 58, 24, 0,
- 62, 67, 0, 63, 0, 66, 65, 64, 84, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,
- 82, 170, 81, 129, 70, 0, 73, 0, 75, 0,
- 172, 168, 0, 58, 120, 0, 0, 140, 0, 141,
- 0, 142, 144, 0, 43, 0, 117, 0, 58, 0,
- 0, 0, 0, 0, 0, 154, 131, 147, 149, 0,
- 0, 0, 0, 1, 4, 54, 161, 71, 66, 68,
- 0, 0, 98, 0, 0, 0, 0, 0, 103, 104,
- 170, 0, 66, 65, 64, 176, 179, 0, 178, 177,
- 181, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 4, 0, 149, 154, 118, 119, 0, 138, 55, 151,
+ 0, 0, 0, 0, 0, 0, 0, 0, 123, 0,
+ 121, 158, 0, 2, 24, 26, 6, 27, 0, 25,
+ 115, 116, 5, 56, 0, 60, 65, 0, 61, 0,
+ 0, 64, 63, 62, 78, 111, 101, 112, 113, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 70,
+ 168, 110, 71, 131, 68, 0, 56, 117, 0, 0,
+ 139, 0, 140, 0, 141, 143, 0, 41, 0, 114,
+ 0, 56, 0, 0, 0, 0, 0, 0, 153, 126,
+ 146, 148, 0, 0, 0, 0, 1, 4, 52, 160,
+ 69, 64, 66, 0, 76, 0, 92, 0, 0, 0,
+ 0, 0, 97, 98, 64, 168, 0, 64, 63, 62,
+ 174, 177, 0, 176, 175, 179, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 66, 0, 0, 151, 161, 133, 123, 146, 0,
- 0, 143, 58, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 148,
- 137, 127, 48, 48, 135, 125, 160, 3, 0, 162,
- 0, 83, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 69, 128, 0, 0, 0, 174, 0, 0,
- 94, 95, 92, 93, 96, 97, 89, 100, 101, 102,
- 91, 90, 99, 85, 86, 87, 88, 171, 72, 74,
- 76, 77, 79, 173, 0, 0, 145, 161, 0, 0,
- 7, 116, 8, 10, 11, 12, 13, 0, 0, 54,
- 17, 15, 0, 0, 0, 16, 14, 22, 23, 44,
- 130, 0, 0, 59, 0, 59, 167, 0, 107, 0,
- 109, 0, 111, 0, 113, 0, 105, 106, 185, 184,
- 183, 180, 0, 0, 0, 182, 0, 167, 134, 0,
- 0, 115, 39, 31, 47, 18, 19, 0, 138, 58,
- 58, 136, 55, 59, 163, 0, 0, 0, 0, 0,
- 59, 167, 9, 58, 56, 56, 59, 0, 46, 60,
- 61, 0, 51, 158, 108, 110, 112, 114, 78, 156,
- 59, 40, 32, 36, 55, 0, 0, 45, 58, 164,
- 153, 54, 0, 0, 0, 20, 21, 59, 0, 52,
- 0, 165, 157, 41, 0, 0, 30, 58, 54, 49,
- 0, 47, 33, 0, 0, 0, 166, 59, 54, 37,
- 50, 59, 0, 47, 54, 55, 42, 59, 47, 53,
- 0, 59, 34, 0, 38
+ 0, 0, 0, 0, 150, 160, 132, 120, 145, 0,
+ 0, 142, 56, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 147,
+ 136, 124, 46, 46, 134, 122, 159, 3, 0, 161,
+ 0, 77, 64, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 127, 128, 67, 130, 0, 0,
+ 0, 172, 0, 0, 88, 89, 86, 87, 90, 91,
+ 83, 94, 95, 96, 85, 84, 93, 79, 80, 81,
+ 82, 169, 0, 0, 144, 160, 0, 7, 8, 10,
+ 11, 12, 13, 0, 0, 52, 17, 15, 0, 0,
+ 0, 16, 14, 22, 23, 42, 125, 0, 0, 57,
+ 0, 57, 166, 0, 72, 73, 75, 102, 0, 104,
+ 0, 106, 0, 108, 0, 99, 100, 0, 183, 182,
+ 181, 178, 0, 0, 0, 180, 166, 133, 0, 0,
+ 37, 29, 45, 18, 19, 0, 137, 56, 56, 135,
+ 53, 57, 162, 0, 0, 0, 0, 0, 170, 0,
+ 57, 166, 9, 56, 54, 54, 57, 0, 44, 58,
+ 59, 0, 49, 157, 0, 103, 105, 107, 109, 129,
+ 0, 155, 57, 38, 30, 34, 53, 0, 0, 43,
+ 56, 163, 74, 171, 152, 52, 0, 0, 0, 20,
+ 21, 57, 0, 50, 0, 164, 156, 39, 0, 0,
+ 28, 56, 52, 47, 0, 45, 31, 0, 0, 0,
+ 165, 57, 52, 35, 48, 57, 0, 45, 52, 53,
+ 40, 57, 45, 51, 0, 57, 32, 0, 36
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -349, 155, -349, -349, -5, 3, -349, -349, -349, -349,
- -349, -349, -349, -349, -349, -348, 77, -349, -349, -349,
- -247, -328, -57, -349, -72, -100, -8, 0, -349, 1,
- 19, 52, -349, -349, -349, -349, -349, -349, -349, -349,
- -12, -349, -349, -349, -349, -349, -349, -349, -151, -349,
- -278, -349, 43, -23, -349, -349, -349, -349, 55
+ -337, 163, -337, -337, 14, 2, -337, -337, -337, -337,
+ -337, -337, -337, -337, -337, -336, 90, -337, -337, -337,
+ -197, -314, -41, -337, -65, -150, -14, -6, -337, 51,
+ -337, -337, -337, -337, -337, -337, -337, -337, -337, -337,
+ -10, -337, -337, -337, -337, -337, -337, -337, -142, -337,
+ -267, -51, -27, -337, -337, -337, -337, 64
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 25, 26, 27, 28, 320, 314, 342, 368, 315,
- 343, 374, 313, 341, 361, 316, 262, 30, 338, 349,
- 188, 322, 332, 31, 106, 300, 59, 60, 286, 61,
- 62, 242, 33, 75, 101, 99, 157, 185, 181, 34,
- 82, 35, 72, 36, 83, 73, 37, 102, 190, 352,
- 303, 38, 152, 71, 64, 127, 128, 129, 130
+ -1, 22, 23, 24, 25, 310, 304, 336, 362, 305,
+ 337, 368, 303, 335, 355, 306, 248, 27, 330, 343,
+ 178, 312, 324, 28, 99, 288, 59, 60, 293, 61,
+ 62, 29, 68, 94, 92, 267, 147, 175, 171, 30,
+ 75, 31, 65, 32, 76, 66, 33, 95, 180, 346,
+ 291, 63, 299, 64, 122, 123, 124, 125
};
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
@@ -1089,485 +1093,404 @@ static const yytype_int16 yydefgoto[] =
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 32, 155, 294, 29, 234, 70, 344, 74, 98, 310,
- 81, 39, 169, 367, 84, 86, 168, 137, 103, 173,
- 96, 97, 170, 100, 40, 377, 104, 41, 42, 174,
- 381, 43, 105, 330, 109, 94, 108, 46, 175, 47,
- 137, 146, 147, 138, 63, 66, 68, 379, 176, 95,
- 112, 113, 114, 115, 116, 117, 118, 119, 120, 126,
- 107, 143, 144, 145, 146, 147, 120, 247, 120, 161,
- 120, 111, 239, 137, 240, 110, 204, 158, 239, 252,
- 243, 160, 171, 172, 266, 179, 289, 267, 248, 253,
- 237, 335, 87, 88, 353, 144, 145, 146, 147, 156,
- 121, 336, 191, 111, 32, 162, 80, 29, 149, 58,
- 150, 365, 148, 282, 283, 154, 284, 287, 203, 148,
- 267, 373, 50, 51, 52, 53, 159, 378, 50, 51,
- 52, 53, 210, 211, 212, 213, 214, 215, 216, 217,
- 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
- 89, 90, 91, 311, 233, 238, 267, 228, 148, 92,
- 236, 239, 153, 245, 163, 302, 93, 229, 148, 249,
- 250, 251, 232, 148, 255, 256, 257, 258, 259, 260,
- 111, 230, 231, 241, 241, 241, 328, 153, 347, 348,
- 167, 177, 180, 268, 269, 270, 271, 272, 273, 274,
- 275, 276, 277, 323, 184, 278, 279, 280, 186, 281,
- 329, 50, 51, 52, 53, 189, 334, 244, 246, 205,
- 206, 207, 208, 209, 235, 261, 254, 318, 321, 264,
- 340, 291, 265, 288, 290, 297, 298, 301, 304, 351,
- 337, 331, 204, 354, 356, 359, 360, 357, 292, 293,
- 355, 363, 366, 295, 296, 370, 371, 299, 333, 187,
- 263, 0, 32, 309, 285, 0, 350, 372, 0, 0,
- 0, 375, 0, 0, 0, 0, 0, 380, 0, 0,
- 0, 383, 0, 0, 0, 364, 0, 70, -35, 317,
- 0, 312, 0, 0, 0, 0, 0, 0, 0, 0,
- 32, 0, 32, 0, 0, 0, 324, 325, 326, 327,
- 0, 0, 0, 0, 0, 131, 132, 133, 134, 135,
- 136, 0, 137, 32, 0, 138, 139, 140, 0, 32,
- 0, 0, 0, 0, 32, 0, 345, 346, 0, 0,
- 32, 141, 142, 143, 144, 145, 146, 147, 0, 358,
- 0, 0, 0, 0, 0, 362, 0, 32, 0, 0,
- 0, 0, 0, 0, 369, 0, 0, -169, 39, 0,
- 0, 0, 32, 0, 0, 32, 0, 0, 0, 0,
- 32, 40, 0, 32, 41, 42, 0, 0, 43, -169,
- 2, 3, 44, 45, 46, 0, 47, -169, -169, 0,
- 48, -169, -169, -169, -169, -169, -169, -169, -169, 0,
- -169, 0, -169, -169, -169, 0, -169, -169, -169, -169,
- -169, -169, -169, 0, 0, -169, -169, -169, -169, -169,
- -169, -169, -169, -169, 49, -169, -169, -169, -169, -169,
- -169, 50, 51, 52, 53, 54, -169, -169, -169, -169,
- 0, -169, -169, -169, -169, -169, -169, 55, 56, -169,
- -169, 0, -169, 65, -169, -169, 58, -169, -169, 39,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 40, 0, 0, 41, 42, 0, 0, 43,
- -169, 2, 3, 44, 45, 46, 0, 47, -169, -169,
- 0, 48, -169, -169, -169, -169, -169, -169, -169, -169,
- 0, -169, 0, -169, -169, -169, 0, -169, -169, -169,
- -169, -169, -169, -169, 0, 0, -169, -169, -169, -169,
- -169, -169, -169, -169, -169, 49, -169, -169, -169, -169,
- -169, -169, 50, 51, 52, 53, 54, -169, -169, -169,
- -169, 0, -169, -169, -169, -169, -169, -169, 55, 56,
- -169, -169, 39, -169, 67, -169, -169, 58, -169, 0,
- 0, 0, 0, 0, 0, 40, 0, 0, 41, 42,
- 0, 0, 43, 0, 2, 3, 44, 122, 123, 0,
- 124, 0, 0, 0, 48, 1, 2, 3, 0, 4,
- 0, 0, 0, 339, 5, 0, 0, 0, 0, 0,
- 7, 8, 9, 10, 11, 0, 0, 0, 0, 13,
- 0, 0, 14, 15, 16, 0, 0, 17, 49, 0,
- 0, 19, 20, 21, 0, 50, 51, 52, 53, 54,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, -169,
- 39, 55, 56, 0, 22, 23, 0, 80, 0, 0,
- 58, -175, 125, 40, 0, 0, 41, 42, 319, 0,
- 43, -169, 2, 3, 44, 45, 46, 0, 47, -169,
- -169, 0, 48, 0, -169, -169, -169, -169, -169, -169,
- -169, 0, 0, 0, 0, -169, 0, 0, -169, -169,
- -169, 0, 0, -169, 0, 0, 0, -169, -169, -169,
- 0, 0, 0, 0, 0, 0, 49, 0, 0, 0,
- 0, 0, 0, 50, 51, 52, 53, 54, 0, 0,
- -169, -169, 0, -169, -169, -169, -169, 39, 0, 55,
- 56, 0, 0, 0, -169, 57, 0, -169, 58, 0,
- 40, 0, 0, 41, 42, 0, 0, 43, -169, 2,
- 3, 44, 45, 46, 0, 47, -169, -169, 0, 48,
- 0, -169, -169, -169, -169, -169, -169, -169, 0, 0,
- 0, 0, -169, 0, 0, -169, -169, -169, 0, 0,
- -169, 0, 0, 0, -169, -169, -169, 0, 0, 0,
+ 74, 145, 26, 222, 34, 79, 116, 91, 159, 300,
+ 89, 90, 338, 93, 144, 132, 158, 35, 160, 361,
+ 36, 37, 98, 102, 38, 227, 104, 101, 42, 43,
+ 67, 371, 163, 46, 322, 233, 375, 87, 282, 141,
+ 142, 96, 164, 106, 107, 108, 109, 110, 111, 112,
+ 113, 115, 121, 229, 183, 373, 234, 231, 1, 197,
+ 143, 46, 2, 148, 151, 46, 77, 150, 88, 161,
+ 162, 165, 4, 5, 6, 7, 50, 51, 52, 53,
+ 169, 166, 238, 278, 11, 252, 13, 225, 253, 181,
+ 132, 97, 239, 16, 17, 18, 105, 105, 103, 26,
+ 73, 290, 198, 58, 50, 51, 52, 53, 50, 51,
+ 52, 53, 139, 140, 141, 142, 276, 20, 100, 253,
+ 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
+ 214, 215, 216, 217, 218, 219, 220, 221, 347, 226,
+ 146, 313, 143, 224, 301, 132, 152, 253, 133, 149,
+ 321, 153, 235, 236, 237, 359, 326, 241, 242, 243,
+ 244, 245, 246, 327, 157, 367, 138, 139, 140, 141,
+ 142, 372, 334, 328, 105, 194, 195, 167, 257, 258,
+ 259, 260, 261, 262, 263, 264, 265, 266, 82, 83,
+ 84, 351, 268, 269, 270, 85, 271, 105, 254, 255,
+ 170, 86, 272, 273, 274, 228, 230, 232, 80, 81,
+ 174, 366, 256, 143, 176, 369, 319, 320, 332, 320,
+ 179, 374, 308, 311, 201, 377, 251, 280, 281, 341,
+ 342, 199, 283, 284, 200, 202, 203, 223, 323, 240,
+ 247, 250, 277, 279, 285, 286, 289, 292, 198, 329,
+ 345, 348, 349, 350, 353, 354, 357, 360, 365, 364,
+ 177, 298, 287, 249, 325, 344, 314, 275, 0, 0,
+ 0, 307, 0, 302, 0, 0, 0, 0, 0, 34,
+ 0, 0, 0, 0, 0, 0, 358, 298, 315, 316,
+ 317, 318, 35, 0, 0, 36, 37, 0, 0, 38,
+ 39, 40, 117, 118, 119, 0, 0, 0, 44, 45,
+ 46, 47, 48, 0, 333, 0, 0, 0, 0, 0,
+ 0, 339, 340, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 352, 0, 0, 0,
+ 0, 0, 356, 0, 0, 0, 49, 0, 0, 0,
+ 0, 363, 0, 50, 51, 52, 53, 54, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, -167, 34, 55,
+ 56, 0, 0, 0, 0, 73, 0, 0, 58, -173,
+ 120, 35, 0, 0, 36, 37, 0, 0, 38, 39,
+ 40, 41, 42, 43, -167, -167, 0, 44, 45, 46,
+ 47, 48, 0, -167, -167, -167, -167, -167, -167, -167,
+ 0, 0, 0, 0, -167, 0, 0, -167, -167, -167,
+ 0, 0, -167, 0, 0, 0, -167, -167, -167, 0,
+ 0, 0, 0, 0, 0, 49, 0, 0, 0, 0,
+ 0, 0, 50, 51, 52, 53, 54, 0, 0, -167,
+ -167, 0, -167, -167, -167, -167, 34, 0, 55, 56,
+ 0, 0, 0, -167, 57, 0, -167, 58, 0, 35,
+ 0, 0, 36, 37, 0, 0, 38, 39, 40, 41,
+ 42, 43, -167, -167, 0, 44, 45, 46, 47, 48,
+ 0, -167, -167, -167, -167, -167, -167, -167, 0, 0,
+ 0, 0, -167, 0, 0, -167, -167, -167, 0, 0,
+ -167, 0, 0, 0, -167, -167, -167, 0, 0, 0,
0, 0, 0, 49, 0, 0, 0, 0, 0, 0,
- 50, 51, 52, 53, 54, 0, 0, -169, -169, 0,
- -169, -169, -169, -132, 39, 0, 55, 56, 0, 0,
- 0, -169, 80, 0, -169, 58, 0, 40, 0, 0,
- 41, 42, 0, 0, 43, -132, 2, 3, 44, 45,
- 46, 0, 47, -132, -132, 0, 48, 0, -132, -132,
- -132, -132, -132, -132, -132, 0, 0, 0, 0, -132,
- 0, 0, -132, -132, -132, 0, 0, -132, 0, 0,
- 0, -132, -132, -132, 0, 0, 0, 0, 0, 0,
+ 50, 51, 52, 53, 54, 0, 0, -167, -167, 0,
+ -167, -167, -167, 34, 0, 0, 55, 56, 0, 0,
+ 0, -167, 73, 0, -167, 58, 35, 0, 0, 36,
+ 37, 0, 0, 38, 39, 40, 41, 42, 43, 0,
+ 0, 0, 44, 45, 46, 47, 48, 0, 0, 0,
+ 0, 0, 34, 0, 0, 0, 0, 0, 69, 70,
+ 71, 72, 0, 0, 0, 35, 0, 0, 36, 37,
+ 0, 0, 38, 39, 40, 41, 42, 43, 0, 0,
+ 49, 44, 45, 46, 47, 48, 0, 50, 51, 52,
+ 53, 54, 0, 0, 0, 0, 0, 69, 0, 71,
+ 0, 0, 0, 55, 56, 0, 0, 0, 0, 73,
+ 0, 0, 58, 0, 0, 0, 0, 0, 0, 49,
+ 0, 0, 0, 0, 0, 0, 50, 51, 52, 53,
+ 54, 0, 0, 34, 0, 0, 0, 0, 0, 0,
+ 0, 0, 55, 56, 0, 0, 35, 0, 73, 36,
+ 37, 58, 0, 38, 39, 40, 114, 42, 43, 34,
+ 0, 0, 44, 45, 46, 47, 48, 0, 0, 0,
+ 0, 0, 35, 0, 0, 36, 37, 0, 0, 38,
+ 39, 40, 182, 42, 43, 0, 0, 0, 44, 45,
+ 46, 47, 48, 0, 0, 0, 0, 0, 0, 0,
49, 0, 0, 0, 0, 0, 0, 50, 51, 52,
- 53, 54, 0, 0, -132, -132, 0, -132, -132, -132,
- 39, 0, 0, 55, 56, 0, 0, 0, -132, 69,
- 0, 0, 58, 40, 0, 0, 41, 42, 0, 0,
- 43, 0, 2, 3, 44, 45, 46, 0, 47, 0,
- 0, 0, 48, 0, 0, 39, 0, 0, 0, 0,
- 0, 0, 0, 0, 76, 77, 78, 79, 40, 0,
- 0, 41, 42, 0, 0, 43, 0, 2, 3, 44,
- 45, 46, 0, 47, 0, 0, 49, 48, 0, 0,
- 0, 0, 0, 50, 51, 52, 53, 54, 0, 76,
- 0, 78, 0, 0, 0, 0, 0, 0, 0, 55,
- 56, 0, 0, 0, 0, 80, 0, 0, 58, 0,
- 0, 49, 0, 0, 0, 0, 0, 0, 50, 51,
- 52, 53, 54, 0, 0, 39, 0, 0, 0, 0,
- 0, 0, 0, 0, 55, 56, 0, 0, 40, 0,
- 80, 41, 42, 58, 0, 43, 0, 2, 3, 44,
- 45, 46, 39, 47, 0, 0, 0, 48, 0, 0,
- 0, 0, 0, 0, 0, 40, 0, 0, 41, 42,
- 0, 0, 43, 0, 2, 3, 44, 151, 46, 0,
- 47, 0, 0, 0, 48, 0, 0, 0, 0, 0,
- 0, 49, 0, 0, 0, 0, 0, 0, 50, 51,
- 52, 53, 54, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 55, 56, 0, 0, 49, 0,
- 80, -169, -169, 58, 0, 50, 51, 52, 53, 54,
- 0, 0, 0, 0, 0, 0, 0, 0, 39, 0,
- 0, 55, 56, 0, 0, 0, 0, 80, -169, -169,
- 58, 40, 0, 0, 41, 42, 0, 85, 43, 0,
- 2, 3, 44, 45, 46, 39, 47, 0, 0, 0,
- 48, 0, 0, 0, 0, 0, 0, 0, 40, 0,
- 0, 41, 42, 0, 0, 43, 0, 2, 3, 44,
- 45, 46, 0, 47, 0, 0, 0, 48, 0, 0,
- 0, 0, 0, 0, 49, 0, 0, 0, 0, 0,
- 0, 50, 51, 52, 53, 54, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 55, 56, 0,
- 0, 49, 0, 80, 0, 0, 58, 0, 50, 51,
- 52, 53, 54, 0, 0, 0, 0, 0, 0, 1,
- 2, 3, 0, 4, 55, 56, 0, 0, 5, 0,
- 80, 0, 0, 58, 7, 8, 9, 10, 11, 0,
- 0, 0, 0, 13, 0, 0, 14, 15, 16, 0,
- 0, 17, 0, 0, 0, 19, 20, 21, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1, 2, 3, 0, 4, 0, 0, 22, 23,
- 5, 0, 376, 0, 0, 0, 7, 8, 9, 10,
- 11, 0, 319, 0, 0, 13, 0, 0, 14, 15,
- 16, 0, 0, 17, 0, 0, 0, 19, 20, 21,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1, 2, 3, 0, 4, 0, 0,
- 22, 23, 5, 0, 382, 0, 0, 0, 7, 8,
- 9, 10, 11, 0, 319, 0, 0, 13, 0, 0,
- 14, 15, 16, 0, 0, 17, 0, 0, 0, 19,
- 20, 21, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1, 2, 3, 0, 4,
- 0, 0, 22, 23, 5, 0, 384, 0, 0, 0,
- 7, 8, 9, 10, 11, 0, 319, 0, 0, 13,
- 0, 0, 14, 15, 16, 0, 0, 17, 0, 0,
- 0, 19, 20, 21, 1, 2, 3, 0, 4, 0,
- 0, 0, 0, 5, 6, 0, 0, 0, 0, 7,
- 8, 9, 10, 11, 22, 23, 12, 0, 13, 0,
- 0, 14, 15, 16, 0, 0, 17, 0, 319, 18,
- 19, 20, 21, 1, 2, 3, 0, 4, 0, 0,
- 0, 0, 5, 0, 0, 0, 0, 0, 7, 8,
- 9, 10, 0, 22, 23, 24, 164, 0, 0, 0,
- 14, 0, 16, 0, 0, 0, 0, 0, 0, 19,
- 20, 21, 0, 0, 131, 132, 133, 134, 135, 136,
- 0, 137, 165, 166, 138, 139, 140, 0, 0, 0,
- 0, 0, 76, 23, 78, 0, 0, 0, 0, 0,
- 141, 142, 143, 144, 145, 146, 147, 0, 131, 132,
- 133, 134, 135, 136, 0, 137, 0, 0, 138, 139,
- 140, 0, 0, 0, 0, 0, 0, 192, 0, 0,
- 0, 0, 0, 193, 141, 142, 143, 144, 145, 146,
- 147, 131, 132, 133, 134, 135, 136, 0, 137, 0,
- 0, 138, 139, 140, 0, 0, 0, 0, 0, 0,
- 194, 0, 0, 0, 0, 0, 195, 141, 142, 143,
- 144, 145, 146, 147, 131, 132, 133, 134, 135, 136,
- 0, 137, 0, 0, 138, 139, 140, 0, 0, 0,
- 0, 0, 0, 196, 0, 0, 0, 0, 0, 197,
- 141, 142, 143, 144, 145, 146, 147, 131, 132, 133,
- 134, 135, 136, 0, 137, 0, 0, 138, 139, 140,
- 0, 0, 0, 0, 0, 0, 198, 0, 0, 0,
- 0, 0, 199, 141, 142, 143, 144, 145, 146, 147,
- 131, 132, 133, 134, 135, 136, 0, 137, 0, 0,
- 138, 139, 140, 0, 0, 0, 0, 0, 0, 305,
- 0, 0, 0, 0, 0, 0, 141, 142, 143, 144,
- 145, 146, 147, 131, 132, 133, 134, 135, 136, 0,
- 137, 0, 0, 138, 139, 140, 0, 0, 0, 0,
- 0, 0, 306, 0, 0, 0, 0, 0, 0, 141,
- 142, 143, 144, 145, 146, 147, 131, 132, 133, 134,
- 135, 136, 0, 137, 0, 0, 138, 139, 140, 0,
- 0, 0, 0, 0, 0, 307, 0, 0, 0, 0,
- 0, 0, 141, 142, 143, 144, 145, 146, 147, 131,
- 132, 133, 134, 135, 136, 0, 137, 0, 0, 138,
- 139, 140, 0, 0, 0, 0, 0, 0, 308, 0,
- 0, 0, 0, 0, 0, 141, 142, 143, 144, 145,
- 146, 147, 131, 132, 133, 134, 135, 136, 0, 137,
- 0, 0, 138, 139, 140, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 182, 141, 142,
- 143, 144, 145, 146, 147, 131, 132, 133, 134, 135,
- 136, 0, 137, 0, 0, 138, 139, 140, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 141, 142, 143, 144, 145, 146, 147, 178, 183,
- 0, 0, 0, 0, 131, 132, 133, 134, 135, 136,
- 0, 137, 0, 0, 138, 139, 140, 131, 132, 133,
- 134, 135, 136, 0, 137, 0, 0, 138, 139, 140,
- 141, 142, 143, 144, 145, 146, 147, 0, 0, 0,
- 0, 0, 0, 141, 142, 143, 144, 145, 146, 147,
- 0, 0, 0, 202, 131, 132, 133, 134, 135, 136,
- 0, 137, 0, 0, 138, 139, 140, 0, 0, 0,
- 0, 0, 200, 201, 0, 0, 0, 0, 0, 0,
- 141, 142, 143, 144, 145, 146, 147, 131, 132, 133,
- 134, 135, 136, 0, 137, 0, 0, 138, 139, 140,
- 131, 132, 133, 134, 0, 0, 0, 137, 0, 0,
- 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
- 0, 0, 0, 0, 0, 0, 141, 142, 143, 144,
- 145, 146, 147
+ 53, 54, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 55, 56, 0, 49, 0, 0, 73,
+ -167, -167, 58, 50, 51, 52, 53, 54, 0, 0,
+ 0, 0, 0, 0, 0, 0, 34, 0, 0, 55,
+ 56, 0, 0, 0, 0, 73, -167, -167, 58, 35,
+ 0, 0, 36, 37, 0, 78, 38, 39, 40, 41,
+ 42, 43, 34, 0, 0, 44, 45, 46, 47, 48,
+ 0, 0, 0, 0, 0, 35, 0, 0, 36, 37,
+ 0, 0, 38, 39, 40, 41, 42, 43, 0, 0,
+ 0, 44, 45, 46, 47, 48, 0, 0, 0, 0,
+ 0, 0, 0, 49, 0, 0, 0, 0, 0, 0,
+ 50, 51, 52, 53, 54, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 55, 56, 0, 49,
+ 0, 0, 73, 0, 0, 58, 50, 51, 52, 53,
+ 54, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1, 55, 56, 331, 2, 0, 0, 73, 0,
+ 0, 58, 0, 0, 0, 4, 5, 6, 7, 8,
+ 0, 0, 0, 0, 10, 0, 1, 11, 12, 13,
+ 2, 0, 14, 0, 0, 0, 16, 17, 18, 0,
+ 4, 5, 6, 7, 8, 0, 0, 0, 0, 10,
+ 0, 0, 11, 12, 13, 0, 0, 14, 0, 19,
+ 20, 16, 17, 18, 1, 0, 0, 0, 2, 0,
+ 0, 0, 0, 309, 0, 0, 0, 0, 4, 5,
+ 6, 7, 8, 0, 19, 20, 0, 10, 370, 0,
+ 11, 12, 13, 1, 0, 14, 0, 2, 309, 16,
+ 17, 18, 0, 0, 0, 0, 0, 4, 5, 6,
+ 7, 8, 0, 0, 0, 0, 10, 0, 0, 11,
+ 12, 13, 19, 20, 14, 0, 376, 0, 16, 17,
+ 18, 1, 0, 0, 0, 2, 309, 0, 0, 0,
+ 0, 0, 0, 0, 0, 4, 5, 6, 7, 8,
+ 0, 19, 20, 0, 10, 378, 0, 11, 12, 13,
+ 0, 0, 14, 0, 0, 309, 16, 17, 18, 0,
+ 1, 0, 0, 0, 2, 3, 0, 0, 0, 0,
+ 0, 0, -33, 0, 4, 5, 6, 7, 8, 19,
+ 20, 9, 0, 10, 0, 0, 11, 12, 13, 0,
+ 0, 14, 0, 309, 15, 16, 17, 18, 0, 126,
+ 127, 128, 129, 130, 131, 0, 132, 0, 0, 133,
+ 134, 135, 0, 0, 154, 0, 0, 0, 19, 20,
+ 21, 0, 0, 0, 0, 136, 137, 138, 139, 140,
+ 141, 142, 126, 127, 128, 129, 130, 131, 0, 132,
+ 155, 156, 133, 134, 135, 0, 0, 0, 0, 69,
+ 0, 71, 0, 0, 0, 0, 0, 0, 136, 137,
+ 138, 139, 140, 141, 142, 126, 127, 128, 129, 130,
+ 131, 0, 132, 0, 0, 133, 134, 135, 0, 0,
+ 0, 0, 0, 0, 184, 0, 0, 0, 0, 0,
+ 185, 136, 137, 138, 139, 140, 141, 142, 126, 127,
+ 128, 129, 130, 131, 0, 132, 0, 0, 133, 134,
+ 135, 0, 0, 0, 0, 0, 0, 186, 0, 0,
+ 0, 0, 0, 187, 136, 137, 138, 139, 140, 141,
+ 142, 126, 127, 128, 129, 130, 131, 0, 132, 0,
+ 0, 133, 134, 135, 0, 0, 0, 0, 0, 0,
+ 188, 0, 0, 0, 0, 0, 189, 136, 137, 138,
+ 139, 140, 141, 142, 126, 127, 128, 129, 130, 131,
+ 0, 132, 0, 0, 133, 134, 135, 0, 0, 0,
+ 0, 0, 0, 190, 0, 0, 0, 0, 0, 191,
+ 136, 137, 138, 139, 140, 141, 142, 126, 127, 128,
+ 129, 130, 131, 0, 132, 0, 0, 133, 134, 135,
+ 0, 0, 0, 0, 0, 0, 294, 0, 0, 0,
+ 0, 0, 0, 136, 137, 138, 139, 140, 141, 142,
+ 126, 127, 128, 129, 130, 131, 0, 132, 0, 0,
+ 133, 134, 135, 0, 0, 0, 0, 0, 0, 295,
+ 0, 0, 0, 0, 0, 0, 136, 137, 138, 139,
+ 140, 141, 142, 126, 127, 128, 129, 130, 131, 0,
+ 132, 0, 0, 133, 134, 135, 0, 0, 0, 0,
+ 0, 0, 296, 0, 0, 0, 0, 0, 0, 136,
+ 137, 138, 139, 140, 141, 142, 126, 127, 128, 129,
+ 130, 131, 0, 132, 0, 0, 133, 134, 135, 0,
+ 0, 0, 0, 0, 0, 297, 0, 0, 0, 0,
+ 0, 0, 136, 137, 138, 139, 140, 141, 142, 126,
+ 127, 128, 129, 130, 131, 0, 132, 0, 0, 133,
+ 134, 135, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 172, 136, 137, 138, 139, 140,
+ 141, 142, 126, 127, 128, 129, 130, 131, 0, 132,
+ 0, 0, 133, 134, 135, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 136, 137,
+ 138, 139, 140, 141, 142, 168, 173, 0, 0, 0,
+ 0, 126, 127, 128, 129, 130, 131, 0, 132, 0,
+ 0, 133, 134, 135, 126, 127, 128, 129, 130, 131,
+ 0, 132, 0, 0, 133, 134, 135, 136, 137, 138,
+ 139, 140, 141, 142, 0, 0, 0, 0, 0, 0,
+ 136, 137, 138, 139, 140, 141, 142, 0, 0, 0,
+ 196, 126, 127, 128, 129, 130, 131, 0, 132, 0,
+ 0, 133, 134, 135, 0, 0, 0, 0, 0, 192,
+ 193, 0, 0, 0, 0, 0, 0, 136, 137, 138,
+ 139, 140, 141, 142, 126, 127, 128, 129, 130, 131,
+ 0, 132, 0, 0, 133, 134, 135, 126, 127, 128,
+ 129, 0, 0, 0, 132, 0, 0, 133, 134, 135,
+ 136, 137, 138, 139, 140, 141, 142, 0, 0, 0,
+ 0, 0, 0, 136, 137, 138, 139, 140, 141, 142
};
static const yytype_int16 yycheck[] =
{
- 0, 73, 249, 0, 155, 4, 334, 50, 20, 287,
- 9, 1, 53, 361, 50, 14, 88, 68, 0, 53,
- 19, 20, 63, 22, 14, 373, 95, 17, 18, 63,
- 378, 21, 31, 311, 42, 26, 26, 27, 53, 29,
- 68, 92, 93, 71, 1, 2, 3, 375, 63, 26,
- 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
- 95, 89, 90, 91, 92, 93, 65, 42, 67, 81,
- 69, 96, 24, 68, 26, 47, 101, 76, 24, 53,
- 26, 80, 90, 91, 95, 97, 237, 98, 63, 63,
- 162, 53, 55, 56, 341, 90, 91, 92, 93, 26,
- 57, 63, 110, 96, 104, 26, 96, 104, 65, 99,
- 67, 358, 98, 26, 27, 72, 29, 95, 97, 98,
- 98, 368, 74, 75, 76, 77, 45, 374, 74, 75,
- 76, 77, 131, 132, 133, 134, 135, 136, 137, 138,
- 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
- 17, 18, 19, 95, 153, 163, 98, 97, 98, 26,
- 159, 24, 98, 26, 26, 265, 33, 97, 98, 168,
- 169, 170, 97, 98, 173, 174, 175, 176, 177, 178,
- 96, 97, 98, 164, 165, 166, 97, 98, 35, 36,
- 26, 52, 26, 192, 193, 194, 195, 196, 197, 198,
- 199, 200, 201, 303, 26, 204, 205, 206, 26, 208,
- 310, 74, 75, 76, 77, 26, 316, 165, 166, 101,
- 101, 100, 98, 98, 98, 98, 47, 299, 300, 98,
- 330, 239, 52, 26, 43, 26, 26, 26, 26, 26,
- 86, 313, 101, 53, 85, 84, 98, 347, 247, 248,
- 34, 53, 26, 252, 253, 84, 52, 262, 315, 104,
- 183, -1, 262, 286, 209, -1, 338, 367, -1, -1,
- -1, 371, -1, -1, -1, -1, -1, 377, -1, -1,
- -1, 381, -1, -1, -1, 357, -1, 286, 34, 297,
- -1, 290, -1, -1, -1, -1, -1, -1, -1, -1,
- 300, -1, 302, -1, -1, -1, 305, 306, 307, 308,
- -1, -1, -1, -1, -1, 61, 62, 63, 64, 65,
- 66, -1, 68, 323, -1, 71, 72, 73, -1, 329,
- -1, -1, -1, -1, 334, -1, 335, 336, -1, -1,
- 340, 87, 88, 89, 90, 91, 92, 93, -1, 348,
- -1, -1, -1, -1, -1, 354, -1, 357, -1, -1,
- -1, -1, -1, -1, 363, -1, -1, 0, 1, -1,
- -1, -1, 372, -1, -1, 375, -1, -1, -1, -1,
- 380, 14, -1, 383, 17, 18, -1, -1, 21, 22,
- 23, 24, 25, 26, 27, -1, 29, 30, 31, -1,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, -1,
- 43, -1, 45, 46, 47, -1, 49, 50, 51, 52,
- 53, 54, 55, -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,
- -1, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- 93, -1, 95, 96, 97, 98, 99, 100, 0, 1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 6, 66, 0, 145, 1, 11, 57, 17, 54, 276,
+ 16, 17, 326, 19, 65, 69, 81, 14, 64, 355,
+ 17, 18, 28, 37, 21, 24, 40, 24, 25, 26,
+ 51, 367, 54, 32, 301, 43, 372, 24, 235, 93,
+ 94, 0, 64, 49, 50, 51, 52, 53, 54, 55,
+ 56, 57, 58, 24, 105, 369, 64, 24, 24, 98,
+ 99, 32, 28, 69, 74, 32, 51, 73, 24, 83,
+ 84, 54, 38, 39, 40, 41, 75, 76, 77, 78,
+ 90, 64, 54, 225, 50, 96, 52, 152, 99, 103,
+ 69, 96, 64, 59, 60, 61, 97, 97, 48, 97,
+ 97, 251, 102, 100, 75, 76, 77, 78, 75, 76,
+ 77, 78, 91, 92, 93, 94, 96, 83, 96, 99,
+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, 140, 141, 142, 143, 335, 153,
+ 24, 291, 99, 149, 96, 69, 24, 99, 72, 46,
+ 300, 24, 158, 159, 160, 352, 306, 163, 164, 165,
+ 166, 167, 168, 54, 24, 362, 90, 91, 92, 93,
+ 94, 368, 322, 64, 97, 98, 99, 53, 184, 185,
+ 186, 187, 188, 189, 190, 191, 192, 193, 17, 18,
+ 19, 341, 198, 199, 200, 24, 202, 97, 98, 99,
+ 24, 30, 24, 25, 26, 154, 155, 156, 56, 57,
+ 24, 361, 98, 99, 24, 365, 98, 99, 98, 99,
+ 24, 371, 287, 288, 101, 375, 53, 233, 234, 36,
+ 37, 102, 238, 239, 102, 99, 99, 99, 303, 48,
+ 99, 99, 24, 44, 24, 24, 24, 24, 102, 87,
+ 24, 54, 35, 86, 85, 99, 54, 24, 53, 85,
+ 97, 267, 248, 173, 305, 330, 293, 203, -1, -1,
+ -1, 285, -1, 279, -1, -1, -1, -1, -1, 1,
+ -1, -1, -1, -1, -1, -1, 351, 293, 294, 295,
+ 296, 297, 14, -1, -1, 17, 18, -1, -1, 21,
+ 22, 23, 24, 25, 26, -1, -1, -1, 30, 31,
+ 32, 33, 34, -1, 320, -1, -1, -1, -1, -1,
+ -1, 327, 328, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 342, -1, -1, -1,
+ -1, -1, 348, -1, -1, -1, 68, -1, -1, -1,
+ -1, 357, -1, 75, 76, 77, 78, 79, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 0, 1, 91,
+ 92, -1, -1, -1, -1, 97, -1, -1, 100, 101,
+ 102, 14, -1, -1, 17, 18, -1, -1, 21, 22,
+ 23, 24, 25, 26, 27, 28, -1, 30, 31, 32,
+ 33, 34, -1, 36, 37, 38, 39, 40, 41, 42,
+ -1, -1, -1, -1, 47, -1, -1, 50, 51, 52,
+ -1, -1, 55, -1, -1, -1, 59, 60, 61, -1,
+ -1, -1, -1, -1, -1, 68, -1, -1, -1, -1,
+ -1, -1, 75, 76, 77, 78, 79, -1, -1, 82,
+ 83, -1, 85, 86, 87, 0, 1, -1, 91, 92,
+ -1, -1, -1, 96, 97, -1, 99, 100, -1, 14,
+ -1, -1, 17, 18, -1, -1, 21, 22, 23, 24,
+ 25, 26, 27, 28, -1, 30, 31, 32, 33, 34,
+ -1, 36, 37, 38, 39, 40, 41, 42, -1, -1,
+ -1, -1, 47, -1, -1, 50, 51, 52, -1, -1,
+ 55, -1, -1, -1, 59, 60, 61, -1, -1, -1,
+ -1, -1, -1, 68, -1, -1, -1, -1, -1, -1,
+ 75, 76, 77, 78, 79, -1, -1, 82, 83, -1,
+ 85, 86, 87, 1, -1, -1, 91, 92, -1, -1,
+ -1, 96, 97, -1, 99, 100, 14, -1, -1, 17,
+ 18, -1, -1, 21, 22, 23, 24, 25, 26, -1,
+ -1, -1, 30, 31, 32, 33, 34, -1, -1, -1,
+ -1, -1, 1, -1, -1, -1, -1, -1, 46, 47,
+ 48, 49, -1, -1, -1, 14, -1, -1, 17, 18,
+ -1, -1, 21, 22, 23, 24, 25, 26, -1, -1,
+ 68, 30, 31, 32, 33, 34, -1, 75, 76, 77,
+ 78, 79, -1, -1, -1, -1, -1, 46, -1, 48,
+ -1, -1, -1, 91, 92, -1, -1, -1, -1, 97,
+ -1, -1, 100, -1, -1, -1, -1, -1, -1, 68,
+ -1, -1, -1, -1, -1, -1, 75, 76, 77, 78,
+ 79, -1, -1, 1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 91, 92, -1, -1, 14, -1, 97, 17,
+ 18, 100, -1, 21, 22, 23, 24, 25, 26, 1,
+ -1, -1, 30, 31, 32, 33, 34, -1, -1, -1,
-1, -1, 14, -1, -1, 17, 18, -1, -1, 21,
- 22, 23, 24, 25, 26, 27, -1, 29, 30, 31,
- -1, 33, 34, 35, 36, 37, 38, 39, 40, 41,
- -1, 43, -1, 45, 46, 47, -1, 49, 50, 51,
- 52, 53, 54, 55, -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, -1, 84, 85, 86, 87, 88, 89, 90, 91,
- 92, 93, 1, 95, 96, 97, 98, 99, 100, -1,
- -1, -1, -1, -1, -1, 14, -1, -1, 17, 18,
- -1, -1, 21, -1, 23, 24, 25, 26, 27, -1,
- 29, -1, -1, -1, 33, 22, 23, 24, -1, 26,
- -1, -1, -1, 30, 31, -1, -1, -1, -1, -1,
- 37, 38, 39, 40, 41, -1, -1, -1, -1, 46,
- -1, -1, 49, 50, 51, -1, -1, 54, 67, -1,
- -1, 58, 59, 60, -1, 74, 75, 76, 77, 78,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
- 1, 90, 91, -1, 81, 82, -1, 96, -1, -1,
- 99, 100, 101, 14, -1, -1, 17, 18, 95, -1,
- 21, 22, 23, 24, 25, 26, 27, -1, 29, 30,
- 31, -1, 33, -1, 35, 36, 37, 38, 39, 40,
- 41, -1, -1, -1, -1, 46, -1, -1, 49, 50,
- 51, -1, -1, 54, -1, -1, -1, 58, 59, 60,
- -1, -1, -1, -1, -1, -1, 67, -1, -1, -1,
- -1, -1, -1, 74, 75, 76, 77, 78, -1, -1,
- 81, 82, -1, 84, 85, 86, 0, 1, -1, 90,
- 91, -1, -1, -1, 95, 96, -1, 98, 99, -1,
- 14, -1, -1, 17, 18, -1, -1, 21, 22, 23,
- 24, 25, 26, 27, -1, 29, 30, 31, -1, 33,
- -1, 35, 36, 37, 38, 39, 40, 41, -1, -1,
- -1, -1, 46, -1, -1, 49, 50, 51, -1, -1,
- 54, -1, -1, -1, 58, 59, 60, -1, -1, -1,
- -1, -1, -1, 67, -1, -1, -1, -1, -1, -1,
- 74, 75, 76, 77, 78, -1, -1, 81, 82, -1,
- 84, 85, 86, 0, 1, -1, 90, 91, -1, -1,
- -1, 95, 96, -1, 98, 99, -1, 14, -1, -1,
- 17, 18, -1, -1, 21, 22, 23, 24, 25, 26,
- 27, -1, 29, 30, 31, -1, 33, -1, 35, 36,
- 37, 38, 39, 40, 41, -1, -1, -1, -1, 46,
- -1, -1, 49, 50, 51, -1, -1, 54, -1, -1,
- -1, 58, 59, 60, -1, -1, -1, -1, -1, -1,
- 67, -1, -1, -1, -1, -1, -1, 74, 75, 76,
- 77, 78, -1, -1, 81, 82, -1, 84, 85, 86,
- 1, -1, -1, 90, 91, -1, -1, -1, 95, 96,
- -1, -1, 99, 14, -1, -1, 17, 18, -1, -1,
- 21, -1, 23, 24, 25, 26, 27, -1, 29, -1,
- -1, -1, 33, -1, -1, 1, -1, -1, -1, -1,
- -1, -1, -1, -1, 45, 46, 47, 48, 14, -1,
- -1, 17, 18, -1, -1, 21, -1, 23, 24, 25,
- 26, 27, -1, 29, -1, -1, 67, 33, -1, -1,
- -1, -1, -1, 74, 75, 76, 77, 78, -1, 45,
- -1, 47, -1, -1, -1, -1, -1, -1, -1, 90,
- 91, -1, -1, -1, -1, 96, -1, -1, 99, -1,
- -1, 67, -1, -1, -1, -1, -1, -1, 74, 75,
- 76, 77, 78, -1, -1, 1, -1, -1, -1, -1,
- -1, -1, -1, -1, 90, 91, -1, -1, 14, -1,
- 96, 17, 18, 99, -1, 21, -1, 23, 24, 25,
- 26, 27, 1, 29, -1, -1, -1, 33, -1, -1,
+ 22, 23, 24, 25, 26, -1, -1, -1, 30, 31,
+ 32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
+ 68, -1, -1, -1, -1, -1, -1, 75, 76, 77,
+ 78, 79, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 91, 92, -1, 68, -1, -1, 97,
+ 98, 99, 100, 75, 76, 77, 78, 79, -1, -1,
+ -1, -1, -1, -1, -1, -1, 1, -1, -1, 91,
+ 92, -1, -1, -1, -1, 97, 98, 99, 100, 14,
+ -1, -1, 17, 18, -1, 20, 21, 22, 23, 24,
+ 25, 26, 1, -1, -1, 30, 31, 32, 33, 34,
-1, -1, -1, -1, -1, 14, -1, -1, 17, 18,
- -1, -1, 21, -1, 23, 24, 25, 26, 27, -1,
- 29, -1, -1, -1, 33, -1, -1, -1, -1, -1,
- -1, 67, -1, -1, -1, -1, -1, -1, 74, 75,
- 76, 77, 78, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 90, 91, -1, -1, 67, -1,
- 96, 97, 98, 99, -1, 74, 75, 76, 77, 78,
- -1, -1, -1, -1, -1, -1, -1, -1, 1, -1,
- -1, 90, 91, -1, -1, -1, -1, 96, 97, 98,
- 99, 14, -1, -1, 17, 18, -1, 20, 21, -1,
- 23, 24, 25, 26, 27, 1, 29, -1, -1, -1,
- 33, -1, -1, -1, -1, -1, -1, -1, 14, -1,
- -1, 17, 18, -1, -1, 21, -1, 23, 24, 25,
- 26, 27, -1, 29, -1, -1, -1, 33, -1, -1,
- -1, -1, -1, -1, 67, -1, -1, -1, -1, -1,
- -1, 74, 75, 76, 77, 78, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 90, 91, -1,
- -1, 67, -1, 96, -1, -1, 99, -1, 74, 75,
- 76, 77, 78, -1, -1, -1, -1, -1, -1, 22,
- 23, 24, -1, 26, 90, 91, -1, -1, 31, -1,
- 96, -1, -1, 99, 37, 38, 39, 40, 41, -1,
- -1, -1, -1, 46, -1, -1, 49, 50, 51, -1,
- -1, 54, -1, -1, -1, 58, 59, 60, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 22, 23, 24, -1, 26, -1, -1, 81, 82,
- 31, -1, 85, -1, -1, -1, 37, 38, 39, 40,
- 41, -1, 95, -1, -1, 46, -1, -1, 49, 50,
- 51, -1, -1, 54, -1, -1, -1, 58, 59, 60,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 22, 23, 24, -1, 26, -1, -1,
- 81, 82, 31, -1, 85, -1, -1, -1, 37, 38,
- 39, 40, 41, -1, 95, -1, -1, 46, -1, -1,
- 49, 50, 51, -1, -1, 54, -1, -1, -1, 58,
- 59, 60, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 22, 23, 24, -1, 26,
- -1, -1, 81, 82, 31, -1, 85, -1, -1, -1,
- 37, 38, 39, 40, 41, -1, 95, -1, -1, 46,
- -1, -1, 49, 50, 51, -1, -1, 54, -1, -1,
- -1, 58, 59, 60, 22, 23, 24, -1, 26, -1,
- -1, -1, -1, 31, 32, -1, -1, -1, -1, 37,
- 38, 39, 40, 41, 81, 82, 44, -1, 46, -1,
- -1, 49, 50, 51, -1, -1, 54, -1, 95, 57,
- 58, 59, 60, 22, 23, 24, -1, 26, -1, -1,
- -1, -1, 31, -1, -1, -1, -1, -1, 37, 38,
- 39, 40, -1, 81, 82, 83, 43, -1, -1, -1,
- 49, -1, 51, -1, -1, -1, -1, -1, -1, 58,
- 59, 60, -1, -1, 61, 62, 63, 64, 65, 66,
- -1, 68, 69, 70, 71, 72, 73, -1, -1, -1,
- -1, -1, 45, 82, 47, -1, -1, -1, -1, -1,
- 87, 88, 89, 90, 91, 92, 93, -1, 61, 62,
- 63, 64, 65, 66, -1, 68, -1, -1, 71, 72,
- 73, -1, -1, -1, -1, -1, -1, 47, -1, -1,
- -1, -1, -1, 53, 87, 88, 89, 90, 91, 92,
- 93, 61, 62, 63, 64, 65, 66, -1, 68, -1,
- -1, 71, 72, 73, -1, -1, -1, -1, -1, -1,
- 47, -1, -1, -1, -1, -1, 53, 87, 88, 89,
- 90, 91, 92, 93, 61, 62, 63, 64, 65, 66,
- -1, 68, -1, -1, 71, 72, 73, -1, -1, -1,
- -1, -1, -1, 47, -1, -1, -1, -1, -1, 53,
- 87, 88, 89, 90, 91, 92, 93, 61, 62, 63,
- 64, 65, 66, -1, 68, -1, -1, 71, 72, 73,
- -1, -1, -1, -1, -1, -1, 47, -1, -1, -1,
- -1, -1, 53, 87, 88, 89, 90, 91, 92, 93,
- 61, 62, 63, 64, 65, 66, -1, 68, -1, -1,
- 71, 72, 73, -1, -1, -1, -1, -1, -1, 47,
- -1, -1, -1, -1, -1, -1, 87, 88, 89, 90,
- 91, 92, 93, 61, 62, 63, 64, 65, 66, -1,
- 68, -1, -1, 71, 72, 73, -1, -1, -1, -1,
- -1, -1, 47, -1, -1, -1, -1, -1, -1, 87,
- 88, 89, 90, 91, 92, 93, 61, 62, 63, 64,
- 65, 66, -1, 68, -1, -1, 71, 72, 73, -1,
- -1, -1, -1, -1, -1, 47, -1, -1, -1, -1,
- -1, -1, 87, 88, 89, 90, 91, 92, 93, 61,
- 62, 63, 64, 65, 66, -1, 68, -1, -1, 71,
- 72, 73, -1, -1, -1, -1, -1, -1, 47, -1,
- -1, -1, -1, -1, -1, 87, 88, 89, 90, 91,
- 92, 93, 61, 62, 63, 64, 65, 66, -1, 68,
- -1, -1, 71, 72, 73, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 53, 87, 88,
- 89, 90, 91, 92, 93, 61, 62, 63, 64, 65,
- 66, -1, 68, -1, -1, 71, 72, 73, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 87, 88, 89, 90, 91, 92, 93, 55, 95,
- -1, -1, -1, -1, 61, 62, 63, 64, 65, 66,
- -1, 68, -1, -1, 71, 72, 73, 61, 62, 63,
- 64, 65, 66, -1, 68, -1, -1, 71, 72, 73,
- 87, 88, 89, 90, 91, 92, 93, -1, -1, -1,
- -1, -1, -1, 87, 88, 89, 90, 91, 92, 93,
- -1, -1, -1, 97, 61, 62, 63, 64, 65, 66,
- -1, 68, -1, -1, 71, 72, 73, -1, -1, -1,
- -1, -1, 79, 80, -1, -1, -1, -1, -1, -1,
- 87, 88, 89, 90, 91, 92, 93, 61, 62, 63,
- 64, 65, 66, -1, 68, -1, -1, 71, 72, 73,
- 61, 62, 63, 64, -1, -1, -1, 68, -1, -1,
- 71, 72, 73, 87, 88, 89, 90, 91, 92, 93,
- -1, -1, -1, -1, -1, -1, 87, 88, 89, 90,
- 91, 92, 93
+ -1, -1, 21, 22, 23, 24, 25, 26, -1, -1,
+ -1, 30, 31, 32, 33, 34, -1, -1, -1, -1,
+ -1, -1, -1, 68, -1, -1, -1, -1, -1, -1,
+ 75, 76, 77, 78, 79, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 91, 92, -1, 68,
+ -1, -1, 97, -1, -1, 100, 75, 76, 77, 78,
+ 79, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 24, 91, 92, 27, 28, -1, -1, 97, -1,
+ -1, 100, -1, -1, -1, 38, 39, 40, 41, 42,
+ -1, -1, -1, -1, 47, -1, 24, 50, 51, 52,
+ 28, -1, 55, -1, -1, -1, 59, 60, 61, -1,
+ 38, 39, 40, 41, 42, -1, -1, -1, -1, 47,
+ -1, -1, 50, 51, 52, -1, -1, 55, -1, 82,
+ 83, 59, 60, 61, 24, -1, -1, -1, 28, -1,
+ -1, -1, -1, 96, -1, -1, -1, -1, 38, 39,
+ 40, 41, 42, -1, 82, 83, -1, 47, 86, -1,
+ 50, 51, 52, 24, -1, 55, -1, 28, 96, 59,
+ 60, 61, -1, -1, -1, -1, -1, 38, 39, 40,
+ 41, 42, -1, -1, -1, -1, 47, -1, -1, 50,
+ 51, 52, 82, 83, 55, -1, 86, -1, 59, 60,
+ 61, 24, -1, -1, -1, 28, 96, -1, -1, -1,
+ -1, -1, -1, -1, -1, 38, 39, 40, 41, 42,
+ -1, 82, 83, -1, 47, 86, -1, 50, 51, 52,
+ -1, -1, 55, -1, -1, 96, 59, 60, 61, -1,
+ 24, -1, -1, -1, 28, 29, -1, -1, -1, -1,
+ -1, -1, 35, -1, 38, 39, 40, 41, 42, 82,
+ 83, 45, -1, 47, -1, -1, 50, 51, 52, -1,
+ -1, 55, -1, 96, 58, 59, 60, 61, -1, 62,
+ 63, 64, 65, 66, 67, -1, 69, -1, -1, 72,
+ 73, 74, -1, -1, 44, -1, -1, -1, 82, 83,
+ 84, -1, -1, -1, -1, 88, 89, 90, 91, 92,
+ 93, 94, 62, 63, 64, 65, 66, 67, -1, 69,
+ 70, 71, 72, 73, 74, -1, -1, -1, -1, 46,
+ -1, 48, -1, -1, -1, -1, -1, -1, 88, 89,
+ 90, 91, 92, 93, 94, 62, 63, 64, 65, 66,
+ 67, -1, 69, -1, -1, 72, 73, 74, -1, -1,
+ -1, -1, -1, -1, 48, -1, -1, -1, -1, -1,
+ 54, 88, 89, 90, 91, 92, 93, 94, 62, 63,
+ 64, 65, 66, 67, -1, 69, -1, -1, 72, 73,
+ 74, -1, -1, -1, -1, -1, -1, 48, -1, -1,
+ -1, -1, -1, 54, 88, 89, 90, 91, 92, 93,
+ 94, 62, 63, 64, 65, 66, 67, -1, 69, -1,
+ -1, 72, 73, 74, -1, -1, -1, -1, -1, -1,
+ 48, -1, -1, -1, -1, -1, 54, 88, 89, 90,
+ 91, 92, 93, 94, 62, 63, 64, 65, 66, 67,
+ -1, 69, -1, -1, 72, 73, 74, -1, -1, -1,
+ -1, -1, -1, 48, -1, -1, -1, -1, -1, 54,
+ 88, 89, 90, 91, 92, 93, 94, 62, 63, 64,
+ 65, 66, 67, -1, 69, -1, -1, 72, 73, 74,
+ -1, -1, -1, -1, -1, -1, 48, -1, -1, -1,
+ -1, -1, -1, 88, 89, 90, 91, 92, 93, 94,
+ 62, 63, 64, 65, 66, 67, -1, 69, -1, -1,
+ 72, 73, 74, -1, -1, -1, -1, -1, -1, 48,
+ -1, -1, -1, -1, -1, -1, 88, 89, 90, 91,
+ 92, 93, 94, 62, 63, 64, 65, 66, 67, -1,
+ 69, -1, -1, 72, 73, 74, -1, -1, -1, -1,
+ -1, -1, 48, -1, -1, -1, -1, -1, -1, 88,
+ 89, 90, 91, 92, 93, 94, 62, 63, 64, 65,
+ 66, 67, -1, 69, -1, -1, 72, 73, 74, -1,
+ -1, -1, -1, -1, -1, 48, -1, -1, -1, -1,
+ -1, -1, 88, 89, 90, 91, 92, 93, 94, 62,
+ 63, 64, 65, 66, 67, -1, 69, -1, -1, 72,
+ 73, 74, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 54, 88, 89, 90, 91, 92,
+ 93, 94, 62, 63, 64, 65, 66, 67, -1, 69,
+ -1, -1, 72, 73, 74, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 88, 89,
+ 90, 91, 92, 93, 94, 56, 96, -1, -1, -1,
+ -1, 62, 63, 64, 65, 66, 67, -1, 69, -1,
+ -1, 72, 73, 74, 62, 63, 64, 65, 66, 67,
+ -1, 69, -1, -1, 72, 73, 74, 88, 89, 90,
+ 91, 92, 93, 94, -1, -1, -1, -1, -1, -1,
+ 88, 89, 90, 91, 92, 93, 94, -1, -1, -1,
+ 98, 62, 63, 64, 65, 66, 67, -1, 69, -1,
+ -1, 72, 73, 74, -1, -1, -1, -1, -1, 80,
+ 81, -1, -1, -1, -1, -1, -1, 88, 89, 90,
+ 91, 92, 93, 94, 62, 63, 64, 65, 66, 67,
+ -1, 69, -1, -1, 72, 73, 74, 62, 63, 64,
+ 65, -1, -1, -1, 69, -1, -1, 72, 73, 74,
+ 88, 89, 90, 91, 92, 93, 94, -1, -1, -1,
+ -1, -1, -1, 88, 89, 90, 91, 92, 93, 94
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
static const yytype_uint8 yystos[] =
{
- 0, 22, 23, 24, 26, 31, 32, 37, 38, 39,
- 40, 41, 44, 46, 49, 50, 51, 54, 57, 58,
- 59, 60, 81, 82, 83, 103, 104, 105, 106, 107,
- 119, 125, 129, 134, 141, 143, 145, 148, 153, 1,
- 14, 17, 18, 21, 25, 26, 27, 29, 33, 67,
- 74, 75, 76, 77, 78, 90, 91, 96, 99, 128,
- 129, 131, 132, 154, 156, 96, 154, 96, 154, 96,
- 131, 155, 144, 147, 50, 135, 45, 46, 47, 48,
- 96, 131, 142, 146, 50, 20, 131, 55, 56, 17,
- 18, 19, 26, 33, 26, 26, 131, 131, 142, 137,
- 131, 136, 149, 0, 95, 131, 126, 95, 26, 128,
- 47, 96, 131, 131, 131, 131, 131, 131, 131, 131,
- 131, 154, 26, 27, 29, 101, 131, 157, 158, 159,
- 160, 61, 62, 63, 64, 65, 66, 68, 71, 72,
- 73, 87, 88, 89, 90, 91, 92, 93, 98, 154,
- 154, 26, 154, 98, 154, 126, 26, 138, 131, 45,
- 131, 142, 26, 26, 43, 69, 70, 26, 126, 53,
- 63, 128, 128, 53, 63, 53, 63, 52, 55, 142,
- 26, 140, 53, 95, 26, 139, 26, 103, 122, 26,
- 150, 128, 47, 53, 47, 53, 47, 53, 47, 53,
- 79, 80, 97, 97, 101, 101, 101, 100, 98, 98,
- 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
- 131, 131, 131, 131, 131, 131, 131, 131, 97, 97,
- 97, 98, 97, 131, 150, 98, 131, 126, 128, 24,
- 26, 132, 133, 26, 133, 26, 133, 42, 63, 131,
- 131, 131, 53, 63, 47, 131, 131, 131, 131, 131,
- 131, 98, 118, 118, 98, 52, 95, 98, 131, 131,
- 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
- 131, 131, 26, 27, 29, 160, 130, 95, 26, 150,
- 43, 128, 131, 131, 122, 131, 131, 26, 26, 106,
- 127, 26, 127, 152, 26, 47, 47, 47, 47, 155,
- 152, 95, 131, 114, 108, 111, 117, 128, 126, 95,
- 107, 126, 123, 127, 131, 131, 131, 131, 97, 127,
- 152, 126, 124, 124, 127, 53, 63, 86, 120, 30,
- 127, 115, 109, 112, 123, 131, 131, 35, 36, 121,
- 126, 26, 151, 122, 53, 34, 85, 127, 131, 84,
- 98, 116, 131, 53, 126, 122, 26, 117, 110, 131,
- 84, 52, 127, 122, 113, 127, 85, 117, 122, 123,
- 127, 117, 85, 127, 85
+ 0, 24, 28, 29, 38, 39, 40, 41, 42, 45,
+ 47, 50, 51, 52, 55, 58, 59, 60, 61, 82,
+ 83, 84, 104, 105, 106, 107, 108, 120, 126, 134,
+ 142, 144, 146, 149, 1, 14, 17, 18, 21, 22,
+ 23, 24, 25, 26, 30, 31, 32, 33, 34, 68,
+ 75, 76, 77, 78, 79, 91, 92, 97, 100, 129,
+ 130, 132, 133, 154, 156, 145, 148, 51, 135, 46,
+ 47, 48, 49, 97, 130, 143, 147, 51, 20, 130,
+ 56, 57, 17, 18, 19, 24, 30, 24, 24, 130,
+ 130, 143, 137, 130, 136, 150, 0, 96, 130, 127,
+ 96, 24, 129, 48, 129, 97, 130, 130, 130, 130,
+ 130, 130, 130, 130, 24, 130, 154, 24, 25, 26,
+ 102, 130, 157, 158, 159, 160, 62, 63, 64, 65,
+ 66, 67, 69, 72, 73, 74, 88, 89, 90, 91,
+ 92, 93, 94, 99, 154, 127, 24, 139, 130, 46,
+ 130, 143, 24, 24, 44, 70, 71, 24, 127, 54,
+ 64, 129, 129, 54, 64, 54, 64, 53, 56, 143,
+ 24, 141, 54, 96, 24, 140, 24, 104, 123, 24,
+ 151, 129, 24, 154, 48, 54, 48, 54, 48, 54,
+ 48, 54, 80, 81, 98, 99, 98, 98, 102, 102,
+ 102, 101, 99, 99, 130, 130, 130, 130, 130, 130,
+ 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
+ 130, 130, 151, 99, 130, 127, 129, 24, 132, 24,
+ 132, 24, 132, 43, 64, 130, 130, 130, 54, 64,
+ 48, 130, 130, 130, 130, 130, 130, 99, 119, 119,
+ 99, 53, 96, 99, 98, 99, 98, 130, 130, 130,
+ 130, 130, 130, 130, 130, 130, 130, 138, 130, 130,
+ 130, 130, 24, 25, 26, 160, 96, 24, 151, 44,
+ 130, 130, 123, 130, 130, 24, 24, 107, 128, 24,
+ 128, 153, 24, 131, 48, 48, 48, 48, 130, 155,
+ 153, 96, 130, 115, 109, 112, 118, 129, 127, 96,
+ 108, 127, 124, 128, 155, 130, 130, 130, 130, 98,
+ 99, 128, 153, 127, 125, 125, 128, 54, 64, 87,
+ 121, 27, 98, 130, 128, 116, 110, 113, 124, 130,
+ 130, 36, 37, 122, 127, 24, 152, 123, 54, 35,
+ 86, 128, 130, 85, 99, 117, 130, 54, 127, 123,
+ 24, 118, 111, 130, 85, 53, 128, 123, 114, 128,
+ 86, 118, 123, 124, 128, 118, 86, 128, 86
};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint8 yyr1[] =
{
- 0, 102, 103, 103, 104, 104, 104, 105, 105, 105,
- 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
- 105, 105, 105, 105, 106, 106, 106, 106, 107, 107,
- 107, 108, 109, 110, 107, 111, 112, 113, 107, 114,
- 115, 116, 107, 107, 107, 107, 107, 117, 118, 119,
- 119, 120, 120, 121, 122, 123, 124, 125, 126, 127,
- 127, 127, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 129, 129, 129, 129, 129, 130, 129, 129,
- 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
- 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
- 131, 131, 131, 131, 131, 131, 131, 132, 132, 132,
- 132, 132, 132, 132, 132, 133, 133, 134, 134, 134,
- 134, 134, 135, 134, 136, 134, 137, 134, 134, 134,
- 134, 134, 134, 138, 138, 139, 139, 140, 140, 141,
- 141, 141, 141, 141, 141, 142, 142, 143, 143, 143,
- 144, 143, 146, 145, 145, 147, 145, 145, 145, 149,
- 148, 150, 150, 150, 151, 151, 151, 152, 153, 154,
- 154, 154, 155, 155, 156, 157, 157, 157, 157, 158,
- 158, 159, 159, 160, 160, 160
+ 0, 103, 104, 104, 105, 105, 105, 106, 106, 106,
+ 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
+ 106, 106, 106, 106, 107, 107, 108, 108, 108, 109,
+ 110, 111, 108, 112, 113, 114, 108, 115, 116, 117,
+ 108, 108, 108, 108, 108, 118, 119, 120, 120, 121,
+ 121, 122, 123, 124, 125, 126, 127, 128, 128, 128,
+ 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
+ 130, 130, 130, 131, 130, 130, 130, 130, 130, 130,
+ 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
+ 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
+ 130, 132, 132, 132, 132, 132, 132, 132, 132, 132,
+ 133, 133, 133, 133, 134, 134, 134, 134, 134, 135,
+ 134, 136, 134, 137, 134, 134, 134, 134, 138, 134,
+ 134, 134, 139, 139, 140, 140, 141, 141, 142, 142,
+ 142, 142, 142, 142, 143, 143, 144, 144, 144, 145,
+ 144, 147, 146, 146, 148, 146, 146, 146, 150, 149,
+ 151, 151, 151, 152, 152, 152, 153, 154, 154, 154,
+ 155, 155, 156, 157, 157, 157, 157, 158, 158, 159,
+ 159, 160, 160, 160
};
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
@@ -1575,23 +1498,23 @@ static const yytype_int8 yyr2[] =
{
0, 2, 1, 3, 0, 1, 1, 4, 4, 6,
4, 4, 4, 4, 4, 4, 4, 4, 5, 5,
- 8, 8, 4, 4, 1, 1, 1, 1, 1, 1,
- 9, 0, 0, 0, 15, 0, 0, 0, 16, 0,
- 0, 0, 13, 2, 4, 7, 6, 0, 0, 9,
- 11, 0, 2, 6, 0, 0, 0, 1, 0, 0,
- 2, 2, 1, 1, 1, 1, 1, 1, 2, 3,
- 1, 2, 4, 2, 4, 2, 4, 0, 7, 4,
- 1, 1, 1, 3, 1, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 2, 3,
- 3, 3, 3, 2, 2, 4, 4, 4, 6, 4,
- 6, 4, 6, 4, 6, 2, 1, 2, 1, 1,
- 2, 1, 0, 3, 0, 3, 0, 3, 4, 2,
- 4, 2, 1, 1, 3, 1, 3, 1, 3, 1,
- 2, 2, 2, 3, 2, 3, 2, 2, 3, 2,
- 0, 3, 0, 8, 2, 0, 7, 8, 6, 0,
- 3, 0, 1, 3, 0, 1, 3, 0, 2, 0,
- 1, 3, 1, 3, 3, 0, 1, 1, 1, 1,
- 3, 1, 3, 3, 3, 3
+ 8, 8, 4, 4, 1, 1, 1, 1, 9, 0,
+ 0, 0, 15, 0, 0, 0, 16, 0, 0, 0,
+ 13, 2, 4, 7, 6, 0, 0, 9, 11, 0,
+ 2, 6, 0, 0, 0, 1, 0, 0, 2, 2,
+ 1, 1, 1, 1, 1, 1, 2, 3, 1, 2,
+ 1, 1, 4, 0, 7, 4, 2, 3, 1, 3,
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 2, 3, 3, 3, 3, 2, 2, 4,
+ 4, 1, 4, 6, 4, 6, 4, 6, 4, 6,
+ 1, 1, 1, 1, 2, 1, 1, 2, 1, 0,
+ 3, 0, 3, 0, 3, 4, 2, 4, 0, 7,
+ 4, 2, 1, 3, 1, 3, 1, 3, 1, 2,
+ 2, 2, 3, 2, 3, 2, 2, 3, 2, 0,
+ 3, 0, 8, 2, 0, 7, 8, 6, 0, 3,
+ 0, 1, 3, 0, 1, 3, 0, 0, 1, 3,
+ 1, 3, 3, 0, 1, 1, 1, 1, 3, 1,
+ 3, 3, 3, 3
};
@@ -1862,76 +1785,58 @@ yydestruct (const char *yymsg,
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
switch (yykind)
{
- case 22: /* BLTIN */
-#line 208 "engines/director/lingo/lingo-gr.y"
- { delete ((*yyvaluep).s); }
-#line 1869 "engines/director/lingo/lingo-gr.cpp"
- break;
-
- case 23: /* FBLTIN */
-#line 208 "engines/director/lingo/lingo-gr.y"
- { delete ((*yyvaluep).s); }
-#line 1875 "engines/director/lingo/lingo-gr.cpp"
- break;
-
- case 24: /* RBLTIN */
-#line 208 "engines/director/lingo/lingo-gr.y"
- { delete ((*yyvaluep).s); }
-#line 1881 "engines/director/lingo/lingo-gr.cpp"
- break;
-
- case 25: /* THEFBLTIN */
-#line 208 "engines/director/lingo/lingo-gr.y"
+ case 22: /* THEFUNC */
+#line 214 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1887 "engines/director/lingo/lingo-gr.cpp"
+#line 1792 "engines/director/lingo/lingo-gr.cpp"
break;
- case 26: /* ID */
-#line 208 "engines/director/lingo/lingo-gr.y"
+ case 23: /* THEFUNCINOF */
+#line 214 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1893 "engines/director/lingo/lingo-gr.cpp"
+#line 1798 "engines/director/lingo/lingo-gr.cpp"
break;
- case 27: /* STRING */
-#line 208 "engines/director/lingo/lingo-gr.y"
+ case 24: /* ID */
+#line 214 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1899 "engines/director/lingo/lingo-gr.cpp"
+#line 1804 "engines/director/lingo/lingo-gr.cpp"
break;
- case 28: /* HANDLER */
-#line 208 "engines/director/lingo/lingo-gr.y"
+ case 25: /* STRING */
+#line 214 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1905 "engines/director/lingo/lingo-gr.cpp"
+#line 1810 "engines/director/lingo/lingo-gr.cpp"
break;
- case 29: /* SYMBOL */
-#line 208 "engines/director/lingo/lingo-gr.y"
+ case 26: /* SYMBOL */
+#line 214 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1911 "engines/director/lingo/lingo-gr.cpp"
+#line 1816 "engines/director/lingo/lingo-gr.cpp"
break;
- case 30: /* ENDCLAUSE */
-#line 208 "engines/director/lingo/lingo-gr.y"
+ case 27: /* ENDCLAUSE */
+#line 214 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1917 "engines/director/lingo/lingo-gr.cpp"
+#line 1822 "engines/director/lingo/lingo-gr.cpp"
break;
- case 31: /* tPLAYACCEL */
-#line 208 "engines/director/lingo/lingo-gr.y"
+ case 28: /* tPLAYACCEL */
+#line 214 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1923 "engines/director/lingo/lingo-gr.cpp"
+#line 1828 "engines/director/lingo/lingo-gr.cpp"
break;
- case 32: /* tMETHOD */
-#line 208 "engines/director/lingo/lingo-gr.y"
+ case 29: /* tMETHOD */
+#line 214 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1929 "engines/director/lingo/lingo-gr.cpp"
+#line 1834 "engines/director/lingo/lingo-gr.cpp"
break;
- case 148: /* on */
-#line 208 "engines/director/lingo/lingo-gr.y"
+ case 149: /* on */
+#line 214 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1935 "engines/director/lingo/lingo-gr.cpp"
+#line 1840 "engines/director/lingo/lingo-gr.cpp"
break;
default:
@@ -2210,7 +2115,7 @@ yyreduce:
switch (yyn)
{
case 7:
-#line 219 "engines/director/lingo/lingo-gr.y"
+#line 225 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_varpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
@@ -2218,19 +2123,19 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[-2].code);
delete (yyvsp[0].s); }
-#line 2222 "engines/director/lingo/lingo-gr.cpp"
+#line 2127 "engines/director/lingo/lingo-gr.cpp"
break;
case 8:
-#line 226 "engines/director/lingo/lingo-gr.y"
+#line 232 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[-2].code); }
-#line 2230 "engines/director/lingo/lingo-gr.cpp"
+#line 2135 "engines/director/lingo/lingo-gr.cpp"
break;
case 9:
-#line 230 "engines/director/lingo/lingo-gr.y"
+#line 236 "engines/director/lingo/lingo-gr.y"
{
if (!(yyvsp[-3].s)->equalsIgnoreCase("menu")) {
warning("LEXER: keyword 'menu' expected");
@@ -2242,11 +2147,11 @@ yyreduce:
g_lingo->codeInt((yyvsp[-4].e)[1]);
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[0].code); }
-#line 2246 "engines/director/lingo/lingo-gr.cpp"
+#line 2151 "engines/director/lingo/lingo-gr.cpp"
break;
case 10:
-#line 241 "engines/director/lingo/lingo-gr.y"
+#line 247 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_varpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
@@ -2254,19 +2159,19 @@ yyreduce:
g_lingo->code1(LC::c_after);
(yyval.code) = (yyvsp[-2].code);
delete (yyvsp[0].s); }
-#line 2258 "engines/director/lingo/lingo-gr.cpp"
+#line 2163 "engines/director/lingo/lingo-gr.cpp"
break;
case 11:
-#line 248 "engines/director/lingo/lingo-gr.y"
+#line 254 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_after);
(yyval.code) = (yyvsp[-2].code); }
-#line 2266 "engines/director/lingo/lingo-gr.cpp"
+#line 2171 "engines/director/lingo/lingo-gr.cpp"
break;
case 12:
-#line 251 "engines/director/lingo/lingo-gr.y"
+#line 257 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_varpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
@@ -2274,19 +2179,19 @@ yyreduce:
g_lingo->code1(LC::c_before);
(yyval.code) = (yyvsp[-2].code);
delete (yyvsp[0].s); }
-#line 2278 "engines/director/lingo/lingo-gr.cpp"
+#line 2183 "engines/director/lingo/lingo-gr.cpp"
break;
case 13:
-#line 258 "engines/director/lingo/lingo-gr.y"
+#line 264 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_before);
(yyval.code) = (yyvsp[-2].code); }
-#line 2286 "engines/director/lingo/lingo-gr.cpp"
+#line 2191 "engines/director/lingo/lingo-gr.cpp"
break;
case 14:
-#line 261 "engines/director/lingo/lingo-gr.y"
+#line 267 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_varpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
@@ -2294,11 +2199,11 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[0].code);
delete (yyvsp[-2].s); }
-#line 2298 "engines/director/lingo/lingo-gr.cpp"
+#line 2203 "engines/director/lingo/lingo-gr.cpp"
break;
case 15:
-#line 268 "engines/director/lingo/lingo-gr.y"
+#line 274 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(0); // Put dummy id
@@ -2306,11 +2211,11 @@ yyreduce:
g_lingo->codeInt((yyvsp[-2].e)[0]);
g_lingo->codeInt((yyvsp[-2].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2310 "engines/director/lingo/lingo-gr.cpp"
+#line 2215 "engines/director/lingo/lingo-gr.cpp"
break;
case 16:
-#line 275 "engines/director/lingo/lingo-gr.y"
+#line 281 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_varpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
@@ -2318,11 +2223,11 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[0].code);
delete (yyvsp[-2].s); }
-#line 2322 "engines/director/lingo/lingo-gr.cpp"
+#line 2227 "engines/director/lingo/lingo-gr.cpp"
break;
case 17:
-#line 282 "engines/director/lingo/lingo-gr.y"
+#line 288 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(0); // Put dummy id
@@ -2330,33 +2235,33 @@ yyreduce:
g_lingo->codeInt((yyvsp[-2].e)[0]);
g_lingo->codeInt((yyvsp[-2].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2334 "engines/director/lingo/lingo-gr.cpp"
+#line 2239 "engines/director/lingo/lingo-gr.cpp"
break;
case 18:
-#line 289 "engines/director/lingo/lingo-gr.y"
+#line 295 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_swap);
g_lingo->code1(LC::c_theentityassign);
g_lingo->codeInt((yyvsp[-3].e)[0]);
g_lingo->codeInt((yyvsp[-3].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2345 "engines/director/lingo/lingo-gr.cpp"
+#line 2250 "engines/director/lingo/lingo-gr.cpp"
break;
case 19:
-#line 295 "engines/director/lingo/lingo-gr.y"
+#line 301 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_swap);
g_lingo->code1(LC::c_theentityassign);
g_lingo->codeInt((yyvsp[-3].e)[0]);
g_lingo->codeInt((yyvsp[-3].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2356 "engines/director/lingo/lingo-gr.cpp"
+#line 2261 "engines/director/lingo/lingo-gr.cpp"
break;
case 20:
-#line 302 "engines/director/lingo/lingo-gr.y"
+#line 308 "engines/director/lingo/lingo-gr.y"
{
if (!(yyvsp[-3].s)->equalsIgnoreCase("menu")) {
warning("LEXER: keyword 'menu' expected");
@@ -2368,11 +2273,11 @@ yyreduce:
g_lingo->codeInt((yyvsp[-6].e)[0]);
g_lingo->codeInt((yyvsp[-6].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2372 "engines/director/lingo/lingo-gr.cpp"
+#line 2277 "engines/director/lingo/lingo-gr.cpp"
break;
case 21:
-#line 313 "engines/director/lingo/lingo-gr.y"
+#line 319 "engines/director/lingo/lingo-gr.y"
{
if (!(yyvsp[-3].s)->equalsIgnoreCase("menu")) {
warning("LEXER: keyword 'menu' expected");
@@ -2384,11 +2289,11 @@ yyreduce:
g_lingo->codeInt((yyvsp[-6].e)[0]);
g_lingo->codeInt((yyvsp[-6].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2388 "engines/director/lingo/lingo-gr.cpp"
+#line 2293 "engines/director/lingo/lingo-gr.cpp"
break;
case 22:
-#line 324 "engines/director/lingo/lingo-gr.y"
+#line 330 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_objectpropassign);
g_lingo->codeString((yyvsp[-2].objectprop).obj->c_str());
@@ -2396,11 +2301,11 @@ yyreduce:
delete (yyvsp[-2].objectprop).obj;
delete (yyvsp[-2].objectprop).prop;
(yyval.code) = (yyvsp[0].code); }
-#line 2400 "engines/director/lingo/lingo-gr.cpp"
+#line 2305 "engines/director/lingo/lingo-gr.cpp"
break;
case 23:
-#line 331 "engines/director/lingo/lingo-gr.y"
+#line 337 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_objectpropassign);
g_lingo->codeString((yyvsp[-2].objectprop).obj->c_str());
@@ -2408,11 +2313,11 @@ yyreduce:
delete (yyvsp[-2].objectprop).obj;
delete (yyvsp[-2].objectprop).prop;
(yyval.code) = (yyvsp[0].code); }
-#line 2412 "engines/director/lingo/lingo-gr.cpp"
+#line 2317 "engines/director/lingo/lingo-gr.cpp"
break;
- case 30:
-#line 350 "engines/director/lingo/lingo-gr.y"
+ case 28:
+#line 354 "engines/director/lingo/lingo-gr.y"
{
inst start = 0, end = 0;
WRITE_UINT32(&start, (yyvsp[-6].code) - (yyvsp[-1].code) + 1);
@@ -2420,32 +2325,32 @@ yyreduce:
(*g_lingo->_currentAssembly)[(yyvsp[-4].code)] = end; /* end, if cond fails */
(*g_lingo->_currentAssembly)[(yyvsp[-1].code)] = start; /* looping back */
endRepeat((yyvsp[-1].code) + 1, (yyvsp[-6].code)); }
-#line 2424 "engines/director/lingo/lingo-gr.cpp"
+#line 2329 "engines/director/lingo/lingo-gr.cpp"
break;
- case 31:
-#line 363 "engines/director/lingo/lingo-gr.y"
+ case 29:
+#line 367 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_varpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
mVar((yyvsp[-2].s), globalCheck()); }
-#line 2432 "engines/director/lingo/lingo-gr.cpp"
+#line 2337 "engines/director/lingo/lingo-gr.cpp"
break;
- case 32:
-#line 367 "engines/director/lingo/lingo-gr.y"
+ case 30:
+#line 371 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_eval);
g_lingo->codeString((yyvsp[-4].s)->c_str()); }
-#line 2439 "engines/director/lingo/lingo-gr.cpp"
+#line 2344 "engines/director/lingo/lingo-gr.cpp"
break;
- case 33:
-#line 370 "engines/director/lingo/lingo-gr.y"
+ case 31:
+#line 374 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_le); }
-#line 2445 "engines/director/lingo/lingo-gr.cpp"
+#line 2350 "engines/director/lingo/lingo-gr.cpp"
break;
- case 34:
-#line 370 "engines/director/lingo/lingo-gr.y"
+ case 32:
+#line 374 "engines/director/lingo/lingo-gr.y"
{
int nextPos = g_lingo->_currentAssembly->size();
@@ -2466,32 +2371,32 @@ yyreduce:
(*g_lingo->_currentAssembly)[pos] = loop; /* final count value */
(*g_lingo->_currentAssembly)[(yyvsp[-3].code)] = end; /* end, if cond fails */
endRepeat(pos + 1, nextPos); }
-#line 2470 "engines/director/lingo/lingo-gr.cpp"
+#line 2375 "engines/director/lingo/lingo-gr.cpp"
break;
- case 35:
-#line 397 "engines/director/lingo/lingo-gr.y"
+ case 33:
+#line 401 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_varpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
mVar((yyvsp[-2].s), globalCheck()); }
-#line 2478 "engines/director/lingo/lingo-gr.cpp"
+#line 2383 "engines/director/lingo/lingo-gr.cpp"
break;
- case 36:
-#line 401 "engines/director/lingo/lingo-gr.y"
+ case 34:
+#line 405 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_eval);
g_lingo->codeString((yyvsp[-4].s)->c_str()); }
-#line 2485 "engines/director/lingo/lingo-gr.cpp"
+#line 2390 "engines/director/lingo/lingo-gr.cpp"
break;
- case 37:
-#line 404 "engines/director/lingo/lingo-gr.y"
+ case 35:
+#line 408 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ge); }
-#line 2491 "engines/director/lingo/lingo-gr.cpp"
+#line 2396 "engines/director/lingo/lingo-gr.cpp"
break;
- case 38:
-#line 405 "engines/director/lingo/lingo-gr.y"
+ case 36:
+#line 409 "engines/director/lingo/lingo-gr.y"
{
int nextPos = g_lingo->_currentAssembly->size();
@@ -2512,32 +2417,32 @@ yyreduce:
(*g_lingo->_currentAssembly)[pos] = loop; /* final count value */
(*g_lingo->_currentAssembly)[(yyvsp[-3].code)] = end; /* end, if cond fails */
endRepeat(pos + 1, nextPos); }
-#line 2516 "engines/director/lingo/lingo-gr.cpp"
+#line 2421 "engines/director/lingo/lingo-gr.cpp"
break;
- case 39:
-#line 431 "engines/director/lingo/lingo-gr.y"
+ case 37:
+#line 435 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_stackpeek);
g_lingo->codeInt(0);
Common::String count("count");
g_lingo->codeFunc(&count, 1);
g_lingo->code1(LC::c_intpush); // start counter
g_lingo->codeInt(1); }
-#line 2527 "engines/director/lingo/lingo-gr.cpp"
+#line 2432 "engines/director/lingo/lingo-gr.cpp"
break;
- case 40:
-#line 438 "engines/director/lingo/lingo-gr.y"
+ case 38:
+#line 442 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_stackpeek); // get counter
g_lingo->codeInt(0);
g_lingo->code1(LC::c_stackpeek); // get array size
g_lingo->codeInt(2);
g_lingo->code1(LC::c_le); }
-#line 2537 "engines/director/lingo/lingo-gr.cpp"
+#line 2442 "engines/director/lingo/lingo-gr.cpp"
break;
- case 41:
-#line 444 "engines/director/lingo/lingo-gr.y"
+ case 39:
+#line 448 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_stackpeek); // get list
g_lingo->codeInt(2);
g_lingo->code1(LC::c_stackpeek); // get counter
@@ -2548,11 +2453,11 @@ yyreduce:
g_lingo->codeString((yyvsp[-6].s)->c_str());
mVar((yyvsp[-6].s), globalCheck());
g_lingo->code1(LC::c_assign); }
-#line 2552 "engines/director/lingo/lingo-gr.cpp"
+#line 2457 "engines/director/lingo/lingo-gr.cpp"
break;
- case 42:
-#line 454 "engines/director/lingo/lingo-gr.y"
+ case 40:
+#line 458 "engines/director/lingo/lingo-gr.y"
{
int nextPos = g_lingo->_currentAssembly->size();
@@ -2572,11 +2477,11 @@ yyreduce:
(*g_lingo->_currentAssembly)[jump + 1] = loop; /* final count value */
(*g_lingo->_currentAssembly)[(yyvsp[-4].code)] = end; /* end, if cond fails */
endRepeat(end2, nextPos); }
-#line 2576 "engines/director/lingo/lingo-gr.cpp"
+#line 2481 "engines/director/lingo/lingo-gr.cpp"
break;
- case 43:
-#line 474 "engines/director/lingo/lingo-gr.y"
+ case 41:
+#line 478 "engines/director/lingo/lingo-gr.y"
{
if (g_lingo->_repeatStack.size()) {
g_lingo->code2(LC::c_jump, 0);
@@ -2585,43 +2490,43 @@ yyreduce:
} else {
warning("# LINGO: next repeat not inside repeat block");
} }
-#line 2589 "engines/director/lingo/lingo-gr.cpp"
+#line 2494 "engines/director/lingo/lingo-gr.cpp"
break;
- case 44:
-#line 482 "engines/director/lingo/lingo-gr.y"
+ case 42:
+#line 486 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_whencode);
g_lingo->codeString((yyvsp[-2].s)->c_str()); }
-#line 2597 "engines/director/lingo/lingo-gr.cpp"
+#line 2502 "engines/director/lingo/lingo-gr.cpp"
break;
- case 45:
-#line 485 "engines/director/lingo/lingo-gr.y"
+ case 43:
+#line 489 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_telldone); }
-#line 2603 "engines/director/lingo/lingo-gr.cpp"
+#line 2508 "engines/director/lingo/lingo-gr.cpp"
break;
- case 46:
-#line 486 "engines/director/lingo/lingo-gr.y"
+ case 44:
+#line 490 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_telldone); }
-#line 2609 "engines/director/lingo/lingo-gr.cpp"
+#line 2514 "engines/director/lingo/lingo-gr.cpp"
break;
- case 47:
-#line 488 "engines/director/lingo/lingo-gr.y"
+ case 45:
+#line 492 "engines/director/lingo/lingo-gr.y"
{ startRepeat(); }
-#line 2615 "engines/director/lingo/lingo-gr.cpp"
+#line 2520 "engines/director/lingo/lingo-gr.cpp"
break;
- case 48:
-#line 490 "engines/director/lingo/lingo-gr.y"
+ case 46:
+#line 494 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_tell); }
-#line 2621 "engines/director/lingo/lingo-gr.cpp"
+#line 2526 "engines/director/lingo/lingo-gr.cpp"
break;
- case 49:
-#line 492 "engines/director/lingo/lingo-gr.y"
+ case 47:
+#line 496 "engines/director/lingo/lingo-gr.y"
{
inst else1 = 0, end3 = 0;
WRITE_UINT32(&else1, (yyvsp[-3].code) + 1 - (yyvsp[-6].code) + 1);
@@ -2629,11 +2534,11 @@ yyreduce:
(*g_lingo->_currentAssembly)[(yyvsp[-6].code)] = else1; /* elsepart */
(*g_lingo->_currentAssembly)[(yyvsp[-3].code)] = end3; /* end, if cond fails */
g_lingo->processIf((yyvsp[-3].code), (yyvsp[-1].code)); }
-#line 2633 "engines/director/lingo/lingo-gr.cpp"
+#line 2538 "engines/director/lingo/lingo-gr.cpp"
break;
- case 50:
-#line 499 "engines/director/lingo/lingo-gr.y"
+ case 48:
+#line 503 "engines/director/lingo/lingo-gr.y"
{
inst else1 = 0, end = 0;
WRITE_UINT32(&else1, (yyvsp[-5].code) + 1 - (yyvsp[-8].code) + 1);
@@ -2641,107 +2546,111 @@ yyreduce:
(*g_lingo->_currentAssembly)[(yyvsp[-8].code)] = else1; /* elsepart */
(*g_lingo->_currentAssembly)[(yyvsp[-5].code)] = end; /* end, if cond fails */
g_lingo->processIf((yyvsp[-5].code), (yyvsp[-1].code)); }
-#line 2645 "engines/director/lingo/lingo-gr.cpp"
+#line 2550 "engines/director/lingo/lingo-gr.cpp"
break;
- case 53:
-#line 510 "engines/director/lingo/lingo-gr.y"
+ case 51:
+#line 514 "engines/director/lingo/lingo-gr.y"
{
inst else1 = 0;
WRITE_UINT32(&else1, (yyvsp[0].code) + 1 - (yyvsp[-3].code) + 1);
(*g_lingo->_currentAssembly)[(yyvsp[-3].code)] = else1; /* end, if cond fails */
g_lingo->codeLabel((yyvsp[0].code)); }
-#line 2655 "engines/director/lingo/lingo-gr.cpp"
+#line 2560 "engines/director/lingo/lingo-gr.cpp"
break;
- case 54:
-#line 516 "engines/director/lingo/lingo-gr.y"
+ case 52:
+#line 520 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code2(LC::c_jumpifz, 0);
(yyval.code) = g_lingo->_currentAssembly->size() - 1; }
-#line 2663 "engines/director/lingo/lingo-gr.cpp"
+#line 2568 "engines/director/lingo/lingo-gr.cpp"
break;
- case 55:
-#line 520 "engines/director/lingo/lingo-gr.y"
+ case 53:
+#line 524 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code2(LC::c_jump, 0);
(yyval.code) = g_lingo->_currentAssembly->size() - 1; }
-#line 2671 "engines/director/lingo/lingo-gr.cpp"
+#line 2576 "engines/director/lingo/lingo-gr.cpp"
break;
- case 56:
-#line 524 "engines/director/lingo/lingo-gr.y"
+ case 54:
+#line 528 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_assign);
(yyval.code) = g_lingo->_currentAssembly->size() - 1; }
-#line 2679 "engines/director/lingo/lingo-gr.cpp"
+#line 2584 "engines/director/lingo/lingo-gr.cpp"
break;
- case 57:
-#line 528 "engines/director/lingo/lingo-gr.y"
+ case 55:
+#line 532 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeLabel(0); }
-#line 2686 "engines/director/lingo/lingo-gr.cpp"
+#line 2591 "engines/director/lingo/lingo-gr.cpp"
break;
- case 58:
-#line 531 "engines/director/lingo/lingo-gr.y"
+ case 56:
+#line 535 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->_currentAssembly->size(); }
-#line 2692 "engines/director/lingo/lingo-gr.cpp"
+#line 2597 "engines/director/lingo/lingo-gr.cpp"
break;
- case 59:
-#line 533 "engines/director/lingo/lingo-gr.y"
+ case 57:
+#line 537 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->_currentAssembly->size(); }
-#line 2698 "engines/director/lingo/lingo-gr.cpp"
+#line 2603 "engines/director/lingo/lingo-gr.cpp"
break;
- case 62:
-#line 537 "engines/director/lingo/lingo-gr.y"
+ case 60:
+#line 541 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_intpush);
g_lingo->codeInt((yyvsp[0].i)); }
-#line 2706 "engines/director/lingo/lingo-gr.cpp"
+#line 2611 "engines/director/lingo/lingo-gr.cpp"
break;
- case 63:
-#line 540 "engines/director/lingo/lingo-gr.y"
+ case 61:
+#line 544 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_floatpush);
g_lingo->codeFloat((yyvsp[0].f)); }
-#line 2714 "engines/director/lingo/lingo-gr.cpp"
+#line 2619 "engines/director/lingo/lingo-gr.cpp"
break;
- case 64:
-#line 543 "engines/director/lingo/lingo-gr.y"
+ case 62:
+#line 547 "engines/director/lingo/lingo-gr.y"
{ // D3
(yyval.code) = g_lingo->code1(LC::c_symbolpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2723 "engines/director/lingo/lingo-gr.cpp"
+#line 2628 "engines/director/lingo/lingo-gr.cpp"
break;
- case 65:
-#line 547 "engines/director/lingo/lingo-gr.y"
+ case 63:
+#line 551 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_stringpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2732 "engines/director/lingo/lingo-gr.cpp"
+#line 2637 "engines/director/lingo/lingo-gr.cpp"
break;
- case 66:
-#line 551 "engines/director/lingo/lingo-gr.y"
+ case 64:
+#line 555 "engines/director/lingo/lingo-gr.y"
{
- (yyval.code) = g_lingo->code1(LC::c_eval);
+ if (g_lingo->_builtinConsts.contains(*(yyvsp[0].s))) {
+ (yyval.code) = g_lingo->code1(LC::c_constpush);
+ } else {
+ (yyval.code) = g_lingo->code1(LC::c_eval);
+ }
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2741 "engines/director/lingo/lingo-gr.cpp"
+#line 2650 "engines/director/lingo/lingo-gr.cpp"
break;
- case 67:
-#line 555 "engines/director/lingo/lingo-gr.y"
+ case 65:
+#line 563 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(0); // Put dummy id
@@ -2750,319 +2659,351 @@ yyreduce:
WRITE_UINT32(&e, (yyvsp[0].e)[0]);
WRITE_UINT32(&f, (yyvsp[0].e)[1]);
g_lingo->code2(e, f); }
-#line 2754 "engines/director/lingo/lingo-gr.cpp"
+#line 2663 "engines/director/lingo/lingo-gr.cpp"
break;
- case 68:
-#line 563 "engines/director/lingo/lingo-gr.y"
+ case 66:
+#line 571 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_theentitypush);
inst e = 0, f = 0;
WRITE_UINT32(&e, (yyvsp[-1].e)[0]);
WRITE_UINT32(&f, (yyvsp[-1].e)[1]);
g_lingo->code2(e, f); }
-#line 2765 "engines/director/lingo/lingo-gr.cpp"
+#line 2674 "engines/director/lingo/lingo-gr.cpp"
break;
- case 69:
-#line 569 "engines/director/lingo/lingo-gr.y"
+ case 67:
+#line 577 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[-1].code); }
-#line 2771 "engines/director/lingo/lingo-gr.cpp"
- break;
-
- case 71:
-#line 571 "engines/director/lingo/lingo-gr.y"
- { yyerrok; }
-#line 2777 "engines/director/lingo/lingo-gr.cpp"
- break;
-
- case 72:
-#line 573 "engines/director/lingo/lingo-gr.y"
- {
- g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
- delete (yyvsp[-3].s); }
-#line 2785 "engines/director/lingo/lingo-gr.cpp"
- break;
-
- case 73:
-#line 576 "engines/director/lingo/lingo-gr.y"
- {
- g_lingo->codeFunc((yyvsp[-1].s), (yyvsp[0].narg));
- delete (yyvsp[-1].s); }
-#line 2793 "engines/director/lingo/lingo-gr.cpp"
+#line 2680 "engines/director/lingo/lingo-gr.cpp"
break;
- case 74:
+ case 69:
#line 579 "engines/director/lingo/lingo-gr.y"
- {
- g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
- delete (yyvsp[-3].s); }
-#line 2801 "engines/director/lingo/lingo-gr.cpp"
+ { yyerrok; }
+#line 2686 "engines/director/lingo/lingo-gr.cpp"
break;
- case 75:
-#line 582 "engines/director/lingo/lingo-gr.y"
- {
- g_lingo->codeFunc((yyvsp[-1].s), (yyvsp[0].narg));
- delete (yyvsp[-1].s); }
-#line 2809 "engines/director/lingo/lingo-gr.cpp"
+ case 70:
+#line 581 "engines/director/lingo/lingo-gr.y"
+ { (yyval.code) = (yyvsp[0].code); }
+#line 2692 "engines/director/lingo/lingo-gr.cpp"
break;
- case 76:
-#line 585 "engines/director/lingo/lingo-gr.y"
+ case 72:
+#line 583 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_lazyeval);
g_lingo->codeString((yyvsp[-1].s)->c_str());
g_lingo->codeFunc((yyvsp[-3].s), 1);
delete (yyvsp[-3].s);
delete (yyvsp[-1].s); }
-#line 2820 "engines/director/lingo/lingo-gr.cpp"
+#line 2703 "engines/director/lingo/lingo-gr.cpp"
break;
- case 77:
-#line 591 "engines/director/lingo/lingo-gr.y"
+ case 73:
+#line 589 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lazyeval); g_lingo->codeString((yyvsp[-1].s)->c_str()); }
-#line 2826 "engines/director/lingo/lingo-gr.cpp"
+#line 2709 "engines/director/lingo/lingo-gr.cpp"
break;
- case 78:
-#line 592 "engines/director/lingo/lingo-gr.y"
+ case 74:
+#line 590 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-6].s), (yyvsp[-1].narg) + 1);
delete (yyvsp[-6].s);
delete (yyvsp[-4].s); }
-#line 2835 "engines/director/lingo/lingo-gr.cpp"
+#line 2718 "engines/director/lingo/lingo-gr.cpp"
break;
- case 79:
-#line 596 "engines/director/lingo/lingo-gr.y"
+ case 75:
+#line 594 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 2843 "engines/director/lingo/lingo-gr.cpp"
+#line 2726 "engines/director/lingo/lingo-gr.cpp"
break;
- case 80:
-#line 600 "engines/director/lingo/lingo-gr.y"
- { (yyval.code) = (yyvsp[0].code); }
-#line 2849 "engines/director/lingo/lingo-gr.cpp"
+ case 76:
+#line 597 "engines/director/lingo/lingo-gr.y"
+ {
+ (yyval.code) = g_lingo->codeFunc((yyvsp[-1].s), 1);
+ delete (yyvsp[-1].s); }
+#line 2734 "engines/director/lingo/lingo-gr.cpp"
break;
- case 83:
-#line 603 "engines/director/lingo/lingo-gr.y"
+ case 77:
+#line 600 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->codeFunc((yyvsp[-2].s), 1);
delete (yyvsp[-2].s); }
-#line 2857 "engines/director/lingo/lingo-gr.cpp"
+#line 2742 "engines/director/lingo/lingo-gr.cpp"
break;
- case 84:
-#line 606 "engines/director/lingo/lingo-gr.y"
+ case 78:
+#line 603 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_objectproppush);
g_lingo->codeString((yyvsp[0].objectprop).obj->c_str());
g_lingo->codeString((yyvsp[0].objectprop).prop->c_str());
delete (yyvsp[0].objectprop).obj;
delete (yyvsp[0].objectprop).prop; }
-#line 2868 "engines/director/lingo/lingo-gr.cpp"
+#line 2753 "engines/director/lingo/lingo-gr.cpp"
break;
- case 85:
-#line 612 "engines/director/lingo/lingo-gr.y"
+ case 79:
+#line 609 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_add); }
-#line 2874 "engines/director/lingo/lingo-gr.cpp"
+#line 2759 "engines/director/lingo/lingo-gr.cpp"
break;
- case 86:
-#line 613 "engines/director/lingo/lingo-gr.y"
+ case 80:
+#line 610 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_sub); }
-#line 2880 "engines/director/lingo/lingo-gr.cpp"
+#line 2765 "engines/director/lingo/lingo-gr.cpp"
break;
- case 87:
-#line 614 "engines/director/lingo/lingo-gr.y"
+ case 81:
+#line 611 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_mul); }
-#line 2886 "engines/director/lingo/lingo-gr.cpp"
+#line 2771 "engines/director/lingo/lingo-gr.cpp"
break;
- case 88:
-#line 615 "engines/director/lingo/lingo-gr.y"
+ case 82:
+#line 612 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_div); }
-#line 2892 "engines/director/lingo/lingo-gr.cpp"
+#line 2777 "engines/director/lingo/lingo-gr.cpp"
break;
- case 89:
-#line 616 "engines/director/lingo/lingo-gr.y"
+ case 83:
+#line 613 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_mod); }
-#line 2898 "engines/director/lingo/lingo-gr.cpp"
+#line 2783 "engines/director/lingo/lingo-gr.cpp"
break;
- case 90:
-#line 617 "engines/director/lingo/lingo-gr.y"
+ case 84:
+#line 614 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gt); }
-#line 2904 "engines/director/lingo/lingo-gr.cpp"
+#line 2789 "engines/director/lingo/lingo-gr.cpp"
break;
- case 91:
-#line 618 "engines/director/lingo/lingo-gr.y"
+ case 85:
+#line 615 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lt); }
-#line 2910 "engines/director/lingo/lingo-gr.cpp"
+#line 2795 "engines/director/lingo/lingo-gr.cpp"
break;
- case 92:
-#line 619 "engines/director/lingo/lingo-gr.y"
+ case 86:
+#line 616 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_eq); }
-#line 2916 "engines/director/lingo/lingo-gr.cpp"
+#line 2801 "engines/director/lingo/lingo-gr.cpp"
break;
- case 93:
-#line 620 "engines/director/lingo/lingo-gr.y"
+ case 87:
+#line 617 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_neq); }
-#line 2922 "engines/director/lingo/lingo-gr.cpp"
+#line 2807 "engines/director/lingo/lingo-gr.cpp"
break;
- case 94:
-#line 621 "engines/director/lingo/lingo-gr.y"
+ case 88:
+#line 618 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ge); }
-#line 2928 "engines/director/lingo/lingo-gr.cpp"
+#line 2813 "engines/director/lingo/lingo-gr.cpp"
break;
- case 95:
-#line 622 "engines/director/lingo/lingo-gr.y"
+ case 89:
+#line 619 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_le); }
-#line 2934 "engines/director/lingo/lingo-gr.cpp"
+#line 2819 "engines/director/lingo/lingo-gr.cpp"
break;
- case 96:
-#line 623 "engines/director/lingo/lingo-gr.y"
+ case 90:
+#line 620 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_and); }
-#line 2940 "engines/director/lingo/lingo-gr.cpp"
+#line 2825 "engines/director/lingo/lingo-gr.cpp"
break;
- case 97:
-#line 624 "engines/director/lingo/lingo-gr.y"
+ case 91:
+#line 621 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_or); }
-#line 2946 "engines/director/lingo/lingo-gr.cpp"
+#line 2831 "engines/director/lingo/lingo-gr.cpp"
break;
- case 98:
-#line 625 "engines/director/lingo/lingo-gr.y"
+ case 92:
+#line 622 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_not); }
-#line 2952 "engines/director/lingo/lingo-gr.cpp"
+#line 2837 "engines/director/lingo/lingo-gr.cpp"
break;
- case 99:
-#line 626 "engines/director/lingo/lingo-gr.y"
+ case 93:
+#line 623 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ampersand); }
-#line 2958 "engines/director/lingo/lingo-gr.cpp"
+#line 2843 "engines/director/lingo/lingo-gr.cpp"
break;
- case 100:
-#line 627 "engines/director/lingo/lingo-gr.y"
+ case 94:
+#line 624 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_concat); }
-#line 2964 "engines/director/lingo/lingo-gr.cpp"
+#line 2849 "engines/director/lingo/lingo-gr.cpp"
break;
- case 101:
-#line 628 "engines/director/lingo/lingo-gr.y"
+ case 95:
+#line 625 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_contains); }
-#line 2970 "engines/director/lingo/lingo-gr.cpp"
+#line 2855 "engines/director/lingo/lingo-gr.cpp"
break;
- case 102:
-#line 629 "engines/director/lingo/lingo-gr.y"
+ case 96:
+#line 626 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_starts); }
-#line 2976 "engines/director/lingo/lingo-gr.cpp"
+#line 2861 "engines/director/lingo/lingo-gr.cpp"
break;
- case 103:
-#line 630 "engines/director/lingo/lingo-gr.y"
+ case 97:
+#line 627 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); }
-#line 2982 "engines/director/lingo/lingo-gr.cpp"
+#line 2867 "engines/director/lingo/lingo-gr.cpp"
break;
- case 104:
-#line 631 "engines/director/lingo/lingo-gr.y"
+ case 98:
+#line 628 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); g_lingo->code1(LC::c_negate); }
-#line 2988 "engines/director/lingo/lingo-gr.cpp"
+#line 2873 "engines/director/lingo/lingo-gr.cpp"
break;
- case 105:
-#line 632 "engines/director/lingo/lingo-gr.y"
+ case 99:
+#line 629 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_intersects); }
-#line 2994 "engines/director/lingo/lingo-gr.cpp"
+#line 2879 "engines/director/lingo/lingo-gr.cpp"
break;
- case 106:
-#line 633 "engines/director/lingo/lingo-gr.y"
+ case 100:
+#line 630 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_within); }
-#line 3000 "engines/director/lingo/lingo-gr.cpp"
+#line 2885 "engines/director/lingo/lingo-gr.cpp"
break;
- case 107:
-#line 635 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_charOf); }
-#line 3006 "engines/director/lingo/lingo-gr.cpp"
+ case 101:
+#line 632 "engines/director/lingo/lingo-gr.y"
+ {
+ if ((yyvsp[0].ref).s) {
+ (yyval.code) = g_lingo->code1(LC::c_stringpush);
+ g_lingo->codeString((yyvsp[0].ref).s->c_str());
+ delete (yyvsp[0].ref).s;
+ } else {
+ (yyval.code) = g_lingo->code1(LC::c_intpush);
+ g_lingo->codeInt((yyvsp[0].ref).i);
+ }
+ Common::String field("field");
+ g_lingo->codeFunc(&field, 1); }
+#line 2901 "engines/director/lingo/lingo-gr.cpp"
break;
- case 108:
-#line 636 "engines/director/lingo/lingo-gr.y"
+ case 102:
+#line 643 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_charOf); }
+#line 2907 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 103:
+#line 644 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_charToOf); }
-#line 3012 "engines/director/lingo/lingo-gr.cpp"
+#line 2913 "engines/director/lingo/lingo-gr.cpp"
break;
- case 109:
-#line 637 "engines/director/lingo/lingo-gr.y"
+ case 104:
+#line 645 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_itemOf); }
-#line 3018 "engines/director/lingo/lingo-gr.cpp"
+#line 2919 "engines/director/lingo/lingo-gr.cpp"
break;
- case 110:
-#line 638 "engines/director/lingo/lingo-gr.y"
+ case 105:
+#line 646 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_itemToOf); }
-#line 3024 "engines/director/lingo/lingo-gr.cpp"
+#line 2925 "engines/director/lingo/lingo-gr.cpp"
break;
- case 111:
-#line 639 "engines/director/lingo/lingo-gr.y"
+ case 106:
+#line 647 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lineOf); }
-#line 3030 "engines/director/lingo/lingo-gr.cpp"
+#line 2931 "engines/director/lingo/lingo-gr.cpp"
break;
- case 112:
-#line 640 "engines/director/lingo/lingo-gr.y"
+ case 107:
+#line 648 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lineToOf); }
-#line 3036 "engines/director/lingo/lingo-gr.cpp"
+#line 2937 "engines/director/lingo/lingo-gr.cpp"
break;
- case 113:
-#line 641 "engines/director/lingo/lingo-gr.y"
+ case 108:
+#line 649 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_wordOf); }
-#line 3042 "engines/director/lingo/lingo-gr.cpp"
+#line 2943 "engines/director/lingo/lingo-gr.cpp"
break;
- case 114:
-#line 642 "engines/director/lingo/lingo-gr.y"
+ case 109:
+#line 650 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_wordToOf); }
-#line 3048 "engines/director/lingo/lingo-gr.cpp"
+#line 2949 "engines/director/lingo/lingo-gr.cpp"
break;
- case 115:
-#line 644 "engines/director/lingo/lingo-gr.y"
+ case 111:
+#line 653 "engines/director/lingo/lingo-gr.y"
{
- g_lingo->codeFunc((yyvsp[-1].s), 1);
- delete (yyvsp[-1].s); }
-#line 3056 "engines/director/lingo/lingo-gr.cpp"
+ if ((yyvsp[0].ref).s) {
+ (yyval.code) = g_lingo->code1(LC::c_stringpush);
+ g_lingo->codeString((yyvsp[0].ref).s->c_str());
+ delete (yyvsp[0].ref).s;
+ } else {
+ (yyval.code) = g_lingo->code1(LC::c_intpush);
+ g_lingo->codeInt((yyvsp[0].ref).i);
+ }
+ Common::String cast("cast");
+ g_lingo->codeFunc(&cast, 1); }
+#line 2965 "engines/director/lingo/lingo-gr.cpp"
break;
- case 117:
-#line 649 "engines/director/lingo/lingo-gr.y"
+ case 112:
+#line 664 "engines/director/lingo/lingo-gr.y"
+ {
+ if ((yyvsp[0].ref).s) {
+ (yyval.code) = g_lingo->code1(LC::c_stringpush);
+ g_lingo->codeString((yyvsp[0].ref).s->c_str());
+ delete (yyvsp[0].ref).s;
+ } else {
+ (yyval.code) = g_lingo->code1(LC::c_intpush);
+ g_lingo->codeInt((yyvsp[0].ref).i);
+ }
+ Common::String script("script");
+ g_lingo->codeFunc(&script, 1); }
+#line 2981 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 113:
+#line 675 "engines/director/lingo/lingo-gr.y"
+ {
+ if ((yyvsp[0].ref).s) {
+ (yyval.code) = g_lingo->code1(LC::c_stringpush);
+ g_lingo->codeString((yyvsp[0].ref).s->c_str());
+ delete (yyvsp[0].ref).s;
+ } else {
+ (yyval.code) = g_lingo->code1(LC::c_intpush);
+ g_lingo->codeInt((yyvsp[0].ref).i);
+ }
+ Common::String window("window");
+ g_lingo->codeFunc(&window, 1); }
+#line 2997 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 114:
+#line 688 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_printtop); }
-#line 3062 "engines/director/lingo/lingo-gr.cpp"
+#line 3003 "engines/director/lingo/lingo-gr.cpp"
break;
- case 120:
-#line 652 "engines/director/lingo/lingo-gr.y"
+ case 117:
+#line 691 "engines/director/lingo/lingo-gr.y"
{
if (g_lingo->_repeatStack.size()) {
g_lingo->code2(LC::c_jump, 0);
@@ -3071,266 +3012,284 @@ yyreduce:
} else {
warning("# LINGO: exit repeat not inside repeat block");
} }
-#line 3075 "engines/director/lingo/lingo-gr.cpp"
+#line 3016 "engines/director/lingo/lingo-gr.cpp"
break;
- case 121:
-#line 660 "engines/director/lingo/lingo-gr.y"
+ case 118:
+#line 699 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_procret); }
-#line 3081 "engines/director/lingo/lingo-gr.cpp"
+#line 3022 "engines/director/lingo/lingo-gr.cpp"
break;
- case 122:
-#line 661 "engines/director/lingo/lingo-gr.y"
+ case 119:
+#line 700 "engines/director/lingo/lingo-gr.y"
{ inArgs(); }
-#line 3087 "engines/director/lingo/lingo-gr.cpp"
+#line 3028 "engines/director/lingo/lingo-gr.cpp"
break;
- case 123:
-#line 661 "engines/director/lingo/lingo-gr.y"
+ case 120:
+#line 700 "engines/director/lingo/lingo-gr.y"
{ inLast(); }
-#line 3093 "engines/director/lingo/lingo-gr.cpp"
+#line 3034 "engines/director/lingo/lingo-gr.cpp"
break;
- case 124:
-#line 662 "engines/director/lingo/lingo-gr.y"
+ case 121:
+#line 701 "engines/director/lingo/lingo-gr.y"
{ inArgs(); }
-#line 3099 "engines/director/lingo/lingo-gr.cpp"
+#line 3040 "engines/director/lingo/lingo-gr.cpp"
break;
- case 125:
-#line 662 "engines/director/lingo/lingo-gr.y"
+ case 122:
+#line 701 "engines/director/lingo/lingo-gr.y"
{ inLast(); }
-#line 3105 "engines/director/lingo/lingo-gr.cpp"
+#line 3046 "engines/director/lingo/lingo-gr.cpp"
break;
- case 126:
-#line 663 "engines/director/lingo/lingo-gr.y"
+ case 123:
+#line 702 "engines/director/lingo/lingo-gr.y"
{ inArgs(); }
-#line 3111 "engines/director/lingo/lingo-gr.cpp"
+#line 3052 "engines/director/lingo/lingo-gr.cpp"
break;
- case 127:
-#line 663 "engines/director/lingo/lingo-gr.y"
+ case 124:
+#line 702 "engines/director/lingo/lingo-gr.y"
{ inLast(); }
-#line 3117 "engines/director/lingo/lingo-gr.cpp"
+#line 3058 "engines/director/lingo/lingo-gr.cpp"
break;
- case 128:
-#line 664 "engines/director/lingo/lingo-gr.y"
+ case 125:
+#line 703 "engines/director/lingo/lingo-gr.y"
{
- g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
- delete (yyvsp[-3].s); }
-#line 3125 "engines/director/lingo/lingo-gr.cpp"
+ Common::String open("open");
+ g_lingo->codeFunc(&open, 2); }
+#line 3066 "engines/director/lingo/lingo-gr.cpp"
break;
- case 129:
-#line 667 "engines/director/lingo/lingo-gr.y"
+ case 126:
+#line 706 "engines/director/lingo/lingo-gr.y"
{
- g_lingo->codeFunc((yyvsp[-1].s), (yyvsp[0].narg));
- delete (yyvsp[-1].s); }
-#line 3133 "engines/director/lingo/lingo-gr.cpp"
+ Common::String open("open");
+ g_lingo->codeFunc(&open, 1); }
+#line 3074 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 127:
+#line 709 "engines/director/lingo/lingo-gr.y"
+ {
+ g_lingo->code1(LC::c_lazyeval);
+ g_lingo->codeString((yyvsp[-1].s)->c_str());
+ g_lingo->codeCmd((yyvsp[-3].s), 1);
+ delete (yyvsp[-3].s);
+ delete (yyvsp[-1].s); }
+#line 3085 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 128:
+#line 715 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_lazyeval); g_lingo->codeString((yyvsp[-1].s)->c_str()); }
+#line 3091 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 129:
+#line 716 "engines/director/lingo/lingo-gr.y"
+ {
+ g_lingo->codeCmd((yyvsp[-6].s), (yyvsp[-1].narg) + 1);
+ delete (yyvsp[-6].s);
+ delete (yyvsp[-4].s); }
+#line 3100 "engines/director/lingo/lingo-gr.cpp"
break;
case 130:
-#line 670 "engines/director/lingo/lingo-gr.y"
+#line 720 "engines/director/lingo/lingo-gr.y"
{
- Common::String open("open");
- g_lingo->codeFunc(&open, 2); }
-#line 3141 "engines/director/lingo/lingo-gr.cpp"
+ g_lingo->codeCmd((yyvsp[-3].s), (yyvsp[-1].narg));
+ delete (yyvsp[-3].s); }
+#line 3108 "engines/director/lingo/lingo-gr.cpp"
break;
case 131:
-#line 673 "engines/director/lingo/lingo-gr.y"
+#line 723 "engines/director/lingo/lingo-gr.y"
{
- Common::String open("open");
- g_lingo->codeFunc(&open, 1); }
-#line 3149 "engines/director/lingo/lingo-gr.cpp"
+ g_lingo->codeCmd((yyvsp[-1].s), (yyvsp[0].narg));
+ delete (yyvsp[-1].s); }
+#line 3116 "engines/director/lingo/lingo-gr.cpp"
break;
case 132:
-#line 676 "engines/director/lingo/lingo-gr.y"
- {
- g_lingo->codeFunc((yyvsp[0].s), 0);
- delete (yyvsp[0].s); }
-#line 3157 "engines/director/lingo/lingo-gr.cpp"
- break;
-
- case 133:
-#line 680 "engines/director/lingo/lingo-gr.y"
+#line 727 "engines/director/lingo/lingo-gr.y"
{
mVar((yyvsp[0].s), kVarGlobal);
delete (yyvsp[0].s); }
-#line 3165 "engines/director/lingo/lingo-gr.cpp"
+#line 3124 "engines/director/lingo/lingo-gr.cpp"
break;
- case 134:
-#line 683 "engines/director/lingo/lingo-gr.y"
+ case 133:
+#line 730 "engines/director/lingo/lingo-gr.y"
{
mVar((yyvsp[0].s), kVarGlobal);
delete (yyvsp[0].s); }
-#line 3173 "engines/director/lingo/lingo-gr.cpp"
+#line 3132 "engines/director/lingo/lingo-gr.cpp"
break;
- case 135:
-#line 687 "engines/director/lingo/lingo-gr.y"
+ case 134:
+#line 734 "engines/director/lingo/lingo-gr.y"
{
mVar((yyvsp[0].s), kVarProperty);
delete (yyvsp[0].s); }
-#line 3181 "engines/director/lingo/lingo-gr.cpp"
+#line 3140 "engines/director/lingo/lingo-gr.cpp"
break;
- case 136:
-#line 690 "engines/director/lingo/lingo-gr.y"
+ case 135:
+#line 737 "engines/director/lingo/lingo-gr.y"
{
mVar((yyvsp[0].s), kVarProperty);
delete (yyvsp[0].s); }
-#line 3189 "engines/director/lingo/lingo-gr.cpp"
+#line 3148 "engines/director/lingo/lingo-gr.cpp"
break;
- case 137:
-#line 694 "engines/director/lingo/lingo-gr.y"
+ case 136:
+#line 741 "engines/director/lingo/lingo-gr.y"
{
mVar((yyvsp[0].s), kVarInstance);
delete (yyvsp[0].s); }
-#line 3197 "engines/director/lingo/lingo-gr.cpp"
+#line 3156 "engines/director/lingo/lingo-gr.cpp"
break;
- case 138:
-#line 697 "engines/director/lingo/lingo-gr.y"
+ case 137:
+#line 744 "engines/director/lingo/lingo-gr.y"
{
mVar((yyvsp[0].s), kVarInstance);
delete (yyvsp[0].s); }
-#line 3205 "engines/director/lingo/lingo-gr.cpp"
+#line 3164 "engines/director/lingo/lingo-gr.cpp"
break;
- case 139:
-#line 708 "engines/director/lingo/lingo-gr.y"
+ case 138:
+#line 755 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotoloop); }
-#line 3211 "engines/director/lingo/lingo-gr.cpp"
+#line 3170 "engines/director/lingo/lingo-gr.cpp"
break;
- case 140:
-#line 709 "engines/director/lingo/lingo-gr.y"
+ case 139:
+#line 756 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotonext); }
-#line 3217 "engines/director/lingo/lingo-gr.cpp"
+#line 3176 "engines/director/lingo/lingo-gr.cpp"
break;
- case 141:
-#line 710 "engines/director/lingo/lingo-gr.y"
+ case 140:
+#line 757 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotoprevious); }
-#line 3223 "engines/director/lingo/lingo-gr.cpp"
+#line 3182 "engines/director/lingo/lingo-gr.cpp"
break;
- case 142:
-#line 711 "engines/director/lingo/lingo-gr.y"
+ case 141:
+#line 758 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(LC::c_goto); }
-#line 3232 "engines/director/lingo/lingo-gr.cpp"
+#line 3191 "engines/director/lingo/lingo-gr.cpp"
break;
- case 143:
-#line 715 "engines/director/lingo/lingo-gr.y"
+ case 142:
+#line 762 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(LC::c_goto); }
-#line 3241 "engines/director/lingo/lingo-gr.cpp"
+#line 3200 "engines/director/lingo/lingo-gr.cpp"
break;
- case 144:
-#line 719 "engines/director/lingo/lingo-gr.y"
+ case 143:
+#line 766 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(2);
g_lingo->code1(LC::c_goto); }
-#line 3250 "engines/director/lingo/lingo-gr.cpp"
+#line 3209 "engines/director/lingo/lingo-gr.cpp"
break;
- case 147:
-#line 727 "engines/director/lingo/lingo-gr.y"
+ case 146:
+#line 774 "engines/director/lingo/lingo-gr.y"
{ // "play #done" is also caught by this
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(LC::c_play); }
-#line 3259 "engines/director/lingo/lingo-gr.cpp"
+#line 3218 "engines/director/lingo/lingo-gr.cpp"
break;
- case 148:
-#line 731 "engines/director/lingo/lingo-gr.y"
+ case 147:
+#line 778 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(LC::c_play); }
-#line 3268 "engines/director/lingo/lingo-gr.cpp"
+#line 3227 "engines/director/lingo/lingo-gr.cpp"
break;
- case 149:
-#line 735 "engines/director/lingo/lingo-gr.y"
+ case 148:
+#line 782 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(2);
g_lingo->code1(LC::c_play); }
-#line 3277 "engines/director/lingo/lingo-gr.cpp"
+#line 3236 "engines/director/lingo/lingo-gr.cpp"
break;
- case 150:
-#line 739 "engines/director/lingo/lingo-gr.y"
+ case 149:
+#line 786 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeSetImmediate(true); }
-#line 3283 "engines/director/lingo/lingo-gr.cpp"
+#line 3242 "engines/director/lingo/lingo-gr.cpp"
break;
- case 151:
-#line 739 "engines/director/lingo/lingo-gr.y"
+ case 150:
+#line 786 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeSetImmediate(false);
g_lingo->codeFunc((yyvsp[-2].s), (yyvsp[0].narg));
delete (yyvsp[-2].s); }
-#line 3292 "engines/director/lingo/lingo-gr.cpp"
+#line 3251 "engines/director/lingo/lingo-gr.cpp"
break;
- case 152:
-#line 769 "engines/director/lingo/lingo-gr.y"
+ case 151:
+#line 816 "engines/director/lingo/lingo-gr.y"
{ startDef(); }
-#line 3298 "engines/director/lingo/lingo-gr.cpp"
+#line 3257 "engines/director/lingo/lingo-gr.cpp"
break;
- case 153:
-#line 770 "engines/director/lingo/lingo-gr.y"
+ case 152:
+#line 817 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_procret);
g_lingo->codeDefine(*(yyvsp[-5].s), (yyvsp[-4].code), (yyvsp[-3].narg));
endDef();
delete (yyvsp[-5].s); }
-#line 3308 "engines/director/lingo/lingo-gr.cpp"
+#line 3267 "engines/director/lingo/lingo-gr.cpp"
break;
- case 154:
-#line 775 "engines/director/lingo/lingo-gr.y"
+ case 153:
+#line 822 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeFactory(*(yyvsp[0].s)); delete (yyvsp[0].s); }
-#line 3314 "engines/director/lingo/lingo-gr.cpp"
+#line 3273 "engines/director/lingo/lingo-gr.cpp"
break;
- case 155:
-#line 776 "engines/director/lingo/lingo-gr.y"
+ case 154:
+#line 823 "engines/director/lingo/lingo-gr.y"
{ startDef(); (*g_lingo->_methodVars)["me"] = kVarArgument; }
-#line 3320 "engines/director/lingo/lingo-gr.cpp"
+#line 3279 "engines/director/lingo/lingo-gr.cpp"
break;
- case 156:
-#line 777 "engines/director/lingo/lingo-gr.y"
+ case 155:
+#line 824 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_procret);
g_lingo->codeDefine(*(yyvsp[-6].s), (yyvsp[-4].code), (yyvsp[-3].narg) + 1);
endDef();
delete (yyvsp[-6].s); }
-#line 3330 "engines/director/lingo/lingo-gr.cpp"
+#line 3289 "engines/director/lingo/lingo-gr.cpp"
break;
- case 157:
-#line 782 "engines/director/lingo/lingo-gr.y"
+ case 156:
+#line 829 "engines/director/lingo/lingo-gr.y"
{ // D3
g_lingo->code1(LC::c_procret);
g_lingo->codeDefine(*(yyvsp[-7].s), (yyvsp[-6].code), (yyvsp[-5].narg));
@@ -3339,192 +3298,180 @@ yyreduce:
checkEnd((yyvsp[-1].s), (yyvsp[-7].s)->c_str(), false);
delete (yyvsp[-7].s);
delete (yyvsp[-1].s); }
-#line 3343 "engines/director/lingo/lingo-gr.cpp"
+#line 3302 "engines/director/lingo/lingo-gr.cpp"
break;
- case 158:
-#line 790 "engines/director/lingo/lingo-gr.y"
+ case 157:
+#line 837 "engines/director/lingo/lingo-gr.y"
{ // D4. No 'end' clause
g_lingo->code1(LC::c_procret);
g_lingo->codeDefine(*(yyvsp[-5].s), (yyvsp[-4].code), (yyvsp[-3].narg));
endDef();
delete (yyvsp[-5].s); }
-#line 3353 "engines/director/lingo/lingo-gr.cpp"
+#line 3312 "engines/director/lingo/lingo-gr.cpp"
break;
- case 159:
-#line 796 "engines/director/lingo/lingo-gr.y"
+ case 158:
+#line 843 "engines/director/lingo/lingo-gr.y"
{ startDef(); }
-#line 3359 "engines/director/lingo/lingo-gr.cpp"
+#line 3318 "engines/director/lingo/lingo-gr.cpp"
break;
- case 160:
-#line 796 "engines/director/lingo/lingo-gr.y"
+ case 159:
+#line 843 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = (yyvsp[0].s); }
-#line 3365 "engines/director/lingo/lingo-gr.cpp"
+#line 3324 "engines/director/lingo/lingo-gr.cpp"
break;
- case 161:
-#line 798 "engines/director/lingo/lingo-gr.y"
+ case 160:
+#line 845 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; }
-#line 3371 "engines/director/lingo/lingo-gr.cpp"
+#line 3330 "engines/director/lingo/lingo-gr.cpp"
break;
- case 162:
-#line 799 "engines/director/lingo/lingo-gr.y"
+ case 161:
+#line 846 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); mVar((yyvsp[0].s), kVarArgument); (yyval.narg) = 1; delete (yyvsp[0].s); }
-#line 3377 "engines/director/lingo/lingo-gr.cpp"
+#line 3336 "engines/director/lingo/lingo-gr.cpp"
break;
- case 163:
-#line 800 "engines/director/lingo/lingo-gr.y"
+ case 162:
+#line 847 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); mVar((yyvsp[0].s), kVarArgument); (yyval.narg) = (yyvsp[-2].narg) + 1; delete (yyvsp[0].s); }
-#line 3383 "engines/director/lingo/lingo-gr.cpp"
+#line 3342 "engines/director/lingo/lingo-gr.cpp"
break;
- case 165:
-#line 803 "engines/director/lingo/lingo-gr.y"
+ case 164:
+#line 850 "engines/director/lingo/lingo-gr.y"
{ delete (yyvsp[0].s); }
-#line 3389 "engines/director/lingo/lingo-gr.cpp"
+#line 3348 "engines/director/lingo/lingo-gr.cpp"
break;
- case 166:
-#line 804 "engines/director/lingo/lingo-gr.y"
+ case 165:
+#line 851 "engines/director/lingo/lingo-gr.y"
{ delete (yyvsp[0].s); }
-#line 3395 "engines/director/lingo/lingo-gr.cpp"
+#line 3354 "engines/director/lingo/lingo-gr.cpp"
break;
- case 167:
-#line 806 "engines/director/lingo/lingo-gr.y"
+ case 166:
+#line 853 "engines/director/lingo/lingo-gr.y"
{ inDef(); }
-#line 3401 "engines/director/lingo/lingo-gr.cpp"
- break;
-
- case 168:
-#line 808 "engines/director/lingo/lingo-gr.y"
- {
- g_lingo->code1(LC::c_call);
- g_lingo->codeString((yyvsp[-1].s)->c_str());
- inst numpar = 0;
- WRITE_UINT32(&numpar, (yyvsp[0].narg));
- g_lingo->code1(numpar);
- delete (yyvsp[-1].s); }
-#line 3413 "engines/director/lingo/lingo-gr.cpp"
+#line 3360 "engines/director/lingo/lingo-gr.cpp"
break;
- case 169:
-#line 816 "engines/director/lingo/lingo-gr.y"
+ case 167:
+#line 855 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; }
-#line 3419 "engines/director/lingo/lingo-gr.cpp"
+#line 3366 "engines/director/lingo/lingo-gr.cpp"
break;
- case 170:
-#line 817 "engines/director/lingo/lingo-gr.y"
+ case 168:
+#line 856 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3425 "engines/director/lingo/lingo-gr.cpp"
+#line 3372 "engines/director/lingo/lingo-gr.cpp"
break;
- case 171:
-#line 818 "engines/director/lingo/lingo-gr.y"
+ case 169:
+#line 857 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3431 "engines/director/lingo/lingo-gr.cpp"
+#line 3378 "engines/director/lingo/lingo-gr.cpp"
break;
- case 172:
-#line 820 "engines/director/lingo/lingo-gr.y"
+ case 170:
+#line 859 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3437 "engines/director/lingo/lingo-gr.cpp"
+#line 3384 "engines/director/lingo/lingo-gr.cpp"
break;
- case 173:
-#line 821 "engines/director/lingo/lingo-gr.y"
+ case 171:
+#line 860 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3443 "engines/director/lingo/lingo-gr.cpp"
+#line 3390 "engines/director/lingo/lingo-gr.cpp"
break;
- case 174:
-#line 823 "engines/director/lingo/lingo-gr.y"
+ case 172:
+#line 862 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[-1].code); }
-#line 3449 "engines/director/lingo/lingo-gr.cpp"
+#line 3396 "engines/director/lingo/lingo-gr.cpp"
break;
- case 175:
-#line 825 "engines/director/lingo/lingo-gr.y"
+ case 173:
+#line 864 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code2(LC::c_arraypush, 0); }
-#line 3455 "engines/director/lingo/lingo-gr.cpp"
+#line 3402 "engines/director/lingo/lingo-gr.cpp"
break;
- case 176:
-#line 826 "engines/director/lingo/lingo-gr.y"
+ case 174:
+#line 865 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code2(LC::c_proparraypush, 0); }
-#line 3461 "engines/director/lingo/lingo-gr.cpp"
+#line 3408 "engines/director/lingo/lingo-gr.cpp"
break;
- case 177:
-#line 827 "engines/director/lingo/lingo-gr.y"
+ case 175:
+#line 866 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_proparraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3467 "engines/director/lingo/lingo-gr.cpp"
+#line 3414 "engines/director/lingo/lingo-gr.cpp"
break;
- case 178:
-#line 828 "engines/director/lingo/lingo-gr.y"
+ case 176:
+#line 867 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_arraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3473 "engines/director/lingo/lingo-gr.cpp"
+#line 3420 "engines/director/lingo/lingo-gr.cpp"
break;
- case 179:
-#line 830 "engines/director/lingo/lingo-gr.y"
+ case 177:
+#line 869 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3479 "engines/director/lingo/lingo-gr.cpp"
+#line 3426 "engines/director/lingo/lingo-gr.cpp"
break;
- case 180:
-#line 831 "engines/director/lingo/lingo-gr.y"
+ case 178:
+#line 870 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3485 "engines/director/lingo/lingo-gr.cpp"
+#line 3432 "engines/director/lingo/lingo-gr.cpp"
break;
- case 181:
-#line 833 "engines/director/lingo/lingo-gr.y"
+ case 179:
+#line 872 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3491 "engines/director/lingo/lingo-gr.cpp"
+#line 3438 "engines/director/lingo/lingo-gr.cpp"
break;
- case 182:
-#line 834 "engines/director/lingo/lingo-gr.y"
+ case 180:
+#line 873 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3497 "engines/director/lingo/lingo-gr.cpp"
+#line 3444 "engines/director/lingo/lingo-gr.cpp"
break;
- case 183:
-#line 836 "engines/director/lingo/lingo-gr.y"
+ case 181:
+#line 875 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_symbolpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
delete (yyvsp[-2].s); }
-#line 3506 "engines/director/lingo/lingo-gr.cpp"
+#line 3453 "engines/director/lingo/lingo-gr.cpp"
break;
- case 184:
-#line 840 "engines/director/lingo/lingo-gr.y"
+ case 182:
+#line 879 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_stringpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
delete (yyvsp[-2].s); }
-#line 3515 "engines/director/lingo/lingo-gr.cpp"
+#line 3462 "engines/director/lingo/lingo-gr.cpp"
break;
- case 185:
-#line 844 "engines/director/lingo/lingo-gr.y"
+ case 183:
+#line 883 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_stringpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
delete (yyvsp[-2].s); }
-#line 3524 "engines/director/lingo/lingo-gr.cpp"
+#line 3471 "engines/director/lingo/lingo-gr.cpp"
break;
-#line 3528 "engines/director/lingo/lingo-gr.cpp"
+#line 3475 "engines/director/lingo/lingo-gr.cpp"
default: break;
}
@@ -3723,7 +3670,7 @@ yyreturn:
return yyresult;
}
-#line 850 "engines/director/lingo/lingo-gr.y"
+#line 889 "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 370cb9e1fd..5c671bd702 100644
--- a/engines/director/lingo/lingo-gr.h
+++ b/engines/director/lingo/lingo-gr.h
@@ -73,71 +73,72 @@ extern int yydebug;
THEMENUITEMENTITY = 274, /* THEMENUITEMENTITY */
THEMENUITEMSENTITY = 275, /* THEMENUITEMSENTITY */
FLOAT = 276, /* FLOAT */
- BLTIN = 277, /* BLTIN */
- FBLTIN = 278, /* FBLTIN */
- RBLTIN = 279, /* RBLTIN */
- THEFBLTIN = 280, /* THEFBLTIN */
- ID = 281, /* ID */
- STRING = 282, /* STRING */
- HANDLER = 283, /* HANDLER */
- SYMBOL = 284, /* SYMBOL */
- ENDCLAUSE = 285, /* ENDCLAUSE */
- tPLAYACCEL = 286, /* tPLAYACCEL */
- tMETHOD = 287, /* tMETHOD */
- THEOBJECTPROP = 288, /* THEOBJECTPROP */
- tDOWN = 289, /* tDOWN */
- tELSE = 290, /* tELSE */
- tELSIF = 291, /* tELSIF */
- tEXIT = 292, /* tEXIT */
- tGLOBAL = 293, /* tGLOBAL */
- tGO = 294, /* tGO */
- tGOLOOP = 295, /* tGOLOOP */
- tIF = 296, /* tIF */
- tIN = 297, /* tIN */
- tINTO = 298, /* tINTO */
- tMACRO = 299, /* tMACRO */
- tMOVIE = 300, /* tMOVIE */
- tNEXT = 301, /* tNEXT */
- tOF = 302, /* tOF */
- tPREVIOUS = 303, /* tPREVIOUS */
- tPUT = 304, /* tPUT */
- tREPEAT = 305, /* tREPEAT */
- tSET = 306, /* tSET */
- tTHEN = 307, /* tTHEN */
- tTO = 308, /* tTO */
- tWHEN = 309, /* tWHEN */
- tWITH = 310, /* tWITH */
- tWHILE = 311, /* tWHILE */
- tFACTORY = 312, /* tFACTORY */
- tOPEN = 313, /* tOPEN */
- tPLAY = 314, /* tPLAY */
- tINSTANCE = 315, /* tINSTANCE */
- tGE = 316, /* tGE */
- tLE = 317, /* tLE */
- tEQ = 318, /* tEQ */
- tNEQ = 319, /* tNEQ */
- tAND = 320, /* tAND */
- tOR = 321, /* tOR */
- tNOT = 322, /* tNOT */
- tMOD = 323, /* tMOD */
- tAFTER = 324, /* tAFTER */
- tBEFORE = 325, /* tBEFORE */
- tCONCAT = 326, /* tCONCAT */
- tCONTAINS = 327, /* tCONTAINS */
- tSTARTS = 328, /* tSTARTS */
- tCHAR = 329, /* tCHAR */
- tITEM = 330, /* tITEM */
- tLINE = 331, /* tLINE */
- tWORD = 332, /* tWORD */
- tSPRITE = 333, /* tSPRITE */
- tINTERSECTS = 334, /* tINTERSECTS */
- tWITHIN = 335, /* tWITHIN */
- tTELL = 336, /* tTELL */
- tPROPERTY = 337, /* tPROPERTY */
- tON = 338, /* tON */
- tENDIF = 339, /* tENDIF */
- tENDREPEAT = 340, /* tENDREPEAT */
- tENDTELL = 341 /* tENDTELL */
+ THEFUNC = 277, /* THEFUNC */
+ THEFUNCINOF = 278, /* THEFUNCINOF */
+ ID = 279, /* ID */
+ STRING = 280, /* STRING */
+ SYMBOL = 281, /* SYMBOL */
+ ENDCLAUSE = 282, /* ENDCLAUSE */
+ tPLAYACCEL = 283, /* tPLAYACCEL */
+ tMETHOD = 284, /* tMETHOD */
+ THEOBJECTPROP = 285, /* THEOBJECTPROP */
+ CAST = 286, /* CAST */
+ FIELD = 287, /* FIELD */
+ SCRIPT = 288, /* SCRIPT */
+ WINDOW = 289, /* WINDOW */
+ tDOWN = 290, /* tDOWN */
+ tELSE = 291, /* tELSE */
+ tELSIF = 292, /* tELSIF */
+ tEXIT = 293, /* tEXIT */
+ tGLOBAL = 294, /* tGLOBAL */
+ tGO = 295, /* tGO */
+ tGOLOOP = 296, /* tGOLOOP */
+ tIF = 297, /* tIF */
+ tIN = 298, /* tIN */
+ tINTO = 299, /* tINTO */
+ tMACRO = 300, /* tMACRO */
+ tMOVIE = 301, /* tMOVIE */
+ tNEXT = 302, /* tNEXT */
+ tOF = 303, /* tOF */
+ tPREVIOUS = 304, /* tPREVIOUS */
+ tPUT = 305, /* tPUT */
+ tREPEAT = 306, /* tREPEAT */
+ tSET = 307, /* tSET */
+ tTHEN = 308, /* tTHEN */
+ tTO = 309, /* tTO */
+ tWHEN = 310, /* tWHEN */
+ tWITH = 311, /* tWITH */
+ tWHILE = 312, /* tWHILE */
+ tFACTORY = 313, /* tFACTORY */
+ tOPEN = 314, /* tOPEN */
+ tPLAY = 315, /* tPLAY */
+ tINSTANCE = 316, /* tINSTANCE */
+ tGE = 317, /* tGE */
+ tLE = 318, /* tLE */
+ tEQ = 319, /* tEQ */
+ tNEQ = 320, /* tNEQ */
+ tAND = 321, /* tAND */
+ tOR = 322, /* tOR */
+ tNOT = 323, /* tNOT */
+ tMOD = 324, /* tMOD */
+ tAFTER = 325, /* tAFTER */
+ tBEFORE = 326, /* tBEFORE */
+ tCONCAT = 327, /* tCONCAT */
+ tCONTAINS = 328, /* tCONTAINS */
+ tSTARTS = 329, /* tSTARTS */
+ tCHAR = 330, /* tCHAR */
+ tITEM = 331, /* tITEM */
+ tLINE = 332, /* tLINE */
+ tWORD = 333, /* tWORD */
+ tSPRITE = 334, /* tSPRITE */
+ tINTERSECTS = 335, /* tINTERSECTS */
+ tWITHIN = 336, /* tWITHIN */
+ tTELL = 337, /* tTELL */
+ tPROPERTY = 338, /* tPROPERTY */
+ tON = 339, /* tON */
+ tENDIF = 340, /* tENDIF */
+ tENDREPEAT = 341, /* tENDREPEAT */
+ tENDTELL = 342 /* tENDTELL */
};
typedef enum yytokentype yytoken_kind_t;
#endif
@@ -161,7 +162,12 @@ union YYSTYPE
Common::String *prop;
} objectprop;
-#line 165 "engines/director/lingo/lingo-gr.h"
+ struct {
+ Common::String *s;
+ int i;
+ } ref;
+
+#line 171 "engines/director/lingo/lingo-gr.h"
};
typedef union YYSTYPE YYSTYPE;
diff --git a/engines/director/lingo/lingo-gr.y b/engines/director/lingo/lingo-gr.y
index 0cedad7d65..d23f1ad07f 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -170,6 +170,11 @@ static void mVar(Common::String *s, VarType type) {
Common::String *obj;
Common::String *prop;
} objectprop;
+
+ struct {
+ Common::String *s;
+ int i;
+ } ref;
}
%token UNARY
@@ -180,10 +185,11 @@ static void mVar(Common::String *s, VarType type) {
%token<e> THEENTITY THEENTITYWITHID THEMENUITEMENTITY THEMENUITEMSENTITY
%token<f> FLOAT
-%token<s> BLTIN FBLTIN RBLTIN THEFBLTIN
-%token<s> ID STRING HANDLER SYMBOL
+%token<s> THEFUNC THEFUNCINOF
+%token<s> ID STRING SYMBOL
%token<s> ENDCLAUSE tPLAYACCEL tMETHOD
%token<objectprop> THEOBJECTPROP
+%token<ref> CAST FIELD SCRIPT WINDOW
%token tDOWN tELSE tELSIF tEXIT tGLOBAL tGO tGOLOOP tIF tIN tINTO tMACRO
%token tMOVIE tNEXT tOF tPREVIOUS tPUT tREPEAT tSET tTHEN tTO tWHEN
%token tWITH tWHILE tFACTORY tOPEN tPLAY tINSTANCE
@@ -192,7 +198,7 @@ static void mVar(Common::String *s, VarType type) {
%token tSPRITE tINTERSECTS tWITHIN tTELL tPROPERTY
%token tON tENDIF tENDREPEAT tENDTELL
-%type<code> asgn lbl expr if chunkexpr funccall
+%type<code> asgn lbl expr if chunkexpr
%type<code> stmtlist tellstart reference simpleexpr list valuelist
%type<code> jump jumpifz varassign
%type<narg> argdef arglist nonemptyarglist linearlist proplist
@@ -223,7 +229,7 @@ asgn: tPUT expr tINTO ID {
g_lingo->code1(LC::c_assign);
$$ = $expr;
delete $ID; }
- | tPUT expr tINTO reference {
+ | tPUT expr tINTO chunkexpr {
g_lingo->code1(LC::c_assign);
$$ = $expr; }
// {put the number of menuItems of} menu into <expr>
@@ -245,7 +251,7 @@ asgn: tPUT expr tINTO ID {
g_lingo->code1(LC::c_after);
$$ = $expr;
delete $ID; } // D3
- | tPUT expr tAFTER reference {
+ | tPUT expr tAFTER chunkexpr {
g_lingo->code1(LC::c_after);
$$ = $expr; }
| tPUT expr tBEFORE ID {
@@ -255,7 +261,7 @@ asgn: tPUT expr tINTO ID {
g_lingo->code1(LC::c_before);
$$ = $expr;
delete $ID; } // D3
- | tPUT expr tBEFORE reference {
+ | tPUT expr tBEFORE chunkexpr {
g_lingo->code1(LC::c_before);
$$ = $expr; }
| tSET ID tEQ expr {
@@ -336,9 +342,7 @@ asgn: tPUT expr tINTO ID {
delete $THEOBJECTPROP.prop;
$$ = $expr; }
-stmtoneliner: macro
- | funccall
- | asgn
+stmtoneliner: asgn
| proc
stmt: stmtoneliner
@@ -549,7 +553,11 @@ simpleexpr: INT {
g_lingo->codeString($STRING->c_str());
delete $STRING; }
| ID {
- $$ = g_lingo->code1(LC::c_eval);
+ if (g_lingo->_builtinConsts.contains(*$ID)) {
+ $$ = g_lingo->code1(LC::c_constpush);
+ } else {
+ $$ = g_lingo->code1(LC::c_eval);
+ }
g_lingo->codeString($ID->c_str());
delete $ID; }
| THEENTITY {
@@ -570,18 +578,8 @@ simpleexpr: INT {
| list
| error '\n' { yyerrok; }
-funccall: FBLTIN '(' arglist ')' {
- g_lingo->codeFunc($FBLTIN, $arglist);
- delete $FBLTIN; }
- | FBLTIN arglist {
- g_lingo->codeFunc($FBLTIN, $arglist);
- delete $FBLTIN; }
- | RBLTIN '(' arglist ')' {
- g_lingo->codeFunc($RBLTIN, $arglist);
- delete $RBLTIN; }
- | RBLTIN arglist {
- g_lingo->codeFunc($RBLTIN, $arglist);
- delete $RBLTIN; }
+expr: simpleexpr { $$ = $simpleexpr; }
+ | reference
| ID[func] '(' ID[method] ')' {
g_lingo->code1(LC::c_lazyeval);
g_lingo->codeString($method->c_str());
@@ -596,13 +594,12 @@ funccall: FBLTIN '(' arglist ')' {
| ID '(' arglist ')' {
$$ = g_lingo->codeFunc($ID, $arglist);
delete $ID; }
-
-expr: simpleexpr { $$ = $simpleexpr; }
- | chunkexpr
- | funccall
- | THEFBLTIN tOF simpleexpr {
- $$ = g_lingo->codeFunc($THEFBLTIN, 1);
- delete $THEFBLTIN; }
+ | THEFUNCINOF simpleexpr {
+ $$ = g_lingo->codeFunc($THEFUNCINOF, 1);
+ delete $THEFUNCINOF; }
+ | THEFUNC tOF simpleexpr {
+ $$ = g_lingo->codeFunc($THEFUNC, 1);
+ delete $THEFUNC; }
| THEOBJECTPROP {
g_lingo->code1(LC::c_objectproppush);
g_lingo->codeString($THEOBJECTPROP.obj->c_str());
@@ -632,7 +629,18 @@ expr: simpleexpr { $$ = $simpleexpr; }
| tSPRITE expr tINTERSECTS expr { g_lingo->code1(LC::c_intersects); }
| tSPRITE expr tWITHIN expr { g_lingo->code1(LC::c_within); }
-chunkexpr: tCHAR expr tOF expr { g_lingo->code1(LC::c_charOf); }
+chunkexpr: FIELD {
+ if ($FIELD.s) {
+ $$ = g_lingo->code1(LC::c_stringpush);
+ g_lingo->codeString($FIELD.s->c_str());
+ delete $FIELD.s;
+ } else {
+ $$ = g_lingo->code1(LC::c_intpush);
+ g_lingo->codeInt($FIELD.i);
+ }
+ Common::String field("field");
+ g_lingo->codeFunc(&field, 1); }
+ | tCHAR expr tOF expr { g_lingo->code1(LC::c_charOf); }
| tCHAR expr tTO expr tOF expr { g_lingo->code1(LC::c_charToOf); }
| tITEM expr tOF expr { g_lingo->code1(LC::c_itemOf); }
| tITEM expr tTO expr tOF expr { g_lingo->code1(LC::c_itemToOf); }
@@ -641,10 +649,41 @@ chunkexpr: tCHAR expr tOF expr { g_lingo->code1(LC::c_charOf); }
| tWORD expr tOF expr { g_lingo->code1(LC::c_wordOf); }
| tWORD expr tTO expr tOF expr { g_lingo->code1(LC::c_wordToOf); }
-reference: RBLTIN simpleexpr {
- g_lingo->codeFunc($RBLTIN, 1);
- delete $RBLTIN; }
- | chunkexpr
+reference: chunkexpr
+ | CAST {
+ if ($CAST.s) {
+ $$ = g_lingo->code1(LC::c_stringpush);
+ g_lingo->codeString($CAST.s->c_str());
+ delete $CAST.s;
+ } else {
+ $$ = g_lingo->code1(LC::c_intpush);
+ g_lingo->codeInt($CAST.i);
+ }
+ Common::String cast("cast");
+ g_lingo->codeFunc(&cast, 1); }
+ | SCRIPT {
+ if ($SCRIPT.s) {
+ $$ = g_lingo->code1(LC::c_stringpush);
+ g_lingo->codeString($SCRIPT.s->c_str());
+ delete $SCRIPT.s;
+ } else {
+ $$ = g_lingo->code1(LC::c_intpush);
+ g_lingo->codeInt($SCRIPT.i);
+ }
+ Common::String script("script");
+ g_lingo->codeFunc(&script, 1); }
+ | WINDOW {
+ if ($WINDOW.s) {
+ $$ = g_lingo->code1(LC::c_stringpush);
+ g_lingo->codeString($WINDOW.s->c_str());
+ delete $WINDOW.s;
+ } else {
+ $$ = g_lingo->code1(LC::c_intpush);
+ g_lingo->codeInt($WINDOW.i);
+ }
+ Common::String window("window");
+ g_lingo->codeFunc(&window, 1); }
+
proc: tPUT expr { g_lingo->code1(LC::c_printtop); }
| gotofunc
@@ -661,20 +700,28 @@ proc: tPUT expr { g_lingo->code1(LC::c_printtop); }
| tGLOBAL { inArgs(); } globallist { inLast(); }
| tPROPERTY { inArgs(); } propertylist { inLast(); }
| tINSTANCE { inArgs(); } instancelist { inLast(); }
- | BLTIN '(' arglist ')' {
- g_lingo->codeFunc($BLTIN, $arglist);
- delete $BLTIN; }
- | BLTIN arglist {
- g_lingo->codeFunc($BLTIN, $arglist);
- delete $BLTIN; }
| tOPEN expr tWITH expr {
Common::String open("open");
g_lingo->codeFunc(&open, 2); }
| tOPEN expr {
Common::String open("open");
g_lingo->codeFunc(&open, 1); }
- | ID {
- g_lingo->codeFunc($ID, 0);
+ | ID[func] '(' ID[method] ')' {
+ g_lingo->code1(LC::c_lazyeval);
+ g_lingo->codeString($method->c_str());
+ g_lingo->codeCmd($func, 1);
+ delete $func;
+ delete $method; }
+ | ID[func] '(' ID[method] ',' { g_lingo->code1(LC::c_lazyeval); g_lingo->codeString($method->c_str()); }
+ nonemptyarglist ')' {
+ g_lingo->codeCmd($func, $nonemptyarglist + 1);
+ delete $func;
+ delete $method; }
+ | ID '(' arglist ')' {
+ g_lingo->codeCmd($ID, $arglist);
+ delete $ID; }
+ | ID arglist {
+ g_lingo->codeCmd($ID, $arglist);
delete $ID; }
globallist: ID {
@@ -805,14 +852,6 @@ endargdef: /* nothing */
argstore: /* nothing */ { inDef(); }
-macro: ID nonemptyarglist {
- g_lingo->code1(LC::c_call);
- g_lingo->codeString($ID->c_str());
- inst numpar = 0;
- WRITE_UINT32(&numpar, $nonemptyarglist);
- g_lingo->code1(numpar);
- delete $ID; }
-
arglist: /* nothing */ { $$ = 0; }
| expr { $$ = 1; }
| arglist ',' expr { $$ = $1 + 1; }
diff --git a/engines/director/lingo/lingo-lex.cpp b/engines/director/lingo/lingo-lex.cpp
index 5f29c7ade2..b1089a3523 100644
--- a/engines/director/lingo/lingo-lex.cpp
+++ b/engines/director/lingo/lingo-lex.cpp
@@ -163,8 +163,27 @@ extern FILE *yyin, *yyout;
#define EOB_ACT_END_OF_FILE 1
#define EOB_ACT_LAST_MATCH 2
- #define YY_LESS_LINENO(n)
- #define YY_LINENO_REWIND_TO(ptr)
+ /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
+ * access to the local variable yy_act. Since yyless() is a macro, it would break
+ * existing scanners that call yyless() from OUTSIDE yylex.
+ * One obvious solution it to make yy_act a global. I tried that, and saw
+ * a 5% performance hit in a non-yylineno scanner, because yy_act is
+ * normally declared as a register variable-- so it is not worth it.
+ */
+ #define YY_LESS_LINENO(n) \
+ do { \
+ int yyl;\
+ for ( yyl = n; yyl < yyleng; ++yyl )\
+ if ( yytext[yyl] == '\n' )\
+ --yylineno;\
+ }while(0)
+ #define YY_LINENO_REWIND_TO(dst) \
+ do {\
+ const char *p;\
+ for ( p = yy_cp-1; p >= (dst); --p)\
+ if ( *p == '\n' )\
+ --yylineno;\
+ }while(0)
/* Return all but the first "n" matched characters back to the input stream. */
#define yyless(n) \
@@ -332,14 +351,11 @@ FILE *yyin = NULL, *yyout = NULL;
typedef int yy_state_type;
+#define YY_FLEX_LEX_COMPAT
extern int yylineno;
int yylineno = 1;
-extern char *yytext;
-#ifdef yytext_ptr
-#undef yytext_ptr
-#endif
-#define yytext_ptr yytext
+extern char yytext[];
static yy_state_type yy_get_previous_state ( void );
static yy_state_type yy_try_NUL_trans ( yy_state_type current_state );
@@ -354,9 +370,12 @@ static void yynoreturn yy_fatal_error ( const char* msg );
yyleng = (int) (yy_cp - yy_bp); \
(yy_hold_char) = *yy_cp; \
*yy_cp = '\0'; \
+ if ( yyleng >= YYLMAX ) \
+ YY_FATAL_ERROR( "token too large, exceeds YYLMAX" ); \
+ yy_flex_strncpy( yytext, (yytext_ptr), yyleng + 1 ); \
(yy_c_buf_p) = yy_cp;
-#define YY_NUM_RULES 70
-#define YY_END_OF_BUFFER 71
+#define YY_NUM_RULES 78
+#define YY_END_OF_BUFFER 79
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
@@ -364,41 +383,45 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static const flex_int16_t yy_accept[300] =
+static const flex_int16_t yy_accept[337] =
{ 0,
- 0, 0, 71, 69, 1, 67, 67, 69, 69, 66,
- 66, 65, 66, 62, 66, 63, 63, 63, 63, 63,
- 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
- 63, 63, 1, 63, 1, 67, 0, 68, 2, 61,
- 64, 65, 60, 58, 59, 63, 63, 63, 63, 63,
- 63, 63, 63, 63, 63, 63, 63, 9, 22, 63,
- 63, 63, 63, 63, 63, 63, 31, 32, 63, 34,
- 63, 63, 63, 63, 63, 63, 63, 63, 63, 51,
- 63, 63, 63, 1, 0, 63, 2, 64, 63, 4,
- 63, 63, 63, 63, 63, 12, 63, 63, 17, 63,
-
- 63, 63, 63, 63, 63, 27, 63, 63, 30, 63,
- 63, 63, 63, 40, 63, 42, 63, 63, 63, 63,
- 63, 63, 63, 63, 0, 63, 63, 63, 6, 63,
- 8, 11, 0, 14, 63, 0, 0, 0, 63, 63,
- 21, 23, 24, 63, 63, 63, 29, 33, 36, 63,
- 63, 63, 63, 63, 44, 0, 50, 55, 63, 53,
- 57, 0, 63, 3, 63, 63, 0, 12, 63, 0,
- 0, 17, 63, 63, 25, 63, 28, 0, 63, 63,
- 63, 63, 63, 63, 49, 49, 49, 56, 63, 0,
- 63, 5, 63, 0, 12, 15, 0, 0, 0, 63,
-
- 63, 63, 0, 63, 63, 63, 41, 52, 43, 0,
- 49, 49, 54, 0, 63, 63, 10, 0, 18, 63,
- 63, 0, 0, 63, 63, 63, 0, 0, 0, 49,
- 49, 0, 13, 7, 16, 19, 63, 26, 0, 63,
- 38, 39, 0, 0, 0, 49, 49, 13, 63, 26,
- 0, 37, 0, 0, 0, 0, 49, 20, 35, 48,
- 47, 48, 0, 0, 0, 0, 49, 47, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 48, 47, 47, 48, 0, 46, 47, 47, 0,
- 47, 0, 47, 0, 0, 0, 0, 45, 0
-
+ 0, 0, 79, 77, 1, 75, 75, 77, 77, 74,
+ 74, 73, 74, 70, 74, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 1, 71, 1, 75, 0, 76, 2,
+ 69, 72, 73, 68, 66, 67, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 11, 26, 71, 71, 71, 71, 71, 71, 71, 35,
+ 36, 71, 38, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 57, 71, 71, 71, 1, 0, 71,
+ 2, 72, 71, 4, 71, 71, 71, 71, 71, 71,
+
+ 14, 71, 71, 71, 21, 71, 71, 71, 71, 71,
+ 71, 31, 71, 71, 34, 71, 71, 71, 71, 44,
+ 71, 71, 48, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 0, 71, 71, 71, 71, 8, 71, 10,
+ 13, 0, 16, 71, 71, 0, 0, 0, 71, 71,
+ 25, 27, 28, 71, 71, 71, 33, 37, 40, 71,
+ 71, 71, 71, 71, 71, 50, 0, 56, 61, 71,
+ 71, 59, 65, 0, 71, 3, 71, 0, 71, 0,
+ 14, 71, 71, 0, 0, 21, 71, 71, 29, 71,
+ 32, 0, 71, 71, 71, 71, 71, 71, 71, 55,
+
+ 55, 55, 62, 71, 71, 0, 71, 5, 0, 7,
+ 71, 0, 14, 0, 19, 0, 0, 0, 71, 71,
+ 71, 0, 71, 71, 71, 45, 71, 58, 49, 0,
+ 55, 55, 71, 60, 0, 71, 0, 6, 71, 12,
+ 0, 18, 0, 22, 71, 71, 0, 0, 71, 71,
+ 71, 0, 0, 0, 0, 55, 55, 0, 0, 15,
+ 9, 0, 17, 20, 23, 71, 30, 0, 71, 42,
+ 43, 0, 47, 0, 0, 0, 55, 55, 0, 64,
+ 15, 71, 30, 0, 41, 0, 46, 0, 0, 0,
+ 0, 55, 0, 63, 24, 39, 54, 53, 54, 0,
+
+ 0, 0, 0, 55, 53, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 54, 53,
+ 53, 54, 0, 52, 53, 53, 0, 53, 0, 53,
+ 0, 0, 0, 0, 51, 0
} ;
static const YY_CHAR yy_ec[256] =
@@ -427,7 +450,7 @@ static const YY_CHAR yy_ec[256] =
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 2, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1
@@ -443,169 +466,186 @@ static const YY_CHAR yy_meta[60] =
5, 5, 5, 5, 5, 5, 5, 5, 5
} ;
-static const flex_int16_t yy_base[314] =
+static const flex_int16_t yy_base[355] =
{ 0,
- 0, 58, 595, 664, 59, 664, 664, 588, 0, 664,
- 584, 55, 54, 664, 579, 49, 51, 49, 45, 55,
- 0, 56, 65, 51, 91, 89, 106, 91, 68, 109,
- 103, 140, 162, 73, 166, 664, 583, 664, 0, 664,
- 577, 79, 664, 664, 664, 0, 105, 109, 109, 133,
- 128, 122, 142, 156, 152, 149, 584, 0, 153, 160,
- 154, 171, 158, 175, 156, 163, 0, 0, 178, 0,
- 186, 183, 173, 181, 182, 186, 204, 197, 201, 0,
- 204, 197, 200, 237, 209, 214, 0, 573, 216, 0,
- 210, 216, 217, 223, 217, 580, 222, 240, 259, 231,
-
- 239, 238, 246, 240, 246, 0, 248, 242, 0, 248,
- 239, 244, 254, 0, 266, 0, 265, 264, 271, 297,
- 275, 279, 283, 290, 293, 281, 285, 286, 0, 296,
- 0, 578, 575, 0, 303, 290, 293, 294, 311, 293,
- 0, 0, 0, 300, 302, 312, 0, 0, 334, 310,
- 321, 326, 316, 320, 0, 351, 0, 0, 337, 335,
- 0, 328, 333, 0, 343, 340, 356, 0, 341, 352,
- 341, 574, 343, 341, 0, 356, 0, 365, 364, 349,
- 358, 358, 375, 365, 546, 399, 394, 0, 379, 379,
- 378, 0, 383, 384, 0, 0, 386, 387, 412, 400,
-
- 401, 526, 392, 406, 392, 394, 0, 0, 0, 433,
- 431, 434, 0, 410, 406, 415, 664, 433, 664, 434,
- 437, 455, 440, 438, 428, 427, 452, 448, 447, 468,
- 470, 435, 0, 0, 664, 0, 442, 0, 454, 464,
- 0, 0, 458, 439, 467, 421, 495, 664, 465, 0,
- 482, 0, 483, 418, 485, 502, 503, 0, 664, 664,
- 0, 664, 263, 496, 504, 514, 191, 0, 518, 515,
- 186, 505, 540, 482, 495, 533, 539, 556, 507, 180,
- 173, 142, 495, 520, 140, 120, 110, 98, 83, 80,
- 560, 557, 563, 523, 535, 76, 72, 69, 664, 607,
-
- 609, 612, 615, 620, 625, 627, 632, 635, 640, 645,
- 647, 652, 657
+ 0, 58, 661, 743, 59, 743, 743, 655, 0, 743,
+ 651, 55, 54, 743, 645, 49, 51, 57, 46, 50,
+ 48, 56, 0, 85, 59, 95, 73, 98, 106, 68,
+ 124, 138, 98, 165, 148, 85, 743, 651, 743, 0,
+ 743, 645, 122, 743, 743, 743, 0, 120, 73, 93,
+ 124, 143, 146, 139, 146, 146, 157, 164, 162, 652,
+ 0, 160, 167, 166, 177, 166, 183, 163, 171, 0,
+ 0, 186, 0, 191, 192, 176, 190, 193, 192, 197,
+ 197, 203, 213, 0, 214, 212, 211, 249, 219, 231,
+ 0, 643, 230, 0, 217, 223, 229, 228, 236, 246,
+
+ 650, 239, 249, 250, 267, 243, 257, 253, 258, 250,
+ 259, 0, 265, 252, 0, 264, 258, 262, 275, 0,
+ 287, 286, 0, 287, 283, 291, 314, 293, 296, 305,
+ 302, 307, 309, 296, 299, 301, 648, 0, 317, 0,
+ 647, 646, 0, 317, 322, 310, 314, 317, 323, 316,
+ 0, 0, 0, 325, 327, 338, 0, 0, 355, 337,
+ 347, 352, 343, 341, 342, 0, 374, 0, 0, 360,
+ 347, 357, 0, 350, 355, 0, 366, 404, 364, 385,
+ 0, 645, 364, 377, 372, 644, 375, 382, 0, 375,
+ 0, 411, 401, 392, 391, 394, 395, 409, 399, 643,
+
+ 426, 430, 0, 399, 408, 409, 408, 0, 639, 633,
+ 412, 420, 0, 445, 0, 419, 417, 451, 442, 447,
+ 640, 417, 450, 440, 442, 0, 639, 0, 0, 474,
+ 469, 472, 635, 0, 446, 441, 631, 743, 449, 743,
+ 630, 623, 462, 743, 465, 468, 630, 472, 469, 463,
+ 467, 504, 474, 494, 495, 490, 516, 525, 483, 0,
+ 0, 624, 743, 743, 0, 492, 0, 500, 505, 0,
+ 0, 623, 611, 502, 617, 509, 598, 536, 568, 559,
+ 743, 506, 0, 521, 0, 527, 743, 522, 479, 525,
+ 543, 547, 473, 743, 0, 743, 743, 0, 743, 416,
+
+ 548, 549, 559, 383, 0, 563, 556, 368, 564, 577,
+ 546, 528, 573, 580, 578, 534, 235, 199, 169, 557,
+ 579, 158, 144, 127, 119, 116, 586, 601, 612, 614,
+ 591, 582, 80, 77, 70, 743, 662, 664, 667, 670,
+ 675, 680, 682, 688, 694, 699, 702, 708, 714, 719,
+ 724, 726, 731, 736
} ;
-static const flex_int16_t yy_def[314] =
+static const flex_int16_t yy_def[355] =
{ 0,
- 299, 1, 299, 299, 299, 299, 299, 300, 301, 299,
- 299, 299, 299, 299, 299, 302, 302, 302, 302, 302,
- 302, 302, 302, 302, 302, 302, 302, 302, 302, 302,
- 302, 302, 299, 302, 299, 299, 300, 299, 303, 299,
- 299, 299, 299, 299, 299, 302, 302, 302, 302, 302,
- 302, 302, 302, 302, 302, 302, 302, 302, 302, 302,
- 302, 302, 302, 302, 302, 302, 302, 302, 302, 302,
- 302, 302, 302, 302, 302, 302, 302, 302, 302, 302,
- 302, 302, 302, 299, 299, 302, 303, 299, 302, 302,
- 302, 302, 302, 302, 302, 302, 302, 302, 299, 302,
-
- 302, 302, 302, 302, 302, 302, 302, 302, 302, 302,
- 302, 302, 302, 302, 302, 302, 302, 302, 302, 302,
- 302, 302, 302, 302, 299, 302, 302, 302, 302, 302,
- 302, 302, 304, 302, 302, 299, 299, 299, 302, 302,
- 302, 302, 302, 302, 302, 302, 302, 302, 302, 302,
- 302, 302, 302, 302, 302, 305, 302, 302, 302, 302,
- 302, 299, 302, 302, 302, 302, 299, 306, 302, 299,
- 299, 299, 302, 302, 302, 302, 302, 299, 302, 302,
- 302, 302, 302, 302, 305, 305, 305, 302, 302, 299,
- 302, 302, 302, 299, 306, 302, 299, 299, 299, 302,
-
- 302, 302, 299, 302, 302, 302, 302, 302, 302, 299,
- 305, 305, 302, 299, 302, 302, 299, 299, 299, 302,
- 302, 307, 299, 302, 302, 302, 299, 299, 299, 305,
- 305, 299, 302, 302, 299, 302, 302, 308, 299, 302,
- 302, 302, 299, 299, 299, 305, 305, 299, 302, 308,
- 299, 302, 299, 309, 299, 310, 305, 302, 299, 299,
- 311, 299, 310, 310, 310, 310, 305, 311, 299, 310,
- 310, 310, 299, 299, 299, 310, 309, 310, 299, 299,
- 299, 310, 311, 311, 310, 299, 299, 311, 311, 312,
- 313, 299, 313, 299, 299, 299, 299, 299, 0, 299,
-
- 299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
- 299, 299, 299
+ 336, 1, 336, 336, 336, 336, 336, 337, 338, 336,
+ 336, 336, 336, 336, 336, 339, 339, 339, 339, 339,
+ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339,
+ 339, 339, 339, 336, 339, 336, 336, 337, 336, 340,
+ 336, 336, 336, 336, 336, 336, 339, 339, 339, 339,
+ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339,
+ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339,
+ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339,
+ 339, 339, 339, 339, 339, 339, 339, 336, 336, 339,
+ 340, 336, 339, 339, 339, 339, 339, 339, 339, 339,
+
+ 339, 339, 339, 339, 336, 339, 339, 339, 339, 339,
+ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339,
+ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339,
+ 339, 339, 336, 339, 339, 339, 339, 339, 339, 339,
+ 339, 341, 339, 339, 339, 336, 336, 336, 339, 339,
+ 339, 339, 339, 339, 339, 339, 339, 339, 339, 339,
+ 339, 339, 339, 339, 339, 339, 342, 339, 339, 339,
+ 339, 339, 339, 336, 339, 339, 339, 336, 339, 336,
+ 343, 339, 339, 336, 336, 336, 339, 339, 339, 339,
+ 339, 336, 339, 339, 339, 339, 339, 339, 339, 342,
+
+ 342, 342, 339, 339, 339, 336, 339, 339, 344, 336,
+ 339, 336, 343, 336, 339, 336, 336, 336, 339, 339,
+ 339, 336, 339, 339, 339, 339, 339, 339, 339, 336,
+ 342, 342, 339, 339, 336, 339, 344, 336, 339, 336,
+ 345, 336, 336, 336, 339, 339, 346, 336, 339, 339,
+ 339, 336, 336, 336, 336, 342, 342, 336, 336, 339,
+ 339, 345, 336, 336, 339, 339, 347, 336, 339, 339,
+ 339, 348, 336, 336, 336, 336, 342, 342, 349, 336,
+ 336, 339, 347, 336, 339, 348, 336, 336, 350, 336,
+ 351, 342, 349, 336, 339, 336, 336, 352, 336, 351,
+
+ 351, 351, 351, 342, 352, 336, 351, 351, 351, 336,
+ 336, 336, 351, 350, 351, 336, 336, 336, 351, 352,
+ 352, 351, 336, 336, 352, 352, 353, 354, 336, 354,
+ 336, 336, 336, 336, 336, 0, 336, 336, 336, 336,
+ 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
+ 336, 336, 336, 336
} ;
-static const flex_int16_t yy_nxt[724] =
+static const flex_int16_t yy_nxt[803] =
{ 0,
4, 5, 6, 7, 8, 9, 10, 11, 4, 12,
13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 21, 23, 21, 24, 25, 26, 27, 28, 29, 30,
- 31, 21, 21, 32, 21, 21, 21, 16, 17, 18,
- 19, 20, 21, 22, 21, 23, 24, 25, 26, 27,
- 28, 29, 30, 31, 21, 21, 32, 21, 21, 33,
- 35, 36, 36, 41, 42, 43, 44, 47, 49, 50,
- 298, 52, 61, 298, 48, 51, 34, 298, 53, 56,
- 54, 290, 57, 58, 287, 74, 86, 41, 42, 55,
- 59, 47, 49, 50, 52, 60, 61, 48, 51, 287,
-
- 34, 53, 56, 54, 62, 57, 65, 58, 63, 74,
- 86, 287, 55, 59, 71, 66, 261, 64, 60, 72,
- 78, 290, 73, 79, 67, 90, 75, 91, 62, 80,
- 65, 68, 63, 69, 70, 89, 76, 71, 66, 77,
- 64, 269, 72, 269, 78, 73, 92, 79, 67, 90,
- 75, 91, 80, 93, 68, 94, 69, 70, 89, 76,
- 81, 82, 77, 84, 36, 36, 83, 35, 36, 36,
- 92, 95, 96, 97, 287, 98, 93, 102, 94, 103,
- 85, 287, 100, 101, 81, 82, 104, 277, 105, 83,
- 108, 106, 273, 109, 95, 110, 96, 97, 98, 111,
-
- 112, 102, 103, 114, 85, 100, 101, 107, 115, 113,
- 104, 105, 116, 108, 117, 106, 109, 118, 120, 110,
- 119, 121, 125, 111, 112, 122, 114, 123, 124, 126,
- 107, 115, 113, 127, 132, 116, 128, 117, 84, 36,
- 36, 118, 120, 119, 129, 121, 125, 130, 131, 122,
- 123, 124, 134, 126, 135, 85, 140, 127, 132, 128,
- 99, 139, 142, 143, 269, 141, 145, 129, 144, 146,
- 130, 131, 147, 148, 149, 134, 150, 136, 135, 85,
- 140, 151, 137, 152, 139, 142, 153, 143, 141, 138,
- 145, 144, 154, 146, 155, 147, 148, 149, 156, 150,
-
- 158, 136, 159, 160, 151, 137, 161, 152, 162, 166,
- 153, 163, 138, 164, 165, 154, 169, 155, 170, 171,
- 172, 174, 157, 158, 173, 159, 175, 160, 176, 177,
- 161, 180, 162, 166, 163, 178, 164, 165, 181, 182,
- 169, 170, 171, 172, 174, 157, 183, 179, 173, 175,
- 184, 176, 156, 177, 188, 180, 189, 167, 190, 191,
- 192, 193, 181, 182, 196, 197, 178, 198, 200, 183,
- 201, 179, 202, 184, 186, 205, 187, 194, 188, 204,
- 189, 190, 191, 203, 192, 193, 206, 196, 207, 197,
- 198, 200, 208, 201, 209, 210, 202, 186, 205, 187,
-
- 210, 194, 217, 204, 213, 214, 215, 203, 216, 206,
- 218, 207, 211, 199, 219, 220, 208, 209, 221, 254,
- 223, 224, 256, 225, 226, 212, 217, 213, 214, 215,
- 136, 216, 210, 218, 210, 210, 211, 219, 232, 220,
- 254, 233, 221, 223, 234, 224, 225, 226, 212, 227,
- 235, 236, 237, 239, 136, 240, 222, 241, 231, 228,
- 230, 232, 242, 229, 233, 243, 244, 234, 245, 210,
- 248, 210, 249, 227, 235, 236, 237, 239, 251, 240,
- 241, 231, 228, 230, 247, 242, 229, 252, 253, 243,
- 244, 255, 245, 248, 258, 249, 210, 269, 246, 259,
-
- 260, 251, 262, 256, 210, 269, 269, 280, 247, 270,
- 252, 253, 257, 281, 255, 269, 269, 258, 264, 269,
- 288, 246, 271, 259, 260, 286, 262, 222, 265, 278,
- 280, 267, 266, 270, 269, 272, 257, 281, 289, 274,
- 277, 273, 264, 288, 275, 276, 271, 210, 296, 286,
- 282, 265, 278, 297, 267, 266, 227, 269, 292, 272,
- 283, 292, 289, 274, 292, 284, 279, 275, 276, 268,
- 229, 296, 268, 285, 282, 199, 133, 297, 294, 167,
- 227, 133, 88, 295, 283, 99, 88, 38, 284, 279,
- 45, 40, 38, 229, 299, 299, 268, 285, 299, 268,
-
- 299, 299, 294, 299, 299, 299, 295, 37, 37, 299,
- 37, 37, 37, 39, 39, 46, 46, 46, 87, 87,
- 87, 168, 299, 299, 168, 168, 185, 299, 299, 185,
- 195, 195, 195, 238, 299, 299, 238, 238, 250, 250,
- 250, 261, 299, 299, 261, 261, 263, 299, 299, 263,
- 268, 268, 268, 291, 299, 299, 291, 291, 293, 299,
- 293, 293, 293, 3, 299, 299, 299, 299, 299, 299,
- 299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
- 299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
- 299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
-
- 299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
- 299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
- 299, 299, 299
+ 23, 24, 23, 25, 26, 27, 28, 29, 30, 31,
+ 32, 23, 23, 33, 23, 23, 23, 16, 17, 18,
+ 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ 29, 30, 31, 32, 23, 23, 33, 23, 23, 34,
+ 36, 37, 37, 42, 43, 44, 45, 48, 50, 58,
+ 51, 335, 54, 55, 49, 56, 35, 52, 335, 59,
+ 64, 335, 60, 53, 57, 77, 36, 37, 37, 94,
+ 68, 48, 50, 58, 51, 54, 55, 49, 56, 69,
+
+ 35, 52, 59, 61, 64, 60, 53, 57, 65, 77,
+ 62, 95, 66, 94, 68, 63, 70, 324, 85, 86,
+ 324, 67, 69, 71, 87, 72, 73, 61, 324, 74,
+ 42, 43, 65, 62, 75, 95, 66, 76, 63, 78,
+ 70, 79, 85, 86, 67, 327, 71, 87, 72, 73,
+ 93, 80, 74, 96, 81, 82, 97, 75, 83, 306,
+ 76, 90, 101, 78, 84, 79, 88, 37, 37, 58,
+ 306, 98, 99, 93, 80, 100, 96, 81, 102, 82,
+ 97, 103, 83, 89, 108, 90, 101, 84, 104, 106,
+ 107, 109, 110, 58, 98, 99, 111, 114, 100, 112,
+
+ 324, 115, 102, 116, 117, 103, 120, 89, 108, 118,
+ 125, 104, 106, 107, 109, 113, 110, 121, 119, 111,
+ 114, 122, 123, 112, 115, 124, 126, 116, 117, 120,
+ 127, 128, 133, 118, 125, 129, 324, 130, 113, 132,
+ 121, 119, 131, 136, 122, 123, 134, 135, 124, 126,
+ 88, 37, 37, 137, 127, 128, 133, 138, 139, 129,
+ 130, 140, 132, 141, 145, 131, 136, 89, 105, 143,
+ 134, 135, 144, 149, 150, 153, 137, 152, 154, 155,
+ 138, 139, 157, 151, 140, 146, 156, 141, 145, 158,
+ 147, 89, 143, 159, 160, 144, 149, 148, 150, 153,
+
+ 152, 154, 161, 155, 162, 157, 151, 163, 164, 146,
+ 156, 165, 158, 147, 166, 167, 159, 160, 169, 170,
+ 148, 171, 172, 173, 174, 161, 175, 176, 162, 177,
+ 179, 163, 164, 182, 165, 183, 187, 166, 184, 168,
+ 185, 169, 170, 186, 188, 171, 172, 173, 174, 175,
+ 176, 189, 177, 190, 179, 191, 192, 182, 194, 183,
+ 187, 184, 168, 185, 195, 196, 186, 188, 193, 314,
+ 197, 198, 199, 204, 189, 167, 190, 203, 205, 191,
+ 206, 207, 194, 208, 310, 211, 180, 215, 195, 196,
+ 216, 221, 193, 197, 198, 199, 204, 201, 217, 202,
+
+ 219, 203, 205, 206, 207, 178, 212, 208, 209, 211,
+ 215, 220, 192, 210, 216, 221, 223, 306, 224, 225,
+ 201, 217, 202, 219, 226, 227, 228, 230, 229, 222,
+ 212, 230, 233, 234, 220, 235, 236, 239, 240, 231,
+ 223, 224, 225, 243, 244, 248, 214, 226, 227, 241,
+ 228, 229, 218, 222, 242, 233, 234, 245, 235, 236,
+ 239, 232, 240, 231, 246, 249, 243, 244, 248, 146,
+ 230, 250, 251, 230, 259, 230, 260, 294, 261, 264,
+ 289, 245, 265, 266, 232, 268, 269, 274, 246, 249,
+ 253, 230, 270, 146, 250, 251, 257, 259, 256, 260,
+
+ 254, 261, 271, 264, 255, 252, 265, 266, 272, 268,
+ 269, 274, 275, 273, 253, 270, 276, 230, 281, 257,
+ 277, 256, 282, 254, 284, 271, 258, 255, 285, 279,
+ 278, 287, 288, 290, 280, 295, 275, 230, 296, 297,
+ 276, 281, 299, 277, 291, 282, 318, 284, 230, 306,
+ 306, 285, 323, 292, 278, 288, 290, 306, 295, 301,
+ 306, 307, 296, 297, 306, 306, 299, 308, 280, 302,
+ 318, 317, 294, 303, 306, 304, 323, 292, 310, 306,
+ 309, 314, 325, 301, 311, 307, 313, 327, 315, 312,
+ 319, 308, 302, 253, 317, 322, 303, 326, 304, 291,
+
+ 334, 320, 329, 316, 309, 325, 321, 255, 311, 313,
+ 305, 315, 312, 329, 319, 329, 333, 253, 289, 322,
+ 273, 326, 298, 305, 334, 320, 316, 287, 263, 321,
+ 255, 247, 242, 331, 263, 238, 258, 305, 332, 333,
+ 252, 247, 210, 238, 230, 218, 214, 142, 180, 178,
+ 305, 142, 92, 105, 92, 39, 46, 331, 41, 39,
+ 336, 332, 38, 38, 336, 38, 38, 38, 40, 40,
+ 47, 47, 47, 91, 91, 91, 181, 336, 336, 181,
+ 181, 200, 336, 336, 200, 213, 213, 213, 237, 237,
+ 336, 237, 237, 237, 262, 262, 336, 262, 262, 262,
+
+ 267, 336, 336, 267, 267, 283, 283, 283, 286, 286,
+ 336, 286, 286, 286, 293, 293, 336, 293, 293, 293,
+ 298, 336, 336, 298, 298, 300, 336, 336, 300, 305,
+ 305, 305, 328, 336, 336, 328, 328, 330, 336, 330,
+ 330, 330, 3, 336, 336, 336, 336, 336, 336, 336,
+ 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
+ 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
+ 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
+ 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
+ 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
+
+ 336, 336
} ;
-static const flex_int16_t yy_chk[724] =
+static const flex_int16_t yy_chk[803] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -613,82 +653,99 @@ static const flex_int16_t yy_chk[724] =
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
- 5, 5, 5, 12, 12, 13, 13, 16, 17, 18,
- 298, 19, 24, 297, 16, 18, 2, 296, 20, 22,
- 20, 290, 22, 23, 289, 29, 34, 42, 42, 20,
- 23, 16, 17, 18, 19, 23, 24, 16, 18, 288,
-
- 2, 20, 22, 20, 25, 22, 26, 23, 25, 29,
- 34, 287, 20, 23, 28, 26, 290, 25, 23, 28,
- 31, 286, 28, 31, 27, 48, 30, 49, 25, 31,
- 26, 27, 25, 27, 27, 47, 30, 28, 26, 30,
- 25, 285, 28, 282, 31, 28, 50, 31, 27, 48,
- 30, 49, 31, 51, 27, 52, 27, 27, 47, 30,
- 32, 32, 30, 33, 33, 33, 32, 35, 35, 35,
- 50, 53, 54, 55, 281, 56, 51, 60, 52, 61,
- 33, 280, 59, 59, 32, 32, 62, 271, 63, 32,
- 65, 64, 267, 66, 53, 69, 54, 55, 56, 71,
-
- 72, 60, 61, 73, 33, 59, 59, 64, 74, 72,
- 62, 63, 75, 65, 76, 64, 66, 77, 79, 69,
- 78, 81, 85, 71, 72, 81, 73, 82, 83, 86,
- 64, 74, 72, 89, 95, 75, 91, 76, 84, 84,
- 84, 77, 79, 78, 92, 81, 85, 93, 94, 81,
- 82, 83, 97, 86, 98, 84, 101, 89, 95, 91,
- 99, 100, 102, 103, 263, 101, 105, 92, 104, 107,
- 93, 94, 108, 110, 111, 97, 112, 99, 98, 84,
- 101, 113, 99, 115, 100, 102, 117, 103, 101, 99,
- 105, 104, 118, 107, 119, 108, 110, 111, 120, 112,
-
- 121, 99, 122, 123, 113, 99, 124, 115, 125, 130,
- 117, 126, 99, 127, 128, 118, 135, 119, 136, 137,
- 138, 140, 120, 121, 139, 122, 144, 123, 145, 146,
- 124, 150, 125, 130, 126, 149, 127, 128, 151, 152,
- 135, 136, 137, 138, 140, 120, 153, 149, 139, 144,
- 154, 145, 156, 146, 159, 150, 160, 167, 162, 163,
- 165, 166, 151, 152, 169, 170, 178, 171, 173, 153,
- 174, 149, 176, 154, 156, 180, 156, 167, 159, 179,
- 160, 162, 163, 178, 165, 166, 181, 169, 182, 170,
- 171, 173, 183, 174, 184, 187, 176, 156, 180, 156,
-
- 186, 167, 194, 179, 189, 190, 191, 178, 193, 181,
- 197, 182, 186, 199, 198, 200, 183, 184, 201, 254,
- 203, 204, 246, 205, 206, 187, 194, 189, 190, 191,
- 199, 193, 211, 197, 210, 212, 186, 198, 214, 200,
- 244, 215, 201, 203, 216, 204, 205, 206, 187, 210,
- 218, 220, 221, 223, 199, 224, 222, 225, 212, 210,
- 211, 214, 226, 210, 215, 227, 228, 216, 229, 230,
- 232, 231, 237, 210, 218, 220, 221, 223, 239, 224,
- 225, 212, 210, 211, 231, 226, 210, 240, 243, 227,
- 228, 245, 229, 232, 249, 237, 247, 264, 230, 251,
-
- 253, 239, 255, 256, 257, 265, 272, 274, 231, 264,
- 240, 243, 247, 275, 245, 266, 270, 249, 256, 269,
- 283, 230, 265, 251, 253, 279, 255, 202, 256, 272,
- 274, 257, 256, 264, 276, 266, 247, 275, 284, 269,
- 277, 273, 256, 283, 269, 270, 265, 185, 294, 279,
- 276, 256, 272, 295, 257, 256, 273, 278, 292, 266,
- 277, 291, 284, 269, 293, 277, 273, 269, 270, 291,
- 273, 294, 293, 278, 276, 172, 133, 295, 292, 132,
- 273, 96, 88, 292, 277, 57, 41, 37, 277, 273,
- 15, 11, 8, 273, 3, 0, 291, 278, 0, 293,
-
- 0, 0, 292, 0, 0, 0, 292, 300, 300, 0,
- 300, 300, 300, 301, 301, 302, 302, 302, 303, 303,
- 303, 304, 0, 0, 304, 304, 305, 0, 0, 305,
- 306, 306, 306, 307, 0, 0, 307, 307, 308, 308,
- 308, 309, 0, 0, 309, 309, 310, 0, 0, 310,
- 311, 311, 311, 312, 0, 0, 312, 312, 313, 0,
- 313, 313, 313, 299, 299, 299, 299, 299, 299, 299,
- 299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
- 299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
- 299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
-
- 299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
- 299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
- 299, 299, 299
+ 5, 5, 5, 12, 12, 13, 13, 16, 17, 21,
+ 18, 335, 19, 20, 16, 20, 2, 18, 334, 22,
+ 25, 333, 22, 18, 20, 30, 36, 36, 36, 49,
+ 27, 16, 17, 21, 18, 19, 20, 16, 20, 27,
+
+ 2, 18, 22, 24, 25, 22, 18, 20, 26, 30,
+ 24, 50, 26, 49, 27, 24, 28, 326, 33, 33,
+ 325, 26, 27, 28, 33, 28, 28, 24, 324, 29,
+ 43, 43, 26, 24, 29, 50, 26, 29, 24, 31,
+ 28, 31, 33, 33, 26, 323, 28, 33, 28, 28,
+ 48, 31, 29, 51, 31, 32, 52, 29, 32, 322,
+ 29, 35, 56, 31, 32, 31, 34, 34, 34, 35,
+ 319, 53, 54, 48, 31, 55, 51, 31, 57, 32,
+ 52, 58, 32, 34, 63, 35, 56, 32, 59, 62,
+ 62, 64, 65, 35, 53, 54, 66, 68, 55, 67,
+
+ 318, 69, 57, 72, 74, 58, 76, 34, 63, 75,
+ 81, 59, 62, 62, 64, 67, 65, 77, 75, 66,
+ 68, 78, 79, 67, 69, 80, 82, 72, 74, 76,
+ 83, 85, 89, 75, 81, 85, 317, 86, 67, 87,
+ 77, 75, 86, 95, 78, 79, 90, 93, 80, 82,
+ 88, 88, 88, 96, 83, 85, 89, 97, 98, 85,
+ 86, 99, 87, 100, 104, 86, 95, 88, 105, 102,
+ 90, 93, 103, 106, 107, 109, 96, 108, 110, 111,
+ 97, 98, 114, 107, 99, 105, 113, 100, 104, 116,
+ 105, 88, 102, 117, 118, 103, 106, 105, 107, 109,
+
+ 108, 110, 119, 111, 121, 114, 107, 122, 124, 105,
+ 113, 125, 116, 105, 126, 127, 117, 118, 128, 129,
+ 105, 130, 131, 132, 133, 119, 134, 135, 121, 136,
+ 139, 122, 124, 144, 125, 145, 149, 126, 146, 127,
+ 147, 128, 129, 148, 150, 130, 131, 132, 133, 134,
+ 135, 154, 136, 155, 139, 156, 159, 144, 160, 145,
+ 149, 146, 127, 147, 161, 162, 148, 150, 159, 308,
+ 163, 164, 165, 171, 154, 167, 155, 170, 172, 156,
+ 174, 175, 160, 177, 304, 179, 180, 183, 161, 162,
+ 184, 190, 159, 163, 164, 165, 171, 167, 185, 167,
+
+ 187, 170, 172, 174, 175, 178, 180, 177, 178, 179,
+ 183, 188, 192, 178, 184, 190, 193, 300, 194, 195,
+ 167, 185, 167, 187, 196, 197, 198, 201, 199, 192,
+ 180, 202, 204, 205, 188, 206, 207, 211, 212, 201,
+ 193, 194, 195, 216, 217, 222, 214, 196, 197, 214,
+ 198, 199, 218, 192, 214, 204, 205, 219, 206, 207,
+ 211, 202, 212, 201, 220, 223, 216, 217, 222, 218,
+ 231, 224, 225, 232, 235, 230, 236, 293, 239, 243,
+ 289, 219, 245, 246, 202, 248, 249, 253, 220, 223,
+ 230, 256, 250, 218, 224, 225, 232, 235, 231, 236,
+
+ 230, 239, 251, 243, 230, 252, 245, 246, 252, 248,
+ 249, 253, 254, 252, 230, 250, 255, 257, 259, 232,
+ 256, 231, 266, 230, 268, 251, 258, 230, 269, 258,
+ 257, 286, 274, 276, 258, 282, 254, 278, 284, 288,
+ 255, 259, 290, 256, 291, 266, 312, 268, 292, 301,
+ 302, 269, 316, 278, 257, 274, 276, 307, 282, 291,
+ 303, 301, 284, 288, 306, 309, 290, 302, 280, 291,
+ 312, 311, 279, 291, 313, 292, 316, 278, 310, 315,
+ 303, 314, 320, 291, 306, 301, 307, 327, 309, 306,
+ 313, 302, 291, 310, 311, 315, 291, 321, 292, 277,
+
+ 332, 314, 328, 310, 303, 320, 314, 310, 306, 307,
+ 328, 309, 306, 329, 313, 330, 331, 310, 275, 315,
+ 273, 321, 327, 330, 332, 314, 310, 272, 262, 314,
+ 310, 247, 242, 329, 241, 237, 233, 328, 329, 331,
+ 227, 221, 210, 209, 200, 186, 182, 142, 141, 137,
+ 330, 101, 92, 60, 42, 38, 15, 329, 11, 8,
+ 3, 329, 337, 337, 0, 337, 337, 337, 338, 338,
+ 339, 339, 339, 340, 340, 340, 341, 0, 0, 341,
+ 341, 342, 0, 0, 342, 343, 343, 343, 344, 344,
+ 0, 344, 344, 344, 345, 345, 0, 345, 345, 345,
+
+ 346, 0, 0, 346, 346, 347, 347, 347, 348, 348,
+ 0, 348, 348, 348, 349, 349, 0, 349, 349, 349,
+ 350, 0, 0, 350, 350, 351, 0, 0, 351, 352,
+ 352, 352, 353, 0, 0, 353, 353, 354, 0, 354,
+ 354, 354, 336, 336, 336, 336, 336, 336, 336, 336,
+ 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
+ 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
+ 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
+ 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
+ 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
+
+ 336, 336
} ;
+/* Table of booleans, true if rule could match eol. */
+static const flex_int32_t yy_rule_can_match_eol[79] =
+ { 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, };
+
static yy_state_type yy_last_accepting_state;
static char *yy_last_accepting_cpos;
@@ -702,7 +759,12 @@ int yy_flex_debug = 0;
#define yymore() yymore_used_but_not_detected
#define YY_MORE_ADJ 0
#define YY_RESTORE_YY_MORE_OFFSET
-char *yytext;
+#ifndef YYLMAX
+#define YYLMAX 8192
+#endif
+
+char yytext[YYLMAX];
+char *yytext_ptr;
#line 1 "engines/director/lingo/lingo-lex.l"
/* ScummVM - Graphic Adventure Engine
*
@@ -796,8 +858,8 @@ static int varCheck(int token, const char *name) {
return token;
}
-#line 799 "engines/director/lingo/lingo-lex.cpp"
-#line 800 "engines/director/lingo/lingo-lex.cpp"
+#line 861 "engines/director/lingo/lingo-lex.cpp"
+#line 862 "engines/director/lingo/lingo-lex.cpp"
#define INITIAL 0
@@ -1020,7 +1082,7 @@ YY_DECL
#line 110 "engines/director/lingo/lingo-lex.l"
-#line 1023 "engines/director/lingo/lingo-lex.cpp"
+#line 1085 "engines/director/lingo/lingo-lex.cpp"
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
{
@@ -1048,13 +1110,13 @@ yy_match:
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 300 )
+ if ( yy_current_state >= 337 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
++yy_cp;
}
- while ( yy_current_state != 299 );
+ while ( yy_current_state != 336 );
yy_cp = (yy_last_accepting_cpos);
yy_current_state = (yy_last_accepting_state);
@@ -1063,6 +1125,16 @@ yy_find_action:
YY_DO_BEFORE_ACTION;
+ if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
+ {
+ int yyl;
+ for ( yyl = 0; yyl < yyleng; ++yyl )
+ if ( yytext[yyl] == '\n' )
+
+ yylineno++;
+;
+ }
+
do_action: /* This label is used only to access EOF actions. */
switch ( yy_act )
@@ -1102,36 +1174,66 @@ YY_RULE_SETUP
case 6:
YY_RULE_SETUP
#line 119 "engines/director/lingo/lingo-lex.l"
-{ count(); return varCheck(tCHAR, "char"); } // D3
+{
+ count();
+
+ const char *ptr = &yytext[5]; // Skip 'cast '
+ while (*ptr == ' ' || *ptr == '\t' || *ptr == '\xC2')
+ ptr++;
+
+ yylval.s = cleanupString(ptr + 1);
+ yylval.s->deleteLastChar();
+ return CAST;
+ }
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 120 "engines/director/lingo/lingo-lex.l"
-{ count(); return varCheck(tCONTAINS, "contains"); }
+#line 130 "engines/director/lingo/lingo-lex.l"
+{
+ count();
+
+ const char *ptr = &yytext[5]; // Skip 'cast '
+ while (*ptr == ' ' || *ptr == '\t' || *ptr == '\xC2')
+ ptr++;
+
+ yylval.s = NULL;
+ yylval.i = strtol(yytext, NULL, 10);
+ return CAST;
+ }
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 121 "engines/director/lingo/lingo-lex.l"
-{ count(); return varCheck(tDOWN, "down"); }
+#line 141 "engines/director/lingo/lingo-lex.l"
+{ count(); return varCheck(tCHAR, "char"); } // D3
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 122 "engines/director/lingo/lingo-lex.l"
-{ count(); return tIF; }
+#line 142 "engines/director/lingo/lingo-lex.l"
+{ count(); return varCheck(tCONTAINS, "contains"); }
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 123 "engines/director/lingo/lingo-lex.l"
-{ count(); return tELSIF; }
+#line 143 "engines/director/lingo/lingo-lex.l"
+{ count(); return varCheck(tDOWN, "down"); }
YY_BREAK
case 11:
YY_RULE_SETUP
-#line 124 "engines/director/lingo/lingo-lex.l"
-{ count(); return tELSE; }
+#line 144 "engines/director/lingo/lingo-lex.l"
+{ count(); return tIF; }
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 125 "engines/director/lingo/lingo-lex.l"
+#line 145 "engines/director/lingo/lingo-lex.l"
+{ count(); return tELSIF; }
+ YY_BREAK
+case 13:
+YY_RULE_SETUP
+#line 146 "engines/director/lingo/lingo-lex.l"
+{ count(); return tELSE; }
+ YY_BREAK
+case 14:
+YY_RULE_SETUP
+#line 147 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1156,74 +1258,104 @@ YY_RULE_SETUP
return ENDCLAUSE;
}
YY_BREAK
-case 13:
+case 15:
YY_RULE_SETUP
-#line 148 "engines/director/lingo/lingo-lex.l"
+#line 170 "engines/director/lingo/lingo-lex.l"
{ count(); return tFACTORY; }
YY_BREAK
-case 14:
+case 16:
YY_RULE_SETUP
-#line 149 "engines/director/lingo/lingo-lex.l"
+#line 171 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tEXIT, "exit"); }
YY_BREAK
-case 15:
+case 17:
YY_RULE_SETUP
-#line 150 "engines/director/lingo/lingo-lex.l"
+#line 172 "engines/director/lingo/lingo-lex.l"
+{
+ count();
+
+ const char *ptr = &yytext[6]; // Skip 'field '
+ while (*ptr == ' ' || *ptr == '\t' || *ptr == '\xC2')
+ ptr++;
+
+ yylval.s = cleanupString(ptr + 1);
+ yylval.s->deleteLastChar();
+ return FIELD;
+ }
+ YY_BREAK
+case 18:
+YY_RULE_SETUP
+#line 183 "engines/director/lingo/lingo-lex.l"
+{
+ count();
+
+ const char *ptr = &yytext[6]; // Skip 'field '
+ while (*ptr == ' ' || *ptr == '\t' || *ptr == '\xC2')
+ ptr++;
+
+ yylval.s = NULL;
+ yylval.i = strtol(yytext, NULL, 10);
+ return FIELD;
+ }
+ YY_BREAK
+case 19:
+YY_RULE_SETUP
+#line 194 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tGLOBAL, "global"); }
YY_BREAK
-case 16:
+case 20:
YY_RULE_SETUP
-#line 151 "engines/director/lingo/lingo-lex.l"
+#line 195 "engines/director/lingo/lingo-lex.l"
{ count(); return tGO; }
YY_BREAK
-case 17:
+case 21:
YY_RULE_SETUP
-#line 152 "engines/director/lingo/lingo-lex.l"
+#line 196 "engines/director/lingo/lingo-lex.l"
{ count(); return tGO; }
YY_BREAK
-case 18:
+case 22:
YY_RULE_SETUP
-#line 153 "engines/director/lingo/lingo-lex.l"
+#line 197 "engines/director/lingo/lingo-lex.l"
{ count(); return tGOLOOP; }
YY_BREAK
-case 19:
+case 23:
YY_RULE_SETUP
-#line 154 "engines/director/lingo/lingo-lex.l"
+#line 198 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tINSTANCE, "instance"); }
YY_BREAK
-case 20:
+case 24:
YY_RULE_SETUP
-#line 155 "engines/director/lingo/lingo-lex.l"
+#line 199 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tINTERSECTS, "intersects"); }
YY_BREAK
-case 21:
+case 25:
YY_RULE_SETUP
-#line 156 "engines/director/lingo/lingo-lex.l"
+#line 200 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tINTO, "into"); }
YY_BREAK
-case 22:
+case 26:
YY_RULE_SETUP
-#line 157 "engines/director/lingo/lingo-lex.l"
+#line 201 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tIN, "in"); }
YY_BREAK
-case 23:
+case 27:
YY_RULE_SETUP
-#line 158 "engines/director/lingo/lingo-lex.l"
+#line 202 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tITEM, "item"); }
YY_BREAK
-case 24:
+case 28:
YY_RULE_SETUP
-#line 159 "engines/director/lingo/lingo-lex.l"
+#line 203 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tLINE, "line"); }
YY_BREAK
-case 25:
+case 29:
YY_RULE_SETUP
-#line 160 "engines/director/lingo/lingo-lex.l"
+#line 204 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tMACRO, "macro"); }
YY_BREAK
-case 26:
+case 30:
YY_RULE_SETUP
-#line 161 "engines/director/lingo/lingo-lex.l"
+#line 205 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1236,99 +1368,129 @@ YY_RULE_SETUP
return tMETHOD;
}
YY_BREAK
-case 27:
+case 31:
YY_RULE_SETUP
-#line 172 "engines/director/lingo/lingo-lex.l"
+#line 216 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tMOD, "mod"); }
YY_BREAK
-case 28:
+case 32:
YY_RULE_SETUP
-#line 173 "engines/director/lingo/lingo-lex.l"
+#line 217 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tMOVIE, "movie"); }
YY_BREAK
-case 29:
+case 33:
YY_RULE_SETUP
-#line 174 "engines/director/lingo/lingo-lex.l"
+#line 218 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tNEXT, "next"); }
YY_BREAK
-case 30:
+case 34:
YY_RULE_SETUP
-#line 175 "engines/director/lingo/lingo-lex.l"
+#line 219 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tNOT, "not"); }
YY_BREAK
-case 31:
+case 35:
YY_RULE_SETUP
-#line 176 "engines/director/lingo/lingo-lex.l"
+#line 220 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tOF, "of"); }
YY_BREAK
-case 32:
+case 36:
YY_RULE_SETUP
-#line 177 "engines/director/lingo/lingo-lex.l"
+#line 221 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tON, "on"); } // D3
YY_BREAK
-case 33:
+case 37:
YY_RULE_SETUP
-#line 178 "engines/director/lingo/lingo-lex.l"
+#line 222 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tOPEN, "open"); }
YY_BREAK
-case 34:
+case 38:
YY_RULE_SETUP
-#line 179 "engines/director/lingo/lingo-lex.l"
+#line 223 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tOR, "or"); }
YY_BREAK
-case 35:
+case 39:
YY_RULE_SETUP
-#line 180 "engines/director/lingo/lingo-lex.l"
+#line 224 "engines/director/lingo/lingo-lex.l"
{ count(); return tPLAY; }
YY_BREAK
-case 36:
+case 40:
YY_RULE_SETUP
-#line 181 "engines/director/lingo/lingo-lex.l"
+#line 225 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tPLAY, "play"); }
YY_BREAK
-case 37:
+case 41:
YY_RULE_SETUP
-#line 182 "engines/director/lingo/lingo-lex.l"
+#line 226 "engines/director/lingo/lingo-lex.l"
{ count(); yylval.s = new Common::String(yytext); return tPLAYACCEL; }
YY_BREAK
-case 38:
+case 42:
YY_RULE_SETUP
-#line 183 "engines/director/lingo/lingo-lex.l"
+#line 227 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tPREVIOUS, "previous"); }
YY_BREAK
-case 39:
+case 43:
YY_RULE_SETUP
-#line 184 "engines/director/lingo/lingo-lex.l"
+#line 228 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tPROPERTY, "property"); } // D4
YY_BREAK
-case 40:
+case 44:
YY_RULE_SETUP
-#line 185 "engines/director/lingo/lingo-lex.l"
+#line 229 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tPUT, "put"); }
YY_BREAK
-case 41:
+case 45:
YY_RULE_SETUP
-#line 186 "engines/director/lingo/lingo-lex.l"
+#line 230 "engines/director/lingo/lingo-lex.l"
{ count(); return checkImmediate(tREPEAT); }
YY_BREAK
-case 42:
+case 46:
+YY_RULE_SETUP
+#line 231 "engines/director/lingo/lingo-lex.l"
+{
+ count();
+
+ const char *ptr = &yytext[7]; // Skip 'script '
+ while (*ptr == ' ' || *ptr == '\t' || *ptr == '\xC2')
+ ptr++;
+
+ yylval.s = cleanupString(ptr + 1);
+ yylval.s->deleteLastChar();
+ return SCRIPT;
+ }
+ YY_BREAK
+case 47:
YY_RULE_SETUP
-#line 187 "engines/director/lingo/lingo-lex.l"
+#line 242 "engines/director/lingo/lingo-lex.l"
+{
+ count();
+
+ const char *ptr = &yytext[7]; // Skip 'script '
+ while (*ptr == ' ' || *ptr == '\t' || *ptr == '\xC2')
+ ptr++;
+
+ yylval.s = NULL;
+ yylval.i = strtol(yytext, NULL, 10);
+ return SCRIPT;
+ }
+ YY_BREAK
+case 48:
+YY_RULE_SETUP
+#line 253 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tSET, "set"); }
YY_BREAK
-case 43:
+case 49:
YY_RULE_SETUP
-#line 188 "engines/director/lingo/lingo-lex.l"
+#line 254 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tSTARTS, "starts"); }
YY_BREAK
-case 44:
+case 50:
YY_RULE_SETUP
-#line 189 "engines/director/lingo/lingo-lex.l"
+#line 255 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tTELL, "tell"); }
YY_BREAK
-case 45:
+case 51:
YY_RULE_SETUP
-#line 190 "engines/director/lingo/lingo-lex.l"
+#line 256 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1357,17 +1519,17 @@ YY_RULE_SETUP
yylval.s = new Common::String(Common::String::format("numberOf%s", field.c_str()));
- if (g_lingo->_builtins.contains(*yylval.s)) {
- return FBLTIN;
+ if (g_lingo->_builtinFuncs.contains(*yylval.s)) {
+ return THEFUNCINOF;
} else {
warning("LEXER: Unhandled chunk expression '%s'", yylval.s->c_str());
return LEXERROR;
}
}
YY_BREAK
-case 46:
+case 52:
YY_RULE_SETUP
-#line 225 "engines/director/lingo/lingo-lex.l"
+#line 291 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1383,17 +1545,17 @@ YY_RULE_SETUP
yylval.s = new Common::String(Common::String::format("last%sOf", field.c_str()));
- if (g_lingo->_builtins.contains(*yylval.s)) {
- return FBLTIN;
+ if (g_lingo->_builtinFuncs.contains(*yylval.s)) {
+ return THEFUNCINOF;
} else {
warning("LEXER: Unhandled chunk expression '%s'", yylval.s->c_str());
return LEXERROR;
}
}
YY_BREAK
-case 47:
+case 53:
YY_RULE_SETUP
-#line 247 "engines/director/lingo/lingo-lex.l"
+#line 313 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1445,9 +1607,8 @@ YY_RULE_SETUP
yylval.objectprop.prop = new Common::String(field);
return THEOBJECTPROP;
- } else if (g_lingo->_builtins.contains(field)) { // Let's hope they don't do it in D4+
- if (g_lingo->_builtins[field].type == FBLTIN &&
- g_lingo->_builtins[field].nargs == 1 && g_lingo->_builtins[field].maxArgs == 1) {
+ } else if (g_lingo->_builtinFuncs.contains(field)) { // Let's hope they don't do it in D4+
+ if (g_lingo->_builtinFuncs[field].nargs == 1 && g_lingo->_builtinFuncs[field].maxArgs == 1) {
yylval.s = new Common::String(field);
Common::String rest(ptr);
@@ -1461,7 +1622,7 @@ YY_RULE_SETUP
unput(' '); unput('f'); unput('o');
- return THEFBLTIN;
+ return THEFUNC;
}
}
}
@@ -1469,9 +1630,9 @@ YY_RULE_SETUP
warning("LEXER: Unhandled the entity '%s', field '%s'", ptr, field.c_str());
}
YY_BREAK
-case 48:
+case 54:
YY_RULE_SETUP
-#line 321 "engines/director/lingo/lingo-lex.l"
+#line 386 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1507,9 +1668,9 @@ YY_RULE_SETUP
return THEENTITY;
}
YY_BREAK
-case 49:
+case 55:
YY_RULE_SETUP
-#line 355 "engines/director/lingo/lingo-lex.l"
+#line 420 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1527,159 +1688,158 @@ YY_RULE_SETUP
return THEENTITY;
}
- if (g_lingo->_builtins.contains(ptr)) {
- if (g_lingo->_builtins[ptr].type == FBLTIN &&
- g_lingo->_builtins[ptr].nargs == 1 && g_lingo->_builtins[ptr].maxArgs == 1) {
+ if (g_lingo->_builtinFuncs.contains(ptr)) {
+ if (g_lingo->_builtinFuncs[ptr].nargs == 1 && g_lingo->_builtinFuncs[ptr].maxArgs == 1) {
yylval.s = new Common::String(ptr);
- return THEFBLTIN;
+ return THEFUNC;
}
}
warning("LEXER: Unhandled the entity '%s'", ptr);
}
YY_BREAK
-case 50:
+case 56:
YY_RULE_SETUP
-#line 382 "engines/director/lingo/lingo-lex.l"
+#line 446 "engines/director/lingo/lingo-lex.l"
{ count(); return tTHEN; }
YY_BREAK
-case 51:
+case 57:
YY_RULE_SETUP
-#line 383 "engines/director/lingo/lingo-lex.l"
+#line 447 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tTO, "to"); }
YY_BREAK
-case 52:
+case 58:
YY_RULE_SETUP
-#line 384 "engines/director/lingo/lingo-lex.l"
+#line 448 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tSPRITE, "sprite"); }
YY_BREAK
-case 53:
+case 59:
YY_RULE_SETUP
-#line 385 "engines/director/lingo/lingo-lex.l"
+#line 449 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tWITH, "with"); }
YY_BREAK
-case 54:
+case 60:
YY_RULE_SETUP
-#line 386 "engines/director/lingo/lingo-lex.l"
+#line 450 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tWITHIN, "within"); }
YY_BREAK
-case 55:
+case 61:
YY_RULE_SETUP
-#line 387 "engines/director/lingo/lingo-lex.l"
+#line 451 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tWHEN, "when"); }
YY_BREAK
-case 56:
+case 62:
YY_RULE_SETUP
-#line 388 "engines/director/lingo/lingo-lex.l"
+#line 452 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tWHILE, "while"); }
YY_BREAK
-case 57:
+case 63:
+YY_RULE_SETUP
+#line 453 "engines/director/lingo/lingo-lex.l"
+{
+ count();
+
+ const char *ptr = &yytext[7]; // Skip 'window '
+ while (*ptr == ' ' || *ptr == '\t' || *ptr == '\xC2')
+ ptr++;
+
+ yylval.s = cleanupString(ptr + 1);
+ yylval.s->deleteLastChar();
+ return WINDOW;
+ }
+ YY_BREAK
+case 64:
YY_RULE_SETUP
-#line 389 "engines/director/lingo/lingo-lex.l"
+#line 464 "engines/director/lingo/lingo-lex.l"
+{
+ count();
+
+ const char *ptr = &yytext[7]; // Skip 'window '
+ while (*ptr == ' ' || *ptr == '\t' || *ptr == '\xC2')
+ ptr++;
+
+ yylval.s = NULL;
+ yylval.i = strtol(yytext, NULL, 10);
+ return WINDOW;
+ }
+ YY_BREAK
+case 65:
+YY_RULE_SETUP
+#line 475 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tWORD, "word"); }
YY_BREAK
-case 58:
+case 66:
YY_RULE_SETUP
-#line 391 "engines/director/lingo/lingo-lex.l"
+#line 477 "engines/director/lingo/lingo-lex.l"
{ count(); return tNEQ; }
YY_BREAK
-case 59:
+case 67:
YY_RULE_SETUP
-#line 392 "engines/director/lingo/lingo-lex.l"
+#line 478 "engines/director/lingo/lingo-lex.l"
{ count(); return tGE; }
YY_BREAK
-case 60:
+case 68:
YY_RULE_SETUP
-#line 393 "engines/director/lingo/lingo-lex.l"
+#line 479 "engines/director/lingo/lingo-lex.l"
{ count(); return tLE; }
YY_BREAK
-case 61:
+case 69:
YY_RULE_SETUP
-#line 394 "engines/director/lingo/lingo-lex.l"
+#line 480 "engines/director/lingo/lingo-lex.l"
{ count(); return tCONCAT; }
YY_BREAK
-case 62:
+case 70:
YY_RULE_SETUP
-#line 395 "engines/director/lingo/lingo-lex.l"
+#line 481 "engines/director/lingo/lingo-lex.l"
{ count(); return tEQ; }
YY_BREAK
-case 63:
+case 71:
YY_RULE_SETUP
-#line 397 "engines/director/lingo/lingo-lex.l"
+#line 483 "engines/director/lingo/lingo-lex.l"
{
count();
yylval.s = new Common::String(yytext);
- // When we are defining arguments, allow any string
- if (g_lingo->_indef == kStateInArgs)
- return ID;
-
- // Check that this is one of locally used names:
- // argument, property, instance or global
- if (g_lingo->_methodVars->contains(yytext))
- return ID;
-
- // First of all, match against argument list
- if (g_lingo->_indef == kStateInDef)
- if (g_lingo->isInArgStack(yylval.s))
- return ID;
-
- if (g_lingo->_builtins.contains(yytext)) {
- int type = g_lingo->_builtins[yytext].type;
- if ((type == BLTIN || type == FBLTIN || type == RBLTIN) && g_lingo->_builtins[yytext].parens == false) {
- if (type == RBLTIN) {
- if (g_lingo->_builtins[yytext].nargs != 1 || g_lingo->_builtins[yytext].maxArgs != 1) {
- warning("Incorrectly set RBLTIN %s", yytext);
- return LEXERROR;
- }
-
- return RBLTIN;
- }
-
- return type;
- }
- }
-
return ID;
}
YY_BREAK
-case 64:
+case 72:
YY_RULE_SETUP
-#line 433 "engines/director/lingo/lingo-lex.l"
+#line 489 "engines/director/lingo/lingo-lex.l"
{ count(); yylval.f = atof(yytext); return FLOAT; }
YY_BREAK
-case 65:
+case 73:
YY_RULE_SETUP
-#line 434 "engines/director/lingo/lingo-lex.l"
+#line 490 "engines/director/lingo/lingo-lex.l"
{ count(); yylval.i = strtol(yytext, NULL, 10); return INT; }
YY_BREAK
-case 66:
+case 74:
YY_RULE_SETUP
-#line 435 "engines/director/lingo/lingo-lex.l"
+#line 491 "engines/director/lingo/lingo-lex.l"
{ count(); return *yytext; }
YY_BREAK
-case 67:
-/* rule 67 can match eol */
+case 75:
+/* rule 75 can match eol */
YY_RULE_SETUP
-#line 436 "engines/director/lingo/lingo-lex.l"
+#line 492 "engines/director/lingo/lingo-lex.l"
{ count(); return '\n'; }
YY_BREAK
-case 68:
+case 76:
YY_RULE_SETUP
-#line 437 "engines/director/lingo/lingo-lex.l"
+#line 493 "engines/director/lingo/lingo-lex.l"
{ count(); yylval.s = cleanupString(&yytext[1]); yylval.s->deleteLastChar(); return STRING; }
YY_BREAK
-case 69:
+case 77:
YY_RULE_SETUP
-#line 438 "engines/director/lingo/lingo-lex.l"
+#line 494 "engines/director/lingo/lingo-lex.l"
{ count(); }
YY_BREAK
-case 70:
+case 78:
YY_RULE_SETUP
-#line 440 "engines/director/lingo/lingo-lex.l"
+#line 496 "engines/director/lingo/lingo-lex.l"
ECHO;
YY_BREAK
-#line 1682 "engines/director/lingo/lingo-lex.cpp"
+#line 1842 "engines/director/lingo/lingo-lex.cpp"
case YY_STATE_EOF(INITIAL):
yyterminate();
@@ -1978,7 +2138,7 @@ static int yy_get_next_buffer (void)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 300 )
+ if ( yy_current_state >= 337 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
@@ -2006,11 +2166,11 @@ static int yy_get_next_buffer (void)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 300 )
+ if ( yy_current_state >= 337 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
- yy_is_jam = (yy_current_state == 299);
+ yy_is_jam = (yy_current_state == 336);
return yy_is_jam ? 0 : yy_current_state;
}
@@ -2049,6 +2209,10 @@ static int yy_get_next_buffer (void)
*--yy_cp = (char) c;
+ if ( c == '\n' ){
+ --yylineno;
+ }
+
(yytext_ptr) = yy_bp;
(yy_hold_char) = *yy_cp;
(yy_c_buf_p) = yy_cp;
@@ -2127,6 +2291,10 @@ static int yy_get_next_buffer (void)
(yy_hold_char) = *++(yy_c_buf_p);
YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
+ if ( YY_CURRENT_BUFFER_LVALUE->yy_at_bol )
+
+ yylineno++;
+;
return c;
}
@@ -2594,6 +2762,9 @@ static int yy_init_globals (void)
* This function is called from yylex_destroy(), so don't allocate here.
*/
+ /* We do not touch yylineno unless the option is enabled. */
+ yylineno = 1;
+
(yy_buffer_stack) = NULL;
(yy_buffer_stack_top) = 0;
(yy_buffer_stack_max) = 0;
@@ -2688,7 +2859,7 @@ void yyfree (void * ptr )
#define YYTABLES_NAME "yytables"
-#line 440 "engines/director/lingo/lingo-lex.l"
+#line 496 "engines/director/lingo/lingo-lex.l"
extern int yydebug;
diff --git a/engines/director/lingo/lingo-lex.l b/engines/director/lingo/lingo-lex.l
index fc5239d9b3..65925d1ea9 100644
--- a/engines/director/lingo/lingo-lex.l
+++ b/engines/director/lingo/lingo-lex.l
@@ -116,6 +116,28 @@ spc [ \t\xC2]
after { count(); return varCheck(tAFTER, "after"); } // D3
and { count(); return varCheck(tAND, "and"); }
before { count(); return varCheck(tBEFORE, "before"); } // D3
+cast{spc}+{conststring} {
+ count();
+
+ const char *ptr = &yytext[5]; // Skip 'cast '
+ while (*ptr == ' ' || *ptr == '\t' || *ptr == '\xC2')
+ ptr++;
+
+ yylval.s = cleanupString(ptr + 1);
+ yylval.s->deleteLastChar();
+ return CAST;
+ }
+cast{spc}+{constinteger} {
+ count();
+
+ const char *ptr = &yytext[5]; // Skip 'cast '
+ while (*ptr == ' ' || *ptr == '\t' || *ptr == '\xC2')
+ ptr++;
+
+ yylval.s = NULL;
+ yylval.i = strtol(yytext, NULL, 10);
+ return CAST;
+ }
char { count(); return varCheck(tCHAR, "char"); } // D3
contains { count(); return varCheck(tCONTAINS, "contains"); }
down { count(); return varCheck(tDOWN, "down"); }
@@ -147,6 +169,28 @@ end({spc}+{identifier})? {
}
^{spc}*factory { count(); return tFACTORY; }
exit { count(); return varCheck(tEXIT, "exit"); }
+field{spc}+{conststring} {
+ count();
+
+ const char *ptr = &yytext[6]; // Skip 'field '
+ while (*ptr == ' ' || *ptr == '\t' || *ptr == '\xC2')
+ ptr++;
+
+ yylval.s = cleanupString(ptr + 1);
+ yylval.s->deleteLastChar();
+ return FIELD;
+ }
+field{spc}+{constinteger} {
+ count();
+
+ const char *ptr = &yytext[6]; // Skip 'field '
+ while (*ptr == ' ' || *ptr == '\t' || *ptr == '\xC2')
+ ptr++;
+
+ yylval.s = NULL;
+ yylval.i = strtol(yytext, NULL, 10);
+ return FIELD;
+ }
global { count(); return varCheck(tGLOBAL, "global"); }
go{spc}+(to{spc}+)?frame { count(); return tGO; }
go{spc}+(to)? { count(); return tGO; }
@@ -184,6 +228,28 @@ previous { count(); return varCheck(tPREVIOUS, "previous"); }
property { count(); return varCheck(tPROPERTY, "property"); } // D4
put { count(); return varCheck(tPUT, "put"); }
repeat { count(); return checkImmediate(tREPEAT); }
+script{spc}+{conststring} {
+ count();
+
+ const char *ptr = &yytext[7]; // Skip 'script '
+ while (*ptr == ' ' || *ptr == '\t' || *ptr == '\xC2')
+ ptr++;
+
+ yylval.s = cleanupString(ptr + 1);
+ yylval.s->deleteLastChar();
+ return SCRIPT;
+ }
+script{spc}+{constinteger} {
+ count();
+
+ const char *ptr = &yytext[7]; // Skip 'script '
+ while (*ptr == ' ' || *ptr == '\t' || *ptr == '\xC2')
+ ptr++;
+
+ yylval.s = NULL;
+ yylval.i = strtol(yytext, NULL, 10);
+ return SCRIPT;
+ }
set { count(); return varCheck(tSET, "set"); }
starts { count(); return varCheck(tSTARTS, "starts"); }
tell { count(); return varCheck(tTELL, "tell"); }
@@ -215,8 +281,8 @@ the{spc}+number{spc}+of{spc}+[[:alpha:]]+{spc}+(in|of){spc}+ {
yylval.s = new Common::String(Common::String::format("numberOf%s", field.c_str()));
- if (g_lingo->_builtins.contains(*yylval.s)) {
- return FBLTIN;
+ if (g_lingo->_builtinFuncs.contains(*yylval.s)) {
+ return THEFUNCINOF;
} else {
warning("LEXER: Unhandled chunk expression '%s'", yylval.s->c_str());
return LEXERROR;
@@ -237,8 +303,8 @@ the{spc}+last{spc}+[[:alpha:]]+{spc}+(in|of){spc}+ {
yylval.s = new Common::String(Common::String::format("last%sOf", field.c_str()));
- if (g_lingo->_builtins.contains(*yylval.s)) {
- return FBLTIN;
+ if (g_lingo->_builtinFuncs.contains(*yylval.s)) {
+ return THEFUNCINOF;
} else {
warning("LEXER: Unhandled chunk expression '%s'", yylval.s->c_str());
return LEXERROR;
@@ -295,9 +361,8 @@ the{spc}+[[:alpha:]]+{spc}+of{spc}+{identifier} {
yylval.objectprop.prop = new Common::String(field);
return THEOBJECTPROP;
- } else if (g_lingo->_builtins.contains(field)) { // Let's hope they don't do it in D4+
- if (g_lingo->_builtins[field].type == FBLTIN &&
- g_lingo->_builtins[field].nargs == 1 && g_lingo->_builtins[field].maxArgs == 1) {
+ } else if (g_lingo->_builtinFuncs.contains(field)) { // Let's hope they don't do it in D4+
+ if (g_lingo->_builtinFuncs[field].nargs == 1 && g_lingo->_builtinFuncs[field].maxArgs == 1) {
yylval.s = new Common::String(field);
Common::String rest(ptr);
@@ -311,7 +376,7 @@ the{spc}+[[:alpha:]]+{spc}+of{spc}+{identifier} {
unput(' '); unput('f'); unput('o');
- return THEFBLTIN;
+ return THEFUNC;
}
}
}
@@ -369,11 +434,10 @@ the{spc}+[[:alpha:]]+ {
return THEENTITY;
}
- if (g_lingo->_builtins.contains(ptr)) {
- if (g_lingo->_builtins[ptr].type == FBLTIN &&
- g_lingo->_builtins[ptr].nargs == 1 && g_lingo->_builtins[ptr].maxArgs == 1) {
+ if (g_lingo->_builtinFuncs.contains(ptr)) {
+ if (g_lingo->_builtinFuncs[ptr].nargs == 1 && g_lingo->_builtinFuncs[ptr].maxArgs == 1) {
yylval.s = new Common::String(ptr);
- return THEFBLTIN;
+ return THEFUNC;
}
}
@@ -386,6 +450,28 @@ with { count(); return varCheck(tWITH, "with"); }
within { count(); return varCheck(tWITHIN, "within"); }
when { count(); return varCheck(tWHEN, "when"); }
while { count(); return varCheck(tWHILE, "while"); }
+window{spc}+{conststring} {
+ count();
+
+ const char *ptr = &yytext[7]; // Skip 'window '
+ while (*ptr == ' ' || *ptr == '\t' || *ptr == '\xC2')
+ ptr++;
+
+ yylval.s = cleanupString(ptr + 1);
+ yylval.s->deleteLastChar();
+ return WINDOW;
+ }
+window{spc}+{constinteger} {
+ count();
+
+ const char *ptr = &yytext[7]; // Skip 'window '
+ while (*ptr == ' ' || *ptr == '\t' || *ptr == '\xC2')
+ ptr++;
+
+ yylval.s = NULL;
+ yylval.i = strtol(yytext, NULL, 10);
+ return WINDOW;
+ }
word { count(); return varCheck(tWORD, "word"); }
[<][>] { count(); return tNEQ; }
@@ -398,36 +484,6 @@ word { count(); return varCheck(tWORD, "word"); }
count();
yylval.s = new Common::String(yytext);
- // When we are defining arguments, allow any string
- if (g_lingo->_indef == kStateInArgs)
- return ID;
-
- // Check that this is one of locally used names:
- // argument, property, instance or global
- if (g_lingo->_methodVars->contains(yytext))
- return ID;
-
- // First of all, match against argument list
- if (g_lingo->_indef == kStateInDef)
- if (g_lingo->isInArgStack(yylval.s))
- return ID;
-
- if (g_lingo->_builtins.contains(yytext)) {
- int type = g_lingo->_builtins[yytext].type;
- if ((type == BLTIN || type == FBLTIN || type == RBLTIN) && g_lingo->_builtins[yytext].parens == false) {
- if (type == RBLTIN) {
- if (g_lingo->_builtins[yytext].nargs != 1 || g_lingo->_builtins[yytext].maxArgs != 1) {
- warning("Incorrectly set RBLTIN %s", yytext);
- return LEXERROR;
- }
-
- return RBLTIN;
- }
-
- return type;
- }
- }
-
return ID;
}
{constfloat} { count(); yylval.f = atof(yytext); return FLOAT; }
diff --git a/engines/director/lingo/lingo-object.cpp b/engines/director/lingo/lingo-object.cpp
index aa908032c5..a81591948f 100644
--- a/engines/director/lingo/lingo-object.cpp
+++ b/engines/director/lingo/lingo-object.cpp
@@ -79,7 +79,7 @@ void Lingo::initMethods() {
Symbol sym;
sym.name = new Common::String(mtd->name);
- sym.type = FBLTIN;
+ sym.type = HBLTIN;
sym.nargs = mtd->minArgs;
sym.maxArgs = mtd->maxArgs;
sym.targetType = mtd->type;
@@ -106,7 +106,7 @@ void Lingo::initXLibs() {
Symbol sym;
sym.name = new Common::String(lib->name);
- sym.type = FBLTIN;
+ sym.type = HBLTIN;
sym.nargs = 0;
sym.maxArgs = 0;
sym.targetType = lib->type;
@@ -177,7 +177,7 @@ Symbol ScriptContext::getMethod(const Common::String &methodName) {
}
sym = Object::getMethod(methodName);
- if (sym.type != VOID)
+ if (sym.type != VOIDSYM)
return sym;
if (_objType == kScriptObj) {
@@ -287,7 +287,7 @@ void LM::m_instanceRespondsTo(int nargs) {
Datum d = g_lingo->pop();
Common::String methodName = d.asString();
- if (me->getMethod(methodName).type != VOID) {
+ if (me->getMethod(methodName).type != VOIDSYM) {
g_lingo->push(Datum(1));
} else {
g_lingo->push(Datum(0));
@@ -310,7 +310,7 @@ void LM::m_respondsTo(int nargs) {
Common::String methodName = d.asString();
// TODO: Check inheritance level
- if (me->getMethod(methodName).type != VOID) {
+ if (me->getMethod(methodName).type != VOIDSYM) {
g_lingo->push(Datum(1));
} else {
g_lingo->push(Datum(0));
diff --git a/engines/director/lingo/lingo-object.h b/engines/director/lingo/lingo-object.h
index 0c4f177d8b..3bf725fc03 100644
--- a/engines/director/lingo/lingo-object.h
+++ b/engines/director/lingo/lingo-object.h
@@ -93,7 +93,7 @@ public:
Symbol sym;
sym.name = new Common::String(mtd->name);
- sym.type = FBLTIN;
+ sym.type = HBLTIN;
sym.nargs = mtd->minArgs;
sym.maxArgs = mtd->maxArgs;
sym.u.bltin = mtd->func;
diff --git a/engines/director/lingo/lingo.cpp b/engines/director/lingo/lingo.cpp
index 9418bc4ac4..263a621cbc 100644
--- a/engines/director/lingo/lingo.cpp
+++ b/engines/director/lingo/lingo.cpp
@@ -46,7 +46,7 @@ Lingo *g_lingo;
Symbol::Symbol() {
name = nullptr;
- type = VOID;
+ type = VOIDSYM;
u.s = nullptr;
refCount = new int;
*refCount = 1;
@@ -116,8 +116,6 @@ void Symbol::reset() {
if (type == HANDLER)
delete u.defn;
- else if (type == STRING)
- delete u.s;
if (argNames)
delete argNames;
@@ -227,11 +225,8 @@ Symbol Lingo::getHandler(const Common::String &name) {
return _currentScriptContext->_functionHandlers[name];
Symbol sym = g_director->getCurrentMovie()->getHandler(name);
- if (sym.type != VOID)
+ if (sym.type != VOIDSYM)
return sym;
-
- if (_builtins.contains(name))
- return _builtins[name];
}
return Symbol();
}
@@ -461,7 +456,7 @@ void Lingo::printCallStack(uint pc) {
if (i < (int)g_lingo->_callstack.size() - 1)
framePc = g_lingo->_callstack[i + 1]->retpc;
- if (frame->sp.type != VOID) {
+ if (frame->sp.type != VOIDSYM) {
debugC(5, kDebugLingoExec, "#%d %s:%d", i + 1,
g_lingo->_callstack[i]->sp.name->c_str(),
framePc
@@ -1147,7 +1142,7 @@ void Lingo::executeImmediateScripts(Frame *frame) {
void Lingo::executePerFrameHook(int frame, int subframe) {
if (_perFrameHook.type == OBJECT) {
Symbol method = _perFrameHook.u.obj->getMethod("mAtFrame");
- if (method.type != VOID) {
+ if (method.type != VOIDSYM) {
debugC(1, kDebugLingoExec, "Executing perFrameHook : <%s>(mAtFrame, %d, %d)", _perFrameHook.asString(true).c_str(), frame, subframe);
push(Datum(frame));
push(Datum(subframe));
diff --git a/engines/director/lingo/lingo.h b/engines/director/lingo/lingo.h
index 1a9cb8f410..bfb2e237e3 100644
--- a/engines/director/lingo/lingo.h
+++ b/engines/director/lingo/lingo.h
@@ -78,7 +78,7 @@ typedef Common::HashMap<void *, FuncDesc *> FuncHash;
struct Symbol { /* symbol table entry */
Common::String *name;
- int type;
+ SymbolType type;
union {
ScriptData *defn; /* HANDLER */
void (*func)(); /* OPCODE */
@@ -370,6 +370,7 @@ public:
int code3(inst code_1, inst code_2, inst code_3) { int o = code1(code_1); code1(code_2); code1(code_3); return o; }
int code4(inst code_1, inst code_2, inst code_3, inst code_4) { int o = code1(code_1); code1(code_2); code1(code_3); code1(code_4); return o; }
void codeArg(Common::String *s);
+ int codeCmd(Common::String *s, int numpar);
Symbol codeDefine(Common::String &s, int start, int nargs, int end = -1, bool removeCode = true);
void codeFactory(Common::String &s);
int codeFloat(double f);
@@ -412,7 +413,9 @@ public:
Common::Array<int> _labelstack;
- SymbolHash _builtins;
+ SymbolHash _builtinCmds;
+ SymbolHash _builtinFuncs;
+ SymbolHash _builtinConsts;
SymbolHash _methods;
SymbolHash _xlibInitializers;
diff --git a/engines/director/types.h b/engines/director/types.h
index aa49f48052..390edfbadb 100644
--- a/engines/director/types.h
+++ b/engines/director/types.h
@@ -294,6 +294,16 @@ enum PlayState {
kPlayStopped
};
+enum SymbolType {
+ VOIDSYM,
+ OPCODE,
+ CBLTIN, // builtin command
+ FBLTIN, // builtin function
+ HBLTIN, // builtin handler (can be called as either command or func)
+ KBLTIN, // builtin constant
+ HANDLER // user-defined handler
+};
+
struct Datum;
struct PCell;
typedef Common::Array<Datum> DatumArray;
Commit: 2277a92d8ee02142a2a04c56bc118601a4786a5f
https://github.com/scummvm/scummvm/commit/2277a92d8ee02142a2a04c56bc118601a4786a5f
Author: djsrv (dservilla at gmail.com)
Date: 2020-07-19T13:33:35-04:00
Commit Message:
DIRECTOR: LINGO: Handle ARGC/ARGCNORET
Changed paths:
engines/director/lingo/lingo-bytecode.cpp
diff --git a/engines/director/lingo/lingo-bytecode.cpp b/engines/director/lingo/lingo-bytecode.cpp
index 422242b115..c8ae8b979a 100644
--- a/engines/director/lingo/lingo-bytecode.cpp
+++ b/engines/director/lingo/lingo-bytecode.cpp
@@ -507,7 +507,7 @@ void LC::cb_call() {
Datum nargs = g_lingo->pop();
if ((nargs.type == ARGC) || (nargs.type == ARGCNORET)) {
- LC::call(name, nargs.u.i);
+ LC::call(name, nargs.u.i, nargs.type == ARGC ? FBLTIN : CBLTIN);
} else {
warning("cb_call: first arg should be of type ARGC or ARGCNORET, not %s", nargs.type2str());
Commit: fb8c0e53dfb67c349eff74a6f3bed3aee2f936b8
https://github.com/scummvm/scummvm/commit/fb8c0e53dfb67c349eff74a6f3bed3aee2f936b8
Author: djsrv (dservilla at gmail.com)
Date: 2020-07-19T13:33:35-04:00
Commit Message:
DIRECTOR: LINGO: Improve references grammar
Changed paths:
engines/director/lingo/lingo-gr.cpp
engines/director/lingo/lingo-gr.h
engines/director/lingo/lingo-gr.y
engines/director/lingo/lingo-lex.cpp
engines/director/lingo/lingo-lex.l
diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp
index 238d325558..7452433e2b 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -238,7 +238,7 @@ extern int yydebug;
FLOAT = 276, /* FLOAT */
THEFUNC = 277, /* THEFUNC */
THEFUNCINOF = 278, /* THEFUNCINOF */
- ID = 279, /* ID */
+ VARID = 279, /* VARID */
STRING = 280, /* STRING */
SYMBOL = 281, /* SYMBOL */
ENDCLAUSE = 282, /* ENDCLAUSE */
@@ -301,7 +301,11 @@ extern int yydebug;
tON = 339, /* tON */
tENDIF = 340, /* tENDIF */
tENDREPEAT = 341, /* tENDREPEAT */
- tENDTELL = 342 /* tENDTELL */
+ tENDTELL = 342, /* tENDTELL */
+ tCAST = 343, /* tCAST */
+ tFIELD = 344, /* tFIELD */
+ tSCRIPT = 345, /* tSCRIPT */
+ tWINDOW = 346 /* tWINDOW */
};
typedef enum yytokentype yytoken_kind_t;
#endif
@@ -325,12 +329,7 @@ union YYSTYPE
Common::String *prop;
} objectprop;
- struct {
- Common::String *s;
- int i;
- } ref;
-
-#line 334 "engines/director/lingo/lingo-gr.cpp"
+#line 333 "engines/director/lingo/lingo-gr.cpp"
};
typedef union YYSTYPE YYSTYPE;
@@ -372,7 +371,7 @@ enum yysymbol_kind_t
YYSYMBOL_FLOAT = 21, /* FLOAT */
YYSYMBOL_THEFUNC = 22, /* THEFUNC */
YYSYMBOL_THEFUNCINOF = 23, /* THEFUNCINOF */
- YYSYMBOL_ID = 24, /* ID */
+ YYSYMBOL_VARID = 24, /* VARID */
YYSYMBOL_STRING = 25, /* STRING */
YYSYMBOL_SYMBOL = 26, /* SYMBOL */
YYSYMBOL_ENDCLAUSE = 27, /* ENDCLAUSE */
@@ -444,71 +443,77 @@ enum yysymbol_kind_t
YYSYMBOL_93_ = 93, /* '*' */
YYSYMBOL_94_ = 94, /* '/' */
YYSYMBOL_95_ = 95, /* '%' */
- YYSYMBOL_96_n_ = 96, /* '\n' */
- YYSYMBOL_97_ = 97, /* '(' */
- YYSYMBOL_98_ = 98, /* ')' */
- YYSYMBOL_99_ = 99, /* ',' */
- YYSYMBOL_100_ = 100, /* '[' */
- YYSYMBOL_101_ = 101, /* ']' */
- YYSYMBOL_102_ = 102, /* ':' */
- YYSYMBOL_YYACCEPT = 103, /* $accept */
- YYSYMBOL_program = 104, /* program */
- YYSYMBOL_programline = 105, /* programline */
- YYSYMBOL_asgn = 106, /* asgn */
- YYSYMBOL_stmtoneliner = 107, /* stmtoneliner */
- YYSYMBOL_stmt = 108, /* stmt */
- YYSYMBOL_109_1 = 109, /* $@1 */
- YYSYMBOL_110_2 = 110, /* $@2 */
- YYSYMBOL_111_3 = 111, /* $@3 */
- YYSYMBOL_112_4 = 112, /* $@4 */
- YYSYMBOL_113_5 = 113, /* $@5 */
- YYSYMBOL_114_6 = 114, /* $@6 */
- YYSYMBOL_115_7 = 115, /* $@7 */
- YYSYMBOL_116_8 = 116, /* $@8 */
- YYSYMBOL_117_9 = 117, /* $@9 */
- YYSYMBOL_startrepeat = 118, /* startrepeat */
- YYSYMBOL_tellstart = 119, /* tellstart */
- YYSYMBOL_ifstmt = 120, /* ifstmt */
- YYSYMBOL_elseifstmtlist = 121, /* elseifstmtlist */
- YYSYMBOL_elseifstmt = 122, /* elseifstmt */
- YYSYMBOL_jumpifz = 123, /* jumpifz */
- YYSYMBOL_jump = 124, /* jump */
- YYSYMBOL_varassign = 125, /* varassign */
- YYSYMBOL_if = 126, /* if */
- YYSYMBOL_lbl = 127, /* lbl */
- YYSYMBOL_stmtlist = 128, /* stmtlist */
- YYSYMBOL_simpleexpr = 129, /* simpleexpr */
- YYSYMBOL_expr = 130, /* expr */
- YYSYMBOL_131_10 = 131, /* $@10 */
- YYSYMBOL_chunkexpr = 132, /* chunkexpr */
- YYSYMBOL_reference = 133, /* reference */
- YYSYMBOL_proc = 134, /* proc */
- YYSYMBOL_135_11 = 135, /* $@11 */
- YYSYMBOL_136_12 = 136, /* $@12 */
- YYSYMBOL_137_13 = 137, /* $@13 */
- YYSYMBOL_138_14 = 138, /* $@14 */
- YYSYMBOL_globallist = 139, /* globallist */
- YYSYMBOL_propertylist = 140, /* propertylist */
- YYSYMBOL_instancelist = 141, /* instancelist */
- YYSYMBOL_gotofunc = 142, /* gotofunc */
- YYSYMBOL_gotomovie = 143, /* gotomovie */
- YYSYMBOL_playfunc = 144, /* playfunc */
- YYSYMBOL_145_15 = 145, /* $@15 */
- YYSYMBOL_defn = 146, /* defn */
- YYSYMBOL_147_16 = 147, /* $@16 */
- YYSYMBOL_148_17 = 148, /* $@17 */
- YYSYMBOL_on = 149, /* on */
- YYSYMBOL_150_18 = 150, /* $@18 */
- YYSYMBOL_argdef = 151, /* argdef */
- YYSYMBOL_endargdef = 152, /* endargdef */
- YYSYMBOL_argstore = 153, /* argstore */
- YYSYMBOL_arglist = 154, /* arglist */
- YYSYMBOL_nonemptyarglist = 155, /* nonemptyarglist */
- YYSYMBOL_list = 156, /* list */
- YYSYMBOL_valuelist = 157, /* valuelist */
- YYSYMBOL_linearlist = 158, /* linearlist */
- YYSYMBOL_proplist = 159, /* proplist */
- YYSYMBOL_proppair = 160 /* proppair */
+ YYSYMBOL_tCAST = 96, /* tCAST */
+ YYSYMBOL_tFIELD = 97, /* tFIELD */
+ YYSYMBOL_tSCRIPT = 98, /* tSCRIPT */
+ YYSYMBOL_tWINDOW = 99, /* tWINDOW */
+ YYSYMBOL_100_n_ = 100, /* '\n' */
+ YYSYMBOL_101_ = 101, /* '(' */
+ YYSYMBOL_102_ = 102, /* ')' */
+ YYSYMBOL_103_ = 103, /* ',' */
+ YYSYMBOL_104_ = 104, /* '[' */
+ YYSYMBOL_105_ = 105, /* ']' */
+ YYSYMBOL_106_ = 106, /* ':' */
+ YYSYMBOL_YYACCEPT = 107, /* $accept */
+ YYSYMBOL_program = 108, /* program */
+ YYSYMBOL_programline = 109, /* programline */
+ YYSYMBOL_ID = 110, /* ID */
+ YYSYMBOL_asgn = 111, /* asgn */
+ YYSYMBOL_stmtoneliner = 112, /* stmtoneliner */
+ YYSYMBOL_stmt = 113, /* stmt */
+ YYSYMBOL_114_1 = 114, /* $@1 */
+ YYSYMBOL_115_2 = 115, /* $@2 */
+ YYSYMBOL_116_3 = 116, /* $@3 */
+ YYSYMBOL_117_4 = 117, /* $@4 */
+ YYSYMBOL_118_5 = 118, /* $@5 */
+ YYSYMBOL_119_6 = 119, /* $@6 */
+ YYSYMBOL_120_7 = 120, /* $@7 */
+ YYSYMBOL_121_8 = 121, /* $@8 */
+ YYSYMBOL_122_9 = 122, /* $@9 */
+ YYSYMBOL_startrepeat = 123, /* startrepeat */
+ YYSYMBOL_tellstart = 124, /* tellstart */
+ YYSYMBOL_ifstmt = 125, /* ifstmt */
+ YYSYMBOL_elseifstmtlist = 126, /* elseifstmtlist */
+ YYSYMBOL_elseifstmt = 127, /* elseifstmt */
+ YYSYMBOL_jumpifz = 128, /* jumpifz */
+ YYSYMBOL_jump = 129, /* jump */
+ YYSYMBOL_varassign = 130, /* varassign */
+ YYSYMBOL_if = 131, /* if */
+ YYSYMBOL_lbl = 132, /* lbl */
+ YYSYMBOL_stmtlist = 133, /* stmtlist */
+ YYSYMBOL_simpleexprnoparens = 134, /* simpleexprnoparens */
+ YYSYMBOL_135_10 = 135, /* $@10 */
+ YYSYMBOL_simpleexpr = 136, /* simpleexpr */
+ YYSYMBOL_expr = 137, /* expr */
+ YYSYMBOL_chunkexpr = 138, /* chunkexpr */
+ YYSYMBOL_reference = 139, /* reference */
+ YYSYMBOL_proc = 140, /* proc */
+ YYSYMBOL_141_11 = 141, /* $@11 */
+ YYSYMBOL_142_12 = 142, /* $@12 */
+ YYSYMBOL_143_13 = 143, /* $@13 */
+ YYSYMBOL_144_14 = 144, /* $@14 */
+ YYSYMBOL_globallist = 145, /* globallist */
+ YYSYMBOL_propertylist = 146, /* propertylist */
+ YYSYMBOL_instancelist = 147, /* instancelist */
+ YYSYMBOL_gotofunc = 148, /* gotofunc */
+ YYSYMBOL_gotomovie = 149, /* gotomovie */
+ YYSYMBOL_playfunc = 150, /* playfunc */
+ YYSYMBOL_151_15 = 151, /* $@15 */
+ YYSYMBOL_defn = 152, /* defn */
+ YYSYMBOL_153_16 = 153, /* $@16 */
+ YYSYMBOL_154_17 = 154, /* $@17 */
+ YYSYMBOL_on = 155, /* on */
+ YYSYMBOL_156_18 = 156, /* $@18 */
+ YYSYMBOL_argdef = 157, /* argdef */
+ YYSYMBOL_endargdef = 158, /* endargdef */
+ YYSYMBOL_argstore = 159, /* argstore */
+ YYSYMBOL_arglist = 160, /* arglist */
+ YYSYMBOL_nonemptyarglist = 161, /* nonemptyarglist */
+ YYSYMBOL_list = 162, /* list */
+ YYSYMBOL_valuelist = 163, /* valuelist */
+ YYSYMBOL_linearlist = 164, /* linearlist */
+ YYSYMBOL_proplist = 165, /* proplist */
+ YYSYMBOL_proppair = 166 /* proppair */
};
typedef enum yysymbol_kind_t yysymbol_kind_t;
@@ -816,20 +821,20 @@ union yyalloc
#endif /* !YYCOPY_NEEDED */
/* YYFINAL -- State number of the termination state. */
-#define YYFINAL 96
+#define YYFINAL 99
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 1629
+#define YYLAST 2302
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 103
+#define YYNTOKENS 107
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 58
+#define YYNNTS 60
/* YYNRULES -- Number of rules. */
-#define YYNRULES 183
+#define YYNRULES 189
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 379
+#define YYNSTATES 388
-#define YYMAXUTOK 342
+#define YYMAXUTOK 346
/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
@@ -844,15 +849,15 @@ union yyalloc
static const yytype_int8 yytranslate[] =
{
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 96, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 100, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 95, 90, 2,
- 97, 98, 93, 91, 99, 92, 2, 94, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 102, 2,
+ 101, 102, 93, 91, 103, 92, 2, 94, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 106, 2,
88, 2, 89, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 100, 2, 101, 2, 2, 2, 2, 2, 2,
+ 2, 104, 2, 105, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -877,32 +882,32 @@ static const yytype_int8 yytranslate[] =
55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, 87
+ 85, 86, 87, 96, 97, 98, 99
};
#if YYDEBUG
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_int16 yyrline[] =
{
- 0, 218, 218, 219, 221, 222, 223, 225, 232, 236,
- 247, 254, 257, 264, 267, 274, 281, 288, 295, 301,
- 308, 319, 330, 337, 345, 346, 348, 349, 354, 367,
- 371, 374, 366, 401, 405, 408, 400, 435, 442, 448,
- 434, 478, 486, 489, 490, 492, 494, 496, 503, 511,
- 512, 514, 520, 524, 528, 532, 535, 537, 538, 539,
- 541, 544, 547, 551, 555, 563, 571, 577, 578, 579,
- 581, 582, 583, 589, 589, 594, 597, 600, 603, 609,
- 610, 611, 612, 613, 614, 615, 616, 617, 618, 619,
- 620, 621, 622, 623, 624, 625, 626, 627, 628, 629,
- 630, 632, 643, 644, 645, 646, 647, 648, 649, 650,
- 652, 653, 664, 675, 688, 689, 690, 691, 699, 700,
- 700, 701, 701, 702, 702, 703, 706, 709, 715, 715,
- 720, 723, 727, 730, 734, 737, 741, 744, 755, 756,
- 757, 758, 762, 766, 771, 772, 774, 778, 782, 786,
- 786, 816, 816, 822, 823, 823, 829, 837, 843, 843,
- 845, 846, 847, 849, 850, 851, 853, 855, 856, 857,
- 859, 860, 862, 864, 865, 866, 867, 869, 870, 872,
- 873, 875, 879, 883
+ 0, 214, 214, 215, 217, 218, 219, 221, 222, 223,
+ 224, 225, 227, 234, 238, 249, 256, 259, 266, 269,
+ 276, 283, 290, 297, 303, 310, 321, 332, 339, 347,
+ 348, 350, 351, 356, 369, 373, 376, 368, 403, 407,
+ 410, 402, 437, 444, 450, 436, 480, 488, 491, 492,
+ 494, 496, 498, 505, 513, 514, 516, 522, 526, 530,
+ 534, 537, 539, 540, 541, 543, 546, 549, 550, 551,
+ 555, 559, 560, 568, 574, 577, 580, 586, 587, 588,
+ 589, 595, 595, 600, 603, 611, 613, 614, 616, 617,
+ 618, 619, 620, 621, 622, 623, 624, 625, 626, 627,
+ 628, 629, 630, 631, 632, 633, 634, 636, 639, 640,
+ 641, 642, 643, 644, 645, 646, 648, 649, 652, 655,
+ 659, 660, 661, 662, 670, 671, 671, 672, 672, 673,
+ 673, 674, 677, 680, 686, 686, 691, 694, 698, 701,
+ 705, 708, 712, 715, 726, 727, 728, 729, 733, 737,
+ 742, 743, 745, 749, 753, 757, 757, 787, 787, 793,
+ 794, 794, 800, 808, 814, 814, 816, 817, 818, 820,
+ 821, 822, 824, 826, 827, 828, 830, 831, 833, 835,
+ 836, 837, 838, 840, 841, 843, 844, 846, 850, 854
};
#endif
@@ -923,7 +928,7 @@ yysymbol_name (yysymbol_kind_t yysymbol)
"VAR", "POINT", "RECT", "ARRAY", "OBJECT", "FIELDREF", "LEXERROR",
"PARRAY", "INT", "ARGC", "ARGCNORET", "THEENTITY", "THEENTITYWITHID",
"THEMENUITEMENTITY", "THEMENUITEMSENTITY", "FLOAT", "THEFUNC",
- "THEFUNCINOF", "ID", "STRING", "SYMBOL", "ENDCLAUSE", "tPLAYACCEL",
+ "THEFUNCINOF", "VARID", "STRING", "SYMBOL", "ENDCLAUSE", "tPLAYACCEL",
"tMETHOD", "THEOBJECTPROP", "CAST", "FIELD", "SCRIPT", "WINDOW", "tDOWN",
"tELSE", "tELSIF", "tEXIT", "tGLOBAL", "tGO", "tGOLOOP", "tIF", "tIN",
"tINTO", "tMACRO", "tMOVIE", "tNEXT", "tOF", "tPREVIOUS", "tPUT",
@@ -933,15 +938,16 @@ yysymbol_name (yysymbol_kind_t yysymbol)
"tCONTAINS", "tSTARTS", "tCHAR", "tITEM", "tLINE", "tWORD", "tSPRITE",
"tINTERSECTS", "tWITHIN", "tTELL", "tPROPERTY", "tON", "tENDIF",
"tENDREPEAT", "tENDTELL", "'<'", "'>'", "'&'", "'+'", "'-'", "'*'",
- "'/'", "'%'", "'\\n'", "'('", "')'", "','", "'['", "']'", "':'",
- "$accept", "program", "programline", "asgn", "stmtoneliner", "stmt",
- "$@1", "$@2", "$@3", "$@4", "$@5", "$@6", "$@7", "$@8", "$@9",
- "startrepeat", "tellstart", "ifstmt", "elseifstmtlist", "elseifstmt",
- "jumpifz", "jump", "varassign", "if", "lbl", "stmtlist", "simpleexpr",
- "expr", "$@10", "chunkexpr", "reference", "proc", "$@11", "$@12", "$@13",
- "$@14", "globallist", "propertylist", "instancelist", "gotofunc",
- "gotomovie", "playfunc", "$@15", "defn", "$@16", "$@17", "on", "$@18",
- "argdef", "endargdef", "argstore", "arglist", "nonemptyarglist", "list",
+ "'/'", "'%'", "tCAST", "tFIELD", "tSCRIPT", "tWINDOW", "'\\n'", "'('",
+ "')'", "','", "'['", "']'", "':'", "$accept", "program", "programline",
+ "ID", "asgn", "stmtoneliner", "stmt", "$@1", "$@2", "$@3", "$@4", "$@5",
+ "$@6", "$@7", "$@8", "$@9", "startrepeat", "tellstart", "ifstmt",
+ "elseifstmtlist", "elseifstmt", "jumpifz", "jump", "varassign", "if",
+ "lbl", "stmtlist", "simpleexprnoparens", "$@10", "simpleexpr", "expr",
+ "chunkexpr", "reference", "proc", "$@11", "$@12", "$@13", "$@14",
+ "globallist", "propertylist", "instancelist", "gotofunc", "gotomovie",
+ "playfunc", "$@15", "defn", "$@16", "$@17", "on", "$@18", "argdef",
+ "endargdef", "argstore", "arglist", "nonemptyarglist", "list",
"valuelist", "linearlist", "proplist", "proppair", YY_NULLPTR
};
return yy_sname[yysymbol];
@@ -962,17 +968,17 @@ static const yytype_int16 yytoknum[] =
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, 338, 339, 340, 341, 342, 60, 62,
- 38, 43, 45, 42, 47, 37, 10, 40, 41, 44,
- 91, 93, 58
+ 38, 43, 45, 42, 47, 37, 343, 344, 345, 346,
+ 10, 40, 41, 44, 91, 93, 58
};
#endif
-#define YYPACT_NINF (-337)
+#define YYPACT_NINF (-327)
#define yypact_value_is_default(Yyn) \
((Yyn) == YYPACT_NINF)
-#define YYTABLE_NINF (-174)
+#define YYTABLE_NINF (-180)
#define yytable_value_is_error(Yyn) \
0
@@ -981,44 +987,45 @@ static const yytype_int16 yytoknum[] =
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- 1036, 367, -337, -337, -21, -337, 542, -337, -337, -337,
- 15, 775, 152, 171, 13, 44, 801, 581, -337, 801,
- -337, -337, 41, -5, -337, -337, -337, -337, 801, -337,
- -337, -337, -337, -337, 22, -337, -337, 3, -337, 50,
- 3, -1, -337, -337, -337, -337, -337, -337, -337, 801,
- 801, 801, 801, 801, 801, 801, 801, 662, 278, -337,
- 1522, -337, -337, 43, -337, 455, -337, -337, 116, 801,
- -337, 103, -337, 801, 1103, -337, 122, -337, 127, 1070,
- 140, -337, -46, 3, 3, -22, 17, 124, -337, 1439,
- 1103, -337, 176, 1400, 186, 190, -337, 1036, 1522, 196,
- -337, -337, -337, 3, -337, 688, -337, 1136, 1169, 1202,
- 1235, 1489, -337, -337, 77, 1452, -39, 0, 129, 132,
- -337, 1522, 123, 136, 137, -337, 801, 801, 801, 801,
- 801, 801, 801, 801, 801, 801, 801, 801, 801, 801,
- 801, 801, 801, 801, 43, 196, -337, 138, 1522, 801,
- 1452, -337, -337, 3, 1, 29, 33, -8, 801, 801,
- 801, 28, 191, 801, 801, 801, 801, 801, 801, -337,
- -337, 141, -337, -337, -337, 142, -337, -337, 173, -337,
- -11, -337, 100, 114, 801, 801, 801, 801, 801, 801,
- 801, 801, 801, 801, -337, -337, -337, -337, 801, 801,
- 801, -337, 801, 178, 76, 76, 76, 76, 1535, 1535,
- -337, 21, 76, 76, 76, 76, 21, -54, -54, -337,
- -337, 1522, 20, 218, 1522, 196, 199, -337, -337, -337,
- -337, -337, -337, 801, 801, 1522, 1522, 1522, 801, 801,
- 220, 1522, 1522, 1522, 1522, 1522, 1522, 221, 34, -337,
- 222, -337, -337, 223, -337, -337, -337, 1522, 1268, 1522,
- 1301, 1522, 1334, 1522, 1367, 1522, 1522, 801, 1522, 1522,
- 1522, 1522, 146, 129, 132, -337, -337, -337, 48, 801,
- 1522, 1037, -337, 1522, 1522, 3, -337, -337, 997, -337,
- 997, -337, -337, 801, 801, 801, 801, 801, 1522, 118,
- -337, -337, 1522, -337, -337, -337, -337, 109, -337, -337,
- -337, 162, -337, 867, 120, 1522, 1522, 1522, 1522, -337,
- 801, 997, -337, -337, -337, -337, 997, 801, 801, -337,
- 193, 226, -337, 1522, 997, -337, 197, 217, 167, 1522,
- 1522, -337, 801, -337, 169, -337, 156, -337, 801, 202,
- -337, 997, 1522, -337, 233, -337, 1522, 801, 174, 205,
- -337, -337, -337, 1522, -337, -337, 892, -337, -337, 997,
- -337, -337, -337, -337, 930, -337, -337, 959, -337
+ 1697, -327, -327, -327, -42, -327, 150, -327, -327, -327,
+ -27, 1407, 6, 21, 89, 89, 1439, 1280, -327, 1439,
+ -327, -327, -327, -327, -327, -327, 58, -71, 1104, -327,
+ -327, -327, -327, 1439, -327, -327, -327, -327, -327, 1192,
+ -327, -327, 89, -12, -327, -327, 1527, -327, 20, 1527,
+ -327, -327, -327, 1439, -327, 30, -327, 1439, 1439, 1439,
+ 1439, 1439, 1439, 1527, 1527, 596, 703, 810, 917, 1439,
+ 1011, -21, -327, -327, 1764, -327, -327, -327, -327, 89,
+ -327, 89, 980, 89, -327, -23, 1527, 1527, 2, 3,
+ 50, -327, 2129, 1764, -327, 89, 1797, 89, 89, -327,
+ 1697, 1315, 2195, -18, 2195, 89, -18, 89, -327, 11,
+ -327, -327, 1527, -327, 2195, 1439, -327, 1844, 1877, 1910,
+ 1943, 2162, -327, -327, -327, -327, -327, -327, 2088, 31,
+ 40, -327, -79, 2195, 1, 13, 22, -327, 1315, 1439,
+ 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439,
+ 1439, 1439, 1439, 1439, 1439, 1439, -327, -327, 1527, 106,
+ 106, 106, -32, 1439, 1439, 1439, 7, 100, 1439, 1439,
+ 1439, 1439, 1439, 1439, -327, -327, 46, -327, -327, -327,
+ 47, -327, -327, 9, 2088, -9, 1439, 99, -327, -77,
+ -16, 89, -327, 2195, 1439, 1439, 1439, 1439, 1439, 1439,
+ 1439, 1439, 1439, 1439, -327, 1439, 1439, 1439, -327, 1439,
+ -7, 26, 19, -44, -44, -44, -44, 2208, 2208, -327,
+ -57, -44, -44, -44, -44, -57, -39, -39, -327, -327,
+ 89, 110, -327, -327, -327, -327, -327, -327, 1439, 1439,
+ 2195, 2195, 2195, 1439, 1439, 89, 2195, 2195, 2195, 2195,
+ 2195, 2195, 89, 1726, -327, 89, -327, -327, -327, 2195,
+ -327, -327, 89, -327, -327, 2195, 1976, 2195, 2009, 2195,
+ 2042, 2195, 2075, 2195, 2195, 2195, 2195, 2195, 2195, 31,
+ 40, 49, -327, -327, -327, -327, -4, 1439, 2195, 265,
+ -327, 2195, 2195, 1527, -327, -327, 1538, -327, 1439, 1538,
+ -327, -327, -327, 1439, 1439, 1439, 1439, 1439, -327, 2195,
+ -327, -327, -327, -327, 10, -327, -327, -327, 69, 2195,
+ 29, -327, 445, 1538, 2195, 2195, 2195, 2195, 32, -327,
+ -327, -327, -327, 1538, 1439, 1439, -327, -327, 1439, 108,
+ 89, -327, 1538, -327, 104, 128, 76, 2195, 2195, 2195,
+ -327, 1439, -327, 80, -327, 63, -327, 1439, 115, -327,
+ 1538, 2195, -327, 89, -327, 2195, 1439, 85, 124, -327,
+ -327, -327, 2195, -327, -327, 479, -327, -327, 1538, -327,
+ -327, -327, -327, 1605, -327, -327, 1634, -327
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -1026,66 +1033,67 @@ static const yytype_int16 yypact[] =
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
- 4, 0, 149, 154, 118, 119, 0, 138, 55, 151,
- 0, 0, 0, 0, 0, 0, 0, 0, 123, 0,
- 121, 158, 0, 2, 24, 26, 6, 27, 0, 25,
- 115, 116, 5, 56, 0, 60, 65, 0, 61, 0,
- 0, 64, 63, 62, 78, 111, 101, 112, 113, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 70,
- 168, 110, 71, 131, 68, 0, 56, 117, 0, 0,
- 139, 0, 140, 0, 141, 143, 0, 41, 0, 114,
- 0, 56, 0, 0, 0, 0, 0, 0, 153, 126,
- 146, 148, 0, 0, 0, 0, 1, 4, 52, 160,
- 69, 64, 66, 0, 76, 0, 92, 0, 0, 0,
- 0, 0, 97, 98, 64, 168, 0, 64, 63, 62,
- 174, 177, 0, 176, 175, 179, 0, 0, 0, 0,
+ 4, 7, 155, 160, 124, 125, 0, 144, 60, 157,
+ 0, 0, 0, 0, 0, 0, 0, 0, 129, 0,
+ 127, 164, 8, 9, 10, 11, 0, 2, 0, 29,
+ 31, 6, 32, 0, 30, 121, 122, 5, 61, 0,
+ 61, 123, 0, 0, 65, 72, 0, 66, 0, 0,
+ 70, 69, 76, 0, 145, 0, 146, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 84, 86, 88, 147, 116, 71, 149, 79, 0,
+ 46, 0, 120, 0, 61, 0, 0, 0, 0, 0,
+ 0, 159, 132, 152, 154, 0, 0, 0, 0, 1,
+ 4, 0, 174, 137, 57, 166, 156, 166, 138, 126,
+ 85, 73, 0, 74, 151, 0, 102, 0, 0, 0,
+ 0, 0, 67, 68, 117, 107, 118, 119, 0, 70,
+ 69, 180, 84, 183, 0, 182, 181, 185, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 148, 61, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 150, 160, 132, 120, 145, 0,
- 0, 142, 56, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 147,
- 136, 124, 46, 46, 134, 122, 159, 3, 0, 161,
- 0, 77, 64, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 127, 128, 67, 130, 0, 0,
- 0, 172, 0, 0, 88, 89, 86, 87, 90, 91,
- 83, 94, 95, 96, 85, 84, 93, 79, 80, 81,
- 82, 169, 0, 0, 144, 160, 0, 7, 8, 10,
- 11, 12, 13, 0, 0, 52, 17, 15, 0, 0,
- 0, 16, 14, 22, 23, 42, 125, 0, 0, 57,
- 0, 57, 166, 0, 72, 73, 75, 102, 0, 104,
- 0, 106, 0, 108, 0, 99, 100, 0, 183, 182,
- 181, 178, 0, 0, 0, 180, 166, 133, 0, 0,
- 37, 29, 45, 18, 19, 0, 137, 56, 56, 135,
- 53, 57, 162, 0, 0, 0, 0, 0, 170, 0,
- 57, 166, 9, 56, 54, 54, 57, 0, 44, 58,
- 59, 0, 49, 157, 0, 103, 105, 107, 109, 129,
- 0, 155, 57, 38, 30, 34, 53, 0, 0, 43,
- 56, 163, 74, 171, 152, 52, 0, 0, 0, 20,
- 21, 57, 0, 50, 0, 164, 156, 39, 0, 0,
- 28, 56, 52, 47, 0, 45, 31, 0, 0, 0,
- 165, 57, 52, 35, 48, 57, 0, 45, 52, 53,
- 40, 57, 45, 51, 0, 57, 32, 0, 36
+ 0, 0, 0, 0, 153, 142, 130, 51, 51, 140,
+ 128, 165, 3, 84, 174, 0, 0, 0, 167, 0,
+ 0, 0, 75, 150, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 87, 0, 0, 0, 178, 0,
+ 0, 84, 0, 98, 99, 96, 97, 100, 101, 93,
+ 104, 105, 106, 95, 94, 103, 89, 90, 91, 92,
+ 166, 0, 12, 13, 15, 16, 17, 18, 0, 0,
+ 57, 22, 20, 0, 0, 0, 27, 28, 21, 19,
+ 47, 131, 0, 0, 62, 0, 133, 134, 136, 175,
+ 62, 172, 0, 172, 139, 108, 0, 110, 0, 112,
+ 0, 114, 0, 77, 78, 188, 187, 189, 184, 0,
+ 0, 0, 186, 80, 81, 83, 0, 0, 42, 34,
+ 50, 23, 24, 0, 143, 61, 61, 141, 0, 58,
+ 62, 168, 62, 0, 0, 0, 0, 0, 172, 14,
+ 61, 59, 59, 62, 0, 49, 63, 64, 0, 176,
+ 0, 54, 163, 161, 109, 111, 113, 115, 0, 62,
+ 43, 35, 39, 58, 0, 0, 48, 135, 0, 61,
+ 169, 82, 158, 57, 0, 0, 0, 25, 26, 177,
+ 62, 0, 55, 0, 170, 162, 44, 0, 0, 33,
+ 61, 57, 52, 0, 50, 36, 0, 0, 0, 171,
+ 62, 57, 40, 53, 62, 0, 50, 57, 58, 45,
+ 62, 50, 56, 0, 62, 37, 0, 41
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -337, 163, -337, -337, 14, 2, -337, -337, -337, -337,
- -337, -337, -337, -337, -337, -336, 90, -337, -337, -337,
- -197, -314, -41, -337, -65, -150, -14, -6, -337, 51,
- -337, -337, -337, -337, -337, -337, -337, -337, -337, -337,
- -10, -337, -337, -337, -337, -337, -337, -337, -142, -337,
- -267, -51, -27, -337, -337, -337, -337, 64
+ -327, 78, -327, 0, -327, -74, 4, -327, -327, -327,
+ -327, -327, -327, -327, -327, -327, -299, 12, -327, -327,
+ -327, -235, -326, -123, -327, -24, -227, 127, -327, -43,
+ 250, -20, -327, -327, -327, -327, -327, -327, -327, -327,
+ -327, -327, -15, -327, -327, -327, -327, -327, -327, -327,
+ -106, -327, -255, -29, -107, -327, -327, -327, -327, -3
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 22, 23, 24, 25, 310, 304, 336, 362, 305,
- 337, 368, 303, 335, 355, 306, 248, 27, 330, 343,
- 178, 312, 324, 28, 99, 288, 59, 60, 293, 61,
- 62, 29, 68, 94, 92, 267, 147, 175, 171, 30,
- 75, 31, 65, 32, 76, 66, 33, 95, 180, 346,
- 291, 63, 299, 64, 122, 123, 124, 125
+ -1, 26, 27, 71, 29, 30, 317, 311, 344, 371,
+ 312, 345, 377, 310, 343, 364, 313, 253, 32, 339,
+ 352, 187, 321, 331, 33, 105, 296, 72, 307, 73,
+ 102, 75, 76, 34, 42, 97, 95, 298, 109, 180,
+ 176, 35, 77, 36, 39, 37, 79, 40, 38, 98,
+ 189, 355, 300, 103, 320, 78, 134, 135, 136, 137
};
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
@@ -1093,336 +1101,472 @@ static const yytype_int16 yydefgoto[] =
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 74, 145, 26, 222, 34, 79, 116, 91, 159, 300,
- 89, 90, 338, 93, 144, 132, 158, 35, 160, 361,
- 36, 37, 98, 102, 38, 227, 104, 101, 42, 43,
- 67, 371, 163, 46, 322, 233, 375, 87, 282, 141,
- 142, 96, 164, 106, 107, 108, 109, 110, 111, 112,
- 113, 115, 121, 229, 183, 373, 234, 231, 1, 197,
- 143, 46, 2, 148, 151, 46, 77, 150, 88, 161,
- 162, 165, 4, 5, 6, 7, 50, 51, 52, 53,
- 169, 166, 238, 278, 11, 252, 13, 225, 253, 181,
- 132, 97, 239, 16, 17, 18, 105, 105, 103, 26,
- 73, 290, 198, 58, 50, 51, 52, 53, 50, 51,
- 52, 53, 139, 140, 141, 142, 276, 20, 100, 253,
- 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
- 214, 215, 216, 217, 218, 219, 220, 221, 347, 226,
- 146, 313, 143, 224, 301, 132, 152, 253, 133, 149,
- 321, 153, 235, 236, 237, 359, 326, 241, 242, 243,
- 244, 245, 246, 327, 157, 367, 138, 139, 140, 141,
- 142, 372, 334, 328, 105, 194, 195, 167, 257, 258,
- 259, 260, 261, 262, 263, 264, 265, 266, 82, 83,
- 84, 351, 268, 269, 270, 85, 271, 105, 254, 255,
- 170, 86, 272, 273, 274, 228, 230, 232, 80, 81,
- 174, 366, 256, 143, 176, 369, 319, 320, 332, 320,
- 179, 374, 308, 311, 201, 377, 251, 280, 281, 341,
- 342, 199, 283, 284, 200, 202, 203, 223, 323, 240,
- 247, 250, 277, 279, 285, 286, 289, 292, 198, 329,
- 345, 348, 349, 350, 353, 354, 357, 360, 365, 364,
- 177, 298, 287, 249, 325, 344, 314, 275, 0, 0,
- 0, 307, 0, 302, 0, 0, 0, 0, 0, 34,
- 0, 0, 0, 0, 0, 0, 358, 298, 315, 316,
- 317, 318, 35, 0, 0, 36, 37, 0, 0, 38,
- 39, 40, 117, 118, 119, 0, 0, 0, 44, 45,
- 46, 47, 48, 0, 333, 0, 0, 0, 0, 0,
- 0, 339, 340, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 352, 0, 0, 0,
- 0, 0, 356, 0, 0, 0, 49, 0, 0, 0,
- 0, 363, 0, 50, 51, 52, 53, 54, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, -167, 34, 55,
- 56, 0, 0, 0, 0, 73, 0, 0, 58, -173,
- 120, 35, 0, 0, 36, 37, 0, 0, 38, 39,
- 40, 41, 42, 43, -167, -167, 0, 44, 45, 46,
- 47, 48, 0, -167, -167, -167, -167, -167, -167, -167,
- 0, 0, 0, 0, -167, 0, 0, -167, -167, -167,
- 0, 0, -167, 0, 0, 0, -167, -167, -167, 0,
- 0, 0, 0, 0, 0, 49, 0, 0, 0, 0,
- 0, 0, 50, 51, 52, 53, 54, 0, 0, -167,
- -167, 0, -167, -167, -167, -167, 34, 0, 55, 56,
- 0, 0, 0, -167, 57, 0, -167, 58, 0, 35,
- 0, 0, 36, 37, 0, 0, 38, 39, 40, 41,
- 42, 43, -167, -167, 0, 44, 45, 46, 47, 48,
- 0, -167, -167, -167, -167, -167, -167, -167, 0, 0,
- 0, 0, -167, 0, 0, -167, -167, -167, 0, 0,
- -167, 0, 0, 0, -167, -167, -167, 0, 0, 0,
- 0, 0, 0, 49, 0, 0, 0, 0, 0, 0,
- 50, 51, 52, 53, 54, 0, 0, -167, -167, 0,
- -167, -167, -167, 34, 0, 0, 55, 56, 0, 0,
- 0, -167, 73, 0, -167, 58, 35, 0, 0, 36,
- 37, 0, 0, 38, 39, 40, 41, 42, 43, 0,
- 0, 0, 44, 45, 46, 47, 48, 0, 0, 0,
- 0, 0, 34, 0, 0, 0, 0, 0, 69, 70,
- 71, 72, 0, 0, 0, 35, 0, 0, 36, 37,
- 0, 0, 38, 39, 40, 41, 42, 43, 0, 0,
- 49, 44, 45, 46, 47, 48, 0, 50, 51, 52,
- 53, 54, 0, 0, 0, 0, 0, 69, 0, 71,
- 0, 0, 0, 55, 56, 0, 0, 0, 0, 73,
- 0, 0, 58, 0, 0, 0, 0, 0, 0, 49,
- 0, 0, 0, 0, 0, 0, 50, 51, 52, 53,
- 54, 0, 0, 34, 0, 0, 0, 0, 0, 0,
- 0, 0, 55, 56, 0, 0, 35, 0, 73, 36,
- 37, 58, 0, 38, 39, 40, 114, 42, 43, 34,
- 0, 0, 44, 45, 46, 47, 48, 0, 0, 0,
- 0, 0, 35, 0, 0, 36, 37, 0, 0, 38,
- 39, 40, 182, 42, 43, 0, 0, 0, 44, 45,
- 46, 47, 48, 0, 0, 0, 0, 0, 0, 0,
- 49, 0, 0, 0, 0, 0, 0, 50, 51, 52,
- 53, 54, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 55, 56, 0, 49, 0, 0, 73,
- -167, -167, 58, 50, 51, 52, 53, 54, 0, 0,
- 0, 0, 0, 0, 0, 0, 34, 0, 0, 55,
- 56, 0, 0, 0, 0, 73, -167, -167, 58, 35,
- 0, 0, 36, 37, 0, 78, 38, 39, 40, 41,
- 42, 43, 34, 0, 0, 44, 45, 46, 47, 48,
- 0, 0, 0, 0, 0, 35, 0, 0, 36, 37,
- 0, 0, 38, 39, 40, 41, 42, 43, 0, 0,
- 0, 44, 45, 46, 47, 48, 0, 0, 0, 0,
- 0, 0, 0, 49, 0, 0, 0, 0, 0, 0,
- 50, 51, 52, 53, 54, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 55, 56, 0, 49,
- 0, 0, 73, 0, 0, 58, 50, 51, 52, 53,
- 54, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1, 55, 56, 331, 2, 0, 0, 73, 0,
- 0, 58, 0, 0, 0, 4, 5, 6, 7, 8,
- 0, 0, 0, 0, 10, 0, 1, 11, 12, 13,
- 2, 0, 14, 0, 0, 0, 16, 17, 18, 0,
- 4, 5, 6, 7, 8, 0, 0, 0, 0, 10,
- 0, 0, 11, 12, 13, 0, 0, 14, 0, 19,
- 20, 16, 17, 18, 1, 0, 0, 0, 2, 0,
- 0, 0, 0, 309, 0, 0, 0, 0, 4, 5,
- 6, 7, 8, 0, 19, 20, 0, 10, 370, 0,
- 11, 12, 13, 1, 0, 14, 0, 2, 309, 16,
- 17, 18, 0, 0, 0, 0, 0, 4, 5, 6,
- 7, 8, 0, 0, 0, 0, 10, 0, 0, 11,
- 12, 13, 19, 20, 14, 0, 376, 0, 16, 17,
- 18, 1, 0, 0, 0, 2, 309, 0, 0, 0,
- 0, 0, 0, 0, 0, 4, 5, 6, 7, 8,
- 0, 19, 20, 0, 10, 378, 0, 11, 12, 13,
- 0, 0, 14, 0, 0, 309, 16, 17, 18, 0,
- 1, 0, 0, 0, 2, 3, 0, 0, 0, 0,
- 0, 0, -33, 0, 4, 5, 6, 7, 8, 19,
- 20, 9, 0, 10, 0, 0, 11, 12, 13, 0,
- 0, 14, 0, 309, 15, 16, 17, 18, 0, 126,
- 127, 128, 129, 130, 131, 0, 132, 0, 0, 133,
- 134, 135, 0, 0, 154, 0, 0, 0, 19, 20,
- 21, 0, 0, 0, 0, 136, 137, 138, 139, 140,
- 141, 142, 126, 127, 128, 129, 130, 131, 0, 132,
- 155, 156, 133, 134, 135, 0, 0, 0, 0, 69,
- 0, 71, 0, 0, 0, 0, 0, 0, 136, 137,
- 138, 139, 140, 141, 142, 126, 127, 128, 129, 130,
- 131, 0, 132, 0, 0, 133, 134, 135, 0, 0,
- 0, 0, 0, 0, 184, 0, 0, 0, 0, 0,
- 185, 136, 137, 138, 139, 140, 141, 142, 126, 127,
- 128, 129, 130, 131, 0, 132, 0, 0, 133, 134,
- 135, 0, 0, 0, 0, 0, 0, 186, 0, 0,
- 0, 0, 0, 187, 136, 137, 138, 139, 140, 141,
- 142, 126, 127, 128, 129, 130, 131, 0, 132, 0,
- 0, 133, 134, 135, 0, 0, 0, 0, 0, 0,
- 188, 0, 0, 0, 0, 0, 189, 136, 137, 138,
- 139, 140, 141, 142, 126, 127, 128, 129, 130, 131,
- 0, 132, 0, 0, 133, 134, 135, 0, 0, 0,
- 0, 0, 0, 190, 0, 0, 0, 0, 0, 191,
- 136, 137, 138, 139, 140, 141, 142, 126, 127, 128,
- 129, 130, 131, 0, 132, 0, 0, 133, 134, 135,
- 0, 0, 0, 0, 0, 0, 294, 0, 0, 0,
- 0, 0, 0, 136, 137, 138, 139, 140, 141, 142,
- 126, 127, 128, 129, 130, 131, 0, 132, 0, 0,
- 133, 134, 135, 0, 0, 0, 0, 0, 0, 295,
- 0, 0, 0, 0, 0, 0, 136, 137, 138, 139,
- 140, 141, 142, 126, 127, 128, 129, 130, 131, 0,
- 132, 0, 0, 133, 134, 135, 0, 0, 0, 0,
- 0, 0, 296, 0, 0, 0, 0, 0, 0, 136,
- 137, 138, 139, 140, 141, 142, 126, 127, 128, 129,
- 130, 131, 0, 132, 0, 0, 133, 134, 135, 0,
- 0, 0, 0, 0, 0, 297, 0, 0, 0, 0,
- 0, 0, 136, 137, 138, 139, 140, 141, 142, 126,
- 127, 128, 129, 130, 131, 0, 132, 0, 0, 133,
- 134, 135, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 172, 136, 137, 138, 139, 140,
- 141, 142, 126, 127, 128, 129, 130, 131, 0, 132,
- 0, 0, 133, 134, 135, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 136, 137,
- 138, 139, 140, 141, 142, 168, 173, 0, 0, 0,
- 0, 126, 127, 128, 129, 130, 131, 0, 132, 0,
- 0, 133, 134, 135, 126, 127, 128, 129, 130, 131,
- 0, 132, 0, 0, 133, 134, 135, 136, 137, 138,
- 139, 140, 141, 142, 0, 0, 0, 0, 0, 0,
- 136, 137, 138, 139, 140, 141, 142, 0, 0, 0,
- 196, 126, 127, 128, 129, 130, 131, 0, 132, 0,
- 0, 133, 134, 135, 0, 0, 0, 0, 0, 192,
- 193, 0, 0, 0, 0, 0, 0, 136, 137, 138,
- 139, 140, 141, 142, 126, 127, 128, 129, 130, 131,
- 0, 132, 0, 0, 133, 134, 135, 126, 127, 128,
- 129, 0, 0, 0, 132, 0, 0, 133, 134, 135,
- 136, 137, 138, 139, 140, 141, 142, 0, 0, 0,
- 0, 0, 0, 136, 137, 138, 139, 140, 141, 142
+ 28, 190, 94, 111, 31, 290, 113, 346, 302, 41,
+ 106, 238, 145, 89, 90, 91, 107, 1, 279, 280,
+ 122, 123, 138, 261, 80, 145, 262, 207, 146, 100,
+ 145, 164, 239, 299, 152, 153, 154, 155, 85, 86,
+ 87, 165, 108, 166, 167, 1, 151, 152, 153, 154,
+ 155, 88, 382, 329, 154, 155, 168, 170, 99, 156,
+ 163, 243, 83, 84, 334, 370, 169, 171, 112, 192,
+ 132, 244, 185, 322, 335, 323, 115, 380, 174, 157,
+ 138, 158, 384, 162, 263, 186, 333, 262, 110, 22,
+ 23, 24, 25, 258, 186, 175, 308, 179, 181, 262,
+ 28, 183, 342, 172, 31, 188, 208, 188, 356, 212,
+ 138, 256, 257, 1, 191, 231, 209, 22, 23, 24,
+ 25, 285, 186, 360, 286, 210, 368, 138, 283, 284,
+ 1, 337, 338, 230, 341, 338, 376, 205, 211, 233,
+ 235, 237, 381, 375, 350, 351, 206, 378, 245, 252,
+ 255, 43, 260, 383, 287, 207, 336, 386, 357, 232,
+ 234, 236, 359, 358, 44, 362, 363, 45, 46, 366,
+ 373, 47, 48, 49, 1, 50, 51, 374, 182, 295,
+ 52, 58, 59, 60, 61, 22, 23, 24, 25, 332,
+ 254, 264, 124, 125, 126, 127, 53, 54, 55, 56,
+ 328, 0, 22, 66, 24, 25, 0, 282, 0, 0,
+ 281, 0, 0, 0, 0, 0, 0, 0, 57, 0,
+ 0, 0, 0, 0, 0, 58, 59, 60, 61, 62,
+ 188, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 63, 64, 0, 0, 293, 65, 66, 67, 68,
+ 314, 69, 294, 28, 70, 297, 74, 0, 0, 0,
+ 0, 82, 301, 0, 0, 0, 92, 93, 0, 96,
+ 0, 315, 318, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 104, 0, 0, 330, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 28, 0, 0, 28,
+ -38, 0, 0, 114, 0, 0, 0, 116, 117, 118,
+ 119, 120, 121, 0, 0, 353, 0, 0, 0, 128,
+ 133, 0, 28, 28, 0, 0, 0, 139, 140, 141,
+ 142, 143, 144, 28, 145, 0, 367, 146, 147, 148,
+ 354, 0, 28, 0, 0, 0, 0, 0, 0, 0,
+ 0, 184, 0, 149, 150, 151, 152, 153, 154, 155,
+ 28, 0, 0, 369, 0, 193, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 28, 0, 0, 28, 0,
+ 0, 0, 0, 28, 0, 0, 28, 0, 0, 213,
+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 0, 0, 0, 0,
+ 0, 0, 0, 240, 241, 242, 0, 0, 246, 247,
+ 248, 249, 250, 251, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 259, 0, 0, 0,
+ 0, 0, 0, 0, 265, 266, 267, 268, 269, 270,
+ 271, 272, 273, 274, 0, 275, 276, 277, 0, 278,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ 0, 0, 340, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 4, 5, 6, 7, 8, 288, 289,
+ 0, 0, 10, 291, 292, 11, 12, 13, 0, 0,
+ 14, 0, 0, 1, 16, 17, 18, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 4, 5, 6,
+ 7, 8, 0, 0, 0, 0, 10, 19, 20, 11,
+ 12, 13, 0, 0, 14, 0, 0, 309, 16, 17,
+ 18, 22, 23, 24, 25, 316, 0, 0, 319, 0,
+ 0, 0, 0, 324, 325, 326, 327, 319, 0, 0,
+ 0, 19, 20, 0, 0, 379, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 22, 23, 24, 25, 316,
+ 0, 0, 0, 0, 347, 348, 0, 0, 349, 0,
+ 0, 0, 0, 0, 0, 0, -8, 43, 0, 0,
+ 0, 361, 0, 0, 0, 0, 0, 365, 0, 0,
+ 44, 0, 0, 45, 46, 0, 372, 47, 48, 49,
+ 1, 50, 51, -8, -8, 0, 52, 0, 0, 0,
+ 0, -8, -8, -8, -8, -8, -8, -8, -8, 0,
+ -8, 0, -8, -8, -8, 0, -8, -8, -8, -8,
+ -8, -8, -8, 0, 0, -8, -8, -8, -8, -8,
+ -8, -8, -8, -8, 0, -8, -8, -8, -8, -8,
+ -8, 58, 59, 60, 61, 62, -8, -8, -8, -8,
+ 0, -8, -8, -8, -8, -8, -8, -8, -8, -8,
+ -8, 0, 65, 66, 67, 68, -8, -8, -8, -8,
+ 70, -8, -8, -9, 43, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 44, 0, 0,
+ 45, 46, 0, 0, 47, 48, 49, 1, 50, 51,
+ -9, -9, 0, 52, 0, 0, 0, 0, -9, -9,
+ -9, -9, -9, -9, -9, -9, 0, -9, 0, -9,
+ -9, -9, 0, -9, -9, -9, -9, -9, -9, -9,
+ 0, 0, -9, -9, -9, -9, -9, -9, -9, -9,
+ -9, 0, -9, -9, -9, -9, -9, -9, 58, 59,
+ 60, 61, 62, -9, -9, -9, -9, 0, -9, -9,
+ -9, -9, -9, -9, -9, -9, -9, -9, 0, 65,
+ 66, 67, 68, -9, -9, -9, -9, 70, -9, -9,
+ -10, 43, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 44, 0, 0, 45, 46, 0,
+ 0, 47, 48, 49, 1, 50, 51, -10, -10, 0,
+ 52, 0, 0, 0, 0, -10, -10, -10, -10, -10,
+ -10, -10, -10, 0, -10, 0, -10, -10, -10, 0,
+ -10, -10, -10, -10, -10, -10, -10, 0, 0, -10,
+ -10, -10, -10, -10, -10, -10, -10, -10, 0, -10,
+ -10, -10, -10, -10, -10, 58, 59, 60, 61, 62,
+ -10, -10, -10, -10, 0, -10, -10, -10, -10, -10,
+ -10, -10, -10, -10, -10, 0, 65, 66, 67, 68,
+ -10, -10, -10, -10, 70, -10, -10, -11, 43, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 44, 0, 0, 45, 46, 0, 0, 47, 48,
+ 49, 1, 50, 51, -11, -11, 0, 52, 0, 0,
+ 0, 0, -11, -11, -11, -11, -11, -11, -11, -11,
+ 0, -11, 0, -11, -11, -11, 0, -11, -11, -11,
+ -11, -11, -11, -11, 0, 0, -11, -11, -11, -11,
+ -11, -11, -11, -11, -11, 0, -11, -11, -11, -11,
+ -11, -11, 58, 59, 60, 61, 62, -11, -11, -11,
+ -11, 0, -11, -11, -11, -11, -11, -11, -11, -11,
+ -11, -11, 43, 65, 66, 67, 68, -11, -11, -11,
+ -11, 70, -11, -11, 159, 44, 0, 0, 45, 46,
+ 0, 0, 47, 48, 49, 1, 129, 130, 0, 0,
+ 0, 52, 139, 140, 141, 142, 143, 144, 0, 145,
+ 160, 161, 146, 147, 148, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
+ 151, 152, 153, 154, 155, 0, 0, 0, 0, 57,
+ 0, 0, 0, 0, 0, 0, 58, 59, 60, 61,
+ 62, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 63, 64, -173, 43, 0, 65, 66, 67,
+ 68, 0, 69, 0, 0, 70, -179, 131, 44, 0,
+ 0, 45, 46, 0, 0, 47, 48, 49, 1, 50,
+ 51, -173, -173, 0, 52, 0, 0, 0, 0, 0,
+ -173, -173, -173, -173, -173, -173, -173, 0, 0, 0,
+ 0, -173, 0, 0, -173, -173, -173, 0, 0, -173,
+ 0, 0, 0, -173, -173, -173, 0, 0, 0, 0,
+ 0, 0, 57, 0, 0, 0, 0, 0, 0, 58,
+ 59, 60, 61, 62, 0, 0, -173, -173, 0, -173,
+ -173, -173, -173, 43, 0, 63, 64, 0, 0, 0,
+ 65, 66, 67, 68, -173, 101, 44, -173, 70, 45,
+ 46, 0, 0, 47, 48, 49, 1, 50, 51, -173,
+ -173, 0, 52, 0, 0, 0, 0, 0, -173, -173,
+ -173, -173, -173, -173, -173, 0, 0, 0, 0, -173,
+ 0, 0, -173, -173, -173, 0, 0, -173, 0, 0,
+ 0, -173, -173, -173, 0, 0, 0, 0, 0, 0,
+ 57, 0, 0, 0, 0, 0, 0, 58, 59, 60,
+ 61, 62, 0, 0, -173, -173, 0, -173, -173, -173,
+ 0, 43, 0, 63, 64, 0, 0, 0, 65, 66,
+ 67, 68, -173, 69, 44, -173, 70, 45, 46, 0,
+ 0, 47, 48, 49, 1, 50, 51, 0, 0, 0,
+ 52, 0, 0, 0, 0, 0, 43, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 53, 0, 55, 44,
+ 0, 0, 45, 46, 0, 0, 47, 48, 49, 1,
+ 50, 51, 0, 0, 0, 52, 0, 0, 57, 0,
+ 0, 0, 0, 0, 0, 58, 59, 60, 61, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 63, 64, 0, 0, 0, 65, 66, 67, 68,
+ 0, 69, 0, 57, 70, 0, 0, 0, 0, 0,
+ 58, 59, 60, 61, 62, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 63, 64, 43, 0,
+ 0, 65, 66, 67, 68, 0, 69, -173, -173, 70,
+ 0, 44, 0, 0, 45, 46, 0, 81, 47, 48,
+ 49, 1, 50, 51, 0, 0, 0, 52, 0, 0,
+ 43, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 44, 0, 0, 45, 46, 0, 0,
+ 47, 48, 49, 1, 50, 51, 0, 0, 0, 52,
+ 0, 0, 0, 0, 0, 57, 0, 0, 0, 0,
+ 0, 0, 58, 59, 60, 61, 62, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63, 64,
+ 0, 0, 0, 65, 66, 67, 68, 57, 69, 0,
+ 0, 70, 0, 0, 58, 59, 60, 61, 62, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 43, 0,
+ 63, 64, 0, 0, 0, 65, 66, 67, 68, 0,
+ 69, 44, 0, 70, 45, 46, 0, 0, 47, 48,
+ 49, 1, 50, 51, 0, 0, 0, 52, 0, 0,
+ 0, 0, 1, 0, 0, 0, 2, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 4, 5, 6, 7,
+ 8, 0, 0, 0, 0, 10, 0, 0, 11, 12,
+ 13, 0, 0, 14, 0, 0, 0, 16, 17, 18,
+ 0, 0, 58, 59, 60, 61, 62, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63, 64,
+ 19, 20, 0, 65, 66, 67, 68, 0, 69, 1,
+ 0, 70, 0, 2, 22, 23, 24, 25, 316, 0,
+ 0, 0, 0, 4, 5, 6, 7, 8, 0, 0,
+ 0, 0, 10, 0, 0, 11, 12, 13, 1, 0,
+ 14, 0, 2, 0, 16, 17, 18, 0, 0, 0,
+ 0, 0, 4, 5, 6, 7, 8, 0, 0, 0,
+ 0, 10, 0, 0, 11, 12, 13, 19, 20, 14,
+ 0, 385, 0, 16, 17, 18, 0, 0, 0, 0,
+ 0, 22, 23, 24, 25, 316, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 19, 20, 0, 0,
+ 387, 1, 0, 0, 0, 2, 3, 0, 0, 0,
+ 22, 23, 24, 25, 316, 4, 5, 6, 7, 8,
+ 0, 0, 9, 0, 10, 0, 0, 11, 12, 13,
+ 1, 0, 14, 0, 2, 15, 16, 17, 18, 0,
+ 0, 0, 0, 0, 4, 5, 6, 7, 0, 0,
+ 0, 0, 0, 0, 0, 0, 11, 0, 13, 19,
+ 20, 21, 0, 0, 0, 16, 17, 18, 0, 0,
+ 0, 0, 0, 22, 23, 24, 25, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 20,
+ 53, 0, 55, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 22, 23, 24, 25, 139, 140, 141, 142,
+ 143, 144, 0, 145, 0, 0, 146, 147, 148, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 177, 149, 150, 151, 152, 153, 154, 155, 139,
+ 140, 141, 142, 143, 144, 0, 145, 0, 0, 146,
+ 147, 148, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 149, 150, 151, 152, 153,
+ 154, 155, 194, 0, 0, 0, 0, 178, 195, 0,
+ 0, 0, 0, 0, 0, 0, 139, 140, 141, 142,
+ 143, 144, 0, 145, 0, 0, 146, 147, 148, 0,
+ 0, 0, 0, 0, 0, 196, 0, 0, 0, 0,
+ 0, 197, 149, 150, 151, 152, 153, 154, 155, 139,
+ 140, 141, 142, 143, 144, 0, 145, 0, 0, 146,
+ 147, 148, 0, 0, 0, 0, 0, 0, 198, 0,
+ 0, 0, 0, 0, 199, 149, 150, 151, 152, 153,
+ 154, 155, 139, 140, 141, 142, 143, 144, 0, 145,
+ 0, 0, 146, 147, 148, 0, 0, 0, 0, 0,
+ 0, 200, 0, 0, 0, 0, 0, 201, 149, 150,
+ 151, 152, 153, 154, 155, 139, 140, 141, 142, 143,
+ 144, 0, 145, 0, 0, 146, 147, 148, 0, 0,
+ 0, 0, 0, 0, 303, 0, 0, 0, 0, 0,
+ 0, 149, 150, 151, 152, 153, 154, 155, 139, 140,
+ 141, 142, 143, 144, 0, 145, 0, 0, 146, 147,
+ 148, 0, 0, 0, 0, 0, 0, 304, 0, 0,
+ 0, 0, 0, 0, 149, 150, 151, 152, 153, 154,
+ 155, 139, 140, 141, 142, 143, 144, 0, 145, 0,
+ 0, 146, 147, 148, 0, 0, 0, 0, 0, 0,
+ 305, 0, 0, 0, 0, 0, 0, 149, 150, 151,
+ 152, 153, 154, 155, 139, 140, 141, 142, 143, 144,
+ 0, 145, 0, 0, 146, 147, 148, 0, 0, 0,
+ 0, 0, 0, 306, 0, 0, 0, 0, 0, 0,
+ 149, 150, 151, 152, 153, 154, 155, 139, 140, 141,
+ 142, 143, 144, 0, 145, 0, 0, 146, 147, 148,
+ 139, 140, 141, 142, 143, 144, 0, 145, 0, 0,
+ 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
+ 0, 0, 0, 0, 0, 0, 149, 150, 151, 152,
+ 153, 154, 155, 0, 0, 173, 0, 0, 0, 0,
+ 204, 139, 140, 141, 142, 143, 144, 0, 145, 0,
+ 0, 146, 147, 148, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 149, 150, 151,
+ 152, 153, 154, 155, 139, 140, 141, 142, 143, 144,
+ 0, 145, 0, 0, 146, 147, 148, 0, 0, 0,
+ 0, 0, 202, 203, 0, 0, 0, 0, 0, 0,
+ 149, 150, 151, 152, 153, 154, 155, 139, 140, 141,
+ 142, 143, 144, 0, 145, 0, 0, 146, 147, 148,
+ 139, 140, 141, 142, 0, 0, 0, 145, 0, 0,
+ 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
+ 0, 0, 0, 0, 0, 0, 149, 150, 151, 152,
+ 153, 154, 155
};
static const yytype_int16 yycheck[] =
{
- 6, 66, 0, 145, 1, 11, 57, 17, 54, 276,
- 16, 17, 326, 19, 65, 69, 81, 14, 64, 355,
- 17, 18, 28, 37, 21, 24, 40, 24, 25, 26,
- 51, 367, 54, 32, 301, 43, 372, 24, 235, 93,
- 94, 0, 64, 49, 50, 51, 52, 53, 54, 55,
- 56, 57, 58, 24, 105, 369, 64, 24, 24, 98,
- 99, 32, 28, 69, 74, 32, 51, 73, 24, 83,
- 84, 54, 38, 39, 40, 41, 75, 76, 77, 78,
- 90, 64, 54, 225, 50, 96, 52, 152, 99, 103,
- 69, 96, 64, 59, 60, 61, 97, 97, 48, 97,
- 97, 251, 102, 100, 75, 76, 77, 78, 75, 76,
- 77, 78, 91, 92, 93, 94, 96, 83, 96, 99,
- 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
- 136, 137, 138, 139, 140, 141, 142, 143, 335, 153,
- 24, 291, 99, 149, 96, 69, 24, 99, 72, 46,
- 300, 24, 158, 159, 160, 352, 306, 163, 164, 165,
- 166, 167, 168, 54, 24, 362, 90, 91, 92, 93,
- 94, 368, 322, 64, 97, 98, 99, 53, 184, 185,
- 186, 187, 188, 189, 190, 191, 192, 193, 17, 18,
- 19, 341, 198, 199, 200, 24, 202, 97, 98, 99,
- 24, 30, 24, 25, 26, 154, 155, 156, 56, 57,
- 24, 361, 98, 99, 24, 365, 98, 99, 98, 99,
- 24, 371, 287, 288, 101, 375, 53, 233, 234, 36,
- 37, 102, 238, 239, 102, 99, 99, 99, 303, 48,
- 99, 99, 24, 44, 24, 24, 24, 24, 102, 87,
- 24, 54, 35, 86, 85, 99, 54, 24, 53, 85,
- 97, 267, 248, 173, 305, 330, 293, 203, -1, -1,
- -1, 285, -1, 279, -1, -1, -1, -1, -1, 1,
- -1, -1, -1, -1, -1, -1, 351, 293, 294, 295,
- 296, 297, 14, -1, -1, 17, 18, -1, -1, 21,
- 22, 23, 24, 25, 26, -1, -1, -1, 30, 31,
- 32, 33, 34, -1, 320, -1, -1, -1, -1, -1,
- -1, 327, 328, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 342, -1, -1, -1,
- -1, -1, 348, -1, -1, -1, 68, -1, -1, -1,
- -1, 357, -1, 75, 76, 77, 78, 79, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 0, 1, 91,
- 92, -1, -1, -1, -1, 97, -1, -1, 100, 101,
- 102, 14, -1, -1, 17, 18, -1, -1, 21, 22,
- 23, 24, 25, 26, 27, 28, -1, 30, 31, 32,
- 33, 34, -1, 36, 37, 38, 39, 40, 41, 42,
- -1, -1, -1, -1, 47, -1, -1, 50, 51, 52,
- -1, -1, 55, -1, -1, -1, 59, 60, 61, -1,
- -1, -1, -1, -1, -1, 68, -1, -1, -1, -1,
- -1, -1, 75, 76, 77, 78, 79, -1, -1, 82,
- 83, -1, 85, 86, 87, 0, 1, -1, 91, 92,
- -1, -1, -1, 96, 97, -1, 99, 100, -1, 14,
- -1, -1, 17, 18, -1, -1, 21, 22, 23, 24,
- 25, 26, 27, 28, -1, 30, 31, 32, 33, 34,
- -1, 36, 37, 38, 39, 40, 41, 42, -1, -1,
- -1, -1, 47, -1, -1, 50, 51, 52, -1, -1,
- 55, -1, -1, -1, 59, 60, 61, -1, -1, -1,
- -1, -1, -1, 68, -1, -1, -1, -1, -1, -1,
- 75, 76, 77, 78, 79, -1, -1, 82, 83, -1,
- 85, 86, 87, 1, -1, -1, 91, 92, -1, -1,
- -1, 96, 97, -1, 99, 100, 14, -1, -1, 17,
- 18, -1, -1, 21, 22, 23, 24, 25, 26, -1,
- -1, -1, 30, 31, 32, 33, 34, -1, -1, -1,
- -1, -1, 1, -1, -1, -1, -1, -1, 46, 47,
- 48, 49, -1, -1, -1, 14, -1, -1, 17, 18,
+ 0, 107, 17, 46, 0, 240, 49, 333, 263, 51,
+ 39, 43, 69, 13, 14, 15, 40, 24, 25, 26,
+ 63, 64, 101, 100, 51, 69, 103, 106, 72, 100,
+ 69, 54, 64, 260, 91, 92, 93, 94, 17, 18,
+ 19, 64, 42, 86, 87, 24, 90, 91, 92, 93,
+ 94, 30, 378, 308, 93, 94, 54, 54, 0, 74,
+ 84, 54, 56, 57, 54, 364, 64, 64, 48, 112,
+ 70, 64, 101, 300, 64, 302, 46, 376, 93, 79,
+ 101, 81, 381, 83, 100, 103, 313, 103, 100, 96,
+ 97, 98, 99, 102, 103, 95, 100, 97, 98, 103,
+ 100, 101, 329, 53, 100, 105, 105, 107, 343, 138,
+ 101, 102, 103, 24, 103, 158, 103, 96, 97, 98,
+ 99, 102, 103, 350, 230, 103, 361, 101, 102, 103,
+ 24, 102, 103, 157, 102, 103, 371, 106, 138, 159,
+ 160, 161, 377, 370, 36, 37, 106, 374, 48, 103,
+ 103, 1, 53, 380, 44, 106, 87, 384, 54, 159,
+ 160, 161, 86, 35, 14, 85, 103, 17, 18, 54,
+ 85, 21, 22, 23, 24, 25, 26, 53, 100, 253,
+ 30, 75, 76, 77, 78, 96, 97, 98, 99, 312,
+ 178, 191, 65, 66, 67, 68, 46, 47, 48, 49,
+ 307, -1, 96, 97, 98, 99, -1, 210, -1, -1,
+ 210, -1, -1, -1, -1, -1, -1, -1, 68, -1,
+ -1, -1, -1, -1, -1, 75, 76, 77, 78, 79,
+ 230, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 91, 92, -1, -1, 245, 96, 97, 98, 99,
+ 293, 101, 252, 253, 104, 255, 6, -1, -1, -1,
+ -1, 11, 262, -1, -1, -1, 16, 17, -1, 19,
+ -1, 295, 296, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 33, -1, -1, 310, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 296, -1, -1, 299,
+ 35, -1, -1, 53, -1, -1, -1, 57, 58, 59,
+ 60, 61, 62, -1, -1, 339, -1, -1, -1, 69,
+ 70, -1, 322, 323, -1, -1, -1, 62, 63, 64,
+ 65, 66, 67, 333, 69, -1, 360, 72, 73, 74,
+ 340, -1, 342, -1, -1, -1, -1, -1, -1, -1,
+ -1, 101, -1, 88, 89, 90, 91, 92, 93, 94,
+ 360, -1, -1, 363, -1, 115, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 375, -1, -1, 378, -1,
+ -1, -1, -1, 383, -1, -1, 386, -1, -1, 139,
+ 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
+ 150, 151, 152, 153, 154, 155, -1, -1, -1, -1,
+ -1, -1, -1, 163, 164, 165, -1, -1, 168, 169,
+ 170, 171, 172, 173, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 186, -1, -1, -1,
+ -1, -1, -1, -1, 194, 195, 196, 197, 198, 199,
+ 200, 201, 202, 203, -1, 205, 206, 207, -1, 209,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 24,
+ -1, -1, 27, 28, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 38, 39, 40, 41, 42, 238, 239,
+ -1, -1, 47, 243, 244, 50, 51, 52, -1, -1,
+ 55, -1, -1, 24, 59, 60, 61, 28, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 38, 39, 40,
+ 41, 42, -1, -1, -1, -1, 47, 82, 83, 50,
+ 51, 52, -1, -1, 55, -1, -1, 287, 59, 60,
+ 61, 96, 97, 98, 99, 100, -1, -1, 298, -1,
+ -1, -1, -1, 303, 304, 305, 306, 307, -1, -1,
+ -1, 82, 83, -1, -1, 86, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 96, 97, 98, 99, 100,
+ -1, -1, -1, -1, 334, 335, -1, -1, 338, -1,
+ -1, -1, -1, -1, -1, -1, 0, 1, -1, -1,
+ -1, 351, -1, -1, -1, -1, -1, 357, -1, -1,
+ 14, -1, -1, 17, 18, -1, 366, 21, 22, 23,
+ 24, 25, 26, 27, 28, -1, 30, -1, -1, -1,
+ -1, 35, 36, 37, 38, 39, 40, 41, 42, -1,
+ 44, -1, 46, 47, 48, -1, 50, 51, 52, 53,
+ 54, 55, 56, -1, -1, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, -1, 69, 70, 71, 72, 73,
+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
+ -1, 85, 86, 87, 88, 89, 90, 91, 92, 93,
+ 94, -1, 96, 97, 98, 99, 100, 101, 102, 103,
+ 104, 105, 106, 0, 1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 14, -1, -1,
+ 17, 18, -1, -1, 21, 22, 23, 24, 25, 26,
+ 27, 28, -1, 30, -1, -1, -1, -1, 35, 36,
+ 37, 38, 39, 40, 41, 42, -1, 44, -1, 46,
+ 47, 48, -1, 50, 51, 52, 53, 54, 55, 56,
+ -1, -1, 59, 60, 61, 62, 63, 64, 65, 66,
+ 67, -1, 69, 70, 71, 72, 73, 74, 75, 76,
+ 77, 78, 79, 80, 81, 82, 83, -1, 85, 86,
+ 87, 88, 89, 90, 91, 92, 93, 94, -1, 96,
+ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
+ 0, 1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 14, -1, -1, 17, 18, -1,
+ -1, 21, 22, 23, 24, 25, 26, 27, 28, -1,
+ 30, -1, -1, -1, -1, 35, 36, 37, 38, 39,
+ 40, 41, 42, -1, 44, -1, 46, 47, 48, -1,
+ 50, 51, 52, 53, 54, 55, 56, -1, -1, 59,
+ 60, 61, 62, 63, 64, 65, 66, 67, -1, 69,
+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, -1, 85, 86, 87, 88, 89,
+ 90, 91, 92, 93, 94, -1, 96, 97, 98, 99,
+ 100, 101, 102, 103, 104, 105, 106, 0, 1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 14, -1, -1, 17, 18, -1, -1, 21, 22,
+ 23, 24, 25, 26, 27, 28, -1, 30, -1, -1,
+ -1, -1, 35, 36, 37, 38, 39, 40, 41, 42,
+ -1, 44, -1, 46, 47, 48, -1, 50, 51, 52,
+ 53, 54, 55, 56, -1, -1, 59, 60, 61, 62,
+ 63, 64, 65, 66, 67, -1, 69, 70, 71, 72,
+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
+ 83, -1, 85, 86, 87, 88, 89, 90, 91, 92,
+ 93, 94, 1, 96, 97, 98, 99, 100, 101, 102,
+ 103, 104, 105, 106, 44, 14, -1, -1, 17, 18,
-1, -1, 21, 22, 23, 24, 25, 26, -1, -1,
- 68, 30, 31, 32, 33, 34, -1, 75, 76, 77,
- 78, 79, -1, -1, -1, -1, -1, 46, -1, 48,
- -1, -1, -1, 91, 92, -1, -1, -1, -1, 97,
- -1, -1, 100, -1, -1, -1, -1, -1, -1, 68,
+ -1, 30, 62, 63, 64, 65, 66, 67, -1, 69,
+ 70, 71, 72, 73, 74, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 88, 89,
+ 90, 91, 92, 93, 94, -1, -1, -1, -1, 68,
-1, -1, -1, -1, -1, -1, 75, 76, 77, 78,
- 79, -1, -1, 1, -1, -1, -1, -1, -1, -1,
- -1, -1, 91, 92, -1, -1, 14, -1, 97, 17,
- 18, 100, -1, 21, 22, 23, 24, 25, 26, 1,
- -1, -1, 30, 31, 32, 33, 34, -1, -1, -1,
- -1, -1, 14, -1, -1, 17, 18, -1, -1, 21,
- 22, 23, 24, 25, 26, -1, -1, -1, 30, 31,
- 32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
- 68, -1, -1, -1, -1, -1, -1, 75, 76, 77,
- 78, 79, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 91, 92, -1, 68, -1, -1, 97,
- 98, 99, 100, 75, 76, 77, 78, 79, -1, -1,
- -1, -1, -1, -1, -1, -1, 1, -1, -1, 91,
- 92, -1, -1, -1, -1, 97, 98, 99, 100, 14,
- -1, -1, 17, 18, -1, 20, 21, 22, 23, 24,
- 25, 26, 1, -1, -1, 30, 31, 32, 33, 34,
- -1, -1, -1, -1, -1, 14, -1, -1, 17, 18,
- -1, -1, 21, 22, 23, 24, 25, 26, -1, -1,
- -1, 30, 31, 32, 33, 34, -1, -1, -1, -1,
- -1, -1, -1, 68, -1, -1, -1, -1, -1, -1,
- 75, 76, 77, 78, 79, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 91, 92, -1, 68,
- -1, -1, 97, -1, -1, 100, 75, 76, 77, 78,
79, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 24, 91, 92, 27, 28, -1, -1, 97, -1,
- -1, 100, -1, -1, -1, 38, 39, 40, 41, 42,
- -1, -1, -1, -1, 47, -1, 24, 50, 51, 52,
- 28, -1, 55, -1, -1, -1, 59, 60, 61, -1,
+ -1, -1, 91, 92, 0, 1, -1, 96, 97, 98,
+ 99, -1, 101, -1, -1, 104, 105, 106, 14, -1,
+ -1, 17, 18, -1, -1, 21, 22, 23, 24, 25,
+ 26, 27, 28, -1, 30, -1, -1, -1, -1, -1,
+ 36, 37, 38, 39, 40, 41, 42, -1, -1, -1,
+ -1, 47, -1, -1, 50, 51, 52, -1, -1, 55,
+ -1, -1, -1, 59, 60, 61, -1, -1, -1, -1,
+ -1, -1, 68, -1, -1, -1, -1, -1, -1, 75,
+ 76, 77, 78, 79, -1, -1, 82, 83, -1, 85,
+ 86, 87, 0, 1, -1, 91, 92, -1, -1, -1,
+ 96, 97, 98, 99, 100, 101, 14, 103, 104, 17,
+ 18, -1, -1, 21, 22, 23, 24, 25, 26, 27,
+ 28, -1, 30, -1, -1, -1, -1, -1, 36, 37,
38, 39, 40, 41, 42, -1, -1, -1, -1, 47,
- -1, -1, 50, 51, 52, -1, -1, 55, -1, 82,
- 83, 59, 60, 61, 24, -1, -1, -1, 28, -1,
- -1, -1, -1, 96, -1, -1, -1, -1, 38, 39,
- 40, 41, 42, -1, 82, 83, -1, 47, 86, -1,
- 50, 51, 52, 24, -1, 55, -1, 28, 96, 59,
- 60, 61, -1, -1, -1, -1, -1, 38, 39, 40,
- 41, 42, -1, -1, -1, -1, 47, -1, -1, 50,
- 51, 52, 82, 83, 55, -1, 86, -1, 59, 60,
- 61, 24, -1, -1, -1, 28, 96, -1, -1, -1,
- -1, -1, -1, -1, -1, 38, 39, 40, 41, 42,
- -1, 82, 83, -1, 47, 86, -1, 50, 51, 52,
- -1, -1, 55, -1, -1, 96, 59, 60, 61, -1,
- 24, -1, -1, -1, 28, 29, -1, -1, -1, -1,
- -1, -1, 35, -1, 38, 39, 40, 41, 42, 82,
- 83, 45, -1, 47, -1, -1, 50, 51, 52, -1,
- -1, 55, -1, 96, 58, 59, 60, 61, -1, 62,
+ -1, -1, 50, 51, 52, -1, -1, 55, -1, -1,
+ -1, 59, 60, 61, -1, -1, -1, -1, -1, -1,
+ 68, -1, -1, -1, -1, -1, -1, 75, 76, 77,
+ 78, 79, -1, -1, 82, 83, -1, 85, 86, 87,
+ -1, 1, -1, 91, 92, -1, -1, -1, 96, 97,
+ 98, 99, 100, 101, 14, 103, 104, 17, 18, -1,
+ -1, 21, 22, 23, 24, 25, 26, -1, -1, -1,
+ 30, -1, -1, -1, -1, -1, 1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 46, -1, 48, 14,
+ -1, -1, 17, 18, -1, -1, 21, 22, 23, 24,
+ 25, 26, -1, -1, -1, 30, -1, -1, 68, -1,
+ -1, -1, -1, -1, -1, 75, 76, 77, 78, 79,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 91, 92, -1, -1, -1, 96, 97, 98, 99,
+ -1, 101, -1, 68, 104, -1, -1, -1, -1, -1,
+ 75, 76, 77, 78, 79, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 91, 92, 1, -1,
+ -1, 96, 97, 98, 99, -1, 101, 102, 103, 104,
+ -1, 14, -1, -1, 17, 18, -1, 20, 21, 22,
+ 23, 24, 25, 26, -1, -1, -1, 30, -1, -1,
+ 1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 14, -1, -1, 17, 18, -1, -1,
+ 21, 22, 23, 24, 25, 26, -1, -1, -1, 30,
+ -1, -1, -1, -1, -1, 68, -1, -1, -1, -1,
+ -1, -1, 75, 76, 77, 78, 79, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 91, 92,
+ -1, -1, -1, 96, 97, 98, 99, 68, 101, -1,
+ -1, 104, -1, -1, 75, 76, 77, 78, 79, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 1, -1,
+ 91, 92, -1, -1, -1, 96, 97, 98, 99, -1,
+ 101, 14, -1, 104, 17, 18, -1, -1, 21, 22,
+ 23, 24, 25, 26, -1, -1, -1, 30, -1, -1,
+ -1, -1, 24, -1, -1, -1, 28, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 38, 39, 40, 41,
+ 42, -1, -1, -1, -1, 47, -1, -1, 50, 51,
+ 52, -1, -1, 55, -1, -1, -1, 59, 60, 61,
+ -1, -1, 75, 76, 77, 78, 79, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 91, 92,
+ 82, 83, -1, 96, 97, 98, 99, -1, 101, 24,
+ -1, 104, -1, 28, 96, 97, 98, 99, 100, -1,
+ -1, -1, -1, 38, 39, 40, 41, 42, -1, -1,
+ -1, -1, 47, -1, -1, 50, 51, 52, 24, -1,
+ 55, -1, 28, -1, 59, 60, 61, -1, -1, -1,
+ -1, -1, 38, 39, 40, 41, 42, -1, -1, -1,
+ -1, 47, -1, -1, 50, 51, 52, 82, 83, 55,
+ -1, 86, -1, 59, 60, 61, -1, -1, -1, -1,
+ -1, 96, 97, 98, 99, 100, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 82, 83, -1, -1,
+ 86, 24, -1, -1, -1, 28, 29, -1, -1, -1,
+ 96, 97, 98, 99, 100, 38, 39, 40, 41, 42,
+ -1, -1, 45, -1, 47, -1, -1, 50, 51, 52,
+ 24, -1, 55, -1, 28, 58, 59, 60, 61, -1,
+ -1, -1, -1, -1, 38, 39, 40, 41, -1, -1,
+ -1, -1, -1, -1, -1, -1, 50, -1, 52, 82,
+ 83, 84, -1, -1, -1, 59, 60, 61, -1, -1,
+ -1, -1, -1, 96, 97, 98, 99, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 83,
+ 46, -1, 48, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 96, 97, 98, 99, 62, 63, 64, 65,
+ 66, 67, -1, 69, -1, -1, 72, 73, 74, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 54, 88, 89, 90, 91, 92, 93, 94, 62,
+ 63, 64, 65, 66, 67, -1, 69, -1, -1, 72,
+ 73, 74, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 88, 89, 90, 91, 92,
+ 93, 94, 48, -1, -1, -1, -1, 100, 54, -1,
+ -1, -1, -1, -1, -1, -1, 62, 63, 64, 65,
+ 66, 67, -1, 69, -1, -1, 72, 73, 74, -1,
+ -1, -1, -1, -1, -1, 48, -1, -1, -1, -1,
+ -1, 54, 88, 89, 90, 91, 92, 93, 94, 62,
63, 64, 65, 66, 67, -1, 69, -1, -1, 72,
- 73, 74, -1, -1, 44, -1, -1, -1, 82, 83,
- 84, -1, -1, -1, -1, 88, 89, 90, 91, 92,
+ 73, 74, -1, -1, -1, -1, -1, -1, 48, -1,
+ -1, -1, -1, -1, 54, 88, 89, 90, 91, 92,
93, 94, 62, 63, 64, 65, 66, 67, -1, 69,
- 70, 71, 72, 73, 74, -1, -1, -1, -1, 46,
- -1, 48, -1, -1, -1, -1, -1, -1, 88, 89,
+ -1, -1, 72, 73, 74, -1, -1, -1, -1, -1,
+ -1, 48, -1, -1, -1, -1, -1, 54, 88, 89,
90, 91, 92, 93, 94, 62, 63, 64, 65, 66,
67, -1, 69, -1, -1, 72, 73, 74, -1, -1,
-1, -1, -1, -1, 48, -1, -1, -1, -1, -1,
- 54, 88, 89, 90, 91, 92, 93, 94, 62, 63,
+ -1, 88, 89, 90, 91, 92, 93, 94, 62, 63,
64, 65, 66, 67, -1, 69, -1, -1, 72, 73,
74, -1, -1, -1, -1, -1, -1, 48, -1, -1,
- -1, -1, -1, 54, 88, 89, 90, 91, 92, 93,
+ -1, -1, -1, -1, 88, 89, 90, 91, 92, 93,
94, 62, 63, 64, 65, 66, 67, -1, 69, -1,
-1, 72, 73, 74, -1, -1, -1, -1, -1, -1,
- 48, -1, -1, -1, -1, -1, 54, 88, 89, 90,
+ 48, -1, -1, -1, -1, -1, -1, 88, 89, 90,
91, 92, 93, 94, 62, 63, 64, 65, 66, 67,
-1, 69, -1, -1, 72, 73, 74, -1, -1, -1,
- -1, -1, -1, 48, -1, -1, -1, -1, -1, 54,
+ -1, -1, -1, 48, -1, -1, -1, -1, -1, -1,
88, 89, 90, 91, 92, 93, 94, 62, 63, 64,
65, 66, 67, -1, 69, -1, -1, 72, 73, 74,
- -1, -1, -1, -1, -1, -1, 48, -1, -1, -1,
- -1, -1, -1, 88, 89, 90, 91, 92, 93, 94,
62, 63, 64, 65, 66, 67, -1, 69, -1, -1,
- 72, 73, 74, -1, -1, -1, -1, -1, -1, 48,
+ 72, 73, 74, 88, 89, 90, 91, 92, 93, 94,
-1, -1, -1, -1, -1, -1, 88, 89, 90, 91,
- 92, 93, 94, 62, 63, 64, 65, 66, 67, -1,
- 69, -1, -1, 72, 73, 74, -1, -1, -1, -1,
- -1, -1, 48, -1, -1, -1, -1, -1, -1, 88,
- 89, 90, 91, 92, 93, 94, 62, 63, 64, 65,
- 66, 67, -1, 69, -1, -1, 72, 73, 74, -1,
- -1, -1, -1, -1, -1, 48, -1, -1, -1, -1,
- -1, -1, 88, 89, 90, 91, 92, 93, 94, 62,
- 63, 64, 65, 66, 67, -1, 69, -1, -1, 72,
- 73, 74, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 54, 88, 89, 90, 91, 92,
- 93, 94, 62, 63, 64, 65, 66, 67, -1, 69,
- -1, -1, 72, 73, 74, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 88, 89,
- 90, 91, 92, 93, 94, 56, 96, -1, -1, -1,
- -1, 62, 63, 64, 65, 66, 67, -1, 69, -1,
- -1, 72, 73, 74, 62, 63, 64, 65, 66, 67,
- -1, 69, -1, -1, 72, 73, 74, 88, 89, 90,
- 91, 92, 93, 94, -1, -1, -1, -1, -1, -1,
- 88, 89, 90, 91, 92, 93, 94, -1, -1, -1,
- 98, 62, 63, 64, 65, 66, 67, -1, 69, -1,
- -1, 72, 73, 74, -1, -1, -1, -1, -1, 80,
- 81, -1, -1, -1, -1, -1, -1, 88, 89, 90,
+ 92, 93, 94, -1, -1, 56, -1, -1, -1, -1,
+ 102, 62, 63, 64, 65, 66, 67, -1, 69, -1,
+ -1, 72, 73, 74, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 88, 89, 90,
91, 92, 93, 94, 62, 63, 64, 65, 66, 67,
- -1, 69, -1, -1, 72, 73, 74, 62, 63, 64,
- 65, -1, -1, -1, 69, -1, -1, 72, 73, 74,
- 88, 89, 90, 91, 92, 93, 94, -1, -1, -1,
- -1, -1, -1, 88, 89, 90, 91, 92, 93, 94
+ -1, 69, -1, -1, 72, 73, 74, -1, -1, -1,
+ -1, -1, 80, 81, -1, -1, -1, -1, -1, -1,
+ 88, 89, 90, 91, 92, 93, 94, 62, 63, 64,
+ 65, 66, 67, -1, 69, -1, -1, 72, 73, 74,
+ 62, 63, 64, 65, -1, -1, -1, 69, -1, -1,
+ 72, 73, 74, 88, 89, 90, 91, 92, 93, 94,
+ -1, -1, -1, -1, -1, -1, 88, 89, 90, 91,
+ 92, 93, 94
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1431,90 +1575,91 @@ static const yytype_uint8 yystos[] =
{
0, 24, 28, 29, 38, 39, 40, 41, 42, 45,
47, 50, 51, 52, 55, 58, 59, 60, 61, 82,
- 83, 84, 104, 105, 106, 107, 108, 120, 126, 134,
- 142, 144, 146, 149, 1, 14, 17, 18, 21, 22,
- 23, 24, 25, 26, 30, 31, 32, 33, 34, 68,
- 75, 76, 77, 78, 79, 91, 92, 97, 100, 129,
- 130, 132, 133, 154, 156, 145, 148, 51, 135, 46,
- 47, 48, 49, 97, 130, 143, 147, 51, 20, 130,
- 56, 57, 17, 18, 19, 24, 30, 24, 24, 130,
- 130, 143, 137, 130, 136, 150, 0, 96, 130, 127,
- 96, 24, 129, 48, 129, 97, 130, 130, 130, 130,
- 130, 130, 130, 130, 24, 130, 154, 24, 25, 26,
- 102, 130, 157, 158, 159, 160, 62, 63, 64, 65,
- 66, 67, 69, 72, 73, 74, 88, 89, 90, 91,
- 92, 93, 94, 99, 154, 127, 24, 139, 130, 46,
- 130, 143, 24, 24, 44, 70, 71, 24, 127, 54,
- 64, 129, 129, 54, 64, 54, 64, 53, 56, 143,
- 24, 141, 54, 96, 24, 140, 24, 104, 123, 24,
- 151, 129, 24, 154, 48, 54, 48, 54, 48, 54,
- 48, 54, 80, 81, 98, 99, 98, 98, 102, 102,
- 102, 101, 99, 99, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 151, 99, 130, 127, 129, 24, 132, 24,
- 132, 24, 132, 43, 64, 130, 130, 130, 54, 64,
- 48, 130, 130, 130, 130, 130, 130, 99, 119, 119,
- 99, 53, 96, 99, 98, 99, 98, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 138, 130, 130,
- 130, 130, 24, 25, 26, 160, 96, 24, 151, 44,
- 130, 130, 123, 130, 130, 24, 24, 107, 128, 24,
- 128, 153, 24, 131, 48, 48, 48, 48, 130, 155,
- 153, 96, 130, 115, 109, 112, 118, 129, 127, 96,
- 108, 127, 124, 128, 155, 130, 130, 130, 130, 98,
- 99, 128, 153, 127, 125, 125, 128, 54, 64, 87,
- 121, 27, 98, 130, 128, 116, 110, 113, 124, 130,
- 130, 36, 37, 122, 127, 24, 152, 123, 54, 35,
- 86, 128, 130, 85, 99, 117, 130, 54, 127, 123,
- 24, 118, 111, 130, 85, 53, 128, 123, 114, 128,
- 86, 118, 123, 124, 128, 118, 86, 128, 86
+ 83, 84, 96, 97, 98, 99, 108, 109, 110, 111,
+ 112, 113, 125, 131, 140, 148, 150, 152, 155, 151,
+ 154, 51, 141, 1, 14, 17, 18, 21, 22, 23,
+ 25, 26, 30, 46, 47, 48, 49, 68, 75, 76,
+ 77, 78, 79, 91, 92, 96, 97, 98, 99, 101,
+ 104, 110, 134, 136, 137, 138, 139, 149, 162, 153,
+ 51, 20, 137, 56, 57, 17, 18, 19, 30, 110,
+ 110, 110, 137, 137, 149, 143, 137, 142, 156, 0,
+ 100, 101, 137, 160, 137, 132, 160, 132, 110, 145,
+ 100, 136, 48, 136, 137, 46, 137, 137, 137, 137,
+ 137, 137, 136, 136, 134, 134, 134, 134, 137, 25,
+ 26, 106, 110, 137, 163, 164, 165, 166, 101, 62,
+ 63, 64, 65, 66, 67, 69, 72, 73, 74, 88,
+ 89, 90, 91, 92, 93, 94, 149, 110, 110, 44,
+ 70, 71, 110, 132, 54, 64, 136, 136, 54, 64,
+ 54, 64, 53, 56, 149, 110, 147, 54, 100, 110,
+ 146, 110, 108, 110, 137, 160, 103, 128, 110, 157,
+ 157, 103, 136, 137, 48, 54, 48, 54, 48, 54,
+ 48, 54, 80, 81, 102, 106, 106, 106, 105, 103,
+ 103, 110, 160, 137, 137, 137, 137, 137, 137, 137,
+ 137, 137, 137, 137, 137, 137, 137, 137, 137, 137,
+ 132, 136, 110, 138, 110, 138, 110, 138, 43, 64,
+ 137, 137, 137, 54, 64, 48, 137, 137, 137, 137,
+ 137, 137, 103, 124, 124, 103, 102, 103, 102, 137,
+ 53, 100, 103, 100, 110, 137, 137, 137, 137, 137,
+ 137, 137, 137, 137, 137, 137, 137, 137, 137, 25,
+ 26, 110, 166, 102, 103, 102, 157, 44, 137, 137,
+ 128, 137, 137, 110, 110, 112, 133, 110, 144, 133,
+ 159, 110, 159, 48, 48, 48, 48, 135, 100, 137,
+ 120, 114, 117, 123, 136, 132, 100, 113, 132, 137,
+ 161, 129, 133, 133, 137, 137, 137, 137, 161, 159,
+ 132, 130, 130, 133, 54, 64, 87, 102, 103, 126,
+ 27, 102, 133, 121, 115, 118, 129, 137, 137, 137,
+ 36, 37, 127, 132, 110, 158, 128, 54, 35, 86,
+ 133, 137, 85, 103, 122, 137, 54, 132, 128, 110,
+ 123, 116, 137, 85, 53, 133, 128, 119, 133, 86,
+ 123, 128, 129, 133, 123, 86, 133, 86
};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint8 yyr1[] =
{
- 0, 103, 104, 104, 105, 105, 105, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 107, 107, 108, 108, 108, 109,
- 110, 111, 108, 112, 113, 114, 108, 115, 116, 117,
- 108, 108, 108, 108, 108, 118, 119, 120, 120, 121,
- 121, 122, 123, 124, 125, 126, 127, 128, 128, 128,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 130, 130, 130, 131, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 133, 133, 133, 133, 134, 134, 134, 134, 134, 135,
- 134, 136, 134, 137, 134, 134, 134, 134, 138, 134,
- 134, 134, 139, 139, 140, 140, 141, 141, 142, 142,
- 142, 142, 142, 142, 143, 143, 144, 144, 144, 145,
- 144, 147, 146, 146, 148, 146, 146, 146, 150, 149,
- 151, 151, 151, 152, 152, 152, 153, 154, 154, 154,
- 155, 155, 156, 157, 157, 157, 157, 158, 158, 159,
- 159, 160, 160, 160
+ 0, 107, 108, 108, 109, 109, 109, 110, 110, 110,
+ 110, 110, 111, 111, 111, 111, 111, 111, 111, 111,
+ 111, 111, 111, 111, 111, 111, 111, 111, 111, 112,
+ 112, 113, 113, 113, 114, 115, 116, 113, 117, 118,
+ 119, 113, 120, 121, 122, 113, 113, 113, 113, 113,
+ 123, 124, 125, 125, 126, 126, 127, 128, 129, 130,
+ 131, 132, 133, 133, 133, 134, 134, 134, 134, 134,
+ 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
+ 134, 135, 134, 134, 134, 134, 136, 136, 137, 137,
+ 137, 137, 137, 137, 137, 137, 137, 137, 137, 137,
+ 137, 137, 137, 137, 137, 137, 137, 138, 138, 138,
+ 138, 138, 138, 138, 138, 138, 139, 139, 139, 139,
+ 140, 140, 140, 140, 140, 141, 140, 142, 140, 143,
+ 140, 140, 140, 140, 144, 140, 140, 140, 145, 145,
+ 146, 146, 147, 147, 148, 148, 148, 148, 148, 148,
+ 149, 149, 150, 150, 150, 151, 150, 153, 152, 152,
+ 154, 152, 152, 152, 156, 155, 157, 157, 157, 158,
+ 158, 158, 159, 160, 160, 160, 161, 161, 162, 163,
+ 163, 163, 163, 164, 164, 165, 165, 166, 166, 166
};
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
static const yytype_int8 yyr2[] =
{
- 0, 2, 1, 3, 0, 1, 1, 4, 4, 6,
- 4, 4, 4, 4, 4, 4, 4, 4, 5, 5,
- 8, 8, 4, 4, 1, 1, 1, 1, 9, 0,
- 0, 0, 15, 0, 0, 0, 16, 0, 0, 0,
- 13, 2, 4, 7, 6, 0, 0, 9, 11, 0,
- 2, 6, 0, 0, 0, 1, 0, 0, 2, 2,
- 1, 1, 1, 1, 1, 1, 2, 3, 1, 2,
- 1, 1, 4, 0, 7, 4, 2, 3, 1, 3,
+ 0, 2, 1, 3, 0, 1, 1, 1, 1, 1,
+ 1, 1, 4, 4, 6, 4, 4, 4, 4, 4,
+ 4, 4, 4, 5, 5, 8, 8, 4, 4, 1,
+ 1, 1, 1, 9, 0, 0, 0, 15, 0, 0,
+ 0, 16, 0, 0, 0, 13, 2, 4, 7, 6,
+ 0, 0, 9, 11, 0, 2, 6, 0, 0, 0,
+ 1, 0, 0, 2, 2, 1, 1, 2, 2, 1,
+ 1, 1, 1, 2, 2, 3, 1, 4, 4, 1,
+ 4, 0, 7, 4, 1, 2, 1, 3, 1, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 2, 3, 3, 3, 3, 2, 2, 4,
- 4, 1, 4, 6, 4, 6, 4, 6, 4, 6,
- 1, 1, 1, 1, 2, 1, 1, 2, 1, 0,
- 3, 0, 3, 0, 3, 4, 2, 4, 0, 7,
- 4, 2, 1, 3, 1, 3, 1, 3, 1, 2,
- 2, 2, 3, 2, 3, 2, 2, 3, 2, 0,
- 3, 0, 8, 2, 0, 7, 8, 6, 0, 3,
- 0, 1, 3, 0, 1, 3, 0, 0, 1, 3,
- 1, 3, 3, 0, 1, 1, 1, 1, 3, 1,
- 3, 3, 3, 3
+ 3, 3, 2, 3, 3, 3, 3, 2, 4, 6,
+ 4, 6, 4, 6, 4, 6, 1, 2, 2, 2,
+ 2, 1, 1, 2, 1, 0, 3, 0, 3, 0,
+ 3, 4, 2, 4, 0, 7, 4, 2, 1, 3,
+ 1, 3, 1, 3, 1, 2, 2, 2, 3, 2,
+ 3, 2, 2, 3, 2, 0, 3, 0, 8, 2,
+ 0, 7, 8, 6, 0, 3, 0, 1, 3, 0,
+ 1, 3, 0, 0, 1, 3, 1, 3, 3, 0,
+ 1, 1, 1, 1, 3, 1, 3, 3, 3, 3
};
@@ -1786,57 +1931,63 @@ yydestruct (const char *yymsg,
switch (yykind)
{
case 22: /* THEFUNC */
-#line 214 "engines/director/lingo/lingo-gr.y"
+#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1792 "engines/director/lingo/lingo-gr.cpp"
+#line 1937 "engines/director/lingo/lingo-gr.cpp"
break;
case 23: /* THEFUNCINOF */
-#line 214 "engines/director/lingo/lingo-gr.y"
+#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1798 "engines/director/lingo/lingo-gr.cpp"
+#line 1943 "engines/director/lingo/lingo-gr.cpp"
break;
- case 24: /* ID */
-#line 214 "engines/director/lingo/lingo-gr.y"
+ case 24: /* VARID */
+#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1804 "engines/director/lingo/lingo-gr.cpp"
+#line 1949 "engines/director/lingo/lingo-gr.cpp"
break;
case 25: /* STRING */
-#line 214 "engines/director/lingo/lingo-gr.y"
+#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1810 "engines/director/lingo/lingo-gr.cpp"
+#line 1955 "engines/director/lingo/lingo-gr.cpp"
break;
case 26: /* SYMBOL */
-#line 214 "engines/director/lingo/lingo-gr.y"
+#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1816 "engines/director/lingo/lingo-gr.cpp"
+#line 1961 "engines/director/lingo/lingo-gr.cpp"
break;
case 27: /* ENDCLAUSE */
-#line 214 "engines/director/lingo/lingo-gr.y"
+#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1822 "engines/director/lingo/lingo-gr.cpp"
+#line 1967 "engines/director/lingo/lingo-gr.cpp"
break;
case 28: /* tPLAYACCEL */
-#line 214 "engines/director/lingo/lingo-gr.y"
+#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1828 "engines/director/lingo/lingo-gr.cpp"
+#line 1973 "engines/director/lingo/lingo-gr.cpp"
break;
case 29: /* tMETHOD */
-#line 214 "engines/director/lingo/lingo-gr.y"
+#line 210 "engines/director/lingo/lingo-gr.y"
+ { delete ((*yyvaluep).s); }
+#line 1979 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 110: /* ID */
+#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1834 "engines/director/lingo/lingo-gr.cpp"
+#line 1985 "engines/director/lingo/lingo-gr.cpp"
break;
- case 149: /* on */
-#line 214 "engines/director/lingo/lingo-gr.y"
+ case 155: /* on */
+#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1840 "engines/director/lingo/lingo-gr.cpp"
+#line 1991 "engines/director/lingo/lingo-gr.cpp"
break;
default:
@@ -2114,8 +2265,32 @@ yyreduce:
YY_REDUCE_PRINT (yyn);
switch (yyn)
{
- case 7:
+ case 8:
+#line 222 "engines/director/lingo/lingo-gr.y"
+ { (yyval.s) = new Common::String("cast"); }
+#line 2272 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 9:
+#line 223 "engines/director/lingo/lingo-gr.y"
+ { (yyval.s) = new Common::String("field"); }
+#line 2278 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 10:
+#line 224 "engines/director/lingo/lingo-gr.y"
+ { (yyval.s) = new Common::String("script"); }
+#line 2284 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 11:
#line 225 "engines/director/lingo/lingo-gr.y"
+ { (yyval.s) = new Common::String("window"); }
+#line 2290 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 12:
+#line 227 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_varpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
@@ -2123,19 +2298,19 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[-2].code);
delete (yyvsp[0].s); }
-#line 2127 "engines/director/lingo/lingo-gr.cpp"
+#line 2302 "engines/director/lingo/lingo-gr.cpp"
break;
- case 8:
-#line 232 "engines/director/lingo/lingo-gr.y"
+ case 13:
+#line 234 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[-2].code); }
-#line 2135 "engines/director/lingo/lingo-gr.cpp"
+#line 2310 "engines/director/lingo/lingo-gr.cpp"
break;
- case 9:
-#line 236 "engines/director/lingo/lingo-gr.y"
+ case 14:
+#line 238 "engines/director/lingo/lingo-gr.y"
{
if (!(yyvsp[-3].s)->equalsIgnoreCase("menu")) {
warning("LEXER: keyword 'menu' expected");
@@ -2147,11 +2322,11 @@ yyreduce:
g_lingo->codeInt((yyvsp[-4].e)[1]);
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[0].code); }
-#line 2151 "engines/director/lingo/lingo-gr.cpp"
+#line 2326 "engines/director/lingo/lingo-gr.cpp"
break;
- case 10:
-#line 247 "engines/director/lingo/lingo-gr.y"
+ case 15:
+#line 249 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_varpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
@@ -2159,19 +2334,19 @@ yyreduce:
g_lingo->code1(LC::c_after);
(yyval.code) = (yyvsp[-2].code);
delete (yyvsp[0].s); }
-#line 2163 "engines/director/lingo/lingo-gr.cpp"
+#line 2338 "engines/director/lingo/lingo-gr.cpp"
break;
- case 11:
-#line 254 "engines/director/lingo/lingo-gr.y"
+ case 16:
+#line 256 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_after);
(yyval.code) = (yyvsp[-2].code); }
-#line 2171 "engines/director/lingo/lingo-gr.cpp"
+#line 2346 "engines/director/lingo/lingo-gr.cpp"
break;
- case 12:
-#line 257 "engines/director/lingo/lingo-gr.y"
+ case 17:
+#line 259 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_varpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
@@ -2179,19 +2354,19 @@ yyreduce:
g_lingo->code1(LC::c_before);
(yyval.code) = (yyvsp[-2].code);
delete (yyvsp[0].s); }
-#line 2183 "engines/director/lingo/lingo-gr.cpp"
+#line 2358 "engines/director/lingo/lingo-gr.cpp"
break;
- case 13:
-#line 264 "engines/director/lingo/lingo-gr.y"
+ case 18:
+#line 266 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_before);
(yyval.code) = (yyvsp[-2].code); }
-#line 2191 "engines/director/lingo/lingo-gr.cpp"
+#line 2366 "engines/director/lingo/lingo-gr.cpp"
break;
- case 14:
-#line 267 "engines/director/lingo/lingo-gr.y"
+ case 19:
+#line 269 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_varpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
@@ -2199,11 +2374,11 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[0].code);
delete (yyvsp[-2].s); }
-#line 2203 "engines/director/lingo/lingo-gr.cpp"
+#line 2378 "engines/director/lingo/lingo-gr.cpp"
break;
- case 15:
-#line 274 "engines/director/lingo/lingo-gr.y"
+ case 20:
+#line 276 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(0); // Put dummy id
@@ -2211,11 +2386,11 @@ yyreduce:
g_lingo->codeInt((yyvsp[-2].e)[0]);
g_lingo->codeInt((yyvsp[-2].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2215 "engines/director/lingo/lingo-gr.cpp"
+#line 2390 "engines/director/lingo/lingo-gr.cpp"
break;
- case 16:
-#line 281 "engines/director/lingo/lingo-gr.y"
+ case 21:
+#line 283 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_varpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
@@ -2223,11 +2398,11 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[0].code);
delete (yyvsp[-2].s); }
-#line 2227 "engines/director/lingo/lingo-gr.cpp"
+#line 2402 "engines/director/lingo/lingo-gr.cpp"
break;
- case 17:
-#line 288 "engines/director/lingo/lingo-gr.y"
+ case 22:
+#line 290 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(0); // Put dummy id
@@ -2235,33 +2410,33 @@ yyreduce:
g_lingo->codeInt((yyvsp[-2].e)[0]);
g_lingo->codeInt((yyvsp[-2].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2239 "engines/director/lingo/lingo-gr.cpp"
+#line 2414 "engines/director/lingo/lingo-gr.cpp"
break;
- case 18:
-#line 295 "engines/director/lingo/lingo-gr.y"
+ case 23:
+#line 297 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_swap);
g_lingo->code1(LC::c_theentityassign);
g_lingo->codeInt((yyvsp[-3].e)[0]);
g_lingo->codeInt((yyvsp[-3].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2250 "engines/director/lingo/lingo-gr.cpp"
+#line 2425 "engines/director/lingo/lingo-gr.cpp"
break;
- case 19:
-#line 301 "engines/director/lingo/lingo-gr.y"
+ case 24:
+#line 303 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_swap);
g_lingo->code1(LC::c_theentityassign);
g_lingo->codeInt((yyvsp[-3].e)[0]);
g_lingo->codeInt((yyvsp[-3].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2261 "engines/director/lingo/lingo-gr.cpp"
+#line 2436 "engines/director/lingo/lingo-gr.cpp"
break;
- case 20:
-#line 308 "engines/director/lingo/lingo-gr.y"
+ case 25:
+#line 310 "engines/director/lingo/lingo-gr.y"
{
if (!(yyvsp[-3].s)->equalsIgnoreCase("menu")) {
warning("LEXER: keyword 'menu' expected");
@@ -2273,11 +2448,11 @@ yyreduce:
g_lingo->codeInt((yyvsp[-6].e)[0]);
g_lingo->codeInt((yyvsp[-6].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2277 "engines/director/lingo/lingo-gr.cpp"
+#line 2452 "engines/director/lingo/lingo-gr.cpp"
break;
- case 21:
-#line 319 "engines/director/lingo/lingo-gr.y"
+ case 26:
+#line 321 "engines/director/lingo/lingo-gr.y"
{
if (!(yyvsp[-3].s)->equalsIgnoreCase("menu")) {
warning("LEXER: keyword 'menu' expected");
@@ -2289,11 +2464,11 @@ yyreduce:
g_lingo->codeInt((yyvsp[-6].e)[0]);
g_lingo->codeInt((yyvsp[-6].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2293 "engines/director/lingo/lingo-gr.cpp"
+#line 2468 "engines/director/lingo/lingo-gr.cpp"
break;
- case 22:
-#line 330 "engines/director/lingo/lingo-gr.y"
+ case 27:
+#line 332 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_objectpropassign);
g_lingo->codeString((yyvsp[-2].objectprop).obj->c_str());
@@ -2301,11 +2476,11 @@ yyreduce:
delete (yyvsp[-2].objectprop).obj;
delete (yyvsp[-2].objectprop).prop;
(yyval.code) = (yyvsp[0].code); }
-#line 2305 "engines/director/lingo/lingo-gr.cpp"
+#line 2480 "engines/director/lingo/lingo-gr.cpp"
break;
- case 23:
-#line 337 "engines/director/lingo/lingo-gr.y"
+ case 28:
+#line 339 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_objectpropassign);
g_lingo->codeString((yyvsp[-2].objectprop).obj->c_str());
@@ -2313,11 +2488,11 @@ yyreduce:
delete (yyvsp[-2].objectprop).obj;
delete (yyvsp[-2].objectprop).prop;
(yyval.code) = (yyvsp[0].code); }
-#line 2317 "engines/director/lingo/lingo-gr.cpp"
+#line 2492 "engines/director/lingo/lingo-gr.cpp"
break;
- case 28:
-#line 354 "engines/director/lingo/lingo-gr.y"
+ case 33:
+#line 356 "engines/director/lingo/lingo-gr.y"
{
inst start = 0, end = 0;
WRITE_UINT32(&start, (yyvsp[-6].code) - (yyvsp[-1].code) + 1);
@@ -2325,32 +2500,32 @@ yyreduce:
(*g_lingo->_currentAssembly)[(yyvsp[-4].code)] = end; /* end, if cond fails */
(*g_lingo->_currentAssembly)[(yyvsp[-1].code)] = start; /* looping back */
endRepeat((yyvsp[-1].code) + 1, (yyvsp[-6].code)); }
-#line 2329 "engines/director/lingo/lingo-gr.cpp"
+#line 2504 "engines/director/lingo/lingo-gr.cpp"
break;
- case 29:
-#line 367 "engines/director/lingo/lingo-gr.y"
+ case 34:
+#line 369 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_varpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
mVar((yyvsp[-2].s), globalCheck()); }
-#line 2337 "engines/director/lingo/lingo-gr.cpp"
+#line 2512 "engines/director/lingo/lingo-gr.cpp"
break;
- case 30:
-#line 371 "engines/director/lingo/lingo-gr.y"
+ case 35:
+#line 373 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_eval);
g_lingo->codeString((yyvsp[-4].s)->c_str()); }
-#line 2344 "engines/director/lingo/lingo-gr.cpp"
+#line 2519 "engines/director/lingo/lingo-gr.cpp"
break;
- case 31:
-#line 374 "engines/director/lingo/lingo-gr.y"
+ case 36:
+#line 376 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_le); }
-#line 2350 "engines/director/lingo/lingo-gr.cpp"
+#line 2525 "engines/director/lingo/lingo-gr.cpp"
break;
- case 32:
-#line 374 "engines/director/lingo/lingo-gr.y"
+ case 37:
+#line 376 "engines/director/lingo/lingo-gr.y"
{
int nextPos = g_lingo->_currentAssembly->size();
@@ -2371,32 +2546,32 @@ yyreduce:
(*g_lingo->_currentAssembly)[pos] = loop; /* final count value */
(*g_lingo->_currentAssembly)[(yyvsp[-3].code)] = end; /* end, if cond fails */
endRepeat(pos + 1, nextPos); }
-#line 2375 "engines/director/lingo/lingo-gr.cpp"
+#line 2550 "engines/director/lingo/lingo-gr.cpp"
break;
- case 33:
-#line 401 "engines/director/lingo/lingo-gr.y"
+ case 38:
+#line 403 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_varpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
mVar((yyvsp[-2].s), globalCheck()); }
-#line 2383 "engines/director/lingo/lingo-gr.cpp"
+#line 2558 "engines/director/lingo/lingo-gr.cpp"
break;
- case 34:
-#line 405 "engines/director/lingo/lingo-gr.y"
+ case 39:
+#line 407 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_eval);
g_lingo->codeString((yyvsp[-4].s)->c_str()); }
-#line 2390 "engines/director/lingo/lingo-gr.cpp"
+#line 2565 "engines/director/lingo/lingo-gr.cpp"
break;
- case 35:
-#line 408 "engines/director/lingo/lingo-gr.y"
+ case 40:
+#line 410 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ge); }
-#line 2396 "engines/director/lingo/lingo-gr.cpp"
+#line 2571 "engines/director/lingo/lingo-gr.cpp"
break;
- case 36:
-#line 409 "engines/director/lingo/lingo-gr.y"
+ case 41:
+#line 411 "engines/director/lingo/lingo-gr.y"
{
int nextPos = g_lingo->_currentAssembly->size();
@@ -2417,32 +2592,32 @@ yyreduce:
(*g_lingo->_currentAssembly)[pos] = loop; /* final count value */
(*g_lingo->_currentAssembly)[(yyvsp[-3].code)] = end; /* end, if cond fails */
endRepeat(pos + 1, nextPos); }
-#line 2421 "engines/director/lingo/lingo-gr.cpp"
+#line 2596 "engines/director/lingo/lingo-gr.cpp"
break;
- case 37:
-#line 435 "engines/director/lingo/lingo-gr.y"
+ case 42:
+#line 437 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_stackpeek);
g_lingo->codeInt(0);
Common::String count("count");
g_lingo->codeFunc(&count, 1);
g_lingo->code1(LC::c_intpush); // start counter
g_lingo->codeInt(1); }
-#line 2432 "engines/director/lingo/lingo-gr.cpp"
+#line 2607 "engines/director/lingo/lingo-gr.cpp"
break;
- case 38:
-#line 442 "engines/director/lingo/lingo-gr.y"
+ case 43:
+#line 444 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_stackpeek); // get counter
g_lingo->codeInt(0);
g_lingo->code1(LC::c_stackpeek); // get array size
g_lingo->codeInt(2);
g_lingo->code1(LC::c_le); }
-#line 2442 "engines/director/lingo/lingo-gr.cpp"
+#line 2617 "engines/director/lingo/lingo-gr.cpp"
break;
- case 39:
-#line 448 "engines/director/lingo/lingo-gr.y"
+ case 44:
+#line 450 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_stackpeek); // get list
g_lingo->codeInt(2);
g_lingo->code1(LC::c_stackpeek); // get counter
@@ -2453,11 +2628,11 @@ yyreduce:
g_lingo->codeString((yyvsp[-6].s)->c_str());
mVar((yyvsp[-6].s), globalCheck());
g_lingo->code1(LC::c_assign); }
-#line 2457 "engines/director/lingo/lingo-gr.cpp"
+#line 2632 "engines/director/lingo/lingo-gr.cpp"
break;
- case 40:
-#line 458 "engines/director/lingo/lingo-gr.y"
+ case 45:
+#line 460 "engines/director/lingo/lingo-gr.y"
{
int nextPos = g_lingo->_currentAssembly->size();
@@ -2477,11 +2652,11 @@ yyreduce:
(*g_lingo->_currentAssembly)[jump + 1] = loop; /* final count value */
(*g_lingo->_currentAssembly)[(yyvsp[-4].code)] = end; /* end, if cond fails */
endRepeat(end2, nextPos); }
-#line 2481 "engines/director/lingo/lingo-gr.cpp"
+#line 2656 "engines/director/lingo/lingo-gr.cpp"
break;
- case 41:
-#line 478 "engines/director/lingo/lingo-gr.y"
+ case 46:
+#line 480 "engines/director/lingo/lingo-gr.y"
{
if (g_lingo->_repeatStack.size()) {
g_lingo->code2(LC::c_jump, 0);
@@ -2490,43 +2665,43 @@ yyreduce:
} else {
warning("# LINGO: next repeat not inside repeat block");
} }
-#line 2494 "engines/director/lingo/lingo-gr.cpp"
+#line 2669 "engines/director/lingo/lingo-gr.cpp"
break;
- case 42:
-#line 486 "engines/director/lingo/lingo-gr.y"
+ case 47:
+#line 488 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_whencode);
g_lingo->codeString((yyvsp[-2].s)->c_str()); }
-#line 2502 "engines/director/lingo/lingo-gr.cpp"
+#line 2677 "engines/director/lingo/lingo-gr.cpp"
break;
- case 43:
-#line 489 "engines/director/lingo/lingo-gr.y"
+ case 48:
+#line 491 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_telldone); }
-#line 2508 "engines/director/lingo/lingo-gr.cpp"
+#line 2683 "engines/director/lingo/lingo-gr.cpp"
break;
- case 44:
-#line 490 "engines/director/lingo/lingo-gr.y"
+ case 49:
+#line 492 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_telldone); }
-#line 2514 "engines/director/lingo/lingo-gr.cpp"
+#line 2689 "engines/director/lingo/lingo-gr.cpp"
break;
- case 45:
-#line 492 "engines/director/lingo/lingo-gr.y"
+ case 50:
+#line 494 "engines/director/lingo/lingo-gr.y"
{ startRepeat(); }
-#line 2520 "engines/director/lingo/lingo-gr.cpp"
+#line 2695 "engines/director/lingo/lingo-gr.cpp"
break;
- case 46:
-#line 494 "engines/director/lingo/lingo-gr.y"
+ case 51:
+#line 496 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_tell); }
-#line 2526 "engines/director/lingo/lingo-gr.cpp"
+#line 2701 "engines/director/lingo/lingo-gr.cpp"
break;
- case 47:
-#line 496 "engines/director/lingo/lingo-gr.y"
+ case 52:
+#line 498 "engines/director/lingo/lingo-gr.y"
{
inst else1 = 0, end3 = 0;
WRITE_UINT32(&else1, (yyvsp[-3].code) + 1 - (yyvsp[-6].code) + 1);
@@ -2534,11 +2709,11 @@ yyreduce:
(*g_lingo->_currentAssembly)[(yyvsp[-6].code)] = else1; /* elsepart */
(*g_lingo->_currentAssembly)[(yyvsp[-3].code)] = end3; /* end, if cond fails */
g_lingo->processIf((yyvsp[-3].code), (yyvsp[-1].code)); }
-#line 2538 "engines/director/lingo/lingo-gr.cpp"
+#line 2713 "engines/director/lingo/lingo-gr.cpp"
break;
- case 48:
-#line 503 "engines/director/lingo/lingo-gr.y"
+ case 53:
+#line 505 "engines/director/lingo/lingo-gr.y"
{
inst else1 = 0, end = 0;
WRITE_UINT32(&else1, (yyvsp[-5].code) + 1 - (yyvsp[-8].code) + 1);
@@ -2546,111 +2721,110 @@ yyreduce:
(*g_lingo->_currentAssembly)[(yyvsp[-8].code)] = else1; /* elsepart */
(*g_lingo->_currentAssembly)[(yyvsp[-5].code)] = end; /* end, if cond fails */
g_lingo->processIf((yyvsp[-5].code), (yyvsp[-1].code)); }
-#line 2550 "engines/director/lingo/lingo-gr.cpp"
+#line 2725 "engines/director/lingo/lingo-gr.cpp"
break;
- case 51:
-#line 514 "engines/director/lingo/lingo-gr.y"
+ case 56:
+#line 516 "engines/director/lingo/lingo-gr.y"
{
inst else1 = 0;
WRITE_UINT32(&else1, (yyvsp[0].code) + 1 - (yyvsp[-3].code) + 1);
(*g_lingo->_currentAssembly)[(yyvsp[-3].code)] = else1; /* end, if cond fails */
g_lingo->codeLabel((yyvsp[0].code)); }
-#line 2560 "engines/director/lingo/lingo-gr.cpp"
+#line 2735 "engines/director/lingo/lingo-gr.cpp"
break;
- case 52:
-#line 520 "engines/director/lingo/lingo-gr.y"
+ case 57:
+#line 522 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code2(LC::c_jumpifz, 0);
(yyval.code) = g_lingo->_currentAssembly->size() - 1; }
-#line 2568 "engines/director/lingo/lingo-gr.cpp"
+#line 2743 "engines/director/lingo/lingo-gr.cpp"
break;
- case 53:
-#line 524 "engines/director/lingo/lingo-gr.y"
+ case 58:
+#line 526 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code2(LC::c_jump, 0);
(yyval.code) = g_lingo->_currentAssembly->size() - 1; }
-#line 2576 "engines/director/lingo/lingo-gr.cpp"
+#line 2751 "engines/director/lingo/lingo-gr.cpp"
break;
- case 54:
-#line 528 "engines/director/lingo/lingo-gr.y"
+ case 59:
+#line 530 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_assign);
(yyval.code) = g_lingo->_currentAssembly->size() - 1; }
-#line 2584 "engines/director/lingo/lingo-gr.cpp"
+#line 2759 "engines/director/lingo/lingo-gr.cpp"
break;
- case 55:
-#line 532 "engines/director/lingo/lingo-gr.y"
+ case 60:
+#line 534 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeLabel(0); }
-#line 2591 "engines/director/lingo/lingo-gr.cpp"
+#line 2766 "engines/director/lingo/lingo-gr.cpp"
break;
- case 56:
-#line 535 "engines/director/lingo/lingo-gr.y"
+ case 61:
+#line 537 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->_currentAssembly->size(); }
-#line 2597 "engines/director/lingo/lingo-gr.cpp"
+#line 2772 "engines/director/lingo/lingo-gr.cpp"
break;
- case 57:
-#line 537 "engines/director/lingo/lingo-gr.y"
+ case 62:
+#line 539 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->_currentAssembly->size(); }
-#line 2603 "engines/director/lingo/lingo-gr.cpp"
+#line 2778 "engines/director/lingo/lingo-gr.cpp"
break;
- case 60:
-#line 541 "engines/director/lingo/lingo-gr.y"
- {
+ case 65:
+#line 543 "engines/director/lingo/lingo-gr.y"
+ {
(yyval.code) = g_lingo->code1(LC::c_intpush);
g_lingo->codeInt((yyvsp[0].i)); }
-#line 2611 "engines/director/lingo/lingo-gr.cpp"
+#line 2786 "engines/director/lingo/lingo-gr.cpp"
break;
- case 61:
-#line 544 "engines/director/lingo/lingo-gr.y"
+ case 66:
+#line 546 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_floatpush);
g_lingo->codeFloat((yyvsp[0].f)); }
-#line 2619 "engines/director/lingo/lingo-gr.cpp"
+#line 2794 "engines/director/lingo/lingo-gr.cpp"
break;
- case 62:
-#line 547 "engines/director/lingo/lingo-gr.y"
- { // D3
- (yyval.code) = g_lingo->code1(LC::c_symbolpush);
- g_lingo->codeString((yyvsp[0].s)->c_str());
- delete (yyvsp[0].s); }
-#line 2628 "engines/director/lingo/lingo-gr.cpp"
+ case 67:
+#line 549 "engines/director/lingo/lingo-gr.y"
+ { (yyval.code) = (yyvsp[0].code); }
+#line 2800 "engines/director/lingo/lingo-gr.cpp"
break;
- case 63:
+ case 68:
+#line 550 "engines/director/lingo/lingo-gr.y"
+ { (yyval.code) = (yyvsp[0].code); g_lingo->code1(LC::c_negate); }
+#line 2806 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 69:
#line 551 "engines/director/lingo/lingo-gr.y"
- {
- (yyval.code) = g_lingo->code1(LC::c_stringpush);
+ { // D3
+ (yyval.code) = g_lingo->code1(LC::c_symbolpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2637 "engines/director/lingo/lingo-gr.cpp"
+#line 2815 "engines/director/lingo/lingo-gr.cpp"
break;
- case 64:
+ case 70:
#line 555 "engines/director/lingo/lingo-gr.y"
- {
- if (g_lingo->_builtinConsts.contains(*(yyvsp[0].s))) {
- (yyval.code) = g_lingo->code1(LC::c_constpush);
- } else {
- (yyval.code) = g_lingo->code1(LC::c_eval);
- }
+ {
+ (yyval.code) = g_lingo->code1(LC::c_stringpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2650 "engines/director/lingo/lingo-gr.cpp"
+#line 2824 "engines/director/lingo/lingo-gr.cpp"
break;
- case 65:
-#line 563 "engines/director/lingo/lingo-gr.y"
+ case 72:
+#line 560 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(0); // Put dummy id
@@ -2659,351 +2833,320 @@ yyreduce:
WRITE_UINT32(&e, (yyvsp[0].e)[0]);
WRITE_UINT32(&f, (yyvsp[0].e)[1]);
g_lingo->code2(e, f); }
-#line 2663 "engines/director/lingo/lingo-gr.cpp"
+#line 2837 "engines/director/lingo/lingo-gr.cpp"
break;
- case 66:
-#line 571 "engines/director/lingo/lingo-gr.y"
+ case 73:
+#line 568 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_theentitypush);
inst e = 0, f = 0;
WRITE_UINT32(&e, (yyvsp[-1].e)[0]);
WRITE_UINT32(&f, (yyvsp[-1].e)[1]);
g_lingo->code2(e, f); }
-#line 2674 "engines/director/lingo/lingo-gr.cpp"
+#line 2848 "engines/director/lingo/lingo-gr.cpp"
break;
- case 67:
+ case 74:
+#line 574 "engines/director/lingo/lingo-gr.y"
+ {
+ (yyval.code) = g_lingo->codeFunc((yyvsp[-1].s), 1);
+ delete (yyvsp[-1].s); }
+#line 2856 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 75:
#line 577 "engines/director/lingo/lingo-gr.y"
- { (yyval.code) = (yyvsp[-1].code); }
-#line 2680 "engines/director/lingo/lingo-gr.cpp"
+ {
+ (yyval.code) = g_lingo->codeFunc((yyvsp[-2].s), 1);
+ delete (yyvsp[-2].s); }
+#line 2864 "engines/director/lingo/lingo-gr.cpp"
break;
- case 69:
-#line 579 "engines/director/lingo/lingo-gr.y"
- { yyerrok; }
-#line 2686 "engines/director/lingo/lingo-gr.cpp"
+ case 76:
+#line 580 "engines/director/lingo/lingo-gr.y"
+ {
+ g_lingo->code1(LC::c_objectproppush);
+ g_lingo->codeString((yyvsp[0].objectprop).obj->c_str());
+ g_lingo->codeString((yyvsp[0].objectprop).prop->c_str());
+ delete (yyvsp[0].objectprop).obj;
+ delete (yyvsp[0].objectprop).prop; }
+#line 2875 "engines/director/lingo/lingo-gr.cpp"
break;
- case 70:
-#line 581 "engines/director/lingo/lingo-gr.y"
- { (yyval.code) = (yyvsp[0].code); }
-#line 2692 "engines/director/lingo/lingo-gr.cpp"
+ case 77:
+#line 586 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_intersects); }
+#line 2881 "engines/director/lingo/lingo-gr.cpp"
break;
- case 72:
-#line 583 "engines/director/lingo/lingo-gr.y"
+ case 78:
+#line 587 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_within); }
+#line 2887 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 80:
+#line 589 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_lazyeval);
g_lingo->codeString((yyvsp[-1].s)->c_str());
g_lingo->codeFunc((yyvsp[-3].s), 1);
delete (yyvsp[-3].s);
delete (yyvsp[-1].s); }
-#line 2703 "engines/director/lingo/lingo-gr.cpp"
+#line 2898 "engines/director/lingo/lingo-gr.cpp"
break;
- case 73:
-#line 589 "engines/director/lingo/lingo-gr.y"
+ case 81:
+#line 595 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lazyeval); g_lingo->codeString((yyvsp[-1].s)->c_str()); }
-#line 2709 "engines/director/lingo/lingo-gr.cpp"
+#line 2904 "engines/director/lingo/lingo-gr.cpp"
break;
- case 74:
-#line 590 "engines/director/lingo/lingo-gr.y"
+ case 82:
+#line 596 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-6].s), (yyvsp[-1].narg) + 1);
delete (yyvsp[-6].s);
delete (yyvsp[-4].s); }
-#line 2718 "engines/director/lingo/lingo-gr.cpp"
+#line 2913 "engines/director/lingo/lingo-gr.cpp"
break;
- case 75:
-#line 594 "engines/director/lingo/lingo-gr.y"
+ case 83:
+#line 600 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 2726 "engines/director/lingo/lingo-gr.cpp"
+#line 2921 "engines/director/lingo/lingo-gr.cpp"
break;
- case 76:
-#line 597 "engines/director/lingo/lingo-gr.y"
- {
- (yyval.code) = g_lingo->codeFunc((yyvsp[-1].s), 1);
- delete (yyvsp[-1].s); }
-#line 2734 "engines/director/lingo/lingo-gr.cpp"
+ case 84:
+#line 603 "engines/director/lingo/lingo-gr.y"
+ {
+ if (g_lingo->_builtinConsts.contains(*(yyvsp[0].s))) {
+ (yyval.code) = g_lingo->code1(LC::c_constpush);
+ } else {
+ (yyval.code) = g_lingo->code1(LC::c_eval);
+ }
+ g_lingo->codeString((yyvsp[0].s)->c_str());
+ delete (yyvsp[0].s); }
+#line 2934 "engines/director/lingo/lingo-gr.cpp"
break;
- case 77:
-#line 600 "engines/director/lingo/lingo-gr.y"
- {
- (yyval.code) = g_lingo->codeFunc((yyvsp[-2].s), 1);
- delete (yyvsp[-2].s); }
-#line 2742 "engines/director/lingo/lingo-gr.cpp"
+ case 85:
+#line 611 "engines/director/lingo/lingo-gr.y"
+ { yyerrok; }
+#line 2940 "engines/director/lingo/lingo-gr.cpp"
break;
- case 78:
-#line 603 "engines/director/lingo/lingo-gr.y"
- {
- g_lingo->code1(LC::c_objectproppush);
- g_lingo->codeString((yyvsp[0].objectprop).obj->c_str());
- g_lingo->codeString((yyvsp[0].objectprop).prop->c_str());
- delete (yyvsp[0].objectprop).obj;
- delete (yyvsp[0].objectprop).prop; }
-#line 2753 "engines/director/lingo/lingo-gr.cpp"
+ case 87:
+#line 614 "engines/director/lingo/lingo-gr.y"
+ { (yyval.code) = (yyvsp[-1].code); }
+#line 2946 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 88:
+#line 616 "engines/director/lingo/lingo-gr.y"
+ { (yyval.code) = (yyvsp[0].code); }
+#line 2952 "engines/director/lingo/lingo-gr.cpp"
break;
- case 79:
-#line 609 "engines/director/lingo/lingo-gr.y"
+ case 89:
+#line 617 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_add); }
-#line 2759 "engines/director/lingo/lingo-gr.cpp"
+#line 2958 "engines/director/lingo/lingo-gr.cpp"
break;
- case 80:
-#line 610 "engines/director/lingo/lingo-gr.y"
+ case 90:
+#line 618 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_sub); }
-#line 2765 "engines/director/lingo/lingo-gr.cpp"
+#line 2964 "engines/director/lingo/lingo-gr.cpp"
break;
- case 81:
-#line 611 "engines/director/lingo/lingo-gr.y"
+ case 91:
+#line 619 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_mul); }
-#line 2771 "engines/director/lingo/lingo-gr.cpp"
+#line 2970 "engines/director/lingo/lingo-gr.cpp"
break;
- case 82:
-#line 612 "engines/director/lingo/lingo-gr.y"
+ case 92:
+#line 620 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_div); }
-#line 2777 "engines/director/lingo/lingo-gr.cpp"
+#line 2976 "engines/director/lingo/lingo-gr.cpp"
break;
- case 83:
-#line 613 "engines/director/lingo/lingo-gr.y"
+ case 93:
+#line 621 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_mod); }
-#line 2783 "engines/director/lingo/lingo-gr.cpp"
+#line 2982 "engines/director/lingo/lingo-gr.cpp"
break;
- case 84:
-#line 614 "engines/director/lingo/lingo-gr.y"
+ case 94:
+#line 622 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gt); }
-#line 2789 "engines/director/lingo/lingo-gr.cpp"
+#line 2988 "engines/director/lingo/lingo-gr.cpp"
break;
- case 85:
-#line 615 "engines/director/lingo/lingo-gr.y"
+ case 95:
+#line 623 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lt); }
-#line 2795 "engines/director/lingo/lingo-gr.cpp"
+#line 2994 "engines/director/lingo/lingo-gr.cpp"
break;
- case 86:
-#line 616 "engines/director/lingo/lingo-gr.y"
+ case 96:
+#line 624 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_eq); }
-#line 2801 "engines/director/lingo/lingo-gr.cpp"
+#line 3000 "engines/director/lingo/lingo-gr.cpp"
break;
- case 87:
-#line 617 "engines/director/lingo/lingo-gr.y"
+ case 97:
+#line 625 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_neq); }
-#line 2807 "engines/director/lingo/lingo-gr.cpp"
+#line 3006 "engines/director/lingo/lingo-gr.cpp"
break;
- case 88:
-#line 618 "engines/director/lingo/lingo-gr.y"
+ case 98:
+#line 626 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ge); }
-#line 2813 "engines/director/lingo/lingo-gr.cpp"
+#line 3012 "engines/director/lingo/lingo-gr.cpp"
break;
- case 89:
-#line 619 "engines/director/lingo/lingo-gr.y"
+ case 99:
+#line 627 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_le); }
-#line 2819 "engines/director/lingo/lingo-gr.cpp"
+#line 3018 "engines/director/lingo/lingo-gr.cpp"
break;
- case 90:
-#line 620 "engines/director/lingo/lingo-gr.y"
+ case 100:
+#line 628 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_and); }
-#line 2825 "engines/director/lingo/lingo-gr.cpp"
+#line 3024 "engines/director/lingo/lingo-gr.cpp"
break;
- case 91:
-#line 621 "engines/director/lingo/lingo-gr.y"
+ case 101:
+#line 629 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_or); }
-#line 2831 "engines/director/lingo/lingo-gr.cpp"
+#line 3030 "engines/director/lingo/lingo-gr.cpp"
break;
- case 92:
-#line 622 "engines/director/lingo/lingo-gr.y"
+ case 102:
+#line 630 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_not); }
-#line 2837 "engines/director/lingo/lingo-gr.cpp"
+#line 3036 "engines/director/lingo/lingo-gr.cpp"
break;
- case 93:
-#line 623 "engines/director/lingo/lingo-gr.y"
+ case 103:
+#line 631 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ampersand); }
-#line 2843 "engines/director/lingo/lingo-gr.cpp"
+#line 3042 "engines/director/lingo/lingo-gr.cpp"
break;
- case 94:
-#line 624 "engines/director/lingo/lingo-gr.y"
+ case 104:
+#line 632 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_concat); }
-#line 2849 "engines/director/lingo/lingo-gr.cpp"
+#line 3048 "engines/director/lingo/lingo-gr.cpp"
break;
- case 95:
-#line 625 "engines/director/lingo/lingo-gr.y"
+ case 105:
+#line 633 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_contains); }
-#line 2855 "engines/director/lingo/lingo-gr.cpp"
+#line 3054 "engines/director/lingo/lingo-gr.cpp"
break;
- case 96:
-#line 626 "engines/director/lingo/lingo-gr.y"
+ case 106:
+#line 634 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_starts); }
-#line 2861 "engines/director/lingo/lingo-gr.cpp"
- break;
-
- case 97:
-#line 627 "engines/director/lingo/lingo-gr.y"
- { (yyval.code) = (yyvsp[0].code); }
-#line 2867 "engines/director/lingo/lingo-gr.cpp"
- break;
-
- case 98:
-#line 628 "engines/director/lingo/lingo-gr.y"
- { (yyval.code) = (yyvsp[0].code); g_lingo->code1(LC::c_negate); }
-#line 2873 "engines/director/lingo/lingo-gr.cpp"
- break;
-
- case 99:
-#line 629 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_intersects); }
-#line 2879 "engines/director/lingo/lingo-gr.cpp"
+#line 3060 "engines/director/lingo/lingo-gr.cpp"
break;
- case 100:
-#line 630 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_within); }
-#line 2885 "engines/director/lingo/lingo-gr.cpp"
- break;
-
- case 101:
-#line 632 "engines/director/lingo/lingo-gr.y"
- {
- if ((yyvsp[0].ref).s) {
- (yyval.code) = g_lingo->code1(LC::c_stringpush);
- g_lingo->codeString((yyvsp[0].ref).s->c_str());
- delete (yyvsp[0].ref).s;
- } else {
- (yyval.code) = g_lingo->code1(LC::c_intpush);
- g_lingo->codeInt((yyvsp[0].ref).i);
- }
+ case 107:
+#line 636 "engines/director/lingo/lingo-gr.y"
+ {
Common::String field("field");
g_lingo->codeFunc(&field, 1); }
-#line 2901 "engines/director/lingo/lingo-gr.cpp"
+#line 3068 "engines/director/lingo/lingo-gr.cpp"
break;
- case 102:
-#line 643 "engines/director/lingo/lingo-gr.y"
+ case 108:
+#line 639 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_charOf); }
-#line 2907 "engines/director/lingo/lingo-gr.cpp"
+#line 3074 "engines/director/lingo/lingo-gr.cpp"
break;
- case 103:
-#line 644 "engines/director/lingo/lingo-gr.y"
+ case 109:
+#line 640 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_charToOf); }
-#line 2913 "engines/director/lingo/lingo-gr.cpp"
+#line 3080 "engines/director/lingo/lingo-gr.cpp"
break;
- case 104:
-#line 645 "engines/director/lingo/lingo-gr.y"
+ case 110:
+#line 641 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_itemOf); }
-#line 2919 "engines/director/lingo/lingo-gr.cpp"
+#line 3086 "engines/director/lingo/lingo-gr.cpp"
break;
- case 105:
-#line 646 "engines/director/lingo/lingo-gr.y"
+ case 111:
+#line 642 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_itemToOf); }
-#line 2925 "engines/director/lingo/lingo-gr.cpp"
+#line 3092 "engines/director/lingo/lingo-gr.cpp"
break;
- case 106:
-#line 647 "engines/director/lingo/lingo-gr.y"
+ case 112:
+#line 643 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lineOf); }
-#line 2931 "engines/director/lingo/lingo-gr.cpp"
+#line 3098 "engines/director/lingo/lingo-gr.cpp"
break;
- case 107:
-#line 648 "engines/director/lingo/lingo-gr.y"
+ case 113:
+#line 644 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lineToOf); }
-#line 2937 "engines/director/lingo/lingo-gr.cpp"
+#line 3104 "engines/director/lingo/lingo-gr.cpp"
break;
- case 108:
-#line 649 "engines/director/lingo/lingo-gr.y"
+ case 114:
+#line 645 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_wordOf); }
-#line 2943 "engines/director/lingo/lingo-gr.cpp"
+#line 3110 "engines/director/lingo/lingo-gr.cpp"
break;
- case 109:
-#line 650 "engines/director/lingo/lingo-gr.y"
+ case 115:
+#line 646 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_wordToOf); }
-#line 2949 "engines/director/lingo/lingo-gr.cpp"
+#line 3116 "engines/director/lingo/lingo-gr.cpp"
break;
- case 111:
-#line 653 "engines/director/lingo/lingo-gr.y"
- {
- if ((yyvsp[0].ref).s) {
- (yyval.code) = g_lingo->code1(LC::c_stringpush);
- g_lingo->codeString((yyvsp[0].ref).s->c_str());
- delete (yyvsp[0].ref).s;
- } else {
- (yyval.code) = g_lingo->code1(LC::c_intpush);
- g_lingo->codeInt((yyvsp[0].ref).i);
- }
+ case 117:
+#line 649 "engines/director/lingo/lingo-gr.y"
+ {
Common::String cast("cast");
g_lingo->codeFunc(&cast, 1); }
-#line 2965 "engines/director/lingo/lingo-gr.cpp"
+#line 3124 "engines/director/lingo/lingo-gr.cpp"
break;
- case 112:
-#line 664 "engines/director/lingo/lingo-gr.y"
+ case 118:
+#line 652 "engines/director/lingo/lingo-gr.y"
{
- if ((yyvsp[0].ref).s) {
- (yyval.code) = g_lingo->code1(LC::c_stringpush);
- g_lingo->codeString((yyvsp[0].ref).s->c_str());
- delete (yyvsp[0].ref).s;
- } else {
- (yyval.code) = g_lingo->code1(LC::c_intpush);
- g_lingo->codeInt((yyvsp[0].ref).i);
- }
Common::String script("script");
g_lingo->codeFunc(&script, 1); }
-#line 2981 "engines/director/lingo/lingo-gr.cpp"
+#line 3132 "engines/director/lingo/lingo-gr.cpp"
break;
- case 113:
-#line 675 "engines/director/lingo/lingo-gr.y"
+ case 119:
+#line 655 "engines/director/lingo/lingo-gr.y"
{
- if ((yyvsp[0].ref).s) {
- (yyval.code) = g_lingo->code1(LC::c_stringpush);
- g_lingo->codeString((yyvsp[0].ref).s->c_str());
- delete (yyvsp[0].ref).s;
- } else {
- (yyval.code) = g_lingo->code1(LC::c_intpush);
- g_lingo->codeInt((yyvsp[0].ref).i);
- }
Common::String window("window");
g_lingo->codeFunc(&window, 1); }
-#line 2997 "engines/director/lingo/lingo-gr.cpp"
+#line 3140 "engines/director/lingo/lingo-gr.cpp"
break;
- case 114:
-#line 688 "engines/director/lingo/lingo-gr.y"
+ case 120:
+#line 659 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_printtop); }
-#line 3003 "engines/director/lingo/lingo-gr.cpp"
+#line 3146 "engines/director/lingo/lingo-gr.cpp"
break;
- case 117:
-#line 691 "engines/director/lingo/lingo-gr.y"
+ case 123:
+#line 662 "engines/director/lingo/lingo-gr.y"
{
if (g_lingo->_repeatStack.size()) {
g_lingo->code2(LC::c_jump, 0);
@@ -3012,284 +3155,284 @@ yyreduce:
} else {
warning("# LINGO: exit repeat not inside repeat block");
} }
-#line 3016 "engines/director/lingo/lingo-gr.cpp"
+#line 3159 "engines/director/lingo/lingo-gr.cpp"
break;
- case 118:
-#line 699 "engines/director/lingo/lingo-gr.y"
+ case 124:
+#line 670 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_procret); }
-#line 3022 "engines/director/lingo/lingo-gr.cpp"
+#line 3165 "engines/director/lingo/lingo-gr.cpp"
break;
- case 119:
-#line 700 "engines/director/lingo/lingo-gr.y"
+ case 125:
+#line 671 "engines/director/lingo/lingo-gr.y"
{ inArgs(); }
-#line 3028 "engines/director/lingo/lingo-gr.cpp"
+#line 3171 "engines/director/lingo/lingo-gr.cpp"
break;
- case 120:
-#line 700 "engines/director/lingo/lingo-gr.y"
+ case 126:
+#line 671 "engines/director/lingo/lingo-gr.y"
{ inLast(); }
-#line 3034 "engines/director/lingo/lingo-gr.cpp"
+#line 3177 "engines/director/lingo/lingo-gr.cpp"
break;
- case 121:
-#line 701 "engines/director/lingo/lingo-gr.y"
+ case 127:
+#line 672 "engines/director/lingo/lingo-gr.y"
{ inArgs(); }
-#line 3040 "engines/director/lingo/lingo-gr.cpp"
+#line 3183 "engines/director/lingo/lingo-gr.cpp"
break;
- case 122:
-#line 701 "engines/director/lingo/lingo-gr.y"
+ case 128:
+#line 672 "engines/director/lingo/lingo-gr.y"
{ inLast(); }
-#line 3046 "engines/director/lingo/lingo-gr.cpp"
+#line 3189 "engines/director/lingo/lingo-gr.cpp"
break;
- case 123:
-#line 702 "engines/director/lingo/lingo-gr.y"
+ case 129:
+#line 673 "engines/director/lingo/lingo-gr.y"
{ inArgs(); }
-#line 3052 "engines/director/lingo/lingo-gr.cpp"
+#line 3195 "engines/director/lingo/lingo-gr.cpp"
break;
- case 124:
-#line 702 "engines/director/lingo/lingo-gr.y"
+ case 130:
+#line 673 "engines/director/lingo/lingo-gr.y"
{ inLast(); }
-#line 3058 "engines/director/lingo/lingo-gr.cpp"
+#line 3201 "engines/director/lingo/lingo-gr.cpp"
break;
- case 125:
-#line 703 "engines/director/lingo/lingo-gr.y"
+ case 131:
+#line 674 "engines/director/lingo/lingo-gr.y"
{
Common::String open("open");
g_lingo->codeFunc(&open, 2); }
-#line 3066 "engines/director/lingo/lingo-gr.cpp"
+#line 3209 "engines/director/lingo/lingo-gr.cpp"
break;
- case 126:
-#line 706 "engines/director/lingo/lingo-gr.y"
+ case 132:
+#line 677 "engines/director/lingo/lingo-gr.y"
{
Common::String open("open");
g_lingo->codeFunc(&open, 1); }
-#line 3074 "engines/director/lingo/lingo-gr.cpp"
+#line 3217 "engines/director/lingo/lingo-gr.cpp"
break;
- case 127:
-#line 709 "engines/director/lingo/lingo-gr.y"
+ case 133:
+#line 680 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_lazyeval);
g_lingo->codeString((yyvsp[-1].s)->c_str());
g_lingo->codeCmd((yyvsp[-3].s), 1);
delete (yyvsp[-3].s);
delete (yyvsp[-1].s); }
-#line 3085 "engines/director/lingo/lingo-gr.cpp"
+#line 3228 "engines/director/lingo/lingo-gr.cpp"
break;
- case 128:
-#line 715 "engines/director/lingo/lingo-gr.y"
+ case 134:
+#line 686 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lazyeval); g_lingo->codeString((yyvsp[-1].s)->c_str()); }
-#line 3091 "engines/director/lingo/lingo-gr.cpp"
+#line 3234 "engines/director/lingo/lingo-gr.cpp"
break;
- case 129:
-#line 716 "engines/director/lingo/lingo-gr.y"
+ case 135:
+#line 687 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeCmd((yyvsp[-6].s), (yyvsp[-1].narg) + 1);
delete (yyvsp[-6].s);
delete (yyvsp[-4].s); }
-#line 3100 "engines/director/lingo/lingo-gr.cpp"
+#line 3243 "engines/director/lingo/lingo-gr.cpp"
break;
- case 130:
-#line 720 "engines/director/lingo/lingo-gr.y"
+ case 136:
+#line 691 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeCmd((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 3108 "engines/director/lingo/lingo-gr.cpp"
+#line 3251 "engines/director/lingo/lingo-gr.cpp"
break;
- case 131:
-#line 723 "engines/director/lingo/lingo-gr.y"
+ case 137:
+#line 694 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeCmd((yyvsp[-1].s), (yyvsp[0].narg));
delete (yyvsp[-1].s); }
-#line 3116 "engines/director/lingo/lingo-gr.cpp"
+#line 3259 "engines/director/lingo/lingo-gr.cpp"
break;
- case 132:
-#line 727 "engines/director/lingo/lingo-gr.y"
+ case 138:
+#line 698 "engines/director/lingo/lingo-gr.y"
{
mVar((yyvsp[0].s), kVarGlobal);
delete (yyvsp[0].s); }
-#line 3124 "engines/director/lingo/lingo-gr.cpp"
+#line 3267 "engines/director/lingo/lingo-gr.cpp"
break;
- case 133:
-#line 730 "engines/director/lingo/lingo-gr.y"
+ case 139:
+#line 701 "engines/director/lingo/lingo-gr.y"
{
mVar((yyvsp[0].s), kVarGlobal);
delete (yyvsp[0].s); }
-#line 3132 "engines/director/lingo/lingo-gr.cpp"
+#line 3275 "engines/director/lingo/lingo-gr.cpp"
break;
- case 134:
-#line 734 "engines/director/lingo/lingo-gr.y"
+ case 140:
+#line 705 "engines/director/lingo/lingo-gr.y"
{
mVar((yyvsp[0].s), kVarProperty);
delete (yyvsp[0].s); }
-#line 3140 "engines/director/lingo/lingo-gr.cpp"
+#line 3283 "engines/director/lingo/lingo-gr.cpp"
break;
- case 135:
-#line 737 "engines/director/lingo/lingo-gr.y"
+ case 141:
+#line 708 "engines/director/lingo/lingo-gr.y"
{
mVar((yyvsp[0].s), kVarProperty);
delete (yyvsp[0].s); }
-#line 3148 "engines/director/lingo/lingo-gr.cpp"
+#line 3291 "engines/director/lingo/lingo-gr.cpp"
break;
- case 136:
-#line 741 "engines/director/lingo/lingo-gr.y"
+ case 142:
+#line 712 "engines/director/lingo/lingo-gr.y"
{
mVar((yyvsp[0].s), kVarInstance);
delete (yyvsp[0].s); }
-#line 3156 "engines/director/lingo/lingo-gr.cpp"
+#line 3299 "engines/director/lingo/lingo-gr.cpp"
break;
- case 137:
-#line 744 "engines/director/lingo/lingo-gr.y"
+ case 143:
+#line 715 "engines/director/lingo/lingo-gr.y"
{
mVar((yyvsp[0].s), kVarInstance);
delete (yyvsp[0].s); }
-#line 3164 "engines/director/lingo/lingo-gr.cpp"
+#line 3307 "engines/director/lingo/lingo-gr.cpp"
break;
- case 138:
-#line 755 "engines/director/lingo/lingo-gr.y"
+ case 144:
+#line 726 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotoloop); }
-#line 3170 "engines/director/lingo/lingo-gr.cpp"
+#line 3313 "engines/director/lingo/lingo-gr.cpp"
break;
- case 139:
-#line 756 "engines/director/lingo/lingo-gr.y"
+ case 145:
+#line 727 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotonext); }
-#line 3176 "engines/director/lingo/lingo-gr.cpp"
+#line 3319 "engines/director/lingo/lingo-gr.cpp"
break;
- case 140:
-#line 757 "engines/director/lingo/lingo-gr.y"
+ case 146:
+#line 728 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotoprevious); }
-#line 3182 "engines/director/lingo/lingo-gr.cpp"
+#line 3325 "engines/director/lingo/lingo-gr.cpp"
break;
- case 141:
-#line 758 "engines/director/lingo/lingo-gr.y"
+ case 147:
+#line 729 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(LC::c_goto); }
-#line 3191 "engines/director/lingo/lingo-gr.cpp"
+#line 3334 "engines/director/lingo/lingo-gr.cpp"
break;
- case 142:
-#line 762 "engines/director/lingo/lingo-gr.y"
+ case 148:
+#line 733 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(LC::c_goto); }
-#line 3200 "engines/director/lingo/lingo-gr.cpp"
+#line 3343 "engines/director/lingo/lingo-gr.cpp"
break;
- case 143:
-#line 766 "engines/director/lingo/lingo-gr.y"
+ case 149:
+#line 737 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(2);
g_lingo->code1(LC::c_goto); }
-#line 3209 "engines/director/lingo/lingo-gr.cpp"
+#line 3352 "engines/director/lingo/lingo-gr.cpp"
break;
- case 146:
-#line 774 "engines/director/lingo/lingo-gr.y"
+ case 152:
+#line 745 "engines/director/lingo/lingo-gr.y"
{ // "play #done" is also caught by this
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(LC::c_play); }
-#line 3218 "engines/director/lingo/lingo-gr.cpp"
+#line 3361 "engines/director/lingo/lingo-gr.cpp"
break;
- case 147:
-#line 778 "engines/director/lingo/lingo-gr.y"
+ case 153:
+#line 749 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(LC::c_play); }
-#line 3227 "engines/director/lingo/lingo-gr.cpp"
+#line 3370 "engines/director/lingo/lingo-gr.cpp"
break;
- case 148:
-#line 782 "engines/director/lingo/lingo-gr.y"
+ case 154:
+#line 753 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(2);
g_lingo->code1(LC::c_play); }
-#line 3236 "engines/director/lingo/lingo-gr.cpp"
+#line 3379 "engines/director/lingo/lingo-gr.cpp"
break;
- case 149:
-#line 786 "engines/director/lingo/lingo-gr.y"
+ case 155:
+#line 757 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeSetImmediate(true); }
-#line 3242 "engines/director/lingo/lingo-gr.cpp"
+#line 3385 "engines/director/lingo/lingo-gr.cpp"
break;
- case 150:
-#line 786 "engines/director/lingo/lingo-gr.y"
+ case 156:
+#line 757 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeSetImmediate(false);
g_lingo->codeFunc((yyvsp[-2].s), (yyvsp[0].narg));
delete (yyvsp[-2].s); }
-#line 3251 "engines/director/lingo/lingo-gr.cpp"
+#line 3394 "engines/director/lingo/lingo-gr.cpp"
break;
- case 151:
-#line 816 "engines/director/lingo/lingo-gr.y"
+ case 157:
+#line 787 "engines/director/lingo/lingo-gr.y"
{ startDef(); }
-#line 3257 "engines/director/lingo/lingo-gr.cpp"
+#line 3400 "engines/director/lingo/lingo-gr.cpp"
break;
- case 152:
-#line 817 "engines/director/lingo/lingo-gr.y"
+ case 158:
+#line 788 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_procret);
g_lingo->codeDefine(*(yyvsp[-5].s), (yyvsp[-4].code), (yyvsp[-3].narg));
endDef();
delete (yyvsp[-5].s); }
-#line 3267 "engines/director/lingo/lingo-gr.cpp"
+#line 3410 "engines/director/lingo/lingo-gr.cpp"
break;
- case 153:
-#line 822 "engines/director/lingo/lingo-gr.y"
+ case 159:
+#line 793 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeFactory(*(yyvsp[0].s)); delete (yyvsp[0].s); }
-#line 3273 "engines/director/lingo/lingo-gr.cpp"
+#line 3416 "engines/director/lingo/lingo-gr.cpp"
break;
- case 154:
-#line 823 "engines/director/lingo/lingo-gr.y"
+ case 160:
+#line 794 "engines/director/lingo/lingo-gr.y"
{ startDef(); (*g_lingo->_methodVars)["me"] = kVarArgument; }
-#line 3279 "engines/director/lingo/lingo-gr.cpp"
+#line 3422 "engines/director/lingo/lingo-gr.cpp"
break;
- case 155:
-#line 824 "engines/director/lingo/lingo-gr.y"
+ case 161:
+#line 795 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_procret);
g_lingo->codeDefine(*(yyvsp[-6].s), (yyvsp[-4].code), (yyvsp[-3].narg) + 1);
endDef();
delete (yyvsp[-6].s); }
-#line 3289 "engines/director/lingo/lingo-gr.cpp"
+#line 3432 "engines/director/lingo/lingo-gr.cpp"
break;
- case 156:
-#line 829 "engines/director/lingo/lingo-gr.y"
+ case 162:
+#line 800 "engines/director/lingo/lingo-gr.y"
{ // D3
g_lingo->code1(LC::c_procret);
g_lingo->codeDefine(*(yyvsp[-7].s), (yyvsp[-6].code), (yyvsp[-5].narg));
@@ -3298,180 +3441,180 @@ yyreduce:
checkEnd((yyvsp[-1].s), (yyvsp[-7].s)->c_str(), false);
delete (yyvsp[-7].s);
delete (yyvsp[-1].s); }
-#line 3302 "engines/director/lingo/lingo-gr.cpp"
+#line 3445 "engines/director/lingo/lingo-gr.cpp"
break;
- case 157:
-#line 837 "engines/director/lingo/lingo-gr.y"
+ case 163:
+#line 808 "engines/director/lingo/lingo-gr.y"
{ // D4. No 'end' clause
g_lingo->code1(LC::c_procret);
g_lingo->codeDefine(*(yyvsp[-5].s), (yyvsp[-4].code), (yyvsp[-3].narg));
endDef();
delete (yyvsp[-5].s); }
-#line 3312 "engines/director/lingo/lingo-gr.cpp"
+#line 3455 "engines/director/lingo/lingo-gr.cpp"
break;
- case 158:
-#line 843 "engines/director/lingo/lingo-gr.y"
+ case 164:
+#line 814 "engines/director/lingo/lingo-gr.y"
{ startDef(); }
-#line 3318 "engines/director/lingo/lingo-gr.cpp"
+#line 3461 "engines/director/lingo/lingo-gr.cpp"
break;
- case 159:
-#line 843 "engines/director/lingo/lingo-gr.y"
+ case 165:
+#line 814 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = (yyvsp[0].s); }
-#line 3324 "engines/director/lingo/lingo-gr.cpp"
+#line 3467 "engines/director/lingo/lingo-gr.cpp"
break;
- case 160:
-#line 845 "engines/director/lingo/lingo-gr.y"
+ case 166:
+#line 816 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; }
-#line 3330 "engines/director/lingo/lingo-gr.cpp"
+#line 3473 "engines/director/lingo/lingo-gr.cpp"
break;
- case 161:
-#line 846 "engines/director/lingo/lingo-gr.y"
+ case 167:
+#line 817 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); mVar((yyvsp[0].s), kVarArgument); (yyval.narg) = 1; delete (yyvsp[0].s); }
-#line 3336 "engines/director/lingo/lingo-gr.cpp"
+#line 3479 "engines/director/lingo/lingo-gr.cpp"
break;
- case 162:
-#line 847 "engines/director/lingo/lingo-gr.y"
+ case 168:
+#line 818 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); mVar((yyvsp[0].s), kVarArgument); (yyval.narg) = (yyvsp[-2].narg) + 1; delete (yyvsp[0].s); }
-#line 3342 "engines/director/lingo/lingo-gr.cpp"
+#line 3485 "engines/director/lingo/lingo-gr.cpp"
break;
- case 164:
-#line 850 "engines/director/lingo/lingo-gr.y"
+ case 170:
+#line 821 "engines/director/lingo/lingo-gr.y"
{ delete (yyvsp[0].s); }
-#line 3348 "engines/director/lingo/lingo-gr.cpp"
+#line 3491 "engines/director/lingo/lingo-gr.cpp"
break;
- case 165:
-#line 851 "engines/director/lingo/lingo-gr.y"
+ case 171:
+#line 822 "engines/director/lingo/lingo-gr.y"
{ delete (yyvsp[0].s); }
-#line 3354 "engines/director/lingo/lingo-gr.cpp"
+#line 3497 "engines/director/lingo/lingo-gr.cpp"
break;
- case 166:
-#line 853 "engines/director/lingo/lingo-gr.y"
+ case 172:
+#line 824 "engines/director/lingo/lingo-gr.y"
{ inDef(); }
-#line 3360 "engines/director/lingo/lingo-gr.cpp"
+#line 3503 "engines/director/lingo/lingo-gr.cpp"
break;
- case 167:
-#line 855 "engines/director/lingo/lingo-gr.y"
+ case 173:
+#line 826 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; }
-#line 3366 "engines/director/lingo/lingo-gr.cpp"
+#line 3509 "engines/director/lingo/lingo-gr.cpp"
break;
- case 168:
-#line 856 "engines/director/lingo/lingo-gr.y"
+ case 174:
+#line 827 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3372 "engines/director/lingo/lingo-gr.cpp"
+#line 3515 "engines/director/lingo/lingo-gr.cpp"
break;
- case 169:
-#line 857 "engines/director/lingo/lingo-gr.y"
+ case 175:
+#line 828 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3378 "engines/director/lingo/lingo-gr.cpp"
+#line 3521 "engines/director/lingo/lingo-gr.cpp"
break;
- case 170:
-#line 859 "engines/director/lingo/lingo-gr.y"
+ case 176:
+#line 830 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3384 "engines/director/lingo/lingo-gr.cpp"
+#line 3527 "engines/director/lingo/lingo-gr.cpp"
break;
- case 171:
-#line 860 "engines/director/lingo/lingo-gr.y"
+ case 177:
+#line 831 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3390 "engines/director/lingo/lingo-gr.cpp"
+#line 3533 "engines/director/lingo/lingo-gr.cpp"
break;
- case 172:
-#line 862 "engines/director/lingo/lingo-gr.y"
+ case 178:
+#line 833 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[-1].code); }
-#line 3396 "engines/director/lingo/lingo-gr.cpp"
+#line 3539 "engines/director/lingo/lingo-gr.cpp"
break;
- case 173:
-#line 864 "engines/director/lingo/lingo-gr.y"
+ case 179:
+#line 835 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code2(LC::c_arraypush, 0); }
-#line 3402 "engines/director/lingo/lingo-gr.cpp"
+#line 3545 "engines/director/lingo/lingo-gr.cpp"
break;
- case 174:
-#line 865 "engines/director/lingo/lingo-gr.y"
+ case 180:
+#line 836 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code2(LC::c_proparraypush, 0); }
-#line 3408 "engines/director/lingo/lingo-gr.cpp"
+#line 3551 "engines/director/lingo/lingo-gr.cpp"
break;
- case 175:
-#line 866 "engines/director/lingo/lingo-gr.y"
+ case 181:
+#line 837 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_proparraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3414 "engines/director/lingo/lingo-gr.cpp"
+#line 3557 "engines/director/lingo/lingo-gr.cpp"
break;
- case 176:
-#line 867 "engines/director/lingo/lingo-gr.y"
+ case 182:
+#line 838 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_arraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3420 "engines/director/lingo/lingo-gr.cpp"
+#line 3563 "engines/director/lingo/lingo-gr.cpp"
break;
- case 177:
-#line 869 "engines/director/lingo/lingo-gr.y"
+ case 183:
+#line 840 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3426 "engines/director/lingo/lingo-gr.cpp"
+#line 3569 "engines/director/lingo/lingo-gr.cpp"
break;
- case 178:
-#line 870 "engines/director/lingo/lingo-gr.y"
+ case 184:
+#line 841 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3432 "engines/director/lingo/lingo-gr.cpp"
+#line 3575 "engines/director/lingo/lingo-gr.cpp"
break;
- case 179:
-#line 872 "engines/director/lingo/lingo-gr.y"
+ case 185:
+#line 843 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3438 "engines/director/lingo/lingo-gr.cpp"
+#line 3581 "engines/director/lingo/lingo-gr.cpp"
break;
- case 180:
-#line 873 "engines/director/lingo/lingo-gr.y"
+ case 186:
+#line 844 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3444 "engines/director/lingo/lingo-gr.cpp"
+#line 3587 "engines/director/lingo/lingo-gr.cpp"
break;
- case 181:
-#line 875 "engines/director/lingo/lingo-gr.y"
+ case 187:
+#line 846 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_symbolpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
delete (yyvsp[-2].s); }
-#line 3453 "engines/director/lingo/lingo-gr.cpp"
+#line 3596 "engines/director/lingo/lingo-gr.cpp"
break;
- case 182:
-#line 879 "engines/director/lingo/lingo-gr.y"
+ case 188:
+#line 850 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_stringpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
delete (yyvsp[-2].s); }
-#line 3462 "engines/director/lingo/lingo-gr.cpp"
+#line 3605 "engines/director/lingo/lingo-gr.cpp"
break;
- case 183:
-#line 883 "engines/director/lingo/lingo-gr.y"
+ case 189:
+#line 854 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_stringpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
delete (yyvsp[-2].s); }
-#line 3471 "engines/director/lingo/lingo-gr.cpp"
+#line 3614 "engines/director/lingo/lingo-gr.cpp"
break;
-#line 3475 "engines/director/lingo/lingo-gr.cpp"
+#line 3618 "engines/director/lingo/lingo-gr.cpp"
default: break;
}
@@ -3670,7 +3813,7 @@ yyreturn:
return yyresult;
}
-#line 889 "engines/director/lingo/lingo-gr.y"
+#line 860 "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 5c671bd702..be9df7f0ef 100644
--- a/engines/director/lingo/lingo-gr.h
+++ b/engines/director/lingo/lingo-gr.h
@@ -75,7 +75,7 @@ extern int yydebug;
FLOAT = 276, /* FLOAT */
THEFUNC = 277, /* THEFUNC */
THEFUNCINOF = 278, /* THEFUNCINOF */
- ID = 279, /* ID */
+ VARID = 279, /* VARID */
STRING = 280, /* STRING */
SYMBOL = 281, /* SYMBOL */
ENDCLAUSE = 282, /* ENDCLAUSE */
@@ -138,7 +138,11 @@ extern int yydebug;
tON = 339, /* tON */
tENDIF = 340, /* tENDIF */
tENDREPEAT = 341, /* tENDREPEAT */
- tENDTELL = 342 /* tENDTELL */
+ tENDTELL = 342, /* tENDTELL */
+ tCAST = 343, /* tCAST */
+ tFIELD = 344, /* tFIELD */
+ tSCRIPT = 345, /* tSCRIPT */
+ tWINDOW = 346 /* tWINDOW */
};
typedef enum yytokentype yytoken_kind_t;
#endif
@@ -162,12 +166,7 @@ union YYSTYPE
Common::String *prop;
} objectprop;
- struct {
- Common::String *s;
- int i;
- } ref;
-
-#line 171 "engines/director/lingo/lingo-gr.h"
+#line 170 "engines/director/lingo/lingo-gr.h"
};
typedef union YYSTYPE YYSTYPE;
diff --git a/engines/director/lingo/lingo-gr.y b/engines/director/lingo/lingo-gr.y
index d23f1ad07f..43213ae6c5 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -170,11 +170,6 @@ static void mVar(Common::String *s, VarType type) {
Common::String *obj;
Common::String *prop;
} objectprop;
-
- struct {
- Common::String *s;
- int i;
- } ref;
}
%token UNARY
@@ -186,7 +181,7 @@ static void mVar(Common::String *s, VarType type) {
%token<e> THEENTITY THEENTITYWITHID THEMENUITEMENTITY THEMENUITEMSENTITY
%token<f> FLOAT
%token<s> THEFUNC THEFUNCINOF
-%token<s> ID STRING SYMBOL
+%token<s> VARID STRING SYMBOL
%token<s> ENDCLAUSE tPLAYACCEL tMETHOD
%token<objectprop> THEOBJECTPROP
%token<ref> CAST FIELD SCRIPT WINDOW
@@ -198,18 +193,19 @@ static void mVar(Common::String *s, VarType type) {
%token tSPRITE tINTERSECTS tWITHIN tTELL tPROPERTY
%token tON tENDIF tENDREPEAT tENDTELL
-%type<code> asgn lbl expr if chunkexpr
+%type<code> asgn lbl expr if chunkexpr simpleexprnoparens
%type<code> stmtlist tellstart reference simpleexpr list valuelist
%type<code> jump jumpifz varassign
%type<narg> argdef arglist nonemptyarglist linearlist proplist
-%type<s> on
+%type<s> ID on
%left tAND tOR
%left '<' tLE '>' tGE tEQ tNEQ tCONTAINS tSTARTS
%left '&' tCONCAT
%left '+' '-'
%left '*' '/' '%' tMOD
-%right UNARY
+%right UNARY tCAST tFIELD tSCRIPT tWINDOW
+%nonassoc VARID
%destructor { delete $$; } <s>
@@ -222,6 +218,12 @@ programline: /* empty */
| defn
| stmt
+ID: VARID
+ | tCAST { $$ = new Common::String("cast"); }
+ | tFIELD { $$ = new Common::String("field"); }
+ | tSCRIPT { $$ = new Common::String("script"); }
+ | tWINDOW { $$ = new Common::String("window"); }
+
asgn: tPUT expr tINTO ID {
g_lingo->code1(LC::c_varpush);
g_lingo->codeString($ID->c_str());
@@ -538,12 +540,14 @@ stmtlist: { $$ = g_lingo->_currentAssembly->size(); }
| stmtlist '\n'
| stmtlist stmt
-simpleexpr: INT {
+simpleexprnoparens: INT {
$$ = g_lingo->code1(LC::c_intpush);
g_lingo->codeInt($INT); }
| FLOAT {
$$ = g_lingo->code1(LC::c_floatpush);
g_lingo->codeFloat($FLOAT); }
+ | '+' simpleexpr[arg] %prec UNARY { $$ = $arg; }
+ | '-' simpleexpr[arg] %prec UNARY { $$ = $arg; g_lingo->code1(LC::c_negate); }
| SYMBOL { // D3
$$ = g_lingo->code1(LC::c_symbolpush);
g_lingo->codeString($SYMBOL->c_str());
@@ -552,14 +556,7 @@ simpleexpr: INT {
$$ = g_lingo->code1(LC::c_stringpush);
g_lingo->codeString($STRING->c_str());
delete $STRING; }
- | ID {
- if (g_lingo->_builtinConsts.contains(*$ID)) {
- $$ = g_lingo->code1(LC::c_constpush);
- } else {
- $$ = g_lingo->code1(LC::c_eval);
- }
- g_lingo->codeString($ID->c_str());
- delete $ID; }
+ | reference
| THEENTITY {
$$ = g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(0); // Put dummy id
@@ -574,12 +571,21 @@ simpleexpr: INT {
WRITE_UINT32(&e, $THEENTITYWITHID[0]);
WRITE_UINT32(&f, $THEENTITYWITHID[1]);
g_lingo->code2(e, f); }
- | '(' expr[arg] ')' { $$ = $arg; }
+ | THEFUNCINOF simpleexpr {
+ $$ = g_lingo->codeFunc($THEFUNCINOF, 1);
+ delete $THEFUNCINOF; }
+ | THEFUNC tOF simpleexpr {
+ $$ = g_lingo->codeFunc($THEFUNC, 1);
+ delete $THEFUNC; }
+ | THEOBJECTPROP {
+ g_lingo->code1(LC::c_objectproppush);
+ g_lingo->codeString($THEOBJECTPROP.obj->c_str());
+ g_lingo->codeString($THEOBJECTPROP.prop->c_str());
+ delete $THEOBJECTPROP.obj;
+ delete $THEOBJECTPROP.prop; }
+ | tSPRITE expr tINTERSECTS expr { g_lingo->code1(LC::c_intersects); }
+ | tSPRITE expr tWITHIN expr { g_lingo->code1(LC::c_within); }
| list
- | error '\n' { yyerrok; }
-
-expr: simpleexpr { $$ = $simpleexpr; }
- | reference
| ID[func] '(' ID[method] ')' {
g_lingo->code1(LC::c_lazyeval);
g_lingo->codeString($method->c_str());
@@ -594,18 +600,20 @@ expr: simpleexpr { $$ = $simpleexpr; }
| ID '(' arglist ')' {
$$ = g_lingo->codeFunc($ID, $arglist);
delete $ID; }
- | THEFUNCINOF simpleexpr {
- $$ = g_lingo->codeFunc($THEFUNCINOF, 1);
- delete $THEFUNCINOF; }
- | THEFUNC tOF simpleexpr {
- $$ = g_lingo->codeFunc($THEFUNC, 1);
- delete $THEFUNC; }
- | THEOBJECTPROP {
- g_lingo->code1(LC::c_objectproppush);
- g_lingo->codeString($THEOBJECTPROP.obj->c_str());
- g_lingo->codeString($THEOBJECTPROP.prop->c_str());
- delete $THEOBJECTPROP.obj;
- delete $THEOBJECTPROP.prop; }
+ | ID {
+ if (g_lingo->_builtinConsts.contains(*$ID)) {
+ $$ = g_lingo->code1(LC::c_constpush);
+ } else {
+ $$ = g_lingo->code1(LC::c_eval);
+ }
+ g_lingo->codeString($ID->c_str());
+ delete $ID; }
+ | error '\n' { yyerrok; }
+
+simpleexpr: simpleexprnoparens
+ | '(' expr[arg] ')' { $$ = $arg; }
+
+expr: simpleexpr { $$ = $simpleexpr; }
| expr '+' expr { g_lingo->code1(LC::c_add); }
| expr '-' expr { g_lingo->code1(LC::c_sub); }
| expr '*' expr { g_lingo->code1(LC::c_mul); }
@@ -624,20 +632,8 @@ expr: simpleexpr { $$ = $simpleexpr; }
| expr tCONCAT expr { g_lingo->code1(LC::c_concat); }
| expr tCONTAINS expr { g_lingo->code1(LC::c_contains); }
| expr tSTARTS expr { g_lingo->code1(LC::c_starts); }
- | '+' expr[arg] %prec UNARY { $$ = $arg; }
- | '-' expr[arg] %prec UNARY { $$ = $arg; g_lingo->code1(LC::c_negate); }
- | tSPRITE expr tINTERSECTS expr { g_lingo->code1(LC::c_intersects); }
- | tSPRITE expr tWITHIN expr { g_lingo->code1(LC::c_within); }
-chunkexpr: FIELD {
- if ($FIELD.s) {
- $$ = g_lingo->code1(LC::c_stringpush);
- g_lingo->codeString($FIELD.s->c_str());
- delete $FIELD.s;
- } else {
- $$ = g_lingo->code1(LC::c_intpush);
- g_lingo->codeInt($FIELD.i);
- }
+chunkexpr: tFIELD simpleexprnoparens {
Common::String field("field");
g_lingo->codeFunc(&field, 1); }
| tCHAR expr tOF expr { g_lingo->code1(LC::c_charOf); }
@@ -650,41 +646,16 @@ chunkexpr: FIELD {
| tWORD expr tTO expr tOF expr { g_lingo->code1(LC::c_wordToOf); }
reference: chunkexpr
- | CAST {
- if ($CAST.s) {
- $$ = g_lingo->code1(LC::c_stringpush);
- g_lingo->codeString($CAST.s->c_str());
- delete $CAST.s;
- } else {
- $$ = g_lingo->code1(LC::c_intpush);
- g_lingo->codeInt($CAST.i);
- }
+ | tCAST simpleexprnoparens {
Common::String cast("cast");
g_lingo->codeFunc(&cast, 1); }
- | SCRIPT {
- if ($SCRIPT.s) {
- $$ = g_lingo->code1(LC::c_stringpush);
- g_lingo->codeString($SCRIPT.s->c_str());
- delete $SCRIPT.s;
- } else {
- $$ = g_lingo->code1(LC::c_intpush);
- g_lingo->codeInt($SCRIPT.i);
- }
+ | tSCRIPT simpleexprnoparens {
Common::String script("script");
g_lingo->codeFunc(&script, 1); }
- | WINDOW {
- if ($WINDOW.s) {
- $$ = g_lingo->code1(LC::c_stringpush);
- g_lingo->codeString($WINDOW.s->c_str());
- delete $WINDOW.s;
- } else {
- $$ = g_lingo->code1(LC::c_intpush);
- g_lingo->codeInt($WINDOW.i);
- }
+ | tWINDOW simpleexprnoparens {
Common::String window("window");
g_lingo->codeFunc(&window, 1); }
-
proc: tPUT expr { g_lingo->code1(LC::c_printtop); }
| gotofunc
| playfunc
diff --git a/engines/director/lingo/lingo-lex.cpp b/engines/director/lingo/lingo-lex.cpp
index b1089a3523..b694d5d508 100644
--- a/engines/director/lingo/lingo-lex.cpp
+++ b/engines/director/lingo/lingo-lex.cpp
@@ -374,8 +374,8 @@ static void yynoreturn yy_fatal_error ( const char* msg );
YY_FATAL_ERROR( "token too large, exceeds YYLMAX" ); \
yy_flex_strncpy( yytext, (yytext_ptr), yyleng + 1 ); \
(yy_c_buf_p) = yy_cp;
-#define YY_NUM_RULES 78
-#define YY_END_OF_BUFFER 79
+#define YY_NUM_RULES 74
+#define YY_END_OF_BUFFER 75
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
@@ -383,45 +383,43 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static const flex_int16_t yy_accept[337] =
+static const flex_int16_t yy_accept[317] =
{ 0,
- 0, 0, 79, 77, 1, 75, 75, 77, 77, 74,
- 74, 73, 74, 70, 74, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 1, 71, 1, 75, 0, 76, 2,
- 69, 72, 73, 68, 66, 67, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 11, 26, 71, 71, 71, 71, 71, 71, 71, 35,
- 36, 71, 38, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 57, 71, 71, 71, 1, 0, 71,
- 2, 72, 71, 4, 71, 71, 71, 71, 71, 71,
-
- 14, 71, 71, 71, 21, 71, 71, 71, 71, 71,
- 71, 31, 71, 71, 34, 71, 71, 71, 71, 44,
- 71, 71, 48, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 0, 71, 71, 71, 71, 8, 71, 10,
- 13, 0, 16, 71, 71, 0, 0, 0, 71, 71,
- 25, 27, 28, 71, 71, 71, 33, 37, 40, 71,
- 71, 71, 71, 71, 71, 50, 0, 56, 61, 71,
- 71, 59, 65, 0, 71, 3, 71, 0, 71, 0,
- 14, 71, 71, 0, 0, 21, 71, 71, 29, 71,
- 32, 0, 71, 71, 71, 71, 71, 71, 71, 55,
-
- 55, 55, 62, 71, 71, 0, 71, 5, 0, 7,
- 71, 0, 14, 0, 19, 0, 0, 0, 71, 71,
- 71, 0, 71, 71, 71, 45, 71, 58, 49, 0,
- 55, 55, 71, 60, 0, 71, 0, 6, 71, 12,
- 0, 18, 0, 22, 71, 71, 0, 0, 71, 71,
- 71, 0, 0, 0, 0, 55, 55, 0, 0, 15,
- 9, 0, 17, 20, 23, 71, 30, 0, 71, 42,
- 43, 0, 47, 0, 0, 0, 55, 55, 0, 64,
- 15, 71, 30, 0, 41, 0, 46, 0, 0, 0,
- 0, 55, 0, 63, 24, 39, 54, 53, 54, 0,
-
- 0, 0, 0, 55, 53, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 54, 53,
- 53, 54, 0, 52, 53, 53, 0, 53, 0, 53,
- 0, 0, 0, 0, 51, 0
+ 0, 0, 75, 73, 1, 71, 71, 73, 73, 70,
+ 70, 69, 70, 66, 70, 67, 67, 67, 67, 67,
+ 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
+ 67, 67, 67, 1, 67, 1, 71, 0, 72, 2,
+ 65, 68, 69, 64, 62, 63, 67, 67, 67, 67,
+ 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
+ 10, 24, 67, 67, 67, 67, 67, 67, 67, 33,
+ 34, 67, 36, 67, 67, 67, 67, 67, 67, 67,
+ 67, 67, 67, 54, 67, 67, 67, 1, 0, 67,
+ 2, 68, 67, 4, 67, 67, 67, 67, 67, 67,
+
+ 13, 67, 67, 67, 19, 67, 67, 67, 67, 67,
+ 67, 29, 67, 67, 32, 67, 67, 67, 67, 42,
+ 67, 67, 45, 67, 67, 67, 67, 67, 67, 67,
+ 67, 67, 0, 67, 67, 67, 6, 7, 67, 9,
+ 12, 0, 15, 67, 67, 0, 0, 0, 67, 67,
+ 23, 25, 26, 67, 67, 67, 31, 35, 38, 67,
+ 67, 67, 67, 67, 67, 47, 0, 53, 58, 67,
+ 67, 56, 61, 0, 67, 3, 67, 67, 0, 13,
+ 16, 67, 0, 0, 19, 67, 67, 27, 67, 30,
+ 0, 67, 67, 67, 67, 67, 67, 67, 52, 52,
+
+ 52, 59, 67, 67, 0, 67, 5, 67, 0, 13,
+ 17, 0, 0, 0, 67, 67, 67, 0, 67, 67,
+ 67, 43, 44, 55, 46, 0, 52, 52, 60, 57,
+ 0, 67, 67, 11, 0, 20, 67, 67, 0, 0,
+ 67, 67, 67, 0, 0, 0, 52, 52, 0, 14,
+ 8, 18, 21, 67, 28, 0, 67, 40, 41, 0,
+ 0, 0, 52, 52, 14, 67, 28, 0, 39, 0,
+ 0, 0, 0, 52, 22, 37, 51, 50, 51, 0,
+ 0, 0, 0, 52, 50, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 51, 50,
+
+ 50, 51, 0, 49, 50, 50, 0, 50, 0, 50,
+ 0, 0, 0, 0, 48, 0
} ;
static const YY_CHAR yy_ec[256] =
@@ -466,93 +464,87 @@ static const YY_CHAR yy_meta[60] =
5, 5, 5, 5, 5, 5, 5, 5, 5
} ;
-static const flex_int16_t yy_base[355] =
+static const flex_int16_t yy_base[331] =
{ 0,
- 0, 58, 661, 743, 59, 743, 743, 655, 0, 743,
- 651, 55, 54, 743, 645, 49, 51, 57, 46, 50,
+ 0, 58, 630, 704, 59, 704, 704, 624, 0, 704,
+ 620, 55, 54, 704, 615, 49, 51, 57, 46, 50,
48, 56, 0, 85, 59, 95, 73, 98, 106, 68,
- 124, 138, 98, 165, 148, 85, 743, 651, 743, 0,
- 743, 645, 122, 743, 743, 743, 0, 120, 73, 93,
- 124, 143, 146, 139, 146, 146, 157, 164, 162, 652,
+ 124, 138, 98, 165, 148, 85, 704, 621, 704, 0,
+ 704, 615, 122, 704, 704, 704, 0, 120, 73, 93,
+ 124, 143, 146, 139, 146, 146, 157, 164, 162, 621,
0, 160, 167, 166, 177, 166, 183, 163, 171, 0,
0, 186, 0, 191, 192, 176, 190, 193, 192, 197,
197, 203, 213, 0, 214, 212, 211, 249, 219, 231,
- 0, 643, 230, 0, 217, 223, 229, 228, 236, 246,
+ 0, 612, 230, 0, 217, 223, 229, 228, 236, 246,
- 650, 239, 249, 250, 267, 243, 257, 253, 258, 250,
+ 618, 239, 249, 250, 267, 243, 257, 253, 258, 250,
259, 0, 265, 252, 0, 264, 258, 262, 275, 0,
287, 286, 0, 287, 283, 291, 314, 293, 296, 305,
- 302, 307, 309, 296, 299, 301, 648, 0, 317, 0,
- 647, 646, 0, 317, 322, 310, 314, 317, 323, 316,
+ 302, 307, 309, 296, 299, 301, 0, 0, 317, 0,
+ 614, 613, 0, 317, 322, 310, 314, 317, 323, 316,
0, 0, 0, 325, 327, 338, 0, 0, 355, 337,
347, 352, 343, 341, 342, 0, 374, 0, 0, 360,
- 347, 357, 0, 350, 355, 0, 366, 404, 364, 385,
- 0, 645, 364, 377, 372, 644, 375, 382, 0, 375,
- 0, 411, 401, 392, 391, 394, 395, 409, 399, 643,
-
- 426, 430, 0, 399, 408, 409, 408, 0, 639, 633,
- 412, 420, 0, 445, 0, 419, 417, 451, 442, 447,
- 640, 417, 450, 440, 442, 0, 639, 0, 0, 474,
- 469, 472, 635, 0, 446, 441, 631, 743, 449, 743,
- 630, 623, 462, 743, 465, 468, 630, 472, 469, 463,
- 467, 504, 474, 494, 495, 490, 516, 525, 483, 0,
- 0, 624, 743, 743, 0, 492, 0, 500, 505, 0,
- 0, 623, 611, 502, 617, 509, 598, 536, 568, 559,
- 743, 506, 0, 521, 0, 527, 743, 522, 479, 525,
- 543, 547, 473, 743, 0, 743, 743, 0, 743, 416,
-
- 548, 549, 559, 383, 0, 563, 556, 368, 564, 577,
- 546, 528, 573, 580, 578, 534, 235, 199, 169, 557,
- 579, 158, 144, 127, 119, 116, 586, 601, 612, 614,
- 591, 582, 80, 77, 70, 743, 662, 664, 667, 670,
- 675, 680, 682, 688, 694, 699, 702, 708, 714, 719,
- 724, 726, 731, 736
+ 347, 357, 0, 350, 355, 0, 366, 363, 384, 0,
+ 0, 363, 374, 364, 611, 366, 369, 0, 384, 0,
+ 405, 395, 386, 387, 386, 387, 401, 396, 610, 418,
+
+ 425, 0, 394, 403, 404, 408, 0, 412, 415, 0,
+ 0, 417, 416, 431, 429, 428, 609, 424, 431, 423,
+ 428, 0, 0, 0, 0, 460, 462, 461, 0, 0,
+ 437, 436, 443, 704, 457, 704, 461, 465, 605, 469,
+ 466, 458, 454, 479, 475, 475, 496, 504, 464, 0,
+ 0, 704, 0, 471, 0, 487, 492, 0, 0, 491,
+ 604, 499, 556, 502, 704, 496, 0, 510, 0, 511,
+ 531, 512, 529, 530, 0, 704, 704, 0, 704, 483,
+ 534, 532, 535, 466, 0, 539, 536, 368, 538, 560,
+ 516, 545, 553, 571, 566, 557, 235, 199, 169, 543,
+
+ 559, 158, 144, 127, 119, 116, 572, 594, 597, 595,
+ 554, 575, 80, 77, 70, 704, 647, 649, 652, 655,
+ 660, 665, 667, 672, 675, 680, 685, 687, 692, 697
} ;
-static const flex_int16_t yy_def[355] =
+static const flex_int16_t yy_def[331] =
{ 0,
- 336, 1, 336, 336, 336, 336, 336, 337, 338, 336,
- 336, 336, 336, 336, 336, 339, 339, 339, 339, 339,
- 339, 339, 339, 339, 339, 339, 339, 339, 339, 339,
- 339, 339, 339, 336, 339, 336, 336, 337, 336, 340,
- 336, 336, 336, 336, 336, 336, 339, 339, 339, 339,
- 339, 339, 339, 339, 339, 339, 339, 339, 339, 339,
- 339, 339, 339, 339, 339, 339, 339, 339, 339, 339,
- 339, 339, 339, 339, 339, 339, 339, 339, 339, 339,
- 339, 339, 339, 339, 339, 339, 339, 336, 336, 339,
- 340, 336, 339, 339, 339, 339, 339, 339, 339, 339,
-
- 339, 339, 339, 339, 336, 339, 339, 339, 339, 339,
- 339, 339, 339, 339, 339, 339, 339, 339, 339, 339,
- 339, 339, 339, 339, 339, 339, 339, 339, 339, 339,
- 339, 339, 336, 339, 339, 339, 339, 339, 339, 339,
- 339, 341, 339, 339, 339, 336, 336, 336, 339, 339,
- 339, 339, 339, 339, 339, 339, 339, 339, 339, 339,
- 339, 339, 339, 339, 339, 339, 342, 339, 339, 339,
- 339, 339, 339, 336, 339, 339, 339, 336, 339, 336,
- 343, 339, 339, 336, 336, 336, 339, 339, 339, 339,
- 339, 336, 339, 339, 339, 339, 339, 339, 339, 342,
-
- 342, 342, 339, 339, 339, 336, 339, 339, 344, 336,
- 339, 336, 343, 336, 339, 336, 336, 336, 339, 339,
- 339, 336, 339, 339, 339, 339, 339, 339, 339, 336,
- 342, 342, 339, 339, 336, 339, 344, 336, 339, 336,
- 345, 336, 336, 336, 339, 339, 346, 336, 339, 339,
- 339, 336, 336, 336, 336, 342, 342, 336, 336, 339,
- 339, 345, 336, 336, 339, 339, 347, 336, 339, 339,
- 339, 348, 336, 336, 336, 336, 342, 342, 349, 336,
- 336, 339, 347, 336, 339, 348, 336, 336, 350, 336,
- 351, 342, 349, 336, 339, 336, 336, 352, 336, 351,
-
- 351, 351, 351, 342, 352, 336, 351, 351, 351, 336,
- 336, 336, 351, 350, 351, 336, 336, 336, 351, 352,
- 352, 351, 336, 336, 352, 352, 353, 354, 336, 354,
- 336, 336, 336, 336, 336, 0, 336, 336, 336, 336,
- 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
- 336, 336, 336, 336
+ 316, 1, 316, 316, 316, 316, 316, 317, 318, 316,
+ 316, 316, 316, 316, 316, 319, 319, 319, 319, 319,
+ 319, 319, 319, 319, 319, 319, 319, 319, 319, 319,
+ 319, 319, 319, 316, 319, 316, 316, 317, 316, 320,
+ 316, 316, 316, 316, 316, 316, 319, 319, 319, 319,
+ 319, 319, 319, 319, 319, 319, 319, 319, 319, 319,
+ 319, 319, 319, 319, 319, 319, 319, 319, 319, 319,
+ 319, 319, 319, 319, 319, 319, 319, 319, 319, 319,
+ 319, 319, 319, 319, 319, 319, 319, 316, 316, 319,
+ 320, 316, 319, 319, 319, 319, 319, 319, 319, 319,
+
+ 319, 319, 319, 319, 316, 319, 319, 319, 319, 319,
+ 319, 319, 319, 319, 319, 319, 319, 319, 319, 319,
+ 319, 319, 319, 319, 319, 319, 319, 319, 319, 319,
+ 319, 319, 316, 319, 319, 319, 319, 319, 319, 319,
+ 319, 321, 319, 319, 319, 316, 316, 316, 319, 319,
+ 319, 319, 319, 319, 319, 319, 319, 319, 319, 319,
+ 319, 319, 319, 319, 319, 319, 322, 319, 319, 319,
+ 319, 319, 319, 316, 319, 319, 319, 319, 316, 323,
+ 319, 319, 316, 316, 316, 319, 319, 319, 319, 319,
+ 316, 319, 319, 319, 319, 319, 319, 319, 322, 322,
+
+ 322, 319, 319, 319, 316, 319, 319, 319, 316, 323,
+ 319, 316, 316, 316, 319, 319, 319, 316, 319, 319,
+ 319, 319, 319, 319, 319, 316, 322, 322, 319, 319,
+ 316, 319, 319, 316, 316, 316, 319, 319, 324, 316,
+ 319, 319, 319, 316, 316, 316, 322, 322, 316, 319,
+ 319, 316, 319, 319, 325, 316, 319, 319, 319, 316,
+ 316, 316, 322, 322, 316, 319, 325, 316, 319, 316,
+ 326, 316, 327, 322, 319, 316, 316, 328, 316, 327,
+ 327, 327, 327, 322, 328, 316, 327, 327, 327, 316,
+ 316, 316, 327, 326, 327, 316, 316, 316, 327, 328,
+
+ 328, 327, 316, 316, 328, 328, 329, 330, 316, 330,
+ 316, 316, 316, 316, 316, 0, 316, 316, 316, 316,
+ 316, 316, 316, 316, 316, 316, 316, 316, 316, 316
} ;
-static const flex_int16_t yy_nxt[803] =
+static const flex_int16_t yy_nxt[764] =
{ 0,
4, 5, 6, 7, 8, 9, 10, 11, 4, 12,
13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
@@ -561,25 +553,25 @@ static const flex_int16_t yy_nxt[803] =
19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
29, 30, 31, 32, 23, 23, 33, 23, 23, 34,
36, 37, 37, 42, 43, 44, 45, 48, 50, 58,
- 51, 335, 54, 55, 49, 56, 35, 52, 335, 59,
- 64, 335, 60, 53, 57, 77, 36, 37, 37, 94,
+ 51, 315, 54, 55, 49, 56, 35, 52, 315, 59,
+ 64, 315, 60, 53, 57, 77, 36, 37, 37, 94,
68, 48, 50, 58, 51, 54, 55, 49, 56, 69,
35, 52, 59, 61, 64, 60, 53, 57, 65, 77,
- 62, 95, 66, 94, 68, 63, 70, 324, 85, 86,
- 324, 67, 69, 71, 87, 72, 73, 61, 324, 74,
+ 62, 95, 66, 94, 68, 63, 70, 304, 85, 86,
+ 304, 67, 69, 71, 87, 72, 73, 61, 304, 74,
42, 43, 65, 62, 75, 95, 66, 76, 63, 78,
- 70, 79, 85, 86, 67, 327, 71, 87, 72, 73,
- 93, 80, 74, 96, 81, 82, 97, 75, 83, 306,
+ 70, 79, 85, 86, 67, 307, 71, 87, 72, 73,
+ 93, 80, 74, 96, 81, 82, 97, 75, 83, 286,
76, 90, 101, 78, 84, 79, 88, 37, 37, 58,
- 306, 98, 99, 93, 80, 100, 96, 81, 102, 82,
+ 286, 98, 99, 93, 80, 100, 96, 81, 102, 82,
97, 103, 83, 89, 108, 90, 101, 84, 104, 106,
107, 109, 110, 58, 98, 99, 111, 114, 100, 112,
- 324, 115, 102, 116, 117, 103, 120, 89, 108, 118,
+ 304, 115, 102, 116, 117, 103, 120, 89, 108, 118,
125, 104, 106, 107, 109, 113, 110, 121, 119, 111,
114, 122, 123, 112, 115, 124, 126, 116, 117, 120,
- 127, 128, 133, 118, 125, 129, 324, 130, 113, 132,
+ 127, 128, 133, 118, 125, 129, 304, 130, 113, 132,
121, 119, 131, 136, 122, 123, 134, 135, 124, 126,
88, 37, 37, 137, 127, 128, 133, 138, 139, 129,
130, 140, 132, 141, 145, 131, 136, 89, 105, 143,
@@ -590,62 +582,57 @@ static const flex_int16_t yy_nxt[803] =
152, 154, 161, 155, 162, 157, 151, 163, 164, 146,
156, 165, 158, 147, 166, 167, 159, 160, 169, 170,
148, 171, 172, 173, 174, 161, 175, 176, 162, 177,
- 179, 163, 164, 182, 165, 183, 187, 166, 184, 168,
- 185, 169, 170, 186, 188, 171, 172, 173, 174, 175,
- 176, 189, 177, 190, 179, 191, 192, 182, 194, 183,
- 187, 184, 168, 185, 195, 196, 186, 188, 193, 314,
- 197, 198, 199, 204, 189, 167, 190, 203, 205, 191,
- 206, 207, 194, 208, 310, 211, 180, 215, 195, 196,
- 216, 221, 193, 197, 198, 199, 204, 201, 217, 202,
-
- 219, 203, 205, 206, 207, 178, 212, 208, 209, 211,
- 215, 220, 192, 210, 216, 221, 223, 306, 224, 225,
- 201, 217, 202, 219, 226, 227, 228, 230, 229, 222,
- 212, 230, 233, 234, 220, 235, 236, 239, 240, 231,
- 223, 224, 225, 243, 244, 248, 214, 226, 227, 241,
- 228, 229, 218, 222, 242, 233, 234, 245, 235, 236,
- 239, 232, 240, 231, 246, 249, 243, 244, 248, 146,
- 230, 250, 251, 230, 259, 230, 260, 294, 261, 264,
- 289, 245, 265, 266, 232, 268, 269, 274, 246, 249,
- 253, 230, 270, 146, 250, 251, 257, 259, 256, 260,
-
- 254, 261, 271, 264, 255, 252, 265, 266, 272, 268,
- 269, 274, 275, 273, 253, 270, 276, 230, 281, 257,
- 277, 256, 282, 254, 284, 271, 258, 255, 285, 279,
- 278, 287, 288, 290, 280, 295, 275, 230, 296, 297,
- 276, 281, 299, 277, 291, 282, 318, 284, 230, 306,
- 306, 285, 323, 292, 278, 288, 290, 306, 295, 301,
- 306, 307, 296, 297, 306, 306, 299, 308, 280, 302,
- 318, 317, 294, 303, 306, 304, 323, 292, 310, 306,
- 309, 314, 325, 301, 311, 307, 313, 327, 315, 312,
- 319, 308, 302, 253, 317, 322, 303, 326, 304, 291,
-
- 334, 320, 329, 316, 309, 325, 321, 255, 311, 313,
- 305, 315, 312, 329, 319, 329, 333, 253, 289, 322,
- 273, 326, 298, 305, 334, 320, 316, 287, 263, 321,
- 255, 247, 242, 331, 263, 238, 258, 305, 332, 333,
- 252, 247, 210, 238, 230, 218, 214, 142, 180, 178,
- 305, 142, 92, 105, 92, 39, 46, 331, 41, 39,
- 336, 332, 38, 38, 336, 38, 38, 38, 40, 40,
- 47, 47, 47, 91, 91, 91, 181, 336, 336, 181,
- 181, 200, 336, 336, 200, 213, 213, 213, 237, 237,
- 336, 237, 237, 237, 262, 262, 336, 262, 262, 262,
-
- 267, 336, 336, 267, 267, 283, 283, 283, 286, 286,
- 336, 286, 286, 286, 293, 293, 336, 293, 293, 293,
- 298, 336, 336, 298, 298, 300, 336, 336, 300, 305,
- 305, 305, 328, 336, 336, 328, 328, 330, 336, 330,
- 330, 330, 3, 336, 336, 336, 336, 336, 336, 336,
- 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
- 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
- 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
- 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
- 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
-
- 336, 336
+ 178, 163, 164, 181, 165, 182, 186, 166, 183, 168,
+ 184, 169, 170, 185, 187, 171, 172, 173, 174, 175,
+ 176, 188, 177, 189, 178, 190, 191, 181, 193, 182,
+ 186, 183, 168, 184, 194, 195, 185, 187, 192, 294,
+ 196, 197, 198, 203, 188, 167, 189, 202, 204, 190,
+ 205, 206, 193, 207, 208, 179, 211, 212, 194, 195,
+ 213, 215, 192, 196, 197, 198, 203, 200, 216, 201,
+
+ 217, 202, 204, 205, 206, 209, 191, 207, 208, 211,
+ 219, 212, 220, 213, 215, 221, 222, 223, 224, 226,
+ 200, 216, 201, 218, 217, 225, 226, 229, 230, 209,
+ 231, 227, 214, 234, 219, 220, 232, 233, 221, 222,
+ 223, 235, 224, 236, 237, 238, 241, 218, 225, 146,
+ 229, 230, 240, 231, 242, 227, 228, 234, 243, 232,
+ 233, 226, 226, 226, 235, 249, 236, 290, 237, 238,
+ 241, 250, 251, 146, 252, 240, 244, 242, 253, 228,
+ 254, 243, 256, 257, 286, 248, 245, 258, 249, 259,
+ 246, 247, 260, 261, 250, 251, 262, 226, 252, 265,
+
+ 244, 266, 253, 226, 254, 226, 256, 257, 248, 245,
+ 258, 268, 259, 246, 247, 269, 260, 261, 264, 274,
+ 262, 270, 265, 272, 266, 275, 263, 276, 277, 279,
+ 273, 226, 271, 286, 268, 286, 286, 286, 269, 286,
+ 286, 297, 264, 274, 270, 281, 272, 287, 275, 263,
+ 288, 276, 277, 279, 286, 282, 289, 273, 284, 283,
+ 291, 290, 295, 298, 297, 292, 293, 286, 305, 281,
+ 299, 287, 294, 307, 288, 303, 244, 306, 282, 313,
+ 289, 284, 283, 302, 291, 295, 296, 298, 292, 293,
+ 246, 305, 300, 314, 299, 309, 309, 301, 309, 303,
+
+ 244, 306, 313, 285, 285, 271, 239, 302, 278, 296,
+ 239, 226, 214, 246, 142, 179, 300, 314, 311, 142,
+ 301, 92, 105, 312, 92, 39, 46, 41, 39, 316,
+ 285, 285, 316, 316, 316, 316, 316, 316, 316, 316,
+ 316, 316, 311, 316, 316, 316, 312, 38, 38, 316,
+ 38, 38, 38, 40, 40, 47, 47, 47, 91, 91,
+ 91, 180, 316, 316, 180, 180, 199, 316, 316, 199,
+ 210, 210, 210, 255, 316, 316, 255, 255, 267, 267,
+ 267, 278, 316, 316, 278, 278, 280, 316, 316, 280,
+ 285, 285, 285, 308, 316, 316, 308, 308, 310, 316,
+
+ 310, 310, 310, 3, 316, 316, 316, 316, 316, 316,
+ 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
+ 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
+ 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
+ 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
+ 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
+ 316, 316, 316
} ;
-static const flex_int16_t yy_chk[803] =
+static const flex_int16_t yy_chk[764] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -654,25 +641,25 @@ static const flex_int16_t yy_chk[803] =
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
5, 5, 5, 12, 12, 13, 13, 16, 17, 21,
- 18, 335, 19, 20, 16, 20, 2, 18, 334, 22,
- 25, 333, 22, 18, 20, 30, 36, 36, 36, 49,
+ 18, 315, 19, 20, 16, 20, 2, 18, 314, 22,
+ 25, 313, 22, 18, 20, 30, 36, 36, 36, 49,
27, 16, 17, 21, 18, 19, 20, 16, 20, 27,
2, 18, 22, 24, 25, 22, 18, 20, 26, 30,
- 24, 50, 26, 49, 27, 24, 28, 326, 33, 33,
- 325, 26, 27, 28, 33, 28, 28, 24, 324, 29,
+ 24, 50, 26, 49, 27, 24, 28, 306, 33, 33,
+ 305, 26, 27, 28, 33, 28, 28, 24, 304, 29,
43, 43, 26, 24, 29, 50, 26, 29, 24, 31,
- 28, 31, 33, 33, 26, 323, 28, 33, 28, 28,
- 48, 31, 29, 51, 31, 32, 52, 29, 32, 322,
+ 28, 31, 33, 33, 26, 303, 28, 33, 28, 28,
+ 48, 31, 29, 51, 31, 32, 52, 29, 32, 302,
29, 35, 56, 31, 32, 31, 34, 34, 34, 35,
- 319, 53, 54, 48, 31, 55, 51, 31, 57, 32,
+ 299, 53, 54, 48, 31, 55, 51, 31, 57, 32,
52, 58, 32, 34, 63, 35, 56, 32, 59, 62,
62, 64, 65, 35, 53, 54, 66, 68, 55, 67,
- 318, 69, 57, 72, 74, 58, 76, 34, 63, 75,
+ 298, 69, 57, 72, 74, 58, 76, 34, 63, 75,
81, 59, 62, 62, 64, 67, 65, 77, 75, 66,
68, 78, 79, 67, 69, 80, 82, 72, 74, 76,
- 83, 85, 89, 75, 81, 85, 317, 86, 67, 87,
+ 83, 85, 89, 75, 81, 85, 297, 86, 67, 87,
77, 75, 86, 95, 78, 79, 90, 93, 80, 82,
88, 88, 88, 96, 83, 85, 89, 97, 98, 85,
86, 99, 87, 100, 104, 86, 95, 88, 105, 102,
@@ -686,65 +673,60 @@ static const flex_int16_t yy_chk[803] =
139, 122, 124, 144, 125, 145, 149, 126, 146, 127,
147, 128, 129, 148, 150, 130, 131, 132, 133, 134,
135, 154, 136, 155, 139, 156, 159, 144, 160, 145,
- 149, 146, 127, 147, 161, 162, 148, 150, 159, 308,
+ 149, 146, 127, 147, 161, 162, 148, 150, 159, 288,
163, 164, 165, 171, 154, 167, 155, 170, 172, 156,
- 174, 175, 160, 177, 304, 179, 180, 183, 161, 162,
- 184, 190, 159, 163, 164, 165, 171, 167, 185, 167,
-
- 187, 170, 172, 174, 175, 178, 180, 177, 178, 179,
- 183, 188, 192, 178, 184, 190, 193, 300, 194, 195,
- 167, 185, 167, 187, 196, 197, 198, 201, 199, 192,
- 180, 202, 204, 205, 188, 206, 207, 211, 212, 201,
- 193, 194, 195, 216, 217, 222, 214, 196, 197, 214,
- 198, 199, 218, 192, 214, 204, 205, 219, 206, 207,
- 211, 202, 212, 201, 220, 223, 216, 217, 222, 218,
- 231, 224, 225, 232, 235, 230, 236, 293, 239, 243,
- 289, 219, 245, 246, 202, 248, 249, 253, 220, 223,
- 230, 256, 250, 218, 224, 225, 232, 235, 231, 236,
-
- 230, 239, 251, 243, 230, 252, 245, 246, 252, 248,
- 249, 253, 254, 252, 230, 250, 255, 257, 259, 232,
- 256, 231, 266, 230, 268, 251, 258, 230, 269, 258,
- 257, 286, 274, 276, 258, 282, 254, 278, 284, 288,
- 255, 259, 290, 256, 291, 266, 312, 268, 292, 301,
- 302, 269, 316, 278, 257, 274, 276, 307, 282, 291,
- 303, 301, 284, 288, 306, 309, 290, 302, 280, 291,
- 312, 311, 279, 291, 313, 292, 316, 278, 310, 315,
- 303, 314, 320, 291, 306, 301, 307, 327, 309, 306,
- 313, 302, 291, 310, 311, 315, 291, 321, 292, 277,
-
- 332, 314, 328, 310, 303, 320, 314, 310, 306, 307,
- 328, 309, 306, 329, 313, 330, 331, 310, 275, 315,
- 273, 321, 327, 330, 332, 314, 310, 272, 262, 314,
- 310, 247, 242, 329, 241, 237, 233, 328, 329, 331,
- 227, 221, 210, 209, 200, 186, 182, 142, 141, 137,
- 330, 101, 92, 60, 42, 38, 15, 329, 11, 8,
- 3, 329, 337, 337, 0, 337, 337, 337, 338, 338,
- 339, 339, 339, 340, 340, 340, 341, 0, 0, 341,
- 341, 342, 0, 0, 342, 343, 343, 343, 344, 344,
- 0, 344, 344, 344, 345, 345, 0, 345, 345, 345,
-
- 346, 0, 0, 346, 346, 347, 347, 347, 348, 348,
- 0, 348, 348, 348, 349, 349, 0, 349, 349, 349,
- 350, 0, 0, 350, 350, 351, 0, 0, 351, 352,
- 352, 352, 353, 0, 0, 353, 353, 354, 0, 354,
- 354, 354, 336, 336, 336, 336, 336, 336, 336, 336,
- 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
- 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
- 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
- 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
- 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
-
- 336, 336
+ 174, 175, 160, 177, 178, 179, 182, 183, 161, 162,
+ 184, 186, 159, 163, 164, 165, 171, 167, 187, 167,
+
+ 189, 170, 172, 174, 175, 179, 191, 177, 178, 182,
+ 192, 183, 193, 184, 186, 194, 195, 196, 197, 200,
+ 167, 187, 167, 191, 189, 198, 201, 203, 204, 179,
+ 205, 200, 214, 209, 192, 193, 206, 208, 194, 195,
+ 196, 212, 197, 213, 215, 216, 219, 191, 198, 214,
+ 203, 204, 218, 205, 220, 200, 201, 209, 221, 206,
+ 208, 226, 228, 227, 212, 231, 213, 284, 215, 216,
+ 219, 232, 233, 214, 235, 218, 226, 220, 237, 201,
+ 238, 221, 240, 241, 280, 228, 226, 242, 231, 243,
+ 226, 227, 244, 245, 232, 233, 246, 247, 235, 249,
+
+ 226, 254, 237, 264, 238, 248, 240, 241, 228, 226,
+ 242, 256, 243, 226, 227, 257, 244, 245, 248, 264,
+ 246, 260, 249, 262, 254, 266, 247, 268, 270, 272,
+ 273, 274, 271, 282, 256, 281, 283, 287, 257, 289,
+ 286, 291, 248, 264, 260, 273, 262, 281, 266, 247,
+ 282, 268, 270, 272, 293, 273, 283, 263, 274, 273,
+ 286, 290, 289, 292, 291, 286, 287, 295, 300, 273,
+ 293, 281, 294, 307, 282, 296, 290, 301, 273, 311,
+ 283, 274, 273, 295, 286, 289, 290, 292, 286, 287,
+ 290, 300, 294, 312, 293, 308, 310, 294, 309, 296,
+
+ 290, 301, 311, 308, 310, 261, 239, 295, 307, 290,
+ 217, 199, 185, 290, 142, 141, 294, 312, 309, 101,
+ 294, 92, 60, 309, 42, 38, 15, 11, 8, 3,
+ 308, 310, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 309, 0, 0, 0, 309, 317, 317, 0,
+ 317, 317, 317, 318, 318, 319, 319, 319, 320, 320,
+ 320, 321, 0, 0, 321, 321, 322, 0, 0, 322,
+ 323, 323, 323, 324, 0, 0, 324, 324, 325, 325,
+ 325, 326, 0, 0, 326, 326, 327, 0, 0, 327,
+ 328, 328, 328, 329, 0, 0, 329, 329, 330, 0,
+
+ 330, 330, 330, 316, 316, 316, 316, 316, 316, 316,
+ 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
+ 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
+ 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
+ 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
+ 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
+ 316, 316, 316
} ;
/* Table of booleans, true if rule could match eol. */
-static const flex_int32_t yy_rule_can_match_eol[79] =
+static const flex_int32_t yy_rule_can_match_eol[75] =
{ 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, };
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, };
static yy_state_type yy_last_accepting_state;
static char *yy_last_accepting_cpos;
@@ -826,7 +808,7 @@ static int checkImmediate(int token) {
g_lingo->_methodVars->contains(yytext)) {
yylval.s = new Common::String(yytext);
- return ID;
+ return VARID;
}
return token;
@@ -852,14 +834,14 @@ static int varCheck(int token, const char *name) {
if (g_lingo->_indef == kStateInArgs || g_lingo->_methodVars->contains(name)) {
yylval.s = new Common::String(name);
- return ID;
+ return VARID;
}
return token;
}
-#line 861 "engines/director/lingo/lingo-lex.cpp"
-#line 862 "engines/director/lingo/lingo-lex.cpp"
+#line 843 "engines/director/lingo/lingo-lex.cpp"
+#line 844 "engines/director/lingo/lingo-lex.cpp"
#define INITIAL 0
@@ -1082,7 +1064,7 @@ YY_DECL
#line 110 "engines/director/lingo/lingo-lex.l"
-#line 1085 "engines/director/lingo/lingo-lex.cpp"
+#line 1067 "engines/director/lingo/lingo-lex.cpp"
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
{
@@ -1110,13 +1092,13 @@ yy_match:
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 337 )
+ if ( yy_current_state >= 317 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
++yy_cp;
}
- while ( yy_current_state != 336 );
+ while ( yy_current_state != 316 );
yy_cp = (yy_last_accepting_cpos);
yy_current_state = (yy_last_accepting_state);
@@ -1174,66 +1156,41 @@ YY_RULE_SETUP
case 6:
YY_RULE_SETUP
#line 119 "engines/director/lingo/lingo-lex.l"
-{
- count();
-
- const char *ptr = &yytext[5]; // Skip 'cast '
- while (*ptr == ' ' || *ptr == '\t' || *ptr == '\xC2')
- ptr++;
-
- yylval.s = cleanupString(ptr + 1);
- yylval.s->deleteLastChar();
- return CAST;
- }
+{ count(); return tCAST; }
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 130 "engines/director/lingo/lingo-lex.l"
-{
- count();
-
- const char *ptr = &yytext[5]; // Skip 'cast '
- while (*ptr == ' ' || *ptr == '\t' || *ptr == '\xC2')
- ptr++;
-
- yylval.s = NULL;
- yylval.i = strtol(yytext, NULL, 10);
- return CAST;
- }
- YY_BREAK
-case 8:
-YY_RULE_SETUP
-#line 141 "engines/director/lingo/lingo-lex.l"
+#line 120 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tCHAR, "char"); } // D3
YY_BREAK
-case 9:
+case 8:
YY_RULE_SETUP
-#line 142 "engines/director/lingo/lingo-lex.l"
+#line 121 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tCONTAINS, "contains"); }
YY_BREAK
-case 10:
+case 9:
YY_RULE_SETUP
-#line 143 "engines/director/lingo/lingo-lex.l"
+#line 122 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tDOWN, "down"); }
YY_BREAK
-case 11:
+case 10:
YY_RULE_SETUP
-#line 144 "engines/director/lingo/lingo-lex.l"
+#line 123 "engines/director/lingo/lingo-lex.l"
{ count(); return tIF; }
YY_BREAK
-case 12:
+case 11:
YY_RULE_SETUP
-#line 145 "engines/director/lingo/lingo-lex.l"
+#line 124 "engines/director/lingo/lingo-lex.l"
{ count(); return tELSIF; }
YY_BREAK
-case 13:
+case 12:
YY_RULE_SETUP
-#line 146 "engines/director/lingo/lingo-lex.l"
+#line 125 "engines/director/lingo/lingo-lex.l"
{ count(); return tELSE; }
YY_BREAK
-case 14:
+case 13:
YY_RULE_SETUP
-#line 147 "engines/director/lingo/lingo-lex.l"
+#line 126 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1249,8 +1206,8 @@ YY_RULE_SETUP
return tENDTELL;
if (!*ptr) { // If it is stale "end", check it
- if (varCheck(ENDCLAUSE, "end") == ID)
- return ID;
+ if (varCheck(ENDCLAUSE, "end") == VARID)
+ return VARID;
}
yylval.s = new Common::String(ptr);
@@ -1258,104 +1215,79 @@ YY_RULE_SETUP
return ENDCLAUSE;
}
YY_BREAK
-case 15:
+case 14:
YY_RULE_SETUP
-#line 170 "engines/director/lingo/lingo-lex.l"
+#line 149 "engines/director/lingo/lingo-lex.l"
{ count(); return tFACTORY; }
YY_BREAK
-case 16:
+case 15:
YY_RULE_SETUP
-#line 171 "engines/director/lingo/lingo-lex.l"
+#line 150 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tEXIT, "exit"); }
YY_BREAK
-case 17:
-YY_RULE_SETUP
-#line 172 "engines/director/lingo/lingo-lex.l"
-{
- count();
-
- const char *ptr = &yytext[6]; // Skip 'field '
- while (*ptr == ' ' || *ptr == '\t' || *ptr == '\xC2')
- ptr++;
-
- yylval.s = cleanupString(ptr + 1);
- yylval.s->deleteLastChar();
- return FIELD;
- }
- YY_BREAK
-case 18:
+case 16:
YY_RULE_SETUP
-#line 183 "engines/director/lingo/lingo-lex.l"
-{
- count();
-
- const char *ptr = &yytext[6]; // Skip 'field '
- while (*ptr == ' ' || *ptr == '\t' || *ptr == '\xC2')
- ptr++;
-
- yylval.s = NULL;
- yylval.i = strtol(yytext, NULL, 10);
- return FIELD;
- }
+#line 151 "engines/director/lingo/lingo-lex.l"
+{ count(); return tFIELD; }
YY_BREAK
-case 19:
+case 17:
YY_RULE_SETUP
-#line 194 "engines/director/lingo/lingo-lex.l"
+#line 152 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tGLOBAL, "global"); }
YY_BREAK
-case 20:
+case 18:
YY_RULE_SETUP
-#line 195 "engines/director/lingo/lingo-lex.l"
+#line 153 "engines/director/lingo/lingo-lex.l"
{ count(); return tGO; }
YY_BREAK
-case 21:
+case 19:
YY_RULE_SETUP
-#line 196 "engines/director/lingo/lingo-lex.l"
+#line 154 "engines/director/lingo/lingo-lex.l"
{ count(); return tGO; }
YY_BREAK
-case 22:
+case 20:
YY_RULE_SETUP
-#line 197 "engines/director/lingo/lingo-lex.l"
+#line 155 "engines/director/lingo/lingo-lex.l"
{ count(); return tGOLOOP; }
YY_BREAK
-case 23:
+case 21:
YY_RULE_SETUP
-#line 198 "engines/director/lingo/lingo-lex.l"
+#line 156 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tINSTANCE, "instance"); }
YY_BREAK
-case 24:
+case 22:
YY_RULE_SETUP
-#line 199 "engines/director/lingo/lingo-lex.l"
+#line 157 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tINTERSECTS, "intersects"); }
YY_BREAK
-case 25:
+case 23:
YY_RULE_SETUP
-#line 200 "engines/director/lingo/lingo-lex.l"
+#line 158 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tINTO, "into"); }
YY_BREAK
-case 26:
+case 24:
YY_RULE_SETUP
-#line 201 "engines/director/lingo/lingo-lex.l"
+#line 159 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tIN, "in"); }
YY_BREAK
-case 27:
+case 25:
YY_RULE_SETUP
-#line 202 "engines/director/lingo/lingo-lex.l"
+#line 160 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tITEM, "item"); }
YY_BREAK
-case 28:
+case 26:
YY_RULE_SETUP
-#line 203 "engines/director/lingo/lingo-lex.l"
+#line 161 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tLINE, "line"); }
YY_BREAK
-case 29:
+case 27:
YY_RULE_SETUP
-#line 204 "engines/director/lingo/lingo-lex.l"
+#line 162 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tMACRO, "macro"); }
YY_BREAK
-case 30:
+case 28:
YY_RULE_SETUP
-#line 205 "engines/director/lingo/lingo-lex.l"
+#line 163 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1368,129 +1300,104 @@ YY_RULE_SETUP
return tMETHOD;
}
YY_BREAK
-case 31:
+case 29:
YY_RULE_SETUP
-#line 216 "engines/director/lingo/lingo-lex.l"
+#line 174 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tMOD, "mod"); }
YY_BREAK
-case 32:
+case 30:
YY_RULE_SETUP
-#line 217 "engines/director/lingo/lingo-lex.l"
+#line 175 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tMOVIE, "movie"); }
YY_BREAK
-case 33:
+case 31:
YY_RULE_SETUP
-#line 218 "engines/director/lingo/lingo-lex.l"
+#line 176 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tNEXT, "next"); }
YY_BREAK
-case 34:
+case 32:
YY_RULE_SETUP
-#line 219 "engines/director/lingo/lingo-lex.l"
+#line 177 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tNOT, "not"); }
YY_BREAK
-case 35:
+case 33:
YY_RULE_SETUP
-#line 220 "engines/director/lingo/lingo-lex.l"
+#line 178 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tOF, "of"); }
YY_BREAK
-case 36:
+case 34:
YY_RULE_SETUP
-#line 221 "engines/director/lingo/lingo-lex.l"
+#line 179 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tON, "on"); } // D3
YY_BREAK
-case 37:
+case 35:
YY_RULE_SETUP
-#line 222 "engines/director/lingo/lingo-lex.l"
+#line 180 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tOPEN, "open"); }
YY_BREAK
-case 38:
+case 36:
YY_RULE_SETUP
-#line 223 "engines/director/lingo/lingo-lex.l"
+#line 181 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tOR, "or"); }
YY_BREAK
-case 39:
+case 37:
YY_RULE_SETUP
-#line 224 "engines/director/lingo/lingo-lex.l"
+#line 182 "engines/director/lingo/lingo-lex.l"
{ count(); return tPLAY; }
YY_BREAK
-case 40:
+case 38:
YY_RULE_SETUP
-#line 225 "engines/director/lingo/lingo-lex.l"
+#line 183 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tPLAY, "play"); }
YY_BREAK
-case 41:
+case 39:
YY_RULE_SETUP
-#line 226 "engines/director/lingo/lingo-lex.l"
+#line 184 "engines/director/lingo/lingo-lex.l"
{ count(); yylval.s = new Common::String(yytext); return tPLAYACCEL; }
YY_BREAK
-case 42:
+case 40:
YY_RULE_SETUP
-#line 227 "engines/director/lingo/lingo-lex.l"
+#line 185 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tPREVIOUS, "previous"); }
YY_BREAK
-case 43:
+case 41:
YY_RULE_SETUP
-#line 228 "engines/director/lingo/lingo-lex.l"
+#line 186 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tPROPERTY, "property"); } // D4
YY_BREAK
-case 44:
+case 42:
YY_RULE_SETUP
-#line 229 "engines/director/lingo/lingo-lex.l"
+#line 187 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tPUT, "put"); }
YY_BREAK
-case 45:
+case 43:
YY_RULE_SETUP
-#line 230 "engines/director/lingo/lingo-lex.l"
+#line 188 "engines/director/lingo/lingo-lex.l"
{ count(); return checkImmediate(tREPEAT); }
YY_BREAK
-case 46:
-YY_RULE_SETUP
-#line 231 "engines/director/lingo/lingo-lex.l"
-{
- count();
-
- const char *ptr = &yytext[7]; // Skip 'script '
- while (*ptr == ' ' || *ptr == '\t' || *ptr == '\xC2')
- ptr++;
-
- yylval.s = cleanupString(ptr + 1);
- yylval.s->deleteLastChar();
- return SCRIPT;
- }
- YY_BREAK
-case 47:
+case 44:
YY_RULE_SETUP
-#line 242 "engines/director/lingo/lingo-lex.l"
-{
- count();
-
- const char *ptr = &yytext[7]; // Skip 'script '
- while (*ptr == ' ' || *ptr == '\t' || *ptr == '\xC2')
- ptr++;
-
- yylval.s = NULL;
- yylval.i = strtol(yytext, NULL, 10);
- return SCRIPT;
- }
+#line 189 "engines/director/lingo/lingo-lex.l"
+{ count(); return tSCRIPT; }
YY_BREAK
-case 48:
+case 45:
YY_RULE_SETUP
-#line 253 "engines/director/lingo/lingo-lex.l"
+#line 190 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tSET, "set"); }
YY_BREAK
-case 49:
+case 46:
YY_RULE_SETUP
-#line 254 "engines/director/lingo/lingo-lex.l"
+#line 191 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tSTARTS, "starts"); }
YY_BREAK
-case 50:
+case 47:
YY_RULE_SETUP
-#line 255 "engines/director/lingo/lingo-lex.l"
+#line 192 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tTELL, "tell"); }
YY_BREAK
-case 51:
+case 48:
YY_RULE_SETUP
-#line 256 "engines/director/lingo/lingo-lex.l"
+#line 193 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1527,9 +1434,9 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 52:
+case 49:
YY_RULE_SETUP
-#line 291 "engines/director/lingo/lingo-lex.l"
+#line 228 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1553,9 +1460,9 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 53:
+case 50:
YY_RULE_SETUP
-#line 313 "engines/director/lingo/lingo-lex.l"
+#line 250 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1613,9 +1520,9 @@ YY_RULE_SETUP
Common::String rest(ptr);
// It is the dreaded 'the <builtin> of <expr>'
- // with 'expr' starting with ID, which leads to clash
+ // with 'expr' starting with VARID, which leads to clash
//
- // put 'of ID' back.
+ // put 'of VARID' back.
for (int i = rest.size() - 1; i >= 0; i--)
unput(rest[i]);
@@ -1630,9 +1537,9 @@ YY_RULE_SETUP
warning("LEXER: Unhandled the entity '%s', field '%s'", ptr, field.c_str());
}
YY_BREAK
-case 54:
+case 51:
YY_RULE_SETUP
-#line 386 "engines/director/lingo/lingo-lex.l"
+#line 323 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1668,9 +1575,9 @@ YY_RULE_SETUP
return THEENTITY;
}
YY_BREAK
-case 55:
+case 52:
YY_RULE_SETUP
-#line 420 "engines/director/lingo/lingo-lex.l"
+#line 357 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1698,148 +1605,123 @@ YY_RULE_SETUP
warning("LEXER: Unhandled the entity '%s'", ptr);
}
YY_BREAK
-case 56:
+case 53:
YY_RULE_SETUP
-#line 446 "engines/director/lingo/lingo-lex.l"
+#line 383 "engines/director/lingo/lingo-lex.l"
{ count(); return tTHEN; }
YY_BREAK
-case 57:
+case 54:
YY_RULE_SETUP
-#line 447 "engines/director/lingo/lingo-lex.l"
+#line 384 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tTO, "to"); }
YY_BREAK
-case 58:
+case 55:
YY_RULE_SETUP
-#line 448 "engines/director/lingo/lingo-lex.l"
+#line 385 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tSPRITE, "sprite"); }
YY_BREAK
-case 59:
+case 56:
YY_RULE_SETUP
-#line 449 "engines/director/lingo/lingo-lex.l"
+#line 386 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tWITH, "with"); }
YY_BREAK
-case 60:
+case 57:
YY_RULE_SETUP
-#line 450 "engines/director/lingo/lingo-lex.l"
+#line 387 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tWITHIN, "within"); }
YY_BREAK
-case 61:
+case 58:
YY_RULE_SETUP
-#line 451 "engines/director/lingo/lingo-lex.l"
+#line 388 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tWHEN, "when"); }
YY_BREAK
-case 62:
+case 59:
YY_RULE_SETUP
-#line 452 "engines/director/lingo/lingo-lex.l"
+#line 389 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tWHILE, "while"); }
YY_BREAK
-case 63:
+case 60:
YY_RULE_SETUP
-#line 453 "engines/director/lingo/lingo-lex.l"
-{
- count();
-
- const char *ptr = &yytext[7]; // Skip 'window '
- while (*ptr == ' ' || *ptr == '\t' || *ptr == '\xC2')
- ptr++;
-
- yylval.s = cleanupString(ptr + 1);
- yylval.s->deleteLastChar();
- return WINDOW;
- }
+#line 390 "engines/director/lingo/lingo-lex.l"
+{ count(); return tWINDOW; }
YY_BREAK
-case 64:
-YY_RULE_SETUP
-#line 464 "engines/director/lingo/lingo-lex.l"
-{
- count();
-
- const char *ptr = &yytext[7]; // Skip 'window '
- while (*ptr == ' ' || *ptr == '\t' || *ptr == '\xC2')
- ptr++;
-
- yylval.s = NULL;
- yylval.i = strtol(yytext, NULL, 10);
- return WINDOW;
- }
- YY_BREAK
-case 65:
+case 61:
YY_RULE_SETUP
-#line 475 "engines/director/lingo/lingo-lex.l"
+#line 391 "engines/director/lingo/lingo-lex.l"
{ count(); return varCheck(tWORD, "word"); }
YY_BREAK
-case 66:
+case 62:
YY_RULE_SETUP
-#line 477 "engines/director/lingo/lingo-lex.l"
+#line 393 "engines/director/lingo/lingo-lex.l"
{ count(); return tNEQ; }
YY_BREAK
-case 67:
+case 63:
YY_RULE_SETUP
-#line 478 "engines/director/lingo/lingo-lex.l"
+#line 394 "engines/director/lingo/lingo-lex.l"
{ count(); return tGE; }
YY_BREAK
-case 68:
+case 64:
YY_RULE_SETUP
-#line 479 "engines/director/lingo/lingo-lex.l"
+#line 395 "engines/director/lingo/lingo-lex.l"
{ count(); return tLE; }
YY_BREAK
-case 69:
+case 65:
YY_RULE_SETUP
-#line 480 "engines/director/lingo/lingo-lex.l"
+#line 396 "engines/director/lingo/lingo-lex.l"
{ count(); return tCONCAT; }
YY_BREAK
-case 70:
+case 66:
YY_RULE_SETUP
-#line 481 "engines/director/lingo/lingo-lex.l"
+#line 397 "engines/director/lingo/lingo-lex.l"
{ count(); return tEQ; }
YY_BREAK
-case 71:
+case 67:
YY_RULE_SETUP
-#line 483 "engines/director/lingo/lingo-lex.l"
+#line 399 "engines/director/lingo/lingo-lex.l"
{
count();
yylval.s = new Common::String(yytext);
- return ID;
+ return VARID;
}
YY_BREAK
-case 72:
+case 68:
YY_RULE_SETUP
-#line 489 "engines/director/lingo/lingo-lex.l"
+#line 405 "engines/director/lingo/lingo-lex.l"
{ count(); yylval.f = atof(yytext); return FLOAT; }
YY_BREAK
-case 73:
+case 69:
YY_RULE_SETUP
-#line 490 "engines/director/lingo/lingo-lex.l"
+#line 406 "engines/director/lingo/lingo-lex.l"
{ count(); yylval.i = strtol(yytext, NULL, 10); return INT; }
YY_BREAK
-case 74:
+case 70:
YY_RULE_SETUP
-#line 491 "engines/director/lingo/lingo-lex.l"
+#line 407 "engines/director/lingo/lingo-lex.l"
{ count(); return *yytext; }
YY_BREAK
-case 75:
-/* rule 75 can match eol */
+case 71:
+/* rule 71 can match eol */
YY_RULE_SETUP
-#line 492 "engines/director/lingo/lingo-lex.l"
+#line 408 "engines/director/lingo/lingo-lex.l"
{ count(); return '\n'; }
YY_BREAK
-case 76:
+case 72:
YY_RULE_SETUP
-#line 493 "engines/director/lingo/lingo-lex.l"
+#line 409 "engines/director/lingo/lingo-lex.l"
{ count(); yylval.s = cleanupString(&yytext[1]); yylval.s->deleteLastChar(); return STRING; }
YY_BREAK
-case 77:
+case 73:
YY_RULE_SETUP
-#line 494 "engines/director/lingo/lingo-lex.l"
+#line 410 "engines/director/lingo/lingo-lex.l"
{ count(); }
YY_BREAK
-case 78:
+case 74:
YY_RULE_SETUP
-#line 496 "engines/director/lingo/lingo-lex.l"
+#line 412 "engines/director/lingo/lingo-lex.l"
ECHO;
YY_BREAK
-#line 1842 "engines/director/lingo/lingo-lex.cpp"
+#line 1724 "engines/director/lingo/lingo-lex.cpp"
case YY_STATE_EOF(INITIAL):
yyterminate();
@@ -2138,7 +2020,7 @@ static int yy_get_next_buffer (void)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 337 )
+ if ( yy_current_state >= 317 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
@@ -2166,11 +2048,11 @@ static int yy_get_next_buffer (void)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 337 )
+ if ( yy_current_state >= 317 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
- yy_is_jam = (yy_current_state == 336);
+ yy_is_jam = (yy_current_state == 316);
return yy_is_jam ? 0 : yy_current_state;
}
@@ -2859,7 +2741,7 @@ void yyfree (void * ptr )
#define YYTABLES_NAME "yytables"
-#line 496 "engines/director/lingo/lingo-lex.l"
+#line 412 "engines/director/lingo/lingo-lex.l"
extern int yydebug;
diff --git a/engines/director/lingo/lingo-lex.l b/engines/director/lingo/lingo-lex.l
index 65925d1ea9..282a9449c4 100644
--- a/engines/director/lingo/lingo-lex.l
+++ b/engines/director/lingo/lingo-lex.l
@@ -65,7 +65,7 @@ static int checkImmediate(int token) {
g_lingo->_methodVars->contains(yytext)) {
yylval.s = new Common::String(yytext);
- return ID;
+ return VARID;
}
return token;
@@ -91,7 +91,7 @@ static int varCheck(int token, const char *name) {
if (g_lingo->_indef == kStateInArgs || g_lingo->_methodVars->contains(name)) {
yylval.s = new Common::String(name);
- return ID;
+ return VARID;
}
return token;
@@ -116,28 +116,7 @@ spc [ \t\xC2]
after { count(); return varCheck(tAFTER, "after"); } // D3
and { count(); return varCheck(tAND, "and"); }
before { count(); return varCheck(tBEFORE, "before"); } // D3
-cast{spc}+{conststring} {
- count();
-
- const char *ptr = &yytext[5]; // Skip 'cast '
- while (*ptr == ' ' || *ptr == '\t' || *ptr == '\xC2')
- ptr++;
-
- yylval.s = cleanupString(ptr + 1);
- yylval.s->deleteLastChar();
- return CAST;
- }
-cast{spc}+{constinteger} {
- count();
-
- const char *ptr = &yytext[5]; // Skip 'cast '
- while (*ptr == ' ' || *ptr == '\t' || *ptr == '\xC2')
- ptr++;
-
- yylval.s = NULL;
- yylval.i = strtol(yytext, NULL, 10);
- return CAST;
- }
+cast { count(); return tCAST; }
char { count(); return varCheck(tCHAR, "char"); } // D3
contains { count(); return varCheck(tCONTAINS, "contains"); }
down { count(); return varCheck(tDOWN, "down"); }
@@ -159,8 +138,8 @@ end({spc}+{identifier})? {
return tENDTELL;
if (!*ptr) { // If it is stale "end", check it
- if (varCheck(ENDCLAUSE, "end") == ID)
- return ID;
+ if (varCheck(ENDCLAUSE, "end") == VARID)
+ return VARID;
}
yylval.s = new Common::String(ptr);
@@ -169,28 +148,7 @@ end({spc}+{identifier})? {
}
^{spc}*factory { count(); return tFACTORY; }
exit { count(); return varCheck(tEXIT, "exit"); }
-field{spc}+{conststring} {
- count();
-
- const char *ptr = &yytext[6]; // Skip 'field '
- while (*ptr == ' ' || *ptr == '\t' || *ptr == '\xC2')
- ptr++;
-
- yylval.s = cleanupString(ptr + 1);
- yylval.s->deleteLastChar();
- return FIELD;
- }
-field{spc}+{constinteger} {
- count();
-
- const char *ptr = &yytext[6]; // Skip 'field '
- while (*ptr == ' ' || *ptr == '\t' || *ptr == '\xC2')
- ptr++;
-
- yylval.s = NULL;
- yylval.i = strtol(yytext, NULL, 10);
- return FIELD;
- }
+field { count(); return tFIELD; }
global { count(); return varCheck(tGLOBAL, "global"); }
go{spc}+(to{spc}+)?frame { count(); return tGO; }
go{spc}+(to)? { count(); return tGO; }
@@ -228,28 +186,7 @@ previous { count(); return varCheck(tPREVIOUS, "previous"); }
property { count(); return varCheck(tPROPERTY, "property"); } // D4
put { count(); return varCheck(tPUT, "put"); }
repeat { count(); return checkImmediate(tREPEAT); }
-script{spc}+{conststring} {
- count();
-
- const char *ptr = &yytext[7]; // Skip 'script '
- while (*ptr == ' ' || *ptr == '\t' || *ptr == '\xC2')
- ptr++;
-
- yylval.s = cleanupString(ptr + 1);
- yylval.s->deleteLastChar();
- return SCRIPT;
- }
-script{spc}+{constinteger} {
- count();
-
- const char *ptr = &yytext[7]; // Skip 'script '
- while (*ptr == ' ' || *ptr == '\t' || *ptr == '\xC2')
- ptr++;
-
- yylval.s = NULL;
- yylval.i = strtol(yytext, NULL, 10);
- return SCRIPT;
- }
+script { count(); return tSCRIPT; }
set { count(); return varCheck(tSET, "set"); }
starts { count(); return varCheck(tSTARTS, "starts"); }
tell { count(); return varCheck(tTELL, "tell"); }
@@ -367,9 +304,9 @@ the{spc}+[[:alpha:]]+{spc}+of{spc}+{identifier} {
Common::String rest(ptr);
// It is the dreaded 'the <builtin> of <expr>'
- // with 'expr' starting with ID, which leads to clash
+ // with 'expr' starting with VARID, which leads to clash
//
- // put 'of ID' back.
+ // put 'of VARID' back.
for (int i = rest.size() - 1; i >= 0; i--)
unput(rest[i]);
@@ -450,28 +387,7 @@ with { count(); return varCheck(tWITH, "with"); }
within { count(); return varCheck(tWITHIN, "within"); }
when { count(); return varCheck(tWHEN, "when"); }
while { count(); return varCheck(tWHILE, "while"); }
-window{spc}+{conststring} {
- count();
-
- const char *ptr = &yytext[7]; // Skip 'window '
- while (*ptr == ' ' || *ptr == '\t' || *ptr == '\xC2')
- ptr++;
-
- yylval.s = cleanupString(ptr + 1);
- yylval.s->deleteLastChar();
- return WINDOW;
- }
-window{spc}+{constinteger} {
- count();
-
- const char *ptr = &yytext[7]; // Skip 'window '
- while (*ptr == ' ' || *ptr == '\t' || *ptr == '\xC2')
- ptr++;
-
- yylval.s = NULL;
- yylval.i = strtol(yytext, NULL, 10);
- return WINDOW;
- }
+window { count(); return tWINDOW; }
word { count(); return varCheck(tWORD, "word"); }
[<][>] { count(); return tNEQ; }
@@ -484,7 +400,7 @@ word { count(); return varCheck(tWORD, "word"); }
count();
yylval.s = new Common::String(yytext);
- return ID;
+ return VARID;
}
{constfloat} { count(); yylval.f = atof(yytext); return FLOAT; }
{constinteger} { count(); yylval.i = strtol(yytext, NULL, 10); return INT; }
Commit: c1a087e33e3a7eb7d50edf49bdd584187112e76d
https://github.com/scummvm/scummvm/commit/c1a087e33e3a7eb7d50edf49bdd584187112e76d
Author: djsrv (dservilla at gmail.com)
Date: 2020-07-19T13:33:35-04:00
Commit Message:
DIRECTOR: LINGO: Improve stmtlist
Copied the grammar from program.
Eliminates shift/reduce conflicts.
Changed paths:
engines/director/lingo/lingo-gr.cpp
engines/director/lingo/lingo-gr.y
diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp
index 7452433e2b..54f981cf70 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -481,39 +481,40 @@ enum yysymbol_kind_t
YYSYMBOL_if = 131, /* if */
YYSYMBOL_lbl = 132, /* lbl */
YYSYMBOL_stmtlist = 133, /* stmtlist */
- YYSYMBOL_simpleexprnoparens = 134, /* simpleexprnoparens */
- YYSYMBOL_135_10 = 135, /* $@10 */
- YYSYMBOL_simpleexpr = 136, /* simpleexpr */
- YYSYMBOL_expr = 137, /* expr */
- YYSYMBOL_chunkexpr = 138, /* chunkexpr */
- YYSYMBOL_reference = 139, /* reference */
- YYSYMBOL_proc = 140, /* proc */
- YYSYMBOL_141_11 = 141, /* $@11 */
- YYSYMBOL_142_12 = 142, /* $@12 */
- YYSYMBOL_143_13 = 143, /* $@13 */
- YYSYMBOL_144_14 = 144, /* $@14 */
- YYSYMBOL_globallist = 145, /* globallist */
- YYSYMBOL_propertylist = 146, /* propertylist */
- YYSYMBOL_instancelist = 147, /* instancelist */
- YYSYMBOL_gotofunc = 148, /* gotofunc */
- YYSYMBOL_gotomovie = 149, /* gotomovie */
- YYSYMBOL_playfunc = 150, /* playfunc */
- YYSYMBOL_151_15 = 151, /* $@15 */
- YYSYMBOL_defn = 152, /* defn */
- YYSYMBOL_153_16 = 153, /* $@16 */
- YYSYMBOL_154_17 = 154, /* $@17 */
- YYSYMBOL_on = 155, /* on */
- YYSYMBOL_156_18 = 156, /* $@18 */
- YYSYMBOL_argdef = 157, /* argdef */
- YYSYMBOL_endargdef = 158, /* endargdef */
- YYSYMBOL_argstore = 159, /* argstore */
- YYSYMBOL_arglist = 160, /* arglist */
- YYSYMBOL_nonemptyarglist = 161, /* nonemptyarglist */
- YYSYMBOL_list = 162, /* list */
- YYSYMBOL_valuelist = 163, /* valuelist */
- YYSYMBOL_linearlist = 164, /* linearlist */
- YYSYMBOL_proplist = 165, /* proplist */
- YYSYMBOL_proppair = 166 /* proppair */
+ YYSYMBOL_stmtlistline = 134, /* stmtlistline */
+ YYSYMBOL_simpleexprnoparens = 135, /* simpleexprnoparens */
+ YYSYMBOL_136_10 = 136, /* $@10 */
+ YYSYMBOL_simpleexpr = 137, /* simpleexpr */
+ YYSYMBOL_expr = 138, /* expr */
+ YYSYMBOL_chunkexpr = 139, /* chunkexpr */
+ YYSYMBOL_reference = 140, /* reference */
+ YYSYMBOL_proc = 141, /* proc */
+ YYSYMBOL_142_11 = 142, /* $@11 */
+ YYSYMBOL_143_12 = 143, /* $@12 */
+ YYSYMBOL_144_13 = 144, /* $@13 */
+ YYSYMBOL_145_14 = 145, /* $@14 */
+ YYSYMBOL_globallist = 146, /* globallist */
+ YYSYMBOL_propertylist = 147, /* propertylist */
+ YYSYMBOL_instancelist = 148, /* instancelist */
+ YYSYMBOL_gotofunc = 149, /* gotofunc */
+ YYSYMBOL_gotomovie = 150, /* gotomovie */
+ YYSYMBOL_playfunc = 151, /* playfunc */
+ YYSYMBOL_152_15 = 152, /* $@15 */
+ YYSYMBOL_defn = 153, /* defn */
+ YYSYMBOL_154_16 = 154, /* $@16 */
+ YYSYMBOL_155_17 = 155, /* $@17 */
+ YYSYMBOL_on = 156, /* on */
+ YYSYMBOL_157_18 = 157, /* $@18 */
+ YYSYMBOL_argdef = 158, /* argdef */
+ YYSYMBOL_endargdef = 159, /* endargdef */
+ YYSYMBOL_argstore = 160, /* argstore */
+ YYSYMBOL_arglist = 161, /* arglist */
+ YYSYMBOL_nonemptyarglist = 162, /* nonemptyarglist */
+ YYSYMBOL_list = 163, /* list */
+ YYSYMBOL_valuelist = 164, /* valuelist */
+ YYSYMBOL_linearlist = 165, /* linearlist */
+ YYSYMBOL_proplist = 166, /* proplist */
+ YYSYMBOL_proppair = 167 /* proppair */
};
typedef enum yysymbol_kind_t yysymbol_kind_t;
@@ -823,16 +824,16 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 99
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 2302
+#define YYLAST 1984
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 107
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 60
+#define YYNNTS 61
/* YYNRULES -- Number of rules. */
-#define YYNRULES 189
+#define YYNRULES 190
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 388
+#define YYNSTATES 390
#define YYMAXUTOK 346
@@ -895,19 +896,20 @@ static const yytype_int16 yyrline[] =
348, 350, 351, 356, 369, 373, 376, 368, 403, 407,
410, 402, 437, 444, 450, 436, 480, 488, 491, 492,
494, 496, 498, 505, 513, 514, 516, 522, 526, 530,
- 534, 537, 539, 540, 541, 543, 546, 549, 550, 551,
- 555, 559, 560, 568, 574, 577, 580, 586, 587, 588,
- 589, 595, 595, 600, 603, 611, 613, 614, 616, 617,
- 618, 619, 620, 621, 622, 623, 624, 625, 626, 627,
- 628, 629, 630, 631, 632, 633, 634, 636, 639, 640,
- 641, 642, 643, 644, 645, 646, 648, 649, 652, 655,
- 659, 660, 661, 662, 670, 671, 671, 672, 672, 673,
- 673, 674, 677, 680, 686, 686, 691, 694, 698, 701,
- 705, 708, 712, 715, 726, 727, 728, 729, 733, 737,
- 742, 743, 745, 749, 753, 757, 757, 787, 787, 793,
- 794, 794, 800, 808, 814, 814, 816, 817, 818, 820,
- 821, 822, 824, 826, 827, 828, 830, 831, 833, 835,
- 836, 837, 838, 840, 841, 843, 844, 846, 850, 854
+ 534, 537, 539, 540, 542, 543, 545, 548, 551, 552,
+ 553, 557, 561, 562, 570, 576, 579, 582, 588, 589,
+ 590, 591, 597, 597, 602, 605, 613, 615, 616, 618,
+ 619, 620, 621, 622, 623, 624, 625, 626, 627, 628,
+ 629, 630, 631, 632, 633, 634, 635, 636, 638, 641,
+ 642, 643, 644, 645, 646, 647, 648, 650, 651, 654,
+ 657, 661, 662, 663, 664, 672, 673, 673, 674, 674,
+ 675, 675, 676, 679, 682, 688, 688, 693, 696, 700,
+ 703, 707, 710, 714, 717, 728, 729, 730, 731, 735,
+ 739, 744, 745, 747, 751, 755, 759, 759, 789, 789,
+ 795, 796, 796, 802, 810, 816, 816, 818, 819, 820,
+ 822, 823, 824, 826, 828, 829, 830, 832, 833, 835,
+ 837, 838, 839, 840, 842, 843, 845, 846, 848, 852,
+ 856
};
#endif
@@ -943,11 +945,11 @@ yysymbol_name (yysymbol_kind_t yysymbol)
"ID", "asgn", "stmtoneliner", "stmt", "$@1", "$@2", "$@3", "$@4", "$@5",
"$@6", "$@7", "$@8", "$@9", "startrepeat", "tellstart", "ifstmt",
"elseifstmtlist", "elseifstmt", "jumpifz", "jump", "varassign", "if",
- "lbl", "stmtlist", "simpleexprnoparens", "$@10", "simpleexpr", "expr",
- "chunkexpr", "reference", "proc", "$@11", "$@12", "$@13", "$@14",
- "globallist", "propertylist", "instancelist", "gotofunc", "gotomovie",
- "playfunc", "$@15", "defn", "$@16", "$@17", "on", "$@18", "argdef",
- "endargdef", "argstore", "arglist", "nonemptyarglist", "list",
+ "lbl", "stmtlist", "stmtlistline", "simpleexprnoparens", "$@10",
+ "simpleexpr", "expr", "chunkexpr", "reference", "proc", "$@11", "$@12",
+ "$@13", "$@14", "globallist", "propertylist", "instancelist", "gotofunc",
+ "gotomovie", "playfunc", "$@15", "defn", "$@16", "$@17", "on", "$@18",
+ "argdef", "endargdef", "argstore", "arglist", "nonemptyarglist", "list",
"valuelist", "linearlist", "proplist", "proppair", YY_NULLPTR
};
return yy_sname[yysymbol];
@@ -973,12 +975,12 @@ static const yytype_int16 yytoknum[] =
};
#endif
-#define YYPACT_NINF (-327)
+#define YYPACT_NINF (-323)
#define yypact_value_is_default(Yyn) \
((Yyn) == YYPACT_NINF)
-#define YYTABLE_NINF (-180)
+#define YYTABLE_NINF (-181)
#define yytable_value_is_error(Yyn) \
0
@@ -987,45 +989,45 @@ static const yytype_int16 yytoknum[] =
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- 1697, -327, -327, -327, -42, -327, 150, -327, -327, -327,
- -27, 1407, 6, 21, 89, 89, 1439, 1280, -327, 1439,
- -327, -327, -327, -327, -327, -327, 58, -71, 1104, -327,
- -327, -327, -327, 1439, -327, -327, -327, -327, -327, 1192,
- -327, -327, 89, -12, -327, -327, 1527, -327, 20, 1527,
- -327, -327, -327, 1439, -327, 30, -327, 1439, 1439, 1439,
- 1439, 1439, 1439, 1527, 1527, 596, 703, 810, 917, 1439,
- 1011, -21, -327, -327, 1764, -327, -327, -327, -327, 89,
- -327, 89, 980, 89, -327, -23, 1527, 1527, 2, 3,
- 50, -327, 2129, 1764, -327, 89, 1797, 89, 89, -327,
- 1697, 1315, 2195, -18, 2195, 89, -18, 89, -327, 11,
- -327, -327, 1527, -327, 2195, 1439, -327, 1844, 1877, 1910,
- 1943, 2162, -327, -327, -327, -327, -327, -327, 2088, 31,
- 40, -327, -79, 2195, 1, 13, 22, -327, 1315, 1439,
- 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439,
- 1439, 1439, 1439, 1439, 1439, 1439, -327, -327, 1527, 106,
- 106, 106, -32, 1439, 1439, 1439, 7, 100, 1439, 1439,
- 1439, 1439, 1439, 1439, -327, -327, 46, -327, -327, -327,
- 47, -327, -327, 9, 2088, -9, 1439, 99, -327, -77,
- -16, 89, -327, 2195, 1439, 1439, 1439, 1439, 1439, 1439,
- 1439, 1439, 1439, 1439, -327, 1439, 1439, 1439, -327, 1439,
- -7, 26, 19, -44, -44, -44, -44, 2208, 2208, -327,
- -57, -44, -44, -44, -44, -57, -39, -39, -327, -327,
- 89, 110, -327, -327, -327, -327, -327, -327, 1439, 1439,
- 2195, 2195, 2195, 1439, 1439, 89, 2195, 2195, 2195, 2195,
- 2195, 2195, 89, 1726, -327, 89, -327, -327, -327, 2195,
- -327, -327, 89, -327, -327, 2195, 1976, 2195, 2009, 2195,
- 2042, 2195, 2075, 2195, 2195, 2195, 2195, 2195, 2195, 31,
- 40, 49, -327, -327, -327, -327, -4, 1439, 2195, 265,
- -327, 2195, 2195, 1527, -327, -327, 1538, -327, 1439, 1538,
- -327, -327, -327, 1439, 1439, 1439, 1439, 1439, -327, 2195,
- -327, -327, -327, -327, 10, -327, -327, -327, 69, 2195,
- 29, -327, 445, 1538, 2195, 2195, 2195, 2195, 32, -327,
- -327, -327, -327, 1538, 1439, 1439, -327, -327, 1439, 108,
- 89, -327, 1538, -327, 104, 128, 76, 2195, 2195, 2195,
- -327, 1439, -327, 80, -327, 63, -327, 1439, 115, -327,
- 1538, 2195, -327, 89, -327, 2195, 1439, 85, 124, -327,
- -327, -327, 2195, -327, -327, 479, -327, -327, 1538, -327,
- -327, -327, -327, 1605, -327, -327, 1634, -327
+ 138, -323, -323, -323, -28, -323, 498, -323, -323, -323,
+ 27, 1277, 69, -8, 24, 24, 1309, 1150, -323, 1309,
+ -323, -323, -323, -323, -323, -323, 47, -16, 1028, -323,
+ -323, -323, -323, 1309, -323, -323, -323, -323, -323, 1062,
+ -323, -323, 24, -1, -323, -323, 1397, -323, 66, 1397,
+ -323, -323, -323, 1309, -323, 91, -323, 1309, 1309, 1309,
+ 1309, 1309, 1309, 1397, 1397, 600, 707, 814, 921, 1309,
+ 127, 41, -323, -323, 414, -323, -323, -323, -323, 24,
+ -323, 24, -37, 24, -323, -23, 1397, 1397, -4, 32,
+ 94, -323, 1811, 414, -323, 24, 1479, 24, 24, -323,
+ 138, 1185, 1877, 51, 1877, 24, 51, 24, -323, 53,
+ -323, -323, 1397, -323, 1877, 1309, -323, 1526, 1559, 1592,
+ 1625, 1844, -323, -323, -323, -323, -323, -323, 1770, 59,
+ 76, -323, -21, 1877, 87, 106, 108, -323, 1185, 1309,
+ 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309,
+ 1309, 1309, 1309, 1309, 1309, 1309, -323, -323, 1397, 262,
+ 262, 262, -19, 1309, 1309, 1309, 38, 146, 1309, 1309,
+ 1309, 1309, 1309, 1309, -323, -323, 109, -323, -323, -323,
+ 110, -323, -323, -39, 1770, 33, 1309, 161, -323, -32,
+ 55, 24, -323, 1877, 1309, 1309, 1309, 1309, 1309, 1309,
+ 1309, 1309, 1309, 1309, -323, 1309, 1309, 1309, -323, 1309,
+ 14, 15, 61, 201, 201, 201, 201, 1890, 1890, -323,
+ 77, 201, 201, 201, 201, 77, -20, -20, -323, -323,
+ 24, 172, -323, -323, -323, -323, -323, -323, 1309, 1309,
+ 1877, 1877, 1877, 1309, 1309, 24, 1877, 1877, 1877, 1877,
+ 1877, 1877, 24, 237, 1408, 24, -323, -323, -323, 1877,
+ 1408, -323, 24, -323, -323, 1877, 1658, 1877, 1691, 1877,
+ 1724, 1877, 1757, 1877, 1877, 1877, 1877, 1877, 1877, 59,
+ 76, 111, -323, -323, -323, -323, 81, 1309, 1877, 1446,
+ -323, 1877, 1877, 1397, -323, -323, -323, -323, 115, -323,
+ 1309, -323, 1408, -323, 1408, 1309, 1309, 1309, 1309, 1309,
+ -323, 1877, -323, -323, -323, 1408, 39, -323, 140, 1408,
+ 1877, 84, -323, 202, -323, 1877, 1877, 1877, 1877, 98,
+ 1408, -323, -323, -323, -323, 1309, 1309, -323, -323, -323,
+ 1309, 171, 24, -323, -323, -323, 184, 204, 154, 1877,
+ 1877, 1877, 1408, 1309, -323, 156, -323, 139, -323, 1309,
+ 189, -323, -323, 1877, -323, 24, -323, 1877, 1309, 159,
+ 193, -323, 1408, -323, 1877, -323, 1408, 162, -323, -323,
+ -323, -323, 1408, -323, -323, 163, 1408, -323, 165, -323
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -1033,67 +1035,69 @@ static const yytype_int16 yypact[] =
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
- 4, 7, 155, 160, 124, 125, 0, 144, 60, 157,
- 0, 0, 0, 0, 0, 0, 0, 0, 129, 0,
- 127, 164, 8, 9, 10, 11, 0, 2, 0, 29,
- 31, 6, 32, 0, 30, 121, 122, 5, 61, 0,
- 61, 123, 0, 0, 65, 72, 0, 66, 0, 0,
- 70, 69, 76, 0, 145, 0, 146, 0, 0, 0,
+ 4, 7, 156, 161, 125, 126, 0, 145, 60, 158,
+ 0, 0, 0, 0, 0, 0, 0, 0, 130, 0,
+ 128, 165, 8, 9, 10, 11, 0, 2, 0, 29,
+ 31, 6, 32, 0, 30, 122, 123, 5, 61, 0,
+ 61, 124, 0, 0, 66, 73, 0, 67, 0, 0,
+ 71, 70, 77, 0, 146, 0, 147, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 84, 86, 88, 147, 116, 71, 149, 79, 0,
- 46, 0, 120, 0, 61, 0, 0, 0, 0, 0,
- 0, 159, 132, 152, 154, 0, 0, 0, 0, 1,
- 4, 0, 174, 137, 57, 166, 156, 166, 138, 126,
- 85, 73, 0, 74, 151, 0, 102, 0, 0, 0,
- 0, 0, 67, 68, 117, 107, 118, 119, 0, 70,
- 69, 180, 84, 183, 0, 182, 181, 185, 0, 0,
+ 0, 85, 87, 89, 148, 117, 72, 150, 80, 0,
+ 46, 0, 121, 0, 61, 0, 0, 0, 0, 0,
+ 0, 160, 133, 153, 155, 0, 0, 0, 0, 1,
+ 4, 0, 175, 138, 57, 167, 157, 167, 139, 127,
+ 86, 74, 0, 75, 152, 0, 103, 0, 0, 0,
+ 0, 0, 68, 69, 118, 108, 119, 120, 0, 71,
+ 70, 181, 85, 184, 0, 183, 182, 186, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 148, 61, 0, 0,
+ 0, 0, 0, 0, 0, 0, 149, 61, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 153, 142, 130, 51, 51, 140,
- 128, 165, 3, 84, 174, 0, 0, 0, 167, 0,
- 0, 0, 75, 150, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 87, 0, 0, 0, 178, 0,
- 0, 84, 0, 98, 99, 96, 97, 100, 101, 93,
- 104, 105, 106, 95, 94, 103, 89, 90, 91, 92,
- 166, 0, 12, 13, 15, 16, 17, 18, 0, 0,
+ 0, 0, 0, 0, 154, 143, 131, 51, 51, 141,
+ 129, 166, 3, 85, 175, 0, 0, 0, 168, 0,
+ 0, 0, 76, 151, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 88, 0, 0, 0, 179, 0,
+ 0, 85, 0, 99, 100, 97, 98, 101, 102, 94,
+ 105, 106, 107, 96, 95, 104, 90, 91, 92, 93,
+ 167, 0, 12, 13, 15, 16, 17, 18, 0, 0,
57, 22, 20, 0, 0, 0, 27, 28, 21, 19,
- 47, 131, 0, 0, 62, 0, 133, 134, 136, 175,
- 62, 172, 0, 172, 139, 108, 0, 110, 0, 112,
- 0, 114, 0, 77, 78, 188, 187, 189, 184, 0,
- 0, 0, 186, 80, 81, 83, 0, 0, 42, 34,
- 50, 23, 24, 0, 143, 61, 61, 141, 0, 58,
- 62, 168, 62, 0, 0, 0, 0, 0, 172, 14,
- 61, 59, 59, 62, 0, 49, 63, 64, 0, 176,
- 0, 54, 163, 161, 109, 111, 113, 115, 0, 62,
- 43, 35, 39, 58, 0, 0, 48, 135, 0, 61,
- 169, 82, 158, 57, 0, 0, 0, 25, 26, 177,
- 62, 0, 55, 0, 170, 162, 44, 0, 0, 33,
- 61, 57, 52, 0, 50, 36, 0, 0, 0, 171,
- 62, 57, 40, 53, 62, 0, 50, 57, 58, 45,
- 62, 50, 56, 0, 62, 37, 0, 41
+ 47, 132, 0, 0, 64, 0, 134, 135, 137, 176,
+ 64, 173, 0, 173, 140, 109, 0, 111, 0, 113,
+ 0, 115, 0, 78, 79, 189, 188, 190, 185, 0,
+ 0, 0, 187, 81, 82, 84, 0, 0, 42, 34,
+ 50, 23, 24, 0, 144, 61, 65, 61, 62, 142,
+ 0, 58, 64, 169, 64, 0, 0, 0, 0, 0,
+ 173, 14, 61, 59, 59, 64, 0, 49, 0, 64,
+ 177, 0, 54, 164, 162, 110, 112, 114, 116, 0,
+ 64, 43, 35, 39, 58, 0, 0, 48, 63, 136,
+ 0, 61, 170, 83, 159, 57, 0, 0, 0, 25,
+ 26, 178, 64, 0, 55, 0, 171, 163, 44, 0,
+ 0, 33, 61, 57, 52, 0, 50, 36, 0, 0,
+ 0, 172, 64, 57, 40, 53, 64, 0, 50, 57,
+ 58, 45, 64, 50, 56, 0, 64, 37, 0, 41
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -327, 78, -327, 0, -327, -74, 4, -327, -327, -327,
- -327, -327, -327, -327, -327, -327, -299, 12, -327, -327,
- -327, -235, -326, -123, -327, -24, -227, 127, -327, -43,
- 250, -20, -327, -327, -327, -327, -327, -327, -327, -327,
- -327, -327, -15, -327, -327, -327, -327, -327, -327, -327,
- -106, -327, -255, -29, -107, -327, -327, -327, -327, -3
+ -323, 147, -323, 0, -323, 3, 8, -323, -323, -323,
+ -323, -323, -323, -323, -323, -323, -301, 86, -323, -323,
+ -323, -239, -322, -48, -323, -38, -243, -323, 107, -323,
+ -43, 252, -29, -323, -323, -323, -323, -323, -323, -323,
+ -323, -323, -323, 1, -323, -323, -323, -323, -323, -323,
+ -323, -103, -323, -244, -34, -42, -323, -323, -323, -323,
+ 62
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 26, 27, 71, 29, 30, 317, 311, 344, 371,
- 312, 345, 377, 310, 343, 364, 313, 253, 32, 339,
- 352, 187, 321, 331, 33, 105, 296, 72, 307, 73,
- 102, 75, 76, 34, 42, 97, 95, 298, 109, 180,
- 176, 35, 77, 36, 39, 37, 79, 40, 38, 98,
- 189, 355, 300, 103, 320, 78, 134, 135, 136, 137
+ -1, 26, 27, 71, 29, 30, 296, 313, 346, 373,
+ 314, 347, 379, 312, 345, 366, 315, 253, 32, 341,
+ 354, 187, 322, 332, 33, 105, 297, 298, 72, 309,
+ 73, 102, 75, 76, 34, 42, 97, 95, 300, 109,
+ 180, 176, 35, 77, 36, 39, 37, 79, 40, 38,
+ 98, 189, 357, 302, 103, 321, 78, 134, 135, 136,
+ 137
};
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
@@ -1101,136 +1105,123 @@ static const yytype_int16 yydefgoto[] =
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 28, 190, 94, 111, 31, 290, 113, 346, 302, 41,
- 106, 238, 145, 89, 90, 91, 107, 1, 279, 280,
- 122, 123, 138, 261, 80, 145, 262, 207, 146, 100,
- 145, 164, 239, 299, 152, 153, 154, 155, 85, 86,
- 87, 165, 108, 166, 167, 1, 151, 152, 153, 154,
- 155, 88, 382, 329, 154, 155, 168, 170, 99, 156,
- 163, 243, 83, 84, 334, 370, 169, 171, 112, 192,
- 132, 244, 185, 322, 335, 323, 115, 380, 174, 157,
- 138, 158, 384, 162, 263, 186, 333, 262, 110, 22,
- 23, 24, 25, 258, 186, 175, 308, 179, 181, 262,
- 28, 183, 342, 172, 31, 188, 208, 188, 356, 212,
- 138, 256, 257, 1, 191, 231, 209, 22, 23, 24,
- 25, 285, 186, 360, 286, 210, 368, 138, 283, 284,
- 1, 337, 338, 230, 341, 338, 376, 205, 211, 233,
- 235, 237, 381, 375, 350, 351, 206, 378, 245, 252,
- 255, 43, 260, 383, 287, 207, 336, 386, 357, 232,
- 234, 236, 359, 358, 44, 362, 363, 45, 46, 366,
- 373, 47, 48, 49, 1, 50, 51, 374, 182, 295,
- 52, 58, 59, 60, 61, 22, 23, 24, 25, 332,
- 254, 264, 124, 125, 126, 127, 53, 54, 55, 56,
- 328, 0, 22, 66, 24, 25, 0, 282, 0, 0,
- 281, 0, 0, 0, 0, 0, 0, 0, 57, 0,
- 0, 0, 0, 0, 0, 58, 59, 60, 61, 62,
- 188, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 63, 64, 0, 0, 293, 65, 66, 67, 68,
- 314, 69, 294, 28, 70, 297, 74, 0, 0, 0,
- 0, 82, 301, 0, 0, 0, 92, 93, 0, 96,
- 0, 315, 318, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 104, 0, 0, 330, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 28, 0, 0, 28,
- -38, 0, 0, 114, 0, 0, 0, 116, 117, 118,
- 119, 120, 121, 0, 0, 353, 0, 0, 0, 128,
- 133, 0, 28, 28, 0, 0, 0, 139, 140, 141,
- 142, 143, 144, 28, 145, 0, 367, 146, 147, 148,
- 354, 0, 28, 0, 0, 0, 0, 0, 0, 0,
- 0, 184, 0, 149, 150, 151, 152, 153, 154, 155,
- 28, 0, 0, 369, 0, 193, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 28, 0, 0, 28, 0,
- 0, 0, 0, 28, 0, 0, 28, 0, 0, 213,
- 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
- 224, 225, 226, 227, 228, 229, 0, 0, 0, 0,
- 0, 0, 0, 240, 241, 242, 0, 0, 246, 247,
- 248, 249, 250, 251, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 259, 0, 0, 0,
- 0, 0, 0, 0, 265, 266, 267, 268, 269, 270,
- 271, 272, 273, 274, 0, 275, 276, 277, 0, 278,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
- 0, 0, 340, 2, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 4, 5, 6, 7, 8, 288, 289,
- 0, 0, 10, 291, 292, 11, 12, 13, 0, 0,
- 14, 0, 0, 1, 16, 17, 18, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 4, 5, 6,
- 7, 8, 0, 0, 0, 0, 10, 19, 20, 11,
- 12, 13, 0, 0, 14, 0, 0, 309, 16, 17,
- 18, 22, 23, 24, 25, 316, 0, 0, 319, 0,
- 0, 0, 0, 324, 325, 326, 327, 319, 0, 0,
- 0, 19, 20, 0, 0, 379, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 22, 23, 24, 25, 316,
- 0, 0, 0, 0, 347, 348, 0, 0, 349, 0,
- 0, 0, 0, 0, 0, 0, -8, 43, 0, 0,
- 0, 361, 0, 0, 0, 0, 0, 365, 0, 0,
- 44, 0, 0, 45, 46, 0, 372, 47, 48, 49,
- 1, 50, 51, -8, -8, 0, 52, 0, 0, 0,
- 0, -8, -8, -8, -8, -8, -8, -8, -8, 0,
- -8, 0, -8, -8, -8, 0, -8, -8, -8, -8,
- -8, -8, -8, 0, 0, -8, -8, -8, -8, -8,
+ 28, 290, 107, 111, 190, 106, 113, 159, 31, 85,
+ 86, 87, 348, 89, 90, 91, 1, 301, 94, 304,
+ 122, 123, 88, 41, 238, 139, 140, 141, 142, 143,
+ 144, 164, 145, 160, 161, 146, 147, 148, 1, 279,
+ 280, 165, 108, 166, 167, 239, 163, 99, 1, 145,
+ 168, 149, 150, 151, 152, 153, 154, 155, 384, 323,
+ 169, 324, 138, 256, 257, 372, 330, 185, 261, 192,
+ 132, 262, 334, 154, 155, 156, 338, 382, 80, 157,
+ 138, 158, 386, 162, 100, 207, 170, 344, 22, 23,
+ 24, 25, 243, 335, 174, 175, 171, 179, 181, 110,
+ 28, 183, 244, 336, 212, 188, 358, 188, 31, 362,
+ 22, 23, 24, 25, 112, 231, 138, 283, 284, 230,
+ 22, 23, 24, 25, 370, 83, 84, 286, 43, 377,
+ 233, 235, 237, 380, 378, 258, 186, 115, 211, 385,
+ 383, 44, 138, 388, 45, 46, 145, 172, 47, 48,
+ 49, 1, 129, 130, 186, 263, 191, 52, 262, 232,
+ 234, 236, 1, 285, 186, 205, 2, 3, 152, 153,
+ 154, 155, 124, 125, 126, 127, 4, 5, 6, 7,
+ 8, 310, 206, 9, 262, 10, 339, 340, 11, 12,
+ 13, 264, 208, 14, 245, 57, 15, 16, 17, 18,
+ 343, 340, 58, 59, 60, 61, 62, 352, 353, 209,
+ 281, 210, 252, 255, 260, 319, 287, 207, 63, 64,
+ 19, 20, 21, 65, 66, 67, 68, 337, 69, 342,
+ 188, 70, -180, 131, 22, 23, 24, 25, 359, 360,
+ 361, 364, 365, 368, 375, 293, 376, 182, 381, 387,
+ 316, 389, 294, 28, 28, 299, 295, 317, 74, 318,
+ 28, 1, 303, 82, 254, 2, 333, 329, 92, 93,
+ 145, 96, 282, 146, 331, 4, 5, 6, 7, 0,
+ 0, 0, 0, 0, 0, 104, 1, 11, 0, 13,
+ 0, 151, 152, 153, 154, 155, 16, 17, 18, 0,
+ 0, 0, 28, 355, 28, 114, 0, 0, 0, 116,
+ 117, 118, 119, 120, 121, 28, 0, 0, 0, 28,
+ 20, 128, 133, 0, 369, 0, 0, 0, 0, 0,
+ 28, 0, 0, 22, 23, 24, 25, 58, 59, 60,
+ 61, 0, 356, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 28, 184, 0, 0, 0, 0, 22, 66,
+ 24, 25, 0, 0, 0, 371, 0, 193, 0, 0,
+ 0, 0, 28, 0, 0, 0, 28, 0, 0, 0,
+ 0, 0, 28, 0, 0, 0, 28, 0, 0, 0,
+ 0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 0, 0,
+ 0, 0, 0, 0, 0, 240, 241, 242, 0, 0,
+ 246, 247, 248, 249, 250, 251, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 259, 0,
+ 0, 0, 0, 0, 0, 0, 265, 266, 267, 268,
+ 269, 270, 271, 272, 273, 274, 0, 275, 276, 277,
+ 53, 278, 55, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 139, 140, 141, 142,
+ 143, 144, 0, 145, 0, 0, 146, 147, 148, 0,
+ 288, 289, 0, 0, 0, 291, 292, 0, 0, 43,
+ 0, 0, 149, 150, 151, 152, 153, 154, 155, 0,
+ 0, 0, 44, 0, 0, 45, 46, 0, 0, 47,
+ 48, 49, 1, 50, 51, 0, 0, 0, 52, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 311,
+ 0, 0, 0, 0, 53, 54, 55, 56, 0, 0,
+ 0, 0, 320, 0, 0, 0, 0, 325, 326, 327,
+ 328, 320, 0, 0, 0, 0, 57, 0, 0, 0,
+ 0, 0, 0, 58, 59, 60, 61, 62, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 349, 350, 63,
+ 64, 0, 351, 0, 65, 66, 67, 68, 0, 69,
+ -8, 43, 70, 0, 0, 363, 0, 0, 0, 0,
+ 0, 367, 0, 0, 44, 0, 0, 45, 46, 0,
+ 374, 47, 48, 49, 1, 50, 51, -8, -8, 0,
+ 52, 0, 0, 0, 0, -8, -8, -8, -8, -8,
+ -8, -8, -8, 0, -8, 0, -8, -8, -8, 0,
+ -8, -8, -8, -8, -8, -8, -8, 0, 0, -8,
+ -8, -8, -8, -8, -8, -8, -8, -8, 0, -8,
+ -8, -8, -8, -8, -8, 58, 59, 60, 61, 62,
-8, -8, -8, -8, 0, -8, -8, -8, -8, -8,
- -8, 58, 59, 60, 61, 62, -8, -8, -8, -8,
- 0, -8, -8, -8, -8, -8, -8, -8, -8, -8,
- -8, 0, 65, 66, 67, 68, -8, -8, -8, -8,
- 70, -8, -8, -9, 43, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 44, 0, 0,
- 45, 46, 0, 0, 47, 48, 49, 1, 50, 51,
- -9, -9, 0, 52, 0, 0, 0, 0, -9, -9,
- -9, -9, -9, -9, -9, -9, 0, -9, 0, -9,
- -9, -9, 0, -9, -9, -9, -9, -9, -9, -9,
- 0, 0, -9, -9, -9, -9, -9, -9, -9, -9,
- -9, 0, -9, -9, -9, -9, -9, -9, 58, 59,
- 60, 61, 62, -9, -9, -9, -9, 0, -9, -9,
- -9, -9, -9, -9, -9, -9, -9, -9, 0, 65,
- 66, 67, 68, -9, -9, -9, -9, 70, -9, -9,
- -10, 43, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 44, 0, 0, 45, 46, 0,
- 0, 47, 48, 49, 1, 50, 51, -10, -10, 0,
- 52, 0, 0, 0, 0, -10, -10, -10, -10, -10,
- -10, -10, -10, 0, -10, 0, -10, -10, -10, 0,
- -10, -10, -10, -10, -10, -10, -10, 0, 0, -10,
- -10, -10, -10, -10, -10, -10, -10, -10, 0, -10,
- -10, -10, -10, -10, -10, 58, 59, 60, 61, 62,
- -10, -10, -10, -10, 0, -10, -10, -10, -10, -10,
- -10, -10, -10, -10, -10, 0, 65, 66, 67, 68,
- -10, -10, -10, -10, 70, -10, -10, -11, 43, 0,
+ -8, -8, -8, -8, -8, 0, 65, 66, 67, 68,
+ -8, -8, -8, -8, 70, -8, -8, -9, 43, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 44, 0, 0, 45, 46, 0, 0, 47, 48,
- 49, 1, 50, 51, -11, -11, 0, 52, 0, 0,
- 0, 0, -11, -11, -11, -11, -11, -11, -11, -11,
- 0, -11, 0, -11, -11, -11, 0, -11, -11, -11,
- -11, -11, -11, -11, 0, 0, -11, -11, -11, -11,
- -11, -11, -11, -11, -11, 0, -11, -11, -11, -11,
- -11, -11, 58, 59, 60, 61, 62, -11, -11, -11,
- -11, 0, -11, -11, -11, -11, -11, -11, -11, -11,
- -11, -11, 43, 65, 66, 67, 68, -11, -11, -11,
- -11, 70, -11, -11, 159, 44, 0, 0, 45, 46,
- 0, 0, 47, 48, 49, 1, 129, 130, 0, 0,
- 0, 52, 139, 140, 141, 142, 143, 144, 0, 145,
- 160, 161, 146, 147, 148, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
- 151, 152, 153, 154, 155, 0, 0, 0, 0, 57,
- 0, 0, 0, 0, 0, 0, 58, 59, 60, 61,
- 62, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 63, 64, -173, 43, 0, 65, 66, 67,
- 68, 0, 69, 0, 0, 70, -179, 131, 44, 0,
+ 49, 1, 50, 51, -9, -9, 0, 52, 0, 0,
+ 0, 0, -9, -9, -9, -9, -9, -9, -9, -9,
+ 0, -9, 0, -9, -9, -9, 0, -9, -9, -9,
+ -9, -9, -9, -9, 0, 0, -9, -9, -9, -9,
+ -9, -9, -9, -9, -9, 0, -9, -9, -9, -9,
+ -9, -9, 58, 59, 60, 61, 62, -9, -9, -9,
+ -9, 0, -9, -9, -9, -9, -9, -9, -9, -9,
+ -9, -9, 0, 65, 66, 67, 68, -9, -9, -9,
+ -9, 70, -9, -9, -10, 43, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 44, 0,
0, 45, 46, 0, 0, 47, 48, 49, 1, 50,
- 51, -173, -173, 0, 52, 0, 0, 0, 0, 0,
- -173, -173, -173, -173, -173, -173, -173, 0, 0, 0,
- 0, -173, 0, 0, -173, -173, -173, 0, 0, -173,
- 0, 0, 0, -173, -173, -173, 0, 0, 0, 0,
- 0, 0, 57, 0, 0, 0, 0, 0, 0, 58,
- 59, 60, 61, 62, 0, 0, -173, -173, 0, -173,
- -173, -173, -173, 43, 0, 63, 64, 0, 0, 0,
- 65, 66, 67, 68, -173, 101, 44, -173, 70, 45,
- 46, 0, 0, 47, 48, 49, 1, 50, 51, -173,
- -173, 0, 52, 0, 0, 0, 0, 0, -173, -173,
- -173, -173, -173, -173, -173, 0, 0, 0, 0, -173,
- 0, 0, -173, -173, -173, 0, 0, -173, 0, 0,
- 0, -173, -173, -173, 0, 0, 0, 0, 0, 0,
- 57, 0, 0, 0, 0, 0, 0, 58, 59, 60,
- 61, 62, 0, 0, -173, -173, 0, -173, -173, -173,
+ 51, -10, -10, 0, 52, 0, 0, 0, 0, -10,
+ -10, -10, -10, -10, -10, -10, -10, 0, -10, 0,
+ -10, -10, -10, 0, -10, -10, -10, -10, -10, -10,
+ -10, 0, 0, -10, -10, -10, -10, -10, -10, -10,
+ -10, -10, 0, -10, -10, -10, -10, -10, -10, 58,
+ 59, 60, 61, 62, -10, -10, -10, -10, 0, -10,
+ -10, -10, -10, -10, -10, -10, -10, -10, -10, 0,
+ 65, 66, 67, 68, -10, -10, -10, -10, 70, -10,
+ -10, -11, 43, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 44, 0, 0, 45, 46,
+ 0, 0, 47, 48, 49, 1, 50, 51, -11, -11,
+ 0, 52, 0, 0, 0, 0, -11, -11, -11, -11,
+ -11, -11, -11, -11, 0, -11, 0, -11, -11, -11,
+ 0, -11, -11, -11, -11, -11, -11, -11, 0, 0,
+ -11, -11, -11, -11, -11, -11, -11, -11, -11, 0,
+ -11, -11, -11, -11, -11, -11, 58, 59, 60, 61,
+ 62, -11, -11, -11, -11, 0, -11, -11, -11, -11,
+ -11, -11, -11, -11, -11, -11, 0, 65, 66, 67,
+ 68, -11, -11, -11, -11, 70, -11, -11, -174, 43,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 44, 0, 0, 45, 46, 0, 0, 47,
+ 48, 49, 1, 50, 51, -174, 0, 0, 52, 0,
+ 0, 0, -174, 43, -174, -174, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 44, 0, 0, 45,
+ 46, 0, 0, 47, 48, 49, 1, 50, 51, -174,
+ 0, 0, 52, 0, 0, 0, 57, 0, -174, -174,
+ 0, 0, 0, 58, 59, 60, 61, 62, 0, 0,
+ 0, 0, 0, -174, -174, -174, 0, 0, 0, 63,
+ 64, 0, 0, 0, 65, 66, 67, 68, -174, 101,
+ 57, -174, 70, 0, 0, 0, 0, 58, 59, 60,
+ 61, 62, 0, 0, 0, 0, 0, -174, -174, -174,
0, 43, 0, 63, 64, 0, 0, 0, 65, 66,
- 67, 68, -173, 69, 44, -173, 70, 45, 46, 0,
+ 67, 68, -174, 69, 44, -174, 70, 45, 46, 0,
0, 47, 48, 49, 1, 50, 51, 0, 0, 0,
52, 0, 0, 0, 0, 0, 43, 0, 0, 0,
0, 0, 0, 0, 0, 0, 53, 0, 55, 44,
@@ -1242,7 +1233,7 @@ static const yytype_int16 yytable[] =
0, 69, 0, 57, 70, 0, 0, 0, 0, 0,
58, 59, 60, 61, 62, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 63, 64, 43, 0,
- 0, 65, 66, 67, 68, 0, 69, -173, -173, 70,
+ 0, 65, 66, 67, 68, 0, 69, -174, -174, 70,
0, 44, 0, 0, 45, 46, 0, 81, 47, 48,
49, 1, 50, 51, 0, 0, 0, 52, 0, 0,
43, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1262,164 +1253,124 @@ static const yytype_int16 yytable[] =
8, 0, 0, 0, 0, 10, 0, 0, 11, 12,
13, 0, 0, 14, 0, 0, 0, 16, 17, 18,
0, 0, 58, 59, 60, 61, 62, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 63, 64,
- 19, 20, 0, 65, 66, 67, 68, 0, 69, 1,
- 0, 70, 0, 2, 22, 23, 24, 25, 316, 0,
- 0, 0, 0, 4, 5, 6, 7, 8, 0, 0,
- 0, 0, 10, 0, 0, 11, 12, 13, 1, 0,
- 14, 0, 2, 0, 16, 17, 18, 0, 0, 0,
- 0, 0, 4, 5, 6, 7, 8, 0, 0, 0,
- 0, 10, 0, 0, 11, 12, 13, 19, 20, 14,
- 0, 385, 0, 16, 17, 18, 0, 0, 0, 0,
- 0, 22, 23, 24, 25, 316, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 19, 20, 0, 0,
- 387, 1, 0, 0, 0, 2, 3, 0, 0, 0,
- 22, 23, 24, 25, 316, 4, 5, 6, 7, 8,
- 0, 0, 9, 0, 10, 0, 0, 11, 12, 13,
- 1, 0, 14, 0, 2, 15, 16, 17, 18, 0,
- 0, 0, 0, 0, 4, 5, 6, 7, 0, 0,
- 0, 0, 0, 0, 0, 0, 11, 0, 13, 19,
- 20, 21, 0, 0, 0, 16, 17, 18, 0, 0,
- 0, 0, 0, 22, 23, 24, 25, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 20,
- 53, 0, 55, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 22, 23, 24, 25, 139, 140, 141, 142,
- 143, 144, 0, 145, 0, 0, 146, 147, 148, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 177, 149, 150, 151, 152, 153, 154, 155, 139,
- 140, 141, 142, 143, 144, 0, 145, 0, 0, 146,
- 147, 148, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 149, 150, 151, 152, 153,
- 154, 155, 194, 0, 0, 0, 0, 178, 195, 0,
- 0, 0, 0, 0, 0, 0, 139, 140, 141, 142,
- 143, 144, 0, 145, 0, 0, 146, 147, 148, 0,
- 0, 0, 0, 0, 0, 196, 0, 0, 0, 0,
- 0, 197, 149, 150, 151, 152, 153, 154, 155, 139,
- 140, 141, 142, 143, 144, 0, 145, 0, 0, 146,
- 147, 148, 0, 0, 0, 0, 0, 0, 198, 0,
- 0, 0, 0, 0, 199, 149, 150, 151, 152, 153,
- 154, 155, 139, 140, 141, 142, 143, 144, 0, 145,
- 0, 0, 146, 147, 148, 0, 0, 0, 0, 0,
- 0, 200, 0, 0, 0, 0, 0, 201, 149, 150,
- 151, 152, 153, 154, 155, 139, 140, 141, 142, 143,
- 144, 0, 145, 0, 0, 146, 147, 148, 0, 0,
- 0, 0, 0, 0, 303, 0, 0, 0, 0, 0,
- 0, 149, 150, 151, 152, 153, 154, 155, 139, 140,
+ 0, -38, 0, 0, 0, 0, 0, 0, 63, 64,
+ 19, 20, 0, 65, 66, 67, 68, 0, 69, 0,
+ 0, 70, 0, 0, 22, 23, 24, 25, 139, 140,
141, 142, 143, 144, 0, 145, 0, 0, 146, 147,
- 148, 0, 0, 0, 0, 0, 0, 304, 0, 0,
- 0, 0, 0, 0, 149, 150, 151, 152, 153, 154,
+ 148, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 177, 149, 150, 151, 152, 153, 154,
155, 139, 140, 141, 142, 143, 144, 0, 145, 0,
0, 146, 147, 148, 0, 0, 0, 0, 0, 0,
- 305, 0, 0, 0, 0, 0, 0, 149, 150, 151,
- 152, 153, 154, 155, 139, 140, 141, 142, 143, 144,
- 0, 145, 0, 0, 146, 147, 148, 0, 0, 0,
- 0, 0, 0, 306, 0, 0, 0, 0, 0, 0,
- 149, 150, 151, 152, 153, 154, 155, 139, 140, 141,
- 142, 143, 144, 0, 145, 0, 0, 146, 147, 148,
- 139, 140, 141, 142, 143, 144, 0, 145, 0, 0,
- 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
- 0, 0, 0, 0, 0, 0, 149, 150, 151, 152,
- 153, 154, 155, 0, 0, 173, 0, 0, 0, 0,
- 204, 139, 140, 141, 142, 143, 144, 0, 145, 0,
- 0, 146, 147, 148, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 149, 150, 151,
+ 152, 153, 154, 155, 194, 0, 0, 0, 0, 178,
+ 195, 0, 0, 0, 0, 0, 0, 0, 139, 140,
+ 141, 142, 143, 144, 0, 145, 0, 0, 146, 147,
+ 148, 0, 0, 0, 0, 0, 0, 196, 0, 0,
+ 0, 0, 0, 197, 149, 150, 151, 152, 153, 154,
+ 155, 139, 140, 141, 142, 143, 144, 0, 145, 0,
+ 0, 146, 147, 148, 0, 0, 0, 0, 0, 0,
+ 198, 0, 0, 0, 0, 0, 199, 149, 150, 151,
152, 153, 154, 155, 139, 140, 141, 142, 143, 144,
0, 145, 0, 0, 146, 147, 148, 0, 0, 0,
- 0, 0, 202, 203, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 200, 0, 0, 0, 0, 0, 201,
149, 150, 151, 152, 153, 154, 155, 139, 140, 141,
142, 143, 144, 0, 145, 0, 0, 146, 147, 148,
- 139, 140, 141, 142, 0, 0, 0, 145, 0, 0,
- 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
+ 0, 0, 0, 0, 0, 0, 305, 0, 0, 0,
+ 0, 0, 0, 149, 150, 151, 152, 153, 154, 155,
+ 139, 140, 141, 142, 143, 144, 0, 145, 0, 0,
+ 146, 147, 148, 0, 0, 0, 0, 0, 0, 306,
0, 0, 0, 0, 0, 0, 149, 150, 151, 152,
- 153, 154, 155
+ 153, 154, 155, 139, 140, 141, 142, 143, 144, 0,
+ 145, 0, 0, 146, 147, 148, 0, 0, 0, 0,
+ 0, 0, 307, 0, 0, 0, 0, 0, 0, 149,
+ 150, 151, 152, 153, 154, 155, 139, 140, 141, 142,
+ 143, 144, 0, 145, 0, 0, 146, 147, 148, 0,
+ 0, 0, 0, 0, 0, 308, 0, 0, 0, 0,
+ 0, 0, 149, 150, 151, 152, 153, 154, 155, 139,
+ 140, 141, 142, 143, 144, 0, 145, 0, 0, 146,
+ 147, 148, 139, 140, 141, 142, 143, 144, 0, 145,
+ 0, 0, 146, 147, 148, 149, 150, 151, 152, 153,
+ 154, 155, 0, 0, 0, 0, 0, 0, 149, 150,
+ 151, 152, 153, 154, 155, 0, 0, 173, 0, 0,
+ 0, 0, 204, 139, 140, 141, 142, 143, 144, 0,
+ 145, 0, 0, 146, 147, 148, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 149,
+ 150, 151, 152, 153, 154, 155, 139, 140, 141, 142,
+ 143, 144, 0, 145, 0, 0, 146, 147, 148, 0,
+ 0, 0, 0, 0, 202, 203, 0, 0, 0, 0,
+ 0, 0, 149, 150, 151, 152, 153, 154, 155, 139,
+ 140, 141, 142, 143, 144, 0, 145, 0, 0, 146,
+ 147, 148, 139, 140, 141, 142, 0, 0, 0, 145,
+ 0, 0, 146, 147, 148, 149, 150, 151, 152, 153,
+ 154, 155, 0, 0, 0, 0, 0, 0, 149, 150,
+ 151, 152, 153, 154, 155
};
static const yytype_int16 yycheck[] =
{
- 0, 107, 17, 46, 0, 240, 49, 333, 263, 51,
- 39, 43, 69, 13, 14, 15, 40, 24, 25, 26,
- 63, 64, 101, 100, 51, 69, 103, 106, 72, 100,
- 69, 54, 64, 260, 91, 92, 93, 94, 17, 18,
- 19, 64, 42, 86, 87, 24, 90, 91, 92, 93,
- 94, 30, 378, 308, 93, 94, 54, 54, 0, 74,
- 84, 54, 56, 57, 54, 364, 64, 64, 48, 112,
- 70, 64, 101, 300, 64, 302, 46, 376, 93, 79,
- 101, 81, 381, 83, 100, 103, 313, 103, 100, 96,
- 97, 98, 99, 102, 103, 95, 100, 97, 98, 103,
- 100, 101, 329, 53, 100, 105, 105, 107, 343, 138,
- 101, 102, 103, 24, 103, 158, 103, 96, 97, 98,
- 99, 102, 103, 350, 230, 103, 361, 101, 102, 103,
- 24, 102, 103, 157, 102, 103, 371, 106, 138, 159,
- 160, 161, 377, 370, 36, 37, 106, 374, 48, 103,
- 103, 1, 53, 380, 44, 106, 87, 384, 54, 159,
- 160, 161, 86, 35, 14, 85, 103, 17, 18, 54,
- 85, 21, 22, 23, 24, 25, 26, 53, 100, 253,
- 30, 75, 76, 77, 78, 96, 97, 98, 99, 312,
- 178, 191, 65, 66, 67, 68, 46, 47, 48, 49,
- 307, -1, 96, 97, 98, 99, -1, 210, -1, -1,
- 210, -1, -1, -1, -1, -1, -1, -1, 68, -1,
- -1, -1, -1, -1, -1, 75, 76, 77, 78, 79,
- 230, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 91, 92, -1, -1, 245, 96, 97, 98, 99,
- 293, 101, 252, 253, 104, 255, 6, -1, -1, -1,
- -1, 11, 262, -1, -1, -1, 16, 17, -1, 19,
- -1, 295, 296, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 33, -1, -1, 310, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 296, -1, -1, 299,
- 35, -1, -1, 53, -1, -1, -1, 57, 58, 59,
- 60, 61, 62, -1, -1, 339, -1, -1, -1, 69,
- 70, -1, 322, 323, -1, -1, -1, 62, 63, 64,
- 65, 66, 67, 333, 69, -1, 360, 72, 73, 74,
- 340, -1, 342, -1, -1, -1, -1, -1, -1, -1,
- -1, 101, -1, 88, 89, 90, 91, 92, 93, 94,
- 360, -1, -1, 363, -1, 115, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 375, -1, -1, 378, -1,
- -1, -1, -1, 383, -1, -1, 386, -1, -1, 139,
- 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
- 150, 151, 152, 153, 154, 155, -1, -1, -1, -1,
- -1, -1, -1, 163, 164, 165, -1, -1, 168, 169,
- 170, 171, 172, 173, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 186, -1, -1, -1,
- -1, -1, -1, -1, 194, 195, 196, 197, 198, 199,
- 200, 201, 202, 203, -1, 205, 206, 207, -1, 209,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 24,
- -1, -1, 27, 28, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 38, 39, 40, 41, 42, 238, 239,
- -1, -1, 47, 243, 244, 50, 51, 52, -1, -1,
- 55, -1, -1, 24, 59, 60, 61, 28, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 38, 39, 40,
- 41, 42, -1, -1, -1, -1, 47, 82, 83, 50,
- 51, 52, -1, -1, 55, -1, -1, 287, 59, 60,
- 61, 96, 97, 98, 99, 100, -1, -1, 298, -1,
- -1, -1, -1, 303, 304, 305, 306, 307, -1, -1,
- -1, 82, 83, -1, -1, 86, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 96, 97, 98, 99, 100,
- -1, -1, -1, -1, 334, 335, -1, -1, 338, -1,
- -1, -1, -1, -1, -1, -1, 0, 1, -1, -1,
- -1, 351, -1, -1, -1, -1, -1, 357, -1, -1,
- 14, -1, -1, 17, 18, -1, 366, 21, 22, 23,
- 24, 25, 26, 27, 28, -1, 30, -1, -1, -1,
- -1, 35, 36, 37, 38, 39, 40, 41, 42, -1,
- 44, -1, 46, 47, 48, -1, 50, 51, 52, 53,
- 54, 55, 56, -1, -1, 59, 60, 61, 62, 63,
- 64, 65, 66, 67, -1, 69, 70, 71, 72, 73,
- 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
- -1, 85, 86, 87, 88, 89, 90, 91, 92, 93,
- 94, -1, 96, 97, 98, 99, 100, 101, 102, 103,
- 104, 105, 106, 0, 1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 14, -1, -1,
- 17, 18, -1, -1, 21, 22, 23, 24, 25, 26,
- 27, 28, -1, 30, -1, -1, -1, -1, 35, 36,
- 37, 38, 39, 40, 41, 42, -1, 44, -1, 46,
- 47, 48, -1, 50, 51, 52, 53, 54, 55, 56,
- -1, -1, 59, 60, 61, 62, 63, 64, 65, 66,
- 67, -1, 69, 70, 71, 72, 73, 74, 75, 76,
- 77, 78, 79, 80, 81, 82, 83, -1, 85, 86,
- 87, 88, 89, 90, 91, 92, 93, 94, -1, 96,
- 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
- 0, 1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 14, -1, -1, 17, 18, -1,
- -1, 21, 22, 23, 24, 25, 26, 27, 28, -1,
+ 0, 240, 40, 46, 107, 39, 49, 44, 0, 17,
+ 18, 19, 334, 13, 14, 15, 24, 260, 17, 263,
+ 63, 64, 30, 51, 43, 62, 63, 64, 65, 66,
+ 67, 54, 69, 70, 71, 72, 73, 74, 24, 25,
+ 26, 64, 42, 86, 87, 64, 84, 0, 24, 69,
+ 54, 88, 89, 90, 91, 92, 93, 94, 380, 302,
+ 64, 304, 101, 102, 103, 366, 310, 101, 100, 112,
+ 70, 103, 315, 93, 94, 74, 319, 378, 51, 79,
+ 101, 81, 383, 83, 100, 106, 54, 330, 96, 97,
+ 98, 99, 54, 54, 93, 95, 64, 97, 98, 100,
+ 100, 101, 64, 64, 138, 105, 345, 107, 100, 352,
+ 96, 97, 98, 99, 48, 158, 101, 102, 103, 157,
+ 96, 97, 98, 99, 363, 56, 57, 230, 1, 372,
+ 159, 160, 161, 376, 373, 102, 103, 46, 138, 382,
+ 379, 14, 101, 386, 17, 18, 69, 53, 21, 22,
+ 23, 24, 25, 26, 103, 100, 103, 30, 103, 159,
+ 160, 161, 24, 102, 103, 106, 28, 29, 91, 92,
+ 93, 94, 65, 66, 67, 68, 38, 39, 40, 41,
+ 42, 100, 106, 45, 103, 47, 102, 103, 50, 51,
+ 52, 191, 105, 55, 48, 68, 58, 59, 60, 61,
+ 102, 103, 75, 76, 77, 78, 79, 36, 37, 103,
+ 210, 103, 103, 103, 53, 100, 44, 106, 91, 92,
+ 82, 83, 84, 96, 97, 98, 99, 87, 101, 27,
+ 230, 104, 105, 106, 96, 97, 98, 99, 54, 35,
+ 86, 85, 103, 54, 85, 245, 53, 100, 86, 86,
+ 293, 86, 252, 253, 254, 255, 253, 295, 6, 297,
+ 260, 24, 262, 11, 178, 28, 314, 309, 16, 17,
+ 69, 19, 210, 72, 312, 38, 39, 40, 41, -1,
+ -1, -1, -1, -1, -1, 33, 24, 50, -1, 52,
+ -1, 90, 91, 92, 93, 94, 59, 60, 61, -1,
+ -1, -1, 302, 341, 304, 53, -1, -1, -1, 57,
+ 58, 59, 60, 61, 62, 315, -1, -1, -1, 319,
+ 83, 69, 70, -1, 362, -1, -1, -1, -1, -1,
+ 330, -1, -1, 96, 97, 98, 99, 75, 76, 77,
+ 78, -1, 342, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 352, 101, -1, -1, -1, -1, 96, 97,
+ 98, 99, -1, -1, -1, 365, -1, 115, -1, -1,
+ -1, -1, 372, -1, -1, -1, 376, -1, -1, -1,
+ -1, -1, 382, -1, -1, -1, 386, -1, -1, -1,
+ -1, 139, 140, 141, 142, 143, 144, 145, 146, 147,
+ 148, 149, 150, 151, 152, 153, 154, 155, -1, -1,
+ -1, -1, -1, -1, -1, 163, 164, 165, -1, -1,
+ 168, 169, 170, 171, 172, 173, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 186, -1,
+ -1, -1, -1, -1, -1, -1, 194, 195, 196, 197,
+ 198, 199, 200, 201, 202, 203, -1, 205, 206, 207,
+ 46, 209, 48, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 62, 63, 64, 65,
+ 66, 67, -1, 69, -1, -1, 72, 73, 74, -1,
+ 238, 239, -1, -1, -1, 243, 244, -1, -1, 1,
+ -1, -1, 88, 89, 90, 91, 92, 93, 94, -1,
+ -1, -1, 14, -1, -1, 17, 18, -1, -1, 21,
+ 22, 23, 24, 25, 26, -1, -1, -1, 30, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 287,
+ -1, -1, -1, -1, 46, 47, 48, 49, -1, -1,
+ -1, -1, 300, -1, -1, -1, -1, 305, 306, 307,
+ 308, 309, -1, -1, -1, -1, 68, -1, -1, -1,
+ -1, -1, -1, 75, 76, 77, 78, 79, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 335, 336, 91,
+ 92, -1, 340, -1, 96, 97, 98, 99, -1, 101,
+ 0, 1, 104, -1, -1, 353, -1, -1, -1, -1,
+ -1, 359, -1, -1, 14, -1, -1, 17, 18, -1,
+ 368, 21, 22, 23, 24, 25, 26, 27, 28, -1,
30, -1, -1, -1, -1, 35, 36, 37, 38, 39,
40, 41, 42, -1, 44, -1, 46, 47, 48, -1,
50, 51, 52, 53, 54, 55, 56, -1, -1, 59,
@@ -1437,33 +1388,41 @@ static const yytype_int16 yycheck[] =
63, 64, 65, 66, 67, -1, 69, 70, 71, 72,
73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
83, -1, 85, 86, 87, 88, 89, 90, 91, 92,
- 93, 94, 1, 96, 97, 98, 99, 100, 101, 102,
- 103, 104, 105, 106, 44, 14, -1, -1, 17, 18,
- -1, -1, 21, 22, 23, 24, 25, 26, -1, -1,
- -1, 30, 62, 63, 64, 65, 66, 67, -1, 69,
- 70, 71, 72, 73, 74, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 88, 89,
- 90, 91, 92, 93, 94, -1, -1, -1, -1, 68,
- -1, -1, -1, -1, -1, -1, 75, 76, 77, 78,
- 79, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 91, 92, 0, 1, -1, 96, 97, 98,
- 99, -1, 101, -1, -1, 104, 105, 106, 14, -1,
+ 93, 94, -1, 96, 97, 98, 99, 100, 101, 102,
+ 103, 104, 105, 106, 0, 1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 14, -1,
-1, 17, 18, -1, -1, 21, 22, 23, 24, 25,
- 26, 27, 28, -1, 30, -1, -1, -1, -1, -1,
- 36, 37, 38, 39, 40, 41, 42, -1, -1, -1,
- -1, 47, -1, -1, 50, 51, 52, -1, -1, 55,
- -1, -1, -1, 59, 60, 61, -1, -1, -1, -1,
- -1, -1, 68, -1, -1, -1, -1, -1, -1, 75,
- 76, 77, 78, 79, -1, -1, 82, 83, -1, 85,
- 86, 87, 0, 1, -1, 91, 92, -1, -1, -1,
- 96, 97, 98, 99, 100, 101, 14, 103, 104, 17,
+ 26, 27, 28, -1, 30, -1, -1, -1, -1, 35,
+ 36, 37, 38, 39, 40, 41, 42, -1, 44, -1,
+ 46, 47, 48, -1, 50, 51, 52, 53, 54, 55,
+ 56, -1, -1, 59, 60, 61, 62, 63, 64, 65,
+ 66, 67, -1, 69, 70, 71, 72, 73, 74, 75,
+ 76, 77, 78, 79, 80, 81, 82, 83, -1, 85,
+ 86, 87, 88, 89, 90, 91, 92, 93, 94, -1,
+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
+ 106, 0, 1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 14, -1, -1, 17, 18,
+ -1, -1, 21, 22, 23, 24, 25, 26, 27, 28,
+ -1, 30, -1, -1, -1, -1, 35, 36, 37, 38,
+ 39, 40, 41, 42, -1, 44, -1, 46, 47, 48,
+ -1, 50, 51, 52, 53, 54, 55, 56, -1, -1,
+ 59, 60, 61, 62, 63, 64, 65, 66, 67, -1,
+ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+ 79, 80, 81, 82, 83, -1, 85, 86, 87, 88,
+ 89, 90, 91, 92, 93, 94, -1, 96, 97, 98,
+ 99, 100, 101, 102, 103, 104, 105, 106, 0, 1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 14, -1, -1, 17, 18, -1, -1, 21,
+ 22, 23, 24, 25, 26, 27, -1, -1, 30, -1,
+ -1, -1, 0, 1, 36, 37, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 14, -1, -1, 17,
18, -1, -1, 21, 22, 23, 24, 25, 26, 27,
- 28, -1, 30, -1, -1, -1, -1, -1, 36, 37,
- 38, 39, 40, 41, 42, -1, -1, -1, -1, 47,
- -1, -1, 50, 51, 52, -1, -1, 55, -1, -1,
- -1, 59, 60, 61, -1, -1, -1, -1, -1, -1,
- 68, -1, -1, -1, -1, -1, -1, 75, 76, 77,
- 78, 79, -1, -1, 82, 83, -1, 85, 86, 87,
+ -1, -1, 30, -1, -1, -1, 68, -1, 36, 37,
+ -1, -1, -1, 75, 76, 77, 78, 79, -1, -1,
+ -1, -1, -1, 85, 86, 87, -1, -1, -1, 91,
+ 92, -1, -1, -1, 96, 97, 98, 99, 100, 101,
+ 68, 103, 104, -1, -1, -1, -1, 75, 76, 77,
+ 78, 79, -1, -1, -1, -1, -1, 85, 86, 87,
-1, 1, -1, 91, 92, -1, -1, -1, 96, 97,
98, 99, 100, 101, 14, 103, 104, 17, 18, -1,
-1, 21, 22, 23, 24, 25, 26, -1, -1, -1,
@@ -1497,76 +1456,57 @@ static const yytype_int16 yycheck[] =
42, -1, -1, -1, -1, 47, -1, -1, 50, 51,
52, -1, -1, 55, -1, -1, -1, 59, 60, 61,
-1, -1, 75, 76, 77, 78, 79, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 91, 92,
- 82, 83, -1, 96, 97, 98, 99, -1, 101, 24,
- -1, 104, -1, 28, 96, 97, 98, 99, 100, -1,
- -1, -1, -1, 38, 39, 40, 41, 42, -1, -1,
- -1, -1, 47, -1, -1, 50, 51, 52, 24, -1,
- 55, -1, 28, -1, 59, 60, 61, -1, -1, -1,
- -1, -1, 38, 39, 40, 41, 42, -1, -1, -1,
- -1, 47, -1, -1, 50, 51, 52, 82, 83, 55,
- -1, 86, -1, 59, 60, 61, -1, -1, -1, -1,
- -1, 96, 97, 98, 99, 100, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 82, 83, -1, -1,
- 86, 24, -1, -1, -1, 28, 29, -1, -1, -1,
- 96, 97, 98, 99, 100, 38, 39, 40, 41, 42,
- -1, -1, 45, -1, 47, -1, -1, 50, 51, 52,
- 24, -1, 55, -1, 28, 58, 59, 60, 61, -1,
- -1, -1, -1, -1, 38, 39, 40, 41, -1, -1,
- -1, -1, -1, -1, -1, -1, 50, -1, 52, 82,
- 83, 84, -1, -1, -1, 59, 60, 61, -1, -1,
- -1, -1, -1, 96, 97, 98, 99, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 83,
- 46, -1, 48, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 96, 97, 98, 99, 62, 63, 64, 65,
- 66, 67, -1, 69, -1, -1, 72, 73, 74, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 54, 88, 89, 90, 91, 92, 93, 94, 62,
- 63, 64, 65, 66, 67, -1, 69, -1, -1, 72,
- 73, 74, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 88, 89, 90, 91, 92,
- 93, 94, 48, -1, -1, -1, -1, 100, 54, -1,
- -1, -1, -1, -1, -1, -1, 62, 63, 64, 65,
- 66, 67, -1, 69, -1, -1, 72, 73, 74, -1,
- -1, -1, -1, -1, -1, 48, -1, -1, -1, -1,
- -1, 54, 88, 89, 90, 91, 92, 93, 94, 62,
- 63, 64, 65, 66, 67, -1, 69, -1, -1, 72,
- 73, 74, -1, -1, -1, -1, -1, -1, 48, -1,
- -1, -1, -1, -1, 54, 88, 89, 90, 91, 92,
- 93, 94, 62, 63, 64, 65, 66, 67, -1, 69,
- -1, -1, 72, 73, 74, -1, -1, -1, -1, -1,
- -1, 48, -1, -1, -1, -1, -1, 54, 88, 89,
- 90, 91, 92, 93, 94, 62, 63, 64, 65, 66,
- 67, -1, 69, -1, -1, 72, 73, 74, -1, -1,
- -1, -1, -1, -1, 48, -1, -1, -1, -1, -1,
- -1, 88, 89, 90, 91, 92, 93, 94, 62, 63,
+ -1, 35, -1, -1, -1, -1, -1, -1, 91, 92,
+ 82, 83, -1, 96, 97, 98, 99, -1, 101, -1,
+ -1, 104, -1, -1, 96, 97, 98, 99, 62, 63,
+ 64, 65, 66, 67, -1, 69, -1, -1, 72, 73,
+ 74, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 54, 88, 89, 90, 91, 92, 93,
+ 94, 62, 63, 64, 65, 66, 67, -1, 69, -1,
+ -1, 72, 73, 74, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 88, 89, 90,
+ 91, 92, 93, 94, 48, -1, -1, -1, -1, 100,
+ 54, -1, -1, -1, -1, -1, -1, -1, 62, 63,
64, 65, 66, 67, -1, 69, -1, -1, 72, 73,
74, -1, -1, -1, -1, -1, -1, 48, -1, -1,
- -1, -1, -1, -1, 88, 89, 90, 91, 92, 93,
+ -1, -1, -1, 54, 88, 89, 90, 91, 92, 93,
94, 62, 63, 64, 65, 66, 67, -1, 69, -1,
-1, 72, 73, 74, -1, -1, -1, -1, -1, -1,
- 48, -1, -1, -1, -1, -1, -1, 88, 89, 90,
+ 48, -1, -1, -1, -1, -1, 54, 88, 89, 90,
91, 92, 93, 94, 62, 63, 64, 65, 66, 67,
-1, 69, -1, -1, 72, 73, 74, -1, -1, -1,
- -1, -1, -1, 48, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 48, -1, -1, -1, -1, -1, 54,
88, 89, 90, 91, 92, 93, 94, 62, 63, 64,
65, 66, 67, -1, 69, -1, -1, 72, 73, 74,
+ -1, -1, -1, -1, -1, -1, 48, -1, -1, -1,
+ -1, -1, -1, 88, 89, 90, 91, 92, 93, 94,
62, 63, 64, 65, 66, 67, -1, 69, -1, -1,
- 72, 73, 74, 88, 89, 90, 91, 92, 93, 94,
- -1, -1, -1, -1, -1, -1, 88, 89, 90, 91,
- 92, 93, 94, -1, -1, 56, -1, -1, -1, -1,
- 102, 62, 63, 64, 65, 66, 67, -1, 69, -1,
- -1, 72, 73, 74, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 88, 89, 90,
- 91, 92, 93, 94, 62, 63, 64, 65, 66, 67,
- -1, 69, -1, -1, 72, 73, 74, -1, -1, -1,
- -1, -1, 80, 81, -1, -1, -1, -1, -1, -1,
- 88, 89, 90, 91, 92, 93, 94, 62, 63, 64,
- 65, 66, 67, -1, 69, -1, -1, 72, 73, 74,
- 62, 63, 64, 65, -1, -1, -1, 69, -1, -1,
- 72, 73, 74, 88, 89, 90, 91, 92, 93, 94,
+ 72, 73, 74, -1, -1, -1, -1, -1, -1, 48,
-1, -1, -1, -1, -1, -1, 88, 89, 90, 91,
- 92, 93, 94
+ 92, 93, 94, 62, 63, 64, 65, 66, 67, -1,
+ 69, -1, -1, 72, 73, 74, -1, -1, -1, -1,
+ -1, -1, 48, -1, -1, -1, -1, -1, -1, 88,
+ 89, 90, 91, 92, 93, 94, 62, 63, 64, 65,
+ 66, 67, -1, 69, -1, -1, 72, 73, 74, -1,
+ -1, -1, -1, -1, -1, 48, -1, -1, -1, -1,
+ -1, -1, 88, 89, 90, 91, 92, 93, 94, 62,
+ 63, 64, 65, 66, 67, -1, 69, -1, -1, 72,
+ 73, 74, 62, 63, 64, 65, 66, 67, -1, 69,
+ -1, -1, 72, 73, 74, 88, 89, 90, 91, 92,
+ 93, 94, -1, -1, -1, -1, -1, -1, 88, 89,
+ 90, 91, 92, 93, 94, -1, -1, 56, -1, -1,
+ -1, -1, 102, 62, 63, 64, 65, 66, 67, -1,
+ 69, -1, -1, 72, 73, 74, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
+ 89, 90, 91, 92, 93, 94, 62, 63, 64, 65,
+ 66, 67, -1, 69, -1, -1, 72, 73, 74, -1,
+ -1, -1, -1, -1, 80, 81, -1, -1, -1, -1,
+ -1, -1, 88, 89, 90, 91, 92, 93, 94, 62,
+ 63, 64, 65, 66, 67, -1, 69, -1, -1, 72,
+ 73, 74, 62, 63, 64, 65, -1, -1, -1, 69,
+ -1, -1, 72, 73, 74, 88, 89, 90, 91, 92,
+ 93, 94, -1, -1, -1, -1, -1, -1, 88, 89,
+ 90, 91, 92, 93, 94
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1576,42 +1516,42 @@ static const yytype_uint8 yystos[] =
0, 24, 28, 29, 38, 39, 40, 41, 42, 45,
47, 50, 51, 52, 55, 58, 59, 60, 61, 82,
83, 84, 96, 97, 98, 99, 108, 109, 110, 111,
- 112, 113, 125, 131, 140, 148, 150, 152, 155, 151,
- 154, 51, 141, 1, 14, 17, 18, 21, 22, 23,
+ 112, 113, 125, 131, 141, 149, 151, 153, 156, 152,
+ 155, 51, 142, 1, 14, 17, 18, 21, 22, 23,
25, 26, 30, 46, 47, 48, 49, 68, 75, 76,
77, 78, 79, 91, 92, 96, 97, 98, 99, 101,
- 104, 110, 134, 136, 137, 138, 139, 149, 162, 153,
- 51, 20, 137, 56, 57, 17, 18, 19, 30, 110,
- 110, 110, 137, 137, 149, 143, 137, 142, 156, 0,
- 100, 101, 137, 160, 137, 132, 160, 132, 110, 145,
- 100, 136, 48, 136, 137, 46, 137, 137, 137, 137,
- 137, 137, 136, 136, 134, 134, 134, 134, 137, 25,
- 26, 106, 110, 137, 163, 164, 165, 166, 101, 62,
+ 104, 110, 135, 137, 138, 139, 140, 150, 163, 154,
+ 51, 20, 138, 56, 57, 17, 18, 19, 30, 110,
+ 110, 110, 138, 138, 150, 144, 138, 143, 157, 0,
+ 100, 101, 138, 161, 138, 132, 161, 132, 110, 146,
+ 100, 137, 48, 137, 138, 46, 138, 138, 138, 138,
+ 138, 138, 137, 137, 135, 135, 135, 135, 138, 25,
+ 26, 106, 110, 138, 164, 165, 166, 167, 101, 62,
63, 64, 65, 66, 67, 69, 72, 73, 74, 88,
- 89, 90, 91, 92, 93, 94, 149, 110, 110, 44,
- 70, 71, 110, 132, 54, 64, 136, 136, 54, 64,
- 54, 64, 53, 56, 149, 110, 147, 54, 100, 110,
- 146, 110, 108, 110, 137, 160, 103, 128, 110, 157,
- 157, 103, 136, 137, 48, 54, 48, 54, 48, 54,
+ 89, 90, 91, 92, 93, 94, 150, 110, 110, 44,
+ 70, 71, 110, 132, 54, 64, 137, 137, 54, 64,
+ 54, 64, 53, 56, 150, 110, 148, 54, 100, 110,
+ 147, 110, 108, 110, 138, 161, 103, 128, 110, 158,
+ 158, 103, 137, 138, 48, 54, 48, 54, 48, 54,
48, 54, 80, 81, 102, 106, 106, 106, 105, 103,
- 103, 110, 160, 137, 137, 137, 137, 137, 137, 137,
- 137, 137, 137, 137, 137, 137, 137, 137, 137, 137,
- 132, 136, 110, 138, 110, 138, 110, 138, 43, 64,
- 137, 137, 137, 54, 64, 48, 137, 137, 137, 137,
- 137, 137, 103, 124, 124, 103, 102, 103, 102, 137,
- 53, 100, 103, 100, 110, 137, 137, 137, 137, 137,
- 137, 137, 137, 137, 137, 137, 137, 137, 137, 25,
- 26, 110, 166, 102, 103, 102, 157, 44, 137, 137,
- 128, 137, 137, 110, 110, 112, 133, 110, 144, 133,
- 159, 110, 159, 48, 48, 48, 48, 135, 100, 137,
- 120, 114, 117, 123, 136, 132, 100, 113, 132, 137,
- 161, 129, 133, 133, 137, 137, 137, 137, 161, 159,
- 132, 130, 130, 133, 54, 64, 87, 102, 103, 126,
- 27, 102, 133, 121, 115, 118, 129, 137, 137, 137,
- 36, 37, 127, 132, 110, 158, 128, 54, 35, 86,
- 133, 137, 85, 103, 122, 137, 54, 132, 128, 110,
- 123, 116, 137, 85, 53, 133, 128, 119, 133, 86,
- 123, 128, 129, 133, 123, 86, 133, 86
+ 103, 110, 161, 138, 138, 138, 138, 138, 138, 138,
+ 138, 138, 138, 138, 138, 138, 138, 138, 138, 138,
+ 132, 137, 110, 139, 110, 139, 110, 139, 43, 64,
+ 138, 138, 138, 54, 64, 48, 138, 138, 138, 138,
+ 138, 138, 103, 124, 124, 103, 102, 103, 102, 138,
+ 53, 100, 103, 100, 110, 138, 138, 138, 138, 138,
+ 138, 138, 138, 138, 138, 138, 138, 138, 138, 25,
+ 26, 110, 167, 102, 103, 102, 158, 44, 138, 138,
+ 128, 138, 138, 110, 110, 112, 113, 133, 134, 110,
+ 145, 133, 160, 110, 160, 48, 48, 48, 48, 136,
+ 100, 138, 120, 114, 117, 123, 137, 132, 132, 100,
+ 138, 162, 129, 133, 133, 138, 138, 138, 138, 162,
+ 160, 132, 130, 130, 133, 54, 64, 87, 133, 102,
+ 103, 126, 27, 102, 133, 121, 115, 118, 129, 138,
+ 138, 138, 36, 37, 127, 132, 110, 159, 128, 54,
+ 35, 86, 133, 138, 85, 103, 122, 138, 54, 132,
+ 128, 110, 123, 116, 138, 85, 53, 133, 128, 119,
+ 133, 86, 123, 128, 129, 133, 123, 86, 133, 86
};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
@@ -1623,19 +1563,20 @@ static const yytype_uint8 yyr1[] =
112, 113, 113, 113, 114, 115, 116, 113, 117, 118,
119, 113, 120, 121, 122, 113, 113, 113, 113, 113,
123, 124, 125, 125, 126, 126, 127, 128, 129, 130,
- 131, 132, 133, 133, 133, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 135, 134, 134, 134, 134, 136, 136, 137, 137,
- 137, 137, 137, 137, 137, 137, 137, 137, 137, 137,
- 137, 137, 137, 137, 137, 137, 137, 138, 138, 138,
- 138, 138, 138, 138, 138, 138, 139, 139, 139, 139,
- 140, 140, 140, 140, 140, 141, 140, 142, 140, 143,
- 140, 140, 140, 140, 144, 140, 140, 140, 145, 145,
- 146, 146, 147, 147, 148, 148, 148, 148, 148, 148,
- 149, 149, 150, 150, 150, 151, 150, 153, 152, 152,
- 154, 152, 152, 152, 156, 155, 157, 157, 157, 158,
- 158, 158, 159, 160, 160, 160, 161, 161, 162, 163,
- 163, 163, 163, 164, 164, 165, 165, 166, 166, 166
+ 131, 132, 133, 133, 134, 134, 135, 135, 135, 135,
+ 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
+ 135, 135, 136, 135, 135, 135, 135, 137, 137, 138,
+ 138, 138, 138, 138, 138, 138, 138, 138, 138, 138,
+ 138, 138, 138, 138, 138, 138, 138, 138, 139, 139,
+ 139, 139, 139, 139, 139, 139, 139, 140, 140, 140,
+ 140, 141, 141, 141, 141, 141, 142, 141, 143, 141,
+ 144, 141, 141, 141, 141, 145, 141, 141, 141, 146,
+ 146, 147, 147, 148, 148, 149, 149, 149, 149, 149,
+ 149, 150, 150, 151, 151, 151, 152, 151, 154, 153,
+ 153, 155, 153, 153, 153, 157, 156, 158, 158, 158,
+ 159, 159, 159, 160, 161, 161, 161, 162, 162, 163,
+ 164, 164, 164, 164, 165, 165, 166, 166, 167, 167,
+ 167
};
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
@@ -1647,19 +1588,20 @@ static const yytype_int8 yyr2[] =
1, 1, 1, 9, 0, 0, 0, 15, 0, 0,
0, 16, 0, 0, 0, 13, 2, 4, 7, 6,
0, 0, 9, 11, 0, 2, 6, 0, 0, 0,
- 1, 0, 0, 2, 2, 1, 1, 2, 2, 1,
- 1, 1, 1, 2, 2, 3, 1, 4, 4, 1,
- 4, 0, 7, 4, 1, 2, 1, 3, 1, 3,
+ 1, 0, 1, 3, 0, 1, 1, 1, 2, 2,
+ 1, 1, 1, 1, 2, 2, 3, 1, 4, 4,
+ 1, 4, 0, 7, 4, 1, 2, 1, 3, 1,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 2, 3, 3, 3, 3, 2, 4, 6,
- 4, 6, 4, 6, 4, 6, 1, 2, 2, 2,
- 2, 1, 1, 2, 1, 0, 3, 0, 3, 0,
- 3, 4, 2, 4, 0, 7, 4, 2, 1, 3,
- 1, 3, 1, 3, 1, 2, 2, 2, 3, 2,
- 3, 2, 2, 3, 2, 0, 3, 0, 8, 2,
- 0, 7, 8, 6, 0, 3, 0, 1, 3, 0,
- 1, 3, 0, 0, 1, 3, 1, 3, 3, 0,
- 1, 1, 1, 1, 3, 1, 3, 3, 3, 3
+ 3, 3, 3, 2, 3, 3, 3, 3, 2, 4,
+ 6, 4, 6, 4, 6, 4, 6, 1, 2, 2,
+ 2, 2, 1, 1, 2, 1, 0, 3, 0, 3,
+ 0, 3, 4, 2, 4, 0, 7, 4, 2, 1,
+ 3, 1, 3, 1, 3, 1, 2, 2, 2, 3,
+ 2, 3, 2, 2, 3, 2, 0, 3, 0, 8,
+ 2, 0, 7, 8, 6, 0, 3, 0, 1, 3,
+ 0, 1, 3, 0, 0, 1, 3, 1, 3, 3,
+ 0, 1, 1, 1, 1, 3, 1, 3, 3, 3,
+ 3
};
@@ -1933,61 +1875,61 @@ yydestruct (const char *yymsg,
case 22: /* THEFUNC */
#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1937 "engines/director/lingo/lingo-gr.cpp"
+#line 1879 "engines/director/lingo/lingo-gr.cpp"
break;
case 23: /* THEFUNCINOF */
#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1943 "engines/director/lingo/lingo-gr.cpp"
+#line 1885 "engines/director/lingo/lingo-gr.cpp"
break;
case 24: /* VARID */
#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1949 "engines/director/lingo/lingo-gr.cpp"
+#line 1891 "engines/director/lingo/lingo-gr.cpp"
break;
case 25: /* STRING */
#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1955 "engines/director/lingo/lingo-gr.cpp"
+#line 1897 "engines/director/lingo/lingo-gr.cpp"
break;
case 26: /* SYMBOL */
#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1961 "engines/director/lingo/lingo-gr.cpp"
+#line 1903 "engines/director/lingo/lingo-gr.cpp"
break;
case 27: /* ENDCLAUSE */
#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1967 "engines/director/lingo/lingo-gr.cpp"
+#line 1909 "engines/director/lingo/lingo-gr.cpp"
break;
case 28: /* tPLAYACCEL */
#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1973 "engines/director/lingo/lingo-gr.cpp"
+#line 1915 "engines/director/lingo/lingo-gr.cpp"
break;
case 29: /* tMETHOD */
#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1979 "engines/director/lingo/lingo-gr.cpp"
+#line 1921 "engines/director/lingo/lingo-gr.cpp"
break;
case 110: /* ID */
#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1985 "engines/director/lingo/lingo-gr.cpp"
+#line 1927 "engines/director/lingo/lingo-gr.cpp"
break;
- case 155: /* on */
+ case 156: /* on */
#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1991 "engines/director/lingo/lingo-gr.cpp"
+#line 1933 "engines/director/lingo/lingo-gr.cpp"
break;
default:
@@ -2268,25 +2210,25 @@ yyreduce:
case 8:
#line 222 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("cast"); }
-#line 2272 "engines/director/lingo/lingo-gr.cpp"
+#line 2214 "engines/director/lingo/lingo-gr.cpp"
break;
case 9:
#line 223 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("field"); }
-#line 2278 "engines/director/lingo/lingo-gr.cpp"
+#line 2220 "engines/director/lingo/lingo-gr.cpp"
break;
case 10:
#line 224 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("script"); }
-#line 2284 "engines/director/lingo/lingo-gr.cpp"
+#line 2226 "engines/director/lingo/lingo-gr.cpp"
break;
case 11:
#line 225 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("window"); }
-#line 2290 "engines/director/lingo/lingo-gr.cpp"
+#line 2232 "engines/director/lingo/lingo-gr.cpp"
break;
case 12:
@@ -2298,7 +2240,7 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[-2].code);
delete (yyvsp[0].s); }
-#line 2302 "engines/director/lingo/lingo-gr.cpp"
+#line 2244 "engines/director/lingo/lingo-gr.cpp"
break;
case 13:
@@ -2306,7 +2248,7 @@ yyreduce:
{
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[-2].code); }
-#line 2310 "engines/director/lingo/lingo-gr.cpp"
+#line 2252 "engines/director/lingo/lingo-gr.cpp"
break;
case 14:
@@ -2322,7 +2264,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-4].e)[1]);
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[0].code); }
-#line 2326 "engines/director/lingo/lingo-gr.cpp"
+#line 2268 "engines/director/lingo/lingo-gr.cpp"
break;
case 15:
@@ -2334,7 +2276,7 @@ yyreduce:
g_lingo->code1(LC::c_after);
(yyval.code) = (yyvsp[-2].code);
delete (yyvsp[0].s); }
-#line 2338 "engines/director/lingo/lingo-gr.cpp"
+#line 2280 "engines/director/lingo/lingo-gr.cpp"
break;
case 16:
@@ -2342,7 +2284,7 @@ yyreduce:
{
g_lingo->code1(LC::c_after);
(yyval.code) = (yyvsp[-2].code); }
-#line 2346 "engines/director/lingo/lingo-gr.cpp"
+#line 2288 "engines/director/lingo/lingo-gr.cpp"
break;
case 17:
@@ -2354,7 +2296,7 @@ yyreduce:
g_lingo->code1(LC::c_before);
(yyval.code) = (yyvsp[-2].code);
delete (yyvsp[0].s); }
-#line 2358 "engines/director/lingo/lingo-gr.cpp"
+#line 2300 "engines/director/lingo/lingo-gr.cpp"
break;
case 18:
@@ -2362,7 +2304,7 @@ yyreduce:
{
g_lingo->code1(LC::c_before);
(yyval.code) = (yyvsp[-2].code); }
-#line 2366 "engines/director/lingo/lingo-gr.cpp"
+#line 2308 "engines/director/lingo/lingo-gr.cpp"
break;
case 19:
@@ -2374,7 +2316,7 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[0].code);
delete (yyvsp[-2].s); }
-#line 2378 "engines/director/lingo/lingo-gr.cpp"
+#line 2320 "engines/director/lingo/lingo-gr.cpp"
break;
case 20:
@@ -2386,7 +2328,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-2].e)[0]);
g_lingo->codeInt((yyvsp[-2].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2390 "engines/director/lingo/lingo-gr.cpp"
+#line 2332 "engines/director/lingo/lingo-gr.cpp"
break;
case 21:
@@ -2398,7 +2340,7 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[0].code);
delete (yyvsp[-2].s); }
-#line 2402 "engines/director/lingo/lingo-gr.cpp"
+#line 2344 "engines/director/lingo/lingo-gr.cpp"
break;
case 22:
@@ -2410,7 +2352,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-2].e)[0]);
g_lingo->codeInt((yyvsp[-2].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2414 "engines/director/lingo/lingo-gr.cpp"
+#line 2356 "engines/director/lingo/lingo-gr.cpp"
break;
case 23:
@@ -2421,7 +2363,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-3].e)[0]);
g_lingo->codeInt((yyvsp[-3].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2425 "engines/director/lingo/lingo-gr.cpp"
+#line 2367 "engines/director/lingo/lingo-gr.cpp"
break;
case 24:
@@ -2432,7 +2374,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-3].e)[0]);
g_lingo->codeInt((yyvsp[-3].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2436 "engines/director/lingo/lingo-gr.cpp"
+#line 2378 "engines/director/lingo/lingo-gr.cpp"
break;
case 25:
@@ -2448,7 +2390,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-6].e)[0]);
g_lingo->codeInt((yyvsp[-6].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2452 "engines/director/lingo/lingo-gr.cpp"
+#line 2394 "engines/director/lingo/lingo-gr.cpp"
break;
case 26:
@@ -2464,7 +2406,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-6].e)[0]);
g_lingo->codeInt((yyvsp[-6].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2468 "engines/director/lingo/lingo-gr.cpp"
+#line 2410 "engines/director/lingo/lingo-gr.cpp"
break;
case 27:
@@ -2476,7 +2418,7 @@ yyreduce:
delete (yyvsp[-2].objectprop).obj;
delete (yyvsp[-2].objectprop).prop;
(yyval.code) = (yyvsp[0].code); }
-#line 2480 "engines/director/lingo/lingo-gr.cpp"
+#line 2422 "engines/director/lingo/lingo-gr.cpp"
break;
case 28:
@@ -2488,7 +2430,7 @@ yyreduce:
delete (yyvsp[-2].objectprop).obj;
delete (yyvsp[-2].objectprop).prop;
(yyval.code) = (yyvsp[0].code); }
-#line 2492 "engines/director/lingo/lingo-gr.cpp"
+#line 2434 "engines/director/lingo/lingo-gr.cpp"
break;
case 33:
@@ -2500,7 +2442,7 @@ yyreduce:
(*g_lingo->_currentAssembly)[(yyvsp[-4].code)] = end; /* end, if cond fails */
(*g_lingo->_currentAssembly)[(yyvsp[-1].code)] = start; /* looping back */
endRepeat((yyvsp[-1].code) + 1, (yyvsp[-6].code)); }
-#line 2504 "engines/director/lingo/lingo-gr.cpp"
+#line 2446 "engines/director/lingo/lingo-gr.cpp"
break;
case 34:
@@ -2508,20 +2450,20 @@ yyreduce:
{ g_lingo->code1(LC::c_varpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
mVar((yyvsp[-2].s), globalCheck()); }
-#line 2512 "engines/director/lingo/lingo-gr.cpp"
+#line 2454 "engines/director/lingo/lingo-gr.cpp"
break;
case 35:
#line 373 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_eval);
g_lingo->codeString((yyvsp[-4].s)->c_str()); }
-#line 2519 "engines/director/lingo/lingo-gr.cpp"
+#line 2461 "engines/director/lingo/lingo-gr.cpp"
break;
case 36:
#line 376 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_le); }
-#line 2525 "engines/director/lingo/lingo-gr.cpp"
+#line 2467 "engines/director/lingo/lingo-gr.cpp"
break;
case 37:
@@ -2546,7 +2488,7 @@ yyreduce:
(*g_lingo->_currentAssembly)[pos] = loop; /* final count value */
(*g_lingo->_currentAssembly)[(yyvsp[-3].code)] = end; /* end, if cond fails */
endRepeat(pos + 1, nextPos); }
-#line 2550 "engines/director/lingo/lingo-gr.cpp"
+#line 2492 "engines/director/lingo/lingo-gr.cpp"
break;
case 38:
@@ -2554,20 +2496,20 @@ yyreduce:
{ g_lingo->code1(LC::c_varpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
mVar((yyvsp[-2].s), globalCheck()); }
-#line 2558 "engines/director/lingo/lingo-gr.cpp"
+#line 2500 "engines/director/lingo/lingo-gr.cpp"
break;
case 39:
#line 407 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_eval);
g_lingo->codeString((yyvsp[-4].s)->c_str()); }
-#line 2565 "engines/director/lingo/lingo-gr.cpp"
+#line 2507 "engines/director/lingo/lingo-gr.cpp"
break;
case 40:
#line 410 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ge); }
-#line 2571 "engines/director/lingo/lingo-gr.cpp"
+#line 2513 "engines/director/lingo/lingo-gr.cpp"
break;
case 41:
@@ -2592,7 +2534,7 @@ yyreduce:
(*g_lingo->_currentAssembly)[pos] = loop; /* final count value */
(*g_lingo->_currentAssembly)[(yyvsp[-3].code)] = end; /* end, if cond fails */
endRepeat(pos + 1, nextPos); }
-#line 2596 "engines/director/lingo/lingo-gr.cpp"
+#line 2538 "engines/director/lingo/lingo-gr.cpp"
break;
case 42:
@@ -2603,7 +2545,7 @@ yyreduce:
g_lingo->codeFunc(&count, 1);
g_lingo->code1(LC::c_intpush); // start counter
g_lingo->codeInt(1); }
-#line 2607 "engines/director/lingo/lingo-gr.cpp"
+#line 2549 "engines/director/lingo/lingo-gr.cpp"
break;
case 43:
@@ -2613,7 +2555,7 @@ yyreduce:
g_lingo->code1(LC::c_stackpeek); // get array size
g_lingo->codeInt(2);
g_lingo->code1(LC::c_le); }
-#line 2617 "engines/director/lingo/lingo-gr.cpp"
+#line 2559 "engines/director/lingo/lingo-gr.cpp"
break;
case 44:
@@ -2628,7 +2570,7 @@ yyreduce:
g_lingo->codeString((yyvsp[-6].s)->c_str());
mVar((yyvsp[-6].s), globalCheck());
g_lingo->code1(LC::c_assign); }
-#line 2632 "engines/director/lingo/lingo-gr.cpp"
+#line 2574 "engines/director/lingo/lingo-gr.cpp"
break;
case 45:
@@ -2652,7 +2594,7 @@ yyreduce:
(*g_lingo->_currentAssembly)[jump + 1] = loop; /* final count value */
(*g_lingo->_currentAssembly)[(yyvsp[-4].code)] = end; /* end, if cond fails */
endRepeat(end2, nextPos); }
-#line 2656 "engines/director/lingo/lingo-gr.cpp"
+#line 2598 "engines/director/lingo/lingo-gr.cpp"
break;
case 46:
@@ -2665,7 +2607,7 @@ yyreduce:
} else {
warning("# LINGO: next repeat not inside repeat block");
} }
-#line 2669 "engines/director/lingo/lingo-gr.cpp"
+#line 2611 "engines/director/lingo/lingo-gr.cpp"
break;
case 47:
@@ -2673,31 +2615,31 @@ yyreduce:
{
g_lingo->code1(LC::c_whencode);
g_lingo->codeString((yyvsp[-2].s)->c_str()); }
-#line 2677 "engines/director/lingo/lingo-gr.cpp"
+#line 2619 "engines/director/lingo/lingo-gr.cpp"
break;
case 48:
#line 491 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_telldone); }
-#line 2683 "engines/director/lingo/lingo-gr.cpp"
+#line 2625 "engines/director/lingo/lingo-gr.cpp"
break;
case 49:
#line 492 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_telldone); }
-#line 2689 "engines/director/lingo/lingo-gr.cpp"
+#line 2631 "engines/director/lingo/lingo-gr.cpp"
break;
case 50:
#line 494 "engines/director/lingo/lingo-gr.y"
{ startRepeat(); }
-#line 2695 "engines/director/lingo/lingo-gr.cpp"
+#line 2637 "engines/director/lingo/lingo-gr.cpp"
break;
case 51:
#line 496 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_tell); }
-#line 2701 "engines/director/lingo/lingo-gr.cpp"
+#line 2643 "engines/director/lingo/lingo-gr.cpp"
break;
case 52:
@@ -2709,7 +2651,7 @@ yyreduce:
(*g_lingo->_currentAssembly)[(yyvsp[-6].code)] = else1; /* elsepart */
(*g_lingo->_currentAssembly)[(yyvsp[-3].code)] = end3; /* end, if cond fails */
g_lingo->processIf((yyvsp[-3].code), (yyvsp[-1].code)); }
-#line 2713 "engines/director/lingo/lingo-gr.cpp"
+#line 2655 "engines/director/lingo/lingo-gr.cpp"
break;
case 53:
@@ -2721,7 +2663,7 @@ yyreduce:
(*g_lingo->_currentAssembly)[(yyvsp[-8].code)] = else1; /* elsepart */
(*g_lingo->_currentAssembly)[(yyvsp[-5].code)] = end; /* end, if cond fails */
g_lingo->processIf((yyvsp[-5].code), (yyvsp[-1].code)); }
-#line 2725 "engines/director/lingo/lingo-gr.cpp"
+#line 2667 "engines/director/lingo/lingo-gr.cpp"
break;
case 56:
@@ -2731,7 +2673,7 @@ yyreduce:
WRITE_UINT32(&else1, (yyvsp[0].code) + 1 - (yyvsp[-3].code) + 1);
(*g_lingo->_currentAssembly)[(yyvsp[-3].code)] = else1; /* end, if cond fails */
g_lingo->codeLabel((yyvsp[0].code)); }
-#line 2735 "engines/director/lingo/lingo-gr.cpp"
+#line 2677 "engines/director/lingo/lingo-gr.cpp"
break;
case 57:
@@ -2739,7 +2681,7 @@ yyreduce:
{
g_lingo->code2(LC::c_jumpifz, 0);
(yyval.code) = g_lingo->_currentAssembly->size() - 1; }
-#line 2743 "engines/director/lingo/lingo-gr.cpp"
+#line 2685 "engines/director/lingo/lingo-gr.cpp"
break;
case 58:
@@ -2747,7 +2689,7 @@ yyreduce:
{
g_lingo->code2(LC::c_jump, 0);
(yyval.code) = g_lingo->_currentAssembly->size() - 1; }
-#line 2751 "engines/director/lingo/lingo-gr.cpp"
+#line 2693 "engines/director/lingo/lingo-gr.cpp"
break;
case 59:
@@ -2755,76 +2697,70 @@ yyreduce:
{
g_lingo->code1(LC::c_assign);
(yyval.code) = g_lingo->_currentAssembly->size() - 1; }
-#line 2759 "engines/director/lingo/lingo-gr.cpp"
+#line 2701 "engines/director/lingo/lingo-gr.cpp"
break;
case 60:
#line 534 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeLabel(0); }
-#line 2766 "engines/director/lingo/lingo-gr.cpp"
+#line 2708 "engines/director/lingo/lingo-gr.cpp"
break;
case 61:
#line 537 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->_currentAssembly->size(); }
-#line 2772 "engines/director/lingo/lingo-gr.cpp"
- break;
-
- case 62:
-#line 539 "engines/director/lingo/lingo-gr.y"
- { (yyval.code) = g_lingo->_currentAssembly->size(); }
-#line 2778 "engines/director/lingo/lingo-gr.cpp"
+#line 2714 "engines/director/lingo/lingo-gr.cpp"
break;
- case 65:
-#line 543 "engines/director/lingo/lingo-gr.y"
+ case 66:
+#line 545 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_intpush);
g_lingo->codeInt((yyvsp[0].i)); }
-#line 2786 "engines/director/lingo/lingo-gr.cpp"
+#line 2722 "engines/director/lingo/lingo-gr.cpp"
break;
- case 66:
-#line 546 "engines/director/lingo/lingo-gr.y"
+ case 67:
+#line 548 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_floatpush);
g_lingo->codeFloat((yyvsp[0].f)); }
-#line 2794 "engines/director/lingo/lingo-gr.cpp"
+#line 2730 "engines/director/lingo/lingo-gr.cpp"
break;
- case 67:
-#line 549 "engines/director/lingo/lingo-gr.y"
+ case 68:
+#line 551 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); }
-#line 2800 "engines/director/lingo/lingo-gr.cpp"
+#line 2736 "engines/director/lingo/lingo-gr.cpp"
break;
- case 68:
-#line 550 "engines/director/lingo/lingo-gr.y"
+ case 69:
+#line 552 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); g_lingo->code1(LC::c_negate); }
-#line 2806 "engines/director/lingo/lingo-gr.cpp"
+#line 2742 "engines/director/lingo/lingo-gr.cpp"
break;
- case 69:
-#line 551 "engines/director/lingo/lingo-gr.y"
+ case 70:
+#line 553 "engines/director/lingo/lingo-gr.y"
{ // D3
(yyval.code) = g_lingo->code1(LC::c_symbolpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2815 "engines/director/lingo/lingo-gr.cpp"
+#line 2751 "engines/director/lingo/lingo-gr.cpp"
break;
- case 70:
-#line 555 "engines/director/lingo/lingo-gr.y"
+ case 71:
+#line 557 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_stringpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2824 "engines/director/lingo/lingo-gr.cpp"
+#line 2760 "engines/director/lingo/lingo-gr.cpp"
break;
- case 72:
-#line 560 "engines/director/lingo/lingo-gr.y"
+ case 73:
+#line 562 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(0); // Put dummy id
@@ -2833,95 +2769,95 @@ yyreduce:
WRITE_UINT32(&e, (yyvsp[0].e)[0]);
WRITE_UINT32(&f, (yyvsp[0].e)[1]);
g_lingo->code2(e, f); }
-#line 2837 "engines/director/lingo/lingo-gr.cpp"
+#line 2773 "engines/director/lingo/lingo-gr.cpp"
break;
- case 73:
-#line 568 "engines/director/lingo/lingo-gr.y"
+ case 74:
+#line 570 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_theentitypush);
inst e = 0, f = 0;
WRITE_UINT32(&e, (yyvsp[-1].e)[0]);
WRITE_UINT32(&f, (yyvsp[-1].e)[1]);
g_lingo->code2(e, f); }
-#line 2848 "engines/director/lingo/lingo-gr.cpp"
+#line 2784 "engines/director/lingo/lingo-gr.cpp"
break;
- case 74:
-#line 574 "engines/director/lingo/lingo-gr.y"
+ case 75:
+#line 576 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->codeFunc((yyvsp[-1].s), 1);
delete (yyvsp[-1].s); }
-#line 2856 "engines/director/lingo/lingo-gr.cpp"
+#line 2792 "engines/director/lingo/lingo-gr.cpp"
break;
- case 75:
-#line 577 "engines/director/lingo/lingo-gr.y"
+ case 76:
+#line 579 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->codeFunc((yyvsp[-2].s), 1);
delete (yyvsp[-2].s); }
-#line 2864 "engines/director/lingo/lingo-gr.cpp"
+#line 2800 "engines/director/lingo/lingo-gr.cpp"
break;
- case 76:
-#line 580 "engines/director/lingo/lingo-gr.y"
+ case 77:
+#line 582 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_objectproppush);
g_lingo->codeString((yyvsp[0].objectprop).obj->c_str());
g_lingo->codeString((yyvsp[0].objectprop).prop->c_str());
delete (yyvsp[0].objectprop).obj;
delete (yyvsp[0].objectprop).prop; }
-#line 2875 "engines/director/lingo/lingo-gr.cpp"
+#line 2811 "engines/director/lingo/lingo-gr.cpp"
break;
- case 77:
-#line 586 "engines/director/lingo/lingo-gr.y"
+ case 78:
+#line 588 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_intersects); }
-#line 2881 "engines/director/lingo/lingo-gr.cpp"
+#line 2817 "engines/director/lingo/lingo-gr.cpp"
break;
- case 78:
-#line 587 "engines/director/lingo/lingo-gr.y"
+ case 79:
+#line 589 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_within); }
-#line 2887 "engines/director/lingo/lingo-gr.cpp"
+#line 2823 "engines/director/lingo/lingo-gr.cpp"
break;
- case 80:
-#line 589 "engines/director/lingo/lingo-gr.y"
+ case 81:
+#line 591 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_lazyeval);
g_lingo->codeString((yyvsp[-1].s)->c_str());
g_lingo->codeFunc((yyvsp[-3].s), 1);
delete (yyvsp[-3].s);
delete (yyvsp[-1].s); }
-#line 2898 "engines/director/lingo/lingo-gr.cpp"
+#line 2834 "engines/director/lingo/lingo-gr.cpp"
break;
- case 81:
-#line 595 "engines/director/lingo/lingo-gr.y"
+ case 82:
+#line 597 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lazyeval); g_lingo->codeString((yyvsp[-1].s)->c_str()); }
-#line 2904 "engines/director/lingo/lingo-gr.cpp"
+#line 2840 "engines/director/lingo/lingo-gr.cpp"
break;
- case 82:
-#line 596 "engines/director/lingo/lingo-gr.y"
+ case 83:
+#line 598 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-6].s), (yyvsp[-1].narg) + 1);
delete (yyvsp[-6].s);
delete (yyvsp[-4].s); }
-#line 2913 "engines/director/lingo/lingo-gr.cpp"
+#line 2849 "engines/director/lingo/lingo-gr.cpp"
break;
- case 83:
-#line 600 "engines/director/lingo/lingo-gr.y"
+ case 84:
+#line 602 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 2921 "engines/director/lingo/lingo-gr.cpp"
+#line 2857 "engines/director/lingo/lingo-gr.cpp"
break;
- case 84:
-#line 603 "engines/director/lingo/lingo-gr.y"
+ case 85:
+#line 605 "engines/director/lingo/lingo-gr.y"
{
if (g_lingo->_builtinConsts.contains(*(yyvsp[0].s))) {
(yyval.code) = g_lingo->code1(LC::c_constpush);
@@ -2930,223 +2866,223 @@ yyreduce:
}
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2934 "engines/director/lingo/lingo-gr.cpp"
+#line 2870 "engines/director/lingo/lingo-gr.cpp"
break;
- case 85:
-#line 611 "engines/director/lingo/lingo-gr.y"
+ case 86:
+#line 613 "engines/director/lingo/lingo-gr.y"
{ yyerrok; }
-#line 2940 "engines/director/lingo/lingo-gr.cpp"
- break;
-
- case 87:
-#line 614 "engines/director/lingo/lingo-gr.y"
- { (yyval.code) = (yyvsp[-1].code); }
-#line 2946 "engines/director/lingo/lingo-gr.cpp"
+#line 2876 "engines/director/lingo/lingo-gr.cpp"
break;
case 88:
#line 616 "engines/director/lingo/lingo-gr.y"
- { (yyval.code) = (yyvsp[0].code); }
-#line 2952 "engines/director/lingo/lingo-gr.cpp"
+ { (yyval.code) = (yyvsp[-1].code); }
+#line 2882 "engines/director/lingo/lingo-gr.cpp"
break;
case 89:
-#line 617 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_add); }
-#line 2958 "engines/director/lingo/lingo-gr.cpp"
+#line 618 "engines/director/lingo/lingo-gr.y"
+ { (yyval.code) = (yyvsp[0].code); }
+#line 2888 "engines/director/lingo/lingo-gr.cpp"
break;
case 90:
-#line 618 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_sub); }
-#line 2964 "engines/director/lingo/lingo-gr.cpp"
+#line 619 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_add); }
+#line 2894 "engines/director/lingo/lingo-gr.cpp"
break;
case 91:
-#line 619 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_mul); }
-#line 2970 "engines/director/lingo/lingo-gr.cpp"
+#line 620 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_sub); }
+#line 2900 "engines/director/lingo/lingo-gr.cpp"
break;
case 92:
-#line 620 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_div); }
-#line 2976 "engines/director/lingo/lingo-gr.cpp"
+#line 621 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_mul); }
+#line 2906 "engines/director/lingo/lingo-gr.cpp"
break;
case 93:
-#line 621 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_mod); }
-#line 2982 "engines/director/lingo/lingo-gr.cpp"
+#line 622 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_div); }
+#line 2912 "engines/director/lingo/lingo-gr.cpp"
break;
case 94:
-#line 622 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_gt); }
-#line 2988 "engines/director/lingo/lingo-gr.cpp"
+#line 623 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_mod); }
+#line 2918 "engines/director/lingo/lingo-gr.cpp"
break;
case 95:
-#line 623 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_lt); }
-#line 2994 "engines/director/lingo/lingo-gr.cpp"
+#line 624 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_gt); }
+#line 2924 "engines/director/lingo/lingo-gr.cpp"
break;
case 96:
-#line 624 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_eq); }
-#line 3000 "engines/director/lingo/lingo-gr.cpp"
+#line 625 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_lt); }
+#line 2930 "engines/director/lingo/lingo-gr.cpp"
break;
case 97:
-#line 625 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_neq); }
-#line 3006 "engines/director/lingo/lingo-gr.cpp"
+#line 626 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_eq); }
+#line 2936 "engines/director/lingo/lingo-gr.cpp"
break;
case 98:
-#line 626 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_ge); }
-#line 3012 "engines/director/lingo/lingo-gr.cpp"
+#line 627 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_neq); }
+#line 2942 "engines/director/lingo/lingo-gr.cpp"
break;
case 99:
-#line 627 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_le); }
-#line 3018 "engines/director/lingo/lingo-gr.cpp"
+#line 628 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_ge); }
+#line 2948 "engines/director/lingo/lingo-gr.cpp"
break;
case 100:
-#line 628 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_and); }
-#line 3024 "engines/director/lingo/lingo-gr.cpp"
+#line 629 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_le); }
+#line 2954 "engines/director/lingo/lingo-gr.cpp"
break;
case 101:
-#line 629 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_or); }
-#line 3030 "engines/director/lingo/lingo-gr.cpp"
+#line 630 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_and); }
+#line 2960 "engines/director/lingo/lingo-gr.cpp"
break;
case 102:
-#line 630 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_not); }
-#line 3036 "engines/director/lingo/lingo-gr.cpp"
+#line 631 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_or); }
+#line 2966 "engines/director/lingo/lingo-gr.cpp"
break;
case 103:
-#line 631 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_ampersand); }
-#line 3042 "engines/director/lingo/lingo-gr.cpp"
+#line 632 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_not); }
+#line 2972 "engines/director/lingo/lingo-gr.cpp"
break;
case 104:
-#line 632 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_concat); }
-#line 3048 "engines/director/lingo/lingo-gr.cpp"
+#line 633 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_ampersand); }
+#line 2978 "engines/director/lingo/lingo-gr.cpp"
break;
case 105:
-#line 633 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_contains); }
-#line 3054 "engines/director/lingo/lingo-gr.cpp"
+#line 634 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_concat); }
+#line 2984 "engines/director/lingo/lingo-gr.cpp"
break;
case 106:
-#line 634 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_starts); }
-#line 3060 "engines/director/lingo/lingo-gr.cpp"
+#line 635 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_contains); }
+#line 2990 "engines/director/lingo/lingo-gr.cpp"
break;
case 107:
#line 636 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_starts); }
+#line 2996 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 108:
+#line 638 "engines/director/lingo/lingo-gr.y"
{
Common::String field("field");
g_lingo->codeFunc(&field, 1); }
-#line 3068 "engines/director/lingo/lingo-gr.cpp"
+#line 3004 "engines/director/lingo/lingo-gr.cpp"
break;
- case 108:
-#line 639 "engines/director/lingo/lingo-gr.y"
+ case 109:
+#line 641 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_charOf); }
-#line 3074 "engines/director/lingo/lingo-gr.cpp"
+#line 3010 "engines/director/lingo/lingo-gr.cpp"
break;
- case 109:
-#line 640 "engines/director/lingo/lingo-gr.y"
+ case 110:
+#line 642 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_charToOf); }
-#line 3080 "engines/director/lingo/lingo-gr.cpp"
+#line 3016 "engines/director/lingo/lingo-gr.cpp"
break;
- case 110:
-#line 641 "engines/director/lingo/lingo-gr.y"
+ case 111:
+#line 643 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_itemOf); }
-#line 3086 "engines/director/lingo/lingo-gr.cpp"
+#line 3022 "engines/director/lingo/lingo-gr.cpp"
break;
- case 111:
-#line 642 "engines/director/lingo/lingo-gr.y"
+ case 112:
+#line 644 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_itemToOf); }
-#line 3092 "engines/director/lingo/lingo-gr.cpp"
+#line 3028 "engines/director/lingo/lingo-gr.cpp"
break;
- case 112:
-#line 643 "engines/director/lingo/lingo-gr.y"
+ case 113:
+#line 645 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lineOf); }
-#line 3098 "engines/director/lingo/lingo-gr.cpp"
+#line 3034 "engines/director/lingo/lingo-gr.cpp"
break;
- case 113:
-#line 644 "engines/director/lingo/lingo-gr.y"
+ case 114:
+#line 646 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lineToOf); }
-#line 3104 "engines/director/lingo/lingo-gr.cpp"
+#line 3040 "engines/director/lingo/lingo-gr.cpp"
break;
- case 114:
-#line 645 "engines/director/lingo/lingo-gr.y"
+ case 115:
+#line 647 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_wordOf); }
-#line 3110 "engines/director/lingo/lingo-gr.cpp"
+#line 3046 "engines/director/lingo/lingo-gr.cpp"
break;
- case 115:
-#line 646 "engines/director/lingo/lingo-gr.y"
+ case 116:
+#line 648 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_wordToOf); }
-#line 3116 "engines/director/lingo/lingo-gr.cpp"
+#line 3052 "engines/director/lingo/lingo-gr.cpp"
break;
- case 117:
-#line 649 "engines/director/lingo/lingo-gr.y"
+ case 118:
+#line 651 "engines/director/lingo/lingo-gr.y"
{
Common::String cast("cast");
g_lingo->codeFunc(&cast, 1); }
-#line 3124 "engines/director/lingo/lingo-gr.cpp"
+#line 3060 "engines/director/lingo/lingo-gr.cpp"
break;
- case 118:
-#line 652 "engines/director/lingo/lingo-gr.y"
+ case 119:
+#line 654 "engines/director/lingo/lingo-gr.y"
{
Common::String script("script");
g_lingo->codeFunc(&script, 1); }
-#line 3132 "engines/director/lingo/lingo-gr.cpp"
+#line 3068 "engines/director/lingo/lingo-gr.cpp"
break;
- case 119:
-#line 655 "engines/director/lingo/lingo-gr.y"
+ case 120:
+#line 657 "engines/director/lingo/lingo-gr.y"
{
Common::String window("window");
g_lingo->codeFunc(&window, 1); }
-#line 3140 "engines/director/lingo/lingo-gr.cpp"
+#line 3076 "engines/director/lingo/lingo-gr.cpp"
break;
- case 120:
-#line 659 "engines/director/lingo/lingo-gr.y"
+ case 121:
+#line 661 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_printtop); }
-#line 3146 "engines/director/lingo/lingo-gr.cpp"
+#line 3082 "engines/director/lingo/lingo-gr.cpp"
break;
- case 123:
-#line 662 "engines/director/lingo/lingo-gr.y"
+ case 124:
+#line 664 "engines/director/lingo/lingo-gr.y"
{
if (g_lingo->_repeatStack.size()) {
g_lingo->code2(LC::c_jump, 0);
@@ -3155,284 +3091,284 @@ yyreduce:
} else {
warning("# LINGO: exit repeat not inside repeat block");
} }
-#line 3159 "engines/director/lingo/lingo-gr.cpp"
+#line 3095 "engines/director/lingo/lingo-gr.cpp"
break;
- case 124:
-#line 670 "engines/director/lingo/lingo-gr.y"
+ case 125:
+#line 672 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_procret); }
-#line 3165 "engines/director/lingo/lingo-gr.cpp"
+#line 3101 "engines/director/lingo/lingo-gr.cpp"
break;
- case 125:
-#line 671 "engines/director/lingo/lingo-gr.y"
+ case 126:
+#line 673 "engines/director/lingo/lingo-gr.y"
{ inArgs(); }
-#line 3171 "engines/director/lingo/lingo-gr.cpp"
+#line 3107 "engines/director/lingo/lingo-gr.cpp"
break;
- case 126:
-#line 671 "engines/director/lingo/lingo-gr.y"
+ case 127:
+#line 673 "engines/director/lingo/lingo-gr.y"
{ inLast(); }
-#line 3177 "engines/director/lingo/lingo-gr.cpp"
+#line 3113 "engines/director/lingo/lingo-gr.cpp"
break;
- case 127:
-#line 672 "engines/director/lingo/lingo-gr.y"
+ case 128:
+#line 674 "engines/director/lingo/lingo-gr.y"
{ inArgs(); }
-#line 3183 "engines/director/lingo/lingo-gr.cpp"
+#line 3119 "engines/director/lingo/lingo-gr.cpp"
break;
- case 128:
-#line 672 "engines/director/lingo/lingo-gr.y"
+ case 129:
+#line 674 "engines/director/lingo/lingo-gr.y"
{ inLast(); }
-#line 3189 "engines/director/lingo/lingo-gr.cpp"
+#line 3125 "engines/director/lingo/lingo-gr.cpp"
break;
- case 129:
-#line 673 "engines/director/lingo/lingo-gr.y"
+ case 130:
+#line 675 "engines/director/lingo/lingo-gr.y"
{ inArgs(); }
-#line 3195 "engines/director/lingo/lingo-gr.cpp"
+#line 3131 "engines/director/lingo/lingo-gr.cpp"
break;
- case 130:
-#line 673 "engines/director/lingo/lingo-gr.y"
+ case 131:
+#line 675 "engines/director/lingo/lingo-gr.y"
{ inLast(); }
-#line 3201 "engines/director/lingo/lingo-gr.cpp"
+#line 3137 "engines/director/lingo/lingo-gr.cpp"
break;
- case 131:
-#line 674 "engines/director/lingo/lingo-gr.y"
+ case 132:
+#line 676 "engines/director/lingo/lingo-gr.y"
{
Common::String open("open");
g_lingo->codeFunc(&open, 2); }
-#line 3209 "engines/director/lingo/lingo-gr.cpp"
+#line 3145 "engines/director/lingo/lingo-gr.cpp"
break;
- case 132:
-#line 677 "engines/director/lingo/lingo-gr.y"
+ case 133:
+#line 679 "engines/director/lingo/lingo-gr.y"
{
Common::String open("open");
g_lingo->codeFunc(&open, 1); }
-#line 3217 "engines/director/lingo/lingo-gr.cpp"
+#line 3153 "engines/director/lingo/lingo-gr.cpp"
break;
- case 133:
-#line 680 "engines/director/lingo/lingo-gr.y"
+ case 134:
+#line 682 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_lazyeval);
g_lingo->codeString((yyvsp[-1].s)->c_str());
g_lingo->codeCmd((yyvsp[-3].s), 1);
delete (yyvsp[-3].s);
delete (yyvsp[-1].s); }
-#line 3228 "engines/director/lingo/lingo-gr.cpp"
+#line 3164 "engines/director/lingo/lingo-gr.cpp"
break;
- case 134:
-#line 686 "engines/director/lingo/lingo-gr.y"
+ case 135:
+#line 688 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lazyeval); g_lingo->codeString((yyvsp[-1].s)->c_str()); }
-#line 3234 "engines/director/lingo/lingo-gr.cpp"
+#line 3170 "engines/director/lingo/lingo-gr.cpp"
break;
- case 135:
-#line 687 "engines/director/lingo/lingo-gr.y"
+ case 136:
+#line 689 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeCmd((yyvsp[-6].s), (yyvsp[-1].narg) + 1);
delete (yyvsp[-6].s);
delete (yyvsp[-4].s); }
-#line 3243 "engines/director/lingo/lingo-gr.cpp"
+#line 3179 "engines/director/lingo/lingo-gr.cpp"
break;
- case 136:
-#line 691 "engines/director/lingo/lingo-gr.y"
+ case 137:
+#line 693 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeCmd((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 3251 "engines/director/lingo/lingo-gr.cpp"
+#line 3187 "engines/director/lingo/lingo-gr.cpp"
break;
- case 137:
-#line 694 "engines/director/lingo/lingo-gr.y"
+ case 138:
+#line 696 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeCmd((yyvsp[-1].s), (yyvsp[0].narg));
delete (yyvsp[-1].s); }
-#line 3259 "engines/director/lingo/lingo-gr.cpp"
+#line 3195 "engines/director/lingo/lingo-gr.cpp"
break;
- case 138:
-#line 698 "engines/director/lingo/lingo-gr.y"
+ case 139:
+#line 700 "engines/director/lingo/lingo-gr.y"
{
mVar((yyvsp[0].s), kVarGlobal);
delete (yyvsp[0].s); }
-#line 3267 "engines/director/lingo/lingo-gr.cpp"
+#line 3203 "engines/director/lingo/lingo-gr.cpp"
break;
- case 139:
-#line 701 "engines/director/lingo/lingo-gr.y"
+ case 140:
+#line 703 "engines/director/lingo/lingo-gr.y"
{
mVar((yyvsp[0].s), kVarGlobal);
delete (yyvsp[0].s); }
-#line 3275 "engines/director/lingo/lingo-gr.cpp"
+#line 3211 "engines/director/lingo/lingo-gr.cpp"
break;
- case 140:
-#line 705 "engines/director/lingo/lingo-gr.y"
+ case 141:
+#line 707 "engines/director/lingo/lingo-gr.y"
{
mVar((yyvsp[0].s), kVarProperty);
delete (yyvsp[0].s); }
-#line 3283 "engines/director/lingo/lingo-gr.cpp"
+#line 3219 "engines/director/lingo/lingo-gr.cpp"
break;
- case 141:
-#line 708 "engines/director/lingo/lingo-gr.y"
+ case 142:
+#line 710 "engines/director/lingo/lingo-gr.y"
{
mVar((yyvsp[0].s), kVarProperty);
delete (yyvsp[0].s); }
-#line 3291 "engines/director/lingo/lingo-gr.cpp"
+#line 3227 "engines/director/lingo/lingo-gr.cpp"
break;
- case 142:
-#line 712 "engines/director/lingo/lingo-gr.y"
+ case 143:
+#line 714 "engines/director/lingo/lingo-gr.y"
{
mVar((yyvsp[0].s), kVarInstance);
delete (yyvsp[0].s); }
-#line 3299 "engines/director/lingo/lingo-gr.cpp"
+#line 3235 "engines/director/lingo/lingo-gr.cpp"
break;
- case 143:
-#line 715 "engines/director/lingo/lingo-gr.y"
+ case 144:
+#line 717 "engines/director/lingo/lingo-gr.y"
{
mVar((yyvsp[0].s), kVarInstance);
delete (yyvsp[0].s); }
-#line 3307 "engines/director/lingo/lingo-gr.cpp"
+#line 3243 "engines/director/lingo/lingo-gr.cpp"
break;
- case 144:
-#line 726 "engines/director/lingo/lingo-gr.y"
+ case 145:
+#line 728 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotoloop); }
-#line 3313 "engines/director/lingo/lingo-gr.cpp"
+#line 3249 "engines/director/lingo/lingo-gr.cpp"
break;
- case 145:
-#line 727 "engines/director/lingo/lingo-gr.y"
+ case 146:
+#line 729 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotonext); }
-#line 3319 "engines/director/lingo/lingo-gr.cpp"
+#line 3255 "engines/director/lingo/lingo-gr.cpp"
break;
- case 146:
-#line 728 "engines/director/lingo/lingo-gr.y"
+ case 147:
+#line 730 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotoprevious); }
-#line 3325 "engines/director/lingo/lingo-gr.cpp"
+#line 3261 "engines/director/lingo/lingo-gr.cpp"
break;
- case 147:
-#line 729 "engines/director/lingo/lingo-gr.y"
+ case 148:
+#line 731 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(LC::c_goto); }
-#line 3334 "engines/director/lingo/lingo-gr.cpp"
+#line 3270 "engines/director/lingo/lingo-gr.cpp"
break;
- case 148:
-#line 733 "engines/director/lingo/lingo-gr.y"
+ case 149:
+#line 735 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(LC::c_goto); }
-#line 3343 "engines/director/lingo/lingo-gr.cpp"
+#line 3279 "engines/director/lingo/lingo-gr.cpp"
break;
- case 149:
-#line 737 "engines/director/lingo/lingo-gr.y"
+ case 150:
+#line 739 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(2);
g_lingo->code1(LC::c_goto); }
-#line 3352 "engines/director/lingo/lingo-gr.cpp"
+#line 3288 "engines/director/lingo/lingo-gr.cpp"
break;
- case 152:
-#line 745 "engines/director/lingo/lingo-gr.y"
+ case 153:
+#line 747 "engines/director/lingo/lingo-gr.y"
{ // "play #done" is also caught by this
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(LC::c_play); }
-#line 3361 "engines/director/lingo/lingo-gr.cpp"
+#line 3297 "engines/director/lingo/lingo-gr.cpp"
break;
- case 153:
-#line 749 "engines/director/lingo/lingo-gr.y"
+ case 154:
+#line 751 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(LC::c_play); }
-#line 3370 "engines/director/lingo/lingo-gr.cpp"
+#line 3306 "engines/director/lingo/lingo-gr.cpp"
break;
- case 154:
-#line 753 "engines/director/lingo/lingo-gr.y"
+ case 155:
+#line 755 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(2);
g_lingo->code1(LC::c_play); }
-#line 3379 "engines/director/lingo/lingo-gr.cpp"
+#line 3315 "engines/director/lingo/lingo-gr.cpp"
break;
- case 155:
-#line 757 "engines/director/lingo/lingo-gr.y"
+ case 156:
+#line 759 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeSetImmediate(true); }
-#line 3385 "engines/director/lingo/lingo-gr.cpp"
+#line 3321 "engines/director/lingo/lingo-gr.cpp"
break;
- case 156:
-#line 757 "engines/director/lingo/lingo-gr.y"
+ case 157:
+#line 759 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeSetImmediate(false);
g_lingo->codeFunc((yyvsp[-2].s), (yyvsp[0].narg));
delete (yyvsp[-2].s); }
-#line 3394 "engines/director/lingo/lingo-gr.cpp"
+#line 3330 "engines/director/lingo/lingo-gr.cpp"
break;
- case 157:
-#line 787 "engines/director/lingo/lingo-gr.y"
+ case 158:
+#line 789 "engines/director/lingo/lingo-gr.y"
{ startDef(); }
-#line 3400 "engines/director/lingo/lingo-gr.cpp"
+#line 3336 "engines/director/lingo/lingo-gr.cpp"
break;
- case 158:
-#line 788 "engines/director/lingo/lingo-gr.y"
+ case 159:
+#line 790 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_procret);
g_lingo->codeDefine(*(yyvsp[-5].s), (yyvsp[-4].code), (yyvsp[-3].narg));
endDef();
delete (yyvsp[-5].s); }
-#line 3410 "engines/director/lingo/lingo-gr.cpp"
+#line 3346 "engines/director/lingo/lingo-gr.cpp"
break;
- case 159:
-#line 793 "engines/director/lingo/lingo-gr.y"
+ case 160:
+#line 795 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeFactory(*(yyvsp[0].s)); delete (yyvsp[0].s); }
-#line 3416 "engines/director/lingo/lingo-gr.cpp"
+#line 3352 "engines/director/lingo/lingo-gr.cpp"
break;
- case 160:
-#line 794 "engines/director/lingo/lingo-gr.y"
+ case 161:
+#line 796 "engines/director/lingo/lingo-gr.y"
{ startDef(); (*g_lingo->_methodVars)["me"] = kVarArgument; }
-#line 3422 "engines/director/lingo/lingo-gr.cpp"
+#line 3358 "engines/director/lingo/lingo-gr.cpp"
break;
- case 161:
-#line 795 "engines/director/lingo/lingo-gr.y"
+ case 162:
+#line 797 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_procret);
g_lingo->codeDefine(*(yyvsp[-6].s), (yyvsp[-4].code), (yyvsp[-3].narg) + 1);
endDef();
delete (yyvsp[-6].s); }
-#line 3432 "engines/director/lingo/lingo-gr.cpp"
+#line 3368 "engines/director/lingo/lingo-gr.cpp"
break;
- case 162:
-#line 800 "engines/director/lingo/lingo-gr.y"
+ case 163:
+#line 802 "engines/director/lingo/lingo-gr.y"
{ // D3
g_lingo->code1(LC::c_procret);
g_lingo->codeDefine(*(yyvsp[-7].s), (yyvsp[-6].code), (yyvsp[-5].narg));
@@ -3441,180 +3377,180 @@ yyreduce:
checkEnd((yyvsp[-1].s), (yyvsp[-7].s)->c_str(), false);
delete (yyvsp[-7].s);
delete (yyvsp[-1].s); }
-#line 3445 "engines/director/lingo/lingo-gr.cpp"
+#line 3381 "engines/director/lingo/lingo-gr.cpp"
break;
- case 163:
-#line 808 "engines/director/lingo/lingo-gr.y"
+ case 164:
+#line 810 "engines/director/lingo/lingo-gr.y"
{ // D4. No 'end' clause
g_lingo->code1(LC::c_procret);
g_lingo->codeDefine(*(yyvsp[-5].s), (yyvsp[-4].code), (yyvsp[-3].narg));
endDef();
delete (yyvsp[-5].s); }
-#line 3455 "engines/director/lingo/lingo-gr.cpp"
- break;
-
- case 164:
-#line 814 "engines/director/lingo/lingo-gr.y"
- { startDef(); }
-#line 3461 "engines/director/lingo/lingo-gr.cpp"
+#line 3391 "engines/director/lingo/lingo-gr.cpp"
break;
case 165:
-#line 814 "engines/director/lingo/lingo-gr.y"
- { (yyval.s) = (yyvsp[0].s); }
-#line 3467 "engines/director/lingo/lingo-gr.cpp"
+#line 816 "engines/director/lingo/lingo-gr.y"
+ { startDef(); }
+#line 3397 "engines/director/lingo/lingo-gr.cpp"
break;
case 166:
#line 816 "engines/director/lingo/lingo-gr.y"
- { (yyval.narg) = 0; }
-#line 3473 "engines/director/lingo/lingo-gr.cpp"
+ { (yyval.s) = (yyvsp[0].s); }
+#line 3403 "engines/director/lingo/lingo-gr.cpp"
break;
case 167:
-#line 817 "engines/director/lingo/lingo-gr.y"
- { g_lingo->codeArg((yyvsp[0].s)); mVar((yyvsp[0].s), kVarArgument); (yyval.narg) = 1; delete (yyvsp[0].s); }
-#line 3479 "engines/director/lingo/lingo-gr.cpp"
+#line 818 "engines/director/lingo/lingo-gr.y"
+ { (yyval.narg) = 0; }
+#line 3409 "engines/director/lingo/lingo-gr.cpp"
break;
case 168:
-#line 818 "engines/director/lingo/lingo-gr.y"
- { g_lingo->codeArg((yyvsp[0].s)); mVar((yyvsp[0].s), kVarArgument); (yyval.narg) = (yyvsp[-2].narg) + 1; delete (yyvsp[0].s); }
-#line 3485 "engines/director/lingo/lingo-gr.cpp"
+#line 819 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->codeArg((yyvsp[0].s)); mVar((yyvsp[0].s), kVarArgument); (yyval.narg) = 1; delete (yyvsp[0].s); }
+#line 3415 "engines/director/lingo/lingo-gr.cpp"
break;
- case 170:
-#line 821 "engines/director/lingo/lingo-gr.y"
- { delete (yyvsp[0].s); }
-#line 3491 "engines/director/lingo/lingo-gr.cpp"
+ case 169:
+#line 820 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->codeArg((yyvsp[0].s)); mVar((yyvsp[0].s), kVarArgument); (yyval.narg) = (yyvsp[-2].narg) + 1; delete (yyvsp[0].s); }
+#line 3421 "engines/director/lingo/lingo-gr.cpp"
break;
case 171:
-#line 822 "engines/director/lingo/lingo-gr.y"
- { delete (yyvsp[0].s); }
-#line 3497 "engines/director/lingo/lingo-gr.cpp"
+#line 823 "engines/director/lingo/lingo-gr.y"
+ { delete (yyvsp[0].s); }
+#line 3427 "engines/director/lingo/lingo-gr.cpp"
break;
case 172:
#line 824 "engines/director/lingo/lingo-gr.y"
- { inDef(); }
-#line 3503 "engines/director/lingo/lingo-gr.cpp"
+ { delete (yyvsp[0].s); }
+#line 3433 "engines/director/lingo/lingo-gr.cpp"
break;
case 173:
#line 826 "engines/director/lingo/lingo-gr.y"
- { (yyval.narg) = 0; }
-#line 3509 "engines/director/lingo/lingo-gr.cpp"
+ { inDef(); }
+#line 3439 "engines/director/lingo/lingo-gr.cpp"
break;
case 174:
-#line 827 "engines/director/lingo/lingo-gr.y"
- { (yyval.narg) = 1; }
-#line 3515 "engines/director/lingo/lingo-gr.cpp"
+#line 828 "engines/director/lingo/lingo-gr.y"
+ { (yyval.narg) = 0; }
+#line 3445 "engines/director/lingo/lingo-gr.cpp"
break;
case 175:
-#line 828 "engines/director/lingo/lingo-gr.y"
- { (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3521 "engines/director/lingo/lingo-gr.cpp"
+#line 829 "engines/director/lingo/lingo-gr.y"
+ { (yyval.narg) = 1; }
+#line 3451 "engines/director/lingo/lingo-gr.cpp"
break;
case 176:
#line 830 "engines/director/lingo/lingo-gr.y"
- { (yyval.narg) = 1; }
-#line 3527 "engines/director/lingo/lingo-gr.cpp"
+ { (yyval.narg) = (yyvsp[-2].narg) + 1; }
+#line 3457 "engines/director/lingo/lingo-gr.cpp"
break;
case 177:
-#line 831 "engines/director/lingo/lingo-gr.y"
- { (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3533 "engines/director/lingo/lingo-gr.cpp"
+#line 832 "engines/director/lingo/lingo-gr.y"
+ { (yyval.narg) = 1; }
+#line 3463 "engines/director/lingo/lingo-gr.cpp"
break;
case 178:
#line 833 "engines/director/lingo/lingo-gr.y"
- { (yyval.code) = (yyvsp[-1].code); }
-#line 3539 "engines/director/lingo/lingo-gr.cpp"
+ { (yyval.narg) = (yyvsp[-2].narg) + 1; }
+#line 3469 "engines/director/lingo/lingo-gr.cpp"
break;
case 179:
#line 835 "engines/director/lingo/lingo-gr.y"
- { (yyval.code) = g_lingo->code2(LC::c_arraypush, 0); }
-#line 3545 "engines/director/lingo/lingo-gr.cpp"
+ { (yyval.code) = (yyvsp[-1].code); }
+#line 3475 "engines/director/lingo/lingo-gr.cpp"
break;
case 180:
-#line 836 "engines/director/lingo/lingo-gr.y"
- { (yyval.code) = g_lingo->code2(LC::c_proparraypush, 0); }
-#line 3551 "engines/director/lingo/lingo-gr.cpp"
+#line 837 "engines/director/lingo/lingo-gr.y"
+ { (yyval.code) = g_lingo->code2(LC::c_arraypush, 0); }
+#line 3481 "engines/director/lingo/lingo-gr.cpp"
break;
case 181:
-#line 837 "engines/director/lingo/lingo-gr.y"
- { (yyval.code) = g_lingo->code1(LC::c_proparraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3557 "engines/director/lingo/lingo-gr.cpp"
+#line 838 "engines/director/lingo/lingo-gr.y"
+ { (yyval.code) = g_lingo->code2(LC::c_proparraypush, 0); }
+#line 3487 "engines/director/lingo/lingo-gr.cpp"
break;
case 182:
-#line 838 "engines/director/lingo/lingo-gr.y"
- { (yyval.code) = g_lingo->code1(LC::c_arraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3563 "engines/director/lingo/lingo-gr.cpp"
+#line 839 "engines/director/lingo/lingo-gr.y"
+ { (yyval.code) = g_lingo->code1(LC::c_proparraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
+#line 3493 "engines/director/lingo/lingo-gr.cpp"
break;
case 183:
#line 840 "engines/director/lingo/lingo-gr.y"
- { (yyval.narg) = 1; }
-#line 3569 "engines/director/lingo/lingo-gr.cpp"
+ { (yyval.code) = g_lingo->code1(LC::c_arraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
+#line 3499 "engines/director/lingo/lingo-gr.cpp"
break;
case 184:
-#line 841 "engines/director/lingo/lingo-gr.y"
- { (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3575 "engines/director/lingo/lingo-gr.cpp"
+#line 842 "engines/director/lingo/lingo-gr.y"
+ { (yyval.narg) = 1; }
+#line 3505 "engines/director/lingo/lingo-gr.cpp"
break;
case 185:
#line 843 "engines/director/lingo/lingo-gr.y"
- { (yyval.narg) = 1; }
-#line 3581 "engines/director/lingo/lingo-gr.cpp"
+ { (yyval.narg) = (yyvsp[-2].narg) + 1; }
+#line 3511 "engines/director/lingo/lingo-gr.cpp"
break;
case 186:
-#line 844 "engines/director/lingo/lingo-gr.y"
- { (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3587 "engines/director/lingo/lingo-gr.cpp"
+#line 845 "engines/director/lingo/lingo-gr.y"
+ { (yyval.narg) = 1; }
+#line 3517 "engines/director/lingo/lingo-gr.cpp"
break;
case 187:
#line 846 "engines/director/lingo/lingo-gr.y"
+ { (yyval.narg) = (yyvsp[-2].narg) + 1; }
+#line 3523 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 188:
+#line 848 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_symbolpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
delete (yyvsp[-2].s); }
-#line 3596 "engines/director/lingo/lingo-gr.cpp"
+#line 3532 "engines/director/lingo/lingo-gr.cpp"
break;
- case 188:
-#line 850 "engines/director/lingo/lingo-gr.y"
+ case 189:
+#line 852 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_stringpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
delete (yyvsp[-2].s); }
-#line 3605 "engines/director/lingo/lingo-gr.cpp"
+#line 3541 "engines/director/lingo/lingo-gr.cpp"
break;
- case 189:
-#line 854 "engines/director/lingo/lingo-gr.y"
+ case 190:
+#line 856 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_stringpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
delete (yyvsp[-2].s); }
-#line 3614 "engines/director/lingo/lingo-gr.cpp"
+#line 3550 "engines/director/lingo/lingo-gr.cpp"
break;
-#line 3618 "engines/director/lingo/lingo-gr.cpp"
+#line 3554 "engines/director/lingo/lingo-gr.cpp"
default: break;
}
@@ -3813,7 +3749,7 @@ yyreturn:
return yyresult;
}
-#line 860 "engines/director/lingo/lingo-gr.y"
+#line 862 "engines/director/lingo/lingo-gr.y"
int yyreport_syntax_error(const yypcontext_t *ctx) {
diff --git a/engines/director/lingo/lingo-gr.y b/engines/director/lingo/lingo-gr.y
index 43213ae6c5..2d1579d86e 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -194,7 +194,7 @@ static void mVar(Common::String *s, VarType type) {
%token tON tENDIF tENDREPEAT tENDTELL
%type<code> asgn lbl expr if chunkexpr simpleexprnoparens
-%type<code> stmtlist tellstart reference simpleexpr list valuelist
+%type<code> tellstart reference simpleexpr list valuelist
%type<code> jump jumpifz varassign
%type<narg> argdef arglist nonemptyarglist linearlist proplist
%type<s> ID on
@@ -536,9 +536,11 @@ if: tIF {
lbl: /* nothing */ { $$ = g_lingo->_currentAssembly->size(); }
-stmtlist: { $$ = g_lingo->_currentAssembly->size(); }
- | stmtlist '\n'
- | stmtlist stmt
+stmtlist: stmtlistline
+ | stmtlistline '\n' stmtlist
+
+stmtlistline: /* empty */
+ | stmt
simpleexprnoparens: INT {
$$ = g_lingo->code1(LC::c_intpush);
Commit: dac9f31b888cd4ba2b1f9ccdc6298e80ed03c766
https://github.com/scummvm/scummvm/commit/dac9f31b888cd4ba2b1f9ccdc6298e80ed03c766
Author: djsrv (dservilla at gmail.com)
Date: 2020-07-19T13:33:35-04:00
Commit Message:
DIRECTOR: LINGO: Fix chunk/sprite expressions
The second expr should only be a simpleexpr. Eliminates most of the
remaning conflicts.
Changed paths:
engines/director/lingo/lingo-gr.cpp
engines/director/lingo/lingo-gr.y
diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp
index 54f981cf70..6bbd7c5a9b 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -824,7 +824,7 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 99
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 1984
+#define YYLAST 2086
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 107
@@ -975,7 +975,7 @@ static const yytype_int16 yytoknum[] =
};
#endif
-#define YYPACT_NINF (-323)
+#define YYPACT_NINF (-356)
#define yypact_value_is_default(Yyn) \
((Yyn) == YYPACT_NINF)
@@ -989,45 +989,45 @@ static const yytype_int16 yytoknum[] =
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- 138, -323, -323, -323, -28, -323, 498, -323, -323, -323,
- 27, 1277, 69, -8, 24, 24, 1309, 1150, -323, 1309,
- -323, -323, -323, -323, -323, -323, 47, -16, 1028, -323,
- -323, -323, -323, 1309, -323, -323, -323, -323, -323, 1062,
- -323, -323, 24, -1, -323, -323, 1397, -323, 66, 1397,
- -323, -323, -323, 1309, -323, 91, -323, 1309, 1309, 1309,
+ 1408, -356, -356, -356, -35, -356, 1062, -356, -356, -356,
+ -31, 1277, -17, 13, 17, 17, 1309, 1150, -356, 1309,
+ -356, -356, -356, -356, -356, -356, 25, -73, 480, -356,
+ -356, -356, -356, 1309, -356, -356, -356, -356, -356, 1028,
+ -356, -356, 17, -40, -356, -356, 1397, -356, 37, 1397,
+ -356, -356, -356, 1309, -356, 11, -356, 1309, 1309, 1309,
1309, 1309, 1309, 1397, 1397, 600, 707, 814, 921, 1309,
- 127, 41, -323, -323, 414, -323, -323, -323, -323, 24,
- -323, 24, -37, 24, -323, -23, 1397, 1397, -4, 32,
- 94, -323, 1811, 414, -323, 24, 1479, 24, 24, -323,
- 138, 1185, 1877, 51, 1877, 24, 51, 24, -323, 53,
- -323, -323, 1397, -323, 1877, 1309, -323, 1526, 1559, 1592,
- 1625, 1844, -323, -323, -323, -323, -323, -323, 1770, 59,
- 76, -323, -21, 1877, 87, 106, 108, -323, 1185, 1309,
+ 127, -2, -356, -356, 1548, -356, -356, -356, -356, 17,
+ -356, 17, 1515, 17, -356, -42, 1397, 1397, 2, 7,
+ 41, -356, 1913, 1548, -356, 17, 1581, 17, 17, -356,
+ 1408, 1185, 1979, -30, 1979, 17, -30, 17, -356, 5,
+ -356, -356, 1397, -356, 1979, 1309, -356, 1628, 1661, 1694,
+ 1727, 1946, -356, -356, -356, -356, -356, -356, 1872, 23,
+ 27, -356, -82, 1979, 12, 28, 32, -356, 1185, 1309,
1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309,
- 1309, 1309, 1309, 1309, 1309, 1309, -323, -323, 1397, 262,
- 262, 262, -19, 1309, 1309, 1309, 38, 146, 1309, 1309,
- 1309, 1309, 1309, 1309, -323, -323, 109, -323, -323, -323,
- 110, -323, -323, -39, 1770, 33, 1309, 161, -323, -32,
- 55, 24, -323, 1877, 1309, 1309, 1309, 1309, 1309, 1309,
- 1309, 1309, 1309, 1309, -323, 1309, 1309, 1309, -323, 1309,
- 14, 15, 61, 201, 201, 201, 201, 1890, 1890, -323,
- 77, 201, 201, 201, 201, 77, -20, -20, -323, -323,
- 24, 172, -323, -323, -323, -323, -323, -323, 1309, 1309,
- 1877, 1877, 1877, 1309, 1309, 24, 1877, 1877, 1877, 1877,
- 1877, 1877, 24, 237, 1408, 24, -323, -323, -323, 1877,
- 1408, -323, 24, -323, -323, 1877, 1658, 1877, 1691, 1877,
- 1724, 1877, 1757, 1877, 1877, 1877, 1877, 1877, 1877, 59,
- 76, 111, -323, -323, -323, -323, 81, 1309, 1877, 1446,
- -323, 1877, 1877, 1397, -323, -323, -323, -323, 115, -323,
- 1309, -323, 1408, -323, 1408, 1309, 1309, 1309, 1309, 1309,
- -323, 1877, -323, -323, -323, 1408, 39, -323, 140, 1408,
- 1877, 84, -323, 202, -323, 1877, 1877, 1877, 1877, 98,
- 1408, -323, -323, -323, -323, 1309, 1309, -323, -323, -323,
- 1309, 171, 24, -323, -323, -323, 184, 204, 154, 1877,
- 1877, 1877, 1408, 1309, -323, 156, -323, 139, -323, 1309,
- 189, -323, -323, 1877, -323, 24, -323, 1877, 1309, 159,
- 193, -323, 1408, -323, 1877, -323, 1408, 162, -323, -323,
- -323, -323, 1408, -323, -323, 163, 1408, -323, 165, -323
+ 1309, 1309, 1309, 1309, 1309, 1309, -356, -356, 1397, 101,
+ 101, 101, -26, 1309, 1309, 1309, 8, 89, 1309, 1309,
+ 1309, 1309, 1309, 1309, -356, -356, 36, -356, -356, -356,
+ 55, -356, -356, 53, 1872, -58, 1309, 114, -356, -7,
+ 18, 17, -356, 1979, 1397, 1309, 1397, 1309, 1397, 1309,
+ 1397, 1309, 1397, 1397, -356, 1309, 1309, 1309, -356, 1309,
+ 66, 79, 40, -43, -43, -43, -43, 1992, 1992, -356,
+ -5, -43, -43, -43, -43, -5, -60, -60, -356, -356,
+ 17, 125, -356, -356, -356, -356, -356, -356, 1309, 1309,
+ 1979, 1979, 1979, 1309, 1309, 17, 1979, 1979, 1979, 1979,
+ 1979, 1979, 17, 426, 1475, 17, -356, -356, -356, 1979,
+ 1475, -356, 17, -356, -356, -356, 1760, -356, 1793, -356,
+ 1826, -356, 1859, -356, -356, 1979, 1979, 1979, 1979, 23,
+ 27, 65, -356, -356, -356, -356, 20, 1309, 1979, 1476,
+ -356, 1979, 1979, 1397, -356, -356, -356, -356, 73, -356,
+ 1309, -356, 1475, -356, 1475, 1397, 1397, 1397, 1397, 1309,
+ -356, 1979, -356, -356, -356, 1475, 14, -356, 103, 1475,
+ 1979, 44, -356, 165, -356, -356, -356, -356, -356, 84,
+ 1475, -356, -356, -356, -356, 1309, 1309, -356, -356, -356,
+ 1309, 152, 17, -356, -356, -356, 139, 159, 110, 1979,
+ 1979, 1979, 1475, 1309, -356, 116, -356, 104, -356, 1309,
+ 154, -356, -356, 1979, -356, 17, -356, 1979, 1309, 124,
+ 158, -356, 1475, -356, 1979, -356, 1475, 126, -356, -356,
+ -356, -356, 1475, -356, -356, 128, 1475, -356, 129, -356
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -1079,13 +1079,13 @@ static const yytype_uint8 yydefact[] =
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -323, 147, -323, 0, -323, 3, 8, -323, -323, -323,
- -323, -323, -323, -323, -323, -323, -301, 86, -323, -323,
- -323, -239, -322, -48, -323, -38, -243, -323, 107, -323,
- -43, 252, -29, -323, -323, -323, -323, -323, -323, -323,
- -323, -323, -323, 1, -323, -323, -323, -323, -323, -323,
- -323, -103, -323, -244, -34, -42, -323, -323, -323, -323,
- 62
+ -356, 113, -356, 0, -356, -37, 3, -356, -356, -356,
+ -356, -356, -356, -356, -356, -356, -355, 39, -356, -356,
+ -356, -239, -327, -94, -356, -38, -250, -356, 9, -356,
+ -28, 252, 24, -356, -356, -356, -356, -356, -356, -356,
+ -356, -356, -356, -11, -356, -356, -356, -356, -356, -356,
+ -356, -103, -356, -255, -34, -88, -356, -356, -356, -356,
+ 19
};
/* YYDEFGOTO[NTERM-NUM]. */
@@ -1105,43 +1105,43 @@ static const yytype_int16 yydefgoto[] =
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 28, 290, 107, 111, 190, 106, 113, 159, 31, 85,
- 86, 87, 348, 89, 90, 91, 1, 301, 94, 304,
- 122, 123, 88, 41, 238, 139, 140, 141, 142, 143,
- 144, 164, 145, 160, 161, 146, 147, 148, 1, 279,
- 280, 165, 108, 166, 167, 239, 163, 99, 1, 145,
- 168, 149, 150, 151, 152, 153, 154, 155, 384, 323,
- 169, 324, 138, 256, 257, 372, 330, 185, 261, 192,
- 132, 262, 334, 154, 155, 156, 338, 382, 80, 157,
- 138, 158, 386, 162, 100, 207, 170, 344, 22, 23,
- 24, 25, 243, 335, 174, 175, 171, 179, 181, 110,
- 28, 183, 244, 336, 212, 188, 358, 188, 31, 362,
- 22, 23, 24, 25, 112, 231, 138, 283, 284, 230,
- 22, 23, 24, 25, 370, 83, 84, 286, 43, 377,
- 233, 235, 237, 380, 378, 258, 186, 115, 211, 385,
- 383, 44, 138, 388, 45, 46, 145, 172, 47, 48,
- 49, 1, 129, 130, 186, 263, 191, 52, 262, 232,
- 234, 236, 1, 285, 186, 205, 2, 3, 152, 153,
- 154, 155, 124, 125, 126, 127, 4, 5, 6, 7,
- 8, 310, 206, 9, 262, 10, 339, 340, 11, 12,
- 13, 264, 208, 14, 245, 57, 15, 16, 17, 18,
- 343, 340, 58, 59, 60, 61, 62, 352, 353, 209,
- 281, 210, 252, 255, 260, 319, 287, 207, 63, 64,
- 19, 20, 21, 65, 66, 67, 68, 337, 69, 342,
- 188, 70, -180, 131, 22, 23, 24, 25, 359, 360,
- 361, 364, 365, 368, 375, 293, 376, 182, 381, 387,
- 316, 389, 294, 28, 28, 299, 295, 317, 74, 318,
- 28, 1, 303, 82, 254, 2, 333, 329, 92, 93,
- 145, 96, 282, 146, 331, 4, 5, 6, 7, 0,
- 0, 0, 0, 0, 0, 104, 1, 11, 0, 13,
- 0, 151, 152, 153, 154, 155, 16, 17, 18, 0,
+ 28, 290, 107, 31, 190, 106, 94, 348, 304, 145,
+ 301, 372, 164, 89, 90, 91, 41, 238, 111, 138,
+ 80, 113, 165, 382, 207, 99, 145, 100, 386, 146,
+ 85, 86, 87, 154, 155, 122, 123, 1, 239, 83,
+ 84, 1, 108, 88, 258, 186, 163, 151, 152, 153,
+ 154, 155, 323, 384, 324, 330, 168, 115, 166, 167,
+ 110, 170, 243, 156, 145, 334, 169, 185, 335, 338,
+ 132, 171, 244, 186, 124, 125, 126, 127, 336, 157,
+ 344, 158, 174, 162, 192, 112, 152, 153, 154, 155,
+ 1, 279, 280, 261, 172, 175, 262, 179, 181, 138,
+ 28, 183, 362, 31, 212, 188, 358, 188, 191, 22,
+ 23, 24, 25, 22, 23, 24, 25, 208, 263, 230,
+ 310, 262, 377, 262, 370, 1, 380, 286, 43, 205,
+ 231, 209, 385, 206, 378, 210, 388, 245, 211, 252,
+ 383, 44, 285, 186, 45, 46, 339, 340, 47, 48,
+ 49, 1, 129, 130, 138, 256, 257, 52, 255, 232,
+ 234, 236, 22, 23, 24, 25, 265, 260, 267, 287,
+ 269, 207, 271, 319, 273, 274, 58, 59, 60, 61,
+ 138, 283, 284, 233, 235, 237, 343, 340, 352, 353,
+ 337, 264, 342, 359, 360, 57, 361, 22, 66, 24,
+ 25, 364, 58, 59, 60, 61, 62, 365, 368, 375,
+ 281, 376, 381, 182, 387, 389, 295, 254, 63, 64,
+ 333, 329, 0, 65, 66, 67, 68, 0, 69, 282,
+ 188, 70, -180, 131, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 293, 0, 0, 0, 0,
+ 0, 0, 294, 28, 28, 299, 0, 317, 74, 318,
+ 28, 0, 303, 82, 0, 316, 0, 0, 92, 93,
+ 0, 96, 0, 0, 331, 0, 0, 325, 326, 327,
+ 328, 0, 0, 0, 0, 104, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 28, 355, 28, 114, 0, 0, 0, 116,
117, 118, 119, 120, 121, 28, 0, 0, 0, 28,
- 20, 128, 133, 0, 369, 0, 0, 0, 0, 0,
- 28, 0, 0, 22, 23, 24, 25, 58, 59, 60,
- 61, 0, 356, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 28, 184, 0, 0, 0, 0, 22, 66,
- 24, 25, 0, 0, 0, 371, 0, 193, 0, 0,
+ 0, 128, 133, 0, 369, 0, 0, 0, 0, 0,
+ 28, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 356, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 28, 184, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 371, 0, 193, 0, 0,
0, 0, 28, 0, 0, 0, 28, 0, 0, 0,
0, 0, 28, 0, 0, 0, 28, 0, 0, 0,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
@@ -1149,23 +1149,23 @@ static const yytype_int16 yytable[] =
0, 0, 0, 0, 0, 240, 241, 242, 0, 0,
246, 247, 248, 249, 250, 251, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 259, 0,
- 0, 0, 0, 0, 0, 0, 265, 266, 267, 268,
- 269, 270, 271, 272, 273, 274, 0, 275, 276, 277,
- 53, 278, 55, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 139, 140, 141, 142,
- 143, 144, 0, 145, 0, 0, 146, 147, 148, 0,
- 288, 289, 0, 0, 0, 291, 292, 0, 0, 43,
- 0, 0, 149, 150, 151, 152, 153, 154, 155, 0,
- 0, 0, 44, 0, 0, 45, 46, 0, 0, 47,
- 48, 49, 1, 50, 51, 0, 0, 0, 52, 0,
+ 0, 0, 0, 0, 0, 0, 0, 266, 0, 268,
+ 1, 270, 0, 272, 2, 0, 0, 275, 276, 277,
+ 0, 278, 0, 0, 4, 5, 6, 7, 0, 0,
+ 0, 0, 0, 0, 0, 0, 11, 0, 13, 0,
+ -174, 43, 0, 0, 0, 16, 17, 18, 0, 0,
+ 288, 289, 0, 0, 44, 291, 292, 45, 46, 0,
+ 0, 47, 48, 49, 1, 50, 51, -174, 0, 20,
+ 52, 0, 0, 0, 0, 0, -174, -174, 0, 0,
+ 0, 0, 22, 23, 24, 25, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 311,
- 0, 0, 0, 0, 53, 54, 55, 56, 0, 0,
- 0, 0, 320, 0, 0, 0, 0, 325, 326, 327,
- 328, 320, 0, 0, 0, 0, 57, 0, 0, 0,
- 0, 0, 0, 58, 59, 60, 61, 62, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 349, 350, 63,
- 64, 0, 351, 0, 65, 66, 67, 68, 0, 69,
- -8, 43, 70, 0, 0, 363, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 57, 0,
+ 0, 0, 320, 0, 0, 58, 59, 60, 61, 62,
+ 0, 320, 0, 0, 0, -174, -174, -174, 0, 0,
+ 0, 63, 64, 0, 0, 0, 65, 66, 67, 68,
+ -174, 101, 0, -174, 70, 0, 0, 349, 350, 0,
+ 0, 0, 351, 0, 0, 0, 0, 0, 0, 0,
+ -8, 43, 0, 0, 0, 363, 0, 0, 0, 0,
0, 367, 0, 0, 44, 0, 0, 45, 46, 0,
374, 47, 48, 49, 1, 50, 51, -8, -8, 0,
52, 0, 0, 0, 0, -8, -8, -8, -8, -8,
@@ -1211,17 +1211,17 @@ static const yytype_int16 yytable[] =
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 44, 0, 0, 45, 46, 0, 0, 47,
48, 49, 1, 50, 51, -174, 0, 0, 52, 0,
- 0, 0, -174, 43, -174, -174, 0, 0, 0, 0,
+ 0, 0, 0, 43, -174, -174, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 44, 0, 0, 45,
- 46, 0, 0, 47, 48, 49, 1, 50, 51, -174,
- 0, 0, 52, 0, 0, 0, 57, 0, -174, -174,
- 0, 0, 0, 58, 59, 60, 61, 62, 0, 0,
- 0, 0, 0, -174, -174, -174, 0, 0, 0, 63,
- 64, 0, 0, 0, 65, 66, 67, 68, -174, 101,
+ 46, 0, 0, 47, 48, 49, 1, 50, 51, 0,
+ 0, 0, 52, 0, 0, 0, 57, 0, 0, 0,
+ 0, 0, 0, 58, 59, 60, 61, 62, 53, 54,
+ 55, 56, 0, -174, -174, -174, 0, 0, 0, 63,
+ 64, 0, 0, 0, 65, 66, 67, 68, -174, 69,
57, -174, 70, 0, 0, 0, 0, 58, 59, 60,
- 61, 62, 0, 0, 0, 0, 0, -174, -174, -174,
+ 61, 62, 0, 0, 0, 0, 0, 0, 0, 0,
0, 43, 0, 63, 64, 0, 0, 0, 65, 66,
- 67, 68, -174, 69, 44, -174, 70, 45, 46, 0,
+ 67, 68, 0, 69, 44, 0, 70, 45, 46, 0,
0, 47, 48, 49, 1, 50, 51, 0, 0, 0,
52, 0, 0, 0, 0, 0, 43, 0, 0, 0,
0, 0, 0, 0, 0, 0, 53, 0, 55, 44,
@@ -1248,103 +1248,113 @@ static const yytype_int16 yytable[] =
63, 64, 0, 0, 0, 65, 66, 67, 68, 0,
69, 44, 0, 70, 45, 46, 0, 0, 47, 48,
49, 1, 50, 51, 0, 0, 0, 52, 0, 0,
- 0, 0, 1, 0, 0, 0, 2, 0, 0, 0,
+ 0, 0, 1, 0, 0, 0, 2, 3, 0, 0,
0, 0, 0, 0, 0, 0, 4, 5, 6, 7,
- 8, 0, 0, 0, 0, 10, 0, 0, 11, 12,
- 13, 0, 0, 14, 0, 0, 0, 16, 17, 18,
+ 8, 0, 0, 9, 0, 10, 0, 0, 11, 12,
+ 13, 0, 0, 14, 0, 0, 15, 16, 17, 18,
0, 0, 58, 59, 60, 61, 62, 0, 0, 0,
- 0, -38, 0, 0, 0, 0, 0, 0, 63, 64,
- 19, 20, 0, 65, 66, 67, 68, 0, 69, 0,
- 0, 70, 0, 0, 22, 23, 24, 25, 139, 140,
- 141, 142, 143, 144, 0, 145, 0, 0, 146, 147,
- 148, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 177, 149, 150, 151, 152, 153, 154,
- 155, 139, 140, 141, 142, 143, 144, 0, 145, 0,
- 0, 146, 147, 148, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 149, 150, 151,
- 152, 153, 154, 155, 194, 0, 0, 0, 0, 178,
- 195, 0, 0, 0, 0, 0, 0, 0, 139, 140,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63, 64,
+ 19, 20, 21, 65, 66, 67, 68, 0, 69, 1,
+ 0, 70, 0, 2, 22, 23, 24, 25, 0, 0,
+ 0, -38, 0, 4, 5, 6, 7, 8, 0, 0,
+ 0, 0, 10, 0, 0, 11, 12, 13, 0, 0,
+ 14, 0, 0, 0, 16, 17, 18, 0, 139, 140,
141, 142, 143, 144, 0, 145, 0, 0, 146, 147,
- 148, 0, 0, 0, 0, 0, 0, 196, 0, 0,
- 0, 0, 0, 197, 149, 150, 151, 152, 153, 154,
- 155, 139, 140, 141, 142, 143, 144, 0, 145, 0,
- 0, 146, 147, 148, 0, 0, 0, 0, 0, 0,
- 198, 0, 0, 0, 0, 0, 199, 149, 150, 151,
- 152, 153, 154, 155, 139, 140, 141, 142, 143, 144,
- 0, 145, 0, 0, 146, 147, 148, 0, 0, 0,
- 0, 0, 0, 200, 0, 0, 0, 0, 0, 201,
- 149, 150, 151, 152, 153, 154, 155, 139, 140, 141,
- 142, 143, 144, 0, 145, 0, 0, 146, 147, 148,
- 0, 0, 0, 0, 0, 0, 305, 0, 0, 0,
+ 148, 0, 0, 0, 0, 0, 0, 19, 20, 159,
+ 0, 0, 0, 0, 149, 150, 151, 152, 153, 154,
+ 155, 22, 23, 24, 25, 0, 0, 139, 140, 141,
+ 142, 143, 144, 0, 145, 160, 161, 146, 147, 148,
+ 0, 0, 0, 0, 53, 0, 55, 0, 0, 0,
0, 0, 0, 149, 150, 151, 152, 153, 154, 155,
139, 140, 141, 142, 143, 144, 0, 145, 0, 0,
- 146, 147, 148, 0, 0, 0, 0, 0, 0, 306,
- 0, 0, 0, 0, 0, 0, 149, 150, 151, 152,
+ 146, 147, 148, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 177, 149, 150, 151, 152,
153, 154, 155, 139, 140, 141, 142, 143, 144, 0,
- 145, 0, 0, 146, 147, 148, 0, 0, 0, 0,
- 0, 0, 307, 0, 0, 0, 0, 0, 0, 149,
- 150, 151, 152, 153, 154, 155, 139, 140, 141, 142,
- 143, 144, 0, 145, 0, 0, 146, 147, 148, 0,
- 0, 0, 0, 0, 0, 308, 0, 0, 0, 0,
- 0, 0, 149, 150, 151, 152, 153, 154, 155, 139,
- 140, 141, 142, 143, 144, 0, 145, 0, 0, 146,
- 147, 148, 139, 140, 141, 142, 143, 144, 0, 145,
- 0, 0, 146, 147, 148, 149, 150, 151, 152, 153,
- 154, 155, 0, 0, 0, 0, 0, 0, 149, 150,
- 151, 152, 153, 154, 155, 0, 0, 173, 0, 0,
- 0, 0, 204, 139, 140, 141, 142, 143, 144, 0,
145, 0, 0, 146, 147, 148, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 149,
+ 150, 151, 152, 153, 154, 155, 194, 0, 0, 0,
+ 0, 178, 195, 0, 0, 0, 0, 0, 0, 0,
+ 139, 140, 141, 142, 143, 144, 0, 145, 0, 0,
+ 146, 147, 148, 0, 0, 0, 0, 0, 0, 196,
+ 0, 0, 0, 0, 0, 197, 149, 150, 151, 152,
+ 153, 154, 155, 139, 140, 141, 142, 143, 144, 0,
+ 145, 0, 0, 146, 147, 148, 0, 0, 0, 0,
+ 0, 0, 198, 0, 0, 0, 0, 0, 199, 149,
150, 151, 152, 153, 154, 155, 139, 140, 141, 142,
143, 144, 0, 145, 0, 0, 146, 147, 148, 0,
- 0, 0, 0, 0, 202, 203, 0, 0, 0, 0,
- 0, 0, 149, 150, 151, 152, 153, 154, 155, 139,
+ 0, 0, 0, 0, 0, 200, 0, 0, 0, 0,
+ 0, 201, 149, 150, 151, 152, 153, 154, 155, 139,
140, 141, 142, 143, 144, 0, 145, 0, 0, 146,
- 147, 148, 139, 140, 141, 142, 0, 0, 0, 145,
- 0, 0, 146, 147, 148, 149, 150, 151, 152, 153,
- 154, 155, 0, 0, 0, 0, 0, 0, 149, 150,
- 151, 152, 153, 154, 155
+ 147, 148, 0, 0, 0, 0, 0, 0, 305, 0,
+ 0, 0, 0, 0, 0, 149, 150, 151, 152, 153,
+ 154, 155, 139, 140, 141, 142, 143, 144, 0, 145,
+ 0, 0, 146, 147, 148, 0, 0, 0, 0, 0,
+ 0, 306, 0, 0, 0, 0, 0, 0, 149, 150,
+ 151, 152, 153, 154, 155, 139, 140, 141, 142, 143,
+ 144, 0, 145, 0, 0, 146, 147, 148, 0, 0,
+ 0, 0, 0, 0, 307, 0, 0, 0, 0, 0,
+ 0, 149, 150, 151, 152, 153, 154, 155, 139, 140,
+ 141, 142, 143, 144, 0, 145, 0, 0, 146, 147,
+ 148, 0, 0, 0, 0, 0, 0, 308, 0, 0,
+ 0, 0, 0, 0, 149, 150, 151, 152, 153, 154,
+ 155, 139, 140, 141, 142, 143, 144, 0, 145, 0,
+ 0, 146, 147, 148, 139, 140, 141, 142, 143, 144,
+ 0, 145, 0, 0, 146, 147, 148, 149, 150, 151,
+ 152, 153, 154, 155, 0, 0, 0, 0, 0, 0,
+ 149, 150, 151, 152, 153, 154, 155, 0, 0, 173,
+ 0, 0, 0, 0, 204, 139, 140, 141, 142, 143,
+ 144, 0, 145, 0, 0, 146, 147, 148, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 149, 150, 151, 152, 153, 154, 155, 139, 140,
+ 141, 142, 143, 144, 0, 145, 0, 0, 146, 147,
+ 148, 0, 0, 0, 0, 0, 202, 203, 0, 0,
+ 0, 0, 0, 0, 149, 150, 151, 152, 153, 154,
+ 155, 139, 140, 141, 142, 143, 144, 0, 145, 0,
+ 0, 146, 147, 148, 139, 140, 141, 142, 0, 0,
+ 0, 145, 0, 0, 146, 147, 148, 149, 150, 151,
+ 152, 153, 154, 155, 0, 0, 0, 0, 0, 0,
+ 149, 150, 151, 152, 153, 154, 155
};
static const yytype_int16 yycheck[] =
{
- 0, 240, 40, 46, 107, 39, 49, 44, 0, 17,
- 18, 19, 334, 13, 14, 15, 24, 260, 17, 263,
- 63, 64, 30, 51, 43, 62, 63, 64, 65, 66,
- 67, 54, 69, 70, 71, 72, 73, 74, 24, 25,
- 26, 64, 42, 86, 87, 64, 84, 0, 24, 69,
- 54, 88, 89, 90, 91, 92, 93, 94, 380, 302,
- 64, 304, 101, 102, 103, 366, 310, 101, 100, 112,
- 70, 103, 315, 93, 94, 74, 319, 378, 51, 79,
- 101, 81, 383, 83, 100, 106, 54, 330, 96, 97,
- 98, 99, 54, 54, 93, 95, 64, 97, 98, 100,
- 100, 101, 64, 64, 138, 105, 345, 107, 100, 352,
- 96, 97, 98, 99, 48, 158, 101, 102, 103, 157,
- 96, 97, 98, 99, 363, 56, 57, 230, 1, 372,
- 159, 160, 161, 376, 373, 102, 103, 46, 138, 382,
- 379, 14, 101, 386, 17, 18, 69, 53, 21, 22,
- 23, 24, 25, 26, 103, 100, 103, 30, 103, 159,
- 160, 161, 24, 102, 103, 106, 28, 29, 91, 92,
- 93, 94, 65, 66, 67, 68, 38, 39, 40, 41,
- 42, 100, 106, 45, 103, 47, 102, 103, 50, 51,
- 52, 191, 105, 55, 48, 68, 58, 59, 60, 61,
- 102, 103, 75, 76, 77, 78, 79, 36, 37, 103,
- 210, 103, 103, 103, 53, 100, 44, 106, 91, 92,
- 82, 83, 84, 96, 97, 98, 99, 87, 101, 27,
- 230, 104, 105, 106, 96, 97, 98, 99, 54, 35,
- 86, 85, 103, 54, 85, 245, 53, 100, 86, 86,
- 293, 86, 252, 253, 254, 255, 253, 295, 6, 297,
- 260, 24, 262, 11, 178, 28, 314, 309, 16, 17,
- 69, 19, 210, 72, 312, 38, 39, 40, 41, -1,
- -1, -1, -1, -1, -1, 33, 24, 50, -1, 52,
- -1, 90, 91, 92, 93, 94, 59, 60, 61, -1,
+ 0, 240, 40, 0, 107, 39, 17, 334, 263, 69,
+ 260, 366, 54, 13, 14, 15, 51, 43, 46, 101,
+ 51, 49, 64, 378, 106, 0, 69, 100, 383, 72,
+ 17, 18, 19, 93, 94, 63, 64, 24, 64, 56,
+ 57, 24, 42, 30, 102, 103, 84, 90, 91, 92,
+ 93, 94, 302, 380, 304, 310, 54, 46, 86, 87,
+ 100, 54, 54, 74, 69, 315, 64, 101, 54, 319,
+ 70, 64, 64, 103, 65, 66, 67, 68, 64, 79,
+ 330, 81, 93, 83, 112, 48, 91, 92, 93, 94,
+ 24, 25, 26, 100, 53, 95, 103, 97, 98, 101,
+ 100, 101, 352, 100, 138, 105, 345, 107, 103, 96,
+ 97, 98, 99, 96, 97, 98, 99, 105, 100, 157,
+ 100, 103, 372, 103, 363, 24, 376, 230, 1, 106,
+ 158, 103, 382, 106, 373, 103, 386, 48, 138, 103,
+ 379, 14, 102, 103, 17, 18, 102, 103, 21, 22,
+ 23, 24, 25, 26, 101, 102, 103, 30, 103, 159,
+ 160, 161, 96, 97, 98, 99, 194, 53, 196, 44,
+ 198, 106, 200, 100, 202, 203, 75, 76, 77, 78,
+ 101, 102, 103, 159, 160, 161, 102, 103, 36, 37,
+ 87, 191, 27, 54, 35, 68, 86, 96, 97, 98,
+ 99, 85, 75, 76, 77, 78, 79, 103, 54, 85,
+ 210, 53, 86, 100, 86, 86, 253, 178, 91, 92,
+ 314, 309, -1, 96, 97, 98, 99, -1, 101, 210,
+ 230, 104, 105, 106, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 245, -1, -1, -1, -1,
+ -1, -1, 252, 253, 254, 255, -1, 295, 6, 297,
+ 260, -1, 262, 11, -1, 293, -1, -1, 16, 17,
+ -1, 19, -1, -1, 312, -1, -1, 305, 306, 307,
+ 308, -1, -1, -1, -1, 33, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 302, 341, 304, 53, -1, -1, -1, 57,
58, 59, 60, 61, 62, 315, -1, -1, -1, 319,
- 83, 69, 70, -1, 362, -1, -1, -1, -1, -1,
- 330, -1, -1, 96, 97, 98, 99, 75, 76, 77,
- 78, -1, 342, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 352, 101, -1, -1, -1, -1, 96, 97,
- 98, 99, -1, -1, -1, 365, -1, 115, -1, -1,
+ -1, 69, 70, -1, 362, -1, -1, -1, -1, -1,
+ 330, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 342, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 352, 101, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 365, -1, 115, -1, -1,
-1, -1, 372, -1, -1, -1, 376, -1, -1, -1,
-1, -1, 382, -1, -1, -1, 386, -1, -1, -1,
-1, 139, 140, 141, 142, 143, 144, 145, 146, 147,
@@ -1352,23 +1362,23 @@ static const yytype_int16 yycheck[] =
-1, -1, -1, -1, -1, 163, 164, 165, -1, -1,
168, 169, 170, 171, 172, 173, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 186, -1,
- -1, -1, -1, -1, -1, -1, 194, 195, 196, 197,
- 198, 199, 200, 201, 202, 203, -1, 205, 206, 207,
- 46, 209, 48, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 62, 63, 64, 65,
- 66, 67, -1, 69, -1, -1, 72, 73, 74, -1,
- 238, 239, -1, -1, -1, 243, 244, -1, -1, 1,
- -1, -1, 88, 89, 90, 91, 92, 93, 94, -1,
- -1, -1, 14, -1, -1, 17, 18, -1, -1, 21,
- 22, 23, 24, 25, 26, -1, -1, -1, 30, -1,
+ -1, -1, -1, -1, -1, -1, -1, 195, -1, 197,
+ 24, 199, -1, 201, 28, -1, -1, 205, 206, 207,
+ -1, 209, -1, -1, 38, 39, 40, 41, -1, -1,
+ -1, -1, -1, -1, -1, -1, 50, -1, 52, -1,
+ 0, 1, -1, -1, -1, 59, 60, 61, -1, -1,
+ 238, 239, -1, -1, 14, 243, 244, 17, 18, -1,
+ -1, 21, 22, 23, 24, 25, 26, 27, -1, 83,
+ 30, -1, -1, -1, -1, -1, 36, 37, -1, -1,
+ -1, -1, 96, 97, 98, 99, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 287,
- -1, -1, -1, -1, 46, 47, 48, 49, -1, -1,
- -1, -1, 300, -1, -1, -1, -1, 305, 306, 307,
- 308, 309, -1, -1, -1, -1, 68, -1, -1, -1,
- -1, -1, -1, 75, 76, 77, 78, 79, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 335, 336, 91,
- 92, -1, 340, -1, 96, 97, 98, 99, -1, 101,
- 0, 1, 104, -1, -1, 353, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 68, -1,
+ -1, -1, 300, -1, -1, 75, 76, 77, 78, 79,
+ -1, 309, -1, -1, -1, 85, 86, 87, -1, -1,
+ -1, 91, 92, -1, -1, -1, 96, 97, 98, 99,
+ 100, 101, -1, 103, 104, -1, -1, 335, 336, -1,
+ -1, -1, 340, -1, -1, -1, -1, -1, -1, -1,
+ 0, 1, -1, -1, -1, 353, -1, -1, -1, -1,
-1, 359, -1, -1, 14, -1, -1, 17, 18, -1,
368, 21, 22, 23, 24, 25, 26, 27, 28, -1,
30, -1, -1, -1, -1, 35, 36, 37, 38, 39,
@@ -1414,17 +1424,17 @@ static const yytype_int16 yycheck[] =
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 14, -1, -1, 17, 18, -1, -1, 21,
22, 23, 24, 25, 26, 27, -1, -1, 30, -1,
- -1, -1, 0, 1, 36, 37, -1, -1, -1, -1,
+ -1, -1, -1, 1, 36, 37, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 14, -1, -1, 17,
- 18, -1, -1, 21, 22, 23, 24, 25, 26, 27,
- -1, -1, 30, -1, -1, -1, 68, -1, 36, 37,
- -1, -1, -1, 75, 76, 77, 78, 79, -1, -1,
- -1, -1, -1, 85, 86, 87, -1, -1, -1, 91,
+ 18, -1, -1, 21, 22, 23, 24, 25, 26, -1,
+ -1, -1, 30, -1, -1, -1, 68, -1, -1, -1,
+ -1, -1, -1, 75, 76, 77, 78, 79, 46, 47,
+ 48, 49, -1, 85, 86, 87, -1, -1, -1, 91,
92, -1, -1, -1, 96, 97, 98, 99, 100, 101,
68, 103, 104, -1, -1, -1, -1, 75, 76, 77,
- 78, 79, -1, -1, -1, -1, -1, 85, 86, 87,
+ 78, 79, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 1, -1, 91, 92, -1, -1, -1, 96, 97,
- 98, 99, 100, 101, 14, 103, 104, 17, 18, -1,
+ 98, 99, -1, 101, 14, -1, 104, 17, 18, -1,
-1, 21, 22, 23, 24, 25, 26, -1, -1, -1,
30, -1, -1, -1, -1, -1, 1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 46, -1, 48, 14,
@@ -1451,62 +1461,72 @@ static const yytype_int16 yycheck[] =
91, 92, -1, -1, -1, 96, 97, 98, 99, -1,
101, 14, -1, 104, 17, 18, -1, -1, 21, 22,
23, 24, 25, 26, -1, -1, -1, 30, -1, -1,
- -1, -1, 24, -1, -1, -1, 28, -1, -1, -1,
+ -1, -1, 24, -1, -1, -1, 28, 29, -1, -1,
-1, -1, -1, -1, -1, -1, 38, 39, 40, 41,
- 42, -1, -1, -1, -1, 47, -1, -1, 50, 51,
- 52, -1, -1, 55, -1, -1, -1, 59, 60, 61,
+ 42, -1, -1, 45, -1, 47, -1, -1, 50, 51,
+ 52, -1, -1, 55, -1, -1, 58, 59, 60, 61,
-1, -1, 75, 76, 77, 78, 79, -1, -1, -1,
- -1, 35, -1, -1, -1, -1, -1, -1, 91, 92,
- 82, 83, -1, 96, 97, 98, 99, -1, 101, -1,
- -1, 104, -1, -1, 96, 97, 98, 99, 62, 63,
- 64, 65, 66, 67, -1, 69, -1, -1, 72, 73,
- 74, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 54, 88, 89, 90, 91, 92, 93,
- 94, 62, 63, 64, 65, 66, 67, -1, 69, -1,
- -1, 72, 73, 74, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 88, 89, 90,
- 91, 92, 93, 94, 48, -1, -1, -1, -1, 100,
- 54, -1, -1, -1, -1, -1, -1, -1, 62, 63,
+ -1, -1, -1, -1, -1, -1, -1, -1, 91, 92,
+ 82, 83, 84, 96, 97, 98, 99, -1, 101, 24,
+ -1, 104, -1, 28, 96, 97, 98, 99, -1, -1,
+ -1, 35, -1, 38, 39, 40, 41, 42, -1, -1,
+ -1, -1, 47, -1, -1, 50, 51, 52, -1, -1,
+ 55, -1, -1, -1, 59, 60, 61, -1, 62, 63,
64, 65, 66, 67, -1, 69, -1, -1, 72, 73,
- 74, -1, -1, -1, -1, -1, -1, 48, -1, -1,
- -1, -1, -1, 54, 88, 89, 90, 91, 92, 93,
- 94, 62, 63, 64, 65, 66, 67, -1, 69, -1,
- -1, 72, 73, 74, -1, -1, -1, -1, -1, -1,
- 48, -1, -1, -1, -1, -1, 54, 88, 89, 90,
- 91, 92, 93, 94, 62, 63, 64, 65, 66, 67,
- -1, 69, -1, -1, 72, 73, 74, -1, -1, -1,
- -1, -1, -1, 48, -1, -1, -1, -1, -1, 54,
- 88, 89, 90, 91, 92, 93, 94, 62, 63, 64,
- 65, 66, 67, -1, 69, -1, -1, 72, 73, 74,
- -1, -1, -1, -1, -1, -1, 48, -1, -1, -1,
+ 74, -1, -1, -1, -1, -1, -1, 82, 83, 44,
+ -1, -1, -1, -1, 88, 89, 90, 91, 92, 93,
+ 94, 96, 97, 98, 99, -1, -1, 62, 63, 64,
+ 65, 66, 67, -1, 69, 70, 71, 72, 73, 74,
+ -1, -1, -1, -1, 46, -1, 48, -1, -1, -1,
-1, -1, -1, 88, 89, 90, 91, 92, 93, 94,
62, 63, 64, 65, 66, 67, -1, 69, -1, -1,
+ 72, 73, 74, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 54, 88, 89, 90, 91,
+ 92, 93, 94, 62, 63, 64, 65, 66, 67, -1,
+ 69, -1, -1, 72, 73, 74, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
+ 89, 90, 91, 92, 93, 94, 48, -1, -1, -1,
+ -1, 100, 54, -1, -1, -1, -1, -1, -1, -1,
+ 62, 63, 64, 65, 66, 67, -1, 69, -1, -1,
72, 73, 74, -1, -1, -1, -1, -1, -1, 48,
- -1, -1, -1, -1, -1, -1, 88, 89, 90, 91,
+ -1, -1, -1, -1, -1, 54, 88, 89, 90, 91,
92, 93, 94, 62, 63, 64, 65, 66, 67, -1,
69, -1, -1, 72, 73, 74, -1, -1, -1, -1,
- -1, -1, 48, -1, -1, -1, -1, -1, -1, 88,
+ -1, -1, 48, -1, -1, -1, -1, -1, 54, 88,
89, 90, 91, 92, 93, 94, 62, 63, 64, 65,
66, 67, -1, 69, -1, -1, 72, 73, 74, -1,
-1, -1, -1, -1, -1, 48, -1, -1, -1, -1,
- -1, -1, 88, 89, 90, 91, 92, 93, 94, 62,
- 63, 64, 65, 66, 67, -1, 69, -1, -1, 72,
- 73, 74, 62, 63, 64, 65, 66, 67, -1, 69,
- -1, -1, 72, 73, 74, 88, 89, 90, 91, 92,
- 93, 94, -1, -1, -1, -1, -1, -1, 88, 89,
- 90, 91, 92, 93, 94, -1, -1, 56, -1, -1,
- -1, -1, 102, 62, 63, 64, 65, 66, 67, -1,
- 69, -1, -1, 72, 73, 74, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
- 89, 90, 91, 92, 93, 94, 62, 63, 64, 65,
- 66, 67, -1, 69, -1, -1, 72, 73, 74, -1,
- -1, -1, -1, -1, 80, 81, -1, -1, -1, -1,
- -1, -1, 88, 89, 90, 91, 92, 93, 94, 62,
+ -1, 54, 88, 89, 90, 91, 92, 93, 94, 62,
63, 64, 65, 66, 67, -1, 69, -1, -1, 72,
- 73, 74, 62, 63, 64, 65, -1, -1, -1, 69,
- -1, -1, 72, 73, 74, 88, 89, 90, 91, 92,
- 93, 94, -1, -1, -1, -1, -1, -1, 88, 89,
- 90, 91, 92, 93, 94
+ 73, 74, -1, -1, -1, -1, -1, -1, 48, -1,
+ -1, -1, -1, -1, -1, 88, 89, 90, 91, 92,
+ 93, 94, 62, 63, 64, 65, 66, 67, -1, 69,
+ -1, -1, 72, 73, 74, -1, -1, -1, -1, -1,
+ -1, 48, -1, -1, -1, -1, -1, -1, 88, 89,
+ 90, 91, 92, 93, 94, 62, 63, 64, 65, 66,
+ 67, -1, 69, -1, -1, 72, 73, 74, -1, -1,
+ -1, -1, -1, -1, 48, -1, -1, -1, -1, -1,
+ -1, 88, 89, 90, 91, 92, 93, 94, 62, 63,
+ 64, 65, 66, 67, -1, 69, -1, -1, 72, 73,
+ 74, -1, -1, -1, -1, -1, -1, 48, -1, -1,
+ -1, -1, -1, -1, 88, 89, 90, 91, 92, 93,
+ 94, 62, 63, 64, 65, 66, 67, -1, 69, -1,
+ -1, 72, 73, 74, 62, 63, 64, 65, 66, 67,
+ -1, 69, -1, -1, 72, 73, 74, 88, 89, 90,
+ 91, 92, 93, 94, -1, -1, -1, -1, -1, -1,
+ 88, 89, 90, 91, 92, 93, 94, -1, -1, 56,
+ -1, -1, -1, -1, 102, 62, 63, 64, 65, 66,
+ 67, -1, 69, -1, -1, 72, 73, 74, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 88, 89, 90, 91, 92, 93, 94, 62, 63,
+ 64, 65, 66, 67, -1, 69, -1, -1, 72, 73,
+ 74, -1, -1, -1, -1, -1, 80, 81, -1, -1,
+ -1, -1, -1, -1, 88, 89, 90, 91, 92, 93,
+ 94, 62, 63, 64, 65, 66, 67, -1, 69, -1,
+ -1, 72, 73, 74, 62, 63, 64, 65, -1, -1,
+ -1, 69, -1, -1, 72, 73, 74, 88, 89, 90,
+ 91, 92, 93, 94, -1, -1, -1, -1, -1, -1,
+ 88, 89, 90, 91, 92, 93, 94
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1539,13 +1559,13 @@ static const yytype_uint8 yystos[] =
132, 137, 110, 139, 110, 139, 110, 139, 43, 64,
138, 138, 138, 54, 64, 48, 138, 138, 138, 138,
138, 138, 103, 124, 124, 103, 102, 103, 102, 138,
- 53, 100, 103, 100, 110, 138, 138, 138, 138, 138,
- 138, 138, 138, 138, 138, 138, 138, 138, 138, 25,
+ 53, 100, 103, 100, 110, 137, 138, 137, 138, 137,
+ 138, 137, 138, 137, 137, 138, 138, 138, 138, 25,
26, 110, 167, 102, 103, 102, 158, 44, 138, 138,
128, 138, 138, 110, 110, 112, 113, 133, 134, 110,
145, 133, 160, 110, 160, 48, 48, 48, 48, 136,
100, 138, 120, 114, 117, 123, 137, 132, 132, 100,
- 138, 162, 129, 133, 133, 138, 138, 138, 138, 162,
+ 138, 162, 129, 133, 133, 137, 137, 137, 137, 162,
160, 132, 130, 130, 133, 54, 64, 87, 133, 102,
103, 126, 27, 102, 133, 121, 115, 118, 129, 138,
138, 138, 36, 37, 127, 132, 110, 159, 128, 54,
@@ -1875,61 +1895,61 @@ yydestruct (const char *yymsg,
case 22: /* THEFUNC */
#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1879 "engines/director/lingo/lingo-gr.cpp"
+#line 1899 "engines/director/lingo/lingo-gr.cpp"
break;
case 23: /* THEFUNCINOF */
#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1885 "engines/director/lingo/lingo-gr.cpp"
+#line 1905 "engines/director/lingo/lingo-gr.cpp"
break;
case 24: /* VARID */
#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1891 "engines/director/lingo/lingo-gr.cpp"
+#line 1911 "engines/director/lingo/lingo-gr.cpp"
break;
case 25: /* STRING */
#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1897 "engines/director/lingo/lingo-gr.cpp"
+#line 1917 "engines/director/lingo/lingo-gr.cpp"
break;
case 26: /* SYMBOL */
#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1903 "engines/director/lingo/lingo-gr.cpp"
+#line 1923 "engines/director/lingo/lingo-gr.cpp"
break;
case 27: /* ENDCLAUSE */
#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1909 "engines/director/lingo/lingo-gr.cpp"
+#line 1929 "engines/director/lingo/lingo-gr.cpp"
break;
case 28: /* tPLAYACCEL */
#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1915 "engines/director/lingo/lingo-gr.cpp"
+#line 1935 "engines/director/lingo/lingo-gr.cpp"
break;
case 29: /* tMETHOD */
#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1921 "engines/director/lingo/lingo-gr.cpp"
+#line 1941 "engines/director/lingo/lingo-gr.cpp"
break;
case 110: /* ID */
#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1927 "engines/director/lingo/lingo-gr.cpp"
+#line 1947 "engines/director/lingo/lingo-gr.cpp"
break;
case 156: /* on */
#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1933 "engines/director/lingo/lingo-gr.cpp"
+#line 1953 "engines/director/lingo/lingo-gr.cpp"
break;
default:
@@ -2210,25 +2230,25 @@ yyreduce:
case 8:
#line 222 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("cast"); }
-#line 2214 "engines/director/lingo/lingo-gr.cpp"
+#line 2234 "engines/director/lingo/lingo-gr.cpp"
break;
case 9:
#line 223 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("field"); }
-#line 2220 "engines/director/lingo/lingo-gr.cpp"
+#line 2240 "engines/director/lingo/lingo-gr.cpp"
break;
case 10:
#line 224 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("script"); }
-#line 2226 "engines/director/lingo/lingo-gr.cpp"
+#line 2246 "engines/director/lingo/lingo-gr.cpp"
break;
case 11:
#line 225 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("window"); }
-#line 2232 "engines/director/lingo/lingo-gr.cpp"
+#line 2252 "engines/director/lingo/lingo-gr.cpp"
break;
case 12:
@@ -2240,7 +2260,7 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[-2].code);
delete (yyvsp[0].s); }
-#line 2244 "engines/director/lingo/lingo-gr.cpp"
+#line 2264 "engines/director/lingo/lingo-gr.cpp"
break;
case 13:
@@ -2248,7 +2268,7 @@ yyreduce:
{
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[-2].code); }
-#line 2252 "engines/director/lingo/lingo-gr.cpp"
+#line 2272 "engines/director/lingo/lingo-gr.cpp"
break;
case 14:
@@ -2264,7 +2284,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-4].e)[1]);
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[0].code); }
-#line 2268 "engines/director/lingo/lingo-gr.cpp"
+#line 2288 "engines/director/lingo/lingo-gr.cpp"
break;
case 15:
@@ -2276,7 +2296,7 @@ yyreduce:
g_lingo->code1(LC::c_after);
(yyval.code) = (yyvsp[-2].code);
delete (yyvsp[0].s); }
-#line 2280 "engines/director/lingo/lingo-gr.cpp"
+#line 2300 "engines/director/lingo/lingo-gr.cpp"
break;
case 16:
@@ -2284,7 +2304,7 @@ yyreduce:
{
g_lingo->code1(LC::c_after);
(yyval.code) = (yyvsp[-2].code); }
-#line 2288 "engines/director/lingo/lingo-gr.cpp"
+#line 2308 "engines/director/lingo/lingo-gr.cpp"
break;
case 17:
@@ -2296,7 +2316,7 @@ yyreduce:
g_lingo->code1(LC::c_before);
(yyval.code) = (yyvsp[-2].code);
delete (yyvsp[0].s); }
-#line 2300 "engines/director/lingo/lingo-gr.cpp"
+#line 2320 "engines/director/lingo/lingo-gr.cpp"
break;
case 18:
@@ -2304,7 +2324,7 @@ yyreduce:
{
g_lingo->code1(LC::c_before);
(yyval.code) = (yyvsp[-2].code); }
-#line 2308 "engines/director/lingo/lingo-gr.cpp"
+#line 2328 "engines/director/lingo/lingo-gr.cpp"
break;
case 19:
@@ -2316,7 +2336,7 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[0].code);
delete (yyvsp[-2].s); }
-#line 2320 "engines/director/lingo/lingo-gr.cpp"
+#line 2340 "engines/director/lingo/lingo-gr.cpp"
break;
case 20:
@@ -2328,7 +2348,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-2].e)[0]);
g_lingo->codeInt((yyvsp[-2].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2332 "engines/director/lingo/lingo-gr.cpp"
+#line 2352 "engines/director/lingo/lingo-gr.cpp"
break;
case 21:
@@ -2340,7 +2360,7 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[0].code);
delete (yyvsp[-2].s); }
-#line 2344 "engines/director/lingo/lingo-gr.cpp"
+#line 2364 "engines/director/lingo/lingo-gr.cpp"
break;
case 22:
@@ -2352,7 +2372,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-2].e)[0]);
g_lingo->codeInt((yyvsp[-2].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2356 "engines/director/lingo/lingo-gr.cpp"
+#line 2376 "engines/director/lingo/lingo-gr.cpp"
break;
case 23:
@@ -2363,7 +2383,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-3].e)[0]);
g_lingo->codeInt((yyvsp[-3].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2367 "engines/director/lingo/lingo-gr.cpp"
+#line 2387 "engines/director/lingo/lingo-gr.cpp"
break;
case 24:
@@ -2374,7 +2394,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-3].e)[0]);
g_lingo->codeInt((yyvsp[-3].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2378 "engines/director/lingo/lingo-gr.cpp"
+#line 2398 "engines/director/lingo/lingo-gr.cpp"
break;
case 25:
@@ -2390,7 +2410,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-6].e)[0]);
g_lingo->codeInt((yyvsp[-6].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2394 "engines/director/lingo/lingo-gr.cpp"
+#line 2414 "engines/director/lingo/lingo-gr.cpp"
break;
case 26:
@@ -2406,7 +2426,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-6].e)[0]);
g_lingo->codeInt((yyvsp[-6].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2410 "engines/director/lingo/lingo-gr.cpp"
+#line 2430 "engines/director/lingo/lingo-gr.cpp"
break;
case 27:
@@ -2418,7 +2438,7 @@ yyreduce:
delete (yyvsp[-2].objectprop).obj;
delete (yyvsp[-2].objectprop).prop;
(yyval.code) = (yyvsp[0].code); }
-#line 2422 "engines/director/lingo/lingo-gr.cpp"
+#line 2442 "engines/director/lingo/lingo-gr.cpp"
break;
case 28:
@@ -2430,7 +2450,7 @@ yyreduce:
delete (yyvsp[-2].objectprop).obj;
delete (yyvsp[-2].objectprop).prop;
(yyval.code) = (yyvsp[0].code); }
-#line 2434 "engines/director/lingo/lingo-gr.cpp"
+#line 2454 "engines/director/lingo/lingo-gr.cpp"
break;
case 33:
@@ -2442,7 +2462,7 @@ yyreduce:
(*g_lingo->_currentAssembly)[(yyvsp[-4].code)] = end; /* end, if cond fails */
(*g_lingo->_currentAssembly)[(yyvsp[-1].code)] = start; /* looping back */
endRepeat((yyvsp[-1].code) + 1, (yyvsp[-6].code)); }
-#line 2446 "engines/director/lingo/lingo-gr.cpp"
+#line 2466 "engines/director/lingo/lingo-gr.cpp"
break;
case 34:
@@ -2450,20 +2470,20 @@ yyreduce:
{ g_lingo->code1(LC::c_varpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
mVar((yyvsp[-2].s), globalCheck()); }
-#line 2454 "engines/director/lingo/lingo-gr.cpp"
+#line 2474 "engines/director/lingo/lingo-gr.cpp"
break;
case 35:
#line 373 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_eval);
g_lingo->codeString((yyvsp[-4].s)->c_str()); }
-#line 2461 "engines/director/lingo/lingo-gr.cpp"
+#line 2481 "engines/director/lingo/lingo-gr.cpp"
break;
case 36:
#line 376 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_le); }
-#line 2467 "engines/director/lingo/lingo-gr.cpp"
+#line 2487 "engines/director/lingo/lingo-gr.cpp"
break;
case 37:
@@ -2488,7 +2508,7 @@ yyreduce:
(*g_lingo->_currentAssembly)[pos] = loop; /* final count value */
(*g_lingo->_currentAssembly)[(yyvsp[-3].code)] = end; /* end, if cond fails */
endRepeat(pos + 1, nextPos); }
-#line 2492 "engines/director/lingo/lingo-gr.cpp"
+#line 2512 "engines/director/lingo/lingo-gr.cpp"
break;
case 38:
@@ -2496,20 +2516,20 @@ yyreduce:
{ g_lingo->code1(LC::c_varpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
mVar((yyvsp[-2].s), globalCheck()); }
-#line 2500 "engines/director/lingo/lingo-gr.cpp"
+#line 2520 "engines/director/lingo/lingo-gr.cpp"
break;
case 39:
#line 407 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_eval);
g_lingo->codeString((yyvsp[-4].s)->c_str()); }
-#line 2507 "engines/director/lingo/lingo-gr.cpp"
+#line 2527 "engines/director/lingo/lingo-gr.cpp"
break;
case 40:
#line 410 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ge); }
-#line 2513 "engines/director/lingo/lingo-gr.cpp"
+#line 2533 "engines/director/lingo/lingo-gr.cpp"
break;
case 41:
@@ -2534,7 +2554,7 @@ yyreduce:
(*g_lingo->_currentAssembly)[pos] = loop; /* final count value */
(*g_lingo->_currentAssembly)[(yyvsp[-3].code)] = end; /* end, if cond fails */
endRepeat(pos + 1, nextPos); }
-#line 2538 "engines/director/lingo/lingo-gr.cpp"
+#line 2558 "engines/director/lingo/lingo-gr.cpp"
break;
case 42:
@@ -2545,7 +2565,7 @@ yyreduce:
g_lingo->codeFunc(&count, 1);
g_lingo->code1(LC::c_intpush); // start counter
g_lingo->codeInt(1); }
-#line 2549 "engines/director/lingo/lingo-gr.cpp"
+#line 2569 "engines/director/lingo/lingo-gr.cpp"
break;
case 43:
@@ -2555,7 +2575,7 @@ yyreduce:
g_lingo->code1(LC::c_stackpeek); // get array size
g_lingo->codeInt(2);
g_lingo->code1(LC::c_le); }
-#line 2559 "engines/director/lingo/lingo-gr.cpp"
+#line 2579 "engines/director/lingo/lingo-gr.cpp"
break;
case 44:
@@ -2570,7 +2590,7 @@ yyreduce:
g_lingo->codeString((yyvsp[-6].s)->c_str());
mVar((yyvsp[-6].s), globalCheck());
g_lingo->code1(LC::c_assign); }
-#line 2574 "engines/director/lingo/lingo-gr.cpp"
+#line 2594 "engines/director/lingo/lingo-gr.cpp"
break;
case 45:
@@ -2594,7 +2614,7 @@ yyreduce:
(*g_lingo->_currentAssembly)[jump + 1] = loop; /* final count value */
(*g_lingo->_currentAssembly)[(yyvsp[-4].code)] = end; /* end, if cond fails */
endRepeat(end2, nextPos); }
-#line 2598 "engines/director/lingo/lingo-gr.cpp"
+#line 2618 "engines/director/lingo/lingo-gr.cpp"
break;
case 46:
@@ -2607,7 +2627,7 @@ yyreduce:
} else {
warning("# LINGO: next repeat not inside repeat block");
} }
-#line 2611 "engines/director/lingo/lingo-gr.cpp"
+#line 2631 "engines/director/lingo/lingo-gr.cpp"
break;
case 47:
@@ -2615,31 +2635,31 @@ yyreduce:
{
g_lingo->code1(LC::c_whencode);
g_lingo->codeString((yyvsp[-2].s)->c_str()); }
-#line 2619 "engines/director/lingo/lingo-gr.cpp"
+#line 2639 "engines/director/lingo/lingo-gr.cpp"
break;
case 48:
#line 491 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_telldone); }
-#line 2625 "engines/director/lingo/lingo-gr.cpp"
+#line 2645 "engines/director/lingo/lingo-gr.cpp"
break;
case 49:
#line 492 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_telldone); }
-#line 2631 "engines/director/lingo/lingo-gr.cpp"
+#line 2651 "engines/director/lingo/lingo-gr.cpp"
break;
case 50:
#line 494 "engines/director/lingo/lingo-gr.y"
{ startRepeat(); }
-#line 2637 "engines/director/lingo/lingo-gr.cpp"
+#line 2657 "engines/director/lingo/lingo-gr.cpp"
break;
case 51:
#line 496 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_tell); }
-#line 2643 "engines/director/lingo/lingo-gr.cpp"
+#line 2663 "engines/director/lingo/lingo-gr.cpp"
break;
case 52:
@@ -2651,7 +2671,7 @@ yyreduce:
(*g_lingo->_currentAssembly)[(yyvsp[-6].code)] = else1; /* elsepart */
(*g_lingo->_currentAssembly)[(yyvsp[-3].code)] = end3; /* end, if cond fails */
g_lingo->processIf((yyvsp[-3].code), (yyvsp[-1].code)); }
-#line 2655 "engines/director/lingo/lingo-gr.cpp"
+#line 2675 "engines/director/lingo/lingo-gr.cpp"
break;
case 53:
@@ -2663,7 +2683,7 @@ yyreduce:
(*g_lingo->_currentAssembly)[(yyvsp[-8].code)] = else1; /* elsepart */
(*g_lingo->_currentAssembly)[(yyvsp[-5].code)] = end; /* end, if cond fails */
g_lingo->processIf((yyvsp[-5].code), (yyvsp[-1].code)); }
-#line 2667 "engines/director/lingo/lingo-gr.cpp"
+#line 2687 "engines/director/lingo/lingo-gr.cpp"
break;
case 56:
@@ -2673,7 +2693,7 @@ yyreduce:
WRITE_UINT32(&else1, (yyvsp[0].code) + 1 - (yyvsp[-3].code) + 1);
(*g_lingo->_currentAssembly)[(yyvsp[-3].code)] = else1; /* end, if cond fails */
g_lingo->codeLabel((yyvsp[0].code)); }
-#line 2677 "engines/director/lingo/lingo-gr.cpp"
+#line 2697 "engines/director/lingo/lingo-gr.cpp"
break;
case 57:
@@ -2681,7 +2701,7 @@ yyreduce:
{
g_lingo->code2(LC::c_jumpifz, 0);
(yyval.code) = g_lingo->_currentAssembly->size() - 1; }
-#line 2685 "engines/director/lingo/lingo-gr.cpp"
+#line 2705 "engines/director/lingo/lingo-gr.cpp"
break;
case 58:
@@ -2689,7 +2709,7 @@ yyreduce:
{
g_lingo->code2(LC::c_jump, 0);
(yyval.code) = g_lingo->_currentAssembly->size() - 1; }
-#line 2693 "engines/director/lingo/lingo-gr.cpp"
+#line 2713 "engines/director/lingo/lingo-gr.cpp"
break;
case 59:
@@ -2697,20 +2717,20 @@ yyreduce:
{
g_lingo->code1(LC::c_assign);
(yyval.code) = g_lingo->_currentAssembly->size() - 1; }
-#line 2701 "engines/director/lingo/lingo-gr.cpp"
+#line 2721 "engines/director/lingo/lingo-gr.cpp"
break;
case 60:
#line 534 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeLabel(0); }
-#line 2708 "engines/director/lingo/lingo-gr.cpp"
+#line 2728 "engines/director/lingo/lingo-gr.cpp"
break;
case 61:
#line 537 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->_currentAssembly->size(); }
-#line 2714 "engines/director/lingo/lingo-gr.cpp"
+#line 2734 "engines/director/lingo/lingo-gr.cpp"
break;
case 66:
@@ -2718,7 +2738,7 @@ yyreduce:
{
(yyval.code) = g_lingo->code1(LC::c_intpush);
g_lingo->codeInt((yyvsp[0].i)); }
-#line 2722 "engines/director/lingo/lingo-gr.cpp"
+#line 2742 "engines/director/lingo/lingo-gr.cpp"
break;
case 67:
@@ -2726,19 +2746,19 @@ yyreduce:
{
(yyval.code) = g_lingo->code1(LC::c_floatpush);
g_lingo->codeFloat((yyvsp[0].f)); }
-#line 2730 "engines/director/lingo/lingo-gr.cpp"
+#line 2750 "engines/director/lingo/lingo-gr.cpp"
break;
case 68:
#line 551 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); }
-#line 2736 "engines/director/lingo/lingo-gr.cpp"
+#line 2756 "engines/director/lingo/lingo-gr.cpp"
break;
case 69:
#line 552 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); g_lingo->code1(LC::c_negate); }
-#line 2742 "engines/director/lingo/lingo-gr.cpp"
+#line 2762 "engines/director/lingo/lingo-gr.cpp"
break;
case 70:
@@ -2747,7 +2767,7 @@ yyreduce:
(yyval.code) = g_lingo->code1(LC::c_symbolpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2751 "engines/director/lingo/lingo-gr.cpp"
+#line 2771 "engines/director/lingo/lingo-gr.cpp"
break;
case 71:
@@ -2756,7 +2776,7 @@ yyreduce:
(yyval.code) = g_lingo->code1(LC::c_stringpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2760 "engines/director/lingo/lingo-gr.cpp"
+#line 2780 "engines/director/lingo/lingo-gr.cpp"
break;
case 73:
@@ -2769,7 +2789,7 @@ yyreduce:
WRITE_UINT32(&e, (yyvsp[0].e)[0]);
WRITE_UINT32(&f, (yyvsp[0].e)[1]);
g_lingo->code2(e, f); }
-#line 2773 "engines/director/lingo/lingo-gr.cpp"
+#line 2793 "engines/director/lingo/lingo-gr.cpp"
break;
case 74:
@@ -2780,7 +2800,7 @@ yyreduce:
WRITE_UINT32(&e, (yyvsp[-1].e)[0]);
WRITE_UINT32(&f, (yyvsp[-1].e)[1]);
g_lingo->code2(e, f); }
-#line 2784 "engines/director/lingo/lingo-gr.cpp"
+#line 2804 "engines/director/lingo/lingo-gr.cpp"
break;
case 75:
@@ -2788,7 +2808,7 @@ yyreduce:
{
(yyval.code) = g_lingo->codeFunc((yyvsp[-1].s), 1);
delete (yyvsp[-1].s); }
-#line 2792 "engines/director/lingo/lingo-gr.cpp"
+#line 2812 "engines/director/lingo/lingo-gr.cpp"
break;
case 76:
@@ -2796,7 +2816,7 @@ yyreduce:
{
(yyval.code) = g_lingo->codeFunc((yyvsp[-2].s), 1);
delete (yyvsp[-2].s); }
-#line 2800 "engines/director/lingo/lingo-gr.cpp"
+#line 2820 "engines/director/lingo/lingo-gr.cpp"
break;
case 77:
@@ -2807,19 +2827,19 @@ yyreduce:
g_lingo->codeString((yyvsp[0].objectprop).prop->c_str());
delete (yyvsp[0].objectprop).obj;
delete (yyvsp[0].objectprop).prop; }
-#line 2811 "engines/director/lingo/lingo-gr.cpp"
+#line 2831 "engines/director/lingo/lingo-gr.cpp"
break;
case 78:
#line 588 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_intersects); }
-#line 2817 "engines/director/lingo/lingo-gr.cpp"
+ { g_lingo->code1(LC::c_intersects); }
+#line 2837 "engines/director/lingo/lingo-gr.cpp"
break;
case 79:
#line 589 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_within); }
-#line 2823 "engines/director/lingo/lingo-gr.cpp"
+#line 2843 "engines/director/lingo/lingo-gr.cpp"
break;
case 81:
@@ -2830,13 +2850,13 @@ yyreduce:
g_lingo->codeFunc((yyvsp[-3].s), 1);
delete (yyvsp[-3].s);
delete (yyvsp[-1].s); }
-#line 2834 "engines/director/lingo/lingo-gr.cpp"
+#line 2854 "engines/director/lingo/lingo-gr.cpp"
break;
case 82:
#line 597 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lazyeval); g_lingo->codeString((yyvsp[-1].s)->c_str()); }
-#line 2840 "engines/director/lingo/lingo-gr.cpp"
+#line 2860 "engines/director/lingo/lingo-gr.cpp"
break;
case 83:
@@ -2845,7 +2865,7 @@ yyreduce:
g_lingo->codeFunc((yyvsp[-6].s), (yyvsp[-1].narg) + 1);
delete (yyvsp[-6].s);
delete (yyvsp[-4].s); }
-#line 2849 "engines/director/lingo/lingo-gr.cpp"
+#line 2869 "engines/director/lingo/lingo-gr.cpp"
break;
case 84:
@@ -2853,7 +2873,7 @@ yyreduce:
{
(yyval.code) = g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 2857 "engines/director/lingo/lingo-gr.cpp"
+#line 2877 "engines/director/lingo/lingo-gr.cpp"
break;
case 85:
@@ -2866,133 +2886,133 @@ yyreduce:
}
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2870 "engines/director/lingo/lingo-gr.cpp"
+#line 2890 "engines/director/lingo/lingo-gr.cpp"
break;
case 86:
#line 613 "engines/director/lingo/lingo-gr.y"
{ yyerrok; }
-#line 2876 "engines/director/lingo/lingo-gr.cpp"
+#line 2896 "engines/director/lingo/lingo-gr.cpp"
break;
case 88:
#line 616 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[-1].code); }
-#line 2882 "engines/director/lingo/lingo-gr.cpp"
+#line 2902 "engines/director/lingo/lingo-gr.cpp"
break;
case 89:
#line 618 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); }
-#line 2888 "engines/director/lingo/lingo-gr.cpp"
+#line 2908 "engines/director/lingo/lingo-gr.cpp"
break;
case 90:
#line 619 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_add); }
-#line 2894 "engines/director/lingo/lingo-gr.cpp"
+#line 2914 "engines/director/lingo/lingo-gr.cpp"
break;
case 91:
#line 620 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_sub); }
-#line 2900 "engines/director/lingo/lingo-gr.cpp"
+#line 2920 "engines/director/lingo/lingo-gr.cpp"
break;
case 92:
#line 621 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_mul); }
-#line 2906 "engines/director/lingo/lingo-gr.cpp"
+#line 2926 "engines/director/lingo/lingo-gr.cpp"
break;
case 93:
#line 622 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_div); }
-#line 2912 "engines/director/lingo/lingo-gr.cpp"
+#line 2932 "engines/director/lingo/lingo-gr.cpp"
break;
case 94:
#line 623 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_mod); }
-#line 2918 "engines/director/lingo/lingo-gr.cpp"
+#line 2938 "engines/director/lingo/lingo-gr.cpp"
break;
case 95:
#line 624 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gt); }
-#line 2924 "engines/director/lingo/lingo-gr.cpp"
+#line 2944 "engines/director/lingo/lingo-gr.cpp"
break;
case 96:
#line 625 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lt); }
-#line 2930 "engines/director/lingo/lingo-gr.cpp"
+#line 2950 "engines/director/lingo/lingo-gr.cpp"
break;
case 97:
#line 626 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_eq); }
-#line 2936 "engines/director/lingo/lingo-gr.cpp"
+#line 2956 "engines/director/lingo/lingo-gr.cpp"
break;
case 98:
#line 627 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_neq); }
-#line 2942 "engines/director/lingo/lingo-gr.cpp"
+#line 2962 "engines/director/lingo/lingo-gr.cpp"
break;
case 99:
#line 628 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ge); }
-#line 2948 "engines/director/lingo/lingo-gr.cpp"
+#line 2968 "engines/director/lingo/lingo-gr.cpp"
break;
case 100:
#line 629 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_le); }
-#line 2954 "engines/director/lingo/lingo-gr.cpp"
+#line 2974 "engines/director/lingo/lingo-gr.cpp"
break;
case 101:
#line 630 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_and); }
-#line 2960 "engines/director/lingo/lingo-gr.cpp"
+#line 2980 "engines/director/lingo/lingo-gr.cpp"
break;
case 102:
#line 631 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_or); }
-#line 2966 "engines/director/lingo/lingo-gr.cpp"
+#line 2986 "engines/director/lingo/lingo-gr.cpp"
break;
case 103:
#line 632 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_not); }
-#line 2972 "engines/director/lingo/lingo-gr.cpp"
+#line 2992 "engines/director/lingo/lingo-gr.cpp"
break;
case 104:
#line 633 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ampersand); }
-#line 2978 "engines/director/lingo/lingo-gr.cpp"
+#line 2998 "engines/director/lingo/lingo-gr.cpp"
break;
case 105:
#line 634 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_concat); }
-#line 2984 "engines/director/lingo/lingo-gr.cpp"
+#line 3004 "engines/director/lingo/lingo-gr.cpp"
break;
case 106:
#line 635 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_contains); }
-#line 2990 "engines/director/lingo/lingo-gr.cpp"
+#line 3010 "engines/director/lingo/lingo-gr.cpp"
break;
case 107:
#line 636 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_starts); }
-#line 2996 "engines/director/lingo/lingo-gr.cpp"
+#line 3016 "engines/director/lingo/lingo-gr.cpp"
break;
case 108:
@@ -3000,55 +3020,55 @@ yyreduce:
{
Common::String field("field");
g_lingo->codeFunc(&field, 1); }
-#line 3004 "engines/director/lingo/lingo-gr.cpp"
+#line 3024 "engines/director/lingo/lingo-gr.cpp"
break;
case 109:
#line 641 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_charOf); }
-#line 3010 "engines/director/lingo/lingo-gr.cpp"
+ { g_lingo->code1(LC::c_charOf); }
+#line 3030 "engines/director/lingo/lingo-gr.cpp"
break;
case 110:
#line 642 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_charToOf); }
-#line 3016 "engines/director/lingo/lingo-gr.cpp"
+ { g_lingo->code1(LC::c_charToOf); }
+#line 3036 "engines/director/lingo/lingo-gr.cpp"
break;
case 111:
#line 643 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_itemOf); }
-#line 3022 "engines/director/lingo/lingo-gr.cpp"
+ { g_lingo->code1(LC::c_itemOf); }
+#line 3042 "engines/director/lingo/lingo-gr.cpp"
break;
case 112:
#line 644 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_itemToOf); }
-#line 3028 "engines/director/lingo/lingo-gr.cpp"
+ { g_lingo->code1(LC::c_itemToOf); }
+#line 3048 "engines/director/lingo/lingo-gr.cpp"
break;
case 113:
#line 645 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_lineOf); }
-#line 3034 "engines/director/lingo/lingo-gr.cpp"
+ { g_lingo->code1(LC::c_lineOf); }
+#line 3054 "engines/director/lingo/lingo-gr.cpp"
break;
case 114:
#line 646 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_lineToOf); }
-#line 3040 "engines/director/lingo/lingo-gr.cpp"
+ { g_lingo->code1(LC::c_lineToOf); }
+#line 3060 "engines/director/lingo/lingo-gr.cpp"
break;
case 115:
#line 647 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_wordOf); }
-#line 3046 "engines/director/lingo/lingo-gr.cpp"
+ { g_lingo->code1(LC::c_wordOf); }
+#line 3066 "engines/director/lingo/lingo-gr.cpp"
break;
case 116:
#line 648 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_wordToOf); }
-#line 3052 "engines/director/lingo/lingo-gr.cpp"
+ { g_lingo->code1(LC::c_wordToOf); }
+#line 3072 "engines/director/lingo/lingo-gr.cpp"
break;
case 118:
@@ -3056,7 +3076,7 @@ yyreduce:
{
Common::String cast("cast");
g_lingo->codeFunc(&cast, 1); }
-#line 3060 "engines/director/lingo/lingo-gr.cpp"
+#line 3080 "engines/director/lingo/lingo-gr.cpp"
break;
case 119:
@@ -3064,7 +3084,7 @@ yyreduce:
{
Common::String script("script");
g_lingo->codeFunc(&script, 1); }
-#line 3068 "engines/director/lingo/lingo-gr.cpp"
+#line 3088 "engines/director/lingo/lingo-gr.cpp"
break;
case 120:
@@ -3072,13 +3092,13 @@ yyreduce:
{
Common::String window("window");
g_lingo->codeFunc(&window, 1); }
-#line 3076 "engines/director/lingo/lingo-gr.cpp"
+#line 3096 "engines/director/lingo/lingo-gr.cpp"
break;
case 121:
#line 661 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_printtop); }
-#line 3082 "engines/director/lingo/lingo-gr.cpp"
+#line 3102 "engines/director/lingo/lingo-gr.cpp"
break;
case 124:
@@ -3091,49 +3111,49 @@ yyreduce:
} else {
warning("# LINGO: exit repeat not inside repeat block");
} }
-#line 3095 "engines/director/lingo/lingo-gr.cpp"
+#line 3115 "engines/director/lingo/lingo-gr.cpp"
break;
case 125:
#line 672 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_procret); }
-#line 3101 "engines/director/lingo/lingo-gr.cpp"
+#line 3121 "engines/director/lingo/lingo-gr.cpp"
break;
case 126:
#line 673 "engines/director/lingo/lingo-gr.y"
{ inArgs(); }
-#line 3107 "engines/director/lingo/lingo-gr.cpp"
+#line 3127 "engines/director/lingo/lingo-gr.cpp"
break;
case 127:
#line 673 "engines/director/lingo/lingo-gr.y"
{ inLast(); }
-#line 3113 "engines/director/lingo/lingo-gr.cpp"
+#line 3133 "engines/director/lingo/lingo-gr.cpp"
break;
case 128:
#line 674 "engines/director/lingo/lingo-gr.y"
{ inArgs(); }
-#line 3119 "engines/director/lingo/lingo-gr.cpp"
+#line 3139 "engines/director/lingo/lingo-gr.cpp"
break;
case 129:
#line 674 "engines/director/lingo/lingo-gr.y"
{ inLast(); }
-#line 3125 "engines/director/lingo/lingo-gr.cpp"
+#line 3145 "engines/director/lingo/lingo-gr.cpp"
break;
case 130:
#line 675 "engines/director/lingo/lingo-gr.y"
{ inArgs(); }
-#line 3131 "engines/director/lingo/lingo-gr.cpp"
+#line 3151 "engines/director/lingo/lingo-gr.cpp"
break;
case 131:
#line 675 "engines/director/lingo/lingo-gr.y"
{ inLast(); }
-#line 3137 "engines/director/lingo/lingo-gr.cpp"
+#line 3157 "engines/director/lingo/lingo-gr.cpp"
break;
case 132:
@@ -3141,7 +3161,7 @@ yyreduce:
{
Common::String open("open");
g_lingo->codeFunc(&open, 2); }
-#line 3145 "engines/director/lingo/lingo-gr.cpp"
+#line 3165 "engines/director/lingo/lingo-gr.cpp"
break;
case 133:
@@ -3149,7 +3169,7 @@ yyreduce:
{
Common::String open("open");
g_lingo->codeFunc(&open, 1); }
-#line 3153 "engines/director/lingo/lingo-gr.cpp"
+#line 3173 "engines/director/lingo/lingo-gr.cpp"
break;
case 134:
@@ -3160,13 +3180,13 @@ yyreduce:
g_lingo->codeCmd((yyvsp[-3].s), 1);
delete (yyvsp[-3].s);
delete (yyvsp[-1].s); }
-#line 3164 "engines/director/lingo/lingo-gr.cpp"
+#line 3184 "engines/director/lingo/lingo-gr.cpp"
break;
case 135:
#line 688 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lazyeval); g_lingo->codeString((yyvsp[-1].s)->c_str()); }
-#line 3170 "engines/director/lingo/lingo-gr.cpp"
+#line 3190 "engines/director/lingo/lingo-gr.cpp"
break;
case 136:
@@ -3175,7 +3195,7 @@ yyreduce:
g_lingo->codeCmd((yyvsp[-6].s), (yyvsp[-1].narg) + 1);
delete (yyvsp[-6].s);
delete (yyvsp[-4].s); }
-#line 3179 "engines/director/lingo/lingo-gr.cpp"
+#line 3199 "engines/director/lingo/lingo-gr.cpp"
break;
case 137:
@@ -3183,7 +3203,7 @@ yyreduce:
{
g_lingo->codeCmd((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 3187 "engines/director/lingo/lingo-gr.cpp"
+#line 3207 "engines/director/lingo/lingo-gr.cpp"
break;
case 138:
@@ -3191,7 +3211,7 @@ yyreduce:
{
g_lingo->codeCmd((yyvsp[-1].s), (yyvsp[0].narg));
delete (yyvsp[-1].s); }
-#line 3195 "engines/director/lingo/lingo-gr.cpp"
+#line 3215 "engines/director/lingo/lingo-gr.cpp"
break;
case 139:
@@ -3199,7 +3219,7 @@ yyreduce:
{
mVar((yyvsp[0].s), kVarGlobal);
delete (yyvsp[0].s); }
-#line 3203 "engines/director/lingo/lingo-gr.cpp"
+#line 3223 "engines/director/lingo/lingo-gr.cpp"
break;
case 140:
@@ -3207,7 +3227,7 @@ yyreduce:
{
mVar((yyvsp[0].s), kVarGlobal);
delete (yyvsp[0].s); }
-#line 3211 "engines/director/lingo/lingo-gr.cpp"
+#line 3231 "engines/director/lingo/lingo-gr.cpp"
break;
case 141:
@@ -3215,7 +3235,7 @@ yyreduce:
{
mVar((yyvsp[0].s), kVarProperty);
delete (yyvsp[0].s); }
-#line 3219 "engines/director/lingo/lingo-gr.cpp"
+#line 3239 "engines/director/lingo/lingo-gr.cpp"
break;
case 142:
@@ -3223,7 +3243,7 @@ yyreduce:
{
mVar((yyvsp[0].s), kVarProperty);
delete (yyvsp[0].s); }
-#line 3227 "engines/director/lingo/lingo-gr.cpp"
+#line 3247 "engines/director/lingo/lingo-gr.cpp"
break;
case 143:
@@ -3231,7 +3251,7 @@ yyreduce:
{
mVar((yyvsp[0].s), kVarInstance);
delete (yyvsp[0].s); }
-#line 3235 "engines/director/lingo/lingo-gr.cpp"
+#line 3255 "engines/director/lingo/lingo-gr.cpp"
break;
case 144:
@@ -3239,25 +3259,25 @@ yyreduce:
{
mVar((yyvsp[0].s), kVarInstance);
delete (yyvsp[0].s); }
-#line 3243 "engines/director/lingo/lingo-gr.cpp"
+#line 3263 "engines/director/lingo/lingo-gr.cpp"
break;
case 145:
#line 728 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotoloop); }
-#line 3249 "engines/director/lingo/lingo-gr.cpp"
+#line 3269 "engines/director/lingo/lingo-gr.cpp"
break;
case 146:
#line 729 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotonext); }
-#line 3255 "engines/director/lingo/lingo-gr.cpp"
+#line 3275 "engines/director/lingo/lingo-gr.cpp"
break;
case 147:
#line 730 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotoprevious); }
-#line 3261 "engines/director/lingo/lingo-gr.cpp"
+#line 3281 "engines/director/lingo/lingo-gr.cpp"
break;
case 148:
@@ -3266,7 +3286,7 @@ yyreduce:
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(LC::c_goto); }
-#line 3270 "engines/director/lingo/lingo-gr.cpp"
+#line 3290 "engines/director/lingo/lingo-gr.cpp"
break;
case 149:
@@ -3275,7 +3295,7 @@ yyreduce:
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(LC::c_goto); }
-#line 3279 "engines/director/lingo/lingo-gr.cpp"
+#line 3299 "engines/director/lingo/lingo-gr.cpp"
break;
case 150:
@@ -3284,7 +3304,7 @@ yyreduce:
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(2);
g_lingo->code1(LC::c_goto); }
-#line 3288 "engines/director/lingo/lingo-gr.cpp"
+#line 3308 "engines/director/lingo/lingo-gr.cpp"
break;
case 153:
@@ -3293,7 +3313,7 @@ yyreduce:
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(LC::c_play); }
-#line 3297 "engines/director/lingo/lingo-gr.cpp"
+#line 3317 "engines/director/lingo/lingo-gr.cpp"
break;
case 154:
@@ -3302,7 +3322,7 @@ yyreduce:
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(LC::c_play); }
-#line 3306 "engines/director/lingo/lingo-gr.cpp"
+#line 3326 "engines/director/lingo/lingo-gr.cpp"
break;
case 155:
@@ -3311,13 +3331,13 @@ yyreduce:
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(2);
g_lingo->code1(LC::c_play); }
-#line 3315 "engines/director/lingo/lingo-gr.cpp"
+#line 3335 "engines/director/lingo/lingo-gr.cpp"
break;
case 156:
#line 759 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeSetImmediate(true); }
-#line 3321 "engines/director/lingo/lingo-gr.cpp"
+#line 3341 "engines/director/lingo/lingo-gr.cpp"
break;
case 157:
@@ -3326,13 +3346,13 @@ yyreduce:
g_lingo->codeSetImmediate(false);
g_lingo->codeFunc((yyvsp[-2].s), (yyvsp[0].narg));
delete (yyvsp[-2].s); }
-#line 3330 "engines/director/lingo/lingo-gr.cpp"
+#line 3350 "engines/director/lingo/lingo-gr.cpp"
break;
case 158:
#line 789 "engines/director/lingo/lingo-gr.y"
{ startDef(); }
-#line 3336 "engines/director/lingo/lingo-gr.cpp"
+#line 3356 "engines/director/lingo/lingo-gr.cpp"
break;
case 159:
@@ -3342,19 +3362,19 @@ yyreduce:
g_lingo->codeDefine(*(yyvsp[-5].s), (yyvsp[-4].code), (yyvsp[-3].narg));
endDef();
delete (yyvsp[-5].s); }
-#line 3346 "engines/director/lingo/lingo-gr.cpp"
+#line 3366 "engines/director/lingo/lingo-gr.cpp"
break;
case 160:
#line 795 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeFactory(*(yyvsp[0].s)); delete (yyvsp[0].s); }
-#line 3352 "engines/director/lingo/lingo-gr.cpp"
+#line 3372 "engines/director/lingo/lingo-gr.cpp"
break;
case 161:
#line 796 "engines/director/lingo/lingo-gr.y"
{ startDef(); (*g_lingo->_methodVars)["me"] = kVarArgument; }
-#line 3358 "engines/director/lingo/lingo-gr.cpp"
+#line 3378 "engines/director/lingo/lingo-gr.cpp"
break;
case 162:
@@ -3364,7 +3384,7 @@ yyreduce:
g_lingo->codeDefine(*(yyvsp[-6].s), (yyvsp[-4].code), (yyvsp[-3].narg) + 1);
endDef();
delete (yyvsp[-6].s); }
-#line 3368 "engines/director/lingo/lingo-gr.cpp"
+#line 3388 "engines/director/lingo/lingo-gr.cpp"
break;
case 163:
@@ -3377,7 +3397,7 @@ yyreduce:
checkEnd((yyvsp[-1].s), (yyvsp[-7].s)->c_str(), false);
delete (yyvsp[-7].s);
delete (yyvsp[-1].s); }
-#line 3381 "engines/director/lingo/lingo-gr.cpp"
+#line 3401 "engines/director/lingo/lingo-gr.cpp"
break;
case 164:
@@ -3387,139 +3407,139 @@ yyreduce:
g_lingo->codeDefine(*(yyvsp[-5].s), (yyvsp[-4].code), (yyvsp[-3].narg));
endDef();
delete (yyvsp[-5].s); }
-#line 3391 "engines/director/lingo/lingo-gr.cpp"
+#line 3411 "engines/director/lingo/lingo-gr.cpp"
break;
case 165:
#line 816 "engines/director/lingo/lingo-gr.y"
{ startDef(); }
-#line 3397 "engines/director/lingo/lingo-gr.cpp"
+#line 3417 "engines/director/lingo/lingo-gr.cpp"
break;
case 166:
#line 816 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = (yyvsp[0].s); }
-#line 3403 "engines/director/lingo/lingo-gr.cpp"
+#line 3423 "engines/director/lingo/lingo-gr.cpp"
break;
case 167:
#line 818 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; }
-#line 3409 "engines/director/lingo/lingo-gr.cpp"
+#line 3429 "engines/director/lingo/lingo-gr.cpp"
break;
case 168:
#line 819 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); mVar((yyvsp[0].s), kVarArgument); (yyval.narg) = 1; delete (yyvsp[0].s); }
-#line 3415 "engines/director/lingo/lingo-gr.cpp"
+#line 3435 "engines/director/lingo/lingo-gr.cpp"
break;
case 169:
#line 820 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); mVar((yyvsp[0].s), kVarArgument); (yyval.narg) = (yyvsp[-2].narg) + 1; delete (yyvsp[0].s); }
-#line 3421 "engines/director/lingo/lingo-gr.cpp"
+#line 3441 "engines/director/lingo/lingo-gr.cpp"
break;
case 171:
#line 823 "engines/director/lingo/lingo-gr.y"
{ delete (yyvsp[0].s); }
-#line 3427 "engines/director/lingo/lingo-gr.cpp"
+#line 3447 "engines/director/lingo/lingo-gr.cpp"
break;
case 172:
#line 824 "engines/director/lingo/lingo-gr.y"
{ delete (yyvsp[0].s); }
-#line 3433 "engines/director/lingo/lingo-gr.cpp"
+#line 3453 "engines/director/lingo/lingo-gr.cpp"
break;
case 173:
#line 826 "engines/director/lingo/lingo-gr.y"
{ inDef(); }
-#line 3439 "engines/director/lingo/lingo-gr.cpp"
+#line 3459 "engines/director/lingo/lingo-gr.cpp"
break;
case 174:
#line 828 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; }
-#line 3445 "engines/director/lingo/lingo-gr.cpp"
+#line 3465 "engines/director/lingo/lingo-gr.cpp"
break;
case 175:
#line 829 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3451 "engines/director/lingo/lingo-gr.cpp"
+#line 3471 "engines/director/lingo/lingo-gr.cpp"
break;
case 176:
#line 830 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3457 "engines/director/lingo/lingo-gr.cpp"
+#line 3477 "engines/director/lingo/lingo-gr.cpp"
break;
case 177:
#line 832 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3463 "engines/director/lingo/lingo-gr.cpp"
+#line 3483 "engines/director/lingo/lingo-gr.cpp"
break;
case 178:
#line 833 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3469 "engines/director/lingo/lingo-gr.cpp"
+#line 3489 "engines/director/lingo/lingo-gr.cpp"
break;
case 179:
#line 835 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[-1].code); }
-#line 3475 "engines/director/lingo/lingo-gr.cpp"
+#line 3495 "engines/director/lingo/lingo-gr.cpp"
break;
case 180:
#line 837 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code2(LC::c_arraypush, 0); }
-#line 3481 "engines/director/lingo/lingo-gr.cpp"
+#line 3501 "engines/director/lingo/lingo-gr.cpp"
break;
case 181:
#line 838 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code2(LC::c_proparraypush, 0); }
-#line 3487 "engines/director/lingo/lingo-gr.cpp"
+#line 3507 "engines/director/lingo/lingo-gr.cpp"
break;
case 182:
#line 839 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_proparraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3493 "engines/director/lingo/lingo-gr.cpp"
+#line 3513 "engines/director/lingo/lingo-gr.cpp"
break;
case 183:
#line 840 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_arraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3499 "engines/director/lingo/lingo-gr.cpp"
+#line 3519 "engines/director/lingo/lingo-gr.cpp"
break;
case 184:
#line 842 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3505 "engines/director/lingo/lingo-gr.cpp"
+#line 3525 "engines/director/lingo/lingo-gr.cpp"
break;
case 185:
#line 843 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3511 "engines/director/lingo/lingo-gr.cpp"
+#line 3531 "engines/director/lingo/lingo-gr.cpp"
break;
case 186:
#line 845 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3517 "engines/director/lingo/lingo-gr.cpp"
+#line 3537 "engines/director/lingo/lingo-gr.cpp"
break;
case 187:
#line 846 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3523 "engines/director/lingo/lingo-gr.cpp"
+#line 3543 "engines/director/lingo/lingo-gr.cpp"
break;
case 188:
@@ -3528,7 +3548,7 @@ yyreduce:
g_lingo->code1(LC::c_symbolpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
delete (yyvsp[-2].s); }
-#line 3532 "engines/director/lingo/lingo-gr.cpp"
+#line 3552 "engines/director/lingo/lingo-gr.cpp"
break;
case 189:
@@ -3537,7 +3557,7 @@ yyreduce:
g_lingo->code1(LC::c_stringpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
delete (yyvsp[-2].s); }
-#line 3541 "engines/director/lingo/lingo-gr.cpp"
+#line 3561 "engines/director/lingo/lingo-gr.cpp"
break;
case 190:
@@ -3546,11 +3566,11 @@ yyreduce:
g_lingo->code1(LC::c_stringpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
delete (yyvsp[-2].s); }
-#line 3550 "engines/director/lingo/lingo-gr.cpp"
+#line 3570 "engines/director/lingo/lingo-gr.cpp"
break;
-#line 3554 "engines/director/lingo/lingo-gr.cpp"
+#line 3574 "engines/director/lingo/lingo-gr.cpp"
default: break;
}
diff --git a/engines/director/lingo/lingo-gr.y b/engines/director/lingo/lingo-gr.y
index 2d1579d86e..26a45e9259 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -585,8 +585,8 @@ simpleexprnoparens: INT {
g_lingo->codeString($THEOBJECTPROP.prop->c_str());
delete $THEOBJECTPROP.obj;
delete $THEOBJECTPROP.prop; }
- | tSPRITE expr tINTERSECTS expr { g_lingo->code1(LC::c_intersects); }
- | tSPRITE expr tWITHIN expr { g_lingo->code1(LC::c_within); }
+ | tSPRITE expr tINTERSECTS simpleexpr { g_lingo->code1(LC::c_intersects); }
+ | tSPRITE expr tWITHIN simpleexpr { g_lingo->code1(LC::c_within); }
| list
| ID[func] '(' ID[method] ')' {
g_lingo->code1(LC::c_lazyeval);
@@ -638,14 +638,14 @@ expr: simpleexpr { $$ = $simpleexpr; }
chunkexpr: tFIELD simpleexprnoparens {
Common::String field("field");
g_lingo->codeFunc(&field, 1); }
- | tCHAR expr tOF expr { g_lingo->code1(LC::c_charOf); }
- | tCHAR expr tTO expr tOF expr { g_lingo->code1(LC::c_charToOf); }
- | tITEM expr tOF expr { g_lingo->code1(LC::c_itemOf); }
- | tITEM expr tTO expr tOF expr { g_lingo->code1(LC::c_itemToOf); }
- | tLINE expr tOF expr { g_lingo->code1(LC::c_lineOf); }
- | tLINE expr tTO expr tOF expr { g_lingo->code1(LC::c_lineToOf); }
- | tWORD expr tOF expr { g_lingo->code1(LC::c_wordOf); }
- | tWORD expr tTO expr tOF expr { g_lingo->code1(LC::c_wordToOf); }
+ | tCHAR expr tOF simpleexpr { g_lingo->code1(LC::c_charOf); }
+ | tCHAR expr tTO expr tOF simpleexpr { g_lingo->code1(LC::c_charToOf); }
+ | tITEM expr tOF simpleexpr { g_lingo->code1(LC::c_itemOf); }
+ | tITEM expr tTO expr tOF simpleexpr { g_lingo->code1(LC::c_itemToOf); }
+ | tLINE expr tOF simpleexpr { g_lingo->code1(LC::c_lineOf); }
+ | tLINE expr tTO expr tOF simpleexpr { g_lingo->code1(LC::c_lineToOf); }
+ | tWORD expr tOF simpleexpr { g_lingo->code1(LC::c_wordOf); }
+ | tWORD expr tTO expr tOF simpleexpr { g_lingo->code1(LC::c_wordToOf); }
reference: chunkexpr
| tCAST simpleexprnoparens {
Commit: 81dc7aaae38931045659da81f8fa2082a3b1444a
https://github.com/scummvm/scummvm/commit/81dc7aaae38931045659da81f8fa2082a3b1444a
Author: djsrv (dservilla at gmail.com)
Date: 2020-07-19T13:33:35-04:00
Commit Message:
DIRECTOR: LINGO: Move tNOT
Changed paths:
engines/director/lingo/lingo-gr.cpp
engines/director/lingo/lingo-gr.y
diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp
index 6bbd7c5a9b..6e953c471f 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -824,7 +824,7 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 99
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 2086
+#define YYLAST 2018
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 107
@@ -896,9 +896,9 @@ static const yytype_int16 yyrline[] =
348, 350, 351, 356, 369, 373, 376, 368, 403, 407,
410, 402, 437, 444, 450, 436, 480, 488, 491, 492,
494, 496, 498, 505, 513, 514, 516, 522, 526, 530,
- 534, 537, 539, 540, 542, 543, 545, 548, 551, 552,
- 553, 557, 561, 562, 570, 576, 579, 582, 588, 589,
- 590, 591, 597, 597, 602, 605, 613, 615, 616, 618,
+ 534, 537, 539, 540, 542, 543, 545, 548, 551, 555,
+ 559, 560, 561, 562, 563, 571, 577, 580, 583, 589,
+ 590, 591, 592, 598, 598, 603, 606, 614, 616, 617,
619, 620, 621, 622, 623, 624, 625, 626, 627, 628,
629, 630, 631, 632, 633, 634, 635, 636, 638, 641,
642, 643, 644, 645, 646, 647, 648, 650, 651, 654,
@@ -989,45 +989,45 @@ static const yytype_int16 yytoknum[] =
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- 1408, -356, -356, -356, -35, -356, 1062, -356, -356, -356,
- -31, 1277, -17, 13, 17, 17, 1309, 1150, -356, 1309,
- -356, -356, -356, -356, -356, -356, 25, -73, 480, -356,
+ 1387, -356, -356, -356, -35, -356, 1062, -356, -356, -356,
+ -31, 1277, -30, 13, 17, 17, 1309, 1150, -356, 1309,
+ -356, -356, -356, -356, -356, -356, 75, -4, 480, -356,
-356, -356, -356, 1309, -356, -356, -356, -356, -356, 1028,
- -356, -356, 17, -40, -356, -356, 1397, -356, 37, 1397,
- -356, -356, -356, 1309, -356, 11, -356, 1309, 1309, 1309,
- 1309, 1309, 1309, 1397, 1397, 600, 707, 814, 921, 1309,
- 127, -2, -356, -356, 1548, -356, -356, -356, -356, 17,
- -356, 17, 1515, 17, -356, -42, 1397, 1397, 2, 7,
- 41, -356, 1913, 1548, -356, 17, 1581, 17, 17, -356,
- 1408, 1185, 1979, -30, 1979, 17, -30, 17, -356, 5,
- -356, -356, 1397, -356, 1979, 1309, -356, 1628, 1661, 1694,
- 1727, 1946, -356, -356, -356, -356, -356, -356, 1872, 23,
- 27, -356, -82, 1979, 12, 28, 32, -356, 1185, 1309,
+ -356, -356, 17, -1, -356, -356, 1309, -356, 41, 1309,
+ -356, -356, -356, 1309, -356, 62, -356, 1309, 1309, 1309,
+ 1309, 1309, 1309, 1309, 1309, 600, 707, 814, 921, 1309,
+ 127, 19, -356, -356, 1513, -356, -356, -356, -356, 17,
+ -356, 17, 1480, 17, -356, -42, 1309, 1309, -3, 2,
+ 68, -356, 1845, 1513, -356, 17, 1546, 17, 17, -356,
+ 1387, 1185, 1911, 26, 1911, 17, 26, 17, -356, 28,
+ -356, -356, 1309, -356, 1911, 1309, -356, 1593, 1626, 1659,
+ 1692, 1878, -356, -356, -356, -356, -356, -356, 1804, 27,
+ 29, -356, -82, 1911, 18, 34, 36, -356, 1185, 1309,
1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309,
- 1309, 1309, 1309, 1309, 1309, 1309, -356, -356, 1397, 101,
- 101, 101, -26, 1309, 1309, 1309, 8, 89, 1309, 1309,
- 1309, 1309, 1309, 1309, -356, -356, 36, -356, -356, -356,
- 55, -356, -356, 53, 1872, -58, 1309, 114, -356, -7,
- 18, 17, -356, 1979, 1397, 1309, 1397, 1309, 1397, 1309,
- 1397, 1309, 1397, 1397, -356, 1309, 1309, 1309, -356, 1309,
- 66, 79, 40, -43, -43, -43, -43, 1992, 1992, -356,
- -5, -43, -43, -43, -43, -5, -60, -60, -356, -356,
- 17, 125, -356, -356, -356, -356, -356, -356, 1309, 1309,
- 1979, 1979, 1979, 1309, 1309, 17, 1979, 1979, 1979, 1979,
- 1979, 1979, 17, 426, 1475, 17, -356, -356, -356, 1979,
- 1475, -356, 17, -356, -356, -356, 1760, -356, 1793, -356,
- 1826, -356, 1859, -356, -356, 1979, 1979, 1979, 1979, 23,
- 27, 65, -356, -356, -356, -356, 20, 1309, 1979, 1476,
- -356, 1979, 1979, 1397, -356, -356, -356, -356, 73, -356,
- 1309, -356, 1475, -356, 1475, 1397, 1397, 1397, 1397, 1309,
- -356, 1979, -356, -356, -356, 1475, 14, -356, 103, 1475,
- 1979, 44, -356, 165, -356, -356, -356, -356, -356, 84,
- 1475, -356, -356, -356, -356, 1309, 1309, -356, -356, -356,
- 1309, 152, 17, -356, -356, -356, 139, 159, 110, 1979,
- 1979, 1979, 1475, 1309, -356, 116, -356, 104, -356, 1309,
- 154, -356, -356, 1979, -356, 17, -356, 1979, 1309, 124,
- 158, -356, 1475, -356, 1979, -356, 1475, 126, -356, -356,
- -356, -356, 1475, -356, -356, 128, 1475, -356, 129, -356
+ 1309, 1309, 1309, 1309, 1309, 1309, -356, -356, 1309, 101,
+ 101, 101, -26, 1309, 1309, 1309, 8, 94, 1309, 1309,
+ 1309, 1309, 1309, 1309, -356, -356, 40, -356, -356, -356,
+ 43, -356, -356, 53, 1804, -63, 1309, 105, -356, -43,
+ -32, 17, -356, 1911, 1309, 1309, 1309, 1309, 1309, 1309,
+ 1309, 1309, 1309, 1309, -356, 1309, 1309, 1309, -356, 1309,
+ 66, 79, -58, 121, 121, 121, 121, 1924, 1924, -356,
+ -44, 121, 121, 121, 121, -44, -60, -60, -356, -356,
+ 17, 103, -356, -356, -356, -356, -356, -356, 1309, 1309,
+ 1911, 1911, 1911, 1309, 1309, 17, 1911, 1911, 1911, 1911,
+ 1911, 1911, 17, 248, 1440, 17, -356, -356, -356, 1911,
+ 1440, -356, 17, -356, -356, -356, 1441, -356, 1725, -356,
+ 1758, -356, 1791, -356, -356, 1911, 1911, 1911, 1911, 27,
+ 29, 61, -356, -356, -356, -356, -27, 1309, 1911, 1330,
+ -356, 1911, 1911, 1309, -356, -356, -356, -356, 69, -356,
+ 1309, -356, 1440, -356, 1440, 1309, 1309, 1309, 1309, 1309,
+ -356, 1911, -356, -356, -356, 1440, 10, -356, 84, 1440,
+ 1911, -25, -356, 146, -356, -356, -356, -356, -356, -9,
+ 1440, -356, -356, -356, -356, 1309, 1309, -356, -356, -356,
+ 1309, 81, 17, -356, -356, -356, 132, 152, 102, 1911,
+ 1911, 1911, 1440, 1309, -356, 104, -356, 89, -356, 1309,
+ 140, -356, -356, 1911, -356, 17, -356, 1911, 1309, 111,
+ 148, -356, 1440, -356, 1911, -356, 1440, 122, -356, -356,
+ -356, -356, 1440, -356, -356, 123, 1440, -356, 130, -356
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -1039,37 +1039,37 @@ static const yytype_uint8 yydefact[] =
0, 0, 0, 0, 0, 0, 0, 0, 130, 0,
128, 165, 8, 9, 10, 11, 0, 2, 0, 29,
31, 6, 32, 0, 30, 122, 123, 5, 61, 0,
- 61, 124, 0, 0, 66, 73, 0, 67, 0, 0,
- 71, 70, 77, 0, 146, 0, 147, 0, 0, 0,
+ 61, 124, 0, 0, 66, 74, 0, 67, 0, 0,
+ 69, 68, 78, 0, 146, 0, 147, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 85, 87, 89, 148, 117, 72, 150, 80, 0,
+ 0, 86, 88, 90, 148, 117, 73, 150, 81, 0,
46, 0, 121, 0, 61, 0, 0, 0, 0, 0,
0, 160, 133, 153, 155, 0, 0, 0, 0, 1,
4, 0, 175, 138, 57, 167, 157, 167, 139, 127,
- 86, 74, 0, 75, 152, 0, 103, 0, 0, 0,
- 0, 0, 68, 69, 118, 108, 119, 120, 0, 71,
- 70, 181, 85, 184, 0, 183, 182, 186, 0, 0,
+ 87, 75, 0, 76, 152, 0, 72, 0, 0, 0,
+ 0, 0, 70, 71, 118, 108, 119, 120, 0, 69,
+ 68, 181, 86, 184, 0, 183, 182, 186, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 61, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 154, 143, 131, 51, 51, 141,
- 129, 166, 3, 85, 175, 0, 0, 0, 168, 0,
- 0, 0, 76, 151, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 88, 0, 0, 0, 179, 0,
- 0, 85, 0, 99, 100, 97, 98, 101, 102, 94,
- 105, 106, 107, 96, 95, 104, 90, 91, 92, 93,
+ 129, 166, 3, 86, 175, 0, 0, 0, 168, 0,
+ 0, 0, 77, 151, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 89, 0, 0, 0, 179, 0,
+ 0, 86, 0, 100, 101, 98, 99, 102, 103, 95,
+ 105, 106, 107, 97, 96, 104, 91, 92, 93, 94,
167, 0, 12, 13, 15, 16, 17, 18, 0, 0,
57, 22, 20, 0, 0, 0, 27, 28, 21, 19,
47, 132, 0, 0, 64, 0, 134, 135, 137, 176,
64, 173, 0, 173, 140, 109, 0, 111, 0, 113,
- 0, 115, 0, 78, 79, 189, 188, 190, 185, 0,
- 0, 0, 187, 81, 82, 84, 0, 0, 42, 34,
+ 0, 115, 0, 79, 80, 189, 188, 190, 185, 0,
+ 0, 0, 187, 82, 83, 85, 0, 0, 42, 34,
50, 23, 24, 0, 144, 61, 65, 61, 62, 142,
0, 58, 64, 169, 64, 0, 0, 0, 0, 0,
173, 14, 61, 59, 59, 64, 0, 49, 0, 64,
177, 0, 54, 164, 162, 110, 112, 114, 116, 0,
64, 43, 35, 39, 58, 0, 0, 48, 63, 136,
- 0, 61, 170, 83, 159, 57, 0, 0, 0, 25,
+ 0, 61, 170, 84, 159, 57, 0, 0, 0, 25,
26, 178, 64, 0, 55, 0, 171, 163, 44, 0,
0, 33, 61, 57, 52, 0, 50, 36, 0, 0,
0, 172, 64, 57, 40, 53, 64, 0, 50, 57,
@@ -1079,13 +1079,13 @@ static const yytype_uint8 yydefact[] =
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -356, 113, -356, 0, -356, -37, 3, -356, -356, -356,
- -356, -356, -356, -356, -356, -356, -355, 39, -356, -356,
- -356, -239, -327, -94, -356, -38, -250, -356, 9, -356,
+ -356, 107, -356, 0, -356, -36, 3, -356, -356, -356,
+ -356, -356, -356, -356, -356, -356, -355, 42, -356, -356,
+ -356, -239, -327, -93, -356, -38, -250, -356, 20, -356,
-28, 252, 24, -356, -356, -356, -356, -356, -356, -356,
-356, -356, -356, -11, -356, -356, -356, -356, -356, -356,
- -356, -103, -356, -255, -34, -88, -356, -356, -356, -356,
- 19
+ -356, -103, -356, -255, -34, -87, -356, -356, -356, -356,
+ 25
};
/* YYDEFGOTO[NTERM-NUM]. */
@@ -1107,39 +1107,39 @@ static const yytype_int16 yytable[] =
{
28, 290, 107, 31, 190, 106, 94, 348, 304, 145,
301, 372, 164, 89, 90, 91, 41, 238, 111, 138,
- 80, 113, 165, 382, 207, 99, 145, 100, 386, 146,
- 85, 86, 87, 154, 155, 122, 123, 1, 239, 83,
- 84, 1, 108, 88, 258, 186, 163, 151, 152, 153,
- 154, 155, 323, 384, 324, 330, 168, 115, 166, 167,
- 110, 170, 243, 156, 145, 334, 169, 185, 335, 338,
- 132, 171, 244, 186, 124, 125, 126, 127, 336, 157,
- 344, 158, 174, 162, 192, 112, 152, 153, 154, 155,
- 1, 279, 280, 261, 172, 175, 262, 179, 181, 138,
- 28, 183, 362, 31, 212, 188, 358, 188, 191, 22,
- 23, 24, 25, 22, 23, 24, 25, 208, 263, 230,
- 310, 262, 377, 262, 370, 1, 380, 286, 43, 205,
- 231, 209, 385, 206, 378, 210, 388, 245, 211, 252,
- 383, 44, 285, 186, 45, 46, 339, 340, 47, 48,
- 49, 1, 129, 130, 138, 256, 257, 52, 255, 232,
- 234, 236, 22, 23, 24, 25, 265, 260, 267, 287,
- 269, 207, 271, 319, 273, 274, 58, 59, 60, 61,
- 138, 283, 284, 233, 235, 237, 343, 340, 352, 353,
- 337, 264, 342, 359, 360, 57, 361, 22, 66, 24,
- 25, 364, 58, 59, 60, 61, 62, 365, 368, 375,
- 281, 376, 381, 182, 387, 389, 295, 254, 63, 64,
- 333, 329, 0, 65, 66, 67, 68, 0, 69, 282,
- 188, 70, -180, 131, 0, 0, 0, 0, 0, 0,
+ 80, 113, 165, 382, 207, 145, 83, 84, 386, 116,
+ 85, 86, 87, 154, 155, 122, 123, 1, 239, 258,
+ 186, 1, 108, 88, 285, 186, 163, 152, 153, 154,
+ 155, 168, 323, 384, 324, 330, 170, 261, 166, 167,
+ 262, 169, 243, 156, 335, 334, 171, 185, 263, 338,
+ 132, 262, 244, 310, 336, 99, 262, 339, 340, 157,
+ 344, 158, 174, 162, 192, 124, 125, 126, 127, 112,
+ 1, 279, 280, 343, 340, 175, 100, 179, 181, 110,
+ 28, 183, 362, 31, 212, 188, 358, 188, 115, 22,
+ 23, 24, 25, 22, 23, 24, 25, 352, 353, 230,
+ 138, 172, 377, 208, 370, 1, 380, 286, 43, 186,
+ 231, 191, 385, 205, 378, 206, 388, 209, 211, 210,
+ 383, 44, 245, 252, 45, 46, 255, 287, 47, 48,
+ 49, 1, 129, 130, 138, 256, 257, 52, 260, 232,
+ 234, 236, 22, 23, 24, 25, 265, 207, 267, 319,
+ 269, 337, 271, 342, 273, 274, 58, 59, 60, 61,
+ 138, 283, 284, 233, 235, 237, 359, 360, 361, 364,
+ 145, 264, 365, 146, 368, 57, 375, 22, 66, 24,
+ 25, 376, 58, 59, 60, 61, 62, 182, 381, 387,
+ 281, 151, 152, 153, 154, 155, 389, 295, 63, 64,
+ 254, 333, 329, 65, 66, 67, 68, 0, 69, 0,
+ 188, 70, -180, 131, 0, 282, 0, 0, 0, 0,
0, 0, 0, 0, 0, 293, 0, 0, 0, 0,
0, 0, 294, 28, 28, 299, 0, 317, 74, 318,
28, 0, 303, 82, 0, 316, 0, 0, 92, 93,
- 0, 96, 0, 0, 331, 0, 0, 325, 326, 327,
- 328, 0, 0, 0, 0, 104, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 28, 355, 28, 114, 0, 0, 0, 116,
+ 0, 96, 1, 0, 331, 0, 2, 325, 326, 327,
+ 328, 0, 0, 0, 0, 104, 4, 5, 6, 7,
+ 0, 0, 0, 0, 0, 0, 0, 0, 11, 0,
+ 13, 0, 28, 355, 28, 114, 0, 16, 17, 18,
117, 118, 119, 120, 121, 28, 0, 0, 0, 28,
0, 128, 133, 0, 369, 0, 0, 0, 0, 0,
- 28, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 356, 0, 0, 0, 0, 0, 0, 0,
+ 28, 20, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 356, 0, 22, 23, 24, 25, 0, 0,
0, 0, 28, 184, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 371, 0, 193, 0, 0,
0, 0, 28, 0, 0, 0, 28, 0, 0, 0,
@@ -1150,14 +1150,14 @@ static const yytype_int16 yytable[] =
246, 247, 248, 249, 250, 251, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 259, 0,
0, 0, 0, 0, 0, 0, 0, 266, 0, 268,
- 1, 270, 0, 272, 2, 0, 0, 275, 276, 277,
- 0, 278, 0, 0, 4, 5, 6, 7, 0, 0,
- 0, 0, 0, 0, 0, 0, 11, 0, 13, 0,
- -174, 43, 0, 0, 0, 16, 17, 18, 0, 0,
+ 0, 270, 0, 272, 0, 0, 0, 275, 276, 277,
+ 0, 278, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ -174, 43, 0, 0, 0, 0, 0, 0, 0, 0,
288, 289, 0, 0, 44, 291, 292, 45, 46, 0,
- 0, 47, 48, 49, 1, 50, 51, -174, 0, 20,
+ 0, 47, 48, 49, 1, 50, 51, -174, 0, 0,
52, 0, 0, 0, 0, 0, -174, -174, 0, 0,
- 0, 0, 22, 23, 24, 25, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 311,
0, 0, 0, 0, 0, 0, 0, 0, 57, 0,
0, 0, 320, 0, 0, 58, 59, 60, 61, 62,
@@ -1171,7 +1171,7 @@ static const yytype_int16 yytable[] =
52, 0, 0, 0, 0, -8, -8, -8, -8, -8,
-8, -8, -8, 0, -8, 0, -8, -8, -8, 0,
-8, -8, -8, -8, -8, -8, -8, 0, 0, -8,
- -8, -8, -8, -8, -8, -8, -8, -8, 0, -8,
+ -8, -8, -8, -8, -8, -8, -8, -8, 57, -8,
-8, -8, -8, -8, -8, 58, 59, 60, 61, 62,
-8, -8, -8, -8, 0, -8, -8, -8, -8, -8,
-8, -8, -8, -8, -8, 0, 65, 66, 67, 68,
@@ -1182,7 +1182,7 @@ static const yytype_int16 yytable[] =
0, 0, -9, -9, -9, -9, -9, -9, -9, -9,
0, -9, 0, -9, -9, -9, 0, -9, -9, -9,
-9, -9, -9, -9, 0, 0, -9, -9, -9, -9,
- -9, -9, -9, -9, -9, 0, -9, -9, -9, -9,
+ -9, -9, -9, -9, -9, 57, -9, -9, -9, -9,
-9, -9, 58, 59, 60, 61, 62, -9, -9, -9,
-9, 0, -9, -9, -9, -9, -9, -9, -9, -9,
-9, -9, 0, 65, 66, 67, 68, -9, -9, -9,
@@ -1193,7 +1193,7 @@ static const yytype_int16 yytable[] =
-10, -10, -10, -10, -10, -10, -10, 0, -10, 0,
-10, -10, -10, 0, -10, -10, -10, -10, -10, -10,
-10, 0, 0, -10, -10, -10, -10, -10, -10, -10,
- -10, -10, 0, -10, -10, -10, -10, -10, -10, 58,
+ -10, -10, 57, -10, -10, -10, -10, -10, -10, 58,
59, 60, 61, 62, -10, -10, -10, -10, 0, -10,
-10, -10, -10, -10, -10, -10, -10, -10, -10, 0,
65, 66, 67, 68, -10, -10, -10, -10, 70, -10,
@@ -1203,7 +1203,7 @@ static const yytype_int16 yytable[] =
0, 52, 0, 0, 0, 0, -11, -11, -11, -11,
-11, -11, -11, -11, 0, -11, 0, -11, -11, -11,
0, -11, -11, -11, -11, -11, -11, -11, 0, 0,
- -11, -11, -11, -11, -11, -11, -11, -11, -11, 0,
+ -11, -11, -11, -11, -11, -11, -11, -11, -11, 57,
-11, -11, -11, -11, -11, -11, 58, 59, 60, 61,
62, -11, -11, -11, -11, 0, -11, -11, -11, -11,
-11, -11, -11, -11, -11, -11, 0, 65, 66, 67,
@@ -1241,118 +1241,111 @@ static const yytype_int16 yytable[] =
47, 48, 49, 1, 50, 51, 0, 0, 0, 52,
0, 0, 0, 0, 0, 57, 0, 0, 0, 0,
0, 0, 58, 59, 60, 61, 62, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 63, 64,
+ 0, 0, 0, 0, 0, -38, 0, 0, 63, 64,
0, 0, 0, 65, 66, 67, 68, 57, 69, 0,
0, 70, 0, 0, 58, 59, 60, 61, 62, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 43, 0,
- 63, 64, 0, 0, 0, 65, 66, 67, 68, 0,
- 69, 44, 0, 70, 45, 46, 0, 0, 47, 48,
- 49, 1, 50, 51, 0, 0, 0, 52, 0, 0,
- 0, 0, 1, 0, 0, 0, 2, 3, 0, 0,
- 0, 0, 0, 0, 0, 0, 4, 5, 6, 7,
- 8, 0, 0, 9, 0, 10, 0, 0, 11, 12,
- 13, 0, 0, 14, 0, 0, 15, 16, 17, 18,
- 0, 0, 58, 59, 60, 61, 62, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 63, 64,
- 19, 20, 21, 65, 66, 67, 68, 0, 69, 1,
- 0, 70, 0, 2, 22, 23, 24, 25, 0, 0,
- 0, -38, 0, 4, 5, 6, 7, 8, 0, 0,
- 0, 0, 10, 0, 0, 11, 12, 13, 0, 0,
- 14, 0, 0, 0, 16, 17, 18, 0, 139, 140,
- 141, 142, 143, 144, 0, 145, 0, 0, 146, 147,
- 148, 0, 0, 0, 0, 0, 0, 19, 20, 159,
- 0, 0, 0, 0, 149, 150, 151, 152, 153, 154,
- 155, 22, 23, 24, 25, 0, 0, 139, 140, 141,
- 142, 143, 144, 0, 145, 160, 161, 146, 147, 148,
- 0, 0, 0, 0, 53, 0, 55, 0, 0, 0,
- 0, 0, 0, 149, 150, 151, 152, 153, 154, 155,
- 139, 140, 141, 142, 143, 144, 0, 145, 0, 0,
- 146, 147, 148, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 177, 149, 150, 151, 152,
- 153, 154, 155, 139, 140, 141, 142, 143, 144, 0,
- 145, 0, 0, 146, 147, 148, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 149,
- 150, 151, 152, 153, 154, 155, 194, 0, 0, 0,
- 0, 178, 195, 0, 0, 0, 0, 0, 0, 0,
- 139, 140, 141, 142, 143, 144, 0, 145, 0, 0,
- 146, 147, 148, 0, 0, 0, 0, 0, 0, 196,
- 0, 0, 0, 0, 0, 197, 149, 150, 151, 152,
- 153, 154, 155, 139, 140, 141, 142, 143, 144, 0,
+ 0, 0, 139, 140, 141, 142, 143, 144, 0, 145,
+ 63, 64, 146, 147, 148, 65, 66, 67, 68, 0,
+ 69, 1, 0, 70, 0, 2, 3, 0, 149, 150,
+ 151, 152, 153, 154, 155, 4, 5, 6, 7, 8,
+ 0, 0, 9, 0, 10, 0, 0, 11, 12, 13,
+ 0, 0, 14, 0, 0, 15, 16, 17, 18, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 2, 19,
+ 20, 21, 0, 0, 0, 0, 0, 0, 4, 5,
+ 6, 7, 8, 22, 23, 24, 25, 10, 0, 305,
+ 11, 12, 13, 0, 0, 14, 0, 0, 0, 16,
+ 17, 18, 0, 139, 140, 141, 142, 143, 144, 0,
145, 0, 0, 146, 147, 148, 0, 0, 0, 0,
- 0, 0, 198, 0, 0, 0, 0, 0, 199, 149,
- 150, 151, 152, 153, 154, 155, 139, 140, 141, 142,
- 143, 144, 0, 145, 0, 0, 146, 147, 148, 0,
- 0, 0, 0, 0, 0, 200, 0, 0, 0, 0,
- 0, 201, 149, 150, 151, 152, 153, 154, 155, 139,
- 140, 141, 142, 143, 144, 0, 145, 0, 0, 146,
- 147, 148, 0, 0, 0, 0, 0, 0, 305, 0,
- 0, 0, 0, 0, 0, 149, 150, 151, 152, 153,
- 154, 155, 139, 140, 141, 142, 143, 144, 0, 145,
- 0, 0, 146, 147, 148, 0, 0, 0, 0, 0,
- 0, 306, 0, 0, 0, 0, 0, 0, 149, 150,
+ 0, 0, 19, 20, 159, 0, 0, 0, 0, 149,
+ 150, 151, 152, 153, 154, 155, 22, 23, 24, 25,
+ 0, 0, 139, 140, 141, 142, 143, 144, 0, 145,
+ 160, 161, 146, 147, 148, 0, 0, 0, 0, 53,
+ 0, 55, 0, 0, 0, 0, 0, 0, 149, 150,
151, 152, 153, 154, 155, 139, 140, 141, 142, 143,
144, 0, 145, 0, 0, 146, 147, 148, 0, 0,
- 0, 0, 0, 0, 307, 0, 0, 0, 0, 0,
- 0, 149, 150, 151, 152, 153, 154, 155, 139, 140,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 177, 149, 150, 151, 152, 153, 154, 155, 139, 140,
141, 142, 143, 144, 0, 145, 0, 0, 146, 147,
- 148, 0, 0, 0, 0, 0, 0, 308, 0, 0,
+ 148, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 151, 152, 153, 154,
- 155, 139, 140, 141, 142, 143, 144, 0, 145, 0,
- 0, 146, 147, 148, 139, 140, 141, 142, 143, 144,
- 0, 145, 0, 0, 146, 147, 148, 149, 150, 151,
- 152, 153, 154, 155, 0, 0, 0, 0, 0, 0,
- 149, 150, 151, 152, 153, 154, 155, 0, 0, 173,
- 0, 0, 0, 0, 204, 139, 140, 141, 142, 143,
+ 155, 194, 0, 0, 0, 0, 178, 195, 0, 0,
+ 0, 0, 0, 0, 0, 139, 140, 141, 142, 143,
144, 0, 145, 0, 0, 146, 147, 148, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 149, 150, 151, 152, 153, 154, 155, 139, 140,
+ 0, 0, 0, 0, 196, 0, 0, 0, 0, 0,
+ 197, 149, 150, 151, 152, 153, 154, 155, 139, 140,
141, 142, 143, 144, 0, 145, 0, 0, 146, 147,
- 148, 0, 0, 0, 0, 0, 202, 203, 0, 0,
- 0, 0, 0, 0, 149, 150, 151, 152, 153, 154,
+ 148, 0, 0, 0, 0, 0, 0, 198, 0, 0,
+ 0, 0, 0, 199, 149, 150, 151, 152, 153, 154,
155, 139, 140, 141, 142, 143, 144, 0, 145, 0,
- 0, 146, 147, 148, 139, 140, 141, 142, 0, 0,
- 0, 145, 0, 0, 146, 147, 148, 149, 150, 151,
- 152, 153, 154, 155, 0, 0, 0, 0, 0, 0,
- 149, 150, 151, 152, 153, 154, 155
+ 0, 146, 147, 148, 0, 0, 0, 0, 0, 0,
+ 200, 0, 0, 0, 0, 0, 201, 149, 150, 151,
+ 152, 153, 154, 155, 139, 140, 141, 142, 143, 144,
+ 0, 145, 0, 0, 146, 147, 148, 0, 0, 0,
+ 0, 0, 0, 306, 0, 0, 0, 0, 0, 0,
+ 149, 150, 151, 152, 153, 154, 155, 139, 140, 141,
+ 142, 143, 144, 0, 145, 0, 0, 146, 147, 148,
+ 0, 0, 0, 0, 0, 0, 307, 0, 0, 0,
+ 0, 0, 0, 149, 150, 151, 152, 153, 154, 155,
+ 139, 140, 141, 142, 143, 144, 0, 145, 0, 0,
+ 146, 147, 148, 0, 0, 0, 0, 0, 0, 308,
+ 0, 0, 0, 0, 0, 0, 149, 150, 151, 152,
+ 153, 154, 155, 139, 140, 141, 142, 143, 144, 0,
+ 145, 0, 0, 146, 147, 148, 139, 140, 141, 142,
+ 143, 144, 0, 145, 0, 0, 146, 147, 148, 149,
+ 150, 151, 152, 153, 154, 155, 0, 0, 0, 0,
+ 0, 0, 149, 150, 151, 152, 153, 154, 155, 0,
+ 0, 173, 0, 0, 0, 0, 204, 139, 140, 141,
+ 142, 143, 144, 0, 145, 0, 0, 146, 147, 148,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 149, 150, 151, 152, 153, 154, 155,
+ 139, 140, 141, 142, 143, 144, 0, 145, 0, 0,
+ 146, 147, 148, 0, 0, 0, 0, 0, 202, 203,
+ 0, 0, 0, 0, 0, 0, 149, 150, 151, 152,
+ 153, 154, 155, 139, 140, 141, 142, 143, 144, 0,
+ 145, 0, 0, 146, 147, 148, 139, 140, 141, 142,
+ 0, 0, 0, 145, 0, 0, 146, 147, 148, 149,
+ 150, 151, 152, 153, 154, 155, 0, 0, 0, 0,
+ 0, 0, 149, 150, 151, 152, 153, 154, 155
};
static const yytype_int16 yycheck[] =
{
0, 240, 40, 0, 107, 39, 17, 334, 263, 69,
260, 366, 54, 13, 14, 15, 51, 43, 46, 101,
- 51, 49, 64, 378, 106, 0, 69, 100, 383, 72,
- 17, 18, 19, 93, 94, 63, 64, 24, 64, 56,
- 57, 24, 42, 30, 102, 103, 84, 90, 91, 92,
- 93, 94, 302, 380, 304, 310, 54, 46, 86, 87,
- 100, 54, 54, 74, 69, 315, 64, 101, 54, 319,
- 70, 64, 64, 103, 65, 66, 67, 68, 64, 79,
- 330, 81, 93, 83, 112, 48, 91, 92, 93, 94,
- 24, 25, 26, 100, 53, 95, 103, 97, 98, 101,
- 100, 101, 352, 100, 138, 105, 345, 107, 103, 96,
- 97, 98, 99, 96, 97, 98, 99, 105, 100, 157,
- 100, 103, 372, 103, 363, 24, 376, 230, 1, 106,
- 158, 103, 382, 106, 373, 103, 386, 48, 138, 103,
- 379, 14, 102, 103, 17, 18, 102, 103, 21, 22,
- 23, 24, 25, 26, 101, 102, 103, 30, 103, 159,
- 160, 161, 96, 97, 98, 99, 194, 53, 196, 44,
- 198, 106, 200, 100, 202, 203, 75, 76, 77, 78,
- 101, 102, 103, 159, 160, 161, 102, 103, 36, 37,
- 87, 191, 27, 54, 35, 68, 86, 96, 97, 98,
- 99, 85, 75, 76, 77, 78, 79, 103, 54, 85,
- 210, 53, 86, 100, 86, 86, 253, 178, 91, 92,
- 314, 309, -1, 96, 97, 98, 99, -1, 101, 210,
- 230, 104, 105, 106, -1, -1, -1, -1, -1, -1,
+ 51, 49, 64, 378, 106, 69, 56, 57, 383, 57,
+ 17, 18, 19, 93, 94, 63, 64, 24, 64, 102,
+ 103, 24, 42, 30, 102, 103, 84, 91, 92, 93,
+ 94, 54, 302, 380, 304, 310, 54, 100, 86, 87,
+ 103, 64, 54, 74, 54, 315, 64, 101, 100, 319,
+ 70, 103, 64, 100, 64, 0, 103, 102, 103, 79,
+ 330, 81, 93, 83, 112, 65, 66, 67, 68, 48,
+ 24, 25, 26, 102, 103, 95, 100, 97, 98, 100,
+ 100, 101, 352, 100, 138, 105, 345, 107, 46, 96,
+ 97, 98, 99, 96, 97, 98, 99, 36, 37, 157,
+ 101, 53, 372, 105, 363, 24, 376, 230, 1, 103,
+ 158, 103, 382, 106, 373, 106, 386, 103, 138, 103,
+ 379, 14, 48, 103, 17, 18, 103, 44, 21, 22,
+ 23, 24, 25, 26, 101, 102, 103, 30, 53, 159,
+ 160, 161, 96, 97, 98, 99, 194, 106, 196, 100,
+ 198, 87, 200, 27, 202, 203, 75, 76, 77, 78,
+ 101, 102, 103, 159, 160, 161, 54, 35, 86, 85,
+ 69, 191, 103, 72, 54, 68, 85, 96, 97, 98,
+ 99, 53, 75, 76, 77, 78, 79, 100, 86, 86,
+ 210, 90, 91, 92, 93, 94, 86, 253, 91, 92,
+ 178, 314, 309, 96, 97, 98, 99, -1, 101, -1,
+ 230, 104, 105, 106, -1, 210, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 245, -1, -1, -1, -1,
-1, -1, 252, 253, 254, 255, -1, 295, 6, 297,
260, -1, 262, 11, -1, 293, -1, -1, 16, 17,
- -1, 19, -1, -1, 312, -1, -1, 305, 306, 307,
- 308, -1, -1, -1, -1, 33, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 302, 341, 304, 53, -1, -1, -1, 57,
+ -1, 19, 24, -1, 312, -1, 28, 305, 306, 307,
+ 308, -1, -1, -1, -1, 33, 38, 39, 40, 41,
+ -1, -1, -1, -1, -1, -1, -1, -1, 50, -1,
+ 52, -1, 302, 341, 304, 53, -1, 59, 60, 61,
58, 59, 60, 61, 62, 315, -1, -1, -1, 319,
-1, 69, 70, -1, 362, -1, -1, -1, -1, -1,
- 330, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 342, -1, -1, -1, -1, -1, -1, -1,
+ 330, 83, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 342, -1, 96, 97, 98, 99, -1, -1,
-1, -1, 352, 101, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 365, -1, 115, -1, -1,
-1, -1, 372, -1, -1, -1, 376, -1, -1, -1,
@@ -1363,14 +1356,14 @@ static const yytype_int16 yycheck[] =
168, 169, 170, 171, 172, 173, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 186, -1,
-1, -1, -1, -1, -1, -1, -1, 195, -1, 197,
- 24, 199, -1, 201, 28, -1, -1, 205, 206, 207,
- -1, 209, -1, -1, 38, 39, 40, 41, -1, -1,
- -1, -1, -1, -1, -1, -1, 50, -1, 52, -1,
- 0, 1, -1, -1, -1, 59, 60, 61, -1, -1,
+ -1, 199, -1, 201, -1, -1, -1, 205, 206, 207,
+ -1, 209, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 0, 1, -1, -1, -1, -1, -1, -1, -1, -1,
238, 239, -1, -1, 14, 243, 244, 17, 18, -1,
- -1, 21, 22, 23, 24, 25, 26, 27, -1, 83,
+ -1, 21, 22, 23, 24, 25, 26, 27, -1, -1,
30, -1, -1, -1, -1, -1, 36, 37, -1, -1,
- -1, -1, 96, 97, 98, 99, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 287,
-1, -1, -1, -1, -1, -1, -1, -1, 68, -1,
-1, -1, 300, -1, -1, 75, 76, 77, 78, 79,
@@ -1384,7 +1377,7 @@ static const yytype_int16 yycheck[] =
30, -1, -1, -1, -1, 35, 36, 37, 38, 39,
40, 41, 42, -1, 44, -1, 46, 47, 48, -1,
50, 51, 52, 53, 54, 55, 56, -1, -1, 59,
- 60, 61, 62, 63, 64, 65, 66, 67, -1, 69,
+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
80, 81, 82, 83, -1, 85, 86, 87, 88, 89,
90, 91, 92, 93, 94, -1, 96, 97, 98, 99,
@@ -1395,7 +1388,7 @@ static const yytype_int16 yycheck[] =
-1, -1, 35, 36, 37, 38, 39, 40, 41, 42,
-1, 44, -1, 46, 47, 48, -1, 50, 51, 52,
53, 54, 55, 56, -1, -1, 59, 60, 61, 62,
- 63, 64, 65, 66, 67, -1, 69, 70, 71, 72,
+ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
83, -1, 85, 86, 87, 88, 89, 90, 91, 92,
93, 94, -1, 96, 97, 98, 99, 100, 101, 102,
@@ -1406,7 +1399,7 @@ static const yytype_int16 yycheck[] =
36, 37, 38, 39, 40, 41, 42, -1, 44, -1,
46, 47, 48, -1, 50, 51, 52, 53, 54, 55,
56, -1, -1, 59, 60, 61, 62, 63, 64, 65,
- 66, 67, -1, 69, 70, 71, 72, 73, 74, 75,
+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
76, 77, 78, 79, 80, 81, 82, 83, -1, 85,
86, 87, 88, 89, 90, 91, 92, 93, 94, -1,
96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
@@ -1416,7 +1409,7 @@ static const yytype_int16 yycheck[] =
-1, 30, -1, -1, -1, -1, 35, 36, 37, 38,
39, 40, 41, 42, -1, 44, -1, 46, 47, 48,
-1, 50, 51, 52, 53, 54, 55, 56, -1, -1,
- 59, 60, 61, 62, 63, 64, 65, 66, 67, -1,
+ 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, -1, 85, 86, 87, 88,
89, 90, 91, 92, 93, 94, -1, 96, 97, 98,
@@ -1454,79 +1447,72 @@ static const yytype_int16 yycheck[] =
21, 22, 23, 24, 25, 26, -1, -1, -1, 30,
-1, -1, -1, -1, -1, 68, -1, -1, -1, -1,
-1, -1, 75, 76, 77, 78, 79, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 91, 92,
+ -1, -1, -1, -1, -1, 35, -1, -1, 91, 92,
-1, -1, -1, 96, 97, 98, 99, 68, 101, -1,
-1, 104, -1, -1, 75, 76, 77, 78, 79, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 1, -1,
- 91, 92, -1, -1, -1, 96, 97, 98, 99, -1,
- 101, 14, -1, 104, 17, 18, -1, -1, 21, 22,
- 23, 24, 25, 26, -1, -1, -1, 30, -1, -1,
- -1, -1, 24, -1, -1, -1, 28, 29, -1, -1,
- -1, -1, -1, -1, -1, -1, 38, 39, 40, 41,
- 42, -1, -1, 45, -1, 47, -1, -1, 50, 51,
- 52, -1, -1, 55, -1, -1, 58, 59, 60, 61,
- -1, -1, 75, 76, 77, 78, 79, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 91, 92,
- 82, 83, 84, 96, 97, 98, 99, -1, 101, 24,
- -1, 104, -1, 28, 96, 97, 98, 99, -1, -1,
- -1, 35, -1, 38, 39, 40, 41, 42, -1, -1,
- -1, -1, 47, -1, -1, 50, 51, 52, -1, -1,
- 55, -1, -1, -1, 59, 60, 61, -1, 62, 63,
- 64, 65, 66, 67, -1, 69, -1, -1, 72, 73,
- 74, -1, -1, -1, -1, -1, -1, 82, 83, 44,
- -1, -1, -1, -1, 88, 89, 90, 91, 92, 93,
- 94, 96, 97, 98, 99, -1, -1, 62, 63, 64,
- 65, 66, 67, -1, 69, 70, 71, 72, 73, 74,
- -1, -1, -1, -1, 46, -1, 48, -1, -1, -1,
- -1, -1, -1, 88, 89, 90, 91, 92, 93, 94,
- 62, 63, 64, 65, 66, 67, -1, 69, -1, -1,
- 72, 73, 74, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 54, 88, 89, 90, 91,
- 92, 93, 94, 62, 63, 64, 65, 66, 67, -1,
- 69, -1, -1, 72, 73, 74, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
- 89, 90, 91, 92, 93, 94, 48, -1, -1, -1,
- -1, 100, 54, -1, -1, -1, -1, -1, -1, -1,
- 62, 63, 64, 65, 66, 67, -1, 69, -1, -1,
- 72, 73, 74, -1, -1, -1, -1, -1, -1, 48,
- -1, -1, -1, -1, -1, 54, 88, 89, 90, 91,
- 92, 93, 94, 62, 63, 64, 65, 66, 67, -1,
+ -1, -1, 62, 63, 64, 65, 66, 67, -1, 69,
+ 91, 92, 72, 73, 74, 96, 97, 98, 99, -1,
+ 101, 24, -1, 104, -1, 28, 29, -1, 88, 89,
+ 90, 91, 92, 93, 94, 38, 39, 40, 41, 42,
+ -1, -1, 45, -1, 47, -1, -1, 50, 51, 52,
+ -1, -1, 55, -1, -1, 58, 59, 60, 61, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 24, -1, -1, -1, 28, 82,
+ 83, 84, -1, -1, -1, -1, -1, -1, 38, 39,
+ 40, 41, 42, 96, 97, 98, 99, 47, -1, 48,
+ 50, 51, 52, -1, -1, 55, -1, -1, -1, 59,
+ 60, 61, -1, 62, 63, 64, 65, 66, 67, -1,
69, -1, -1, 72, 73, 74, -1, -1, -1, -1,
- -1, -1, 48, -1, -1, -1, -1, -1, 54, 88,
- 89, 90, 91, 92, 93, 94, 62, 63, 64, 65,
- 66, 67, -1, 69, -1, -1, 72, 73, 74, -1,
- -1, -1, -1, -1, -1, 48, -1, -1, -1, -1,
- -1, 54, 88, 89, 90, 91, 92, 93, 94, 62,
- 63, 64, 65, 66, 67, -1, 69, -1, -1, 72,
- 73, 74, -1, -1, -1, -1, -1, -1, 48, -1,
- -1, -1, -1, -1, -1, 88, 89, 90, 91, 92,
- 93, 94, 62, 63, 64, 65, 66, 67, -1, 69,
- -1, -1, 72, 73, 74, -1, -1, -1, -1, -1,
+ -1, -1, 82, 83, 44, -1, -1, -1, -1, 88,
+ 89, 90, 91, 92, 93, 94, 96, 97, 98, 99,
+ -1, -1, 62, 63, 64, 65, 66, 67, -1, 69,
+ 70, 71, 72, 73, 74, -1, -1, -1, -1, 46,
-1, 48, -1, -1, -1, -1, -1, -1, 88, 89,
90, 91, 92, 93, 94, 62, 63, 64, 65, 66,
67, -1, 69, -1, -1, 72, 73, 74, -1, -1,
- -1, -1, -1, -1, 48, -1, -1, -1, -1, -1,
- -1, 88, 89, 90, 91, 92, 93, 94, 62, 63,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 54, 88, 89, 90, 91, 92, 93, 94, 62, 63,
64, 65, 66, 67, -1, 69, -1, -1, 72, 73,
- 74, -1, -1, -1, -1, -1, -1, 48, -1, -1,
+ 74, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 88, 89, 90, 91, 92, 93,
- 94, 62, 63, 64, 65, 66, 67, -1, 69, -1,
- -1, 72, 73, 74, 62, 63, 64, 65, 66, 67,
- -1, 69, -1, -1, 72, 73, 74, 88, 89, 90,
- 91, 92, 93, 94, -1, -1, -1, -1, -1, -1,
- 88, 89, 90, 91, 92, 93, 94, -1, -1, 56,
- -1, -1, -1, -1, 102, 62, 63, 64, 65, 66,
+ 94, 48, -1, -1, -1, -1, 100, 54, -1, -1,
+ -1, -1, -1, -1, -1, 62, 63, 64, 65, 66,
67, -1, 69, -1, -1, 72, 73, 74, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 88, 89, 90, 91, 92, 93, 94, 62, 63,
+ -1, -1, -1, -1, 48, -1, -1, -1, -1, -1,
+ 54, 88, 89, 90, 91, 92, 93, 94, 62, 63,
64, 65, 66, 67, -1, 69, -1, -1, 72, 73,
- 74, -1, -1, -1, -1, -1, 80, 81, -1, -1,
- -1, -1, -1, -1, 88, 89, 90, 91, 92, 93,
+ 74, -1, -1, -1, -1, -1, -1, 48, -1, -1,
+ -1, -1, -1, 54, 88, 89, 90, 91, 92, 93,
94, 62, 63, 64, 65, 66, 67, -1, 69, -1,
- -1, 72, 73, 74, 62, 63, 64, 65, -1, -1,
- -1, 69, -1, -1, 72, 73, 74, 88, 89, 90,
- 91, 92, 93, 94, -1, -1, -1, -1, -1, -1,
- 88, 89, 90, 91, 92, 93, 94
+ -1, 72, 73, 74, -1, -1, -1, -1, -1, -1,
+ 48, -1, -1, -1, -1, -1, 54, 88, 89, 90,
+ 91, 92, 93, 94, 62, 63, 64, 65, 66, 67,
+ -1, 69, -1, -1, 72, 73, 74, -1, -1, -1,
+ -1, -1, -1, 48, -1, -1, -1, -1, -1, -1,
+ 88, 89, 90, 91, 92, 93, 94, 62, 63, 64,
+ 65, 66, 67, -1, 69, -1, -1, 72, 73, 74,
+ -1, -1, -1, -1, -1, -1, 48, -1, -1, -1,
+ -1, -1, -1, 88, 89, 90, 91, 92, 93, 94,
+ 62, 63, 64, 65, 66, 67, -1, 69, -1, -1,
+ 72, 73, 74, -1, -1, -1, -1, -1, -1, 48,
+ -1, -1, -1, -1, -1, -1, 88, 89, 90, 91,
+ 92, 93, 94, 62, 63, 64, 65, 66, 67, -1,
+ 69, -1, -1, 72, 73, 74, 62, 63, 64, 65,
+ 66, 67, -1, 69, -1, -1, 72, 73, 74, 88,
+ 89, 90, 91, 92, 93, 94, -1, -1, -1, -1,
+ -1, -1, 88, 89, 90, 91, 92, 93, 94, -1,
+ -1, 56, -1, -1, -1, -1, 102, 62, 63, 64,
+ 65, 66, 67, -1, 69, -1, -1, 72, 73, 74,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 88, 89, 90, 91, 92, 93, 94,
+ 62, 63, 64, 65, 66, 67, -1, 69, -1, -1,
+ 72, 73, 74, -1, -1, -1, -1, -1, 80, 81,
+ -1, -1, -1, -1, -1, -1, 88, 89, 90, 91,
+ 92, 93, 94, 62, 63, 64, 65, 66, 67, -1,
+ 69, -1, -1, 72, 73, 74, 62, 63, 64, 65,
+ -1, -1, -1, 69, -1, -1, 72, 73, 74, 88,
+ 89, 90, 91, 92, 93, 94, -1, -1, -1, -1,
+ -1, -1, 88, 89, 90, 91, 92, 93, 94
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1544,7 +1530,7 @@ static const yytype_uint8 yystos[] =
51, 20, 138, 56, 57, 17, 18, 19, 30, 110,
110, 110, 138, 138, 150, 144, 138, 143, 157, 0,
100, 101, 138, 161, 138, 132, 161, 132, 110, 146,
- 100, 137, 48, 137, 138, 46, 138, 138, 138, 138,
+ 100, 137, 48, 137, 138, 46, 137, 138, 138, 138,
138, 138, 137, 137, 135, 135, 135, 135, 138, 25,
26, 106, 110, 138, 164, 165, 166, 167, 101, 62,
63, 64, 65, 66, 67, 69, 72, 73, 74, 88,
@@ -1585,7 +1571,7 @@ static const yytype_uint8 yyr1[] =
123, 124, 125, 125, 126, 126, 127, 128, 129, 130,
131, 132, 133, 133, 134, 134, 135, 135, 135, 135,
135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 136, 135, 135, 135, 135, 137, 137, 138,
+ 135, 135, 135, 136, 135, 135, 135, 135, 137, 137,
138, 138, 138, 138, 138, 138, 138, 138, 138, 138,
138, 138, 138, 138, 138, 138, 138, 138, 139, 139,
139, 139, 139, 139, 139, 139, 139, 140, 140, 140,
@@ -1608,11 +1594,11 @@ static const yytype_int8 yyr2[] =
1, 1, 1, 9, 0, 0, 0, 15, 0, 0,
0, 16, 0, 0, 0, 13, 2, 4, 7, 6,
0, 0, 9, 11, 0, 2, 6, 0, 0, 0,
- 1, 0, 1, 3, 0, 1, 1, 1, 2, 2,
- 1, 1, 1, 1, 2, 2, 3, 1, 4, 4,
- 1, 4, 0, 7, 4, 1, 2, 1, 3, 1,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 2, 3, 3, 3, 3, 2, 4,
+ 1, 0, 1, 3, 0, 1, 1, 1, 1, 1,
+ 2, 2, 2, 1, 1, 2, 2, 3, 1, 4,
+ 4, 1, 4, 0, 7, 4, 1, 2, 1, 3,
+ 1, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 3, 2, 4,
6, 4, 6, 4, 6, 4, 6, 1, 2, 2,
2, 2, 1, 1, 2, 1, 0, 3, 0, 3,
0, 3, 4, 2, 4, 0, 7, 4, 2, 1,
@@ -1895,61 +1881,61 @@ yydestruct (const char *yymsg,
case 22: /* THEFUNC */
#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1899 "engines/director/lingo/lingo-gr.cpp"
+#line 1885 "engines/director/lingo/lingo-gr.cpp"
break;
case 23: /* THEFUNCINOF */
#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1905 "engines/director/lingo/lingo-gr.cpp"
+#line 1891 "engines/director/lingo/lingo-gr.cpp"
break;
case 24: /* VARID */
#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1911 "engines/director/lingo/lingo-gr.cpp"
+#line 1897 "engines/director/lingo/lingo-gr.cpp"
break;
case 25: /* STRING */
#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1917 "engines/director/lingo/lingo-gr.cpp"
+#line 1903 "engines/director/lingo/lingo-gr.cpp"
break;
case 26: /* SYMBOL */
#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1923 "engines/director/lingo/lingo-gr.cpp"
+#line 1909 "engines/director/lingo/lingo-gr.cpp"
break;
case 27: /* ENDCLAUSE */
#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1929 "engines/director/lingo/lingo-gr.cpp"
+#line 1915 "engines/director/lingo/lingo-gr.cpp"
break;
case 28: /* tPLAYACCEL */
#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1935 "engines/director/lingo/lingo-gr.cpp"
+#line 1921 "engines/director/lingo/lingo-gr.cpp"
break;
case 29: /* tMETHOD */
#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1941 "engines/director/lingo/lingo-gr.cpp"
+#line 1927 "engines/director/lingo/lingo-gr.cpp"
break;
case 110: /* ID */
#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1947 "engines/director/lingo/lingo-gr.cpp"
+#line 1933 "engines/director/lingo/lingo-gr.cpp"
break;
case 156: /* on */
#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1953 "engines/director/lingo/lingo-gr.cpp"
+#line 1939 "engines/director/lingo/lingo-gr.cpp"
break;
default:
@@ -2230,25 +2216,25 @@ yyreduce:
case 8:
#line 222 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("cast"); }
-#line 2234 "engines/director/lingo/lingo-gr.cpp"
+#line 2220 "engines/director/lingo/lingo-gr.cpp"
break;
case 9:
#line 223 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("field"); }
-#line 2240 "engines/director/lingo/lingo-gr.cpp"
+#line 2226 "engines/director/lingo/lingo-gr.cpp"
break;
case 10:
#line 224 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("script"); }
-#line 2246 "engines/director/lingo/lingo-gr.cpp"
+#line 2232 "engines/director/lingo/lingo-gr.cpp"
break;
case 11:
#line 225 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("window"); }
-#line 2252 "engines/director/lingo/lingo-gr.cpp"
+#line 2238 "engines/director/lingo/lingo-gr.cpp"
break;
case 12:
@@ -2260,7 +2246,7 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[-2].code);
delete (yyvsp[0].s); }
-#line 2264 "engines/director/lingo/lingo-gr.cpp"
+#line 2250 "engines/director/lingo/lingo-gr.cpp"
break;
case 13:
@@ -2268,7 +2254,7 @@ yyreduce:
{
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[-2].code); }
-#line 2272 "engines/director/lingo/lingo-gr.cpp"
+#line 2258 "engines/director/lingo/lingo-gr.cpp"
break;
case 14:
@@ -2284,7 +2270,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-4].e)[1]);
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[0].code); }
-#line 2288 "engines/director/lingo/lingo-gr.cpp"
+#line 2274 "engines/director/lingo/lingo-gr.cpp"
break;
case 15:
@@ -2296,7 +2282,7 @@ yyreduce:
g_lingo->code1(LC::c_after);
(yyval.code) = (yyvsp[-2].code);
delete (yyvsp[0].s); }
-#line 2300 "engines/director/lingo/lingo-gr.cpp"
+#line 2286 "engines/director/lingo/lingo-gr.cpp"
break;
case 16:
@@ -2304,7 +2290,7 @@ yyreduce:
{
g_lingo->code1(LC::c_after);
(yyval.code) = (yyvsp[-2].code); }
-#line 2308 "engines/director/lingo/lingo-gr.cpp"
+#line 2294 "engines/director/lingo/lingo-gr.cpp"
break;
case 17:
@@ -2316,7 +2302,7 @@ yyreduce:
g_lingo->code1(LC::c_before);
(yyval.code) = (yyvsp[-2].code);
delete (yyvsp[0].s); }
-#line 2320 "engines/director/lingo/lingo-gr.cpp"
+#line 2306 "engines/director/lingo/lingo-gr.cpp"
break;
case 18:
@@ -2324,7 +2310,7 @@ yyreduce:
{
g_lingo->code1(LC::c_before);
(yyval.code) = (yyvsp[-2].code); }
-#line 2328 "engines/director/lingo/lingo-gr.cpp"
+#line 2314 "engines/director/lingo/lingo-gr.cpp"
break;
case 19:
@@ -2336,7 +2322,7 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[0].code);
delete (yyvsp[-2].s); }
-#line 2340 "engines/director/lingo/lingo-gr.cpp"
+#line 2326 "engines/director/lingo/lingo-gr.cpp"
break;
case 20:
@@ -2348,7 +2334,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-2].e)[0]);
g_lingo->codeInt((yyvsp[-2].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2352 "engines/director/lingo/lingo-gr.cpp"
+#line 2338 "engines/director/lingo/lingo-gr.cpp"
break;
case 21:
@@ -2360,7 +2346,7 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[0].code);
delete (yyvsp[-2].s); }
-#line 2364 "engines/director/lingo/lingo-gr.cpp"
+#line 2350 "engines/director/lingo/lingo-gr.cpp"
break;
case 22:
@@ -2372,7 +2358,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-2].e)[0]);
g_lingo->codeInt((yyvsp[-2].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2376 "engines/director/lingo/lingo-gr.cpp"
+#line 2362 "engines/director/lingo/lingo-gr.cpp"
break;
case 23:
@@ -2383,7 +2369,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-3].e)[0]);
g_lingo->codeInt((yyvsp[-3].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2387 "engines/director/lingo/lingo-gr.cpp"
+#line 2373 "engines/director/lingo/lingo-gr.cpp"
break;
case 24:
@@ -2394,7 +2380,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-3].e)[0]);
g_lingo->codeInt((yyvsp[-3].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2398 "engines/director/lingo/lingo-gr.cpp"
+#line 2384 "engines/director/lingo/lingo-gr.cpp"
break;
case 25:
@@ -2410,7 +2396,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-6].e)[0]);
g_lingo->codeInt((yyvsp[-6].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2414 "engines/director/lingo/lingo-gr.cpp"
+#line 2400 "engines/director/lingo/lingo-gr.cpp"
break;
case 26:
@@ -2426,7 +2412,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-6].e)[0]);
g_lingo->codeInt((yyvsp[-6].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2430 "engines/director/lingo/lingo-gr.cpp"
+#line 2416 "engines/director/lingo/lingo-gr.cpp"
break;
case 27:
@@ -2438,7 +2424,7 @@ yyreduce:
delete (yyvsp[-2].objectprop).obj;
delete (yyvsp[-2].objectprop).prop;
(yyval.code) = (yyvsp[0].code); }
-#line 2442 "engines/director/lingo/lingo-gr.cpp"
+#line 2428 "engines/director/lingo/lingo-gr.cpp"
break;
case 28:
@@ -2450,7 +2436,7 @@ yyreduce:
delete (yyvsp[-2].objectprop).obj;
delete (yyvsp[-2].objectprop).prop;
(yyval.code) = (yyvsp[0].code); }
-#line 2454 "engines/director/lingo/lingo-gr.cpp"
+#line 2440 "engines/director/lingo/lingo-gr.cpp"
break;
case 33:
@@ -2462,7 +2448,7 @@ yyreduce:
(*g_lingo->_currentAssembly)[(yyvsp[-4].code)] = end; /* end, if cond fails */
(*g_lingo->_currentAssembly)[(yyvsp[-1].code)] = start; /* looping back */
endRepeat((yyvsp[-1].code) + 1, (yyvsp[-6].code)); }
-#line 2466 "engines/director/lingo/lingo-gr.cpp"
+#line 2452 "engines/director/lingo/lingo-gr.cpp"
break;
case 34:
@@ -2470,20 +2456,20 @@ yyreduce:
{ g_lingo->code1(LC::c_varpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
mVar((yyvsp[-2].s), globalCheck()); }
-#line 2474 "engines/director/lingo/lingo-gr.cpp"
+#line 2460 "engines/director/lingo/lingo-gr.cpp"
break;
case 35:
#line 373 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_eval);
g_lingo->codeString((yyvsp[-4].s)->c_str()); }
-#line 2481 "engines/director/lingo/lingo-gr.cpp"
+#line 2467 "engines/director/lingo/lingo-gr.cpp"
break;
case 36:
#line 376 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_le); }
-#line 2487 "engines/director/lingo/lingo-gr.cpp"
+#line 2473 "engines/director/lingo/lingo-gr.cpp"
break;
case 37:
@@ -2508,7 +2494,7 @@ yyreduce:
(*g_lingo->_currentAssembly)[pos] = loop; /* final count value */
(*g_lingo->_currentAssembly)[(yyvsp[-3].code)] = end; /* end, if cond fails */
endRepeat(pos + 1, nextPos); }
-#line 2512 "engines/director/lingo/lingo-gr.cpp"
+#line 2498 "engines/director/lingo/lingo-gr.cpp"
break;
case 38:
@@ -2516,20 +2502,20 @@ yyreduce:
{ g_lingo->code1(LC::c_varpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
mVar((yyvsp[-2].s), globalCheck()); }
-#line 2520 "engines/director/lingo/lingo-gr.cpp"
+#line 2506 "engines/director/lingo/lingo-gr.cpp"
break;
case 39:
#line 407 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_eval);
g_lingo->codeString((yyvsp[-4].s)->c_str()); }
-#line 2527 "engines/director/lingo/lingo-gr.cpp"
+#line 2513 "engines/director/lingo/lingo-gr.cpp"
break;
case 40:
#line 410 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ge); }
-#line 2533 "engines/director/lingo/lingo-gr.cpp"
+#line 2519 "engines/director/lingo/lingo-gr.cpp"
break;
case 41:
@@ -2554,7 +2540,7 @@ yyreduce:
(*g_lingo->_currentAssembly)[pos] = loop; /* final count value */
(*g_lingo->_currentAssembly)[(yyvsp[-3].code)] = end; /* end, if cond fails */
endRepeat(pos + 1, nextPos); }
-#line 2558 "engines/director/lingo/lingo-gr.cpp"
+#line 2544 "engines/director/lingo/lingo-gr.cpp"
break;
case 42:
@@ -2565,7 +2551,7 @@ yyreduce:
g_lingo->codeFunc(&count, 1);
g_lingo->code1(LC::c_intpush); // start counter
g_lingo->codeInt(1); }
-#line 2569 "engines/director/lingo/lingo-gr.cpp"
+#line 2555 "engines/director/lingo/lingo-gr.cpp"
break;
case 43:
@@ -2575,7 +2561,7 @@ yyreduce:
g_lingo->code1(LC::c_stackpeek); // get array size
g_lingo->codeInt(2);
g_lingo->code1(LC::c_le); }
-#line 2579 "engines/director/lingo/lingo-gr.cpp"
+#line 2565 "engines/director/lingo/lingo-gr.cpp"
break;
case 44:
@@ -2590,7 +2576,7 @@ yyreduce:
g_lingo->codeString((yyvsp[-6].s)->c_str());
mVar((yyvsp[-6].s), globalCheck());
g_lingo->code1(LC::c_assign); }
-#line 2594 "engines/director/lingo/lingo-gr.cpp"
+#line 2580 "engines/director/lingo/lingo-gr.cpp"
break;
case 45:
@@ -2614,7 +2600,7 @@ yyreduce:
(*g_lingo->_currentAssembly)[jump + 1] = loop; /* final count value */
(*g_lingo->_currentAssembly)[(yyvsp[-4].code)] = end; /* end, if cond fails */
endRepeat(end2, nextPos); }
-#line 2618 "engines/director/lingo/lingo-gr.cpp"
+#line 2604 "engines/director/lingo/lingo-gr.cpp"
break;
case 46:
@@ -2627,7 +2613,7 @@ yyreduce:
} else {
warning("# LINGO: next repeat not inside repeat block");
} }
-#line 2631 "engines/director/lingo/lingo-gr.cpp"
+#line 2617 "engines/director/lingo/lingo-gr.cpp"
break;
case 47:
@@ -2635,31 +2621,31 @@ yyreduce:
{
g_lingo->code1(LC::c_whencode);
g_lingo->codeString((yyvsp[-2].s)->c_str()); }
-#line 2639 "engines/director/lingo/lingo-gr.cpp"
+#line 2625 "engines/director/lingo/lingo-gr.cpp"
break;
case 48:
#line 491 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_telldone); }
-#line 2645 "engines/director/lingo/lingo-gr.cpp"
+#line 2631 "engines/director/lingo/lingo-gr.cpp"
break;
case 49:
#line 492 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_telldone); }
-#line 2651 "engines/director/lingo/lingo-gr.cpp"
+#line 2637 "engines/director/lingo/lingo-gr.cpp"
break;
case 50:
#line 494 "engines/director/lingo/lingo-gr.y"
{ startRepeat(); }
-#line 2657 "engines/director/lingo/lingo-gr.cpp"
+#line 2643 "engines/director/lingo/lingo-gr.cpp"
break;
case 51:
#line 496 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_tell); }
-#line 2663 "engines/director/lingo/lingo-gr.cpp"
+#line 2649 "engines/director/lingo/lingo-gr.cpp"
break;
case 52:
@@ -2671,7 +2657,7 @@ yyreduce:
(*g_lingo->_currentAssembly)[(yyvsp[-6].code)] = else1; /* elsepart */
(*g_lingo->_currentAssembly)[(yyvsp[-3].code)] = end3; /* end, if cond fails */
g_lingo->processIf((yyvsp[-3].code), (yyvsp[-1].code)); }
-#line 2675 "engines/director/lingo/lingo-gr.cpp"
+#line 2661 "engines/director/lingo/lingo-gr.cpp"
break;
case 53:
@@ -2683,7 +2669,7 @@ yyreduce:
(*g_lingo->_currentAssembly)[(yyvsp[-8].code)] = else1; /* elsepart */
(*g_lingo->_currentAssembly)[(yyvsp[-5].code)] = end; /* end, if cond fails */
g_lingo->processIf((yyvsp[-5].code), (yyvsp[-1].code)); }
-#line 2687 "engines/director/lingo/lingo-gr.cpp"
+#line 2673 "engines/director/lingo/lingo-gr.cpp"
break;
case 56:
@@ -2693,7 +2679,7 @@ yyreduce:
WRITE_UINT32(&else1, (yyvsp[0].code) + 1 - (yyvsp[-3].code) + 1);
(*g_lingo->_currentAssembly)[(yyvsp[-3].code)] = else1; /* end, if cond fails */
g_lingo->codeLabel((yyvsp[0].code)); }
-#line 2697 "engines/director/lingo/lingo-gr.cpp"
+#line 2683 "engines/director/lingo/lingo-gr.cpp"
break;
case 57:
@@ -2701,7 +2687,7 @@ yyreduce:
{
g_lingo->code2(LC::c_jumpifz, 0);
(yyval.code) = g_lingo->_currentAssembly->size() - 1; }
-#line 2705 "engines/director/lingo/lingo-gr.cpp"
+#line 2691 "engines/director/lingo/lingo-gr.cpp"
break;
case 58:
@@ -2709,7 +2695,7 @@ yyreduce:
{
g_lingo->code2(LC::c_jump, 0);
(yyval.code) = g_lingo->_currentAssembly->size() - 1; }
-#line 2713 "engines/director/lingo/lingo-gr.cpp"
+#line 2699 "engines/director/lingo/lingo-gr.cpp"
break;
case 59:
@@ -2717,20 +2703,20 @@ yyreduce:
{
g_lingo->code1(LC::c_assign);
(yyval.code) = g_lingo->_currentAssembly->size() - 1; }
-#line 2721 "engines/director/lingo/lingo-gr.cpp"
+#line 2707 "engines/director/lingo/lingo-gr.cpp"
break;
case 60:
#line 534 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeLabel(0); }
-#line 2728 "engines/director/lingo/lingo-gr.cpp"
+#line 2714 "engines/director/lingo/lingo-gr.cpp"
break;
case 61:
#line 537 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->_currentAssembly->size(); }
-#line 2734 "engines/director/lingo/lingo-gr.cpp"
+#line 2720 "engines/director/lingo/lingo-gr.cpp"
break;
case 66:
@@ -2738,7 +2724,7 @@ yyreduce:
{
(yyval.code) = g_lingo->code1(LC::c_intpush);
g_lingo->codeInt((yyvsp[0].i)); }
-#line 2742 "engines/director/lingo/lingo-gr.cpp"
+#line 2728 "engines/director/lingo/lingo-gr.cpp"
break;
case 67:
@@ -2746,41 +2732,47 @@ yyreduce:
{
(yyval.code) = g_lingo->code1(LC::c_floatpush);
g_lingo->codeFloat((yyvsp[0].f)); }
-#line 2750 "engines/director/lingo/lingo-gr.cpp"
+#line 2736 "engines/director/lingo/lingo-gr.cpp"
break;
case 68:
#line 551 "engines/director/lingo/lingo-gr.y"
- { (yyval.code) = (yyvsp[0].code); }
-#line 2756 "engines/director/lingo/lingo-gr.cpp"
- break;
-
- case 69:
-#line 552 "engines/director/lingo/lingo-gr.y"
- { (yyval.code) = (yyvsp[0].code); g_lingo->code1(LC::c_negate); }
-#line 2762 "engines/director/lingo/lingo-gr.cpp"
- break;
-
- case 70:
-#line 553 "engines/director/lingo/lingo-gr.y"
{ // D3
(yyval.code) = g_lingo->code1(LC::c_symbolpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2771 "engines/director/lingo/lingo-gr.cpp"
+#line 2745 "engines/director/lingo/lingo-gr.cpp"
break;
- case 71:
-#line 557 "engines/director/lingo/lingo-gr.y"
+ case 69:
+#line 555 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_stringpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2780 "engines/director/lingo/lingo-gr.cpp"
+#line 2754 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 70:
+#line 559 "engines/director/lingo/lingo-gr.y"
+ { (yyval.code) = (yyvsp[0].code); }
+#line 2760 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 71:
+#line 560 "engines/director/lingo/lingo-gr.y"
+ { (yyval.code) = (yyvsp[0].code); g_lingo->code1(LC::c_negate); }
+#line 2766 "engines/director/lingo/lingo-gr.cpp"
break;
- case 73:
-#line 562 "engines/director/lingo/lingo-gr.y"
+ case 72:
+#line 561 "engines/director/lingo/lingo-gr.y"
+ { g_lingo->code1(LC::c_not); }
+#line 2772 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 74:
+#line 563 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(0); // Put dummy id
@@ -2789,95 +2781,95 @@ yyreduce:
WRITE_UINT32(&e, (yyvsp[0].e)[0]);
WRITE_UINT32(&f, (yyvsp[0].e)[1]);
g_lingo->code2(e, f); }
-#line 2793 "engines/director/lingo/lingo-gr.cpp"
+#line 2785 "engines/director/lingo/lingo-gr.cpp"
break;
- case 74:
-#line 570 "engines/director/lingo/lingo-gr.y"
+ case 75:
+#line 571 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_theentitypush);
inst e = 0, f = 0;
WRITE_UINT32(&e, (yyvsp[-1].e)[0]);
WRITE_UINT32(&f, (yyvsp[-1].e)[1]);
g_lingo->code2(e, f); }
-#line 2804 "engines/director/lingo/lingo-gr.cpp"
+#line 2796 "engines/director/lingo/lingo-gr.cpp"
break;
- case 75:
-#line 576 "engines/director/lingo/lingo-gr.y"
+ case 76:
+#line 577 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->codeFunc((yyvsp[-1].s), 1);
delete (yyvsp[-1].s); }
-#line 2812 "engines/director/lingo/lingo-gr.cpp"
+#line 2804 "engines/director/lingo/lingo-gr.cpp"
break;
- case 76:
-#line 579 "engines/director/lingo/lingo-gr.y"
+ case 77:
+#line 580 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->codeFunc((yyvsp[-2].s), 1);
delete (yyvsp[-2].s); }
-#line 2820 "engines/director/lingo/lingo-gr.cpp"
+#line 2812 "engines/director/lingo/lingo-gr.cpp"
break;
- case 77:
-#line 582 "engines/director/lingo/lingo-gr.y"
+ case 78:
+#line 583 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_objectproppush);
g_lingo->codeString((yyvsp[0].objectprop).obj->c_str());
g_lingo->codeString((yyvsp[0].objectprop).prop->c_str());
delete (yyvsp[0].objectprop).obj;
delete (yyvsp[0].objectprop).prop; }
-#line 2831 "engines/director/lingo/lingo-gr.cpp"
+#line 2823 "engines/director/lingo/lingo-gr.cpp"
break;
- case 78:
-#line 588 "engines/director/lingo/lingo-gr.y"
+ case 79:
+#line 589 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_intersects); }
-#line 2837 "engines/director/lingo/lingo-gr.cpp"
+#line 2829 "engines/director/lingo/lingo-gr.cpp"
break;
- case 79:
-#line 589 "engines/director/lingo/lingo-gr.y"
+ case 80:
+#line 590 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_within); }
-#line 2843 "engines/director/lingo/lingo-gr.cpp"
+#line 2835 "engines/director/lingo/lingo-gr.cpp"
break;
- case 81:
-#line 591 "engines/director/lingo/lingo-gr.y"
+ case 82:
+#line 592 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_lazyeval);
g_lingo->codeString((yyvsp[-1].s)->c_str());
g_lingo->codeFunc((yyvsp[-3].s), 1);
delete (yyvsp[-3].s);
delete (yyvsp[-1].s); }
-#line 2854 "engines/director/lingo/lingo-gr.cpp"
+#line 2846 "engines/director/lingo/lingo-gr.cpp"
break;
- case 82:
-#line 597 "engines/director/lingo/lingo-gr.y"
+ case 83:
+#line 598 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lazyeval); g_lingo->codeString((yyvsp[-1].s)->c_str()); }
-#line 2860 "engines/director/lingo/lingo-gr.cpp"
+#line 2852 "engines/director/lingo/lingo-gr.cpp"
break;
- case 83:
-#line 598 "engines/director/lingo/lingo-gr.y"
+ case 84:
+#line 599 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-6].s), (yyvsp[-1].narg) + 1);
delete (yyvsp[-6].s);
delete (yyvsp[-4].s); }
-#line 2869 "engines/director/lingo/lingo-gr.cpp"
+#line 2861 "engines/director/lingo/lingo-gr.cpp"
break;
- case 84:
-#line 602 "engines/director/lingo/lingo-gr.y"
+ case 85:
+#line 603 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 2877 "engines/director/lingo/lingo-gr.cpp"
+#line 2869 "engines/director/lingo/lingo-gr.cpp"
break;
- case 85:
-#line 605 "engines/director/lingo/lingo-gr.y"
+ case 86:
+#line 606 "engines/director/lingo/lingo-gr.y"
{
if (g_lingo->_builtinConsts.contains(*(yyvsp[0].s))) {
(yyval.code) = g_lingo->code1(LC::c_constpush);
@@ -2886,133 +2878,127 @@ yyreduce:
}
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2890 "engines/director/lingo/lingo-gr.cpp"
+#line 2882 "engines/director/lingo/lingo-gr.cpp"
break;
- case 86:
-#line 613 "engines/director/lingo/lingo-gr.y"
+ case 87:
+#line 614 "engines/director/lingo/lingo-gr.y"
{ yyerrok; }
-#line 2896 "engines/director/lingo/lingo-gr.cpp"
- break;
-
- case 88:
-#line 616 "engines/director/lingo/lingo-gr.y"
- { (yyval.code) = (yyvsp[-1].code); }
-#line 2902 "engines/director/lingo/lingo-gr.cpp"
+#line 2888 "engines/director/lingo/lingo-gr.cpp"
break;
case 89:
-#line 618 "engines/director/lingo/lingo-gr.y"
- { (yyval.code) = (yyvsp[0].code); }
-#line 2908 "engines/director/lingo/lingo-gr.cpp"
+#line 617 "engines/director/lingo/lingo-gr.y"
+ { (yyval.code) = (yyvsp[-1].code); }
+#line 2894 "engines/director/lingo/lingo-gr.cpp"
break;
case 90:
#line 619 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_add); }
-#line 2914 "engines/director/lingo/lingo-gr.cpp"
+ { (yyval.code) = (yyvsp[0].code); }
+#line 2900 "engines/director/lingo/lingo-gr.cpp"
break;
case 91:
#line 620 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_sub); }
-#line 2920 "engines/director/lingo/lingo-gr.cpp"
+ { g_lingo->code1(LC::c_add); }
+#line 2906 "engines/director/lingo/lingo-gr.cpp"
break;
case 92:
#line 621 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_mul); }
-#line 2926 "engines/director/lingo/lingo-gr.cpp"
+ { g_lingo->code1(LC::c_sub); }
+#line 2912 "engines/director/lingo/lingo-gr.cpp"
break;
case 93:
#line 622 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_div); }
-#line 2932 "engines/director/lingo/lingo-gr.cpp"
+ { g_lingo->code1(LC::c_mul); }
+#line 2918 "engines/director/lingo/lingo-gr.cpp"
break;
case 94:
#line 623 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_mod); }
-#line 2938 "engines/director/lingo/lingo-gr.cpp"
+ { g_lingo->code1(LC::c_div); }
+#line 2924 "engines/director/lingo/lingo-gr.cpp"
break;
case 95:
#line 624 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_gt); }
-#line 2944 "engines/director/lingo/lingo-gr.cpp"
+ { g_lingo->code1(LC::c_mod); }
+#line 2930 "engines/director/lingo/lingo-gr.cpp"
break;
case 96:
#line 625 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_lt); }
-#line 2950 "engines/director/lingo/lingo-gr.cpp"
+ { g_lingo->code1(LC::c_gt); }
+#line 2936 "engines/director/lingo/lingo-gr.cpp"
break;
case 97:
#line 626 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_eq); }
-#line 2956 "engines/director/lingo/lingo-gr.cpp"
+ { g_lingo->code1(LC::c_lt); }
+#line 2942 "engines/director/lingo/lingo-gr.cpp"
break;
case 98:
#line 627 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_neq); }
-#line 2962 "engines/director/lingo/lingo-gr.cpp"
+ { g_lingo->code1(LC::c_eq); }
+#line 2948 "engines/director/lingo/lingo-gr.cpp"
break;
case 99:
#line 628 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_ge); }
-#line 2968 "engines/director/lingo/lingo-gr.cpp"
+ { g_lingo->code1(LC::c_neq); }
+#line 2954 "engines/director/lingo/lingo-gr.cpp"
break;
case 100:
#line 629 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_le); }
-#line 2974 "engines/director/lingo/lingo-gr.cpp"
+ { g_lingo->code1(LC::c_ge); }
+#line 2960 "engines/director/lingo/lingo-gr.cpp"
break;
case 101:
#line 630 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_and); }
-#line 2980 "engines/director/lingo/lingo-gr.cpp"
+ { g_lingo->code1(LC::c_le); }
+#line 2966 "engines/director/lingo/lingo-gr.cpp"
break;
case 102:
#line 631 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_or); }
-#line 2986 "engines/director/lingo/lingo-gr.cpp"
+ { g_lingo->code1(LC::c_and); }
+#line 2972 "engines/director/lingo/lingo-gr.cpp"
break;
case 103:
#line 632 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_not); }
-#line 2992 "engines/director/lingo/lingo-gr.cpp"
+ { g_lingo->code1(LC::c_or); }
+#line 2978 "engines/director/lingo/lingo-gr.cpp"
break;
case 104:
#line 633 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ampersand); }
-#line 2998 "engines/director/lingo/lingo-gr.cpp"
+#line 2984 "engines/director/lingo/lingo-gr.cpp"
break;
case 105:
#line 634 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_concat); }
-#line 3004 "engines/director/lingo/lingo-gr.cpp"
+#line 2990 "engines/director/lingo/lingo-gr.cpp"
break;
case 106:
#line 635 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_contains); }
-#line 3010 "engines/director/lingo/lingo-gr.cpp"
+#line 2996 "engines/director/lingo/lingo-gr.cpp"
break;
case 107:
#line 636 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_starts); }
-#line 3016 "engines/director/lingo/lingo-gr.cpp"
+#line 3002 "engines/director/lingo/lingo-gr.cpp"
break;
case 108:
@@ -3020,55 +3006,55 @@ yyreduce:
{
Common::String field("field");
g_lingo->codeFunc(&field, 1); }
-#line 3024 "engines/director/lingo/lingo-gr.cpp"
+#line 3010 "engines/director/lingo/lingo-gr.cpp"
break;
case 109:
#line 641 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_charOf); }
-#line 3030 "engines/director/lingo/lingo-gr.cpp"
+#line 3016 "engines/director/lingo/lingo-gr.cpp"
break;
case 110:
#line 642 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_charToOf); }
-#line 3036 "engines/director/lingo/lingo-gr.cpp"
+#line 3022 "engines/director/lingo/lingo-gr.cpp"
break;
case 111:
#line 643 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_itemOf); }
-#line 3042 "engines/director/lingo/lingo-gr.cpp"
+#line 3028 "engines/director/lingo/lingo-gr.cpp"
break;
case 112:
#line 644 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_itemToOf); }
-#line 3048 "engines/director/lingo/lingo-gr.cpp"
+#line 3034 "engines/director/lingo/lingo-gr.cpp"
break;
case 113:
#line 645 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lineOf); }
-#line 3054 "engines/director/lingo/lingo-gr.cpp"
+#line 3040 "engines/director/lingo/lingo-gr.cpp"
break;
case 114:
#line 646 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lineToOf); }
-#line 3060 "engines/director/lingo/lingo-gr.cpp"
+#line 3046 "engines/director/lingo/lingo-gr.cpp"
break;
case 115:
#line 647 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_wordOf); }
-#line 3066 "engines/director/lingo/lingo-gr.cpp"
+#line 3052 "engines/director/lingo/lingo-gr.cpp"
break;
case 116:
#line 648 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_wordToOf); }
-#line 3072 "engines/director/lingo/lingo-gr.cpp"
+#line 3058 "engines/director/lingo/lingo-gr.cpp"
break;
case 118:
@@ -3076,7 +3062,7 @@ yyreduce:
{
Common::String cast("cast");
g_lingo->codeFunc(&cast, 1); }
-#line 3080 "engines/director/lingo/lingo-gr.cpp"
+#line 3066 "engines/director/lingo/lingo-gr.cpp"
break;
case 119:
@@ -3084,7 +3070,7 @@ yyreduce:
{
Common::String script("script");
g_lingo->codeFunc(&script, 1); }
-#line 3088 "engines/director/lingo/lingo-gr.cpp"
+#line 3074 "engines/director/lingo/lingo-gr.cpp"
break;
case 120:
@@ -3092,13 +3078,13 @@ yyreduce:
{
Common::String window("window");
g_lingo->codeFunc(&window, 1); }
-#line 3096 "engines/director/lingo/lingo-gr.cpp"
+#line 3082 "engines/director/lingo/lingo-gr.cpp"
break;
case 121:
#line 661 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_printtop); }
-#line 3102 "engines/director/lingo/lingo-gr.cpp"
+#line 3088 "engines/director/lingo/lingo-gr.cpp"
break;
case 124:
@@ -3111,49 +3097,49 @@ yyreduce:
} else {
warning("# LINGO: exit repeat not inside repeat block");
} }
-#line 3115 "engines/director/lingo/lingo-gr.cpp"
+#line 3101 "engines/director/lingo/lingo-gr.cpp"
break;
case 125:
#line 672 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_procret); }
-#line 3121 "engines/director/lingo/lingo-gr.cpp"
+#line 3107 "engines/director/lingo/lingo-gr.cpp"
break;
case 126:
#line 673 "engines/director/lingo/lingo-gr.y"
{ inArgs(); }
-#line 3127 "engines/director/lingo/lingo-gr.cpp"
+#line 3113 "engines/director/lingo/lingo-gr.cpp"
break;
case 127:
#line 673 "engines/director/lingo/lingo-gr.y"
{ inLast(); }
-#line 3133 "engines/director/lingo/lingo-gr.cpp"
+#line 3119 "engines/director/lingo/lingo-gr.cpp"
break;
case 128:
#line 674 "engines/director/lingo/lingo-gr.y"
{ inArgs(); }
-#line 3139 "engines/director/lingo/lingo-gr.cpp"
+#line 3125 "engines/director/lingo/lingo-gr.cpp"
break;
case 129:
#line 674 "engines/director/lingo/lingo-gr.y"
{ inLast(); }
-#line 3145 "engines/director/lingo/lingo-gr.cpp"
+#line 3131 "engines/director/lingo/lingo-gr.cpp"
break;
case 130:
#line 675 "engines/director/lingo/lingo-gr.y"
{ inArgs(); }
-#line 3151 "engines/director/lingo/lingo-gr.cpp"
+#line 3137 "engines/director/lingo/lingo-gr.cpp"
break;
case 131:
#line 675 "engines/director/lingo/lingo-gr.y"
{ inLast(); }
-#line 3157 "engines/director/lingo/lingo-gr.cpp"
+#line 3143 "engines/director/lingo/lingo-gr.cpp"
break;
case 132:
@@ -3161,7 +3147,7 @@ yyreduce:
{
Common::String open("open");
g_lingo->codeFunc(&open, 2); }
-#line 3165 "engines/director/lingo/lingo-gr.cpp"
+#line 3151 "engines/director/lingo/lingo-gr.cpp"
break;
case 133:
@@ -3169,7 +3155,7 @@ yyreduce:
{
Common::String open("open");
g_lingo->codeFunc(&open, 1); }
-#line 3173 "engines/director/lingo/lingo-gr.cpp"
+#line 3159 "engines/director/lingo/lingo-gr.cpp"
break;
case 134:
@@ -3180,13 +3166,13 @@ yyreduce:
g_lingo->codeCmd((yyvsp[-3].s), 1);
delete (yyvsp[-3].s);
delete (yyvsp[-1].s); }
-#line 3184 "engines/director/lingo/lingo-gr.cpp"
+#line 3170 "engines/director/lingo/lingo-gr.cpp"
break;
case 135:
#line 688 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lazyeval); g_lingo->codeString((yyvsp[-1].s)->c_str()); }
-#line 3190 "engines/director/lingo/lingo-gr.cpp"
+#line 3176 "engines/director/lingo/lingo-gr.cpp"
break;
case 136:
@@ -3195,7 +3181,7 @@ yyreduce:
g_lingo->codeCmd((yyvsp[-6].s), (yyvsp[-1].narg) + 1);
delete (yyvsp[-6].s);
delete (yyvsp[-4].s); }
-#line 3199 "engines/director/lingo/lingo-gr.cpp"
+#line 3185 "engines/director/lingo/lingo-gr.cpp"
break;
case 137:
@@ -3203,7 +3189,7 @@ yyreduce:
{
g_lingo->codeCmd((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 3207 "engines/director/lingo/lingo-gr.cpp"
+#line 3193 "engines/director/lingo/lingo-gr.cpp"
break;
case 138:
@@ -3211,7 +3197,7 @@ yyreduce:
{
g_lingo->codeCmd((yyvsp[-1].s), (yyvsp[0].narg));
delete (yyvsp[-1].s); }
-#line 3215 "engines/director/lingo/lingo-gr.cpp"
+#line 3201 "engines/director/lingo/lingo-gr.cpp"
break;
case 139:
@@ -3219,7 +3205,7 @@ yyreduce:
{
mVar((yyvsp[0].s), kVarGlobal);
delete (yyvsp[0].s); }
-#line 3223 "engines/director/lingo/lingo-gr.cpp"
+#line 3209 "engines/director/lingo/lingo-gr.cpp"
break;
case 140:
@@ -3227,7 +3213,7 @@ yyreduce:
{
mVar((yyvsp[0].s), kVarGlobal);
delete (yyvsp[0].s); }
-#line 3231 "engines/director/lingo/lingo-gr.cpp"
+#line 3217 "engines/director/lingo/lingo-gr.cpp"
break;
case 141:
@@ -3235,7 +3221,7 @@ yyreduce:
{
mVar((yyvsp[0].s), kVarProperty);
delete (yyvsp[0].s); }
-#line 3239 "engines/director/lingo/lingo-gr.cpp"
+#line 3225 "engines/director/lingo/lingo-gr.cpp"
break;
case 142:
@@ -3243,7 +3229,7 @@ yyreduce:
{
mVar((yyvsp[0].s), kVarProperty);
delete (yyvsp[0].s); }
-#line 3247 "engines/director/lingo/lingo-gr.cpp"
+#line 3233 "engines/director/lingo/lingo-gr.cpp"
break;
case 143:
@@ -3251,7 +3237,7 @@ yyreduce:
{
mVar((yyvsp[0].s), kVarInstance);
delete (yyvsp[0].s); }
-#line 3255 "engines/director/lingo/lingo-gr.cpp"
+#line 3241 "engines/director/lingo/lingo-gr.cpp"
break;
case 144:
@@ -3259,25 +3245,25 @@ yyreduce:
{
mVar((yyvsp[0].s), kVarInstance);
delete (yyvsp[0].s); }
-#line 3263 "engines/director/lingo/lingo-gr.cpp"
+#line 3249 "engines/director/lingo/lingo-gr.cpp"
break;
case 145:
#line 728 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotoloop); }
-#line 3269 "engines/director/lingo/lingo-gr.cpp"
+#line 3255 "engines/director/lingo/lingo-gr.cpp"
break;
case 146:
#line 729 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotonext); }
-#line 3275 "engines/director/lingo/lingo-gr.cpp"
+#line 3261 "engines/director/lingo/lingo-gr.cpp"
break;
case 147:
#line 730 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotoprevious); }
-#line 3281 "engines/director/lingo/lingo-gr.cpp"
+#line 3267 "engines/director/lingo/lingo-gr.cpp"
break;
case 148:
@@ -3286,7 +3272,7 @@ yyreduce:
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(LC::c_goto); }
-#line 3290 "engines/director/lingo/lingo-gr.cpp"
+#line 3276 "engines/director/lingo/lingo-gr.cpp"
break;
case 149:
@@ -3295,7 +3281,7 @@ yyreduce:
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(LC::c_goto); }
-#line 3299 "engines/director/lingo/lingo-gr.cpp"
+#line 3285 "engines/director/lingo/lingo-gr.cpp"
break;
case 150:
@@ -3304,7 +3290,7 @@ yyreduce:
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(2);
g_lingo->code1(LC::c_goto); }
-#line 3308 "engines/director/lingo/lingo-gr.cpp"
+#line 3294 "engines/director/lingo/lingo-gr.cpp"
break;
case 153:
@@ -3313,7 +3299,7 @@ yyreduce:
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(LC::c_play); }
-#line 3317 "engines/director/lingo/lingo-gr.cpp"
+#line 3303 "engines/director/lingo/lingo-gr.cpp"
break;
case 154:
@@ -3322,7 +3308,7 @@ yyreduce:
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(LC::c_play); }
-#line 3326 "engines/director/lingo/lingo-gr.cpp"
+#line 3312 "engines/director/lingo/lingo-gr.cpp"
break;
case 155:
@@ -3331,13 +3317,13 @@ yyreduce:
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(2);
g_lingo->code1(LC::c_play); }
-#line 3335 "engines/director/lingo/lingo-gr.cpp"
+#line 3321 "engines/director/lingo/lingo-gr.cpp"
break;
case 156:
#line 759 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeSetImmediate(true); }
-#line 3341 "engines/director/lingo/lingo-gr.cpp"
+#line 3327 "engines/director/lingo/lingo-gr.cpp"
break;
case 157:
@@ -3346,13 +3332,13 @@ yyreduce:
g_lingo->codeSetImmediate(false);
g_lingo->codeFunc((yyvsp[-2].s), (yyvsp[0].narg));
delete (yyvsp[-2].s); }
-#line 3350 "engines/director/lingo/lingo-gr.cpp"
+#line 3336 "engines/director/lingo/lingo-gr.cpp"
break;
case 158:
#line 789 "engines/director/lingo/lingo-gr.y"
{ startDef(); }
-#line 3356 "engines/director/lingo/lingo-gr.cpp"
+#line 3342 "engines/director/lingo/lingo-gr.cpp"
break;
case 159:
@@ -3362,19 +3348,19 @@ yyreduce:
g_lingo->codeDefine(*(yyvsp[-5].s), (yyvsp[-4].code), (yyvsp[-3].narg));
endDef();
delete (yyvsp[-5].s); }
-#line 3366 "engines/director/lingo/lingo-gr.cpp"
+#line 3352 "engines/director/lingo/lingo-gr.cpp"
break;
case 160:
#line 795 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeFactory(*(yyvsp[0].s)); delete (yyvsp[0].s); }
-#line 3372 "engines/director/lingo/lingo-gr.cpp"
+#line 3358 "engines/director/lingo/lingo-gr.cpp"
break;
case 161:
#line 796 "engines/director/lingo/lingo-gr.y"
{ startDef(); (*g_lingo->_methodVars)["me"] = kVarArgument; }
-#line 3378 "engines/director/lingo/lingo-gr.cpp"
+#line 3364 "engines/director/lingo/lingo-gr.cpp"
break;
case 162:
@@ -3384,7 +3370,7 @@ yyreduce:
g_lingo->codeDefine(*(yyvsp[-6].s), (yyvsp[-4].code), (yyvsp[-3].narg) + 1);
endDef();
delete (yyvsp[-6].s); }
-#line 3388 "engines/director/lingo/lingo-gr.cpp"
+#line 3374 "engines/director/lingo/lingo-gr.cpp"
break;
case 163:
@@ -3397,7 +3383,7 @@ yyreduce:
checkEnd((yyvsp[-1].s), (yyvsp[-7].s)->c_str(), false);
delete (yyvsp[-7].s);
delete (yyvsp[-1].s); }
-#line 3401 "engines/director/lingo/lingo-gr.cpp"
+#line 3387 "engines/director/lingo/lingo-gr.cpp"
break;
case 164:
@@ -3407,139 +3393,139 @@ yyreduce:
g_lingo->codeDefine(*(yyvsp[-5].s), (yyvsp[-4].code), (yyvsp[-3].narg));
endDef();
delete (yyvsp[-5].s); }
-#line 3411 "engines/director/lingo/lingo-gr.cpp"
+#line 3397 "engines/director/lingo/lingo-gr.cpp"
break;
case 165:
#line 816 "engines/director/lingo/lingo-gr.y"
{ startDef(); }
-#line 3417 "engines/director/lingo/lingo-gr.cpp"
+#line 3403 "engines/director/lingo/lingo-gr.cpp"
break;
case 166:
#line 816 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = (yyvsp[0].s); }
-#line 3423 "engines/director/lingo/lingo-gr.cpp"
+#line 3409 "engines/director/lingo/lingo-gr.cpp"
break;
case 167:
#line 818 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; }
-#line 3429 "engines/director/lingo/lingo-gr.cpp"
+#line 3415 "engines/director/lingo/lingo-gr.cpp"
break;
case 168:
#line 819 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); mVar((yyvsp[0].s), kVarArgument); (yyval.narg) = 1; delete (yyvsp[0].s); }
-#line 3435 "engines/director/lingo/lingo-gr.cpp"
+#line 3421 "engines/director/lingo/lingo-gr.cpp"
break;
case 169:
#line 820 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); mVar((yyvsp[0].s), kVarArgument); (yyval.narg) = (yyvsp[-2].narg) + 1; delete (yyvsp[0].s); }
-#line 3441 "engines/director/lingo/lingo-gr.cpp"
+#line 3427 "engines/director/lingo/lingo-gr.cpp"
break;
case 171:
#line 823 "engines/director/lingo/lingo-gr.y"
{ delete (yyvsp[0].s); }
-#line 3447 "engines/director/lingo/lingo-gr.cpp"
+#line 3433 "engines/director/lingo/lingo-gr.cpp"
break;
case 172:
#line 824 "engines/director/lingo/lingo-gr.y"
{ delete (yyvsp[0].s); }
-#line 3453 "engines/director/lingo/lingo-gr.cpp"
+#line 3439 "engines/director/lingo/lingo-gr.cpp"
break;
case 173:
#line 826 "engines/director/lingo/lingo-gr.y"
{ inDef(); }
-#line 3459 "engines/director/lingo/lingo-gr.cpp"
+#line 3445 "engines/director/lingo/lingo-gr.cpp"
break;
case 174:
#line 828 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; }
-#line 3465 "engines/director/lingo/lingo-gr.cpp"
+#line 3451 "engines/director/lingo/lingo-gr.cpp"
break;
case 175:
#line 829 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3471 "engines/director/lingo/lingo-gr.cpp"
+#line 3457 "engines/director/lingo/lingo-gr.cpp"
break;
case 176:
#line 830 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3477 "engines/director/lingo/lingo-gr.cpp"
+#line 3463 "engines/director/lingo/lingo-gr.cpp"
break;
case 177:
#line 832 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3483 "engines/director/lingo/lingo-gr.cpp"
+#line 3469 "engines/director/lingo/lingo-gr.cpp"
break;
case 178:
#line 833 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3489 "engines/director/lingo/lingo-gr.cpp"
+#line 3475 "engines/director/lingo/lingo-gr.cpp"
break;
case 179:
#line 835 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[-1].code); }
-#line 3495 "engines/director/lingo/lingo-gr.cpp"
+#line 3481 "engines/director/lingo/lingo-gr.cpp"
break;
case 180:
#line 837 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code2(LC::c_arraypush, 0); }
-#line 3501 "engines/director/lingo/lingo-gr.cpp"
+#line 3487 "engines/director/lingo/lingo-gr.cpp"
break;
case 181:
#line 838 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code2(LC::c_proparraypush, 0); }
-#line 3507 "engines/director/lingo/lingo-gr.cpp"
+#line 3493 "engines/director/lingo/lingo-gr.cpp"
break;
case 182:
#line 839 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_proparraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3513 "engines/director/lingo/lingo-gr.cpp"
+#line 3499 "engines/director/lingo/lingo-gr.cpp"
break;
case 183:
#line 840 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_arraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3519 "engines/director/lingo/lingo-gr.cpp"
+#line 3505 "engines/director/lingo/lingo-gr.cpp"
break;
case 184:
#line 842 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3525 "engines/director/lingo/lingo-gr.cpp"
+#line 3511 "engines/director/lingo/lingo-gr.cpp"
break;
case 185:
#line 843 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3531 "engines/director/lingo/lingo-gr.cpp"
+#line 3517 "engines/director/lingo/lingo-gr.cpp"
break;
case 186:
#line 845 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3537 "engines/director/lingo/lingo-gr.cpp"
+#line 3523 "engines/director/lingo/lingo-gr.cpp"
break;
case 187:
#line 846 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3543 "engines/director/lingo/lingo-gr.cpp"
+#line 3529 "engines/director/lingo/lingo-gr.cpp"
break;
case 188:
@@ -3548,7 +3534,7 @@ yyreduce:
g_lingo->code1(LC::c_symbolpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
delete (yyvsp[-2].s); }
-#line 3552 "engines/director/lingo/lingo-gr.cpp"
+#line 3538 "engines/director/lingo/lingo-gr.cpp"
break;
case 189:
@@ -3557,7 +3543,7 @@ yyreduce:
g_lingo->code1(LC::c_stringpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
delete (yyvsp[-2].s); }
-#line 3561 "engines/director/lingo/lingo-gr.cpp"
+#line 3547 "engines/director/lingo/lingo-gr.cpp"
break;
case 190:
@@ -3566,11 +3552,11 @@ yyreduce:
g_lingo->code1(LC::c_stringpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
delete (yyvsp[-2].s); }
-#line 3570 "engines/director/lingo/lingo-gr.cpp"
+#line 3556 "engines/director/lingo/lingo-gr.cpp"
break;
-#line 3574 "engines/director/lingo/lingo-gr.cpp"
+#line 3560 "engines/director/lingo/lingo-gr.cpp"
default: break;
}
diff --git a/engines/director/lingo/lingo-gr.y b/engines/director/lingo/lingo-gr.y
index 26a45e9259..68fee16634 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -548,8 +548,6 @@ simpleexprnoparens: INT {
| FLOAT {
$$ = g_lingo->code1(LC::c_floatpush);
g_lingo->codeFloat($FLOAT); }
- | '+' simpleexpr[arg] %prec UNARY { $$ = $arg; }
- | '-' simpleexpr[arg] %prec UNARY { $$ = $arg; g_lingo->code1(LC::c_negate); }
| SYMBOL { // D3
$$ = g_lingo->code1(LC::c_symbolpush);
g_lingo->codeString($SYMBOL->c_str());
@@ -558,6 +556,9 @@ simpleexprnoparens: INT {
$$ = g_lingo->code1(LC::c_stringpush);
g_lingo->codeString($STRING->c_str());
delete $STRING; }
+ | '+' simpleexpr[arg] %prec UNARY { $$ = $arg; }
+ | '-' simpleexpr[arg] %prec UNARY { $$ = $arg; g_lingo->code1(LC::c_negate); }
+ | tNOT simpleexpr %prec UNARY { g_lingo->code1(LC::c_not); }
| reference
| THEENTITY {
$$ = g_lingo->code1(LC::c_intpush);
@@ -629,7 +630,6 @@ expr: simpleexpr { $$ = $simpleexpr; }
| expr tLE expr { g_lingo->code1(LC::c_le); }
| expr tAND expr { g_lingo->code1(LC::c_and); }
| expr tOR expr { g_lingo->code1(LC::c_or); }
- | tNOT expr %prec UNARY { g_lingo->code1(LC::c_not); }
| expr '&' expr { g_lingo->code1(LC::c_ampersand); }
| expr tCONCAT expr { g_lingo->code1(LC::c_concat); }
| expr tCONTAINS expr { g_lingo->code1(LC::c_contains); }
Commit: 7c11fbb89ebc0709d79be09fc4dd9e727a20cd94
https://github.com/scummvm/scummvm/commit/7c11fbb89ebc0709d79be09fc4dd9e727a20cd94
Author: djsrv (dservilla at gmail.com)
Date: 2020-07-19T13:33:35-04:00
Commit Message:
DIRECTOR: LINGO: Get rid of right recursion
Changed paths:
engines/director/lingo/lingo-gr.cpp
engines/director/lingo/lingo-gr.y
diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp
index 6e953c471f..2d97c0a3a8 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -989,41 +989,41 @@ static const yytype_int16 yytoknum[] =
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- 1387, -356, -356, -356, -35, -356, 1062, -356, -356, -356,
- -31, 1277, -30, 13, 17, 17, 1309, 1150, -356, 1309,
- -356, -356, -356, -356, -356, -356, 75, -4, 480, -356,
+ 1387, -356, -356, -356, -29, -356, 1062, -356, -356, -356,
+ 6, 1277, 16, 13, 17, 17, 1309, 1150, -356, 1309,
+ -356, -356, -356, -356, -356, -356, 3, -356, 480, -356,
-356, -356, -356, 1309, -356, -356, -356, -356, -356, 1028,
- -356, -356, 17, -1, -356, -356, 1309, -356, 41, 1309,
- -356, -356, -356, 1309, -356, 62, -356, 1309, 1309, 1309,
+ -356, -356, 17, -74, -356, -356, 1309, -356, 14, 1309,
+ -356, -356, -356, 1309, -356, 31, -356, 1309, 1309, 1309,
1309, 1309, 1309, 1309, 1309, 600, 707, 814, 921, 1309,
- 127, 19, -356, -356, 1513, -356, -356, -356, -356, 17,
- -356, 17, 1480, 17, -356, -42, 1309, 1309, -3, 2,
- 68, -356, 1845, 1513, -356, 17, 1546, 17, 17, -356,
- 1387, 1185, 1911, 26, 1911, 17, 26, 17, -356, 28,
+ 127, -12, -356, -356, 1513, -356, -356, -356, -356, 17,
+ -356, 17, 1480, 17, -356, -37, 1309, 1309, -30, -3,
+ 43, -356, 1845, 1513, -356, 17, 1546, 17, 17, -356,
+ 1387, 1185, 1911, -4, 1911, 17, -4, 17, -356, 26,
-356, -356, 1309, -356, 1911, 1309, -356, 1593, 1626, 1659,
- 1692, 1878, -356, -356, -356, -356, -356, -356, 1804, 27,
- 29, -356, -82, 1911, 18, 34, 36, -356, 1185, 1309,
+ 1692, 1878, -356, -356, -356, -356, -356, -356, 1804, 25,
+ 27, -356, -46, 1911, 30, 34, 36, -356, 1185, 1309,
1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309,
1309, 1309, 1309, 1309, 1309, 1309, -356, -356, 1309, 101,
- 101, 101, -26, 1309, 1309, 1309, 8, 94, 1309, 1309,
- 1309, 1309, 1309, 1309, -356, -356, 40, -356, -356, -356,
- 43, -356, -356, 53, 1804, -63, 1309, 105, -356, -43,
+ 101, 101, -31, 1309, 1309, 1309, 10, 75, 1309, 1309,
+ 1309, 1309, 1309, 1309, -356, -356, 55, -356, -356, -356,
+ 64, -356, -356, -63, 1804, -9, 1309, 116, -356, -84,
-32, 17, -356, 1911, 1309, 1309, 1309, 1309, 1309, 1309,
1309, 1309, 1309, 1309, -356, 1309, 1309, 1309, -356, 1309,
- 66, 79, -58, 121, 121, 121, 121, 1924, 1924, -356,
- -44, 121, 121, 121, 121, -44, -60, -60, -356, -356,
- 17, 103, -356, -356, -356, -356, -356, -356, 1309, 1309,
+ 66, 53, 15, 121, 121, 121, 121, 1924, 1924, -356,
+ -44, 121, 121, 121, 121, -44, -49, -49, -356, -356,
+ 17, 129, -356, -356, -356, -356, -356, -356, 1309, 1309,
1911, 1911, 1911, 1309, 1309, 17, 1911, 1911, 1911, 1911,
1911, 1911, 17, 248, 1440, 17, -356, -356, -356, 1911,
1440, -356, 17, -356, -356, -356, 1441, -356, 1725, -356,
- 1758, -356, 1791, -356, -356, 1911, 1911, 1911, 1911, 27,
- 29, 61, -356, -356, -356, -356, -27, 1309, 1911, 1330,
- -356, 1911, 1911, 1309, -356, -356, -356, -356, 69, -356,
+ 1758, -356, 1791, -356, -356, 1911, 1911, 1911, 1911, 25,
+ 27, 65, -356, -356, -356, -356, -25, 1309, 1911, 1330,
+ -356, 1911, 1911, 1309, -356, -356, -356, -356, 83, -356,
1309, -356, 1440, -356, 1440, 1309, 1309, 1309, 1309, 1309,
- -356, 1911, -356, -356, -356, 1440, 10, -356, 84, 1440,
- 1911, -25, -356, 146, -356, -356, -356, -356, -356, -9,
+ -356, 1911, -356, -356, -356, 1440, 12, -356, 97, 1440,
+ 1911, 18, -356, 158, -356, -356, -356, -356, -356, 40,
1440, -356, -356, -356, -356, 1309, 1309, -356, -356, -356,
- 1309, 81, 17, -356, -356, -356, 132, 152, 102, 1911,
+ 1309, 110, 17, -356, -356, -356, 132, 152, 102, 1911,
1911, 1911, 1440, 1309, -356, 104, -356, 89, -356, 1309,
140, -356, -356, 1911, -356, 17, -356, 1911, 1309, 111,
148, -356, 1440, -356, 1911, -356, 1440, 122, -356, -356,
@@ -1079,13 +1079,13 @@ static const yytype_uint8 yydefact[] =
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -356, 107, -356, 0, -356, -36, 3, -356, -356, -356,
+ -356, -356, 107, 0, -356, -36, 8, -356, -356, -356,
-356, -356, -356, -356, -356, -356, -355, 42, -356, -356,
-356, -239, -327, -93, -356, -38, -250, -356, 20, -356,
- -28, 252, 24, -356, -356, -356, -356, -356, -356, -356,
+ -28, 252, 21, -356, -356, -356, -356, -356, -356, -356,
-356, -356, -356, -11, -356, -356, -356, -356, -356, -356,
- -356, -103, -356, -255, -34, -87, -356, -356, -356, -356,
- 25
+ -356, -103, -356, -254, -34, -87, -356, -356, -356, -356,
+ 19
};
/* YYDEFGOTO[NTERM-NUM]. */
@@ -1105,30 +1105,30 @@ static const yytype_int16 yydefgoto[] =
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 28, 290, 107, 31, 190, 106, 94, 348, 304, 145,
- 301, 372, 164, 89, 90, 91, 41, 238, 111, 138,
- 80, 113, 165, 382, 207, 145, 83, 84, 386, 116,
- 85, 86, 87, 154, 155, 122, 123, 1, 239, 258,
- 186, 1, 108, 88, 285, 186, 163, 152, 153, 154,
- 155, 168, 323, 384, 324, 330, 170, 261, 166, 167,
- 262, 169, 243, 156, 335, 334, 171, 185, 263, 338,
- 132, 262, 244, 310, 336, 99, 262, 339, 340, 157,
- 344, 158, 174, 162, 192, 124, 125, 126, 127, 112,
- 1, 279, 280, 343, 340, 175, 100, 179, 181, 110,
- 28, 183, 362, 31, 212, 188, 358, 188, 115, 22,
- 23, 24, 25, 22, 23, 24, 25, 352, 353, 230,
- 138, 172, 377, 208, 370, 1, 380, 286, 43, 186,
- 231, 191, 385, 205, 378, 206, 388, 209, 211, 210,
- 383, 44, 245, 252, 45, 46, 255, 287, 47, 48,
- 49, 1, 129, 130, 138, 256, 257, 52, 260, 232,
- 234, 236, 22, 23, 24, 25, 265, 207, 267, 319,
- 269, 337, 271, 342, 273, 274, 58, 59, 60, 61,
- 138, 283, 284, 233, 235, 237, 359, 360, 361, 364,
+ 28, 290, 107, 99, 190, 106, 94, 348, 31, 304,
+ 301, 372, 238, 89, 90, 91, 261, 164, 111, 262,
+ 145, 113, 41, 382, 168, 145, 110, 165, 386, 116,
+ 85, 86, 87, 239, 169, 122, 123, 1, 138, 256,
+ 257, 1, 108, 88, 154, 155, 163, 152, 153, 154,
+ 155, 170, 323, 384, 324, 138, 330, 80, 166, 167,
+ 207, 171, 112, 156, 243, 334, 335, 185, 263, 338,
+ 132, 262, 83, 84, 244, 310, 336, 115, 262, 157,
+ 344, 158, 174, 162, 192, 124, 125, 126, 127, 138,
+ 1, 279, 280, 258, 186, 175, 172, 179, 181, 186,
+ 28, 183, 362, 100, 212, 188, 358, 188, 31, 22,
+ 23, 24, 25, 22, 23, 24, 25, 285, 186, 230,
+ 339, 340, 377, 245, 370, 1, 380, 286, 43, 191,
+ 231, 205, 385, 206, 378, 208, 388, 209, 211, 210,
+ 383, 44, 343, 340, 45, 46, 352, 353, 47, 48,
+ 49, 1, 129, 130, 138, 283, 284, 52, 252, 232,
+ 234, 236, 22, 23, 24, 25, 265, 255, 267, 260,
+ 269, 207, 271, 287, 273, 274, 58, 59, 60, 61,
+ 233, 235, 237, 319, 337, 342, 359, 360, 361, 364,
145, 264, 365, 146, 368, 57, 375, 22, 66, 24,
25, 376, 58, 59, 60, 61, 62, 182, 381, 387,
281, 151, 152, 153, 154, 155, 389, 295, 63, 64,
- 254, 333, 329, 65, 66, 67, 68, 0, 69, 0,
- 188, 70, -180, 131, 0, 282, 0, 0, 0, 0,
+ 254, 333, 329, 65, 66, 67, 68, 0, 69, 282,
+ 188, 70, -180, 131, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 293, 0, 0, 0, 0,
0, 0, 294, 28, 28, 299, 0, 317, 74, 318,
28, 0, 303, 82, 0, 316, 0, 0, 92, 93,
@@ -1311,30 +1311,30 @@ static const yytype_int16 yytable[] =
static const yytype_int16 yycheck[] =
{
- 0, 240, 40, 0, 107, 39, 17, 334, 263, 69,
- 260, 366, 54, 13, 14, 15, 51, 43, 46, 101,
- 51, 49, 64, 378, 106, 69, 56, 57, 383, 57,
- 17, 18, 19, 93, 94, 63, 64, 24, 64, 102,
- 103, 24, 42, 30, 102, 103, 84, 91, 92, 93,
- 94, 54, 302, 380, 304, 310, 54, 100, 86, 87,
- 103, 64, 54, 74, 54, 315, 64, 101, 100, 319,
- 70, 103, 64, 100, 64, 0, 103, 102, 103, 79,
- 330, 81, 93, 83, 112, 65, 66, 67, 68, 48,
- 24, 25, 26, 102, 103, 95, 100, 97, 98, 100,
- 100, 101, 352, 100, 138, 105, 345, 107, 46, 96,
- 97, 98, 99, 96, 97, 98, 99, 36, 37, 157,
- 101, 53, 372, 105, 363, 24, 376, 230, 1, 103,
- 158, 103, 382, 106, 373, 106, 386, 103, 138, 103,
- 379, 14, 48, 103, 17, 18, 103, 44, 21, 22,
- 23, 24, 25, 26, 101, 102, 103, 30, 53, 159,
- 160, 161, 96, 97, 98, 99, 194, 106, 196, 100,
- 198, 87, 200, 27, 202, 203, 75, 76, 77, 78,
- 101, 102, 103, 159, 160, 161, 54, 35, 86, 85,
+ 0, 240, 40, 0, 107, 39, 17, 334, 0, 263,
+ 260, 366, 43, 13, 14, 15, 100, 54, 46, 103,
+ 69, 49, 51, 378, 54, 69, 100, 64, 383, 57,
+ 17, 18, 19, 64, 64, 63, 64, 24, 101, 102,
+ 103, 24, 42, 30, 93, 94, 84, 91, 92, 93,
+ 94, 54, 302, 380, 304, 101, 310, 51, 86, 87,
+ 106, 64, 48, 74, 54, 315, 54, 101, 100, 319,
+ 70, 103, 56, 57, 64, 100, 64, 46, 103, 79,
+ 330, 81, 93, 83, 112, 65, 66, 67, 68, 101,
+ 24, 25, 26, 102, 103, 95, 53, 97, 98, 103,
+ 100, 101, 352, 100, 138, 105, 345, 107, 100, 96,
+ 97, 98, 99, 96, 97, 98, 99, 102, 103, 157,
+ 102, 103, 372, 48, 363, 24, 376, 230, 1, 103,
+ 158, 106, 382, 106, 373, 105, 386, 103, 138, 103,
+ 379, 14, 102, 103, 17, 18, 36, 37, 21, 22,
+ 23, 24, 25, 26, 101, 102, 103, 30, 103, 159,
+ 160, 161, 96, 97, 98, 99, 194, 103, 196, 53,
+ 198, 106, 200, 44, 202, 203, 75, 76, 77, 78,
+ 159, 160, 161, 100, 87, 27, 54, 35, 86, 85,
69, 191, 103, 72, 54, 68, 85, 96, 97, 98,
99, 53, 75, 76, 77, 78, 79, 100, 86, 86,
210, 90, 91, 92, 93, 94, 86, 253, 91, 92,
- 178, 314, 309, 96, 97, 98, 99, -1, 101, -1,
- 230, 104, 105, 106, -1, 210, -1, -1, -1, -1,
+ 178, 314, 309, 96, 97, 98, 99, -1, 101, 210,
+ 230, 104, 105, 106, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 245, -1, -1, -1, -1,
-1, -1, 252, 253, 254, 255, -1, 295, 6, 297,
260, -1, 262, 11, -1, 293, -1, -1, 16, 17,
@@ -1537,7 +1537,7 @@ static const yytype_uint8 yystos[] =
89, 90, 91, 92, 93, 94, 150, 110, 110, 44,
70, 71, 110, 132, 54, 64, 137, 137, 54, 64,
54, 64, 53, 56, 150, 110, 148, 54, 100, 110,
- 147, 110, 108, 110, 138, 161, 103, 128, 110, 158,
+ 147, 110, 109, 110, 138, 161, 103, 128, 110, 158,
158, 103, 137, 138, 48, 54, 48, 54, 48, 54,
48, 54, 80, 81, 102, 106, 106, 106, 105, 103,
103, 110, 161, 138, 138, 138, 138, 138, 138, 138,
diff --git a/engines/director/lingo/lingo-gr.y b/engines/director/lingo/lingo-gr.y
index 68fee16634..7ea7486995 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -212,7 +212,7 @@ static void mVar(Common::String *s, VarType type) {
%%
program: programline
- | programline '\n' program
+ | program '\n' programline
programline: /* empty */
| defn
Commit: 06d5e823e071b47958e924e8afbdd02b3b514552
https://github.com/scummvm/scummvm/commit/06d5e823e071b47958e924e8afbdd02b3b514552
Author: djsrv (dservilla at gmail.com)
Date: 2020-07-19T13:33:35-04:00
Commit Message:
DIRECTOR: LINGO: Fix token declaration
Changed paths:
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-gr.cpp b/engines/director/lingo/lingo-gr.cpp
index 2d97c0a3a8..ce41715b82 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -245,10 +245,10 @@ extern int yydebug;
tPLAYACCEL = 283, /* tPLAYACCEL */
tMETHOD = 284, /* tMETHOD */
THEOBJECTPROP = 285, /* THEOBJECTPROP */
- CAST = 286, /* CAST */
- FIELD = 287, /* FIELD */
- SCRIPT = 288, /* SCRIPT */
- WINDOW = 289, /* WINDOW */
+ tCAST = 286, /* tCAST */
+ tFIELD = 287, /* tFIELD */
+ tSCRIPT = 288, /* tSCRIPT */
+ tWINDOW = 289, /* tWINDOW */
tDOWN = 290, /* tDOWN */
tELSE = 291, /* tELSE */
tELSIF = 292, /* tELSIF */
@@ -301,11 +301,7 @@ extern int yydebug;
tON = 339, /* tON */
tENDIF = 340, /* tENDIF */
tENDREPEAT = 341, /* tENDREPEAT */
- tENDTELL = 342, /* tENDTELL */
- tCAST = 343, /* tCAST */
- tFIELD = 344, /* tFIELD */
- tSCRIPT = 345, /* tSCRIPT */
- tWINDOW = 346 /* tWINDOW */
+ tENDTELL = 342 /* tENDTELL */
};
typedef enum yytokentype yytoken_kind_t;
#endif
@@ -329,7 +325,7 @@ union YYSTYPE
Common::String *prop;
} objectprop;
-#line 333 "engines/director/lingo/lingo-gr.cpp"
+#line 329 "engines/director/lingo/lingo-gr.cpp"
};
typedef union YYSTYPE YYSTYPE;
@@ -378,10 +374,10 @@ enum yysymbol_kind_t
YYSYMBOL_tPLAYACCEL = 28, /* tPLAYACCEL */
YYSYMBOL_tMETHOD = 29, /* tMETHOD */
YYSYMBOL_THEOBJECTPROP = 30, /* THEOBJECTPROP */
- YYSYMBOL_CAST = 31, /* CAST */
- YYSYMBOL_FIELD = 32, /* FIELD */
- YYSYMBOL_SCRIPT = 33, /* SCRIPT */
- YYSYMBOL_WINDOW = 34, /* WINDOW */
+ YYSYMBOL_tCAST = 31, /* tCAST */
+ YYSYMBOL_tFIELD = 32, /* tFIELD */
+ YYSYMBOL_tSCRIPT = 33, /* tSCRIPT */
+ YYSYMBOL_tWINDOW = 34, /* tWINDOW */
YYSYMBOL_tDOWN = 35, /* tDOWN */
YYSYMBOL_tELSE = 36, /* tELSE */
YYSYMBOL_tELSIF = 37, /* tELSIF */
@@ -443,78 +439,74 @@ enum yysymbol_kind_t
YYSYMBOL_93_ = 93, /* '*' */
YYSYMBOL_94_ = 94, /* '/' */
YYSYMBOL_95_ = 95, /* '%' */
- YYSYMBOL_tCAST = 96, /* tCAST */
- YYSYMBOL_tFIELD = 97, /* tFIELD */
- YYSYMBOL_tSCRIPT = 98, /* tSCRIPT */
- YYSYMBOL_tWINDOW = 99, /* tWINDOW */
- YYSYMBOL_100_n_ = 100, /* '\n' */
- YYSYMBOL_101_ = 101, /* '(' */
- YYSYMBOL_102_ = 102, /* ')' */
- YYSYMBOL_103_ = 103, /* ',' */
- YYSYMBOL_104_ = 104, /* '[' */
- YYSYMBOL_105_ = 105, /* ']' */
- YYSYMBOL_106_ = 106, /* ':' */
- YYSYMBOL_YYACCEPT = 107, /* $accept */
- YYSYMBOL_program = 108, /* program */
- YYSYMBOL_programline = 109, /* programline */
- YYSYMBOL_ID = 110, /* ID */
- YYSYMBOL_asgn = 111, /* asgn */
- YYSYMBOL_stmtoneliner = 112, /* stmtoneliner */
- YYSYMBOL_stmt = 113, /* stmt */
- YYSYMBOL_114_1 = 114, /* $@1 */
- YYSYMBOL_115_2 = 115, /* $@2 */
- YYSYMBOL_116_3 = 116, /* $@3 */
- YYSYMBOL_117_4 = 117, /* $@4 */
- YYSYMBOL_118_5 = 118, /* $@5 */
- YYSYMBOL_119_6 = 119, /* $@6 */
- YYSYMBOL_120_7 = 120, /* $@7 */
- YYSYMBOL_121_8 = 121, /* $@8 */
- YYSYMBOL_122_9 = 122, /* $@9 */
- YYSYMBOL_startrepeat = 123, /* startrepeat */
- YYSYMBOL_tellstart = 124, /* tellstart */
- YYSYMBOL_ifstmt = 125, /* ifstmt */
- YYSYMBOL_elseifstmtlist = 126, /* elseifstmtlist */
- YYSYMBOL_elseifstmt = 127, /* elseifstmt */
- YYSYMBOL_jumpifz = 128, /* jumpifz */
- YYSYMBOL_jump = 129, /* jump */
- YYSYMBOL_varassign = 130, /* varassign */
- YYSYMBOL_if = 131, /* if */
- YYSYMBOL_lbl = 132, /* lbl */
- YYSYMBOL_stmtlist = 133, /* stmtlist */
- YYSYMBOL_stmtlistline = 134, /* stmtlistline */
- YYSYMBOL_simpleexprnoparens = 135, /* simpleexprnoparens */
- YYSYMBOL_136_10 = 136, /* $@10 */
- YYSYMBOL_simpleexpr = 137, /* simpleexpr */
- YYSYMBOL_expr = 138, /* expr */
- YYSYMBOL_chunkexpr = 139, /* chunkexpr */
- YYSYMBOL_reference = 140, /* reference */
- YYSYMBOL_proc = 141, /* proc */
- YYSYMBOL_142_11 = 142, /* $@11 */
- YYSYMBOL_143_12 = 143, /* $@12 */
- YYSYMBOL_144_13 = 144, /* $@13 */
- YYSYMBOL_145_14 = 145, /* $@14 */
- YYSYMBOL_globallist = 146, /* globallist */
- YYSYMBOL_propertylist = 147, /* propertylist */
- YYSYMBOL_instancelist = 148, /* instancelist */
- YYSYMBOL_gotofunc = 149, /* gotofunc */
- YYSYMBOL_gotomovie = 150, /* gotomovie */
- YYSYMBOL_playfunc = 151, /* playfunc */
- YYSYMBOL_152_15 = 152, /* $@15 */
- YYSYMBOL_defn = 153, /* defn */
- YYSYMBOL_154_16 = 154, /* $@16 */
- YYSYMBOL_155_17 = 155, /* $@17 */
- YYSYMBOL_on = 156, /* on */
- YYSYMBOL_157_18 = 157, /* $@18 */
- YYSYMBOL_argdef = 158, /* argdef */
- YYSYMBOL_endargdef = 159, /* endargdef */
- YYSYMBOL_argstore = 160, /* argstore */
- YYSYMBOL_arglist = 161, /* arglist */
- YYSYMBOL_nonemptyarglist = 162, /* nonemptyarglist */
- YYSYMBOL_list = 163, /* list */
- YYSYMBOL_valuelist = 164, /* valuelist */
- YYSYMBOL_linearlist = 165, /* linearlist */
- YYSYMBOL_proplist = 166, /* proplist */
- YYSYMBOL_proppair = 167 /* proppair */
+ YYSYMBOL_96_n_ = 96, /* '\n' */
+ YYSYMBOL_97_ = 97, /* '(' */
+ YYSYMBOL_98_ = 98, /* ')' */
+ YYSYMBOL_99_ = 99, /* ',' */
+ YYSYMBOL_100_ = 100, /* '[' */
+ YYSYMBOL_101_ = 101, /* ']' */
+ YYSYMBOL_102_ = 102, /* ':' */
+ YYSYMBOL_YYACCEPT = 103, /* $accept */
+ YYSYMBOL_program = 104, /* program */
+ YYSYMBOL_programline = 105, /* programline */
+ YYSYMBOL_ID = 106, /* ID */
+ YYSYMBOL_asgn = 107, /* asgn */
+ YYSYMBOL_stmtoneliner = 108, /* stmtoneliner */
+ YYSYMBOL_stmt = 109, /* stmt */
+ YYSYMBOL_110_1 = 110, /* $@1 */
+ YYSYMBOL_111_2 = 111, /* $@2 */
+ YYSYMBOL_112_3 = 112, /* $@3 */
+ YYSYMBOL_113_4 = 113, /* $@4 */
+ YYSYMBOL_114_5 = 114, /* $@5 */
+ YYSYMBOL_115_6 = 115, /* $@6 */
+ YYSYMBOL_116_7 = 116, /* $@7 */
+ YYSYMBOL_117_8 = 117, /* $@8 */
+ YYSYMBOL_118_9 = 118, /* $@9 */
+ YYSYMBOL_startrepeat = 119, /* startrepeat */
+ YYSYMBOL_tellstart = 120, /* tellstart */
+ YYSYMBOL_ifstmt = 121, /* ifstmt */
+ YYSYMBOL_elseifstmtlist = 122, /* elseifstmtlist */
+ YYSYMBOL_elseifstmt = 123, /* elseifstmt */
+ YYSYMBOL_jumpifz = 124, /* jumpifz */
+ YYSYMBOL_jump = 125, /* jump */
+ YYSYMBOL_varassign = 126, /* varassign */
+ YYSYMBOL_if = 127, /* if */
+ YYSYMBOL_lbl = 128, /* lbl */
+ YYSYMBOL_stmtlist = 129, /* stmtlist */
+ YYSYMBOL_stmtlistline = 130, /* stmtlistline */
+ YYSYMBOL_simpleexprnoparens = 131, /* simpleexprnoparens */
+ YYSYMBOL_132_10 = 132, /* $@10 */
+ YYSYMBOL_simpleexpr = 133, /* simpleexpr */
+ YYSYMBOL_expr = 134, /* expr */
+ YYSYMBOL_chunkexpr = 135, /* chunkexpr */
+ YYSYMBOL_reference = 136, /* reference */
+ YYSYMBOL_proc = 137, /* proc */
+ YYSYMBOL_138_11 = 138, /* $@11 */
+ YYSYMBOL_139_12 = 139, /* $@12 */
+ YYSYMBOL_140_13 = 140, /* $@13 */
+ YYSYMBOL_141_14 = 141, /* $@14 */
+ YYSYMBOL_globallist = 142, /* globallist */
+ YYSYMBOL_propertylist = 143, /* propertylist */
+ YYSYMBOL_instancelist = 144, /* instancelist */
+ YYSYMBOL_gotofunc = 145, /* gotofunc */
+ YYSYMBOL_gotomovie = 146, /* gotomovie */
+ YYSYMBOL_playfunc = 147, /* playfunc */
+ YYSYMBOL_148_15 = 148, /* $@15 */
+ YYSYMBOL_defn = 149, /* defn */
+ YYSYMBOL_150_16 = 150, /* $@16 */
+ YYSYMBOL_151_17 = 151, /* $@17 */
+ YYSYMBOL_on = 152, /* on */
+ YYSYMBOL_153_18 = 153, /* $@18 */
+ YYSYMBOL_argdef = 154, /* argdef */
+ YYSYMBOL_endargdef = 155, /* endargdef */
+ YYSYMBOL_argstore = 156, /* argstore */
+ YYSYMBOL_arglist = 157, /* arglist */
+ YYSYMBOL_nonemptyarglist = 158, /* nonemptyarglist */
+ YYSYMBOL_list = 159, /* list */
+ YYSYMBOL_valuelist = 160, /* valuelist */
+ YYSYMBOL_linearlist = 161, /* linearlist */
+ YYSYMBOL_proplist = 162, /* proplist */
+ YYSYMBOL_proppair = 163 /* proppair */
};
typedef enum yysymbol_kind_t yysymbol_kind_t;
@@ -824,10 +816,10 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 99
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 2018
+#define YYLAST 1944
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 107
+#define YYNTOKENS 103
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 61
/* YYNRULES -- Number of rules. */
@@ -835,7 +827,7 @@ union yyalloc
/* YYNSTATES -- Number of states. */
#define YYNSTATES 390
-#define YYMAXUTOK 346
+#define YYMAXUTOK 342
/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
@@ -850,15 +842,15 @@ union yyalloc
static const yytype_int8 yytranslate[] =
{
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 100, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 96, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 95, 90, 2,
- 101, 102, 93, 91, 103, 92, 2, 94, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 106, 2,
+ 97, 98, 93, 91, 99, 92, 2, 94, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 102, 2,
88, 2, 89, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 104, 2, 105, 2, 2, 2, 2, 2, 2,
+ 2, 100, 2, 101, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -883,7 +875,7 @@ static const yytype_int8 yytranslate[] =
55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, 87, 96, 97, 98, 99
+ 85, 86, 87
};
#if YYDEBUG
@@ -931,26 +923,26 @@ yysymbol_name (yysymbol_kind_t yysymbol)
"PARRAY", "INT", "ARGC", "ARGCNORET", "THEENTITY", "THEENTITYWITHID",
"THEMENUITEMENTITY", "THEMENUITEMSENTITY", "FLOAT", "THEFUNC",
"THEFUNCINOF", "VARID", "STRING", "SYMBOL", "ENDCLAUSE", "tPLAYACCEL",
- "tMETHOD", "THEOBJECTPROP", "CAST", "FIELD", "SCRIPT", "WINDOW", "tDOWN",
- "tELSE", "tELSIF", "tEXIT", "tGLOBAL", "tGO", "tGOLOOP", "tIF", "tIN",
- "tINTO", "tMACRO", "tMOVIE", "tNEXT", "tOF", "tPREVIOUS", "tPUT",
+ "tMETHOD", "THEOBJECTPROP", "tCAST", "tFIELD", "tSCRIPT", "tWINDOW",
+ "tDOWN", "tELSE", "tELSIF", "tEXIT", "tGLOBAL", "tGO", "tGOLOOP", "tIF",
+ "tIN", "tINTO", "tMACRO", "tMOVIE", "tNEXT", "tOF", "tPREVIOUS", "tPUT",
"tREPEAT", "tSET", "tTHEN", "tTO", "tWHEN", "tWITH", "tWHILE",
"tFACTORY", "tOPEN", "tPLAY", "tINSTANCE", "tGE", "tLE", "tEQ", "tNEQ",
"tAND", "tOR", "tNOT", "tMOD", "tAFTER", "tBEFORE", "tCONCAT",
"tCONTAINS", "tSTARTS", "tCHAR", "tITEM", "tLINE", "tWORD", "tSPRITE",
"tINTERSECTS", "tWITHIN", "tTELL", "tPROPERTY", "tON", "tENDIF",
"tENDREPEAT", "tENDTELL", "'<'", "'>'", "'&'", "'+'", "'-'", "'*'",
- "'/'", "'%'", "tCAST", "tFIELD", "tSCRIPT", "tWINDOW", "'\\n'", "'('",
- "')'", "','", "'['", "']'", "':'", "$accept", "program", "programline",
- "ID", "asgn", "stmtoneliner", "stmt", "$@1", "$@2", "$@3", "$@4", "$@5",
- "$@6", "$@7", "$@8", "$@9", "startrepeat", "tellstart", "ifstmt",
- "elseifstmtlist", "elseifstmt", "jumpifz", "jump", "varassign", "if",
- "lbl", "stmtlist", "stmtlistline", "simpleexprnoparens", "$@10",
- "simpleexpr", "expr", "chunkexpr", "reference", "proc", "$@11", "$@12",
- "$@13", "$@14", "globallist", "propertylist", "instancelist", "gotofunc",
- "gotomovie", "playfunc", "$@15", "defn", "$@16", "$@17", "on", "$@18",
- "argdef", "endargdef", "argstore", "arglist", "nonemptyarglist", "list",
- "valuelist", "linearlist", "proplist", "proppair", YY_NULLPTR
+ "'/'", "'%'", "'\\n'", "'('", "')'", "','", "'['", "']'", "':'",
+ "$accept", "program", "programline", "ID", "asgn", "stmtoneliner",
+ "stmt", "$@1", "$@2", "$@3", "$@4", "$@5", "$@6", "$@7", "$@8", "$@9",
+ "startrepeat", "tellstart", "ifstmt", "elseifstmtlist", "elseifstmt",
+ "jumpifz", "jump", "varassign", "if", "lbl", "stmtlist", "stmtlistline",
+ "simpleexprnoparens", "$@10", "simpleexpr", "expr", "chunkexpr",
+ "reference", "proc", "$@11", "$@12", "$@13", "$@14", "globallist",
+ "propertylist", "instancelist", "gotofunc", "gotomovie", "playfunc",
+ "$@15", "defn", "$@16", "$@17", "on", "$@18", "argdef", "endargdef",
+ "argstore", "arglist", "nonemptyarglist", "list", "valuelist",
+ "linearlist", "proplist", "proppair", YY_NULLPTR
};
return yy_sname[yysymbol];
}
@@ -970,12 +962,12 @@ static const yytype_int16 yytoknum[] =
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, 338, 339, 340, 341, 342, 60, 62,
- 38, 43, 45, 42, 47, 37, 343, 344, 345, 346,
- 10, 40, 41, 44, 91, 93, 58
+ 38, 43, 45, 42, 47, 37, 10, 40, 41, 44,
+ 91, 93, 58
};
#endif
-#define YYPACT_NINF (-356)
+#define YYPACT_NINF (-328)
#define yypact_value_is_default(Yyn) \
((Yyn) == YYPACT_NINF)
@@ -989,45 +981,45 @@ static const yytype_int16 yytoknum[] =
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- 1387, -356, -356, -356, -29, -356, 1062, -356, -356, -356,
- 6, 1277, 16, 13, 17, 17, 1309, 1150, -356, 1309,
- -356, -356, -356, -356, -356, -356, 3, -356, 480, -356,
- -356, -356, -356, 1309, -356, -356, -356, -356, -356, 1028,
- -356, -356, 17, -74, -356, -356, 1309, -356, 14, 1309,
- -356, -356, -356, 1309, -356, 31, -356, 1309, 1309, 1309,
- 1309, 1309, 1309, 1309, 1309, 600, 707, 814, 921, 1309,
- 127, -12, -356, -356, 1513, -356, -356, -356, -356, 17,
- -356, 17, 1480, 17, -356, -37, 1309, 1309, -30, -3,
- 43, -356, 1845, 1513, -356, 17, 1546, 17, 17, -356,
- 1387, 1185, 1911, -4, 1911, 17, -4, 17, -356, 26,
- -356, -356, 1309, -356, 1911, 1309, -356, 1593, 1626, 1659,
- 1692, 1878, -356, -356, -356, -356, -356, -356, 1804, 25,
- 27, -356, -46, 1911, 30, 34, 36, -356, 1185, 1309,
- 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309,
- 1309, 1309, 1309, 1309, 1309, 1309, -356, -356, 1309, 101,
- 101, 101, -31, 1309, 1309, 1309, 10, 75, 1309, 1309,
- 1309, 1309, 1309, 1309, -356, -356, 55, -356, -356, -356,
- 64, -356, -356, -63, 1804, -9, 1309, 116, -356, -84,
- -32, 17, -356, 1911, 1309, 1309, 1309, 1309, 1309, 1309,
- 1309, 1309, 1309, 1309, -356, 1309, 1309, 1309, -356, 1309,
- 66, 53, 15, 121, 121, 121, 121, 1924, 1924, -356,
- -44, 121, 121, 121, 121, -44, -49, -49, -356, -356,
- 17, 129, -356, -356, -356, -356, -356, -356, 1309, 1309,
- 1911, 1911, 1911, 1309, 1309, 17, 1911, 1911, 1911, 1911,
- 1911, 1911, 17, 248, 1440, 17, -356, -356, -356, 1911,
- 1440, -356, 17, -356, -356, -356, 1441, -356, 1725, -356,
- 1758, -356, 1791, -356, -356, 1911, 1911, 1911, 1911, 25,
- 27, 65, -356, -356, -356, -356, -25, 1309, 1911, 1330,
- -356, 1911, 1911, 1309, -356, -356, -356, -356, 83, -356,
- 1309, -356, 1440, -356, 1440, 1309, 1309, 1309, 1309, 1309,
- -356, 1911, -356, -356, -356, 1440, 12, -356, 97, 1440,
- 1911, 18, -356, 158, -356, -356, -356, -356, -356, 40,
- 1440, -356, -356, -356, -356, 1309, 1309, -356, -356, -356,
- 1309, 110, 17, -356, -356, -356, 132, 152, 102, 1911,
- 1911, 1911, 1440, 1309, -356, 104, -356, 89, -356, 1309,
- 140, -356, -356, 1911, -356, 17, -356, 1911, 1309, 111,
- 148, -356, 1440, -356, 1911, -356, 1440, 122, -356, -356,
- -356, -356, 1440, -356, -356, 123, 1440, -356, 130, -356
+ 154, -328, -328, -328, -328, -328, -328, -328, -42, -328,
+ 1183, -328, -328, -328, -29, 1329, 88, 124, 97, 97,
+ 1410, 1222, -328, 1410, -328, -328, 12, -328, 1008, -328,
+ -328, -328, -328, 1410, -328, -328, -328, -328, -328, 1096,
+ -328, -328, 97, -83, -328, -328, 1410, -328, -24, 1410,
+ -328, -328, -328, 596, 699, 802, 905, 1410, -328, -3,
+ -328, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410,
+ 445, -20, -328, -328, 1451, -328, -328, -328, -328, 97,
+ -328, 97, 1402, 97, -328, -33, 1410, 1410, -13, 2,
+ 31, -328, 1754, 1451, -328, 97, 1715, 97, 97, -328,
+ 154, 1303, 1837, -5, 1837, 97, -5, 97, -328, 21,
+ -328, -328, 1410, -328, -328, -328, -328, -328, 1837, 1410,
+ -328, 501, 1484, 1517, 1550, 1804, -328, -328, 1767, 23,
+ 35, -328, -40, 1837, -2, 34, 40, -328, 1303, 1410,
+ 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410,
+ 1410, 1410, 1410, 1410, 1410, 1410, -328, -328, 1410, -4,
+ -4, -4, -27, 1410, 1410, 1410, 4, 75, 1410, 1410,
+ 1410, 1410, 1410, 1410, -328, -328, 67, -328, -328, -328,
+ 68, -328, -328, 16, 1767, 48, 1410, 43, -328, -14,
+ -8, 97, -328, 1837, 1410, 1410, 1410, 1410, 1410, 1410,
+ 1410, 1410, 1410, 1410, -328, 1410, 1410, 1410, -328, 1410,
+ 192, 19, 54, -58, -58, -58, -58, 1850, 1850, -328,
+ -44, -58, -58, -58, -58, -44, -54, -54, -328, -328,
+ 97, 125, -328, -328, -328, -328, -328, -328, 1410, 1410,
+ 1837, 1837, 1837, 1410, 1410, 97, 1837, 1837, 1837, 1837,
+ 1837, 1837, 97, 1107, 1019, 97, -328, -328, -328, 1837,
+ 1019, -328, 97, -328, -328, -328, 1583, -328, 1616, -328,
+ 1649, -328, 1682, -328, -328, 1837, 1837, 1837, 1837, 23,
+ 35, 70, -328, -328, -328, -328, -6, 1410, 1837, 437,
+ -328, 1837, 1837, 1410, -328, -328, -328, -328, 72, -328,
+ 1410, -328, 1019, -328, 1019, 1410, 1410, 1410, 1410, 1410,
+ -328, 1837, -328, -328, -328, 1019, 22, -328, 83, 1019,
+ 1837, 64, -328, 147, -328, -328, -328, -328, -328, 66,
+ 1019, -328, -328, -328, -328, 1410, 1410, -328, -328, -328,
+ 1410, 24, 97, -328, -328, -328, 122, 146, 98, 1837,
+ 1837, 1837, 1019, 1410, -328, 104, -328, 91, -328, 1410,
+ 143, -328, -328, 1837, -328, 97, -328, 1837, 1410, 113,
+ 149, -328, 1019, -328, 1837, -328, 1019, 114, -328, -328,
+ -328, -328, 1019, -328, -328, 117, 1019, -328, 121, -328
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -1035,19 +1027,19 @@ static const yytype_int16 yypact[] =
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
- 4, 7, 156, 161, 125, 126, 0, 145, 60, 158,
- 0, 0, 0, 0, 0, 0, 0, 0, 130, 0,
- 128, 165, 8, 9, 10, 11, 0, 2, 0, 29,
+ 4, 7, 156, 161, 8, 9, 10, 11, 125, 126,
+ 0, 145, 60, 158, 0, 0, 0, 0, 0, 0,
+ 0, 0, 130, 0, 128, 165, 0, 2, 0, 29,
31, 6, 32, 0, 30, 122, 123, 5, 61, 0,
61, 124, 0, 0, 66, 74, 0, 67, 0, 0,
- 69, 68, 78, 0, 146, 0, 147, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 69, 68, 78, 0, 0, 0, 0, 0, 146, 0,
+ 147, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 86, 88, 90, 148, 117, 73, 150, 81, 0,
46, 0, 121, 0, 61, 0, 0, 0, 0, 0,
0, 160, 133, 153, 155, 0, 0, 0, 0, 1,
4, 0, 175, 138, 57, 167, 157, 167, 139, 127,
- 87, 75, 0, 76, 152, 0, 72, 0, 0, 0,
- 0, 0, 70, 71, 118, 108, 119, 120, 0, 69,
+ 87, 75, 0, 76, 118, 108, 119, 120, 152, 0,
+ 72, 0, 0, 0, 0, 0, 70, 71, 0, 69,
68, 181, 86, 184, 0, 183, 182, 186, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 61, 0, 0,
@@ -1079,13 +1071,13 @@ static const yytype_uint8 yydefact[] =
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -356, -356, 107, 0, -356, -36, 8, -356, -356, -356,
- -356, -356, -356, -356, -356, -356, -355, 42, -356, -356,
- -356, -239, -327, -93, -356, -38, -250, -356, 20, -356,
- -28, 252, 21, -356, -356, -356, -356, -356, -356, -356,
- -356, -356, -356, -11, -356, -356, -356, -356, -356, -356,
- -356, -103, -356, -254, -34, -87, -356, -356, -356, -356,
- 19
+ -328, -328, 108, 0, -328, -32, 3, -328, -328, -328,
+ -328, -328, -328, -328, -328, -328, -291, 33, -328, -328,
+ -328, -239, -327, -95, -328, -38, -250, -328, 56, -328,
+ -23, 248, -10, -328, -328, -328, -328, -328, -328, -328,
+ -328, -328, -328, -15, -328, -328, -328, -328, -328, -328,
+ -328, -103, -328, -255, -34, -89, -328, -328, -328, -328,
+ 17
};
/* YYDEFGOTO[NTERM-NUM]. */
@@ -1105,484 +1097,470 @@ static const yytype_int16 yydefgoto[] =
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 28, 290, 107, 99, 190, 106, 94, 348, 31, 304,
- 301, 372, 238, 89, 90, 91, 261, 164, 111, 262,
- 145, 113, 41, 382, 168, 145, 110, 165, 386, 116,
- 85, 86, 87, 239, 169, 122, 123, 1, 138, 256,
- 257, 1, 108, 88, 154, 155, 163, 152, 153, 154,
- 155, 170, 323, 384, 324, 138, 330, 80, 166, 167,
- 207, 171, 112, 156, 243, 334, 335, 185, 263, 338,
- 132, 262, 83, 84, 244, 310, 336, 115, 262, 157,
- 344, 158, 174, 162, 192, 124, 125, 126, 127, 138,
- 1, 279, 280, 258, 186, 175, 172, 179, 181, 186,
- 28, 183, 362, 100, 212, 188, 358, 188, 31, 22,
- 23, 24, 25, 22, 23, 24, 25, 285, 186, 230,
- 339, 340, 377, 245, 370, 1, 380, 286, 43, 191,
- 231, 205, 385, 206, 378, 208, 388, 209, 211, 210,
- 383, 44, 343, 340, 45, 46, 352, 353, 47, 48,
- 49, 1, 129, 130, 138, 283, 284, 52, 252, 232,
- 234, 236, 22, 23, 24, 25, 265, 255, 267, 260,
- 269, 207, 271, 287, 273, 274, 58, 59, 60, 61,
- 233, 235, 237, 319, 337, 342, 359, 360, 361, 364,
- 145, 264, 365, 146, 368, 57, 375, 22, 66, 24,
- 25, 376, 58, 59, 60, 61, 62, 182, 381, 387,
- 281, 151, 152, 153, 154, 155, 389, 295, 63, 64,
- 254, 333, 329, 65, 66, 67, 68, 0, 69, 282,
- 188, 70, -180, 131, 0, 0, 0, 0, 0, 0,
+ 28, 290, 107, 31, 190, 106, 94, 348, 304, 41,
+ 301, 145, 99, 110, 146, 145, 238, 89, 90, 91,
+ 1, 164, 80, 111, 112, 145, 113, 4, 54, 6,
+ 7, 165, 151, 152, 153, 154, 155, 239, 120, 154,
+ 155, 168, 108, 119, 126, 127, 163, 152, 153, 154,
+ 155, 169, 323, 384, 324, 330, 170, 138, 243, 156,
+ 352, 353, 207, 166, 167, 334, 171, 185, 244, 338,
+ 132, 62, 63, 64, 65, 372, 335, 138, 174, 157,
+ 344, 158, 261, 162, 172, 262, 336, 382, 263, 192,
+ 310, 262, 386, 262, 186, 175, 260, 179, 181, 208,
+ 28, 183, 362, 31, 212, 188, 358, 188, 100, 114,
+ 115, 116, 117, 138, 256, 257, 138, 283, 284, 230,
+ 191, 1, 377, 245, 370, 205, 380, 286, 4, 5,
+ 6, 7, 385, 209, 378, 231, 388, 206, 211, 210,
+ 383, 85, 86, 87, 83, 84, 258, 186, 1, 233,
+ 235, 237, 285, 186, 88, 4, 5, 6, 7, 232,
+ 234, 236, 339, 340, 343, 340, 252, 255, 319, 287,
+ 337, 265, 207, 267, 342, 269, 359, 271, 1, 273,
+ 274, 360, 2, 3, 361, 4, 5, 6, 7, 364,
+ 365, 264, 8, 9, 10, 11, 12, 368, 375, 13,
+ 381, 14, 376, 387, 15, 16, 17, 389, 182, 18,
+ 281, 254, 19, 20, 21, 22, 1, 279, 280, 333,
+ 329, 295, 0, 4, 5, 6, 7, 282, 0, 0,
+ 188, 0, 0, 0, 0, 0, 23, 24, 25, 0,
0, 0, 0, 0, 0, 293, 0, 0, 0, 0,
0, 0, 294, 28, 28, 299, 0, 317, 74, 318,
- 28, 0, 303, 82, 0, 316, 0, 0, 92, 93,
- 0, 96, 1, 0, 331, 0, 2, 325, 326, 327,
- 328, 0, 0, 0, 0, 104, 4, 5, 6, 7,
- 0, 0, 0, 0, 0, 0, 0, 0, 11, 0,
- 13, 0, 28, 355, 28, 114, 0, 16, 17, 18,
- 117, 118, 119, 120, 121, 28, 0, 0, 0, 28,
- 0, 128, 133, 0, 369, 0, 0, 0, 0, 0,
- 28, 20, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 356, 0, 22, 23, 24, 25, 0, 0,
- 0, 0, 28, 184, 0, 0, 0, 0, 0, 0,
+ 28, 0, 303, 82, 0, 0, 0, 0, 92, 93,
+ 316, 96, 0, 0, 331, 0, 0, 0, 0, 0,
+ 0, 104, 325, 326, 327, 328, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 28, 355, 28, 118, 0, 0, 0, 0,
+ 121, 122, 123, 124, 125, 28, 0, 128, 133, 28,
+ 0, 0, 0, 0, 369, 0, 0, 0, 0, 0,
+ 28, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 356, 0, 0, 0, 0, 0, 0, 184,
+ 0, 0, 28, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 371, 0, 193, 0, 0,
0, 0, 28, 0, 0, 0, 28, 0, 0, 0,
- 0, 0, 28, 0, 0, 0, 28, 0, 0, 0,
- 0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
- 222, 223, 224, 225, 226, 227, 228, 229, 0, 0,
- 0, 0, 0, 0, 0, 240, 241, 242, 0, 0,
- 246, 247, 248, 249, 250, 251, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 259, 0,
- 0, 0, 0, 0, 0, 0, 0, 266, 0, 268,
- 0, 270, 0, 272, 0, 0, 0, 275, 276, 277,
- 0, 278, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- -174, 43, 0, 0, 0, 0, 0, 0, 0, 0,
- 288, 289, 0, 0, 44, 291, 292, 45, 46, 0,
- 0, 47, 48, 49, 1, 50, 51, -174, 0, 0,
- 52, 0, 0, 0, 0, 0, -174, -174, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 311,
- 0, 0, 0, 0, 0, 0, 0, 0, 57, 0,
- 0, 0, 320, 0, 0, 58, 59, 60, 61, 62,
- 0, 320, 0, 0, 0, -174, -174, -174, 0, 0,
- 0, 63, 64, 0, 0, 0, 65, 66, 67, 68,
- -174, 101, 0, -174, 70, 0, 0, 349, 350, 0,
- 0, 0, 351, 0, 0, 0, 0, 0, 0, 0,
- -8, 43, 0, 0, 0, 363, 0, 0, 0, 0,
- 0, 367, 0, 0, 44, 0, 0, 45, 46, 0,
- 374, 47, 48, 49, 1, 50, 51, -8, -8, 0,
- 52, 0, 0, 0, 0, -8, -8, -8, -8, -8,
- -8, -8, -8, 0, -8, 0, -8, -8, -8, 0,
- -8, -8, -8, -8, -8, -8, -8, 0, 0, -8,
- -8, -8, -8, -8, -8, -8, -8, -8, 57, -8,
- -8, -8, -8, -8, -8, 58, 59, 60, 61, 62,
- -8, -8, -8, -8, 0, -8, -8, -8, -8, -8,
- -8, -8, -8, -8, -8, 0, 65, 66, 67, 68,
- -8, -8, -8, -8, 70, -8, -8, -9, 43, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 44, 0, 0, 45, 46, 0, 0, 47, 48,
- 49, 1, 50, 51, -9, -9, 0, 52, 0, 0,
- 0, 0, -9, -9, -9, -9, -9, -9, -9, -9,
- 0, -9, 0, -9, -9, -9, 0, -9, -9, -9,
- -9, -9, -9, -9, 0, 0, -9, -9, -9, -9,
- -9, -9, -9, -9, -9, 57, -9, -9, -9, -9,
- -9, -9, 58, 59, 60, 61, 62, -9, -9, -9,
- -9, 0, -9, -9, -9, -9, -9, -9, -9, -9,
- -9, -9, 0, 65, 66, 67, 68, -9, -9, -9,
- -9, 70, -9, -9, -10, 43, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 44, 0,
- 0, 45, 46, 0, 0, 47, 48, 49, 1, 50,
- 51, -10, -10, 0, 52, 0, 0, 0, 0, -10,
- -10, -10, -10, -10, -10, -10, -10, 0, -10, 0,
- -10, -10, -10, 0, -10, -10, -10, -10, -10, -10,
- -10, 0, 0, -10, -10, -10, -10, -10, -10, -10,
- -10, -10, 57, -10, -10, -10, -10, -10, -10, 58,
- 59, 60, 61, 62, -10, -10, -10, -10, 0, -10,
- -10, -10, -10, -10, -10, -10, -10, -10, -10, 0,
- 65, 66, 67, 68, -10, -10, -10, -10, 70, -10,
- -10, -11, 43, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 44, 0, 0, 45, 46,
- 0, 0, 47, 48, 49, 1, 50, 51, -11, -11,
- 0, 52, 0, 0, 0, 0, -11, -11, -11, -11,
- -11, -11, -11, -11, 0, -11, 0, -11, -11, -11,
- 0, -11, -11, -11, -11, -11, -11, -11, 0, 0,
- -11, -11, -11, -11, -11, -11, -11, -11, -11, 57,
- -11, -11, -11, -11, -11, -11, 58, 59, 60, 61,
- 62, -11, -11, -11, -11, 0, -11, -11, -11, -11,
- -11, -11, -11, -11, -11, -11, 0, 65, 66, 67,
- 68, -11, -11, -11, -11, 70, -11, -11, -174, 43,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 44, 0, 0, 45, 46, 0, 0, 47,
- 48, 49, 1, 50, 51, -174, 0, 0, 52, 0,
- 0, 0, 0, 43, -174, -174, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 44, 0, 0, 45,
- 46, 0, 0, 47, 48, 49, 1, 50, 51, 0,
- 0, 0, 52, 0, 0, 0, 57, 0, 0, 0,
- 0, 0, 0, 58, 59, 60, 61, 62, 53, 54,
- 55, 56, 0, -174, -174, -174, 0, 0, 0, 63,
- 64, 0, 0, 0, 65, 66, 67, 68, -174, 69,
- 57, -174, 70, 0, 0, 0, 0, 58, 59, 60,
- 61, 62, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 43, 0, 63, 64, 0, 0, 0, 65, 66,
- 67, 68, 0, 69, 44, 0, 70, 45, 46, 0,
- 0, 47, 48, 49, 1, 50, 51, 0, 0, 0,
- 52, 0, 0, 0, 0, 0, 43, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 53, 0, 55, 44,
+ 0, 0, 28, 0, 0, 0, 28, 213, 214, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 0, 0, 0, 0, 0, 0,
+ 0, 240, 241, 242, 0, 0, 246, 247, 248, 249,
+ 250, 251, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 259, 0, 0, 0, 0, 0,
+ 0, 0, 0, 266, 0, 268, 43, 270, 0, 272,
+ 0, 0, 0, 275, 276, 277, 0, 278, 0, 44,
0, 0, 45, 46, 0, 0, 47, 48, 49, 1,
- 50, 51, 0, 0, 0, 52, 0, 0, 57, 0,
- 0, 0, 0, 0, 0, 58, 59, 60, 61, 62,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 63, 64, 0, 0, 0, 65, 66, 67, 68,
- 0, 69, 0, 57, 70, 0, 0, 0, 0, 0,
- 58, 59, 60, 61, 62, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 63, 64, 43, 0,
- 0, 65, 66, 67, 68, 0, 69, -174, -174, 70,
- 0, 44, 0, 0, 45, 46, 0, 81, 47, 48,
- 49, 1, 50, 51, 0, 0, 0, 52, 0, 0,
+ 129, 130, -38, 0, 0, 52, 53, 54, 55, 56,
+ 0, 0, 0, 0, 0, 0, 288, 289, 0, 0,
+ 0, 291, 292, 0, 0, 0, 0, 0, 0, 139,
+ 140, 141, 142, 143, 144, 0, 145, 0, 0, 146,
+ 147, 148, 0, 61, 0, 0, 0, 0, 0, 0,
+ 62, 63, 64, 65, 66, 149, 150, 151, 152, 153,
+ 154, 155, 0, 0, 0, 311, 67, 68, 0, 0,
+ 0, 0, 69, 0, 0, 70, -180, 131, 320, 194,
+ 0, 0, 0, 0, 0, 195, 0, 320, 0, 0,
+ 0, 0, 0, 139, 140, 141, 142, 143, 144, 0,
+ 145, 0, 0, 146, 147, 148, 0, 0, 0, 0,
+ 0, 0, 0, 349, 350, 0, 0, 0, 351, 149,
+ 150, 151, 152, 153, 154, 155, -8, 43, 0, 0,
+ 0, 363, 0, 0, 0, 0, 0, 367, 0, 0,
+ 44, 0, 0, 45, 46, 0, 374, 47, 48, 49,
+ 1, 50, 51, -8, -8, 0, 52, 53, 54, 55,
+ 56, -8, -8, -8, -8, -8, -8, -8, -8, 0,
+ -8, 0, -8, -8, -8, 0, -8, -8, -8, -8,
+ -8, -8, -8, 0, 0, -8, -8, -8, -8, -8,
+ -8, -8, -8, -8, 61, -8, -8, -8, -8, -8,
+ -8, 62, 63, 64, 65, 66, -8, -8, -8, -8,
+ 0, -8, -8, -8, -8, -8, -8, -8, -8, -8,
+ -8, 0, -8, -8, -8, -8, 70, -8, -8, -9,
43, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 44, 0, 0, 45, 46, 0, 0,
+ 47, 48, 49, 1, 50, 51, -9, -9, 0, 52,
+ 53, 54, 55, 56, -9, -9, -9, -9, -9, -9,
+ -9, -9, 0, -9, 0, -9, -9, -9, 0, -9,
+ -9, -9, -9, -9, -9, -9, 0, 0, -9, -9,
+ -9, -9, -9, -9, -9, -9, -9, 61, -9, -9,
+ -9, -9, -9, -9, 62, 63, 64, 65, 66, -9,
+ -9, -9, -9, 0, -9, -9, -9, -9, -9, -9,
+ -9, -9, -9, -9, 0, -9, -9, -9, -9, 70,
+ -9, -9, -10, 43, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 44, 0, 0, 45,
+ 46, 0, 0, 47, 48, 49, 1, 50, 51, -10,
+ -10, 0, 52, 53, 54, 55, 56, -10, -10, -10,
+ -10, -10, -10, -10, -10, 0, -10, 0, -10, -10,
+ -10, 0, -10, -10, -10, -10, -10, -10, -10, 0,
+ 0, -10, -10, -10, -10, -10, -10, -10, -10, -10,
+ 61, -10, -10, -10, -10, -10, -10, 62, 63, 64,
+ 65, 66, -10, -10, -10, -10, 0, -10, -10, -10,
+ -10, -10, -10, -10, -10, -10, -10, 0, -10, -10,
+ -10, -10, 70, -10, -10, -11, 43, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 44,
+ 0, 0, 45, 46, 0, 0, 47, 48, 49, 1,
+ 50, 51, -11, -11, 0, 52, 53, 54, 55, 56,
+ -11, -11, -11, -11, -11, -11, -11, -11, 0, -11,
+ 0, -11, -11, -11, 0, -11, -11, -11, -11, -11,
+ -11, -11, 0, 0, -11, -11, -11, -11, -11, -11,
+ -11, -11, -11, 61, -11, -11, -11, -11, -11, -11,
+ 62, 63, 64, 65, 66, -11, -11, -11, -11, 0,
+ -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
+ 0, -11, -11, -11, -11, 70, -11, -11, -174, 43,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 44, 0, 0, 45, 46, 0, 0, 47,
+ 48, 49, 1, 50, 51, -174, 0, 0, 52, 53,
+ 54, 55, 56, 1, -174, -174, 0, 2, 0, 0,
+ 4, 5, 6, 7, 0, 0, 0, 8, 9, 10,
+ 11, 12, 0, 0, 0, 0, 14, 0, 0, 15,
+ 16, 17, 0, 0, 18, 0, 61, 0, 20, 21,
+ 22, 0, 0, 62, 63, 64, 65, 66, 0, 0,
+ 0, 0, 0, -174, -174, -174, -174, 43, 0, 67,
+ 68, 23, 24, 0, -174, 101, 0, -174, 70, 0,
+ 44, 0, 0, 45, 46, 0, 0, 47, 48, 49,
+ 1, 50, 51, -174, 0, 0, 52, 53, 54, 55,
+ 56, 1, -174, -174, 0, 2, 0, 0, 4, 5,
+ 6, 7, 0, 0, 0, 8, 9, 10, 11, 0,
+ 0, 0, 0, 0, 0, 0, 0, 15, 0, 17,
+ 0, 0, 0, 0, 61, 0, 20, 21, 22, 0,
+ 0, 62, 63, 64, 65, 66, 0, 0, 0, 0,
+ 0, -174, -174, -174, 43, 0, 0, 67, 68, 0,
+ 24, 0, -174, 69, 0, -174, 70, 44, 0, 0,
+ 45, 46, 0, 0, 47, 48, 49, 1, 50, 51,
+ 0, 0, 0, 52, 53, 54, 55, 56, 0, 0,
+ 0, 0, 0, 43, 0, 0, 0, 0, 0, 57,
+ 58, 59, 60, 0, 0, 0, 44, 0, 0, 45,
+ 46, 0, 0, 47, 48, 49, 1, 50, 51, 0,
+ 0, 61, 52, 53, 54, 55, 56, 0, 62, 63,
+ 64, 65, 66, 0, 0, 0, 0, 0, 57, 0,
+ 59, 0, 0, 0, 67, 68, 0, 0, 0, 0,
+ 69, 0, 0, 70, 0, 0, 0, 0, 0, 0,
+ 61, 0, 0, 0, 0, 0, 0, 62, 63, 64,
+ 65, 66, 0, 0, 43, 0, 0, 0, 0, 0,
+ 0, 0, 0, 67, 68, 0, 0, 44, 0, 69,
+ 45, 46, 70, 0, 47, 48, 49, 1, 50, 51,
+ 43, 0, 0, 52, 53, 54, 55, 56, 0, 0,
+ 0, 0, 0, 44, 0, 0, 45, 46, 0, 81,
47, 48, 49, 1, 50, 51, 0, 0, 0, 52,
- 0, 0, 0, 0, 0, 57, 0, 0, 0, 0,
- 0, 0, 58, 59, 60, 61, 62, 0, 0, 0,
- 0, 0, 0, 0, 0, -38, 0, 0, 63, 64,
- 0, 0, 0, 65, 66, 67, 68, 57, 69, 0,
- 0, 70, 0, 0, 58, 59, 60, 61, 62, 0,
- 0, 0, 139, 140, 141, 142, 143, 144, 0, 145,
- 63, 64, 146, 147, 148, 65, 66, 67, 68, 0,
- 69, 1, 0, 70, 0, 2, 3, 0, 149, 150,
- 151, 152, 153, 154, 155, 4, 5, 6, 7, 8,
- 0, 0, 9, 0, 10, 0, 0, 11, 12, 13,
- 0, 0, 14, 0, 0, 15, 16, 17, 18, 0,
+ 53, 54, 55, 56, 0, 0, 0, 0, 0, 0,
+ 0, 61, 0, 0, 0, 0, 0, 0, 62, 63,
+ 64, 65, 66, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 67, 68, 0, 61, 0, 0,
+ 69, -174, -174, 70, 62, 63, 64, 65, 66, 0,
+ 0, 43, 0, 0, 0, 0, 0, 0, 0, 0,
+ 67, 68, 0, 0, 44, 0, 69, 45, 46, 70,
+ 0, 47, 48, 49, 1, 50, 51, 0, 0, 0,
+ 52, 53, 54, 55, 56, 0, 159, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 2, 19,
- 20, 21, 0, 0, 0, 0, 0, 0, 4, 5,
- 6, 7, 8, 22, 23, 24, 25, 10, 0, 305,
- 11, 12, 13, 0, 0, 14, 0, 0, 0, 16,
- 17, 18, 0, 139, 140, 141, 142, 143, 144, 0,
+ 0, 0, 0, 0, 139, 140, 141, 142, 143, 144,
+ 0, 145, 160, 161, 146, 147, 148, 0, 61, 0,
+ 0, 0, 0, 0, 0, 62, 63, 64, 65, 66,
+ 149, 150, 151, 152, 153, 154, 155, 57, 0, 59,
+ 0, 67, 68, 0, 0, 0, 0, 69, 0, 0,
+ 70, 0, 0, 139, 140, 141, 142, 143, 144, 0,
145, 0, 0, 146, 147, 148, 0, 0, 0, 0,
- 0, 0, 19, 20, 159, 0, 0, 0, 0, 149,
- 150, 151, 152, 153, 154, 155, 22, 23, 24, 25,
- 0, 0, 139, 140, 141, 142, 143, 144, 0, 145,
- 160, 161, 146, 147, 148, 0, 0, 0, 0, 53,
- 0, 55, 0, 0, 0, 0, 0, 0, 149, 150,
+ 0, 0, 196, 0, 0, 0, 0, 0, 197, 149,
+ 150, 151, 152, 153, 154, 155, 139, 140, 141, 142,
+ 143, 144, 0, 145, 0, 0, 146, 147, 148, 0,
+ 0, 0, 0, 0, 0, 198, 0, 0, 0, 0,
+ 0, 199, 149, 150, 151, 152, 153, 154, 155, 139,
+ 140, 141, 142, 143, 144, 0, 145, 0, 0, 146,
+ 147, 148, 0, 0, 0, 0, 0, 0, 200, 0,
+ 0, 0, 0, 0, 201, 149, 150, 151, 152, 153,
+ 154, 155, 139, 140, 141, 142, 143, 144, 0, 145,
+ 0, 0, 146, 147, 148, 0, 0, 0, 0, 0,
+ 0, 305, 0, 0, 0, 0, 0, 0, 149, 150,
151, 152, 153, 154, 155, 139, 140, 141, 142, 143,
144, 0, 145, 0, 0, 146, 147, 148, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 177, 149, 150, 151, 152, 153, 154, 155, 139, 140,
+ 0, 0, 0, 0, 306, 0, 0, 0, 0, 0,
+ 0, 149, 150, 151, 152, 153, 154, 155, 139, 140,
141, 142, 143, 144, 0, 145, 0, 0, 146, 147,
- 148, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 148, 0, 0, 0, 0, 0, 0, 307, 0, 0,
0, 0, 0, 0, 149, 150, 151, 152, 153, 154,
- 155, 194, 0, 0, 0, 0, 178, 195, 0, 0,
- 0, 0, 0, 0, 0, 139, 140, 141, 142, 143,
- 144, 0, 145, 0, 0, 146, 147, 148, 0, 0,
- 0, 0, 0, 0, 196, 0, 0, 0, 0, 0,
- 197, 149, 150, 151, 152, 153, 154, 155, 139, 140,
- 141, 142, 143, 144, 0, 145, 0, 0, 146, 147,
- 148, 0, 0, 0, 0, 0, 0, 198, 0, 0,
- 0, 0, 0, 199, 149, 150, 151, 152, 153, 154,
155, 139, 140, 141, 142, 143, 144, 0, 145, 0,
0, 146, 147, 148, 0, 0, 0, 0, 0, 0,
- 200, 0, 0, 0, 0, 0, 201, 149, 150, 151,
+ 308, 0, 0, 0, 0, 0, 0, 149, 150, 151,
152, 153, 154, 155, 139, 140, 141, 142, 143, 144,
0, 145, 0, 0, 146, 147, 148, 0, 0, 0,
- 0, 0, 0, 306, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 177,
149, 150, 151, 152, 153, 154, 155, 139, 140, 141,
- 142, 143, 144, 0, 145, 0, 0, 146, 147, 148,
- 0, 0, 0, 0, 0, 0, 307, 0, 0, 0,
- 0, 0, 0, 149, 150, 151, 152, 153, 154, 155,
- 139, 140, 141, 142, 143, 144, 0, 145, 0, 0,
- 146, 147, 148, 0, 0, 0, 0, 0, 0, 308,
- 0, 0, 0, 0, 0, 0, 149, 150, 151, 152,
- 153, 154, 155, 139, 140, 141, 142, 143, 144, 0,
- 145, 0, 0, 146, 147, 148, 139, 140, 141, 142,
- 143, 144, 0, 145, 0, 0, 146, 147, 148, 149,
- 150, 151, 152, 153, 154, 155, 0, 0, 0, 0,
- 0, 0, 149, 150, 151, 152, 153, 154, 155, 0,
- 0, 173, 0, 0, 0, 0, 204, 139, 140, 141,
142, 143, 144, 0, 145, 0, 0, 146, 147, 148,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 149, 150, 151, 152, 153, 154, 155,
- 139, 140, 141, 142, 143, 144, 0, 145, 0, 0,
- 146, 147, 148, 0, 0, 0, 0, 0, 202, 203,
- 0, 0, 0, 0, 0, 0, 149, 150, 151, 152,
- 153, 154, 155, 139, 140, 141, 142, 143, 144, 0,
- 145, 0, 0, 146, 147, 148, 139, 140, 141, 142,
- 0, 0, 0, 145, 0, 0, 146, 147, 148, 149,
- 150, 151, 152, 153, 154, 155, 0, 0, 0, 0,
- 0, 0, 149, 150, 151, 152, 153, 154, 155
+ 173, 178, 0, 0, 0, 0, 139, 140, 141, 142,
+ 143, 144, 0, 145, 0, 0, 146, 147, 148, 139,
+ 140, 141, 142, 143, 144, 0, 145, 0, 0, 146,
+ 147, 148, 149, 150, 151, 152, 153, 154, 155, 0,
+ 0, 0, 0, 0, 0, 149, 150, 151, 152, 153,
+ 154, 155, 0, 0, 0, 204, 139, 140, 141, 142,
+ 143, 144, 0, 145, 0, 0, 146, 147, 148, 0,
+ 0, 0, 0, 0, 202, 203, 0, 0, 0, 0,
+ 0, 0, 149, 150, 151, 152, 153, 154, 155, 139,
+ 140, 141, 142, 143, 144, 0, 145, 0, 0, 146,
+ 147, 148, 139, 140, 141, 142, 0, 0, 0, 145,
+ 0, 0, 146, 147, 148, 149, 150, 151, 152, 153,
+ 154, 155, 0, 0, 0, 0, 0, 0, 149, 150,
+ 151, 152, 153, 154, 155
};
static const yytype_int16 yycheck[] =
{
- 0, 240, 40, 0, 107, 39, 17, 334, 0, 263,
- 260, 366, 43, 13, 14, 15, 100, 54, 46, 103,
- 69, 49, 51, 378, 54, 69, 100, 64, 383, 57,
- 17, 18, 19, 64, 64, 63, 64, 24, 101, 102,
- 103, 24, 42, 30, 93, 94, 84, 91, 92, 93,
- 94, 54, 302, 380, 304, 101, 310, 51, 86, 87,
- 106, 64, 48, 74, 54, 315, 54, 101, 100, 319,
- 70, 103, 56, 57, 64, 100, 64, 46, 103, 79,
- 330, 81, 93, 83, 112, 65, 66, 67, 68, 101,
- 24, 25, 26, 102, 103, 95, 53, 97, 98, 103,
- 100, 101, 352, 100, 138, 105, 345, 107, 100, 96,
- 97, 98, 99, 96, 97, 98, 99, 102, 103, 157,
- 102, 103, 372, 48, 363, 24, 376, 230, 1, 103,
- 158, 106, 382, 106, 373, 105, 386, 103, 138, 103,
- 379, 14, 102, 103, 17, 18, 36, 37, 21, 22,
- 23, 24, 25, 26, 101, 102, 103, 30, 103, 159,
- 160, 161, 96, 97, 98, 99, 194, 103, 196, 53,
- 198, 106, 200, 44, 202, 203, 75, 76, 77, 78,
- 159, 160, 161, 100, 87, 27, 54, 35, 86, 85,
- 69, 191, 103, 72, 54, 68, 85, 96, 97, 98,
- 99, 53, 75, 76, 77, 78, 79, 100, 86, 86,
- 210, 90, 91, 92, 93, 94, 86, 253, 91, 92,
- 178, 314, 309, 96, 97, 98, 99, -1, 101, 210,
- 230, 104, 105, 106, -1, -1, -1, -1, -1, -1,
+ 0, 240, 40, 0, 107, 39, 21, 334, 263, 51,
+ 260, 69, 0, 96, 72, 69, 43, 17, 18, 19,
+ 24, 54, 51, 46, 48, 69, 49, 31, 32, 33,
+ 34, 64, 90, 91, 92, 93, 94, 64, 61, 93,
+ 94, 54, 42, 46, 67, 68, 84, 91, 92, 93,
+ 94, 64, 302, 380, 304, 310, 54, 97, 54, 74,
+ 36, 37, 102, 86, 87, 315, 64, 101, 64, 319,
+ 70, 75, 76, 77, 78, 366, 54, 97, 93, 79,
+ 330, 81, 96, 83, 53, 99, 64, 378, 96, 112,
+ 96, 99, 383, 99, 99, 95, 53, 97, 98, 101,
+ 100, 101, 352, 100, 138, 105, 345, 107, 96, 53,
+ 54, 55, 56, 97, 98, 99, 97, 98, 99, 157,
+ 99, 24, 372, 48, 363, 102, 376, 230, 31, 32,
+ 33, 34, 382, 99, 373, 158, 386, 102, 138, 99,
+ 379, 17, 18, 19, 56, 57, 98, 99, 24, 159,
+ 160, 161, 98, 99, 30, 31, 32, 33, 34, 159,
+ 160, 161, 98, 99, 98, 99, 99, 99, 96, 44,
+ 87, 194, 102, 196, 27, 198, 54, 200, 24, 202,
+ 203, 35, 28, 29, 86, 31, 32, 33, 34, 85,
+ 99, 191, 38, 39, 40, 41, 42, 54, 85, 45,
+ 86, 47, 53, 86, 50, 51, 52, 86, 100, 55,
+ 210, 178, 58, 59, 60, 61, 24, 25, 26, 314,
+ 309, 253, -1, 31, 32, 33, 34, 210, -1, -1,
+ 230, -1, -1, -1, -1, -1, 82, 83, 84, -1,
-1, -1, -1, -1, -1, 245, -1, -1, -1, -1,
- -1, -1, 252, 253, 254, 255, -1, 295, 6, 297,
- 260, -1, 262, 11, -1, 293, -1, -1, 16, 17,
- -1, 19, 24, -1, 312, -1, 28, 305, 306, 307,
- 308, -1, -1, -1, -1, 33, 38, 39, 40, 41,
- -1, -1, -1, -1, -1, -1, -1, -1, 50, -1,
- 52, -1, 302, 341, 304, 53, -1, 59, 60, 61,
- 58, 59, 60, 61, 62, 315, -1, -1, -1, 319,
- -1, 69, 70, -1, 362, -1, -1, -1, -1, -1,
- 330, 83, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 342, -1, 96, 97, 98, 99, -1, -1,
- -1, -1, 352, 101, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 365, -1, 115, -1, -1,
- -1, -1, 372, -1, -1, -1, 376, -1, -1, -1,
- -1, -1, 382, -1, -1, -1, 386, -1, -1, -1,
- -1, 139, 140, 141, 142, 143, 144, 145, 146, 147,
- 148, 149, 150, 151, 152, 153, 154, 155, -1, -1,
- -1, -1, -1, -1, -1, 163, 164, 165, -1, -1,
- 168, 169, 170, 171, 172, 173, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 186, -1,
- -1, -1, -1, -1, -1, -1, -1, 195, -1, 197,
- -1, 199, -1, 201, -1, -1, -1, 205, 206, 207,
- -1, 209, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 0, 1, -1, -1, -1, -1, -1, -1, -1, -1,
- 238, 239, -1, -1, 14, 243, 244, 17, 18, -1,
- -1, 21, 22, 23, 24, 25, 26, 27, -1, -1,
- 30, -1, -1, -1, -1, -1, 36, 37, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 287,
- -1, -1, -1, -1, -1, -1, -1, -1, 68, -1,
- -1, -1, 300, -1, -1, 75, 76, 77, 78, 79,
- -1, 309, -1, -1, -1, 85, 86, 87, -1, -1,
- -1, 91, 92, -1, -1, -1, 96, 97, 98, 99,
- 100, 101, -1, 103, 104, -1, -1, 335, 336, -1,
- -1, -1, 340, -1, -1, -1, -1, -1, -1, -1,
- 0, 1, -1, -1, -1, 353, -1, -1, -1, -1,
- -1, 359, -1, -1, 14, -1, -1, 17, 18, -1,
- 368, 21, 22, 23, 24, 25, 26, 27, 28, -1,
- 30, -1, -1, -1, -1, 35, 36, 37, 38, 39,
- 40, 41, 42, -1, 44, -1, 46, 47, 48, -1,
- 50, 51, 52, 53, 54, 55, 56, -1, -1, 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, -1, 85, 86, 87, 88, 89,
- 90, 91, 92, 93, 94, -1, 96, 97, 98, 99,
- 100, 101, 102, 103, 104, 105, 106, 0, 1, -1,
+ -1, -1, 252, 253, 254, 255, -1, 295, 10, 297,
+ 260, -1, 262, 15, -1, -1, -1, -1, 20, 21,
+ 293, 23, -1, -1, 312, -1, -1, -1, -1, -1,
+ -1, 33, 305, 306, 307, 308, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 14, -1, -1, 17, 18, -1, -1, 21, 22,
- 23, 24, 25, 26, 27, 28, -1, 30, -1, -1,
- -1, -1, 35, 36, 37, 38, 39, 40, 41, 42,
- -1, 44, -1, 46, 47, 48, -1, 50, 51, 52,
- 53, 54, 55, 56, -1, -1, 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, -1, 85, 86, 87, 88, 89, 90, 91, 92,
- 93, 94, -1, 96, 97, 98, 99, 100, 101, 102,
- 103, 104, 105, 106, 0, 1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 14, -1,
- -1, 17, 18, -1, -1, 21, 22, 23, 24, 25,
- 26, 27, 28, -1, 30, -1, -1, -1, -1, 35,
- 36, 37, 38, 39, 40, 41, 42, -1, 44, -1,
- 46, 47, 48, -1, 50, 51, 52, 53, 54, 55,
- 56, -1, -1, 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, -1, 85,
- 86, 87, 88, 89, 90, 91, 92, 93, 94, -1,
- 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
- 106, 0, 1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 14, -1, -1, 17, 18,
- -1, -1, 21, 22, 23, 24, 25, 26, 27, 28,
- -1, 30, -1, -1, -1, -1, 35, 36, 37, 38,
- 39, 40, 41, 42, -1, 44, -1, 46, 47, 48,
- -1, 50, 51, 52, 53, 54, 55, 56, -1, -1,
- 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, -1, 85, 86, 87, 88,
- 89, 90, 91, 92, 93, 94, -1, 96, 97, 98,
- 99, 100, 101, 102, 103, 104, 105, 106, 0, 1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 14, -1, -1, 17, 18, -1, -1, 21,
- 22, 23, 24, 25, 26, 27, -1, -1, 30, -1,
- -1, -1, -1, 1, 36, 37, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 14, -1, -1, 17,
- 18, -1, -1, 21, 22, 23, 24, 25, 26, -1,
- -1, -1, 30, -1, -1, -1, 68, -1, -1, -1,
- -1, -1, -1, 75, 76, 77, 78, 79, 46, 47,
- 48, 49, -1, 85, 86, 87, -1, -1, -1, 91,
- 92, -1, -1, -1, 96, 97, 98, 99, 100, 101,
- 68, 103, 104, -1, -1, -1, -1, 75, 76, 77,
- 78, 79, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 1, -1, 91, 92, -1, -1, -1, 96, 97,
- 98, 99, -1, 101, 14, -1, 104, 17, 18, -1,
- -1, 21, 22, 23, 24, 25, 26, -1, -1, -1,
- 30, -1, -1, -1, -1, -1, 1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 46, -1, 48, 14,
+ -1, -1, 302, 341, 304, 57, -1, -1, -1, -1,
+ 62, 63, 64, 65, 66, 315, -1, 69, 70, 319,
+ -1, -1, -1, -1, 362, -1, -1, -1, -1, -1,
+ 330, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 342, -1, -1, -1, -1, -1, -1, 101,
+ -1, -1, 352, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 365, -1, 119, -1, -1,
+ -1, -1, 372, -1, -1, -1, 376, -1, -1, -1,
+ -1, -1, 382, -1, -1, -1, 386, 139, 140, 141,
+ 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
+ 152, 153, 154, 155, -1, -1, -1, -1, -1, -1,
+ -1, 163, 164, 165, -1, -1, 168, 169, 170, 171,
+ 172, 173, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 186, -1, -1, -1, -1, -1,
+ -1, -1, -1, 195, -1, 197, 1, 199, -1, 201,
+ -1, -1, -1, 205, 206, 207, -1, 209, -1, 14,
-1, -1, 17, 18, -1, -1, 21, 22, 23, 24,
- 25, 26, -1, -1, -1, 30, -1, -1, 68, -1,
- -1, -1, -1, -1, -1, 75, 76, 77, 78, 79,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 91, 92, -1, -1, -1, 96, 97, 98, 99,
- -1, 101, -1, 68, 104, -1, -1, -1, -1, -1,
- 75, 76, 77, 78, 79, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 91, 92, 1, -1,
- -1, 96, 97, 98, 99, -1, 101, 102, 103, 104,
- -1, 14, -1, -1, 17, 18, -1, 20, 21, 22,
- 23, 24, 25, 26, -1, -1, -1, 30, -1, -1,
+ 25, 26, 35, -1, -1, 30, 31, 32, 33, 34,
+ -1, -1, -1, -1, -1, -1, 238, 239, -1, -1,
+ -1, 243, 244, -1, -1, -1, -1, -1, -1, 62,
+ 63, 64, 65, 66, 67, -1, 69, -1, -1, 72,
+ 73, 74, -1, 68, -1, -1, -1, -1, -1, -1,
+ 75, 76, 77, 78, 79, 88, 89, 90, 91, 92,
+ 93, 94, -1, -1, -1, 287, 91, 92, -1, -1,
+ -1, -1, 97, -1, -1, 100, 101, 102, 300, 48,
+ -1, -1, -1, -1, -1, 54, -1, 309, -1, -1,
+ -1, -1, -1, 62, 63, 64, 65, 66, 67, -1,
+ 69, -1, -1, 72, 73, 74, -1, -1, -1, -1,
+ -1, -1, -1, 335, 336, -1, -1, -1, 340, 88,
+ 89, 90, 91, 92, 93, 94, 0, 1, -1, -1,
+ -1, 353, -1, -1, -1, -1, -1, 359, -1, -1,
+ 14, -1, -1, 17, 18, -1, 368, 21, 22, 23,
+ 24, 25, 26, 27, 28, -1, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, -1,
+ 44, -1, 46, 47, 48, -1, 50, 51, 52, 53,
+ 54, 55, 56, -1, -1, 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,
+ -1, 85, 86, 87, 88, 89, 90, 91, 92, 93,
+ 94, -1, 96, 97, 98, 99, 100, 101, 102, 0,
1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 14, -1, -1, 17, 18, -1, -1,
+ 21, 22, 23, 24, 25, 26, 27, 28, -1, 30,
+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
+ 41, 42, -1, 44, -1, 46, 47, 48, -1, 50,
+ 51, 52, 53, 54, 55, 56, -1, -1, 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, -1, 85, 86, 87, 88, 89, 90,
+ 91, 92, 93, 94, -1, 96, 97, 98, 99, 100,
+ 101, 102, 0, 1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 14, -1, -1, 17,
+ 18, -1, -1, 21, 22, 23, 24, 25, 26, 27,
+ 28, -1, 30, 31, 32, 33, 34, 35, 36, 37,
+ 38, 39, 40, 41, 42, -1, 44, -1, 46, 47,
+ 48, -1, 50, 51, 52, 53, 54, 55, 56, -1,
+ -1, 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, -1, 85, 86, 87,
+ 88, 89, 90, 91, 92, 93, 94, -1, 96, 97,
+ 98, 99, 100, 101, 102, 0, 1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 14,
+ -1, -1, 17, 18, -1, -1, 21, 22, 23, 24,
+ 25, 26, 27, 28, -1, 30, 31, 32, 33, 34,
+ 35, 36, 37, 38, 39, 40, 41, 42, -1, 44,
+ -1, 46, 47, 48, -1, 50, 51, 52, 53, 54,
+ 55, 56, -1, -1, 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, -1,
+ 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
+ -1, 96, 97, 98, 99, 100, 101, 102, 0, 1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 14, -1, -1, 17, 18, -1, -1, 21,
+ 22, 23, 24, 25, 26, 27, -1, -1, 30, 31,
+ 32, 33, 34, 24, 36, 37, -1, 28, -1, -1,
+ 31, 32, 33, 34, -1, -1, -1, 38, 39, 40,
+ 41, 42, -1, -1, -1, -1, 47, -1, -1, 50,
+ 51, 52, -1, -1, 55, -1, 68, -1, 59, 60,
+ 61, -1, -1, 75, 76, 77, 78, 79, -1, -1,
+ -1, -1, -1, 85, 86, 87, 0, 1, -1, 91,
+ 92, 82, 83, -1, 96, 97, -1, 99, 100, -1,
+ 14, -1, -1, 17, 18, -1, -1, 21, 22, 23,
+ 24, 25, 26, 27, -1, -1, 30, 31, 32, 33,
+ 34, 24, 36, 37, -1, 28, -1, -1, 31, 32,
+ 33, 34, -1, -1, -1, 38, 39, 40, 41, -1,
+ -1, -1, -1, -1, -1, -1, -1, 50, -1, 52,
+ -1, -1, -1, -1, 68, -1, 59, 60, 61, -1,
+ -1, 75, 76, 77, 78, 79, -1, -1, -1, -1,
+ -1, 85, 86, 87, 1, -1, -1, 91, 92, -1,
+ 83, -1, 96, 97, -1, 99, 100, 14, -1, -1,
+ 17, 18, -1, -1, 21, 22, 23, 24, 25, 26,
+ -1, -1, -1, 30, 31, 32, 33, 34, -1, -1,
+ -1, -1, -1, 1, -1, -1, -1, -1, -1, 46,
+ 47, 48, 49, -1, -1, -1, 14, -1, -1, 17,
+ 18, -1, -1, 21, 22, 23, 24, 25, 26, -1,
+ -1, 68, 30, 31, 32, 33, 34, -1, 75, 76,
+ 77, 78, 79, -1, -1, -1, -1, -1, 46, -1,
+ 48, -1, -1, -1, 91, 92, -1, -1, -1, -1,
+ 97, -1, -1, 100, -1, -1, -1, -1, -1, -1,
+ 68, -1, -1, -1, -1, -1, -1, 75, 76, 77,
+ 78, 79, -1, -1, 1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 91, 92, -1, -1, 14, -1, 97,
+ 17, 18, 100, -1, 21, 22, 23, 24, 25, 26,
+ 1, -1, -1, 30, 31, 32, 33, 34, -1, -1,
+ -1, -1, -1, 14, -1, -1, 17, 18, -1, 20,
21, 22, 23, 24, 25, 26, -1, -1, -1, 30,
- -1, -1, -1, -1, -1, 68, -1, -1, -1, -1,
- -1, -1, 75, 76, 77, 78, 79, -1, -1, -1,
- -1, -1, -1, -1, -1, 35, -1, -1, 91, 92,
- -1, -1, -1, 96, 97, 98, 99, 68, 101, -1,
- -1, 104, -1, -1, 75, 76, 77, 78, 79, -1,
- -1, -1, 62, 63, 64, 65, 66, 67, -1, 69,
- 91, 92, 72, 73, 74, 96, 97, 98, 99, -1,
- 101, 24, -1, 104, -1, 28, 29, -1, 88, 89,
- 90, 91, 92, 93, 94, 38, 39, 40, 41, 42,
- -1, -1, 45, -1, 47, -1, -1, 50, 51, 52,
- -1, -1, 55, -1, -1, 58, 59, 60, 61, -1,
+ 31, 32, 33, 34, -1, -1, -1, -1, -1, -1,
+ -1, 68, -1, -1, -1, -1, -1, -1, 75, 76,
+ 77, 78, 79, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 91, 92, -1, 68, -1, -1,
+ 97, 98, 99, 100, 75, 76, 77, 78, 79, -1,
+ -1, 1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 91, 92, -1, -1, 14, -1, 97, 17, 18, 100,
+ -1, 21, 22, 23, 24, 25, 26, -1, -1, -1,
+ 30, 31, 32, 33, 34, -1, 44, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 24, -1, -1, -1, 28, 82,
- 83, 84, -1, -1, -1, -1, -1, -1, 38, 39,
- 40, 41, 42, 96, 97, 98, 99, 47, -1, 48,
- 50, 51, 52, -1, -1, 55, -1, -1, -1, 59,
- 60, 61, -1, 62, 63, 64, 65, 66, 67, -1,
+ -1, -1, -1, -1, 62, 63, 64, 65, 66, 67,
+ -1, 69, 70, 71, 72, 73, 74, -1, 68, -1,
+ -1, -1, -1, -1, -1, 75, 76, 77, 78, 79,
+ 88, 89, 90, 91, 92, 93, 94, 46, -1, 48,
+ -1, 91, 92, -1, -1, -1, -1, 97, -1, -1,
+ 100, -1, -1, 62, 63, 64, 65, 66, 67, -1,
69, -1, -1, 72, 73, 74, -1, -1, -1, -1,
- -1, -1, 82, 83, 44, -1, -1, -1, -1, 88,
- 89, 90, 91, 92, 93, 94, 96, 97, 98, 99,
- -1, -1, 62, 63, 64, 65, 66, 67, -1, 69,
- 70, 71, 72, 73, 74, -1, -1, -1, -1, 46,
+ -1, -1, 48, -1, -1, -1, -1, -1, 54, 88,
+ 89, 90, 91, 92, 93, 94, 62, 63, 64, 65,
+ 66, 67, -1, 69, -1, -1, 72, 73, 74, -1,
+ -1, -1, -1, -1, -1, 48, -1, -1, -1, -1,
+ -1, 54, 88, 89, 90, 91, 92, 93, 94, 62,
+ 63, 64, 65, 66, 67, -1, 69, -1, -1, 72,
+ 73, 74, -1, -1, -1, -1, -1, -1, 48, -1,
+ -1, -1, -1, -1, 54, 88, 89, 90, 91, 92,
+ 93, 94, 62, 63, 64, 65, 66, 67, -1, 69,
+ -1, -1, 72, 73, 74, -1, -1, -1, -1, -1,
-1, 48, -1, -1, -1, -1, -1, -1, 88, 89,
90, 91, 92, 93, 94, 62, 63, 64, 65, 66,
67, -1, 69, -1, -1, 72, 73, 74, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 54, 88, 89, 90, 91, 92, 93, 94, 62, 63,
- 64, 65, 66, 67, -1, 69, -1, -1, 72, 73,
- 74, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 88, 89, 90, 91, 92, 93,
- 94, 48, -1, -1, -1, -1, 100, 54, -1, -1,
- -1, -1, -1, -1, -1, 62, 63, 64, 65, 66,
- 67, -1, 69, -1, -1, 72, 73, 74, -1, -1,
-1, -1, -1, -1, 48, -1, -1, -1, -1, -1,
- 54, 88, 89, 90, 91, 92, 93, 94, 62, 63,
+ -1, 88, 89, 90, 91, 92, 93, 94, 62, 63,
64, 65, 66, 67, -1, 69, -1, -1, 72, 73,
74, -1, -1, -1, -1, -1, -1, 48, -1, -1,
- -1, -1, -1, 54, 88, 89, 90, 91, 92, 93,
+ -1, -1, -1, -1, 88, 89, 90, 91, 92, 93,
94, 62, 63, 64, 65, 66, 67, -1, 69, -1,
-1, 72, 73, 74, -1, -1, -1, -1, -1, -1,
- 48, -1, -1, -1, -1, -1, 54, 88, 89, 90,
+ 48, -1, -1, -1, -1, -1, -1, 88, 89, 90,
91, 92, 93, 94, 62, 63, 64, 65, 66, 67,
-1, 69, -1, -1, 72, 73, 74, -1, -1, -1,
- -1, -1, -1, 48, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 54,
88, 89, 90, 91, 92, 93, 94, 62, 63, 64,
65, 66, 67, -1, 69, -1, -1, 72, 73, 74,
- -1, -1, -1, -1, -1, -1, 48, -1, -1, -1,
- -1, -1, -1, 88, 89, 90, 91, 92, 93, 94,
- 62, 63, 64, 65, 66, 67, -1, 69, -1, -1,
- 72, 73, 74, -1, -1, -1, -1, -1, -1, 48,
- -1, -1, -1, -1, -1, -1, 88, 89, 90, 91,
- 92, 93, 94, 62, 63, 64, 65, 66, 67, -1,
- 69, -1, -1, 72, 73, 74, 62, 63, 64, 65,
- 66, 67, -1, 69, -1, -1, 72, 73, 74, 88,
- 89, 90, 91, 92, 93, 94, -1, -1, -1, -1,
- -1, -1, 88, 89, 90, 91, 92, 93, 94, -1,
- -1, 56, -1, -1, -1, -1, 102, 62, 63, 64,
- 65, 66, 67, -1, 69, -1, -1, 72, 73, 74,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 88, 89, 90, 91, 92, 93, 94,
- 62, 63, 64, 65, 66, 67, -1, 69, -1, -1,
- 72, 73, 74, -1, -1, -1, -1, -1, 80, 81,
- -1, -1, -1, -1, -1, -1, 88, 89, 90, 91,
- 92, 93, 94, 62, 63, 64, 65, 66, 67, -1,
- 69, -1, -1, 72, 73, 74, 62, 63, 64, 65,
- -1, -1, -1, 69, -1, -1, 72, 73, 74, 88,
- 89, 90, 91, 92, 93, 94, -1, -1, -1, -1,
- -1, -1, 88, 89, 90, 91, 92, 93, 94
+ 56, 96, -1, -1, -1, -1, 62, 63, 64, 65,
+ 66, 67, -1, 69, -1, -1, 72, 73, 74, 62,
+ 63, 64, 65, 66, 67, -1, 69, -1, -1, 72,
+ 73, 74, 88, 89, 90, 91, 92, 93, 94, -1,
+ -1, -1, -1, -1, -1, 88, 89, 90, 91, 92,
+ 93, 94, -1, -1, -1, 98, 62, 63, 64, 65,
+ 66, 67, -1, 69, -1, -1, 72, 73, 74, -1,
+ -1, -1, -1, -1, 80, 81, -1, -1, -1, -1,
+ -1, -1, 88, 89, 90, 91, 92, 93, 94, 62,
+ 63, 64, 65, 66, 67, -1, 69, -1, -1, 72,
+ 73, 74, 62, 63, 64, 65, -1, -1, -1, 69,
+ -1, -1, 72, 73, 74, 88, 89, 90, 91, 92,
+ 93, 94, -1, -1, -1, -1, -1, -1, 88, 89,
+ 90, 91, 92, 93, 94
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
static const yytype_uint8 yystos[] =
{
- 0, 24, 28, 29, 38, 39, 40, 41, 42, 45,
- 47, 50, 51, 52, 55, 58, 59, 60, 61, 82,
- 83, 84, 96, 97, 98, 99, 108, 109, 110, 111,
- 112, 113, 125, 131, 141, 149, 151, 153, 156, 152,
- 155, 51, 142, 1, 14, 17, 18, 21, 22, 23,
- 25, 26, 30, 46, 47, 48, 49, 68, 75, 76,
- 77, 78, 79, 91, 92, 96, 97, 98, 99, 101,
- 104, 110, 135, 137, 138, 139, 140, 150, 163, 154,
- 51, 20, 138, 56, 57, 17, 18, 19, 30, 110,
- 110, 110, 138, 138, 150, 144, 138, 143, 157, 0,
- 100, 101, 138, 161, 138, 132, 161, 132, 110, 146,
- 100, 137, 48, 137, 138, 46, 137, 138, 138, 138,
- 138, 138, 137, 137, 135, 135, 135, 135, 138, 25,
- 26, 106, 110, 138, 164, 165, 166, 167, 101, 62,
+ 0, 24, 28, 29, 31, 32, 33, 34, 38, 39,
+ 40, 41, 42, 45, 47, 50, 51, 52, 55, 58,
+ 59, 60, 61, 82, 83, 84, 104, 105, 106, 107,
+ 108, 109, 121, 127, 137, 145, 147, 149, 152, 148,
+ 151, 51, 138, 1, 14, 17, 18, 21, 22, 23,
+ 25, 26, 30, 31, 32, 33, 34, 46, 47, 48,
+ 49, 68, 75, 76, 77, 78, 79, 91, 92, 97,
+ 100, 106, 131, 133, 134, 135, 136, 146, 159, 150,
+ 51, 20, 134, 56, 57, 17, 18, 19, 30, 106,
+ 106, 106, 134, 134, 146, 140, 134, 139, 153, 0,
+ 96, 97, 134, 157, 134, 128, 157, 128, 106, 142,
+ 96, 133, 48, 133, 131, 131, 131, 131, 134, 46,
+ 133, 134, 134, 134, 134, 134, 133, 133, 134, 25,
+ 26, 102, 106, 134, 160, 161, 162, 163, 97, 62,
63, 64, 65, 66, 67, 69, 72, 73, 74, 88,
- 89, 90, 91, 92, 93, 94, 150, 110, 110, 44,
- 70, 71, 110, 132, 54, 64, 137, 137, 54, 64,
- 54, 64, 53, 56, 150, 110, 148, 54, 100, 110,
- 147, 110, 109, 110, 138, 161, 103, 128, 110, 158,
- 158, 103, 137, 138, 48, 54, 48, 54, 48, 54,
- 48, 54, 80, 81, 102, 106, 106, 106, 105, 103,
- 103, 110, 161, 138, 138, 138, 138, 138, 138, 138,
- 138, 138, 138, 138, 138, 138, 138, 138, 138, 138,
- 132, 137, 110, 139, 110, 139, 110, 139, 43, 64,
- 138, 138, 138, 54, 64, 48, 138, 138, 138, 138,
- 138, 138, 103, 124, 124, 103, 102, 103, 102, 138,
- 53, 100, 103, 100, 110, 137, 138, 137, 138, 137,
- 138, 137, 138, 137, 137, 138, 138, 138, 138, 25,
- 26, 110, 167, 102, 103, 102, 158, 44, 138, 138,
- 128, 138, 138, 110, 110, 112, 113, 133, 134, 110,
- 145, 133, 160, 110, 160, 48, 48, 48, 48, 136,
- 100, 138, 120, 114, 117, 123, 137, 132, 132, 100,
- 138, 162, 129, 133, 133, 137, 137, 137, 137, 162,
- 160, 132, 130, 130, 133, 54, 64, 87, 133, 102,
- 103, 126, 27, 102, 133, 121, 115, 118, 129, 138,
- 138, 138, 36, 37, 127, 132, 110, 159, 128, 54,
- 35, 86, 133, 138, 85, 103, 122, 138, 54, 132,
- 128, 110, 123, 116, 138, 85, 53, 133, 128, 119,
- 133, 86, 123, 128, 129, 133, 123, 86, 133, 86
+ 89, 90, 91, 92, 93, 94, 146, 106, 106, 44,
+ 70, 71, 106, 128, 54, 64, 133, 133, 54, 64,
+ 54, 64, 53, 56, 146, 106, 144, 54, 96, 106,
+ 143, 106, 105, 106, 134, 157, 99, 124, 106, 154,
+ 154, 99, 133, 134, 48, 54, 48, 54, 48, 54,
+ 48, 54, 80, 81, 98, 102, 102, 102, 101, 99,
+ 99, 106, 157, 134, 134, 134, 134, 134, 134, 134,
+ 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
+ 128, 133, 106, 135, 106, 135, 106, 135, 43, 64,
+ 134, 134, 134, 54, 64, 48, 134, 134, 134, 134,
+ 134, 134, 99, 120, 120, 99, 98, 99, 98, 134,
+ 53, 96, 99, 96, 106, 133, 134, 133, 134, 133,
+ 134, 133, 134, 133, 133, 134, 134, 134, 134, 25,
+ 26, 106, 163, 98, 99, 98, 154, 44, 134, 134,
+ 124, 134, 134, 106, 106, 108, 109, 129, 130, 106,
+ 141, 129, 156, 106, 156, 48, 48, 48, 48, 132,
+ 96, 134, 116, 110, 113, 119, 133, 128, 128, 96,
+ 134, 158, 125, 129, 129, 133, 133, 133, 133, 158,
+ 156, 128, 126, 126, 129, 54, 64, 87, 129, 98,
+ 99, 122, 27, 98, 129, 117, 111, 114, 125, 134,
+ 134, 134, 36, 37, 123, 128, 106, 155, 124, 54,
+ 35, 86, 129, 134, 85, 99, 118, 134, 54, 128,
+ 124, 106, 119, 112, 134, 85, 53, 129, 124, 115,
+ 129, 86, 119, 124, 125, 129, 119, 86, 129, 86
};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint8 yyr1[] =
{
- 0, 107, 108, 108, 109, 109, 109, 110, 110, 110,
- 110, 110, 111, 111, 111, 111, 111, 111, 111, 111,
- 111, 111, 111, 111, 111, 111, 111, 111, 111, 112,
- 112, 113, 113, 113, 114, 115, 116, 113, 117, 118,
- 119, 113, 120, 121, 122, 113, 113, 113, 113, 113,
- 123, 124, 125, 125, 126, 126, 127, 128, 129, 130,
- 131, 132, 133, 133, 134, 134, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 136, 135, 135, 135, 135, 137, 137,
- 138, 138, 138, 138, 138, 138, 138, 138, 138, 138,
- 138, 138, 138, 138, 138, 138, 138, 138, 139, 139,
- 139, 139, 139, 139, 139, 139, 139, 140, 140, 140,
- 140, 141, 141, 141, 141, 141, 142, 141, 143, 141,
- 144, 141, 141, 141, 141, 145, 141, 141, 141, 146,
- 146, 147, 147, 148, 148, 149, 149, 149, 149, 149,
- 149, 150, 150, 151, 151, 151, 152, 151, 154, 153,
- 153, 155, 153, 153, 153, 157, 156, 158, 158, 158,
- 159, 159, 159, 160, 161, 161, 161, 162, 162, 163,
- 164, 164, 164, 164, 165, 165, 166, 166, 167, 167,
- 167
+ 0, 103, 104, 104, 105, 105, 105, 106, 106, 106,
+ 106, 106, 107, 107, 107, 107, 107, 107, 107, 107,
+ 107, 107, 107, 107, 107, 107, 107, 107, 107, 108,
+ 108, 109, 109, 109, 110, 111, 112, 109, 113, 114,
+ 115, 109, 116, 117, 118, 109, 109, 109, 109, 109,
+ 119, 120, 121, 121, 122, 122, 123, 124, 125, 126,
+ 127, 128, 129, 129, 130, 130, 131, 131, 131, 131,
+ 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
+ 131, 131, 131, 132, 131, 131, 131, 131, 133, 133,
+ 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
+ 134, 134, 134, 134, 134, 134, 134, 134, 135, 135,
+ 135, 135, 135, 135, 135, 135, 135, 136, 136, 136,
+ 136, 137, 137, 137, 137, 137, 138, 137, 139, 137,
+ 140, 137, 137, 137, 137, 141, 137, 137, 137, 142,
+ 142, 143, 143, 144, 144, 145, 145, 145, 145, 145,
+ 145, 146, 146, 147, 147, 147, 148, 147, 150, 149,
+ 149, 151, 149, 149, 149, 153, 152, 154, 154, 154,
+ 155, 155, 155, 156, 157, 157, 157, 158, 158, 159,
+ 160, 160, 160, 160, 161, 161, 162, 162, 163, 163,
+ 163
};
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
@@ -1881,61 +1859,61 @@ yydestruct (const char *yymsg,
case 22: /* THEFUNC */
#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1885 "engines/director/lingo/lingo-gr.cpp"
+#line 1863 "engines/director/lingo/lingo-gr.cpp"
break;
case 23: /* THEFUNCINOF */
#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1891 "engines/director/lingo/lingo-gr.cpp"
+#line 1869 "engines/director/lingo/lingo-gr.cpp"
break;
case 24: /* VARID */
#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1897 "engines/director/lingo/lingo-gr.cpp"
+#line 1875 "engines/director/lingo/lingo-gr.cpp"
break;
case 25: /* STRING */
#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1903 "engines/director/lingo/lingo-gr.cpp"
+#line 1881 "engines/director/lingo/lingo-gr.cpp"
break;
case 26: /* SYMBOL */
#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1909 "engines/director/lingo/lingo-gr.cpp"
+#line 1887 "engines/director/lingo/lingo-gr.cpp"
break;
case 27: /* ENDCLAUSE */
#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1915 "engines/director/lingo/lingo-gr.cpp"
+#line 1893 "engines/director/lingo/lingo-gr.cpp"
break;
case 28: /* tPLAYACCEL */
#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1921 "engines/director/lingo/lingo-gr.cpp"
+#line 1899 "engines/director/lingo/lingo-gr.cpp"
break;
case 29: /* tMETHOD */
#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1927 "engines/director/lingo/lingo-gr.cpp"
+#line 1905 "engines/director/lingo/lingo-gr.cpp"
break;
- case 110: /* ID */
+ case 106: /* ID */
#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1933 "engines/director/lingo/lingo-gr.cpp"
+#line 1911 "engines/director/lingo/lingo-gr.cpp"
break;
- case 156: /* on */
+ case 152: /* on */
#line 210 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1939 "engines/director/lingo/lingo-gr.cpp"
+#line 1917 "engines/director/lingo/lingo-gr.cpp"
break;
default:
@@ -2216,25 +2194,25 @@ yyreduce:
case 8:
#line 222 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("cast"); }
-#line 2220 "engines/director/lingo/lingo-gr.cpp"
+#line 2198 "engines/director/lingo/lingo-gr.cpp"
break;
case 9:
#line 223 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("field"); }
-#line 2226 "engines/director/lingo/lingo-gr.cpp"
+#line 2204 "engines/director/lingo/lingo-gr.cpp"
break;
case 10:
#line 224 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("script"); }
-#line 2232 "engines/director/lingo/lingo-gr.cpp"
+#line 2210 "engines/director/lingo/lingo-gr.cpp"
break;
case 11:
#line 225 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("window"); }
-#line 2238 "engines/director/lingo/lingo-gr.cpp"
+#line 2216 "engines/director/lingo/lingo-gr.cpp"
break;
case 12:
@@ -2246,7 +2224,7 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[-2].code);
delete (yyvsp[0].s); }
-#line 2250 "engines/director/lingo/lingo-gr.cpp"
+#line 2228 "engines/director/lingo/lingo-gr.cpp"
break;
case 13:
@@ -2254,7 +2232,7 @@ yyreduce:
{
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[-2].code); }
-#line 2258 "engines/director/lingo/lingo-gr.cpp"
+#line 2236 "engines/director/lingo/lingo-gr.cpp"
break;
case 14:
@@ -2270,7 +2248,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-4].e)[1]);
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[0].code); }
-#line 2274 "engines/director/lingo/lingo-gr.cpp"
+#line 2252 "engines/director/lingo/lingo-gr.cpp"
break;
case 15:
@@ -2282,7 +2260,7 @@ yyreduce:
g_lingo->code1(LC::c_after);
(yyval.code) = (yyvsp[-2].code);
delete (yyvsp[0].s); }
-#line 2286 "engines/director/lingo/lingo-gr.cpp"
+#line 2264 "engines/director/lingo/lingo-gr.cpp"
break;
case 16:
@@ -2290,7 +2268,7 @@ yyreduce:
{
g_lingo->code1(LC::c_after);
(yyval.code) = (yyvsp[-2].code); }
-#line 2294 "engines/director/lingo/lingo-gr.cpp"
+#line 2272 "engines/director/lingo/lingo-gr.cpp"
break;
case 17:
@@ -2302,7 +2280,7 @@ yyreduce:
g_lingo->code1(LC::c_before);
(yyval.code) = (yyvsp[-2].code);
delete (yyvsp[0].s); }
-#line 2306 "engines/director/lingo/lingo-gr.cpp"
+#line 2284 "engines/director/lingo/lingo-gr.cpp"
break;
case 18:
@@ -2310,7 +2288,7 @@ yyreduce:
{
g_lingo->code1(LC::c_before);
(yyval.code) = (yyvsp[-2].code); }
-#line 2314 "engines/director/lingo/lingo-gr.cpp"
+#line 2292 "engines/director/lingo/lingo-gr.cpp"
break;
case 19:
@@ -2322,7 +2300,7 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[0].code);
delete (yyvsp[-2].s); }
-#line 2326 "engines/director/lingo/lingo-gr.cpp"
+#line 2304 "engines/director/lingo/lingo-gr.cpp"
break;
case 20:
@@ -2334,7 +2312,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-2].e)[0]);
g_lingo->codeInt((yyvsp[-2].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2338 "engines/director/lingo/lingo-gr.cpp"
+#line 2316 "engines/director/lingo/lingo-gr.cpp"
break;
case 21:
@@ -2346,7 +2324,7 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[0].code);
delete (yyvsp[-2].s); }
-#line 2350 "engines/director/lingo/lingo-gr.cpp"
+#line 2328 "engines/director/lingo/lingo-gr.cpp"
break;
case 22:
@@ -2358,7 +2336,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-2].e)[0]);
g_lingo->codeInt((yyvsp[-2].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2362 "engines/director/lingo/lingo-gr.cpp"
+#line 2340 "engines/director/lingo/lingo-gr.cpp"
break;
case 23:
@@ -2369,7 +2347,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-3].e)[0]);
g_lingo->codeInt((yyvsp[-3].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2373 "engines/director/lingo/lingo-gr.cpp"
+#line 2351 "engines/director/lingo/lingo-gr.cpp"
break;
case 24:
@@ -2380,7 +2358,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-3].e)[0]);
g_lingo->codeInt((yyvsp[-3].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2384 "engines/director/lingo/lingo-gr.cpp"
+#line 2362 "engines/director/lingo/lingo-gr.cpp"
break;
case 25:
@@ -2396,7 +2374,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-6].e)[0]);
g_lingo->codeInt((yyvsp[-6].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2400 "engines/director/lingo/lingo-gr.cpp"
+#line 2378 "engines/director/lingo/lingo-gr.cpp"
break;
case 26:
@@ -2412,7 +2390,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-6].e)[0]);
g_lingo->codeInt((yyvsp[-6].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2416 "engines/director/lingo/lingo-gr.cpp"
+#line 2394 "engines/director/lingo/lingo-gr.cpp"
break;
case 27:
@@ -2424,7 +2402,7 @@ yyreduce:
delete (yyvsp[-2].objectprop).obj;
delete (yyvsp[-2].objectprop).prop;
(yyval.code) = (yyvsp[0].code); }
-#line 2428 "engines/director/lingo/lingo-gr.cpp"
+#line 2406 "engines/director/lingo/lingo-gr.cpp"
break;
case 28:
@@ -2436,7 +2414,7 @@ yyreduce:
delete (yyvsp[-2].objectprop).obj;
delete (yyvsp[-2].objectprop).prop;
(yyval.code) = (yyvsp[0].code); }
-#line 2440 "engines/director/lingo/lingo-gr.cpp"
+#line 2418 "engines/director/lingo/lingo-gr.cpp"
break;
case 33:
@@ -2448,7 +2426,7 @@ yyreduce:
(*g_lingo->_currentAssembly)[(yyvsp[-4].code)] = end; /* end, if cond fails */
(*g_lingo->_currentAssembly)[(yyvsp[-1].code)] = start; /* looping back */
endRepeat((yyvsp[-1].code) + 1, (yyvsp[-6].code)); }
-#line 2452 "engines/director/lingo/lingo-gr.cpp"
+#line 2430 "engines/director/lingo/lingo-gr.cpp"
break;
case 34:
@@ -2456,20 +2434,20 @@ yyreduce:
{ g_lingo->code1(LC::c_varpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
mVar((yyvsp[-2].s), globalCheck()); }
-#line 2460 "engines/director/lingo/lingo-gr.cpp"
+#line 2438 "engines/director/lingo/lingo-gr.cpp"
break;
case 35:
#line 373 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_eval);
g_lingo->codeString((yyvsp[-4].s)->c_str()); }
-#line 2467 "engines/director/lingo/lingo-gr.cpp"
+#line 2445 "engines/director/lingo/lingo-gr.cpp"
break;
case 36:
#line 376 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_le); }
-#line 2473 "engines/director/lingo/lingo-gr.cpp"
+#line 2451 "engines/director/lingo/lingo-gr.cpp"
break;
case 37:
@@ -2494,7 +2472,7 @@ yyreduce:
(*g_lingo->_currentAssembly)[pos] = loop; /* final count value */
(*g_lingo->_currentAssembly)[(yyvsp[-3].code)] = end; /* end, if cond fails */
endRepeat(pos + 1, nextPos); }
-#line 2498 "engines/director/lingo/lingo-gr.cpp"
+#line 2476 "engines/director/lingo/lingo-gr.cpp"
break;
case 38:
@@ -2502,20 +2480,20 @@ yyreduce:
{ g_lingo->code1(LC::c_varpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
mVar((yyvsp[-2].s), globalCheck()); }
-#line 2506 "engines/director/lingo/lingo-gr.cpp"
+#line 2484 "engines/director/lingo/lingo-gr.cpp"
break;
case 39:
#line 407 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_eval);
g_lingo->codeString((yyvsp[-4].s)->c_str()); }
-#line 2513 "engines/director/lingo/lingo-gr.cpp"
+#line 2491 "engines/director/lingo/lingo-gr.cpp"
break;
case 40:
#line 410 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ge); }
-#line 2519 "engines/director/lingo/lingo-gr.cpp"
+#line 2497 "engines/director/lingo/lingo-gr.cpp"
break;
case 41:
@@ -2540,7 +2518,7 @@ yyreduce:
(*g_lingo->_currentAssembly)[pos] = loop; /* final count value */
(*g_lingo->_currentAssembly)[(yyvsp[-3].code)] = end; /* end, if cond fails */
endRepeat(pos + 1, nextPos); }
-#line 2544 "engines/director/lingo/lingo-gr.cpp"
+#line 2522 "engines/director/lingo/lingo-gr.cpp"
break;
case 42:
@@ -2551,7 +2529,7 @@ yyreduce:
g_lingo->codeFunc(&count, 1);
g_lingo->code1(LC::c_intpush); // start counter
g_lingo->codeInt(1); }
-#line 2555 "engines/director/lingo/lingo-gr.cpp"
+#line 2533 "engines/director/lingo/lingo-gr.cpp"
break;
case 43:
@@ -2561,7 +2539,7 @@ yyreduce:
g_lingo->code1(LC::c_stackpeek); // get array size
g_lingo->codeInt(2);
g_lingo->code1(LC::c_le); }
-#line 2565 "engines/director/lingo/lingo-gr.cpp"
+#line 2543 "engines/director/lingo/lingo-gr.cpp"
break;
case 44:
@@ -2576,7 +2554,7 @@ yyreduce:
g_lingo->codeString((yyvsp[-6].s)->c_str());
mVar((yyvsp[-6].s), globalCheck());
g_lingo->code1(LC::c_assign); }
-#line 2580 "engines/director/lingo/lingo-gr.cpp"
+#line 2558 "engines/director/lingo/lingo-gr.cpp"
break;
case 45:
@@ -2600,7 +2578,7 @@ yyreduce:
(*g_lingo->_currentAssembly)[jump + 1] = loop; /* final count value */
(*g_lingo->_currentAssembly)[(yyvsp[-4].code)] = end; /* end, if cond fails */
endRepeat(end2, nextPos); }
-#line 2604 "engines/director/lingo/lingo-gr.cpp"
+#line 2582 "engines/director/lingo/lingo-gr.cpp"
break;
case 46:
@@ -2613,7 +2591,7 @@ yyreduce:
} else {
warning("# LINGO: next repeat not inside repeat block");
} }
-#line 2617 "engines/director/lingo/lingo-gr.cpp"
+#line 2595 "engines/director/lingo/lingo-gr.cpp"
break;
case 47:
@@ -2621,31 +2599,31 @@ yyreduce:
{
g_lingo->code1(LC::c_whencode);
g_lingo->codeString((yyvsp[-2].s)->c_str()); }
-#line 2625 "engines/director/lingo/lingo-gr.cpp"
+#line 2603 "engines/director/lingo/lingo-gr.cpp"
break;
case 48:
#line 491 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_telldone); }
-#line 2631 "engines/director/lingo/lingo-gr.cpp"
+#line 2609 "engines/director/lingo/lingo-gr.cpp"
break;
case 49:
#line 492 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_telldone); }
-#line 2637 "engines/director/lingo/lingo-gr.cpp"
+#line 2615 "engines/director/lingo/lingo-gr.cpp"
break;
case 50:
#line 494 "engines/director/lingo/lingo-gr.y"
{ startRepeat(); }
-#line 2643 "engines/director/lingo/lingo-gr.cpp"
+#line 2621 "engines/director/lingo/lingo-gr.cpp"
break;
case 51:
#line 496 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_tell); }
-#line 2649 "engines/director/lingo/lingo-gr.cpp"
+#line 2627 "engines/director/lingo/lingo-gr.cpp"
break;
case 52:
@@ -2657,7 +2635,7 @@ yyreduce:
(*g_lingo->_currentAssembly)[(yyvsp[-6].code)] = else1; /* elsepart */
(*g_lingo->_currentAssembly)[(yyvsp[-3].code)] = end3; /* end, if cond fails */
g_lingo->processIf((yyvsp[-3].code), (yyvsp[-1].code)); }
-#line 2661 "engines/director/lingo/lingo-gr.cpp"
+#line 2639 "engines/director/lingo/lingo-gr.cpp"
break;
case 53:
@@ -2669,7 +2647,7 @@ yyreduce:
(*g_lingo->_currentAssembly)[(yyvsp[-8].code)] = else1; /* elsepart */
(*g_lingo->_currentAssembly)[(yyvsp[-5].code)] = end; /* end, if cond fails */
g_lingo->processIf((yyvsp[-5].code), (yyvsp[-1].code)); }
-#line 2673 "engines/director/lingo/lingo-gr.cpp"
+#line 2651 "engines/director/lingo/lingo-gr.cpp"
break;
case 56:
@@ -2679,7 +2657,7 @@ yyreduce:
WRITE_UINT32(&else1, (yyvsp[0].code) + 1 - (yyvsp[-3].code) + 1);
(*g_lingo->_currentAssembly)[(yyvsp[-3].code)] = else1; /* end, if cond fails */
g_lingo->codeLabel((yyvsp[0].code)); }
-#line 2683 "engines/director/lingo/lingo-gr.cpp"
+#line 2661 "engines/director/lingo/lingo-gr.cpp"
break;
case 57:
@@ -2687,7 +2665,7 @@ yyreduce:
{
g_lingo->code2(LC::c_jumpifz, 0);
(yyval.code) = g_lingo->_currentAssembly->size() - 1; }
-#line 2691 "engines/director/lingo/lingo-gr.cpp"
+#line 2669 "engines/director/lingo/lingo-gr.cpp"
break;
case 58:
@@ -2695,7 +2673,7 @@ yyreduce:
{
g_lingo->code2(LC::c_jump, 0);
(yyval.code) = g_lingo->_currentAssembly->size() - 1; }
-#line 2699 "engines/director/lingo/lingo-gr.cpp"
+#line 2677 "engines/director/lingo/lingo-gr.cpp"
break;
case 59:
@@ -2703,20 +2681,20 @@ yyreduce:
{
g_lingo->code1(LC::c_assign);
(yyval.code) = g_lingo->_currentAssembly->size() - 1; }
-#line 2707 "engines/director/lingo/lingo-gr.cpp"
+#line 2685 "engines/director/lingo/lingo-gr.cpp"
break;
case 60:
#line 534 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeLabel(0); }
-#line 2714 "engines/director/lingo/lingo-gr.cpp"
+#line 2692 "engines/director/lingo/lingo-gr.cpp"
break;
case 61:
#line 537 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->_currentAssembly->size(); }
-#line 2720 "engines/director/lingo/lingo-gr.cpp"
+#line 2698 "engines/director/lingo/lingo-gr.cpp"
break;
case 66:
@@ -2724,7 +2702,7 @@ yyreduce:
{
(yyval.code) = g_lingo->code1(LC::c_intpush);
g_lingo->codeInt((yyvsp[0].i)); }
-#line 2728 "engines/director/lingo/lingo-gr.cpp"
+#line 2706 "engines/director/lingo/lingo-gr.cpp"
break;
case 67:
@@ -2732,7 +2710,7 @@ yyreduce:
{
(yyval.code) = g_lingo->code1(LC::c_floatpush);
g_lingo->codeFloat((yyvsp[0].f)); }
-#line 2736 "engines/director/lingo/lingo-gr.cpp"
+#line 2714 "engines/director/lingo/lingo-gr.cpp"
break;
case 68:
@@ -2741,7 +2719,7 @@ yyreduce:
(yyval.code) = g_lingo->code1(LC::c_symbolpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2745 "engines/director/lingo/lingo-gr.cpp"
+#line 2723 "engines/director/lingo/lingo-gr.cpp"
break;
case 69:
@@ -2750,25 +2728,25 @@ yyreduce:
(yyval.code) = g_lingo->code1(LC::c_stringpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2754 "engines/director/lingo/lingo-gr.cpp"
+#line 2732 "engines/director/lingo/lingo-gr.cpp"
break;
case 70:
#line 559 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); }
-#line 2760 "engines/director/lingo/lingo-gr.cpp"
+#line 2738 "engines/director/lingo/lingo-gr.cpp"
break;
case 71:
#line 560 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); g_lingo->code1(LC::c_negate); }
-#line 2766 "engines/director/lingo/lingo-gr.cpp"
+#line 2744 "engines/director/lingo/lingo-gr.cpp"
break;
case 72:
#line 561 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_not); }
-#line 2772 "engines/director/lingo/lingo-gr.cpp"
+#line 2750 "engines/director/lingo/lingo-gr.cpp"
break;
case 74:
@@ -2781,7 +2759,7 @@ yyreduce:
WRITE_UINT32(&e, (yyvsp[0].e)[0]);
WRITE_UINT32(&f, (yyvsp[0].e)[1]);
g_lingo->code2(e, f); }
-#line 2785 "engines/director/lingo/lingo-gr.cpp"
+#line 2763 "engines/director/lingo/lingo-gr.cpp"
break;
case 75:
@@ -2792,7 +2770,7 @@ yyreduce:
WRITE_UINT32(&e, (yyvsp[-1].e)[0]);
WRITE_UINT32(&f, (yyvsp[-1].e)[1]);
g_lingo->code2(e, f); }
-#line 2796 "engines/director/lingo/lingo-gr.cpp"
+#line 2774 "engines/director/lingo/lingo-gr.cpp"
break;
case 76:
@@ -2800,7 +2778,7 @@ yyreduce:
{
(yyval.code) = g_lingo->codeFunc((yyvsp[-1].s), 1);
delete (yyvsp[-1].s); }
-#line 2804 "engines/director/lingo/lingo-gr.cpp"
+#line 2782 "engines/director/lingo/lingo-gr.cpp"
break;
case 77:
@@ -2808,7 +2786,7 @@ yyreduce:
{
(yyval.code) = g_lingo->codeFunc((yyvsp[-2].s), 1);
delete (yyvsp[-2].s); }
-#line 2812 "engines/director/lingo/lingo-gr.cpp"
+#line 2790 "engines/director/lingo/lingo-gr.cpp"
break;
case 78:
@@ -2819,19 +2797,19 @@ yyreduce:
g_lingo->codeString((yyvsp[0].objectprop).prop->c_str());
delete (yyvsp[0].objectprop).obj;
delete (yyvsp[0].objectprop).prop; }
-#line 2823 "engines/director/lingo/lingo-gr.cpp"
+#line 2801 "engines/director/lingo/lingo-gr.cpp"
break;
case 79:
#line 589 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_intersects); }
-#line 2829 "engines/director/lingo/lingo-gr.cpp"
+#line 2807 "engines/director/lingo/lingo-gr.cpp"
break;
case 80:
#line 590 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_within); }
-#line 2835 "engines/director/lingo/lingo-gr.cpp"
+#line 2813 "engines/director/lingo/lingo-gr.cpp"
break;
case 82:
@@ -2842,13 +2820,13 @@ yyreduce:
g_lingo->codeFunc((yyvsp[-3].s), 1);
delete (yyvsp[-3].s);
delete (yyvsp[-1].s); }
-#line 2846 "engines/director/lingo/lingo-gr.cpp"
+#line 2824 "engines/director/lingo/lingo-gr.cpp"
break;
case 83:
#line 598 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lazyeval); g_lingo->codeString((yyvsp[-1].s)->c_str()); }
-#line 2852 "engines/director/lingo/lingo-gr.cpp"
+#line 2830 "engines/director/lingo/lingo-gr.cpp"
break;
case 84:
@@ -2857,7 +2835,7 @@ yyreduce:
g_lingo->codeFunc((yyvsp[-6].s), (yyvsp[-1].narg) + 1);
delete (yyvsp[-6].s);
delete (yyvsp[-4].s); }
-#line 2861 "engines/director/lingo/lingo-gr.cpp"
+#line 2839 "engines/director/lingo/lingo-gr.cpp"
break;
case 85:
@@ -2865,7 +2843,7 @@ yyreduce:
{
(yyval.code) = g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 2869 "engines/director/lingo/lingo-gr.cpp"
+#line 2847 "engines/director/lingo/lingo-gr.cpp"
break;
case 86:
@@ -2878,127 +2856,127 @@ yyreduce:
}
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2882 "engines/director/lingo/lingo-gr.cpp"
+#line 2860 "engines/director/lingo/lingo-gr.cpp"
break;
case 87:
#line 614 "engines/director/lingo/lingo-gr.y"
{ yyerrok; }
-#line 2888 "engines/director/lingo/lingo-gr.cpp"
+#line 2866 "engines/director/lingo/lingo-gr.cpp"
break;
case 89:
#line 617 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[-1].code); }
-#line 2894 "engines/director/lingo/lingo-gr.cpp"
+#line 2872 "engines/director/lingo/lingo-gr.cpp"
break;
case 90:
#line 619 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); }
-#line 2900 "engines/director/lingo/lingo-gr.cpp"
+#line 2878 "engines/director/lingo/lingo-gr.cpp"
break;
case 91:
#line 620 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_add); }
-#line 2906 "engines/director/lingo/lingo-gr.cpp"
+#line 2884 "engines/director/lingo/lingo-gr.cpp"
break;
case 92:
#line 621 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_sub); }
-#line 2912 "engines/director/lingo/lingo-gr.cpp"
+#line 2890 "engines/director/lingo/lingo-gr.cpp"
break;
case 93:
#line 622 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_mul); }
-#line 2918 "engines/director/lingo/lingo-gr.cpp"
+#line 2896 "engines/director/lingo/lingo-gr.cpp"
break;
case 94:
#line 623 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_div); }
-#line 2924 "engines/director/lingo/lingo-gr.cpp"
+#line 2902 "engines/director/lingo/lingo-gr.cpp"
break;
case 95:
#line 624 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_mod); }
-#line 2930 "engines/director/lingo/lingo-gr.cpp"
+#line 2908 "engines/director/lingo/lingo-gr.cpp"
break;
case 96:
#line 625 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gt); }
-#line 2936 "engines/director/lingo/lingo-gr.cpp"
+#line 2914 "engines/director/lingo/lingo-gr.cpp"
break;
case 97:
#line 626 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lt); }
-#line 2942 "engines/director/lingo/lingo-gr.cpp"
+#line 2920 "engines/director/lingo/lingo-gr.cpp"
break;
case 98:
#line 627 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_eq); }
-#line 2948 "engines/director/lingo/lingo-gr.cpp"
+#line 2926 "engines/director/lingo/lingo-gr.cpp"
break;
case 99:
#line 628 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_neq); }
-#line 2954 "engines/director/lingo/lingo-gr.cpp"
+#line 2932 "engines/director/lingo/lingo-gr.cpp"
break;
case 100:
#line 629 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ge); }
-#line 2960 "engines/director/lingo/lingo-gr.cpp"
+#line 2938 "engines/director/lingo/lingo-gr.cpp"
break;
case 101:
#line 630 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_le); }
-#line 2966 "engines/director/lingo/lingo-gr.cpp"
+#line 2944 "engines/director/lingo/lingo-gr.cpp"
break;
case 102:
#line 631 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_and); }
-#line 2972 "engines/director/lingo/lingo-gr.cpp"
+#line 2950 "engines/director/lingo/lingo-gr.cpp"
break;
case 103:
#line 632 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_or); }
-#line 2978 "engines/director/lingo/lingo-gr.cpp"
+#line 2956 "engines/director/lingo/lingo-gr.cpp"
break;
case 104:
#line 633 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ampersand); }
-#line 2984 "engines/director/lingo/lingo-gr.cpp"
+#line 2962 "engines/director/lingo/lingo-gr.cpp"
break;
case 105:
#line 634 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_concat); }
-#line 2990 "engines/director/lingo/lingo-gr.cpp"
+#line 2968 "engines/director/lingo/lingo-gr.cpp"
break;
case 106:
#line 635 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_contains); }
-#line 2996 "engines/director/lingo/lingo-gr.cpp"
+#line 2974 "engines/director/lingo/lingo-gr.cpp"
break;
case 107:
#line 636 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_starts); }
-#line 3002 "engines/director/lingo/lingo-gr.cpp"
+#line 2980 "engines/director/lingo/lingo-gr.cpp"
break;
case 108:
@@ -3006,55 +2984,55 @@ yyreduce:
{
Common::String field("field");
g_lingo->codeFunc(&field, 1); }
-#line 3010 "engines/director/lingo/lingo-gr.cpp"
+#line 2988 "engines/director/lingo/lingo-gr.cpp"
break;
case 109:
#line 641 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_charOf); }
-#line 3016 "engines/director/lingo/lingo-gr.cpp"
+#line 2994 "engines/director/lingo/lingo-gr.cpp"
break;
case 110:
#line 642 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_charToOf); }
-#line 3022 "engines/director/lingo/lingo-gr.cpp"
+#line 3000 "engines/director/lingo/lingo-gr.cpp"
break;
case 111:
#line 643 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_itemOf); }
-#line 3028 "engines/director/lingo/lingo-gr.cpp"
+#line 3006 "engines/director/lingo/lingo-gr.cpp"
break;
case 112:
#line 644 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_itemToOf); }
-#line 3034 "engines/director/lingo/lingo-gr.cpp"
+#line 3012 "engines/director/lingo/lingo-gr.cpp"
break;
case 113:
#line 645 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lineOf); }
-#line 3040 "engines/director/lingo/lingo-gr.cpp"
+#line 3018 "engines/director/lingo/lingo-gr.cpp"
break;
case 114:
#line 646 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lineToOf); }
-#line 3046 "engines/director/lingo/lingo-gr.cpp"
+#line 3024 "engines/director/lingo/lingo-gr.cpp"
break;
case 115:
#line 647 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_wordOf); }
-#line 3052 "engines/director/lingo/lingo-gr.cpp"
+#line 3030 "engines/director/lingo/lingo-gr.cpp"
break;
case 116:
#line 648 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_wordToOf); }
-#line 3058 "engines/director/lingo/lingo-gr.cpp"
+#line 3036 "engines/director/lingo/lingo-gr.cpp"
break;
case 118:
@@ -3062,7 +3040,7 @@ yyreduce:
{
Common::String cast("cast");
g_lingo->codeFunc(&cast, 1); }
-#line 3066 "engines/director/lingo/lingo-gr.cpp"
+#line 3044 "engines/director/lingo/lingo-gr.cpp"
break;
case 119:
@@ -3070,7 +3048,7 @@ yyreduce:
{
Common::String script("script");
g_lingo->codeFunc(&script, 1); }
-#line 3074 "engines/director/lingo/lingo-gr.cpp"
+#line 3052 "engines/director/lingo/lingo-gr.cpp"
break;
case 120:
@@ -3078,13 +3056,13 @@ yyreduce:
{
Common::String window("window");
g_lingo->codeFunc(&window, 1); }
-#line 3082 "engines/director/lingo/lingo-gr.cpp"
+#line 3060 "engines/director/lingo/lingo-gr.cpp"
break;
case 121:
#line 661 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_printtop); }
-#line 3088 "engines/director/lingo/lingo-gr.cpp"
+#line 3066 "engines/director/lingo/lingo-gr.cpp"
break;
case 124:
@@ -3097,49 +3075,49 @@ yyreduce:
} else {
warning("# LINGO: exit repeat not inside repeat block");
} }
-#line 3101 "engines/director/lingo/lingo-gr.cpp"
+#line 3079 "engines/director/lingo/lingo-gr.cpp"
break;
case 125:
#line 672 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_procret); }
-#line 3107 "engines/director/lingo/lingo-gr.cpp"
+#line 3085 "engines/director/lingo/lingo-gr.cpp"
break;
case 126:
#line 673 "engines/director/lingo/lingo-gr.y"
{ inArgs(); }
-#line 3113 "engines/director/lingo/lingo-gr.cpp"
+#line 3091 "engines/director/lingo/lingo-gr.cpp"
break;
case 127:
#line 673 "engines/director/lingo/lingo-gr.y"
{ inLast(); }
-#line 3119 "engines/director/lingo/lingo-gr.cpp"
+#line 3097 "engines/director/lingo/lingo-gr.cpp"
break;
case 128:
#line 674 "engines/director/lingo/lingo-gr.y"
{ inArgs(); }
-#line 3125 "engines/director/lingo/lingo-gr.cpp"
+#line 3103 "engines/director/lingo/lingo-gr.cpp"
break;
case 129:
#line 674 "engines/director/lingo/lingo-gr.y"
{ inLast(); }
-#line 3131 "engines/director/lingo/lingo-gr.cpp"
+#line 3109 "engines/director/lingo/lingo-gr.cpp"
break;
case 130:
#line 675 "engines/director/lingo/lingo-gr.y"
{ inArgs(); }
-#line 3137 "engines/director/lingo/lingo-gr.cpp"
+#line 3115 "engines/director/lingo/lingo-gr.cpp"
break;
case 131:
#line 675 "engines/director/lingo/lingo-gr.y"
{ inLast(); }
-#line 3143 "engines/director/lingo/lingo-gr.cpp"
+#line 3121 "engines/director/lingo/lingo-gr.cpp"
break;
case 132:
@@ -3147,7 +3125,7 @@ yyreduce:
{
Common::String open("open");
g_lingo->codeFunc(&open, 2); }
-#line 3151 "engines/director/lingo/lingo-gr.cpp"
+#line 3129 "engines/director/lingo/lingo-gr.cpp"
break;
case 133:
@@ -3155,7 +3133,7 @@ yyreduce:
{
Common::String open("open");
g_lingo->codeFunc(&open, 1); }
-#line 3159 "engines/director/lingo/lingo-gr.cpp"
+#line 3137 "engines/director/lingo/lingo-gr.cpp"
break;
case 134:
@@ -3166,13 +3144,13 @@ yyreduce:
g_lingo->codeCmd((yyvsp[-3].s), 1);
delete (yyvsp[-3].s);
delete (yyvsp[-1].s); }
-#line 3170 "engines/director/lingo/lingo-gr.cpp"
+#line 3148 "engines/director/lingo/lingo-gr.cpp"
break;
case 135:
#line 688 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lazyeval); g_lingo->codeString((yyvsp[-1].s)->c_str()); }
-#line 3176 "engines/director/lingo/lingo-gr.cpp"
+#line 3154 "engines/director/lingo/lingo-gr.cpp"
break;
case 136:
@@ -3181,7 +3159,7 @@ yyreduce:
g_lingo->codeCmd((yyvsp[-6].s), (yyvsp[-1].narg) + 1);
delete (yyvsp[-6].s);
delete (yyvsp[-4].s); }
-#line 3185 "engines/director/lingo/lingo-gr.cpp"
+#line 3163 "engines/director/lingo/lingo-gr.cpp"
break;
case 137:
@@ -3189,7 +3167,7 @@ yyreduce:
{
g_lingo->codeCmd((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 3193 "engines/director/lingo/lingo-gr.cpp"
+#line 3171 "engines/director/lingo/lingo-gr.cpp"
break;
case 138:
@@ -3197,7 +3175,7 @@ yyreduce:
{
g_lingo->codeCmd((yyvsp[-1].s), (yyvsp[0].narg));
delete (yyvsp[-1].s); }
-#line 3201 "engines/director/lingo/lingo-gr.cpp"
+#line 3179 "engines/director/lingo/lingo-gr.cpp"
break;
case 139:
@@ -3205,7 +3183,7 @@ yyreduce:
{
mVar((yyvsp[0].s), kVarGlobal);
delete (yyvsp[0].s); }
-#line 3209 "engines/director/lingo/lingo-gr.cpp"
+#line 3187 "engines/director/lingo/lingo-gr.cpp"
break;
case 140:
@@ -3213,7 +3191,7 @@ yyreduce:
{
mVar((yyvsp[0].s), kVarGlobal);
delete (yyvsp[0].s); }
-#line 3217 "engines/director/lingo/lingo-gr.cpp"
+#line 3195 "engines/director/lingo/lingo-gr.cpp"
break;
case 141:
@@ -3221,7 +3199,7 @@ yyreduce:
{
mVar((yyvsp[0].s), kVarProperty);
delete (yyvsp[0].s); }
-#line 3225 "engines/director/lingo/lingo-gr.cpp"
+#line 3203 "engines/director/lingo/lingo-gr.cpp"
break;
case 142:
@@ -3229,7 +3207,7 @@ yyreduce:
{
mVar((yyvsp[0].s), kVarProperty);
delete (yyvsp[0].s); }
-#line 3233 "engines/director/lingo/lingo-gr.cpp"
+#line 3211 "engines/director/lingo/lingo-gr.cpp"
break;
case 143:
@@ -3237,7 +3215,7 @@ yyreduce:
{
mVar((yyvsp[0].s), kVarInstance);
delete (yyvsp[0].s); }
-#line 3241 "engines/director/lingo/lingo-gr.cpp"
+#line 3219 "engines/director/lingo/lingo-gr.cpp"
break;
case 144:
@@ -3245,25 +3223,25 @@ yyreduce:
{
mVar((yyvsp[0].s), kVarInstance);
delete (yyvsp[0].s); }
-#line 3249 "engines/director/lingo/lingo-gr.cpp"
+#line 3227 "engines/director/lingo/lingo-gr.cpp"
break;
case 145:
#line 728 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotoloop); }
-#line 3255 "engines/director/lingo/lingo-gr.cpp"
+#line 3233 "engines/director/lingo/lingo-gr.cpp"
break;
case 146:
#line 729 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotonext); }
-#line 3261 "engines/director/lingo/lingo-gr.cpp"
+#line 3239 "engines/director/lingo/lingo-gr.cpp"
break;
case 147:
#line 730 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotoprevious); }
-#line 3267 "engines/director/lingo/lingo-gr.cpp"
+#line 3245 "engines/director/lingo/lingo-gr.cpp"
break;
case 148:
@@ -3272,7 +3250,7 @@ yyreduce:
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(LC::c_goto); }
-#line 3276 "engines/director/lingo/lingo-gr.cpp"
+#line 3254 "engines/director/lingo/lingo-gr.cpp"
break;
case 149:
@@ -3281,7 +3259,7 @@ yyreduce:
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(LC::c_goto); }
-#line 3285 "engines/director/lingo/lingo-gr.cpp"
+#line 3263 "engines/director/lingo/lingo-gr.cpp"
break;
case 150:
@@ -3290,7 +3268,7 @@ yyreduce:
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(2);
g_lingo->code1(LC::c_goto); }
-#line 3294 "engines/director/lingo/lingo-gr.cpp"
+#line 3272 "engines/director/lingo/lingo-gr.cpp"
break;
case 153:
@@ -3299,7 +3277,7 @@ yyreduce:
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(LC::c_play); }
-#line 3303 "engines/director/lingo/lingo-gr.cpp"
+#line 3281 "engines/director/lingo/lingo-gr.cpp"
break;
case 154:
@@ -3308,7 +3286,7 @@ yyreduce:
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(LC::c_play); }
-#line 3312 "engines/director/lingo/lingo-gr.cpp"
+#line 3290 "engines/director/lingo/lingo-gr.cpp"
break;
case 155:
@@ -3317,13 +3295,13 @@ yyreduce:
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(2);
g_lingo->code1(LC::c_play); }
-#line 3321 "engines/director/lingo/lingo-gr.cpp"
+#line 3299 "engines/director/lingo/lingo-gr.cpp"
break;
case 156:
#line 759 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeSetImmediate(true); }
-#line 3327 "engines/director/lingo/lingo-gr.cpp"
+#line 3305 "engines/director/lingo/lingo-gr.cpp"
break;
case 157:
@@ -3332,13 +3310,13 @@ yyreduce:
g_lingo->codeSetImmediate(false);
g_lingo->codeFunc((yyvsp[-2].s), (yyvsp[0].narg));
delete (yyvsp[-2].s); }
-#line 3336 "engines/director/lingo/lingo-gr.cpp"
+#line 3314 "engines/director/lingo/lingo-gr.cpp"
break;
case 158:
#line 789 "engines/director/lingo/lingo-gr.y"
{ startDef(); }
-#line 3342 "engines/director/lingo/lingo-gr.cpp"
+#line 3320 "engines/director/lingo/lingo-gr.cpp"
break;
case 159:
@@ -3348,19 +3326,19 @@ yyreduce:
g_lingo->codeDefine(*(yyvsp[-5].s), (yyvsp[-4].code), (yyvsp[-3].narg));
endDef();
delete (yyvsp[-5].s); }
-#line 3352 "engines/director/lingo/lingo-gr.cpp"
+#line 3330 "engines/director/lingo/lingo-gr.cpp"
break;
case 160:
#line 795 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeFactory(*(yyvsp[0].s)); delete (yyvsp[0].s); }
-#line 3358 "engines/director/lingo/lingo-gr.cpp"
+#line 3336 "engines/director/lingo/lingo-gr.cpp"
break;
case 161:
#line 796 "engines/director/lingo/lingo-gr.y"
{ startDef(); (*g_lingo->_methodVars)["me"] = kVarArgument; }
-#line 3364 "engines/director/lingo/lingo-gr.cpp"
+#line 3342 "engines/director/lingo/lingo-gr.cpp"
break;
case 162:
@@ -3370,7 +3348,7 @@ yyreduce:
g_lingo->codeDefine(*(yyvsp[-6].s), (yyvsp[-4].code), (yyvsp[-3].narg) + 1);
endDef();
delete (yyvsp[-6].s); }
-#line 3374 "engines/director/lingo/lingo-gr.cpp"
+#line 3352 "engines/director/lingo/lingo-gr.cpp"
break;
case 163:
@@ -3383,7 +3361,7 @@ yyreduce:
checkEnd((yyvsp[-1].s), (yyvsp[-7].s)->c_str(), false);
delete (yyvsp[-7].s);
delete (yyvsp[-1].s); }
-#line 3387 "engines/director/lingo/lingo-gr.cpp"
+#line 3365 "engines/director/lingo/lingo-gr.cpp"
break;
case 164:
@@ -3393,139 +3371,139 @@ yyreduce:
g_lingo->codeDefine(*(yyvsp[-5].s), (yyvsp[-4].code), (yyvsp[-3].narg));
endDef();
delete (yyvsp[-5].s); }
-#line 3397 "engines/director/lingo/lingo-gr.cpp"
+#line 3375 "engines/director/lingo/lingo-gr.cpp"
break;
case 165:
#line 816 "engines/director/lingo/lingo-gr.y"
{ startDef(); }
-#line 3403 "engines/director/lingo/lingo-gr.cpp"
+#line 3381 "engines/director/lingo/lingo-gr.cpp"
break;
case 166:
#line 816 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = (yyvsp[0].s); }
-#line 3409 "engines/director/lingo/lingo-gr.cpp"
+#line 3387 "engines/director/lingo/lingo-gr.cpp"
break;
case 167:
#line 818 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; }
-#line 3415 "engines/director/lingo/lingo-gr.cpp"
+#line 3393 "engines/director/lingo/lingo-gr.cpp"
break;
case 168:
#line 819 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); mVar((yyvsp[0].s), kVarArgument); (yyval.narg) = 1; delete (yyvsp[0].s); }
-#line 3421 "engines/director/lingo/lingo-gr.cpp"
+#line 3399 "engines/director/lingo/lingo-gr.cpp"
break;
case 169:
#line 820 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); mVar((yyvsp[0].s), kVarArgument); (yyval.narg) = (yyvsp[-2].narg) + 1; delete (yyvsp[0].s); }
-#line 3427 "engines/director/lingo/lingo-gr.cpp"
+#line 3405 "engines/director/lingo/lingo-gr.cpp"
break;
case 171:
#line 823 "engines/director/lingo/lingo-gr.y"
{ delete (yyvsp[0].s); }
-#line 3433 "engines/director/lingo/lingo-gr.cpp"
+#line 3411 "engines/director/lingo/lingo-gr.cpp"
break;
case 172:
#line 824 "engines/director/lingo/lingo-gr.y"
{ delete (yyvsp[0].s); }
-#line 3439 "engines/director/lingo/lingo-gr.cpp"
+#line 3417 "engines/director/lingo/lingo-gr.cpp"
break;
case 173:
#line 826 "engines/director/lingo/lingo-gr.y"
{ inDef(); }
-#line 3445 "engines/director/lingo/lingo-gr.cpp"
+#line 3423 "engines/director/lingo/lingo-gr.cpp"
break;
case 174:
#line 828 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; }
-#line 3451 "engines/director/lingo/lingo-gr.cpp"
+#line 3429 "engines/director/lingo/lingo-gr.cpp"
break;
case 175:
#line 829 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3457 "engines/director/lingo/lingo-gr.cpp"
+#line 3435 "engines/director/lingo/lingo-gr.cpp"
break;
case 176:
#line 830 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3463 "engines/director/lingo/lingo-gr.cpp"
+#line 3441 "engines/director/lingo/lingo-gr.cpp"
break;
case 177:
#line 832 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3469 "engines/director/lingo/lingo-gr.cpp"
+#line 3447 "engines/director/lingo/lingo-gr.cpp"
break;
case 178:
#line 833 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3475 "engines/director/lingo/lingo-gr.cpp"
+#line 3453 "engines/director/lingo/lingo-gr.cpp"
break;
case 179:
#line 835 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[-1].code); }
-#line 3481 "engines/director/lingo/lingo-gr.cpp"
+#line 3459 "engines/director/lingo/lingo-gr.cpp"
break;
case 180:
#line 837 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code2(LC::c_arraypush, 0); }
-#line 3487 "engines/director/lingo/lingo-gr.cpp"
+#line 3465 "engines/director/lingo/lingo-gr.cpp"
break;
case 181:
#line 838 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code2(LC::c_proparraypush, 0); }
-#line 3493 "engines/director/lingo/lingo-gr.cpp"
+#line 3471 "engines/director/lingo/lingo-gr.cpp"
break;
case 182:
#line 839 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_proparraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3499 "engines/director/lingo/lingo-gr.cpp"
+#line 3477 "engines/director/lingo/lingo-gr.cpp"
break;
case 183:
#line 840 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_arraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3505 "engines/director/lingo/lingo-gr.cpp"
+#line 3483 "engines/director/lingo/lingo-gr.cpp"
break;
case 184:
#line 842 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3511 "engines/director/lingo/lingo-gr.cpp"
+#line 3489 "engines/director/lingo/lingo-gr.cpp"
break;
case 185:
#line 843 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3517 "engines/director/lingo/lingo-gr.cpp"
+#line 3495 "engines/director/lingo/lingo-gr.cpp"
break;
case 186:
#line 845 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3523 "engines/director/lingo/lingo-gr.cpp"
+#line 3501 "engines/director/lingo/lingo-gr.cpp"
break;
case 187:
#line 846 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3529 "engines/director/lingo/lingo-gr.cpp"
+#line 3507 "engines/director/lingo/lingo-gr.cpp"
break;
case 188:
@@ -3534,7 +3512,7 @@ yyreduce:
g_lingo->code1(LC::c_symbolpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
delete (yyvsp[-2].s); }
-#line 3538 "engines/director/lingo/lingo-gr.cpp"
+#line 3516 "engines/director/lingo/lingo-gr.cpp"
break;
case 189:
@@ -3543,7 +3521,7 @@ yyreduce:
g_lingo->code1(LC::c_stringpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
delete (yyvsp[-2].s); }
-#line 3547 "engines/director/lingo/lingo-gr.cpp"
+#line 3525 "engines/director/lingo/lingo-gr.cpp"
break;
case 190:
@@ -3552,11 +3530,11 @@ yyreduce:
g_lingo->code1(LC::c_stringpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
delete (yyvsp[-2].s); }
-#line 3556 "engines/director/lingo/lingo-gr.cpp"
+#line 3534 "engines/director/lingo/lingo-gr.cpp"
break;
-#line 3560 "engines/director/lingo/lingo-gr.cpp"
+#line 3538 "engines/director/lingo/lingo-gr.cpp"
default: break;
}
diff --git a/engines/director/lingo/lingo-gr.h b/engines/director/lingo/lingo-gr.h
index be9df7f0ef..099766056c 100644
--- a/engines/director/lingo/lingo-gr.h
+++ b/engines/director/lingo/lingo-gr.h
@@ -82,10 +82,10 @@ extern int yydebug;
tPLAYACCEL = 283, /* tPLAYACCEL */
tMETHOD = 284, /* tMETHOD */
THEOBJECTPROP = 285, /* THEOBJECTPROP */
- CAST = 286, /* CAST */
- FIELD = 287, /* FIELD */
- SCRIPT = 288, /* SCRIPT */
- WINDOW = 289, /* WINDOW */
+ tCAST = 286, /* tCAST */
+ tFIELD = 287, /* tFIELD */
+ tSCRIPT = 288, /* tSCRIPT */
+ tWINDOW = 289, /* tWINDOW */
tDOWN = 290, /* tDOWN */
tELSE = 291, /* tELSE */
tELSIF = 292, /* tELSIF */
@@ -138,11 +138,7 @@ extern int yydebug;
tON = 339, /* tON */
tENDIF = 340, /* tENDIF */
tENDREPEAT = 341, /* tENDREPEAT */
- tENDTELL = 342, /* tENDTELL */
- tCAST = 343, /* tCAST */
- tFIELD = 344, /* tFIELD */
- tSCRIPT = 345, /* tSCRIPT */
- tWINDOW = 346 /* tWINDOW */
+ tENDTELL = 342 /* tENDTELL */
};
typedef enum yytokentype yytoken_kind_t;
#endif
@@ -166,7 +162,7 @@ union YYSTYPE
Common::String *prop;
} objectprop;
-#line 170 "engines/director/lingo/lingo-gr.h"
+#line 166 "engines/director/lingo/lingo-gr.h"
};
typedef union YYSTYPE YYSTYPE;
diff --git a/engines/director/lingo/lingo-gr.y b/engines/director/lingo/lingo-gr.y
index 7ea7486995..33f7292cf6 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -184,7 +184,7 @@ static void mVar(Common::String *s, VarType type) {
%token<s> VARID STRING SYMBOL
%token<s> ENDCLAUSE tPLAYACCEL tMETHOD
%token<objectprop> THEOBJECTPROP
-%token<ref> CAST FIELD SCRIPT WINDOW
+%token tCAST tFIELD tSCRIPT tWINDOW
%token tDOWN tELSE tELSIF tEXIT tGLOBAL tGO tGOLOOP tIF tIN tINTO tMACRO
%token tMOVIE tNEXT tOF tPREVIOUS tPUT tREPEAT tSET tTHEN tTO tWHEN
%token tWITH tWHILE tFACTORY tOPEN tPLAY tINSTANCE
Commit: 085bc555b7ee3f42810c469b7c5954b6c6cce3d8
https://github.com/scummvm/scummvm/commit/085bc555b7ee3f42810c469b7c5954b6c6cce3d8
Author: djsrv (dservilla at gmail.com)
Date: 2020-07-19T13:33:35-04:00
Commit Message:
DIRECTOR: LINGO: Add tests
Changed paths:
engines/director/lingo/tests/chunks.lingo
engines/director/lingo/tests/reference.lingo
diff --git a/engines/director/lingo/tests/chunks.lingo b/engines/director/lingo/tests/chunks.lingo
index 371d844fd8..17d3ad51be 100644
--- a/engines/director/lingo/tests/chunks.lingo
+++ b/engines/director/lingo/tests/chunks.lingo
@@ -4,3 +4,4 @@ put the last word of field 1 into field 3
put the last char of "Macromedia, the multimedia company"
put the last word of "Macromedia, the multimedia company"
+put the last word of "Macromedia, the multimedia company" && "man"
diff --git a/engines/director/lingo/tests/reference.lingo b/engines/director/lingo/tests/reference.lingo
index 77ed656337..53f5d71ac3 100644
--- a/engines/director/lingo/tests/reference.lingo
+++ b/engines/director/lingo/tests/reference.lingo
@@ -17,3 +17,12 @@ put line 1 to 5 of field the number of cast "MasterList" into field the number o
-- user-defined handlers/factories w/ reference name
-- (mainly to test grammar, so no factory definition)
set theWindow = Window(mNew,#noGrowDoc,"Window " & windowNumber)
+
+-- other weird stuff with reference name
+put window("test")
+set window = 1
+put window
+window("test")
+window "test"
+window cast
+put cast cast
More information about the Scummvm-git-logs
mailing list