[Scummvm-git-logs] scummvm master -> 52774f72b55e89e13557cfa73972cec0edc5dc35
djsrv
dservilla at gmail.com
Sat Aug 15 16:36:24 UTC 2020
This automated email contains information about 7 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
fae71d55fc DIRECTOR: LINGO: Don't treat cast refs as numbers
319fa7ee0f DIRECTOR: LINGO: Recombine CASTNAME and CASTNUM
b636f76c23 DIRECTOR: LINGO: Handle loaded in getObjectProp
759fcdcf86 DIRECTOR: LINGO: Add tests for cast refs
1819e7da83 DIRECTOR: LINGO: Allow non-numeric type alignments
4620311903 DIRECTOR: LINGO: Handle CASTREF in Datum::equalTo
52774f72b5 DIRECTOR: LINGO: Add equality tests
Commit: fae71d55fc9002942e170080479fb004ca4f9f23
https://github.com/scummvm/scummvm/commit/fae71d55fc9002942e170080479fb004ca4f9f23
Author: djsrv (dservilla at gmail.com)
Date: 2020-08-15T11:33:12-04:00
Commit Message:
DIRECTOR: LINGO: Don't treat cast refs as numbers
Changed paths:
engines/director/lingo/lingo.cpp
diff --git a/engines/director/lingo/lingo.cpp b/engines/director/lingo/lingo.cpp
index 5c2005b5fb..ac62df67a8 100644
--- a/engines/director/lingo/lingo.cpp
+++ b/engines/director/lingo/lingo.cpp
@@ -718,8 +718,7 @@ int Lingo::getAlignedType(const Datum &d1, const Datum &d2) {
if (d1Type == FLOAT || d2Type == FLOAT) {
opType = FLOAT;
- } else if ((d1Type == INT || d1Type == CASTNAME || d1Type == CASTNUM)
- && (d2Type == INT || d2Type == CASTNAME || d2Type == CASTNUM)) {
+ } else if (d1Type == INT && d2Type == INT) {
opType = INT;
}
@@ -841,16 +840,6 @@ int Datum::asInt() const {
int res = 0;
switch (type) {
- case CASTNAME:
- {
- Movie *movie = g_director->getCurrentMovie();
- CastMember *member = movie->getCastMemberByName(*u.s);
- if (member)
- res = member->getID();
- else
- warning("castIdFetch: reference to non-existent cast member: %s", u.s->c_str());
- }
- break;
case STRING:
case FIELDNAME:
case FIELDNUM:
Commit: 319fa7ee0f77a93e354a36901088515845764514
https://github.com/scummvm/scummvm/commit/319fa7ee0f77a93e354a36901088515845764514
Author: djsrv (dservilla at gmail.com)
Date: 2020-08-15T11:58:33-04:00
Commit Message:
DIRECTOR: LINGO: Recombine CASTNAME and CASTNUM
The original tries to immediately fetch a cast member by name and
turn it into a cast number.
Only cast numbers are not immediately checked for existence.
Changed paths:
engines/director/lingo/lingo-builtins.cpp
engines/director/lingo/lingo-gr.cpp
engines/director/lingo/lingo-gr.h
engines/director/lingo/lingo-gr.y
engines/director/lingo/lingo-the.cpp
engines/director/lingo/lingo.cpp
diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index ba1d6bb109..40f0c04e8a 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -455,7 +455,7 @@ void LB::b_chars(int nargs) {
Datum d3 = g_lingo->pop();
Datum d2 = g_lingo->pop();
Datum s = g_lingo->pop();
- TYPECHECK3(s, STRING, FIELDNAME, FIELDNUM);
+ TYPECHECK2(s, STRING, FIELDREF);
if (g_director->getVersion() < 400 && (d2.type == FLOAT || d3.type == FLOAT)) {
warning("LB::b_chars: Called with a float in Director 2 and 3 mode. chars' can't handle floats");
@@ -516,7 +516,7 @@ void LB::b_hilite(int nargs) {
void LB::b_length(int nargs) {
Datum d = g_lingo->pop();
- TYPECHECK3(d, STRING, FIELDNAME, FIELDNUM);
+ TYPECHECK2(d, STRING, FIELDREF);
int len = strlen(d.asString().c_str());
@@ -603,7 +603,7 @@ void LB::b_addProp(int nargs) {
Datum list = g_lingo->pop();
TYPECHECK(list, PARRAY);
- if (prop.type == FIELDNAME || prop.type == FIELDNUM)
+ if (prop.type == FIELDREF)
prop = g_lingo->varFetch(prop);
PCell cell = PCell(prop, value);
@@ -1034,7 +1034,7 @@ void LB::b_setProp(int nargs) {
Datum prop = g_lingo->pop();
Datum list = g_lingo->pop();
TYPECHECK(list, PARRAY);
- if (prop.type == FIELDNAME || prop.type == FIELDNUM)
+ if (prop.type == FIELDREF)
prop = g_lingo->varFetch(prop);
int index = LC::compareArrays(LC::eqData, list, prop, true).u.i;
@@ -2320,29 +2320,23 @@ void LB::b_version(int nargs) {
///////////////////
void LB::b_cast(int nargs) {
Datum d = g_lingo->pop();
-
- Datum res;
if (d.type == STRING) {
- res = d;
- res.type = CASTNAME;
- } else {
- res = d.asInt();
- res.type = CASTNUM;
+ d = g_lingo->castIdFetch(d);
}
+
+ Datum res = d.asInt();
+ res.type = CASTREF;
g_lingo->push(res);
}
void LB::b_field(int nargs) {
Datum d = g_lingo->pop();
-
- Datum res;
if (d.type == STRING) {
- res = d;
- res.type = FIELDNAME;
- } else {
- res = d.asInt();
- res.type = FIELDNUM;
+ d = g_lingo->castIdFetch(d);
}
+
+ Datum res = d.asInt();
+ res.type = FIELDREF;
g_lingo->push(res);
}
diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp
index 1a0ba4a479..70c20977da 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -233,161 +233,159 @@ enum yysymbol_kind_t
YYSYMBOL_OBJECT = 9, /* OBJECT */
YYSYMBOL_LEXERROR = 10, /* LEXERROR */
YYSYMBOL_PARRAY = 11, /* PARRAY */
- YYSYMBOL_CASTNAME = 12, /* CASTNAME */
- YYSYMBOL_CASTNUM = 13, /* CASTNUM */
- YYSYMBOL_FIELDNAME = 14, /* FIELDNAME */
- YYSYMBOL_FIELDNUM = 15, /* FIELDNUM */
- YYSYMBOL_INT = 16, /* INT */
- YYSYMBOL_ARGC = 17, /* ARGC */
- YYSYMBOL_ARGCNORET = 18, /* ARGCNORET */
- YYSYMBOL_THEENTITY = 19, /* THEENTITY */
- YYSYMBOL_THEENTITYWITHID = 20, /* THEENTITYWITHID */
- YYSYMBOL_THEMENUITEMENTITY = 21, /* THEMENUITEMENTITY */
- YYSYMBOL_THEMENUITEMSENTITY = 22, /* THEMENUITEMSENTITY */
- YYSYMBOL_FLOAT = 23, /* FLOAT */
- YYSYMBOL_THEFUNC = 24, /* THEFUNC */
- YYSYMBOL_THEFUNCINOF = 25, /* THEFUNCINOF */
- YYSYMBOL_VARID = 26, /* VARID */
- YYSYMBOL_STRING = 27, /* STRING */
- YYSYMBOL_SYMBOL = 28, /* SYMBOL */
- YYSYMBOL_ENDCLAUSE = 29, /* ENDCLAUSE */
- YYSYMBOL_tPLAYACCEL = 30, /* tPLAYACCEL */
- YYSYMBOL_tMETHOD = 31, /* tMETHOD */
- YYSYMBOL_THEOBJECTPROP = 32, /* THEOBJECTPROP */
- YYSYMBOL_tCAST = 33, /* tCAST */
- YYSYMBOL_tFIELD = 34, /* tFIELD */
- YYSYMBOL_tSCRIPT = 35, /* tSCRIPT */
- YYSYMBOL_tWINDOW = 36, /* tWINDOW */
- YYSYMBOL_tDOWN = 37, /* tDOWN */
- YYSYMBOL_tELSE = 38, /* tELSE */
- YYSYMBOL_tELSIF = 39, /* tELSIF */
- YYSYMBOL_tEXIT = 40, /* tEXIT */
- YYSYMBOL_tGLOBAL = 41, /* tGLOBAL */
- YYSYMBOL_tGO = 42, /* tGO */
- YYSYMBOL_tGOLOOP = 43, /* tGOLOOP */
- YYSYMBOL_tIF = 44, /* tIF */
- YYSYMBOL_tIN = 45, /* tIN */
- YYSYMBOL_tINTO = 46, /* tINTO */
- YYSYMBOL_tMACRO = 47, /* tMACRO */
- YYSYMBOL_tMOVIE = 48, /* tMOVIE */
- YYSYMBOL_tNEXT = 49, /* tNEXT */
- YYSYMBOL_tOF = 50, /* tOF */
- YYSYMBOL_tPREVIOUS = 51, /* tPREVIOUS */
- YYSYMBOL_tPUT = 52, /* tPUT */
- YYSYMBOL_tREPEAT = 53, /* tREPEAT */
- YYSYMBOL_tSET = 54, /* tSET */
- YYSYMBOL_tTHEN = 55, /* tTHEN */
- YYSYMBOL_tTO = 56, /* tTO */
- YYSYMBOL_tWHEN = 57, /* tWHEN */
- YYSYMBOL_tWITH = 58, /* tWITH */
- YYSYMBOL_tWHILE = 59, /* tWHILE */
- YYSYMBOL_tFACTORY = 60, /* tFACTORY */
- YYSYMBOL_tOPEN = 61, /* tOPEN */
- YYSYMBOL_tPLAY = 62, /* tPLAY */
- YYSYMBOL_tINSTANCE = 63, /* tINSTANCE */
- YYSYMBOL_tGE = 64, /* tGE */
- YYSYMBOL_tLE = 65, /* tLE */
- YYSYMBOL_tEQ = 66, /* tEQ */
- YYSYMBOL_tNEQ = 67, /* tNEQ */
- YYSYMBOL_tAND = 68, /* tAND */
- YYSYMBOL_tOR = 69, /* tOR */
- YYSYMBOL_tNOT = 70, /* tNOT */
- YYSYMBOL_tMOD = 71, /* tMOD */
- YYSYMBOL_tAFTER = 72, /* tAFTER */
- YYSYMBOL_tBEFORE = 73, /* tBEFORE */
- YYSYMBOL_tCONCAT = 74, /* tCONCAT */
- YYSYMBOL_tCONTAINS = 75, /* tCONTAINS */
- YYSYMBOL_tSTARTS = 76, /* tSTARTS */
- YYSYMBOL_tCHAR = 77, /* tCHAR */
- YYSYMBOL_tITEM = 78, /* tITEM */
- YYSYMBOL_tLINE = 79, /* tLINE */
- YYSYMBOL_tWORD = 80, /* tWORD */
- YYSYMBOL_tSPRITE = 81, /* tSPRITE */
- YYSYMBOL_tINTERSECTS = 82, /* tINTERSECTS */
- YYSYMBOL_tWITHIN = 83, /* tWITHIN */
- YYSYMBOL_tTELL = 84, /* tTELL */
- YYSYMBOL_tPROPERTY = 85, /* tPROPERTY */
- YYSYMBOL_tON = 86, /* tON */
- YYSYMBOL_tENDIF = 87, /* tENDIF */
- YYSYMBOL_tENDREPEAT = 88, /* tENDREPEAT */
- YYSYMBOL_tENDTELL = 89, /* tENDTELL */
- YYSYMBOL_90_ = 90, /* '<' */
- YYSYMBOL_91_ = 91, /* '>' */
- YYSYMBOL_92_ = 92, /* '&' */
- YYSYMBOL_93_ = 93, /* '+' */
- YYSYMBOL_94_ = 94, /* '-' */
- YYSYMBOL_95_ = 95, /* '*' */
- YYSYMBOL_96_ = 96, /* '/' */
- YYSYMBOL_97_ = 97, /* '%' */
- YYSYMBOL_98_n_ = 98, /* '\n' */
- YYSYMBOL_99_ = 99, /* '(' */
- YYSYMBOL_100_ = 100, /* ')' */
- YYSYMBOL_101_ = 101, /* ',' */
- YYSYMBOL_102_ = 102, /* '[' */
- YYSYMBOL_103_ = 103, /* ']' */
- YYSYMBOL_104_ = 104, /* ':' */
- YYSYMBOL_YYACCEPT = 105, /* $accept */
- YYSYMBOL_program = 106, /* program */
- YYSYMBOL_programline = 107, /* programline */
- YYSYMBOL_ID = 108, /* ID */
- YYSYMBOL_asgn = 109, /* asgn */
- YYSYMBOL_stmtoneliner = 110, /* stmtoneliner */
- YYSYMBOL_stmt = 111, /* stmt */
- YYSYMBOL_112_1 = 112, /* $@1 */
- YYSYMBOL_113_2 = 113, /* $@2 */
- YYSYMBOL_114_3 = 114, /* $@3 */
- YYSYMBOL_115_4 = 115, /* $@4 */
- YYSYMBOL_116_5 = 116, /* $@5 */
- YYSYMBOL_117_6 = 117, /* $@6 */
- YYSYMBOL_118_7 = 118, /* $@7 */
- YYSYMBOL_119_8 = 119, /* $@8 */
- YYSYMBOL_120_9 = 120, /* $@9 */
- YYSYMBOL_startrepeat = 121, /* startrepeat */
- YYSYMBOL_tellstart = 122, /* tellstart */
- YYSYMBOL_ifstmt = 123, /* ifstmt */
- YYSYMBOL_elseifstmtlist = 124, /* elseifstmtlist */
- YYSYMBOL_elseifstmt = 125, /* elseifstmt */
- YYSYMBOL_jumpifz = 126, /* jumpifz */
- YYSYMBOL_jump = 127, /* jump */
- YYSYMBOL_varassign = 128, /* varassign */
- YYSYMBOL_if = 129, /* if */
- YYSYMBOL_lbl = 130, /* lbl */
- YYSYMBOL_stmtlist = 131, /* stmtlist */
- YYSYMBOL_stmtlistline = 132, /* stmtlistline */
- YYSYMBOL_simpleexprnoparens = 133, /* simpleexprnoparens */
- YYSYMBOL_134_10 = 134, /* $@10 */
- YYSYMBOL_simpleexpr = 135, /* simpleexpr */
- YYSYMBOL_expr = 136, /* expr */
- YYSYMBOL_chunkexpr = 137, /* chunkexpr */
- YYSYMBOL_reference = 138, /* reference */
- YYSYMBOL_proc = 139, /* proc */
- YYSYMBOL_140_11 = 140, /* $@11 */
- YYSYMBOL_141_12 = 141, /* $@12 */
- YYSYMBOL_142_13 = 142, /* $@13 */
- YYSYMBOL_143_14 = 143, /* $@14 */
- YYSYMBOL_globallist = 144, /* globallist */
- YYSYMBOL_propertylist = 145, /* propertylist */
- YYSYMBOL_instancelist = 146, /* instancelist */
- YYSYMBOL_gotofunc = 147, /* gotofunc */
- YYSYMBOL_gotomovie = 148, /* gotomovie */
- YYSYMBOL_playfunc = 149, /* playfunc */
- YYSYMBOL_150_15 = 150, /* $@15 */
- YYSYMBOL_defn = 151, /* defn */
- YYSYMBOL_152_16 = 152, /* $@16 */
- YYSYMBOL_153_17 = 153, /* $@17 */
- YYSYMBOL_on = 154, /* on */
- YYSYMBOL_155_18 = 155, /* $@18 */
- YYSYMBOL_argname = 156, /* argname */
- 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_CASTREF = 12, /* CASTREF */
+ YYSYMBOL_FIELDREF = 13, /* FIELDREF */
+ YYSYMBOL_INT = 14, /* INT */
+ YYSYMBOL_ARGC = 15, /* ARGC */
+ YYSYMBOL_ARGCNORET = 16, /* ARGCNORET */
+ YYSYMBOL_THEENTITY = 17, /* THEENTITY */
+ YYSYMBOL_THEENTITYWITHID = 18, /* THEENTITYWITHID */
+ YYSYMBOL_THEMENUITEMENTITY = 19, /* THEMENUITEMENTITY */
+ YYSYMBOL_THEMENUITEMSENTITY = 20, /* THEMENUITEMSENTITY */
+ YYSYMBOL_FLOAT = 21, /* FLOAT */
+ YYSYMBOL_THEFUNC = 22, /* THEFUNC */
+ YYSYMBOL_THEFUNCINOF = 23, /* THEFUNCINOF */
+ YYSYMBOL_VARID = 24, /* VARID */
+ 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_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 */
+ 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_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_argname = 154, /* argname */
+ YYSYMBOL_argdef = 155, /* argdef */
+ YYSYMBOL_endargdef = 156, /* endargdef */
+ YYSYMBOL_argstore = 157, /* argstore */
+ YYSYMBOL_arglist = 158, /* arglist */
+ YYSYMBOL_nonemptyarglist = 159, /* nonemptyarglist */
+ YYSYMBOL_list = 160, /* list */
+ YYSYMBOL_valuelist = 161, /* valuelist */
+ YYSYMBOL_linearlist = 162, /* linearlist */
+ YYSYMBOL_proplist = 163, /* proplist */
+ YYSYMBOL_proppair = 164 /* proppair */
};
typedef enum yysymbol_kind_t yysymbol_kind_t;
@@ -697,10 +695,10 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 100
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 1844
+#define YYLAST 1886
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 105
+#define YYNTOKENS 103
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 62
/* YYNRULES -- Number of rules. */
@@ -709,7 +707,7 @@ union yyalloc
#define YYNSTATES 391
/* YYMAXUTOK -- Last valid token kind. */
-#define YYMAXUTOK 344
+#define YYMAXUTOK 342
/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
@@ -724,15 +722,15 @@ union yyalloc
static const yytype_int8 yytranslate[] =
{
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 98, 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, 97, 92, 2,
- 99, 100, 95, 93, 101, 94, 2, 96, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 104, 2,
- 90, 2, 91, 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, 102, 2, 103, 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,
@@ -757,7 +755,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, 88, 89
+ 85, 86, 87
};
#if YYDEBUG
@@ -801,14 +799,13 @@ yysymbol_name (yysymbol_kind_t yysymbol)
static const char *const yy_sname[] =
{
"end of file", "error", "invalid token", "UNARY", "VOID", "VAR",
- "POINT", "RECT", "ARRAY", "OBJECT", "LEXERROR", "PARRAY", "CASTNAME",
- "CASTNUM", "FIELDNAME", "FIELDNUM", "INT", "ARGC", "ARGCNORET",
- "THEENTITY", "THEENTITYWITHID", "THEMENUITEMENTITY",
- "THEMENUITEMSENTITY", "FLOAT", "THEFUNC", "THEFUNCINOF", "VARID",
- "STRING", "SYMBOL", "ENDCLAUSE", "tPLAYACCEL", "tMETHOD",
- "THEOBJECTPROP", "tCAST", "tFIELD", "tSCRIPT", "tWINDOW", "tDOWN",
- "tELSE", "tELSIF", "tEXIT", "tGLOBAL", "tGO", "tGOLOOP", "tIF", "tIN",
- "tINTO", "tMACRO", "tMOVIE", "tNEXT", "tOF", "tPREVIOUS", "tPUT",
+ "POINT", "RECT", "ARRAY", "OBJECT", "LEXERROR", "PARRAY", "CASTREF",
+ "FIELDREF", "INT", "ARGC", "ARGCNORET", "THEENTITY", "THEENTITYWITHID",
+ "THEMENUITEMENTITY", "THEMENUITEMSENTITY", "FLOAT", "THEFUNC",
+ "THEFUNCINOF", "VARID", "STRING", "SYMBOL", "ENDCLAUSE", "tPLAYACCEL",
+ "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",
@@ -844,13 +841,13 @@ static const yytype_int16 yytoknum[] =
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
- 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
- 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 (-352)
+#define YYPACT_NINF (-357)
#define yypact_value_is_default(Yyn) \
((Yyn) == YYPACT_NINF)
@@ -864,46 +861,46 @@ static const yytype_int16 yytoknum[] =
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- 461, -88, -352, -352, -352, -352, -352, -352, -352, -39,
- -352, 855, -352, -352, -352, -27, 975, -8, 186, 53,
- 53, 1001, 894, -352, 1001, -352, -352, 6, -352, 1082,
- -352, -352, -352, -352, 1001, -352, -352, -352, -352, -352,
- -352, 1001, -352, -352, 53, -352, -352, 1001, -352, -16,
- 1001, -352, -352, -352, 1108, 1108, 1108, 1108, 1001, -352,
- 37, -352, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001,
- 1001, 146, -36, -352, -352, 1232, -352, -352, -352, -352,
- 53, -352, 53, 1199, 53, -352, -45, 1001, 1001, -41,
- -13, 40, -352, 1576, 1232, -352, 53, 1496, 53, 53,
- -352, 461, 1001, 1627, -352, 1748, 53, -352, 53, 12,
- -352, -352, 1001, -352, -352, -352, -352, -352, 1748, 1001,
- -352, 1265, 1298, 1331, 1364, 1715, -352, -352, 1678, 10,
- 18, -352, -34, 1748, 4, 19, 22, -352, 1001, 1001,
- 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001,
- 1001, 1001, 1001, 1001, 1001, 1001, -352, -352, 1001, -4,
- -4, -4, 15, 1001, 1001, 1001, 1537, 76, 1001, 1001,
- 1001, 1001, 1001, 1001, -352, 27, -352, -352, -352, 32,
- -352, -352, -352, 31, 1589, 34, 1001, 81, -352, 39,
- 44, 46, 53, -352, 1748, 1001, 1001, 1001, 1001, 1001,
- 1001, 1001, 1001, 1001, 1001, -352, 1001, 1001, 1001, -352,
- 1001, 202, 57, 45, -47, -47, -47, -47, 363, 363,
- -352, -54, -47, -47, -47, -47, -54, -59, -59, -352,
- -352, 53, 101, -352, -352, -352, -352, -352, -352, 1001,
- 1001, 1748, 1748, 1748, 1001, 1001, 53, 1748, 1748, 1748,
- 1748, 1748, 1748, 53, 1198, 703, 53, -352, -352, -352,
- -352, 637, 53, -352, -352, -352, -352, 462, -352, 1397,
- -352, 1430, -352, 1463, -352, -352, 1748, 1748, 1748, 1748,
- 10, 18, 49, -352, -352, -352, -352, 51, 1001, 1748,
- 1127, -352, 1748, 23, 1001, -352, -352, -352, -352, 65,
- -352, 1001, -352, -352, 561, 599, 1001, 1001, 1001, 1001,
- 1001, -352, 1748, -352, -352, -352, 741, 3, -352, 78,
- 362, 1640, 68, -352, 154, -352, -352, -352, -352, -352,
- 84, 599, -352, -352, -352, -352, 1001, 1001, -352, -352,
- 1001, -352, 28, 53, -352, -352, -352, 129, 149, 99,
- 1748, 1748, -352, 779, 1001, -352, 102, -352, 89, -352,
- 1001, 135, -352, -352, 1748, -352, 53, -352, 1748, 1001,
- 111, 144, -352, 741, -352, 1748, -352, 637, 114, -352,
- -352, -352, -352, 741, -352, -352, 115, 741, -352, 116,
- -352
+ 362, -82, -357, -357, -357, -357, -357, -357, -357, -34,
+ -357, 892, -357, -357, -357, -30, 1012, -14, 188, 55,
+ 55, 1038, 931, -357, 1038, -357, -357, 8, -357, 1119,
+ -357, -357, -357, -357, 1038, -357, -357, -357, -357, -357,
+ -357, 1038, -357, -357, 55, -357, -357, 1038, -357, -12,
+ 1038, -357, -357, -357, 1145, 1145, 1145, 1145, 1038, -357,
+ 17, -357, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
+ 1038, 148, -63, -357, -357, 1230, -357, -357, -357, -357,
+ 55, -357, 55, 1197, 55, -357, 5, 1038, 1038, 6,
+ 27, 1, -357, 1607, 1230, -357, 55, 1527, 55, 55,
+ -357, 362, 1038, 1658, -357, 1779, 55, -357, 55, -9,
+ -357, -357, 1038, -357, -357, -357, -357, -357, 1779, 1038,
+ -357, 1263, 1296, 1329, 1362, 1746, -357, -357, 1709, 11,
+ 12, -357, -87, 1779, 19, 23, 24, -357, 1038, 1038,
+ 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
+ 1038, 1038, 1038, 1038, 1038, 1038, -357, -357, 1038, -2,
+ -2, -2, -31, 1038, 1038, 1038, 1568, 78, 1038, 1038,
+ 1038, 1038, 1038, 1038, -357, 29, -357, -357, -357, 35,
+ -357, -357, -357, -32, 1620, 9, 1038, 83, -357, 41,
+ 46, 48, 55, -357, 1779, 1038, 1038, 1038, 1038, 1038,
+ 1038, 1038, 1038, 1038, 1038, -357, 1038, 1038, 1038, -357,
+ 1038, 204, 59, 47, -45, -45, -45, -45, 1792, 1792,
+ -357, -53, -45, -45, -45, -45, -53, -43, -43, -357,
+ -357, 55, 103, -357, -357, -357, -357, -357, -357, 1038,
+ 1038, 1779, 1779, 1779, 1038, 1038, 55, 1779, 1779, 1779,
+ 1779, 1779, 1779, 55, 493, 716, 55, -357, -357, -357,
+ -357, 650, 55, -357, -357, -357, -357, 1395, -357, 1428,
+ -357, 1461, -357, 1494, -357, -357, 1779, 1779, 1779, 1779,
+ 11, 12, 51, -357, -357, -357, -357, 53, 1038, 1779,
+ 1164, -357, 1779, 25, 1038, -357, -357, -357, -357, 67,
+ -357, 1038, -357, -357, 563, 616, 1038, 1038, 1038, 1038,
+ 1038, -357, 1779, -357, -357, -357, 750, 31, -357, 80,
+ 455, 1671, 70, -357, 156, -357, -357, -357, -357, -357,
+ 86, 616, -357, -357, -357, -357, 1038, 1038, -357, -357,
+ 1038, -357, 56, 55, -357, -357, -357, 131, 151, 101,
+ 1779, 1779, -357, 816, 1038, -357, 104, -357, 91, -357,
+ 1038, 137, -357, -357, 1779, -357, 55, -357, 1779, 1038,
+ 113, 146, -357, 750, -357, 1779, -357, 650, 116, -357,
+ -357, -357, -357, 750, -357, -357, 117, 750, -357, 118,
+ -357
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -956,13 +953,13 @@ static const yytype_uint8 yydefact[] =
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -352, -352, 107, 0, -352, -44, 2, -352, -352, -352,
- -352, -352, -352, -352, -352, -352, -351, 35, -352, -352,
- -352, -237, -326, -106, -352, -7, -248, -352, 36, -352,
- 277, 130, 16, -352, -352, -352, -352, -352, -352, 41,
- -42, -19, -352, -17, -352, -352, -352, -352, -352, -352,
- -352, -352, -107, -352, -257, -38, -302, -352, -352, -352,
- -352, 30
+ -357, -357, 107, 0, -357, -44, 2, -357, -357, -357,
+ -357, -357, -357, -357, -357, -357, -356, 36, -357, -357,
+ -357, -237, -326, -106, -357, -7, -248, -357, 76, -357,
+ 277, 130, 16, -357, -357, -357, -357, -357, -357, 21,
+ -41, -20, -357, -17, -357, -357, -357, -357, -357, -357,
+ -357, -357, -107, -357, -258, -38, -303, -357, -357, -357,
+ -357, 30
};
/* YYDEFGOTO[NTERM-NUM]. */
@@ -982,20 +979,20 @@ static const yytype_int16 yydefgoto[] =
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 29, 191, 32, 107, 291, 95, 100, 305, 330, 349,
- 40, 164, 145, 302, 43, 168, 373, 145, 90, 91,
- 92, 165, 2, -24, 145, 169, 81, 146, 383, 54,
- 55, 7, 8, 387, 112, 108, 154, 155, 352, 152,
- 153, 154, 155, 170, 109, 151, 152, 153, 154, 155,
- 84, 85, -24, 171, 331, 385, 324, 325, 156, 336,
- 239, -24, -24, 138, 185, 138, 353, 354, 335, 337,
- 208, 132, 339, 63, 64, 65, 66, 174, 163, 2,
- 157, 240, 158, 345, 162, 119, 5, 6, 7, 8,
- 114, 115, 116, 117, 145, 172, 175, 146, 179, 181,
- 213, 29, 183, 32, 101, 363, 188, 209, 188, 359,
- -24, -24, -24, 192, 206, 151, 152, 153, 154, 155,
- 210, -24, 207, 211, 287, 378, 246, 371, 253, 381,
- 138, 257, 258, 256, 259, 386, 261, 379, 212, 389,
+ 29, 191, 32, 107, 291, 95, 305, 330, 100, 349,
+ 138, 373, 239, 302, 40, 208, 145, 43, 90, 91,
+ 92, 81, 2, 383, 145, -24, 145, 146, 387, 54,
+ 55, 7, 8, 240, 138, 108, 112, 352, 152, 153,
+ 154, 155, 84, 85, 109, 151, 152, 153, 154, 155,
+ 154, 155, -24, 331, 172, 385, 324, 325, 156, 164,
+ 168, -24, -24, 119, 185, 138, 257, 258, 335, 165,
+ 169, 132, 339, 63, 64, 65, 66, 174, 163, 2,
+ 157, 170, 158, 345, 162, 336, 5, 6, 7, 8,
+ 192, 171, 353, 354, 145, 337, 175, 146, 179, 181,
+ 213, 29, 183, 32, 101, 363, 188, 259, 188, 359,
+ -24, -24, -24, 206, 207, 151, 152, 153, 154, 155,
+ 209, -24, 210, 211, 287, 378, 246, 371, 253, 381,
+ 114, 115, 116, 117, 256, 386, 261, 379, 212, 389,
262, 75, 263, 384, 264, 286, 83, 288, 260, 311,
231, 93, 94, 208, 97, 303, 138, 284, 285, 233,
235, 237, 45, 320, 105, 46, 47, 338, 341, 48,
@@ -1003,9 +1000,9 @@ static const yytype_int16 yytable[] =
55, 56, 57, 343, 344, 360, 361, 362, 118, 365,
366, 369, 109, 121, 122, 123, 124, 125, 376, 377,
128, 133, 382, 388, 390, 86, 87, 88, 182, 334,
- 296, 282, 2, 255, 300, 0, 62, 166, 89, 5,
+ 296, 282, 2, 265, 255, 300, 62, 166, 89, 5,
6, 7, 8, 63, 64, 65, 66, 67, 2, 280,
- 281, 188, 184, 265, 295, 5, 6, 7, 8, 68,
+ 281, 188, 184, 295, 0, 5, 6, 7, 8, 68,
69, 283, 0, 0, 0, 70, 294, 0, 71, 194,
131, 0, 0, 175, 29, 29, 179, 0, 0, 0,
0, 29, 188, 0, 0, 0, 0, 0, 0, 214,
@@ -1018,185 +1015,189 @@ static const yytype_int16 yytable[] =
271, 29, 273, 0, 0, 356, 276, 277, 278, 120,
279, 0, 0, 357, 0, 126, 127, 0, 0, 0,
0, 0, 0, 29, 0, 0, 370, 0, 0, 0,
- 0, 0, -65, 1, 0, 167, 372, 0, 0, 289,
+ 0, 0, -4, 1, 0, 167, 372, 0, 0, 289,
290, 0, 0, 29, 292, 293, 0, 29, 0, 0,
- 0, 0, 0, 29, 0, 0, 0, 29, 2, 193,
- 0, -65, 3, 0, 0, 5, 6, 7, 8, 0,
- -65, -65, 9, 10, 11, 12, 13, 0, 0, 0,
- 0, 15, 0, 0, 16, 17, 18, 0, 312, 19,
- 0, 0, 0, 21, 22, 23, 0, 139, 140, 141,
- 142, 321, 0, 0, 145, 232, 0, 146, 147, 148,
- 321, 0, 0, 0, 0, 0, 24, 25, 0, -65,
- -65, -65, 0, 149, 150, 151, 152, 153, 154, 155,
- -65, -4, 1, 0, 0, 0, 350, 351, 0, 0,
- 321, 0, 266, 0, 268, 0, 270, 0, 272, 0,
- 274, 275, 0, 0, 364, 0, 0, 2, 0, 0,
- 368, 3, 4, 0, 5, 6, 7, 8, 0, 375,
- 0, 9, 10, 11, 12, 13, 0, 0, 14, 0,
- 15, 0, 306, 16, 17, 18, 0, 0, 19, 0,
- 0, 20, 21, 22, 23, 0, 139, 140, 141, 142,
- 143, 144, 0, 145, 0, 0, 146, 147, 148, 0,
- 0, 0, 0, 0, 0, 24, 25, 26, 0, 0,
- 0, 0, 149, 150, 151, 152, 153, 154, 155, -4,
- 0, -65, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 317, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 326, 327, 328, 329, 2, 0, 0,
- -65, 3, 0, 0, 5, 6, 7, 8, 0, -65,
- 1, 9, 10, 11, 12, 13, 0, 0, 0, 0,
- 15, 0, 0, 16, 17, 18, 0, 0, 19, 0,
- 0, 0, 21, 22, 23, 2, 0, 0, 0, 3,
- 0, 0, 5, 6, 7, 8, 0, 0, 1, 9,
- 10, 11, 12, 13, 0, 24, 25, 0, 15, 0,
- 0, 16, 17, 18, 0, 0, 19, 0, 0, -65,
- 21, 22, 23, 2, 0, 0, 0, 3, 0, 0,
- 5, 6, 7, 8, 0, -65, -65, 9, 10, 11,
- 12, 13, 0, 24, 25, 0, 15, 0, 0, 16,
- 17, 18, 0, 0, 19, 0, 0, -65, 21, 22,
- 23, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 24, 25, 0, -65, 0, 0, 0, 0, 2,
- 0, 0, 0, 3, 0, -65, 5, 6, 7, 8,
- 0, 0, 1, 9, 10, 11, 12, 13, 0, 0,
+ 0, 0, 0, 29, 0, 0, 2, 29, 0, 193,
+ 3, 4, 0, 5, 6, 7, 8, 0, 0, 0,
+ 9, 10, 11, 12, 13, 0, 0, 14, 0, 15,
+ 0, 0, 16, 17, 18, 0, 0, 19, 312, 0,
+ 20, 21, 22, 23, 0, 0, 0, 0, 0, 0,
+ 0, 321, 0, 0, 0, 232, 0, 0, 0, 0,
+ 321, 0, 0, 0, 24, 25, 26, 0, 0, 0,
+ 0, 0, 0, 0, 0, -65, 1, 0, -4, 0,
+ 0, 0, 0, 0, 0, 0, 350, 351, 0, 0,
+ 321, 0, 266, 0, 268, 0, 270, 0, 272, 2,
+ 274, 275, -65, 3, 364, 0, 5, 6, 7, 8,
+ 368, -65, -65, 9, 10, 11, 12, 13, 0, 375,
0, 0, 15, 0, 0, 16, 17, 18, 0, 0,
19, 0, 0, 0, 21, 22, 23, 2, 0, 0,
0, 3, 0, 0, 5, 6, 7, 8, 0, 0,
- 1, 9, 10, 11, 12, 13, 0, 24, 25, 0,
- 15, 0, -65, 16, 17, 18, 0, 0, 19, 0,
- 0, -65, 21, 22, 23, 2, 0, 0, 0, 3,
- 0, 0, 5, 6, 7, 8, 0, 0, 0, 9,
- 10, 11, 12, 13, 0, 24, 25, 0, 15, -65,
- 0, 16, 17, 18, 0, 0, 19, 0, 0, -65,
- 21, 22, 23, 0, 0, 0, 0, 0, 0, 0,
+ 0, 9, 10, 11, 12, 0, 0, 24, 25, 0,
+ -65, -65, -65, 16, 0, 18, 0, 0, 0, 0,
+ 0, -65, 21, 22, 23, 0, 0, 0, 0, 0,
+ 0, 0, 0, -65, 1, 0, 0, 0, 0, 0,
+ 0, 317, 0, 0, 0, 0, 25, 0, 0, 0,
+ 0, 0, 0, 326, 327, 328, 329, 2, 0, 0,
+ -65, 3, 0, 0, 5, 6, 7, 8, 0, 0,
+ 0, 9, 10, 11, 12, 13, 0, 0, 0, 0,
+ 15, 0, 0, 16, 17, 18, -65, 1, 19, 0,
+ 0, 0, 21, 22, 23, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 24, 25, 0, -65, 0, 0, 0,
- 0, 45, 0, 0, 46, 47, 0, -65, 48, 49,
- 50, 2, 51, 52, 0, 0, 0, 53, 54, 55,
- 56, 57, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 58, 59, 60, 61, 0, 0, 0,
- 45, 0, 0, 46, 47, 0, 0, 48, 49, 50,
- 2, 51, 52, 0, 0, 62, 53, 54, 55, 56,
- 57, 0, 63, 64, 65, 66, 67, 0, 0, 0,
- 0, 0, 58, 0, 60, 0, 0, 0, 68, 69,
- 0, 0, 0, 0, 70, 0, 0, 71, 0, 0,
- 0, 0, 0, 0, 62, 0, 0, 0, 0, 0,
- 0, 63, 64, 65, 66, 67, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 68, 69, 0,
- 0, 45, 0, 70, 46, 47, 71, 82, 48, 49,
- 50, 2, 51, 52, 0, 0, 0, 53, 54, 55,
- 56, 57, 0, 0, 0, 0, 0, 45, 0, 0,
- 46, 47, 0, 0, 48, 49, 50, 2, 51, 52,
- 0, 0, 0, 53, 54, 55, 56, 57, 0, 0,
- 0, 0, 0, 0, 0, 62, 0, 0, 0, 0,
- 0, 0, 63, 64, 65, 66, 67, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 69,
- 0, 62, 0, 0, 70, 0, 0, 71, 63, 64,
- 65, 66, 67, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 69, 0, 0, 45, 0,
- 70, 46, 47, 71, 0, 48, 49, 50, 2, 51,
- 52, 0, 0, 0, 53, 54, 55, 56, 57, 0,
- 0, 0, 0, 0, 45, 0, 0, 46, 47, 0,
- 0, 48, 49, 50, 2, 51, 52, 0, 0, 0,
- 53, 54, 55, 56, 57, 0, 0, 0, 0, 0,
- 0, 0, 62, 0, 0, 0, 0, 0, 0, 63,
- 64, 65, 66, 67, -38, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 68, 69, 0, 62, 0,
- 0, 102, 0, 0, 71, 63, 64, 65, 66, 67,
- 0, 139, 140, 141, 142, 143, 144, 0, 145, 0,
- 0, 146, 147, 148, 0, 0, 0, 0, 0, 0,
- 71, 0, 0, 0, 0, 0, 0, 149, 150, 151,
- 152, 153, 154, 155, 2, 0, 0, 0, 3, 0,
+ 2, 0, 0, 0, 3, 24, 25, 5, 6, 7,
+ 8, 1, 0, 0, 9, 10, 11, 12, 13, -65,
+ 0, 0, 0, 15, 0, 0, 16, 17, 18, 0,
+ 0, 19, 0, 0, 2, 21, 22, 23, 3, 0,
+ 0, 5, 6, 7, 8, 0, -65, -65, 9, 10,
+ 11, 12, 13, 0, 0, 0, 0, 15, 24, 25,
+ 16, 17, 18, 0, 0, 19, 0, 0, 0, 21,
+ 22, 23, -65, 0, 0, 0, 0, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 24, 25, 0, -65, 0, 0, 0, 0,
+ 2, 0, 0, 0, 3, 0, -65, 5, 6, 7,
+ 8, 1, 0, 0, 9, 10, 11, 12, 13, 0,
+ 0, 0, 0, 15, 0, 0, 16, 17, 18, 0,
+ 0, 19, 0, 0, 2, 21, 22, 23, 3, 0,
0, 5, 6, 7, 8, 0, 0, 0, 9, 10,
- 11, 12, 0, 0, 0, 159, 0, 0, 0, 0,
- 16, 0, 18, 0, 0, 0, 0, 0, 0, 21,
- 22, 23, 0, 139, 140, 141, 142, 143, 144, 0,
- 145, 160, 161, 146, 147, 148, 0, 0, 0, 0,
- 58, 0, 60, 25, 0, 0, 0, 0, 0, 149,
- 150, 151, 152, 153, 154, 155, 139, 140, 141, 142,
+ 11, 12, 13, 0, 0, 0, 0, 15, 24, 25,
+ 16, 17, 18, -65, 0, 19, 0, 0, 0, 21,
+ 22, 23, -65, 0, 0, 0, 0, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 24, 25, 0, 0, -65, 0, 0, 0,
+ 2, 0, 0, 0, 3, 0, -65, 5, 6, 7,
+ 8, 0, 0, 0, 9, 10, 11, 12, 13, 0,
+ 0, 0, 0, 15, 0, 0, 16, 17, 18, 0,
+ 0, 19, 0, 0, 0, 21, 22, 23, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 24, 25,
+ 0, -65, 0, 0, 0, 0, 45, 0, 0, 46,
+ 47, 0, -65, 48, 49, 50, 2, 51, 52, 0,
+ 0, 0, 53, 54, 55, 56, 57, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 58, 59,
+ 60, 61, 0, 0, 0, 45, 0, 0, 46, 47,
+ 0, 0, 48, 49, 50, 2, 51, 52, 0, 0,
+ 62, 53, 54, 55, 56, 57, 0, 63, 64, 65,
+ 66, 67, 0, 0, 0, 0, 0, 58, 0, 60,
+ 0, 0, 0, 68, 69, 0, 0, 0, 0, 70,
+ 0, 0, 71, 0, 0, 0, 0, 0, 0, 62,
+ 0, 0, 0, 0, 0, 0, 63, 64, 65, 66,
+ 67, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 68, 69, 0, 0, 45, 0, 70, 46,
+ 47, 71, 82, 48, 49, 50, 2, 51, 52, 0,
+ 0, 0, 53, 54, 55, 56, 57, 0, 0, 0,
+ 0, 0, 45, 0, 0, 46, 47, 0, 0, 48,
+ 49, 50, 2, 51, 52, 0, 0, 0, 53, 54,
+ 55, 56, 57, 0, 0, 0, 0, 0, 0, 0,
+ 62, 0, 0, 0, 0, 0, 0, 63, 64, 65,
+ 66, 67, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 68, 69, 0, 62, 0, 0, 70,
+ 0, 0, 71, 63, 64, 65, 66, 67, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,
+ 69, 0, 0, 45, 0, 70, 46, 47, 71, 0,
+ 48, 49, 50, 2, 51, 52, 0, 0, 0, 53,
+ 54, 55, 56, 57, 0, 0, 0, 0, 0, 45,
+ 0, 0, 46, 47, 0, 0, 48, 49, 50, 2,
+ 51, 52, 0, 0, 0, 53, 54, 55, 56, 57,
+ 0, 0, 0, 0, 0, 0, 0, 62, 0, 0,
+ 0, 0, 0, 0, 63, 64, 65, 66, 67, -38,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 69, 0, 62, 0, 0, 102, 0, 0, 71,
+ 63, 64, 65, 66, 67, 0, 139, 140, 141, 142,
143, 144, 0, 145, 0, 0, 146, 147, 148, 0,
- 0, 0, 0, 0, 0, 195, 0, 0, 0, 0,
- 0, 196, 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, 197, 0,
- 0, 0, 0, 0, 198, 149, 150, 151, 152, 153,
+ 0, 159, 0, 0, 0, 71, 0, 0, 0, 0,
+ 0, 0, 149, 150, 151, 152, 153, 154, 155, 139,
+ 140, 141, 142, 143, 144, 0, 145, 160, 161, 146,
+ 147, 148, 0, 0, 0, 0, 58, 0, 60, 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, 199, 0, 0, 0, 0, 0, 200, 149, 150,
+ 0, 195, 0, 0, 0, 0, 0, 196, 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, 201, 0, 0, 0, 0, 0,
- 202, 149, 150, 151, 152, 153, 154, 155, 139, 140,
+ 0, 0, 0, 0, 197, 0, 0, 0, 0, 0,
+ 198, 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,
+ 148, 0, 0, 0, 0, 0, 0, 199, 0, 0,
+ 0, 0, 0, 200, 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,
+ 201, 0, 0, 0, 0, 0, 202, 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, 309, 0, 0, 0, 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, 0, 0, 0, 0,
- 0, 0, 177, 149, 150, 151, 152, 153, 154, 155,
+ 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, 0, 0, 0, 0,
+ 0, 0, 309, 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, 244, 178, 0, 0, 0, 0, 0, 0,
+ 139, 140, 245, 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, 244, 178, 0, 0, 0, 0, 0,
- 0, 139, 140, 245, 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, 173, 0, 0, 0, 0, 0,
+ 153, 154, 155, 173, 0, 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, 205, 186,
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, 205,
- 186, 139, 140, 141, 142, 143, 144, 0, 145, 0,
- 0, 146, 147, 148, 139, 140, 141, 142, 143, 144,
+ 153, 154, 155, 0, 0, 0, 0, 186, 0, 149,
+ 150, 151, 152, 153, 154, 155, 0, 0, 0, 0,
+ 340, 139, 140, 141, 142, 143, 144, 0, 145, 0,
+ 0, 146, 147, 148, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 149, 150, 151,
+ 152, 153, 154, 155, 0, 0, 0, 205, 139, 140,
+ 141, 142, 143, 144, 0, 145, 0, 0, 146, 147,
+ 148, 0, 0, 0, 0, 0, 203, 204, 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, 186, 0,
- 149, 150, 151, 152, 153, 154, 155, 0, 0, 0,
- 0, 340, 139, 140, 141, 142, 143, 144, 0, 145,
- 0, 0, 146, 147, 148, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
- 151, 152, 153, 154, 155, 0, 0, 0, 205, 139,
- 140, 141, 142, 143, 144, 0, 145, 0, 0, 146,
- 147, 148, 0, 0, 0, 0, 0, 203, 204, 0,
- 0, 0, 0, 0, 0, 149, 150, 151, 152, 153,
- 154, 155, 139, 140, 141, 142, 143, 144, 0, 145,
- 0, 0, 146, 147, 148, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
- 151, 152, 153, 154, 155
+ 152, 153, 154, 155, 0, 0, 0, 0, 0, 0,
+ 149, 150, 151, 152, 153, 154, 155
};
static const yytype_int16 yycheck[] =
{
- 0, 108, 0, 41, 241, 22, 0, 264, 310, 335,
- 98, 56, 71, 261, 53, 56, 367, 71, 18, 19,
- 20, 66, 26, 0, 71, 66, 53, 74, 379, 33,
- 34, 35, 36, 384, 50, 42, 95, 96, 340, 93,
- 94, 95, 96, 56, 44, 92, 93, 94, 95, 96,
- 58, 59, 29, 66, 311, 381, 304, 305, 75, 56,
- 45, 38, 39, 99, 102, 99, 38, 39, 316, 66,
- 104, 71, 320, 77, 78, 79, 80, 94, 85, 26,
- 80, 66, 82, 331, 84, 48, 33, 34, 35, 36,
- 54, 55, 56, 57, 71, 55, 96, 74, 98, 99,
- 138, 101, 102, 101, 98, 353, 106, 103, 108, 346,
- 87, 88, 89, 101, 104, 92, 93, 94, 95, 96,
- 101, 98, 104, 101, 231, 373, 50, 364, 101, 377,
- 99, 100, 101, 101, 100, 383, 55, 374, 138, 387,
- 101, 11, 98, 380, 98, 100, 16, 46, 186, 98,
- 157, 21, 22, 104, 24, 262, 99, 100, 101, 159,
- 160, 161, 16, 98, 34, 19, 20, 89, 100, 23,
- 24, 25, 26, 27, 28, 159, 160, 161, 32, 33,
- 34, 35, 36, 29, 100, 56, 37, 88, 58, 87,
- 101, 56, 192, 63, 64, 65, 66, 67, 87, 55,
- 70, 71, 88, 88, 88, 19, 20, 21, 101, 315,
- 254, 211, 26, 178, 256, -1, 70, 87, 32, 33,
- 34, 35, 36, 77, 78, 79, 80, 81, 26, 27,
- 28, 231, 102, 192, 253, 33, 34, 35, 36, 93,
- 94, 211, -1, -1, -1, 99, 246, -1, 102, 119,
- 104, -1, -1, 253, 254, 255, 256, -1, -1, -1,
+ 0, 108, 0, 41, 241, 22, 264, 310, 0, 335,
+ 97, 367, 43, 261, 96, 102, 69, 51, 18, 19,
+ 20, 51, 24, 379, 69, 0, 69, 72, 384, 31,
+ 32, 33, 34, 64, 97, 42, 48, 340, 91, 92,
+ 93, 94, 56, 57, 44, 90, 91, 92, 93, 94,
+ 93, 94, 27, 311, 53, 381, 304, 305, 75, 54,
+ 54, 36, 37, 46, 102, 97, 98, 99, 316, 64,
+ 64, 71, 320, 75, 76, 77, 78, 94, 85, 24,
+ 80, 54, 82, 331, 84, 54, 31, 32, 33, 34,
+ 99, 64, 36, 37, 69, 64, 96, 72, 98, 99,
+ 138, 101, 102, 101, 96, 353, 106, 98, 108, 346,
+ 85, 86, 87, 102, 102, 90, 91, 92, 93, 94,
+ 101, 96, 99, 99, 231, 373, 48, 364, 99, 377,
+ 54, 55, 56, 57, 99, 383, 53, 374, 138, 387,
+ 99, 11, 96, 380, 96, 98, 16, 44, 186, 96,
+ 157, 21, 22, 102, 24, 262, 97, 98, 99, 159,
+ 160, 161, 14, 96, 34, 17, 18, 87, 98, 21,
+ 22, 23, 24, 25, 26, 159, 160, 161, 30, 31,
+ 32, 33, 34, 27, 98, 54, 35, 86, 58, 85,
+ 99, 54, 192, 63, 64, 65, 66, 67, 85, 53,
+ 70, 71, 86, 86, 86, 17, 18, 19, 101, 315,
+ 254, 211, 24, 192, 178, 256, 68, 87, 30, 31,
+ 32, 33, 34, 75, 76, 77, 78, 79, 24, 25,
+ 26, 231, 102, 253, -1, 31, 32, 33, 34, 91,
+ 92, 211, -1, -1, -1, 97, 246, -1, 100, 119,
+ 102, -1, -1, 253, 254, 255, 256, -1, -1, -1,
-1, 261, 262, -1, -1, -1, -1, -1, -1, 139,
140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
150, 151, 152, 153, 154, 155, -1, -1, -1, 296,
@@ -1209,224 +1210,228 @@ static const yytype_int16 yycheck[] =
-1, -1, -1, 353, -1, -1, 363, -1, -1, -1,
-1, -1, 0, 1, -1, 88, 366, -1, -1, 239,
240, -1, -1, 373, 244, 245, -1, 377, -1, -1,
- -1, -1, -1, 383, -1, -1, -1, 387, 26, 112,
- -1, 29, 30, -1, -1, 33, 34, 35, 36, -1,
- 38, 39, 40, 41, 42, 43, 44, -1, -1, -1,
- -1, 49, -1, -1, 52, 53, 54, -1, 288, 57,
- -1, -1, -1, 61, 62, 63, -1, 64, 65, 66,
- 67, 301, -1, -1, 71, 158, -1, 74, 75, 76,
- 310, -1, -1, -1, -1, -1, 84, 85, -1, 87,
- 88, 89, -1, 90, 91, 92, 93, 94, 95, 96,
- 98, 0, 1, -1, -1, -1, 336, 337, -1, -1,
- 340, -1, 195, -1, 197, -1, 199, -1, 201, -1,
- 203, 204, -1, -1, 354, -1, -1, 26, -1, -1,
- 360, 30, 31, -1, 33, 34, 35, 36, -1, 369,
- -1, 40, 41, 42, 43, 44, -1, -1, 47, -1,
- 49, -1, 50, 52, 53, 54, -1, -1, 57, -1,
- -1, 60, 61, 62, 63, -1, 64, 65, 66, 67,
- 68, 69, -1, 71, -1, -1, 74, 75, 76, -1,
- -1, -1, -1, -1, -1, 84, 85, 86, -1, -1,
- -1, -1, 90, 91, 92, 93, 94, 95, 96, 98,
- -1, 0, 1, -1, -1, -1, -1, -1, -1, -1,
- -1, 294, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 306, 307, 308, 309, 26, -1, -1,
- 29, 30, -1, -1, 33, 34, 35, 36, -1, 0,
- 1, 40, 41, 42, 43, 44, -1, -1, -1, -1,
- 49, -1, -1, 52, 53, 54, -1, -1, 57, -1,
- -1, -1, 61, 62, 63, 26, -1, -1, -1, 30,
- -1, -1, 33, 34, 35, 36, -1, -1, 1, 40,
- 41, 42, 43, 44, -1, 84, 85, -1, 49, -1,
- -1, 52, 53, 54, -1, -1, 57, -1, -1, 98,
- 61, 62, 63, 26, -1, -1, -1, 30, -1, -1,
- 33, 34, 35, 36, -1, 38, 39, 40, 41, 42,
- 43, 44, -1, 84, 85, -1, 49, -1, -1, 52,
- 53, 54, -1, -1, 57, -1, -1, 98, 61, 62,
- 63, -1, -1, -1, 1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 383, -1, -1, 24, 387, -1, 112,
+ 28, 29, -1, 31, 32, 33, 34, -1, -1, -1,
+ 38, 39, 40, 41, 42, -1, -1, 45, -1, 47,
+ -1, -1, 50, 51, 52, -1, -1, 55, 288, -1,
+ 58, 59, 60, 61, -1, -1, -1, -1, -1, -1,
+ -1, 301, -1, -1, -1, 158, -1, -1, -1, -1,
+ 310, -1, -1, -1, 82, 83, 84, -1, -1, -1,
+ -1, -1, -1, -1, -1, 0, 1, -1, 96, -1,
+ -1, -1, -1, -1, -1, -1, 336, 337, -1, -1,
+ 340, -1, 195, -1, 197, -1, 199, -1, 201, 24,
+ 203, 204, 27, 28, 354, -1, 31, 32, 33, 34,
+ 360, 36, 37, 38, 39, 40, 41, 42, -1, 369,
+ -1, -1, 47, -1, -1, 50, 51, 52, -1, -1,
+ 55, -1, -1, -1, 59, 60, 61, 24, -1, -1,
+ -1, 28, -1, -1, 31, 32, 33, 34, -1, -1,
+ -1, 38, 39, 40, 41, -1, -1, 82, 83, -1,
+ 85, 86, 87, 50, -1, 52, -1, -1, -1, -1,
+ -1, 96, 59, 60, 61, -1, -1, -1, -1, -1,
+ -1, -1, -1, 0, 1, -1, -1, -1, -1, -1,
+ -1, 294, -1, -1, -1, -1, 83, -1, -1, -1,
+ -1, -1, -1, 306, 307, 308, 309, 24, -1, -1,
+ 27, 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, 0, 1, 55, -1,
+ -1, -1, 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, 31, 32, 33,
+ 34, 1, -1, -1, 38, 39, 40, 41, 42, 96,
+ -1, -1, -1, 47, -1, -1, 50, 51, 52, -1,
+ -1, 55, -1, -1, 24, 59, 60, 61, 28, -1,
+ -1, 31, 32, 33, 34, -1, 36, 37, 38, 39,
+ 40, 41, 42, -1, -1, -1, -1, 47, 82, 83,
+ 50, 51, 52, -1, -1, 55, -1, -1, -1, 59,
+ 60, 61, 96, -1, -1, -1, -1, 1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 82, 83, -1, 85, -1, -1, -1, -1,
+ 24, -1, -1, -1, 28, -1, 96, 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, -1, 24, 59, 60, 61, 28, -1,
+ -1, 31, 32, 33, 34, -1, -1, -1, 38, 39,
+ 40, 41, 42, -1, -1, -1, -1, 47, 82, 83,
+ 50, 51, 52, 87, -1, 55, -1, -1, -1, 59,
+ 60, 61, 96, -1, -1, -1, -1, 1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 82, 83, -1, -1, 86, -1, -1, -1,
+ 24, -1, -1, -1, 28, -1, 96, 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, -1, -1, 59, 60, 61, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 84, 85, -1, 87, -1, -1, -1, -1, 26,
- -1, -1, -1, 30, -1, 98, 33, 34, 35, 36,
- -1, -1, 1, 40, 41, 42, 43, 44, -1, -1,
- -1, -1, 49, -1, -1, 52, 53, 54, -1, -1,
- 57, -1, -1, -1, 61, 62, 63, 26, -1, -1,
- -1, 30, -1, -1, 33, 34, 35, 36, -1, -1,
- 1, 40, 41, 42, 43, 44, -1, 84, 85, -1,
- 49, -1, 89, 52, 53, 54, -1, -1, 57, -1,
- -1, 98, 61, 62, 63, 26, -1, -1, -1, 30,
- -1, -1, 33, 34, 35, 36, -1, -1, -1, 40,
- 41, 42, 43, 44, -1, 84, 85, -1, 49, 88,
- -1, 52, 53, 54, -1, -1, 57, -1, -1, 98,
- 61, 62, 63, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 82, 83,
+ -1, 85, -1, -1, -1, -1, 14, -1, -1, 17,
+ 18, -1, 96, 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, 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, -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, 35,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 84, 85, -1, 87, -1, -1, -1,
- -1, 16, -1, -1, 19, 20, -1, 98, 23, 24,
- 25, 26, 27, 28, -1, -1, -1, 32, 33, 34,
- 35, 36, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 48, 49, 50, 51, -1, -1, -1,
- 16, -1, -1, 19, 20, -1, -1, 23, 24, 25,
- 26, 27, 28, -1, -1, 70, 32, 33, 34, 35,
- 36, -1, 77, 78, 79, 80, 81, -1, -1, -1,
- -1, -1, 48, -1, 50, -1, -1, -1, 93, 94,
- -1, -1, -1, -1, 99, -1, -1, 102, -1, -1,
- -1, -1, -1, -1, 70, -1, -1, -1, -1, -1,
- -1, 77, 78, 79, 80, 81, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 93, 94, -1,
- -1, 16, -1, 99, 19, 20, 102, 22, 23, 24,
- 25, 26, 27, 28, -1, -1, -1, 32, 33, 34,
- 35, 36, -1, -1, -1, -1, -1, 16, -1, -1,
- 19, 20, -1, -1, 23, 24, 25, 26, 27, 28,
- -1, -1, -1, 32, 33, 34, 35, 36, -1, -1,
- -1, -1, -1, -1, -1, 70, -1, -1, -1, -1,
- -1, -1, 77, 78, 79, 80, 81, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 93, 94,
- -1, 70, -1, -1, 99, -1, -1, 102, 77, 78,
- 79, 80, 81, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 93, 94, -1, -1, 16, -1,
- 99, 19, 20, 102, -1, 23, 24, 25, 26, 27,
- 28, -1, -1, -1, 32, 33, 34, 35, 36, -1,
- -1, -1, -1, -1, 16, -1, -1, 19, 20, -1,
- -1, 23, 24, 25, 26, 27, 28, -1, -1, -1,
- 32, 33, 34, 35, 36, -1, -1, -1, -1, -1,
- -1, -1, 70, -1, -1, -1, -1, -1, -1, 77,
- 78, 79, 80, 81, 37, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 93, 94, -1, 70, -1,
- -1, 99, -1, -1, 102, 77, 78, 79, 80, 81,
- -1, 64, 65, 66, 67, 68, 69, -1, 71, -1,
- -1, 74, 75, 76, -1, -1, -1, -1, -1, -1,
- 102, -1, -1, -1, -1, -1, -1, 90, 91, 92,
- 93, 94, 95, 96, 26, -1, -1, -1, 30, -1,
- -1, 33, 34, 35, 36, -1, -1, -1, 40, 41,
- 42, 43, -1, -1, -1, 46, -1, -1, -1, -1,
- 52, -1, 54, -1, -1, -1, -1, -1, -1, 61,
- 62, 63, -1, 64, 65, 66, 67, 68, 69, -1,
- 71, 72, 73, 74, 75, 76, -1, -1, -1, -1,
- 48, -1, 50, 85, -1, -1, -1, -1, -1, 90,
- 91, 92, 93, 94, 95, 96, 64, 65, 66, 67,
- 68, 69, -1, 71, -1, -1, 74, 75, 76, -1,
- -1, -1, -1, -1, -1, 50, -1, -1, -1, -1,
- -1, 56, 90, 91, 92, 93, 94, 95, 96, 64,
- 65, 66, 67, 68, 69, -1, 71, -1, -1, 74,
- 75, 76, -1, -1, -1, -1, -1, -1, 50, -1,
- -1, -1, -1, -1, 56, 90, 91, 92, 93, 94,
- 95, 96, 64, 65, 66, 67, 68, 69, -1, 71,
- -1, -1, 74, 75, 76, -1, -1, -1, -1, -1,
- -1, 50, -1, -1, -1, -1, -1, 56, 90, 91,
- 92, 93, 94, 95, 96, 64, 65, 66, 67, 68,
- 69, -1, 71, -1, -1, 74, 75, 76, -1, -1,
- -1, -1, -1, -1, 50, -1, -1, -1, -1, -1,
- 56, 90, 91, 92, 93, 94, 95, 96, 64, 65,
- 66, 67, 68, 69, -1, 71, -1, -1, 74, 75,
- 76, -1, -1, -1, -1, -1, -1, 50, -1, -1,
- -1, -1, -1, -1, 90, 91, 92, 93, 94, 95,
- 96, 64, 65, 66, 67, 68, 69, -1, 71, -1,
- -1, 74, 75, 76, -1, -1, -1, -1, -1, -1,
- 50, -1, -1, -1, -1, -1, -1, 90, 91, 92,
- 93, 94, 95, 96, 64, 65, 66, 67, 68, 69,
- -1, 71, -1, -1, 74, 75, 76, -1, -1, -1,
- -1, -1, -1, 50, -1, -1, -1, -1, -1, -1,
- 90, 91, 92, 93, 94, 95, 96, 64, 65, 66,
- 67, 68, 69, -1, 71, -1, -1, 74, 75, 76,
+ 91, 92, -1, 68, -1, -1, 97, -1, -1, 100,
+ 75, 76, 77, 78, 79, -1, 62, 63, 64, 65,
+ 66, 67, -1, 69, -1, -1, 72, 73, 74, -1,
+ -1, 44, -1, -1, -1, 100, -1, -1, -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, -1, 56, 90, 91, 92, 93, 94, 95, 96,
- 64, 65, 66, 67, 68, 69, -1, 71, -1, -1,
- 74, 75, 76, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 90, 91, 92, 93,
- 94, 95, 96, 56, 98, -1, -1, -1, -1, -1,
- -1, 64, 65, 66, 67, 68, 69, -1, 71, -1,
- -1, 74, 75, 76, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 90, 91, 92,
- 93, 94, 95, 96, 58, -1, -1, -1, -1, -1,
- 64, 65, 66, 67, 68, 69, -1, 71, -1, -1,
- 74, 75, 76, 64, 65, 66, 67, 68, 69, -1,
- 71, -1, -1, 74, 75, 76, 90, 91, 92, 93,
- 94, 95, 96, -1, -1, -1, -1, -1, -1, 90,
- 91, 92, 93, 94, 95, 96, -1, -1, -1, 100,
- 101, 64, 65, 66, 67, 68, 69, -1, 71, -1,
- -1, 74, 75, 76, 64, 65, 66, 67, 68, 69,
- -1, 71, -1, -1, 74, 75, 76, 90, 91, 92,
- 93, 94, 95, 96, -1, -1, -1, -1, 101, -1,
- 90, 91, 92, 93, 94, 95, 96, -1, -1, -1,
- -1, 101, 64, 65, 66, 67, 68, 69, -1, 71,
- -1, -1, 74, 75, 76, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 90, 91,
- 92, 93, 94, 95, 96, -1, -1, -1, 100, 64,
- 65, 66, 67, 68, 69, -1, 71, -1, -1, 74,
- 75, 76, -1, -1, -1, -1, -1, 82, 83, -1,
- -1, -1, -1, -1, -1, 90, 91, 92, 93, 94,
- 95, 96, 64, 65, 66, 67, 68, 69, -1, 71,
- -1, -1, 74, 75, 76, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 90, 91,
- 92, 93, 94, 95, 96
+ -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, 54, 96, -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, 56, -1, -1, -1, -1, -1, 62,
+ 63, 64, 65, 66, 67, -1, 69, -1, -1, 72,
+ 73, 74, 62, 63, 64, 65, 66, 67, -1, 69,
+ -1, -1, 72, 73, 74, 88, 89, 90, 91, 92,
+ 93, 94, -1, -1, -1, -1, -1, -1, 88, 89,
+ 90, 91, 92, 93, 94, -1, -1, -1, 98, 99,
+ 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, 99, -1, 88,
+ 89, 90, 91, 92, 93, 94, -1, -1, -1, -1,
+ 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, -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, 1, 26, 30, 31, 33, 34, 35, 36, 40,
- 41, 42, 43, 44, 47, 49, 52, 53, 54, 57,
- 60, 61, 62, 63, 84, 85, 86, 106, 107, 108,
- 109, 110, 111, 123, 129, 139, 147, 149, 151, 154,
- 98, 150, 153, 53, 140, 16, 19, 20, 23, 24,
- 25, 27, 28, 32, 33, 34, 35, 36, 48, 49,
- 50, 51, 70, 77, 78, 79, 80, 81, 93, 94,
- 99, 102, 108, 133, 135, 136, 137, 138, 148, 162,
- 152, 53, 22, 136, 58, 59, 19, 20, 21, 32,
- 108, 108, 108, 136, 136, 148, 142, 136, 141, 155,
- 0, 98, 99, 136, 160, 136, 130, 160, 130, 108,
- 144, 135, 50, 135, 133, 133, 133, 133, 136, 48,
- 135, 136, 136, 136, 136, 136, 135, 135, 136, 27,
- 28, 104, 108, 136, 163, 164, 165, 166, 99, 64,
- 65, 66, 67, 68, 69, 71, 74, 75, 76, 90,
- 91, 92, 93, 94, 95, 96, 148, 108, 108, 46,
- 72, 73, 108, 130, 56, 66, 136, 135, 56, 66,
- 56, 66, 55, 58, 148, 108, 146, 56, 98, 108,
- 145, 108, 107, 108, 136, 160, 101, 126, 108, 156,
- 157, 157, 101, 135, 136, 50, 56, 50, 56, 50,
- 56, 50, 56, 82, 83, 100, 104, 104, 104, 103,
- 101, 101, 108, 160, 136, 136, 136, 136, 136, 136,
- 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
- 136, 130, 135, 108, 137, 108, 137, 108, 137, 45,
- 66, 136, 136, 136, 56, 66, 50, 136, 136, 136,
- 136, 136, 136, 101, 122, 122, 101, 100, 101, 100,
- 160, 55, 101, 98, 98, 144, 135, 136, 135, 136,
- 135, 136, 135, 136, 135, 135, 136, 136, 136, 136,
- 27, 28, 108, 166, 100, 101, 100, 157, 46, 136,
- 136, 126, 136, 136, 108, 146, 110, 111, 131, 132,
- 145, 143, 131, 157, 159, 159, 50, 50, 50, 50,
- 134, 98, 136, 118, 112, 115, 121, 135, 130, 130,
- 98, 136, 161, 127, 131, 131, 135, 135, 135, 135,
- 161, 159, 130, 128, 128, 131, 56, 66, 89, 131,
- 101, 100, 124, 29, 100, 131, 119, 113, 116, 127,
- 136, 136, 161, 38, 39, 125, 130, 108, 158, 126,
- 56, 37, 88, 131, 136, 87, 101, 120, 136, 56,
- 130, 126, 108, 121, 114, 136, 87, 55, 131, 126,
- 117, 131, 88, 121, 126, 127, 131, 121, 88, 131,
- 88
+ 0, 1, 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,
+ 96, 148, 151, 51, 138, 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, 160,
+ 150, 51, 20, 134, 56, 57, 17, 18, 19, 30,
+ 106, 106, 106, 134, 134, 146, 140, 134, 139, 153,
+ 0, 96, 97, 134, 158, 134, 128, 158, 128, 106,
+ 142, 133, 48, 133, 131, 131, 131, 131, 134, 46,
+ 133, 134, 134, 134, 134, 134, 133, 133, 134, 25,
+ 26, 102, 106, 134, 161, 162, 163, 164, 97, 62,
+ 63, 64, 65, 66, 67, 69, 72, 73, 74, 88,
+ 89, 90, 91, 92, 93, 94, 146, 106, 106, 44,
+ 70, 71, 106, 128, 54, 64, 134, 133, 54, 64,
+ 54, 64, 53, 56, 146, 106, 144, 54, 96, 106,
+ 143, 106, 105, 106, 134, 158, 99, 124, 106, 154,
+ 155, 155, 99, 133, 134, 48, 54, 48, 54, 48,
+ 54, 48, 54, 80, 81, 98, 102, 102, 102, 101,
+ 99, 99, 106, 158, 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,
+ 158, 53, 99, 96, 96, 142, 133, 134, 133, 134,
+ 133, 134, 133, 134, 133, 133, 134, 134, 134, 134,
+ 25, 26, 106, 164, 98, 99, 98, 155, 44, 134,
+ 134, 124, 134, 134, 106, 144, 108, 109, 129, 130,
+ 143, 141, 129, 155, 157, 157, 48, 48, 48, 48,
+ 132, 96, 134, 116, 110, 113, 119, 133, 128, 128,
+ 96, 134, 159, 125, 129, 129, 133, 133, 133, 133,
+ 159, 157, 128, 126, 126, 129, 54, 64, 87, 129,
+ 99, 98, 122, 27, 98, 129, 117, 111, 114, 125,
+ 134, 134, 159, 36, 37, 123, 128, 106, 156, 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, 105, 106, 106, 107, 107, 107, 108, 108, 108,
- 108, 108, 109, 109, 109, 109, 109, 109, 109, 109,
- 109, 109, 109, 109, 109, 109, 109, 109, 109, 110,
- 110, 111, 111, 111, 112, 113, 114, 111, 115, 116,
- 117, 111, 118, 119, 120, 111, 111, 111, 111, 111,
- 111, 121, 122, 123, 123, 124, 124, 125, 126, 127,
- 128, 129, 130, 131, 131, 132, 132, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 134, 133, 133, 133, 135, 135,
- 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
- 136, 136, 136, 136, 136, 136, 136, 136, 137, 137,
- 137, 137, 137, 137, 137, 137, 137, 137, 138, 138,
- 138, 139, 139, 139, 139, 139, 140, 139, 141, 139,
- 142, 139, 139, 139, 139, 143, 139, 139, 139, 144,
- 144, 144, 145, 145, 145, 146, 146, 146, 147, 147,
- 147, 147, 147, 147, 148, 148, 149, 149, 149, 150,
- 149, 152, 151, 151, 153, 151, 151, 151, 155, 154,
- 156, 157, 157, 157, 158, 158, 158, 159, 160, 160,
- 160, 161, 161, 161, 162, 163, 163, 163, 163, 164,
- 164, 165, 165, 166, 166, 166
+ 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,
+ 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, 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, 135, 136, 136,
+ 136, 137, 137, 137, 137, 137, 138, 137, 139, 137,
+ 140, 137, 137, 137, 137, 141, 137, 137, 137, 142,
+ 142, 142, 143, 143, 143, 144, 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, 155, 155, 155, 156, 156, 156, 157, 158, 158,
+ 158, 159, 159, 159, 160, 161, 161, 161, 161, 162,
+ 162, 163, 163, 164, 164, 164
};
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
@@ -1725,61 +1730,61 @@ yydestruct (const char *yymsg,
case YYSYMBOL_THEFUNC: /* THEFUNC */
#line 231 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1729 "engines/director/lingo/lingo-gr.cpp"
+#line 1734 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_THEFUNCINOF: /* THEFUNCINOF */
#line 231 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1735 "engines/director/lingo/lingo-gr.cpp"
+#line 1740 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_VARID: /* VARID */
#line 231 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1741 "engines/director/lingo/lingo-gr.cpp"
+#line 1746 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_STRING: /* STRING */
#line 231 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1747 "engines/director/lingo/lingo-gr.cpp"
+#line 1752 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_SYMBOL: /* SYMBOL */
#line 231 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1753 "engines/director/lingo/lingo-gr.cpp"
+#line 1758 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_ENDCLAUSE: /* ENDCLAUSE */
#line 231 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1759 "engines/director/lingo/lingo-gr.cpp"
+#line 1764 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_tPLAYACCEL: /* tPLAYACCEL */
#line 231 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1765 "engines/director/lingo/lingo-gr.cpp"
+#line 1770 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_tMETHOD: /* tMETHOD */
#line 231 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1771 "engines/director/lingo/lingo-gr.cpp"
+#line 1776 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_ID: /* ID */
#line 231 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1777 "engines/director/lingo/lingo-gr.cpp"
+#line 1782 "engines/director/lingo/lingo-gr.cpp"
break;
case YYSYMBOL_on: /* on */
#line 231 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1783 "engines/director/lingo/lingo-gr.cpp"
+#line 1788 "engines/director/lingo/lingo-gr.cpp"
break;
default:
@@ -2047,25 +2052,25 @@ yyreduce:
case 8: /* ID: tCAST */
#line 243 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("cast"); }
-#line 2051 "engines/director/lingo/lingo-gr.cpp"
+#line 2056 "engines/director/lingo/lingo-gr.cpp"
break;
case 9: /* ID: tFIELD */
#line 244 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("field"); }
-#line 2057 "engines/director/lingo/lingo-gr.cpp"
+#line 2062 "engines/director/lingo/lingo-gr.cpp"
break;
case 10: /* ID: tSCRIPT */
#line 245 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("script"); }
-#line 2063 "engines/director/lingo/lingo-gr.cpp"
+#line 2068 "engines/director/lingo/lingo-gr.cpp"
break;
case 11: /* ID: tWINDOW */
#line 246 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = new Common::String("window"); }
-#line 2069 "engines/director/lingo/lingo-gr.cpp"
+#line 2074 "engines/director/lingo/lingo-gr.cpp"
break;
case 12: /* asgn: tPUT expr tINTO ID */
@@ -2077,7 +2082,7 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[-2].code);
delete (yyvsp[0].s); }
-#line 2081 "engines/director/lingo/lingo-gr.cpp"
+#line 2086 "engines/director/lingo/lingo-gr.cpp"
break;
case 13: /* asgn: tPUT expr tINTO chunkexpr */
@@ -2085,7 +2090,7 @@ yyreduce:
{
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[-2].code); }
-#line 2089 "engines/director/lingo/lingo-gr.cpp"
+#line 2094 "engines/director/lingo/lingo-gr.cpp"
break;
case 14: /* asgn: tPUT THEMENUITEMSENTITY ID simpleexpr tINTO expr */
@@ -2101,7 +2106,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-4].e)[1]);
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[0].code); }
-#line 2105 "engines/director/lingo/lingo-gr.cpp"
+#line 2110 "engines/director/lingo/lingo-gr.cpp"
break;
case 15: /* asgn: tPUT expr tAFTER ID */
@@ -2113,7 +2118,7 @@ yyreduce:
g_lingo->code1(LC::c_putafter);
(yyval.code) = (yyvsp[-2].code);
delete (yyvsp[0].s); }
-#line 2117 "engines/director/lingo/lingo-gr.cpp"
+#line 2122 "engines/director/lingo/lingo-gr.cpp"
break;
case 16: /* asgn: tPUT expr tAFTER chunkexpr */
@@ -2121,7 +2126,7 @@ yyreduce:
{
g_lingo->code1(LC::c_putafter);
(yyval.code) = (yyvsp[-2].code); }
-#line 2125 "engines/director/lingo/lingo-gr.cpp"
+#line 2130 "engines/director/lingo/lingo-gr.cpp"
break;
case 17: /* asgn: tPUT expr tBEFORE ID */
@@ -2133,7 +2138,7 @@ yyreduce:
g_lingo->code1(LC::c_putbefore);
(yyval.code) = (yyvsp[-2].code);
delete (yyvsp[0].s); }
-#line 2137 "engines/director/lingo/lingo-gr.cpp"
+#line 2142 "engines/director/lingo/lingo-gr.cpp"
break;
case 18: /* asgn: tPUT expr tBEFORE chunkexpr */
@@ -2141,7 +2146,7 @@ yyreduce:
{
g_lingo->code1(LC::c_putbefore);
(yyval.code) = (yyvsp[-2].code); }
-#line 2145 "engines/director/lingo/lingo-gr.cpp"
+#line 2150 "engines/director/lingo/lingo-gr.cpp"
break;
case 19: /* asgn: tSET ID tEQ expr */
@@ -2153,7 +2158,7 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[0].code);
delete (yyvsp[-2].s); }
-#line 2157 "engines/director/lingo/lingo-gr.cpp"
+#line 2162 "engines/director/lingo/lingo-gr.cpp"
break;
case 20: /* asgn: tSET THEENTITY tEQ expr */
@@ -2165,7 +2170,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-2].e)[0]);
g_lingo->codeInt((yyvsp[-2].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2169 "engines/director/lingo/lingo-gr.cpp"
+#line 2174 "engines/director/lingo/lingo-gr.cpp"
break;
case 21: /* asgn: tSET ID tTO expr */
@@ -2177,7 +2182,7 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[0].code);
delete (yyvsp[-2].s); }
-#line 2181 "engines/director/lingo/lingo-gr.cpp"
+#line 2186 "engines/director/lingo/lingo-gr.cpp"
break;
case 22: /* asgn: tSET THEENTITY tTO expr */
@@ -2189,7 +2194,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-2].e)[0]);
g_lingo->codeInt((yyvsp[-2].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2193 "engines/director/lingo/lingo-gr.cpp"
+#line 2198 "engines/director/lingo/lingo-gr.cpp"
break;
case 23: /* asgn: tSET THEENTITYWITHID expr tTO expr */
@@ -2200,7 +2205,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-3].e)[0]);
g_lingo->codeInt((yyvsp[-3].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2204 "engines/director/lingo/lingo-gr.cpp"
+#line 2209 "engines/director/lingo/lingo-gr.cpp"
break;
case 24: /* asgn: tSET THEENTITYWITHID expr tEQ expr */
@@ -2211,7 +2216,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-3].e)[0]);
g_lingo->codeInt((yyvsp[-3].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2215 "engines/director/lingo/lingo-gr.cpp"
+#line 2220 "engines/director/lingo/lingo-gr.cpp"
break;
case 25: /* asgn: tSET THEMENUITEMENTITY simpleexpr tOF ID simpleexpr tTO expr */
@@ -2227,7 +2232,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-6].e)[0]);
g_lingo->codeInt((yyvsp[-6].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2231 "engines/director/lingo/lingo-gr.cpp"
+#line 2236 "engines/director/lingo/lingo-gr.cpp"
break;
case 26: /* asgn: tSET THEMENUITEMENTITY simpleexpr tOF ID simpleexpr tEQ expr */
@@ -2243,7 +2248,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-6].e)[0]);
g_lingo->codeInt((yyvsp[-6].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2247 "engines/director/lingo/lingo-gr.cpp"
+#line 2252 "engines/director/lingo/lingo-gr.cpp"
break;
case 27: /* asgn: tSET THEOBJECTPROP tTO expr */
@@ -2255,7 +2260,7 @@ yyreduce:
delete (yyvsp[-2].objectprop).obj;
delete (yyvsp[-2].objectprop).prop;
(yyval.code) = (yyvsp[0].code); }
-#line 2259 "engines/director/lingo/lingo-gr.cpp"
+#line 2264 "engines/director/lingo/lingo-gr.cpp"
break;
case 28: /* asgn: tSET THEOBJECTPROP tEQ expr */
@@ -2267,7 +2272,7 @@ yyreduce:
delete (yyvsp[-2].objectprop).obj;
delete (yyvsp[-2].objectprop).prop;
(yyval.code) = (yyvsp[0].code); }
-#line 2271 "engines/director/lingo/lingo-gr.cpp"
+#line 2276 "engines/director/lingo/lingo-gr.cpp"
break;
case 33: /* stmt: tREPEAT tWHILE lbl expr jumpifz startrepeat stmtlist jump tENDREPEAT */
@@ -2279,7 +2284,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 2283 "engines/director/lingo/lingo-gr.cpp"
+#line 2288 "engines/director/lingo/lingo-gr.cpp"
break;
case 34: /* $@1: %empty */
@@ -2287,20 +2292,20 @@ yyreduce:
{ g_lingo->code1(LC::c_varpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
mVar((yyvsp[-2].s), globalCheck()); }
-#line 2291 "engines/director/lingo/lingo-gr.cpp"
+#line 2296 "engines/director/lingo/lingo-gr.cpp"
break;
case 35: /* $@2: %empty */
#line 394 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_eval);
g_lingo->codeString((yyvsp[-4].s)->c_str()); }
-#line 2298 "engines/director/lingo/lingo-gr.cpp"
+#line 2303 "engines/director/lingo/lingo-gr.cpp"
break;
case 36: /* $@3: %empty */
#line 397 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_le); }
-#line 2304 "engines/director/lingo/lingo-gr.cpp"
+#line 2309 "engines/director/lingo/lingo-gr.cpp"
break;
case 37: /* stmt: tREPEAT tWITH ID tEQ expr $@1 varassign $@2 tTO expr $@3 jumpifz startrepeat stmtlist tENDREPEAT */
@@ -2325,7 +2330,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 2329 "engines/director/lingo/lingo-gr.cpp"
+#line 2334 "engines/director/lingo/lingo-gr.cpp"
break;
case 38: /* $@4: %empty */
@@ -2333,20 +2338,20 @@ yyreduce:
{ 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 2342 "engines/director/lingo/lingo-gr.cpp"
break;
case 39: /* $@5: %empty */
#line 428 "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 2349 "engines/director/lingo/lingo-gr.cpp"
break;
case 40: /* $@6: %empty */
#line 431 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ge); }
-#line 2350 "engines/director/lingo/lingo-gr.cpp"
+#line 2355 "engines/director/lingo/lingo-gr.cpp"
break;
case 41: /* stmt: tREPEAT tWITH ID tEQ expr $@4 varassign $@5 tDOWN tTO expr $@6 jumpifz startrepeat stmtlist tENDREPEAT */
@@ -2371,7 +2376,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 2375 "engines/director/lingo/lingo-gr.cpp"
+#line 2380 "engines/director/lingo/lingo-gr.cpp"
break;
case 42: /* $@7: %empty */
@@ -2382,7 +2387,7 @@ yyreduce:
g_lingo->codeFunc(&count, 1);
g_lingo->code1(LC::c_intpush); // start counter
g_lingo->codeInt(1); }
-#line 2386 "engines/director/lingo/lingo-gr.cpp"
+#line 2391 "engines/director/lingo/lingo-gr.cpp"
break;
case 43: /* $@8: %empty */
@@ -2392,7 +2397,7 @@ yyreduce:
g_lingo->code1(LC::c_stackpeek); // get array size
g_lingo->codeInt(2);
g_lingo->code1(LC::c_le); }
-#line 2396 "engines/director/lingo/lingo-gr.cpp"
+#line 2401 "engines/director/lingo/lingo-gr.cpp"
break;
case 44: /* $@9: %empty */
@@ -2407,7 +2412,7 @@ yyreduce:
g_lingo->codeString((yyvsp[-6].s)->c_str());
mVar((yyvsp[-6].s), globalCheck());
g_lingo->code1(LC::c_assign); }
-#line 2411 "engines/director/lingo/lingo-gr.cpp"
+#line 2416 "engines/director/lingo/lingo-gr.cpp"
break;
case 45: /* stmt: tREPEAT tWITH ID tIN expr $@7 lbl $@8 jumpifz $@9 startrepeat stmtlist tENDREPEAT */
@@ -2431,7 +2436,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 2435 "engines/director/lingo/lingo-gr.cpp"
+#line 2440 "engines/director/lingo/lingo-gr.cpp"
break;
case 46: /* stmt: tNEXT tREPEAT */
@@ -2444,7 +2449,7 @@ yyreduce:
} else {
warning("# LINGO: next repeat not inside repeat block");
} }
-#line 2448 "engines/director/lingo/lingo-gr.cpp"
+#line 2453 "engines/director/lingo/lingo-gr.cpp"
break;
case 47: /* stmt: tWHEN ID tTHEN expr */
@@ -2452,37 +2457,37 @@ yyreduce:
{
g_lingo->code1(LC::c_whencode);
g_lingo->codeString((yyvsp[-2].s)->c_str()); }
-#line 2456 "engines/director/lingo/lingo-gr.cpp"
+#line 2461 "engines/director/lingo/lingo-gr.cpp"
break;
case 48: /* stmt: tTELL expr '\n' tellstart stmtlist lbl tENDTELL */
#line 512 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_telldone); }
-#line 2462 "engines/director/lingo/lingo-gr.cpp"
+#line 2467 "engines/director/lingo/lingo-gr.cpp"
break;
case 49: /* stmt: tTELL expr tTO tellstart stmtoneliner lbl */
#line 513 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_telldone); }
-#line 2468 "engines/director/lingo/lingo-gr.cpp"
+#line 2473 "engines/director/lingo/lingo-gr.cpp"
break;
case 50: /* stmt: error '\n' */
#line 514 "engines/director/lingo/lingo-gr.y"
{ yyerrok; }
-#line 2474 "engines/director/lingo/lingo-gr.cpp"
+#line 2479 "engines/director/lingo/lingo-gr.cpp"
break;
case 51: /* startrepeat: %empty */
#line 516 "engines/director/lingo/lingo-gr.y"
{ startRepeat(); }
-#line 2480 "engines/director/lingo/lingo-gr.cpp"
+#line 2485 "engines/director/lingo/lingo-gr.cpp"
break;
case 52: /* tellstart: %empty */
#line 518 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_tell); }
-#line 2486 "engines/director/lingo/lingo-gr.cpp"
+#line 2491 "engines/director/lingo/lingo-gr.cpp"
break;
case 53: /* ifstmt: if expr jumpifz tTHEN stmtlist jump elseifstmtlist lbl tENDIF */
@@ -2494,7 +2499,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 2498 "engines/director/lingo/lingo-gr.cpp"
+#line 2503 "engines/director/lingo/lingo-gr.cpp"
break;
case 54: /* ifstmt: if expr jumpifz tTHEN stmtlist jump elseifstmtlist tELSE stmtlist lbl tENDIF */
@@ -2506,7 +2511,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 2510 "engines/director/lingo/lingo-gr.cpp"
+#line 2515 "engines/director/lingo/lingo-gr.cpp"
break;
case 57: /* elseifstmt: tELSIF expr jumpifz tTHEN stmtlist jump */
@@ -2516,7 +2521,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 2520 "engines/director/lingo/lingo-gr.cpp"
+#line 2525 "engines/director/lingo/lingo-gr.cpp"
break;
case 58: /* jumpifz: %empty */
@@ -2524,7 +2529,7 @@ yyreduce:
{
g_lingo->code2(LC::c_jumpifz, 0);
(yyval.code) = g_lingo->_currentAssembly->size() - 1; }
-#line 2528 "engines/director/lingo/lingo-gr.cpp"
+#line 2533 "engines/director/lingo/lingo-gr.cpp"
break;
case 59: /* jump: %empty */
@@ -2532,7 +2537,7 @@ yyreduce:
{
g_lingo->code2(LC::c_jump, 0);
(yyval.code) = g_lingo->_currentAssembly->size() - 1; }
-#line 2536 "engines/director/lingo/lingo-gr.cpp"
+#line 2541 "engines/director/lingo/lingo-gr.cpp"
break;
case 60: /* varassign: %empty */
@@ -2540,20 +2545,20 @@ yyreduce:
{
g_lingo->code1(LC::c_assign);
(yyval.code) = g_lingo->_currentAssembly->size() - 1; }
-#line 2544 "engines/director/lingo/lingo-gr.cpp"
+#line 2549 "engines/director/lingo/lingo-gr.cpp"
break;
case 61: /* if: tIF */
#line 556 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeLabel(0); }
-#line 2551 "engines/director/lingo/lingo-gr.cpp"
+#line 2556 "engines/director/lingo/lingo-gr.cpp"
break;
case 62: /* lbl: %empty */
#line 559 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->_currentAssembly->size(); }
-#line 2557 "engines/director/lingo/lingo-gr.cpp"
+#line 2562 "engines/director/lingo/lingo-gr.cpp"
break;
case 67: /* simpleexprnoparens: INT */
@@ -2561,7 +2566,7 @@ yyreduce:
{
(yyval.code) = g_lingo->code1(LC::c_intpush);
g_lingo->codeInt((yyvsp[0].i)); }
-#line 2565 "engines/director/lingo/lingo-gr.cpp"
+#line 2570 "engines/director/lingo/lingo-gr.cpp"
break;
case 68: /* simpleexprnoparens: FLOAT */
@@ -2569,7 +2574,7 @@ yyreduce:
{
(yyval.code) = g_lingo->code1(LC::c_floatpush);
g_lingo->codeFloat((yyvsp[0].f)); }
-#line 2573 "engines/director/lingo/lingo-gr.cpp"
+#line 2578 "engines/director/lingo/lingo-gr.cpp"
break;
case 69: /* simpleexprnoparens: SYMBOL */
@@ -2578,7 +2583,7 @@ yyreduce:
(yyval.code) = g_lingo->code1(LC::c_symbolpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2582 "engines/director/lingo/lingo-gr.cpp"
+#line 2587 "engines/director/lingo/lingo-gr.cpp"
break;
case 70: /* simpleexprnoparens: STRING */
@@ -2587,25 +2592,25 @@ yyreduce:
(yyval.code) = g_lingo->code1(LC::c_stringpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2591 "engines/director/lingo/lingo-gr.cpp"
+#line 2596 "engines/director/lingo/lingo-gr.cpp"
break;
case 71: /* simpleexprnoparens: '+' simpleexpr */
#line 581 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); }
-#line 2597 "engines/director/lingo/lingo-gr.cpp"
+#line 2602 "engines/director/lingo/lingo-gr.cpp"
break;
case 72: /* simpleexprnoparens: '-' simpleexpr */
#line 582 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); g_lingo->code1(LC::c_negate); }
-#line 2603 "engines/director/lingo/lingo-gr.cpp"
+#line 2608 "engines/director/lingo/lingo-gr.cpp"
break;
case 73: /* simpleexprnoparens: tNOT simpleexpr */
#line 583 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_not); }
-#line 2609 "engines/director/lingo/lingo-gr.cpp"
+#line 2614 "engines/director/lingo/lingo-gr.cpp"
break;
case 75: /* simpleexprnoparens: THEENTITY */
@@ -2618,7 +2623,7 @@ yyreduce:
WRITE_UINT32(&e, (yyvsp[0].e)[0]);
WRITE_UINT32(&f, (yyvsp[0].e)[1]);
g_lingo->code2(e, f); }
-#line 2622 "engines/director/lingo/lingo-gr.cpp"
+#line 2627 "engines/director/lingo/lingo-gr.cpp"
break;
case 76: /* simpleexprnoparens: THEENTITYWITHID simpleexpr */
@@ -2629,7 +2634,7 @@ yyreduce:
WRITE_UINT32(&e, (yyvsp[-1].e)[0]);
WRITE_UINT32(&f, (yyvsp[-1].e)[1]);
g_lingo->code2(e, f); }
-#line 2633 "engines/director/lingo/lingo-gr.cpp"
+#line 2638 "engines/director/lingo/lingo-gr.cpp"
break;
case 77: /* simpleexprnoparens: THEFUNCINOF simpleexpr */
@@ -2637,7 +2642,7 @@ yyreduce:
{
(yyval.code) = g_lingo->codeFunc((yyvsp[-1].s), 1);
delete (yyvsp[-1].s); }
-#line 2641 "engines/director/lingo/lingo-gr.cpp"
+#line 2646 "engines/director/lingo/lingo-gr.cpp"
break;
case 78: /* simpleexprnoparens: THEFUNC tOF simpleexpr */
@@ -2645,7 +2650,7 @@ yyreduce:
{
(yyval.code) = g_lingo->codeFunc((yyvsp[-2].s), 1);
delete (yyvsp[-2].s); }
-#line 2649 "engines/director/lingo/lingo-gr.cpp"
+#line 2654 "engines/director/lingo/lingo-gr.cpp"
break;
case 79: /* simpleexprnoparens: THEOBJECTPROP */
@@ -2656,19 +2661,19 @@ yyreduce:
g_lingo->codeString((yyvsp[0].objectprop).prop->c_str());
delete (yyvsp[0].objectprop).obj;
delete (yyvsp[0].objectprop).prop; }
-#line 2660 "engines/director/lingo/lingo-gr.cpp"
+#line 2665 "engines/director/lingo/lingo-gr.cpp"
break;
case 80: /* simpleexprnoparens: tSPRITE expr tINTERSECTS simpleexpr */
#line 611 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_intersects); }
-#line 2666 "engines/director/lingo/lingo-gr.cpp"
+#line 2671 "engines/director/lingo/lingo-gr.cpp"
break;
case 81: /* simpleexprnoparens: tSPRITE expr tWITHIN simpleexpr */
#line 612 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_within); }
-#line 2672 "engines/director/lingo/lingo-gr.cpp"
+#line 2677 "engines/director/lingo/lingo-gr.cpp"
break;
case 83: /* simpleexprnoparens: ID '(' ID ')' */
@@ -2679,13 +2684,13 @@ yyreduce:
g_lingo->codeFunc((yyvsp[-3].s), 1);
delete (yyvsp[-3].s);
delete (yyvsp[-1].s); }
-#line 2683 "engines/director/lingo/lingo-gr.cpp"
+#line 2688 "engines/director/lingo/lingo-gr.cpp"
break;
case 84: /* $@10: %empty */
#line 620 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lazyeval); g_lingo->codeString((yyvsp[-1].s)->c_str()); }
-#line 2689 "engines/director/lingo/lingo-gr.cpp"
+#line 2694 "engines/director/lingo/lingo-gr.cpp"
break;
case 85: /* simpleexprnoparens: ID '(' ID ',' $@10 nonemptyarglist ')' */
@@ -2694,7 +2699,7 @@ yyreduce:
g_lingo->codeFunc((yyvsp[-6].s), (yyvsp[-1].narg) + 1);
delete (yyvsp[-6].s);
delete (yyvsp[-4].s); }
-#line 2698 "engines/director/lingo/lingo-gr.cpp"
+#line 2703 "engines/director/lingo/lingo-gr.cpp"
break;
case 86: /* simpleexprnoparens: ID '(' arglist ')' */
@@ -2702,7 +2707,7 @@ yyreduce:
{
(yyval.code) = g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 2706 "engines/director/lingo/lingo-gr.cpp"
+#line 2711 "engines/director/lingo/lingo-gr.cpp"
break;
case 87: /* simpleexprnoparens: ID */
@@ -2715,121 +2720,121 @@ yyreduce:
}
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2719 "engines/director/lingo/lingo-gr.cpp"
+#line 2724 "engines/director/lingo/lingo-gr.cpp"
break;
case 89: /* simpleexpr: '(' expr ')' */
#line 638 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[-1].code); }
-#line 2725 "engines/director/lingo/lingo-gr.cpp"
+#line 2730 "engines/director/lingo/lingo-gr.cpp"
break;
case 90: /* expr: simpleexpr */
#line 640 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); }
-#line 2731 "engines/director/lingo/lingo-gr.cpp"
+#line 2736 "engines/director/lingo/lingo-gr.cpp"
break;
case 91: /* expr: expr '+' expr */
#line 641 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_add); }
-#line 2737 "engines/director/lingo/lingo-gr.cpp"
+#line 2742 "engines/director/lingo/lingo-gr.cpp"
break;
case 92: /* expr: expr '-' expr */
#line 642 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_sub); }
-#line 2743 "engines/director/lingo/lingo-gr.cpp"
+#line 2748 "engines/director/lingo/lingo-gr.cpp"
break;
case 93: /* expr: expr '*' expr */
#line 643 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_mul); }
-#line 2749 "engines/director/lingo/lingo-gr.cpp"
+#line 2754 "engines/director/lingo/lingo-gr.cpp"
break;
case 94: /* expr: expr '/' expr */
#line 644 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_div); }
-#line 2755 "engines/director/lingo/lingo-gr.cpp"
+#line 2760 "engines/director/lingo/lingo-gr.cpp"
break;
case 95: /* expr: expr tMOD expr */
#line 645 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_mod); }
-#line 2761 "engines/director/lingo/lingo-gr.cpp"
+#line 2766 "engines/director/lingo/lingo-gr.cpp"
break;
case 96: /* expr: expr '>' expr */
#line 646 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gt); }
-#line 2767 "engines/director/lingo/lingo-gr.cpp"
+#line 2772 "engines/director/lingo/lingo-gr.cpp"
break;
case 97: /* expr: expr '<' expr */
#line 647 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lt); }
-#line 2773 "engines/director/lingo/lingo-gr.cpp"
+#line 2778 "engines/director/lingo/lingo-gr.cpp"
break;
case 98: /* expr: expr tEQ expr */
#line 648 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_eq); }
-#line 2779 "engines/director/lingo/lingo-gr.cpp"
+#line 2784 "engines/director/lingo/lingo-gr.cpp"
break;
case 99: /* expr: expr tNEQ expr */
#line 649 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_neq); }
-#line 2785 "engines/director/lingo/lingo-gr.cpp"
+#line 2790 "engines/director/lingo/lingo-gr.cpp"
break;
case 100: /* expr: expr tGE expr */
#line 650 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ge); }
-#line 2791 "engines/director/lingo/lingo-gr.cpp"
+#line 2796 "engines/director/lingo/lingo-gr.cpp"
break;
case 101: /* expr: expr tLE expr */
#line 651 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_le); }
-#line 2797 "engines/director/lingo/lingo-gr.cpp"
+#line 2802 "engines/director/lingo/lingo-gr.cpp"
break;
case 102: /* expr: expr tAND expr */
#line 652 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_and); }
-#line 2803 "engines/director/lingo/lingo-gr.cpp"
+#line 2808 "engines/director/lingo/lingo-gr.cpp"
break;
case 103: /* expr: expr tOR expr */
#line 653 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_or); }
-#line 2809 "engines/director/lingo/lingo-gr.cpp"
+#line 2814 "engines/director/lingo/lingo-gr.cpp"
break;
case 104: /* expr: expr '&' expr */
#line 654 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ampersand); }
-#line 2815 "engines/director/lingo/lingo-gr.cpp"
+#line 2820 "engines/director/lingo/lingo-gr.cpp"
break;
case 105: /* expr: expr tCONCAT expr */
#line 655 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_concat); }
-#line 2821 "engines/director/lingo/lingo-gr.cpp"
+#line 2826 "engines/director/lingo/lingo-gr.cpp"
break;
case 106: /* expr: expr tCONTAINS expr */
#line 656 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_contains); }
-#line 2827 "engines/director/lingo/lingo-gr.cpp"
+#line 2832 "engines/director/lingo/lingo-gr.cpp"
break;
case 107: /* expr: expr tSTARTS expr */
#line 657 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_starts); }
-#line 2833 "engines/director/lingo/lingo-gr.cpp"
+#line 2838 "engines/director/lingo/lingo-gr.cpp"
break;
case 108: /* chunkexpr: tFIELD simpleexprnoparens */
@@ -2837,7 +2842,7 @@ yyreduce:
{
Common::String field("field");
g_lingo->codeFunc(&field, 1); }
-#line 2841 "engines/director/lingo/lingo-gr.cpp"
+#line 2846 "engines/director/lingo/lingo-gr.cpp"
break;
case 109: /* chunkexpr: tCAST simpleexprnoparens */
@@ -2845,55 +2850,55 @@ yyreduce:
{
Common::String cast("cast");
g_lingo->codeFunc(&cast, 1); }
-#line 2849 "engines/director/lingo/lingo-gr.cpp"
+#line 2854 "engines/director/lingo/lingo-gr.cpp"
break;
case 110: /* chunkexpr: tCHAR expr tOF simpleexpr */
#line 665 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_charOf); }
-#line 2855 "engines/director/lingo/lingo-gr.cpp"
+#line 2860 "engines/director/lingo/lingo-gr.cpp"
break;
case 111: /* chunkexpr: tCHAR expr tTO expr tOF simpleexpr */
#line 666 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_charToOf); }
-#line 2861 "engines/director/lingo/lingo-gr.cpp"
+#line 2866 "engines/director/lingo/lingo-gr.cpp"
break;
case 112: /* chunkexpr: tITEM expr tOF simpleexpr */
#line 667 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_itemOf); }
-#line 2867 "engines/director/lingo/lingo-gr.cpp"
+#line 2872 "engines/director/lingo/lingo-gr.cpp"
break;
case 113: /* chunkexpr: tITEM expr tTO expr tOF simpleexpr */
#line 668 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_itemToOf); }
-#line 2873 "engines/director/lingo/lingo-gr.cpp"
+#line 2878 "engines/director/lingo/lingo-gr.cpp"
break;
case 114: /* chunkexpr: tLINE expr tOF simpleexpr */
#line 669 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lineOf); }
-#line 2879 "engines/director/lingo/lingo-gr.cpp"
+#line 2884 "engines/director/lingo/lingo-gr.cpp"
break;
case 115: /* chunkexpr: tLINE expr tTO expr tOF simpleexpr */
#line 670 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lineToOf); }
-#line 2885 "engines/director/lingo/lingo-gr.cpp"
+#line 2890 "engines/director/lingo/lingo-gr.cpp"
break;
case 116: /* chunkexpr: tWORD expr tOF simpleexpr */
#line 671 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_wordOf); }
-#line 2891 "engines/director/lingo/lingo-gr.cpp"
+#line 2896 "engines/director/lingo/lingo-gr.cpp"
break;
case 117: /* chunkexpr: tWORD expr tTO expr tOF simpleexpr */
#line 672 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_wordToOf); }
-#line 2897 "engines/director/lingo/lingo-gr.cpp"
+#line 2902 "engines/director/lingo/lingo-gr.cpp"
break;
case 119: /* reference: tSCRIPT simpleexprnoparens */
@@ -2901,7 +2906,7 @@ yyreduce:
{
Common::String script("script");
g_lingo->codeFunc(&script, 1); }
-#line 2905 "engines/director/lingo/lingo-gr.cpp"
+#line 2910 "engines/director/lingo/lingo-gr.cpp"
break;
case 120: /* reference: tWINDOW simpleexprnoparens */
@@ -2909,7 +2914,7 @@ yyreduce:
{
Common::String window("window");
g_lingo->codeFunc(&window, 1); }
-#line 2913 "engines/director/lingo/lingo-gr.cpp"
+#line 2918 "engines/director/lingo/lingo-gr.cpp"
break;
case 121: /* proc: tPUT expr */
@@ -2917,7 +2922,7 @@ yyreduce:
{
Common::String put("put");
g_lingo->codeCmd(&put, 1); }
-#line 2921 "engines/director/lingo/lingo-gr.cpp"
+#line 2926 "engines/director/lingo/lingo-gr.cpp"
break;
case 124: /* proc: tEXIT tREPEAT */
@@ -2930,49 +2935,49 @@ yyreduce:
} else {
warning("# LINGO: exit repeat not inside repeat block");
} }
-#line 2934 "engines/director/lingo/lingo-gr.cpp"
+#line 2939 "engines/director/lingo/lingo-gr.cpp"
break;
case 125: /* proc: tEXIT */
#line 695 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_procret); }
-#line 2940 "engines/director/lingo/lingo-gr.cpp"
+#line 2945 "engines/director/lingo/lingo-gr.cpp"
break;
case 126: /* $@11: %empty */
#line 696 "engines/director/lingo/lingo-gr.y"
{ inArgs(); }
-#line 2946 "engines/director/lingo/lingo-gr.cpp"
+#line 2951 "engines/director/lingo/lingo-gr.cpp"
break;
case 127: /* proc: tGLOBAL $@11 globallist */
#line 696 "engines/director/lingo/lingo-gr.y"
{ inLast(); }
-#line 2952 "engines/director/lingo/lingo-gr.cpp"
+#line 2957 "engines/director/lingo/lingo-gr.cpp"
break;
case 128: /* $@12: %empty */
#line 697 "engines/director/lingo/lingo-gr.y"
{ inArgs(); }
-#line 2958 "engines/director/lingo/lingo-gr.cpp"
+#line 2963 "engines/director/lingo/lingo-gr.cpp"
break;
case 129: /* proc: tPROPERTY $@12 propertylist */
#line 697 "engines/director/lingo/lingo-gr.y"
{ inLast(); }
-#line 2964 "engines/director/lingo/lingo-gr.cpp"
+#line 2969 "engines/director/lingo/lingo-gr.cpp"
break;
case 130: /* $@13: %empty */
#line 698 "engines/director/lingo/lingo-gr.y"
{ inArgs(); }
-#line 2970 "engines/director/lingo/lingo-gr.cpp"
+#line 2975 "engines/director/lingo/lingo-gr.cpp"
break;
case 131: /* proc: tINSTANCE $@13 instancelist */
#line 698 "engines/director/lingo/lingo-gr.y"
{ inLast(); }
-#line 2976 "engines/director/lingo/lingo-gr.cpp"
+#line 2981 "engines/director/lingo/lingo-gr.cpp"
break;
case 132: /* proc: tOPEN expr tWITH expr */
@@ -2980,7 +2985,7 @@ yyreduce:
{
Common::String open("open");
g_lingo->codeCmd(&open, 2); }
-#line 2984 "engines/director/lingo/lingo-gr.cpp"
+#line 2989 "engines/director/lingo/lingo-gr.cpp"
break;
case 133: /* proc: tOPEN expr */
@@ -2988,7 +2993,7 @@ yyreduce:
{
Common::String open("open");
g_lingo->codeCmd(&open, 1); }
-#line 2992 "engines/director/lingo/lingo-gr.cpp"
+#line 2997 "engines/director/lingo/lingo-gr.cpp"
break;
case 134: /* proc: ID '(' ID ')' */
@@ -2999,13 +3004,13 @@ yyreduce:
g_lingo->codeCmd((yyvsp[-3].s), 1);
delete (yyvsp[-3].s);
delete (yyvsp[-1].s); }
-#line 3003 "engines/director/lingo/lingo-gr.cpp"
+#line 3008 "engines/director/lingo/lingo-gr.cpp"
break;
case 135: /* $@14: %empty */
#line 711 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lazyeval); g_lingo->codeString((yyvsp[-1].s)->c_str()); }
-#line 3009 "engines/director/lingo/lingo-gr.cpp"
+#line 3014 "engines/director/lingo/lingo-gr.cpp"
break;
case 136: /* proc: ID '(' ID ',' $@14 nonemptyarglist ')' */
@@ -3014,7 +3019,7 @@ yyreduce:
g_lingo->codeCmd((yyvsp[-6].s), (yyvsp[-1].narg) + 1);
delete (yyvsp[-6].s);
delete (yyvsp[-4].s); }
-#line 3018 "engines/director/lingo/lingo-gr.cpp"
+#line 3023 "engines/director/lingo/lingo-gr.cpp"
break;
case 137: /* proc: ID '(' arglist ')' */
@@ -3022,7 +3027,7 @@ yyreduce:
{
g_lingo->codeCmd((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 3026 "engines/director/lingo/lingo-gr.cpp"
+#line 3031 "engines/director/lingo/lingo-gr.cpp"
break;
case 138: /* proc: ID arglist */
@@ -3030,7 +3035,7 @@ yyreduce:
{
g_lingo->codeCmd((yyvsp[-1].s), (yyvsp[0].narg));
delete (yyvsp[-1].s); }
-#line 3034 "engines/director/lingo/lingo-gr.cpp"
+#line 3039 "engines/director/lingo/lingo-gr.cpp"
break;
case 140: /* globallist: ID */
@@ -3038,7 +3043,7 @@ yyreduce:
{
mVar((yyvsp[0].s), kVarGlobal);
delete (yyvsp[0].s); }
-#line 3042 "engines/director/lingo/lingo-gr.cpp"
+#line 3047 "engines/director/lingo/lingo-gr.cpp"
break;
case 141: /* globallist: ID ',' globallist */
@@ -3046,7 +3051,7 @@ yyreduce:
{
mVar((yyvsp[-2].s), kVarGlobal);
delete (yyvsp[-2].s); }
-#line 3050 "engines/director/lingo/lingo-gr.cpp"
+#line 3055 "engines/director/lingo/lingo-gr.cpp"
break;
case 143: /* propertylist: ID */
@@ -3054,7 +3059,7 @@ yyreduce:
{
mVar((yyvsp[0].s), kVarProperty);
delete (yyvsp[0].s); }
-#line 3058 "engines/director/lingo/lingo-gr.cpp"
+#line 3063 "engines/director/lingo/lingo-gr.cpp"
break;
case 144: /* propertylist: ID ',' propertylist */
@@ -3062,7 +3067,7 @@ yyreduce:
{
mVar((yyvsp[-2].s), kVarProperty);
delete (yyvsp[-2].s); }
-#line 3066 "engines/director/lingo/lingo-gr.cpp"
+#line 3071 "engines/director/lingo/lingo-gr.cpp"
break;
case 146: /* instancelist: ID */
@@ -3070,7 +3075,7 @@ yyreduce:
{
mVar((yyvsp[0].s), kVarInstance);
delete (yyvsp[0].s); }
-#line 3074 "engines/director/lingo/lingo-gr.cpp"
+#line 3079 "engines/director/lingo/lingo-gr.cpp"
break;
case 147: /* instancelist: ID ',' instancelist */
@@ -3078,25 +3083,25 @@ yyreduce:
{
mVar((yyvsp[-2].s), kVarInstance);
delete (yyvsp[-2].s); }
-#line 3082 "engines/director/lingo/lingo-gr.cpp"
+#line 3087 "engines/director/lingo/lingo-gr.cpp"
break;
case 148: /* gotofunc: tGOLOOP */
#line 754 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotoloop); }
-#line 3088 "engines/director/lingo/lingo-gr.cpp"
+#line 3093 "engines/director/lingo/lingo-gr.cpp"
break;
case 149: /* gotofunc: tGO tNEXT */
#line 755 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotonext); }
-#line 3094 "engines/director/lingo/lingo-gr.cpp"
+#line 3099 "engines/director/lingo/lingo-gr.cpp"
break;
case 150: /* gotofunc: tGO tPREVIOUS */
#line 756 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotoprevious); }
-#line 3100 "engines/director/lingo/lingo-gr.cpp"
+#line 3105 "engines/director/lingo/lingo-gr.cpp"
break;
case 151: /* gotofunc: tGO expr */
@@ -3105,7 +3110,7 @@ yyreduce:
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(LC::c_goto); }
-#line 3109 "engines/director/lingo/lingo-gr.cpp"
+#line 3114 "engines/director/lingo/lingo-gr.cpp"
break;
case 152: /* gotofunc: tGO expr gotomovie */
@@ -3114,7 +3119,7 @@ yyreduce:
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(LC::c_goto); }
-#line 3118 "engines/director/lingo/lingo-gr.cpp"
+#line 3123 "engines/director/lingo/lingo-gr.cpp"
break;
case 153: /* gotofunc: tGO gotomovie */
@@ -3123,7 +3128,7 @@ yyreduce:
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(2);
g_lingo->code1(LC::c_goto); }
-#line 3127 "engines/director/lingo/lingo-gr.cpp"
+#line 3132 "engines/director/lingo/lingo-gr.cpp"
break;
case 156: /* playfunc: tPLAY expr */
@@ -3132,7 +3137,7 @@ yyreduce:
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(LC::c_play); }
-#line 3136 "engines/director/lingo/lingo-gr.cpp"
+#line 3141 "engines/director/lingo/lingo-gr.cpp"
break;
case 157: /* playfunc: tPLAY expr gotomovie */
@@ -3141,7 +3146,7 @@ yyreduce:
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(LC::c_play); }
-#line 3145 "engines/director/lingo/lingo-gr.cpp"
+#line 3150 "engines/director/lingo/lingo-gr.cpp"
break;
case 158: /* playfunc: tPLAY gotomovie */
@@ -3150,13 +3155,13 @@ yyreduce:
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(2);
g_lingo->code1(LC::c_play); }
-#line 3154 "engines/director/lingo/lingo-gr.cpp"
+#line 3159 "engines/director/lingo/lingo-gr.cpp"
break;
case 159: /* $@15: %empty */
#line 785 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeSetImmediate(true); }
-#line 3160 "engines/director/lingo/lingo-gr.cpp"
+#line 3165 "engines/director/lingo/lingo-gr.cpp"
break;
case 160: /* playfunc: tPLAYACCEL $@15 arglist */
@@ -3165,13 +3170,13 @@ yyreduce:
g_lingo->codeSetImmediate(false);
g_lingo->codeCmd((yyvsp[-2].s), (yyvsp[0].narg));
delete (yyvsp[-2].s); }
-#line 3169 "engines/director/lingo/lingo-gr.cpp"
+#line 3174 "engines/director/lingo/lingo-gr.cpp"
break;
case 161: /* $@16: %empty */
#line 815 "engines/director/lingo/lingo-gr.y"
{ startDef(); }
-#line 3175 "engines/director/lingo/lingo-gr.cpp"
+#line 3180 "engines/director/lingo/lingo-gr.cpp"
break;
case 162: /* defn: tMACRO $@16 ID lbl argdef '\n' argstore stmtlist */
@@ -3181,19 +3186,19 @@ yyreduce:
g_lingo->codeDefine(*(yyvsp[-5].s), (yyvsp[-4].code), (yyvsp[-3].narg));
endDef();
delete (yyvsp[-5].s); }
-#line 3185 "engines/director/lingo/lingo-gr.cpp"
+#line 3190 "engines/director/lingo/lingo-gr.cpp"
break;
case 163: /* defn: tFACTORY ID */
#line 821 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeFactory(*(yyvsp[0].s)); delete (yyvsp[0].s); }
-#line 3191 "engines/director/lingo/lingo-gr.cpp"
+#line 3196 "engines/director/lingo/lingo-gr.cpp"
break;
case 164: /* $@17: %empty */
#line 822 "engines/director/lingo/lingo-gr.y"
{ startDef(); (*g_lingo->_methodVars)["me"] = kVarArgument; }
-#line 3197 "engines/director/lingo/lingo-gr.cpp"
+#line 3202 "engines/director/lingo/lingo-gr.cpp"
break;
case 165: /* defn: tMETHOD $@17 lbl argdef '\n' argstore stmtlist */
@@ -3203,7 +3208,7 @@ yyreduce:
g_lingo->codeDefine(*(yyvsp[-6].s), (yyvsp[-4].code), (yyvsp[-3].narg) + 1);
endDef();
delete (yyvsp[-6].s); }
-#line 3207 "engines/director/lingo/lingo-gr.cpp"
+#line 3212 "engines/director/lingo/lingo-gr.cpp"
break;
case 166: /* defn: on lbl argdef '\n' argstore stmtlist ENDCLAUSE endargdef */
@@ -3216,7 +3221,7 @@ yyreduce:
checkEnd((yyvsp[-1].s), (yyvsp[-7].s)->c_str(), false);
delete (yyvsp[-7].s);
delete (yyvsp[-1].s); }
-#line 3220 "engines/director/lingo/lingo-gr.cpp"
+#line 3225 "engines/director/lingo/lingo-gr.cpp"
break;
case 167: /* defn: on lbl argdef '\n' argstore stmtlist */
@@ -3226,151 +3231,151 @@ yyreduce:
g_lingo->codeDefine(*(yyvsp[-5].s), (yyvsp[-4].code), (yyvsp[-3].narg));
endDef();
delete (yyvsp[-5].s); }
-#line 3230 "engines/director/lingo/lingo-gr.cpp"
+#line 3235 "engines/director/lingo/lingo-gr.cpp"
break;
case 168: /* $@18: %empty */
#line 842 "engines/director/lingo/lingo-gr.y"
{ startDef(); }
-#line 3236 "engines/director/lingo/lingo-gr.cpp"
+#line 3241 "engines/director/lingo/lingo-gr.cpp"
break;
case 169: /* on: tON $@18 ID */
#line 842 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = (yyvsp[0].s); }
-#line 3242 "engines/director/lingo/lingo-gr.cpp"
+#line 3247 "engines/director/lingo/lingo-gr.cpp"
break;
case 170: /* argname: ID */
#line 844 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); mVar((yyvsp[0].s), kVarArgument); delete (yyvsp[0].s); }
-#line 3248 "engines/director/lingo/lingo-gr.cpp"
+#line 3253 "engines/director/lingo/lingo-gr.cpp"
break;
case 171: /* argdef: %empty */
#line 846 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; }
-#line 3254 "engines/director/lingo/lingo-gr.cpp"
+#line 3259 "engines/director/lingo/lingo-gr.cpp"
break;
case 172: /* argdef: argname */
#line 847 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3260 "engines/director/lingo/lingo-gr.cpp"
+#line 3265 "engines/director/lingo/lingo-gr.cpp"
break;
case 173: /* argdef: argname ',' argdef */
#line 848 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[0].narg) + 1; }
-#line 3266 "engines/director/lingo/lingo-gr.cpp"
+#line 3271 "engines/director/lingo/lingo-gr.cpp"
break;
case 175: /* endargdef: ID */
#line 851 "engines/director/lingo/lingo-gr.y"
{ delete (yyvsp[0].s); }
-#line 3272 "engines/director/lingo/lingo-gr.cpp"
+#line 3277 "engines/director/lingo/lingo-gr.cpp"
break;
case 176: /* endargdef: endargdef ',' ID */
#line 852 "engines/director/lingo/lingo-gr.y"
{ delete (yyvsp[0].s); }
-#line 3278 "engines/director/lingo/lingo-gr.cpp"
+#line 3283 "engines/director/lingo/lingo-gr.cpp"
break;
case 177: /* argstore: %empty */
#line 854 "engines/director/lingo/lingo-gr.y"
{ inDef(); }
-#line 3284 "engines/director/lingo/lingo-gr.cpp"
+#line 3289 "engines/director/lingo/lingo-gr.cpp"
break;
case 178: /* arglist: %empty */
#line 856 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; }
-#line 3290 "engines/director/lingo/lingo-gr.cpp"
+#line 3295 "engines/director/lingo/lingo-gr.cpp"
break;
case 179: /* arglist: expr */
#line 857 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3296 "engines/director/lingo/lingo-gr.cpp"
+#line 3301 "engines/director/lingo/lingo-gr.cpp"
break;
case 180: /* arglist: expr ',' arglist */
#line 858 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[0].narg) + 1; }
-#line 3302 "engines/director/lingo/lingo-gr.cpp"
+#line 3307 "engines/director/lingo/lingo-gr.cpp"
break;
case 181: /* nonemptyarglist: expr */
#line 860 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3308 "engines/director/lingo/lingo-gr.cpp"
+#line 3313 "engines/director/lingo/lingo-gr.cpp"
break;
case 182: /* nonemptyarglist: expr ',' */
#line 861 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3314 "engines/director/lingo/lingo-gr.cpp"
+#line 3319 "engines/director/lingo/lingo-gr.cpp"
break;
case 183: /* nonemptyarglist: expr ',' nonemptyarglist */
#line 862 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[0].narg) + 1; }
-#line 3320 "engines/director/lingo/lingo-gr.cpp"
+#line 3325 "engines/director/lingo/lingo-gr.cpp"
break;
case 184: /* list: '[' valuelist ']' */
#line 864 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[-1].code); }
-#line 3326 "engines/director/lingo/lingo-gr.cpp"
+#line 3331 "engines/director/lingo/lingo-gr.cpp"
break;
case 185: /* valuelist: %empty */
#line 866 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code2(LC::c_arraypush, 0); }
-#line 3332 "engines/director/lingo/lingo-gr.cpp"
+#line 3337 "engines/director/lingo/lingo-gr.cpp"
break;
case 186: /* valuelist: ':' */
#line 867 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code2(LC::c_proparraypush, 0); }
-#line 3338 "engines/director/lingo/lingo-gr.cpp"
+#line 3343 "engines/director/lingo/lingo-gr.cpp"
break;
case 187: /* valuelist: proplist */
#line 868 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_proparraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3344 "engines/director/lingo/lingo-gr.cpp"
+#line 3349 "engines/director/lingo/lingo-gr.cpp"
break;
case 188: /* valuelist: linearlist */
#line 869 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_arraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3350 "engines/director/lingo/lingo-gr.cpp"
+#line 3355 "engines/director/lingo/lingo-gr.cpp"
break;
case 189: /* linearlist: expr */
#line 871 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3356 "engines/director/lingo/lingo-gr.cpp"
+#line 3361 "engines/director/lingo/lingo-gr.cpp"
break;
case 190: /* linearlist: linearlist ',' expr */
#line 872 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3362 "engines/director/lingo/lingo-gr.cpp"
+#line 3367 "engines/director/lingo/lingo-gr.cpp"
break;
case 191: /* proplist: proppair */
#line 874 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3368 "engines/director/lingo/lingo-gr.cpp"
+#line 3373 "engines/director/lingo/lingo-gr.cpp"
break;
case 192: /* proplist: proplist ',' proppair */
#line 875 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3374 "engines/director/lingo/lingo-gr.cpp"
+#line 3379 "engines/director/lingo/lingo-gr.cpp"
break;
case 193: /* proppair: SYMBOL ':' expr */
@@ -3379,7 +3384,7 @@ yyreduce:
g_lingo->code1(LC::c_symbolpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
delete (yyvsp[-2].s); }
-#line 3383 "engines/director/lingo/lingo-gr.cpp"
+#line 3388 "engines/director/lingo/lingo-gr.cpp"
break;
case 194: /* proppair: STRING ':' expr */
@@ -3388,7 +3393,7 @@ yyreduce:
g_lingo->code1(LC::c_stringpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
delete (yyvsp[-2].s); }
-#line 3392 "engines/director/lingo/lingo-gr.cpp"
+#line 3397 "engines/director/lingo/lingo-gr.cpp"
break;
case 195: /* proppair: ID ':' expr */
@@ -3397,11 +3402,11 @@ yyreduce:
g_lingo->code1(LC::c_stringpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
delete (yyvsp[-2].s); }
-#line 3401 "engines/director/lingo/lingo-gr.cpp"
+#line 3406 "engines/director/lingo/lingo-gr.cpp"
break;
-#line 3405 "engines/director/lingo/lingo-gr.cpp"
+#line 3410 "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 c864400262..e4a04faa74 100644
--- a/engines/director/lingo/lingo-gr.h
+++ b/engines/director/lingo/lingo-gr.h
@@ -63,84 +63,82 @@ extern int yydebug;
OBJECT = 264, /* OBJECT */
LEXERROR = 265, /* LEXERROR */
PARRAY = 266, /* PARRAY */
- CASTNAME = 267, /* CASTNAME */
- CASTNUM = 268, /* CASTNUM */
- FIELDNAME = 269, /* FIELDNAME */
- FIELDNUM = 270, /* FIELDNUM */
- INT = 271, /* INT */
- ARGC = 272, /* ARGC */
- ARGCNORET = 273, /* ARGCNORET */
- THEENTITY = 274, /* THEENTITY */
- THEENTITYWITHID = 275, /* THEENTITYWITHID */
- THEMENUITEMENTITY = 276, /* THEMENUITEMENTITY */
- THEMENUITEMSENTITY = 277, /* THEMENUITEMSENTITY */
- FLOAT = 278, /* FLOAT */
- THEFUNC = 279, /* THEFUNC */
- THEFUNCINOF = 280, /* THEFUNCINOF */
- VARID = 281, /* VARID */
- STRING = 282, /* STRING */
- SYMBOL = 283, /* SYMBOL */
- ENDCLAUSE = 284, /* ENDCLAUSE */
- tPLAYACCEL = 285, /* tPLAYACCEL */
- tMETHOD = 286, /* tMETHOD */
- THEOBJECTPROP = 287, /* THEOBJECTPROP */
- tCAST = 288, /* tCAST */
- tFIELD = 289, /* tFIELD */
- tSCRIPT = 290, /* tSCRIPT */
- tWINDOW = 291, /* tWINDOW */
- tDOWN = 292, /* tDOWN */
- tELSE = 293, /* tELSE */
- tELSIF = 294, /* tELSIF */
- tEXIT = 295, /* tEXIT */
- tGLOBAL = 296, /* tGLOBAL */
- tGO = 297, /* tGO */
- tGOLOOP = 298, /* tGOLOOP */
- tIF = 299, /* tIF */
- tIN = 300, /* tIN */
- tINTO = 301, /* tINTO */
- tMACRO = 302, /* tMACRO */
- tMOVIE = 303, /* tMOVIE */
- tNEXT = 304, /* tNEXT */
- tOF = 305, /* tOF */
- tPREVIOUS = 306, /* tPREVIOUS */
- tPUT = 307, /* tPUT */
- tREPEAT = 308, /* tREPEAT */
- tSET = 309, /* tSET */
- tTHEN = 310, /* tTHEN */
- tTO = 311, /* tTO */
- tWHEN = 312, /* tWHEN */
- tWITH = 313, /* tWITH */
- tWHILE = 314, /* tWHILE */
- tFACTORY = 315, /* tFACTORY */
- tOPEN = 316, /* tOPEN */
- tPLAY = 317, /* tPLAY */
- tINSTANCE = 318, /* tINSTANCE */
- tGE = 319, /* tGE */
- tLE = 320, /* tLE */
- tEQ = 321, /* tEQ */
- tNEQ = 322, /* tNEQ */
- tAND = 323, /* tAND */
- tOR = 324, /* tOR */
- tNOT = 325, /* tNOT */
- tMOD = 326, /* tMOD */
- tAFTER = 327, /* tAFTER */
- tBEFORE = 328, /* tBEFORE */
- tCONCAT = 329, /* tCONCAT */
- tCONTAINS = 330, /* tCONTAINS */
- tSTARTS = 331, /* tSTARTS */
- tCHAR = 332, /* tCHAR */
- tITEM = 333, /* tITEM */
- tLINE = 334, /* tLINE */
- tWORD = 335, /* tWORD */
- tSPRITE = 336, /* tSPRITE */
- tINTERSECTS = 337, /* tINTERSECTS */
- tWITHIN = 338, /* tWITHIN */
- tTELL = 339, /* tTELL */
- tPROPERTY = 340, /* tPROPERTY */
- tON = 341, /* tON */
- tENDIF = 342, /* tENDIF */
- tENDREPEAT = 343, /* tENDREPEAT */
- tENDTELL = 344 /* tENDTELL */
+ CASTREF = 267, /* CASTREF */
+ FIELDREF = 268, /* FIELDREF */
+ INT = 269, /* INT */
+ ARGC = 270, /* ARGC */
+ ARGCNORET = 271, /* ARGCNORET */
+ THEENTITY = 272, /* THEENTITY */
+ THEENTITYWITHID = 273, /* THEENTITYWITHID */
+ THEMENUITEMENTITY = 274, /* THEMENUITEMENTITY */
+ THEMENUITEMSENTITY = 275, /* THEMENUITEMSENTITY */
+ FLOAT = 276, /* FLOAT */
+ THEFUNC = 277, /* THEFUNC */
+ THEFUNCINOF = 278, /* THEFUNCINOF */
+ VARID = 279, /* VARID */
+ STRING = 280, /* STRING */
+ SYMBOL = 281, /* SYMBOL */
+ ENDCLAUSE = 282, /* ENDCLAUSE */
+ tPLAYACCEL = 283, /* tPLAYACCEL */
+ tMETHOD = 284, /* tMETHOD */
+ THEOBJECTPROP = 285, /* THEOBJECTPROP */
+ tCAST = 286, /* tCAST */
+ tFIELD = 287, /* tFIELD */
+ tSCRIPT = 288, /* tSCRIPT */
+ tWINDOW = 289, /* tWINDOW */
+ 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
@@ -164,7 +162,7 @@ union YYSTYPE
Common::String *prop;
} objectprop;
-#line 168 "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 8209044e0c..f7f54aba58 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -196,7 +196,7 @@ static void mVar(Common::String *s, VarType type) {
// Datum types
%token VOID VAR POINT RECT ARRAY OBJECT LEXERROR PARRAY
-%token CASTNAME CASTNUM FIELDNAME FIELDNUM
+%token CASTREF FIELDREF
%token<i> INT ARGC ARGCNORET
%token<e> THEENTITY THEENTITYWITHID THEMENUITEMENTITY THEMENUITEMSENTITY
diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp
index 2ab707038f..0427233ba8 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -1281,10 +1281,10 @@ void Lingo::setTheSprite(Datum &id1, int field, Datum &d) {
case kTheConstraint:
{
int channelId = -1;
- if (d.type == CASTNAME || d.type == CASTNUM) {
+ if (d.type == CASTREF) {
// Reference: CastMember ID
// Find the first channel that uses this cast.
- int castId = castIdFetch(d);
+ int castId = d.u.i;
for (uint i = 0; i < score->_channels.size(); i++) {
if (score->_channels[i]->_sprite->_castId == castId) {
channelId = i;
@@ -1577,21 +1577,20 @@ Datum Lingo::getObjectProp(Datum &obj, Common::String &propName) {
d = obj.u.parr->operator[](index - 1).v;
}
return d;
- } else if (obj.type == CASTNAME || obj.type == CASTNUM || obj.type == FIELDNAME || obj.type == FIELDNUM) {
+ } else if (obj.type == CASTREF || obj.type == FIELDREF) {
Movie *movie = _vm->getCurrentMovie();
if (!movie) {
warning("Lingo::getObjectProp(): No movie loaded");
return d;
}
- int id = g_lingo->castIdFetch(obj);
-
+ int id = obj.u.i;
CastMember *member = movie->getCastMember(id);
if (!member) {
warning("Lingo::getObjectProp(): CastMember %d not found", id);
return d;
}
- if ((obj.type == FIELDNAME || obj.type == FIELDNUM) && member->_type != kCastText) {
+ if (obj.type == FIELDREF && member->_type != kCastText) {
warning("Lingo::getObjectProp(): CastMember %d is not a field", id);
return d;
}
@@ -1622,21 +1621,20 @@ void Lingo::setObjectProp(Datum &obj, Common::String &propName, Datum &val) {
PCell cell = PCell(propName, val);
obj.u.parr->push_back(cell);
}
- } else if (obj.type == CASTNAME || obj.type == CASTNUM || obj.type == FIELDNAME || obj.type == FIELDNUM) {
+ } else if (obj.type == CASTREF || obj.type == FIELDREF) {
Movie *movie = _vm->getCurrentMovie();
if (!movie) {
warning("Lingo::setObjectProp(): No movie loaded");
return;
}
- int id = g_lingo->castIdFetch(obj);
-
+ int id = obj.u.i;
CastMember *member = movie->getCastMember(id);
if (!member) {
warning("Lingo::setObjectProp(): CastMember %d not found", id);
return;
}
- if ((obj.type == FIELDNAME || obj.type == FIELDNUM) && member->_type != kCastText) {
+ if ((obj.type == FIELDREF) && member->_type != kCastText) {
warning("Lingo::setObjectProp(): CastMember %d is not a field", id);
return;
}
diff --git a/engines/director/lingo/lingo.cpp b/engines/director/lingo/lingo.cpp
index ac62df67a8..921ce9785f 100644
--- a/engines/director/lingo/lingo.cpp
+++ b/engines/director/lingo/lingo.cpp
@@ -689,7 +689,7 @@ int Lingo::getAlignedType(const Datum &d1, const Datum &d2) {
int d1Type = d1.type;
int d2Type = d2.type;
- if (d1Type == STRING || d1Type == FIELDNAME || d1Type == FIELDNUM) {
+ if (d1Type == STRING || d1Type == FIELDREF) {
Common::String src = d1.asString();
if (!src.empty()) {
char *endPtr = 0;
@@ -699,7 +699,7 @@ int Lingo::getAlignedType(const Datum &d1, const Datum &d2) {
}
}
}
- if (d2Type == STRING || d2Type == FIELDNAME || d2Type == FIELDNUM) {
+ if (d2Type == STRING || d2Type == FIELDREF) {
Common::String src = d2.asString();
if (!src.empty()) {
char *endPtr = 0;
@@ -795,8 +795,6 @@ void Datum::reset() {
#ifndef __COVERITY__
if (*refCount <= 0) {
switch (type) {
- case CASTNAME:
- case FIELDNAME:
case VAR:
case STRING:
delete u.s;
@@ -841,8 +839,7 @@ int Datum::asInt() const {
switch (type) {
case STRING:
- case FIELDNAME:
- case FIELDNUM:
+ case FIELDREF:
{
Common::String src = asString();
char *endPtr = 0;
@@ -879,8 +876,7 @@ double Datum::asFloat() const {
switch (type) {
case STRING:
- case FIELDNAME:
- case FIELDNUM:
+ case FIELDREF:
{
Common::String src = asString();
char *endPtr = 0;
@@ -952,16 +948,12 @@ Common::String Datum::asString(bool printonly) const {
case VAR:
s = Common::String::format("var: #%s", u.s->c_str());
break;
- case CASTNAME:
- s = Common::String::format("cast \"%s\"", u.s->c_str());
- break;
- case CASTNUM:
+ case CASTREF:
s = Common::String::format("cast %d", u.i);
break;
- case FIELDNAME:
- case FIELDNUM:
+ case FIELDREF:
{
- int idx = g_lingo->castIdFetch(*this);
+ int idx = u.i;
CastMember *member = g_director->getCurrentMovie()->getCastMember(idx);
if (!member) {
warning("asString(): Unknown cast id %d", idx);
@@ -1026,10 +1018,8 @@ const char *Datum::type2str(bool isk) const {
return isk ? "#float" : "FLOAT";
case STRING:
return isk ? "#string" : "STRING";
- case CASTNAME:
- return "CASTNAME";
- case CASTNUM:
- return "CASTNUM";
+ case CASTREF:
+ return "CASTREF";
case VOID:
return isk ? "#void" : "VOID";
case POINT:
@@ -1038,10 +1028,8 @@ const char *Datum::type2str(bool isk) const {
return isk ? "#symbol" : "SYMBOL";
case OBJECT:
return isk ? "#object" : "OBJECT";
- case FIELDNAME:
- return "FIELDNAME";
- case FIELDNUM:
- return "FIELDNUM";
+ case FIELDREF:
+ return "FIELDREF";
case VAR:
return isk ? "#var" : "VAR";
default:
@@ -1223,7 +1211,7 @@ int Lingo::castIdFetch(const Datum &var) {
return 0;
}
- if (var.type == STRING || var.type == CASTNAME || var.type == FIELDNAME) {
+ if (var.type == STRING) {
CastMember *member = movie->getCastMemberByName(*var.u.s);
if (member)
return member->getID();
@@ -1233,7 +1221,7 @@ int Lingo::castIdFetch(const Datum &var) {
}
int castId = 0;
- if (var.type == INT || var.type == CASTNUM || var.type == FIELDNUM) {
+ if (var.type == INT || var.type == CASTREF || var.type == FIELDREF) {
castId = var.u.i;
} else if (var.type == FLOAT) {
castId = var.u.f;
@@ -1254,7 +1242,7 @@ void Lingo::varAssign(Datum &var, Datum &value, bool global, DatumHash *localvar
localvars = _localvars;
}
- if (var.type != VAR && var.type != FIELDNAME && var.type != FIELDNUM) {
+ if (var.type != VAR && var.type != FIELDREF) {
warning("varAssign: assignment to non-variable");
return;
}
@@ -1282,13 +1270,13 @@ void Lingo::varAssign(Datum &var, Datum &value, bool global, DatumHash *localvar
}
warning("varAssign: variable %s not defined", name.c_str());
- } else if (var.type == FIELDNAME || var.type == FIELDNUM || var.type == CASTNAME || var.type == CASTNUM) {
+ } else if (var.type == FIELDREF || var.type == CASTREF) {
Movie *movie = g_director->getCurrentMovie();
if (!movie) {
warning("varAssign: Assigning to a reference to an empty movie");
return;
}
- int castId = castIdFetch(var);
+ int castId = var.u.i;
CastMember *member = movie->getCastMember(castId);
if (!member) {
warning("varAssign: Unknown cast id %d", castId);
@@ -1312,7 +1300,7 @@ Datum Lingo::varFetch(Datum &var, bool global, DatumHash *localvars, bool silent
Datum result;
result.type = VOID;
- if (var.type != VAR && var.type != FIELDNAME && var.type != FIELDNUM) {
+ if (var.type != VAR && var.type != FIELDREF) {
warning("varFetch: fetch from non-variable");
return result;
}
@@ -1346,13 +1334,13 @@ Datum Lingo::varFetch(Datum &var, bool global, DatumHash *localvars, bool silent
if (!silent)
warning("varFetch: variable %s not found", name.c_str());
return result;
- } else if (var.type == FIELDNAME || var.type == FIELDNUM || var.type == CASTNAME || var.type == CASTNUM) {
+ } else if (var.type == FIELDREF || var.type == CASTREF) {
Movie *movie = g_director->getCurrentMovie();
if (!movie) {
warning("varFetch: Assigning to a reference to an empty movie");
return result;
}
- int castId = castIdFetch(var);
+ int castId = var.u.i;
CastMember *member = movie->getCastMember(castId);
if (!member) {
warning("varFetch: Unknown cast id %d", castId);
Commit: b636f76c23e1b166a1c08b97e7f7e7d7d174cece
https://github.com/scummvm/scummvm/commit/b636f76c23e1b166a1c08b97e7f7e7d7d174cece
Author: djsrv (dservilla at gmail.com)
Date: 2020-08-15T12:00:12-04:00
Commit Message:
DIRECTOR: LINGO: Handle loaded in getObjectProp
Changed paths:
engines/director/lingo/lingo-the.cpp
diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp
index 0427233ba8..c1ca8b0a20 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -1587,7 +1587,11 @@ Datum Lingo::getObjectProp(Datum &obj, Common::String &propName) {
int id = obj.u.i;
CastMember *member = movie->getCastMember(id);
if (!member) {
- warning("Lingo::getObjectProp(): CastMember %d not found", id);
+ if (propName.equalsIgnoreCase("loaded")) {
+ d = 0;
+ } else {
+ warning("Lingo::getObjectProp(): CastMember %d not found", id);
+ }
return d;
}
if (obj.type == FIELDREF && member->_type != kCastText) {
Commit: 759fcdcf86e1df322ad3c853c5f48bba9c926e62
https://github.com/scummvm/scummvm/commit/759fcdcf86e1df322ad3c853c5f48bba9c926e62
Author: djsrv (dservilla at gmail.com)
Date: 2020-08-15T12:11:54-04:00
Commit Message:
DIRECTOR: LINGO: Add tests for cast refs
Changed paths:
engines/director/lingo/tests/reference.lingo
diff --git a/engines/director/lingo/tests/reference.lingo b/engines/director/lingo/tests/reference.lingo
index 21f1e85638..ee4bffe762 100644
--- a/engines/director/lingo/tests/reference.lingo
+++ b/engines/director/lingo/tests/reference.lingo
@@ -15,6 +15,21 @@ put the text of cast "castname"
put the visible of window "windowname"
put line 1 to 5 of field the number of cast "MasterList" into field the number of cast "InventoryList"
+-- the loaded of cast
+
+-- real casts
+scummvmAssert(the loaded of cast 1)
+set test to cast 1
+scummvmAssert(the loaded of test)
+
+-- nonexistent casts
+scummvmAssert(not the loaded of cast 500)
+set test to cast 500
+scummvmAssert(not the loaded of test)
+
+put the loaded of cast "fake" -- should error
+set test to cast "fake" -- should error
+
-- user-defined handlers/factories w/ reference name
-- (mainly to test grammar, so no factory definition)
set theWindow = Window(mNew,#noGrowDoc,"Window " & windowNumber)
Commit: 1819e7da838861e873fa4754a0abf9e216428b64
https://github.com/scummvm/scummvm/commit/1819e7da838861e873fa4754a0abf9e216428b64
Author: djsrv (dservilla at gmail.com)
Date: 2020-08-15T12:30:23-04:00
Commit Message:
DIRECTOR: LINGO: Allow non-numeric type alignments
Changed paths:
engines/director/lingo/lingo-code.cpp
engines/director/lingo/lingo.cpp
engines/director/lingo/lingo.h
diff --git a/engines/director/lingo/lingo-code.cpp b/engines/director/lingo/lingo-code.cpp
index 3a4dc311b2..55c6f15d30 100644
--- a/engines/director/lingo/lingo-code.cpp
+++ b/engines/director/lingo/lingo-code.cpp
@@ -627,7 +627,7 @@ Datum LC::addData(Datum &d1, Datum &d2) {
return LC::mapBinaryOp(LC::addData, d1, d2);
}
- int alignedType = g_lingo->getAlignedType(d1, d2);
+ int alignedType = g_lingo->getAlignedType(d1, d2, true);
Datum res;
if (alignedType == FLOAT) {
@@ -651,7 +651,7 @@ Datum LC::subData(Datum &d1, Datum &d2) {
return LC::mapBinaryOp(LC::subData, d1, d2);
}
- int alignedType = g_lingo->getAlignedType(d1, d2);
+ int alignedType = g_lingo->getAlignedType(d1, d2, true);
Datum res;
if (alignedType == FLOAT) {
@@ -675,7 +675,7 @@ Datum LC::mulData(Datum &d1, Datum &d2) {
return LC::mapBinaryOp(LC::mulData, d1, d2);
}
- int alignedType = g_lingo->getAlignedType(d1, d2);
+ int alignedType = g_lingo->getAlignedType(d1, d2, true);
Datum res;
if (alignedType == FLOAT) {
@@ -705,7 +705,7 @@ Datum LC::divData(Datum &d1, Datum &d2) {
d2 = Datum(1);
}
- int alignedType = g_lingo->getAlignedType(d1, d2);
+ int alignedType = g_lingo->getAlignedType(d1, d2, true);
if (g_director->getVersion() < 400) // pre-D4 is INT-only
alignedType = INT;
diff --git a/engines/director/lingo/lingo.cpp b/engines/director/lingo/lingo.cpp
index 921ce9785f..522542fdda 100644
--- a/engines/director/lingo/lingo.cpp
+++ b/engines/director/lingo/lingo.cpp
@@ -683,13 +683,21 @@ void Lingo::resetLingo() {
// timeoutScript is not reset
}
-int Lingo::getAlignedType(const Datum &d1, const Datum &d2) {
+int Lingo::getAlignedType(const Datum &d1, const Datum &d2, bool numsOnly) {
int opType = VOID;
int d1Type = d1.type;
int d2Type = d2.type;
- if (d1Type == STRING || d1Type == FIELDREF) {
+ if (d1Type == FIELDREF)
+ d1Type = STRING;
+ if (d2Type == FIELDREF)
+ d2Type = STRING;
+
+ if (d1Type == d2Type && (!numsOnly || d1Type == INT || d1Type == FLOAT))
+ return d1Type;
+
+ if (d1Type == STRING) {
Common::String src = d1.asString();
if (!src.empty()) {
char *endPtr = 0;
@@ -699,7 +707,7 @@ int Lingo::getAlignedType(const Datum &d1, const Datum &d2) {
}
}
}
- if (d2Type == STRING || d2Type == FIELDREF) {
+ if (d2Type == STRING) {
Common::String src = d2.asString();
if (!src.empty()) {
char *endPtr = 0;
@@ -1039,19 +1047,19 @@ const char *Datum::type2str(bool isk) const {
}
int Datum::equalTo(Datum &d, bool ignoreCase) const {
- int alignType = g_lingo->getAlignedType(*this, d);
+ int alignType = g_lingo->getAlignedType(*this, d, false);
if (alignType == FLOAT) {
return asFloat() == d.asFloat();
} else if (alignType == INT) {
return asInt() == d.asInt();
- } else if ((type == STRING && d.type == STRING) || (type == SYMBOL && d.type == SYMBOL)) {
+ } else if (alignType == STRING || alignType == SYMBOL) {
if (ignoreCase) {
return toLowercaseMac(asString()).equals(toLowercaseMac(d.asString()));
} else {
return asString().equals(d.asString());
}
- } else if (type == OBJECT && d.type == OBJECT) {
+ } else if (alignType == OBJECT) {
return u.obj == d.u.obj;
} else {
return 0;
@@ -1059,7 +1067,7 @@ int Datum::equalTo(Datum &d, bool ignoreCase) const {
}
int Datum::compareTo(Datum &d, bool ignoreCase) const {
- int alignType = g_lingo->getAlignedType(*this, d);
+ int alignType = g_lingo->getAlignedType(*this, d, false);
if (alignType == FLOAT) {
double f1 = asFloat();
@@ -1081,7 +1089,7 @@ int Datum::compareTo(Datum &d, bool ignoreCase) const {
} else {
return 1;
}
- } else if ((type == STRING && d.type == STRING) || (type == SYMBOL && d.type == SYMBOL)) {
+ } else if (alignType == STRING) {
if (ignoreCase) {
return toLowercaseMac(asString()).compareTo(toLowercaseMac(d.asString()));
} else {
diff --git a/engines/director/lingo/lingo.h b/engines/director/lingo/lingo.h
index 044f9da15c..f725eee43a 100644
--- a/engines/director/lingo/lingo.h
+++ b/engines/director/lingo/lingo.h
@@ -289,7 +289,7 @@ public:
void varAssign(Datum &var, Datum &value, bool global = false, DatumHash *localvars = nullptr);
Datum varFetch(Datum &var, bool global = false, DatumHash *localvars = nullptr, bool silent = false);
- int getAlignedType(const Datum &d1, const Datum &d2);
+ int getAlignedType(const Datum &d1, const Datum &d2, bool numsOnly);
void printAllVars();
Commit: 4620311903a9a41d4999cfe000c4a399df59ba47
https://github.com/scummvm/scummvm/commit/4620311903a9a41d4999cfe000c4a399df59ba47
Author: djsrv (dservilla at gmail.com)
Date: 2020-08-15T12:31:33-04:00
Commit Message:
DIRECTOR: LINGO: Handle CASTREF in Datum::equalTo
Changed paths:
engines/director/lingo/lingo.cpp
diff --git a/engines/director/lingo/lingo.cpp b/engines/director/lingo/lingo.cpp
index 522542fdda..a9431dca75 100644
--- a/engines/director/lingo/lingo.cpp
+++ b/engines/director/lingo/lingo.cpp
@@ -1049,21 +1049,26 @@ const char *Datum::type2str(bool isk) const {
int Datum::equalTo(Datum &d, bool ignoreCase) const {
int alignType = g_lingo->getAlignedType(*this, d, false);
- if (alignType == FLOAT) {
+ switch (alignType) {
+ case FLOAT:
return asFloat() == d.asFloat();
- } else if (alignType == INT) {
+ case INT:
return asInt() == d.asInt();
- } else if (alignType == STRING || alignType == SYMBOL) {
+ case STRING:
+ case SYMBOL:
if (ignoreCase) {
return toLowercaseMac(asString()).equals(toLowercaseMac(d.asString()));
} else {
return asString().equals(d.asString());
}
- } else if (alignType == OBJECT) {
+ case OBJECT:
return u.obj == d.u.obj;
- } else {
- return 0;
+ case CASTREF:
+ return u.i == d.u.i;
+ default:
+ break;
}
+ return 0;
}
int Datum::compareTo(Datum &d, bool ignoreCase) const {
Commit: 52774f72b55e89e13557cfa73972cec0edc5dc35
https://github.com/scummvm/scummvm/commit/52774f72b55e89e13557cfa73972cec0edc5dc35
Author: djsrv (dservilla at gmail.com)
Date: 2020-08-15T12:33:13-04:00
Commit Message:
DIRECTOR: LINGO: Add equality tests
Changed paths:
A engines/director/lingo/tests/equality.lingo
diff --git a/engines/director/lingo/tests/equality.lingo b/engines/director/lingo/tests/equality.lingo
new file mode 100644
index 0000000000..3cee555d78
--- /dev/null
+++ b/engines/director/lingo/tests/equality.lingo
@@ -0,0 +1,11 @@
+scummvmAssert(1 = 1)
+scummvmAssert(1 = "1")
+scummvmAssert(1 = 1.0)
+scummvmAssert(cast 1 = cast 1)
+scummvmAssert("test" = "test")
+scummvmAssert(#test = #test)
+set string = the text of field 1
+scummvmAssert(field 1 = string)
+scummvmAssert(0 <> "")
+scummvmAssert(1 <> cast 1)
+scummvmAssert("test" <> #test)
More information about the Scummvm-git-logs
mailing list