[Scummvm-git-logs] scummvm master -> 8c88688908e50cc56fb252067ca14b364dc27801
sev-
sev at scummvm.org
Wed Jan 22 16:28:25 UTC 2020
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
65e857e503 DIRECTOR: LINGO: Fixed parsing for 'the number of menuItems of menu <xx>'
8c88688908 DIRECTOR: LINGO: Added test for 'the number of menuItems'
Commit: 65e857e50386584f35b1904ebc9d23f954cf6797
https://github.com/scummvm/scummvm/commit/65e857e50386584f35b1904ebc9d23f954cf6797
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-01-22T17:28:01+01:00
Commit Message:
DIRECTOR: LINGO: Fixed parsing for 'the number of menuItems of menu <xx>'
Changed paths:
engines/director/lingo/lingo-builtins.cpp
engines/director/lingo/lingo-builtins.h
engines/director/lingo/lingo-gr.cpp
engines/director/lingo/lingo-gr.h
engines/director/lingo/lingo-gr.y
engines/director/lingo/lingo-lex.cpp
engines/director/lingo/lingo-lex.l
engines/director/lingo/lingo-the.cpp
diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index 687602c..ef6e5db 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -228,7 +228,6 @@ static struct BuiltinProto {
{ "numberOfItems", LB::b_numberofitems,1, 1, false, 4, FBLTIN }, // D4 f
{ "numberOfLines", LB::b_numberoflines,1, 1, false, 4, FBLTIN }, // D4 f
{ "numberOfWords", LB::b_numberofwords,1, 1, false, 4, FBLTIN }, // D4 f
- { "numberOfMenuItems",LB::b_numberofMenuItems,1, 1, false, 4, FBLTIN }, // D4 f
{ "lastCharOf", LB::b_lastcharof, 1, 1, false, 4, FBLTIN }, // D4 f
{ "lastItemOf", LB::b_lastitemof, 1, 1, false, 4, FBLTIN }, // D4 f
{ "lastLineOf", LB::b_lastlineof, 1, 1, false, 4, FBLTIN }, // D4 f
@@ -1813,16 +1812,6 @@ void LB::b_numberofwords(int nargs) {
g_lingo->push(d);
}
-void LB::b_numberofMenuItems(int nargs) {
- Datum d = g_lingo->pop();
-
- warning("STUB: b_numberofMenuItems");
- d.toInt();
- d.u.i = 0;
-
- g_lingo->push(d);
-}
-
void LB::b_lastcharof(int nargs) {
Datum d = g_lingo->pop();
diff --git a/engines/director/lingo/lingo-builtins.h b/engines/director/lingo/lingo-builtins.h
index 76c439e..b07a369 100644
--- a/engines/director/lingo/lingo-builtins.h
+++ b/engines/director/lingo/lingo-builtins.h
@@ -201,7 +201,6 @@ namespace LB {
void b_numberofitems(int nargs);
void b_numberoflines(int nargs);
void b_numberofwords(int nargs);
- void b_numberofMenuItems(int nargs);
void b_lastcharof(int nargs);
void b_lastitemof(int nargs);
void b_lastlineof(int nargs);
diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp
index 6c9353b..4c47eeb 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -161,74 +161,75 @@ extern int yydebug;
THEENTITY = 271,
THEENTITYWITHID = 272,
THEMENUITEMENTITY = 273,
- FLOAT = 274,
- BLTIN = 275,
- FBLTIN = 276,
- RBLTIN = 277,
- ID = 278,
- STRING = 279,
- HANDLER = 280,
- SYMBOL = 281,
- ENDCLAUSE = 282,
- tPLAYACCEL = 283,
- tMETHOD = 284,
- THEOBJECTFIELD = 285,
- THEOBJECTREF = 286,
- tDOWN = 287,
- tELSE = 288,
- tELSIF = 289,
- tEXIT = 290,
- tGLOBAL = 291,
- tGO = 292,
- tIF = 293,
- tIN = 294,
- tINTO = 295,
- tLOOP = 296,
- tMACRO = 297,
- tMOVIE = 298,
- tNEXT = 299,
- tOF = 300,
- tPREVIOUS = 301,
- tPUT = 302,
- tREPEAT = 303,
- tSET = 304,
- tTHEN = 305,
- tTO = 306,
- tWHEN = 307,
- tWITH = 308,
- tWHILE = 309,
- tNLELSE = 310,
- tFACTORY = 311,
- tOPEN = 312,
- tPLAY = 313,
- tDONE = 314,
- tINSTANCE = 315,
- tGE = 316,
- tLE = 317,
- tEQ = 318,
- tNEQ = 319,
- tAND = 320,
- tOR = 321,
- tNOT = 322,
- tMOD = 323,
- tAFTER = 324,
- tBEFORE = 325,
- tCONCAT = 326,
- tCONTAINS = 327,
- tSTARTS = 328,
- tCHAR = 329,
- tITEM = 330,
- tLINE = 331,
- tWORD = 332,
- tSPRITE = 333,
- tINTERSECTS = 334,
- tWITHIN = 335,
- tTELL = 336,
- tPROPERTY = 337,
- tON = 338,
- tENDIF = 339,
- tENDREPEAT = 340,
- tENDTELL = 341
+ THEMENUITEMSENTITY = 274,
+ FLOAT = 275,
+ BLTIN = 276,
+ FBLTIN = 277,
+ RBLTIN = 278,
+ ID = 279,
+ STRING = 280,
+ HANDLER = 281,
+ SYMBOL = 282,
+ ENDCLAUSE = 283,
+ tPLAYACCEL = 284,
+ tMETHOD = 285,
+ THEOBJECTFIELD = 286,
+ THEOBJECTREF = 287,
+ tDOWN = 288,
+ tELSE = 289,
+ tELSIF = 290,
+ tEXIT = 291,
+ tGLOBAL = 292,
+ tGO = 293,
+ tIF = 294,
+ tIN = 295,
+ tINTO = 296,
+ tLOOP = 297,
+ tMACRO = 298,
+ tMOVIE = 299,
+ tNEXT = 300,
+ tOF = 301,
+ tPREVIOUS = 302,
+ tPUT = 303,
+ tREPEAT = 304,
+ tSET = 305,
+ tTHEN = 306,
+ tTO = 307,
+ tWHEN = 308,
+ tWITH = 309,
+ tWHILE = 310,
+ tNLELSE = 311,
+ tFACTORY = 312,
+ tOPEN = 313,
+ tPLAY = 314,
+ tDONE = 315,
+ tINSTANCE = 316,
+ tGE = 317,
+ tLE = 318,
+ tEQ = 319,
+ tNEQ = 320,
+ tAND = 321,
+ tOR = 322,
+ tNOT = 323,
+ tMOD = 324,
+ tAFTER = 325,
+ tBEFORE = 326,
+ tCONCAT = 327,
+ tCONTAINS = 328,
+ tSTARTS = 329,
+ tCHAR = 330,
+ tITEM = 331,
+ tLINE = 332,
+ tWORD = 333,
+ tSPRITE = 334,
+ tINTERSECTS = 335,
+ tWITHIN = 336,
+ tTELL = 337,
+ tPROPERTY = 338,
+ tON = 339,
+ tENDIF = 340,
+ tENDREPEAT = 341,
+ tENDTELL = 342
};
#endif
@@ -256,7 +257,7 @@ union YYSTYPE
Common::String *field;
} objectref;
-#line 260 "engines/director/lingo/lingo-gr.cpp"
+#line 261 "engines/director/lingo/lingo-gr.cpp"
};
typedef union YYSTYPE YYSTYPE;
@@ -573,21 +574,21 @@ union yyalloc
#endif /* !YYCOPY_NEEDED */
/* YYFINAL -- State number of the termination state. */
-#define YYFINAL 127
+#define YYFINAL 128
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 1654
+#define YYLAST 1725
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 102
+#define YYNTOKENS 103
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 51
/* YYNRULES -- Number of rules. */
-#define YYNRULES 172
+#define YYNRULES 173
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 370
+#define YYNSTATES 375
#define YYUNDEFTOK 2
-#define YYMAXUTOK 341
+#define YYMAXUTOK 342
/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
@@ -600,15 +601,15 @@ union yyalloc
static const yytype_int8 yytranslate[] =
{
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 95, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 96, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 94, 89, 2,
- 96, 97, 92, 90, 98, 91, 2, 93, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 101, 2,
- 87, 2, 88, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 95, 90, 2,
+ 97, 98, 93, 91, 99, 92, 2, 94, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 102, 2,
+ 88, 2, 89, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 99, 2, 100, 2, 2, 2, 2, 2, 2,
+ 2, 100, 2, 101, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -633,7 +634,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
+ 85, 86, 87
};
#if YYDEBUG
@@ -641,23 +642,23 @@ static const yytype_int8 yytranslate[] =
static const yytype_int16 yyrline[] =
{
0, 141, 141, 142, 143, 145, 146, 147, 149, 155,
- 158, 159, 160, 166, 173, 179, 186, 192, 199, 210,
- 217, 218, 219, 221, 222, 223, 224, 226, 227, 232,
- 243, 260, 272, 283, 285, 290, 294, 299, 303, 313,
- 324, 325, 327, 334, 344, 355, 357, 363, 369, 376,
- 378, 380, 381, 382, 384, 390, 393, 396, 400, 404,
- 408, 410, 411, 412, 415, 418, 421, 429, 435, 440,
- 446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
- 456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
- 466, 467, 468, 469, 471, 472, 473, 474, 475, 476,
- 477, 478, 480, 483, 485, 486, 487, 488, 489, 490,
- 490, 491, 491, 492, 493, 496, 499, 500, 502, 506,
- 511, 515, 520, 524, 536, 537, 538, 539, 543, 547,
- 552, 553, 555, 556, 560, 564, 568, 568, 598, 598,
- 598, 605, 606, 606, 613, 623, 631, 631, 633, 634,
- 635, 636, 638, 639, 640, 642, 644, 652, 653, 654,
- 656, 657, 659, 661, 662, 663, 664, 666, 667, 669,
- 670, 672, 676
+ 159, 170, 171, 172, 178, 185, 191, 198, 204, 211,
+ 222, 229, 230, 231, 233, 234, 235, 236, 238, 239,
+ 244, 255, 272, 284, 295, 297, 302, 306, 311, 315,
+ 325, 336, 337, 339, 346, 356, 367, 369, 375, 381,
+ 388, 390, 392, 393, 394, 396, 402, 405, 408, 412,
+ 416, 420, 422, 423, 424, 427, 430, 433, 441, 447,
+ 452, 458, 459, 460, 461, 462, 463, 464, 465, 466,
+ 467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
+ 477, 478, 479, 480, 481, 483, 484, 485, 486, 487,
+ 488, 489, 490, 492, 495, 497, 498, 499, 500, 501,
+ 502, 502, 503, 503, 504, 505, 508, 511, 512, 514,
+ 518, 523, 527, 532, 536, 548, 549, 550, 551, 555,
+ 559, 564, 565, 567, 568, 572, 576, 580, 580, 610,
+ 610, 610, 617, 618, 618, 625, 635, 643, 643, 645,
+ 646, 647, 648, 650, 651, 652, 654, 656, 664, 665,
+ 666, 668, 669, 671, 673, 674, 675, 676, 678, 679,
+ 681, 682, 684, 688
};
#endif
@@ -669,26 +670,26 @@ static const char *const yytname[] =
"$end", "error", "$undefined", "UNARY", "CASTREF", "VOID", "VAR",
"POINT", "RECT", "ARRAY", "OBJECT", "REFERENCE", "LEXERROR", "INT",
"ARGC", "ARGCNORET", "THEENTITY", "THEENTITYWITHID", "THEMENUITEMENTITY",
- "FLOAT", "BLTIN", "FBLTIN", "RBLTIN", "ID", "STRING", "HANDLER",
- "SYMBOL", "ENDCLAUSE", "tPLAYACCEL", "tMETHOD", "THEOBJECTFIELD",
- "THEOBJECTREF", "tDOWN", "tELSE", "tELSIF", "tEXIT", "tGLOBAL", "tGO",
- "tIF", "tIN", "tINTO", "tLOOP", "tMACRO", "tMOVIE", "tNEXT", "tOF",
- "tPREVIOUS", "tPUT", "tREPEAT", "tSET", "tTHEN", "tTO", "tWHEN", "tWITH",
- "tWHILE", "tNLELSE", "tFACTORY", "tOPEN", "tPLAY", "tDONE", "tINSTANCE",
- "tGE", "tLE", "tEQ", "tNEQ", "tAND", "tOR", "tNOT", "tMOD", "tAFTER",
- "tBEFORE", "tCONCAT", "tCONTAINS", "tSTARTS", "tCHAR", "tITEM", "tLINE",
- "tWORD", "tSPRITE", "tINTERSECTS", "tWITHIN", "tTELL", "tPROPERTY",
- "tON", "tENDIF", "tENDREPEAT", "tENDTELL", "'<'", "'>'", "'&'", "'+'",
- "'-'", "'*'", "'/'", "'%'", "'\\n'", "'('", "')'", "','", "'['", "']'",
- "':'", "$accept", "program", "programline", "asgn", "stmtoneliner",
- "stmtonelinerwithif", "stmt", "tellstart", "ifstmt", "elseifstmtlist",
- "elseifstmt", "ifoneliner", "repeatwhile", "repeatwith", "if", "elseif",
- "begin", "end", "stmtlist", "when", "simpleexpr", "expr", "chunkexpr",
- "reference", "proc", "$@1", "$@2", "globallist", "propertylist",
- "instancelist", "gotofunc", "gotomovie", "playfunc", "$@3", "defn",
- "$@4", "$@5", "$@6", "on", "$@7", "argdef", "endargdef", "argstore",
- "macro", "arglist", "nonemptyarglist", "list", "valuelist", "linearlist",
- "proplist", "proppair", YY_NULLPTR
+ "THEMENUITEMSENTITY", "FLOAT", "BLTIN", "FBLTIN", "RBLTIN", "ID",
+ "STRING", "HANDLER", "SYMBOL", "ENDCLAUSE", "tPLAYACCEL", "tMETHOD",
+ "THEOBJECTFIELD", "THEOBJECTREF", "tDOWN", "tELSE", "tELSIF", "tEXIT",
+ "tGLOBAL", "tGO", "tIF", "tIN", "tINTO", "tLOOP", "tMACRO", "tMOVIE",
+ "tNEXT", "tOF", "tPREVIOUS", "tPUT", "tREPEAT", "tSET", "tTHEN", "tTO",
+ "tWHEN", "tWITH", "tWHILE", "tNLELSE", "tFACTORY", "tOPEN", "tPLAY",
+ "tDONE", "tINSTANCE", "tGE", "tLE", "tEQ", "tNEQ", "tAND", "tOR", "tNOT",
+ "tMOD", "tAFTER", "tBEFORE", "tCONCAT", "tCONTAINS", "tSTARTS", "tCHAR",
+ "tITEM", "tLINE", "tWORD", "tSPRITE", "tINTERSECTS", "tWITHIN", "tTELL",
+ "tPROPERTY", "tON", "tENDIF", "tENDREPEAT", "tENDTELL", "'<'", "'>'",
+ "'&'", "'+'", "'-'", "'*'", "'/'", "'%'", "'\\n'", "'('", "')'", "','",
+ "'['", "']'", "':'", "$accept", "program", "programline", "asgn",
+ "stmtoneliner", "stmtonelinerwithif", "stmt", "tellstart", "ifstmt",
+ "elseifstmtlist", "elseifstmt", "ifoneliner", "repeatwhile",
+ "repeatwith", "if", "elseif", "begin", "end", "stmtlist", "when",
+ "simpleexpr", "expr", "chunkexpr", "reference", "proc", "$@1", "$@2",
+ "globallist", "propertylist", "instancelist", "gotofunc", "gotomovie",
+ "playfunc", "$@3", "defn", "$@4", "$@5", "$@6", "on", "$@7", "argdef",
+ "endargdef", "argstore", "macro", "arglist", "nonemptyarglist", "list",
+ "valuelist", "linearlist", "proplist", "proppair", YY_NULLPTR
};
#endif
@@ -705,13 +706,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, 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 (-270)
+#define YYPACT_NINF (-275)
#define yypact_value_is_default(Yyn) \
((Yyn) == YYPACT_NINF)
@@ -725,43 +726,44 @@ static const yytype_int16 yytoknum[] =
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- 283, -74, -270, -270, 978, -270, 1013, 1094, 20, 1129,
- -270, -270, -270, -270, -270, -270, 52, -270, 859, -270,
- -270, 53, 978, 16, 146, 29, 68, 978, 897, 80,
- 978, 978, 978, 978, 978, 978, 978, -270, -270, 978,
- 978, 978, 367, 7, -270, -270, -270, -270, -270, 978,
- 3, 978, 697, -270, 1548, -270, -270, -270, -270, -270,
- -270, -270, -270, -270, -270, 17, 978, 1548, 978, 1548,
- 23, 978, 23, -270, -270, 978, 1548, 24, 978, -270,
- -270, 91, -270, 978, -270, 73, -270, 359, -270, 92,
- -270, 1168, 94, -270, 2, 20, 20, 27, 67, 70,
- -270, 143, -270, 359, -270, -270, 25, -270, 1201, 1234,
- 1267, 1300, 1515, 1465, 101, 102, -270, -270, 1478, 31,
- 51, -270, 1548, 54, 57, 58, -270, -270, 454, 1548,
- 978, 978, 1548, -270, -270, 978, 1548, -270, -270, 978,
- 978, 978, 978, 978, 978, 978, 978, 978, 978, 978,
- 978, 978, 978, 978, 978, 978, 135, 978, 1168, 1478,
- -42, 978, -37, -17, 978, 23, 135, -270, 61, 1548,
- 978, -270, -270, 18, 978, 978, -270, 978, 978, 34,
- 116, 978, 978, 978, -270, 978, -270, 142, 978, 978,
- 978, 978, 978, 978, 978, 978, 978, 978, -270, -270,
- -270, 69, -270, -270, 20, 20, -270, 978, 72, -270,
- -270, 1548, 1548, 122, -270, 1548, 15, 15, 15, 15,
- 1561, 1561, -270, 19, 15, 15, 15, 15, 19, -34,
- -34, -270, -270, -270, -79, -270, 1548, -270, -270, 1548,
- -78, 152, 1548, -270, -270, -270, 1548, 1548, 1548, 15,
- 978, 978, 157, 1548, 15, 1548, 1548, -270, 1548, 1333,
- 1548, 1366, 1548, 1399, 1548, 1432, 1548, 1548, 778, -270,
- 159, -270, -270, 1548, 31, 51, -270, 616, -270, 22,
- -270, 133, 96, 176, 96, -270, 135, 1548, 15, 20,
- 978, 978, 978, 978, -270, 616, -270, -270, -270, 115,
- 616, 150, 978, 616, 778, 179, -270, -270, -270, -73,
- 166, 1548, 1548, 1548, 1548, -270, 124, -270, 134, 978,
- 1548, -270, -270, -270, 535, 616, 96, 978, -270, -270,
- 1548, -270, 43, -21, 197, -270, 1548, -270, 616, -270,
- -270, -270, 978, 138, -270, -270, -270, 125, 616, 616,
- 139, -270, 1548, -270, 778, 202, 141, -270, 616, 177,
- -270, -270, -270, 144, -270, 145, -270, 616, -270, -270
+ 309, -40, -275, -275, 1050, -275, 1088, 1170, -5, 1208,
+ -275, -275, -275, -275, -275, -275, 26, -275, 847, -275,
+ -275, 41, 968, -12, 37, 42, 72, 1050, 929, 78,
+ 1050, 1050, 1050, 1050, 1050, 1050, 1050, -275, -275, 1050,
+ 1050, 1050, 391, 7, -275, -275, -275, -275, -275, 1050,
+ 1, 1050, 725, -275, 1618, -275, -275, -275, -275, -275,
+ -275, -275, -275, -275, -275, 13, 968, 1618, 1050, 1618,
+ 5, 1050, 5, -275, -275, 1050, 1618, 22, 1050, -275,
+ -275, 98, -275, 1050, -275, 80, -275, 173, -275, 101,
+ -275, 102, 362, 107, -275, -31, -5, -5, 8, 82,
+ 104, -275, 1535, -275, 173, -275, -275, 54, -275, 1229,
+ 1263, 1296, 1329, 1585, 1494, 132, 133, -275, -275, 1548,
+ 57, 60, -275, 1618, 62, 65, 66, -275, -275, 479,
+ 1618, 1050, 1050, 1618, -275, -275, 1050, 1618, -275, -275,
+ 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050,
+ 1050, 1050, 1050, 1050, 1050, 1050, 1050, 142, 1050, 362,
+ 1548, -47, 1050, 17, 19, 1050, 5, 142, -275, 69,
+ 1618, 1050, -275, -275, -5, 16, 1050, 1050, -275, 1050,
+ 1050, 18, 128, 1050, 1050, 1050, -275, 1050, -275, 154,
+ 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050,
+ -275, -275, -275, 83, -275, -275, -5, -5, -275, 1050,
+ 58, -275, -275, 1618, 1618, 134, -275, 1618, 15, 15,
+ 15, 15, 1631, 1631, -275, 20, 15, 15, 15, 15,
+ 20, -35, -35, -275, -275, -275, -23, -275, 1618, -275,
+ -275, 1618, -19, 160, 1618, -275, 156, -275, -275, 1618,
+ 1618, 1618, 15, 1050, 1050, 175, 1618, 15, 1618, 1618,
+ -275, 1618, 1362, 1618, 1395, 1618, 1428, 1618, 1461, 1618,
+ 1618, 807, -275, 177, -275, -275, 1618, 57, 60, -275,
+ 643, -275, -8, -275, 151, 105, 179, 105, -275, 142,
+ 1050, 1618, 15, -5, 1050, 1050, 1050, 1050, -275, 643,
+ -275, -275, -275, 120, 643, 155, 1050, 643, 807, 184,
+ -275, -275, -275, 2, 1618, 159, 1618, 1618, 1618, 1618,
+ -275, 125, -275, 127, 1050, 1618, -275, -275, -275, 561,
+ 643, 105, 1050, -275, -275, 1618, -275, 85, -22, 192,
+ -275, 1618, -275, 643, -275, -275, -275, 1050, 136, -275,
+ -275, -275, 119, 643, 643, 139, -275, 1618, -275, 807,
+ 198, 140, -275, 643, 176, -275, -275, -275, 144, -275,
+ 146, -275, 643, -275, -275
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -769,65 +771,66 @@ static const yytype_int16 yypact[] =
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
- 0, 0, 55, 66, 0, 56, 157, 157, 0, 59,
- 58, 57, 136, 142, 68, 69, 108, 109, 0, 47,
- 138, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 111, 146, 0,
- 0, 0, 163, 0, 3, 70, 27, 7, 28, 0,
- 0, 0, 0, 61, 21, 103, 62, 22, 105, 106,
- 6, 49, 20, 60, 4, 59, 0, 67, 157, 158,
- 115, 157, 64, 59, 102, 157, 160, 156, 157, 49,
- 107, 0, 124, 0, 125, 0, 126, 127, 129, 0,
- 33, 104, 0, 45, 0, 0, 0, 0, 0, 0,
- 141, 117, 132, 133, 135, 122, 113, 84, 0, 0,
- 0, 0, 0, 0, 0, 0, 89, 90, 0, 58,
- 57, 164, 167, 0, 165, 166, 169, 1, 5, 50,
- 0, 0, 50, 50, 26, 0, 24, 25, 23, 0,
+ 0, 0, 56, 67, 0, 57, 158, 158, 0, 60,
+ 59, 58, 137, 143, 69, 70, 109, 110, 0, 48,
+ 139, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 112, 147, 0,
+ 0, 0, 164, 0, 3, 71, 28, 7, 29, 0,
+ 0, 0, 0, 62, 22, 104, 63, 23, 106, 107,
+ 6, 50, 21, 61, 4, 60, 0, 68, 158, 159,
+ 116, 158, 65, 60, 103, 158, 161, 157, 158, 50,
+ 108, 0, 125, 0, 126, 0, 127, 128, 130, 0,
+ 34, 0, 105, 0, 46, 0, 0, 0, 0, 0,
+ 0, 142, 118, 133, 134, 136, 123, 114, 85, 0,
+ 0, 0, 0, 0, 0, 0, 0, 90, 91, 0,
+ 59, 58, 165, 168, 0, 166, 167, 170, 1, 5,
+ 51, 0, 0, 51, 51, 27, 0, 25, 26, 24,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 148, 157, 0, 158,
- 0, 0, 0, 0, 0, 137, 148, 118, 110, 131,
- 0, 128, 139, 0, 0, 0, 46, 0, 0, 0,
- 0, 0, 0, 0, 54, 0, 134, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 37, 37,
- 120, 112, 147, 91, 0, 0, 162, 0, 0, 2,
- 51, 50, 50, 0, 34, 50, 80, 81, 78, 79,
- 82, 83, 75, 86, 87, 88, 77, 76, 85, 71,
- 72, 73, 74, 149, 0, 114, 159, 63, 65, 161,
- 0, 0, 130, 49, 8, 9, 10, 11, 15, 13,
- 0, 0, 0, 14, 12, 19, 116, 123, 94, 0,
- 96, 0, 98, 0, 100, 0, 92, 93, 0, 51,
- 0, 172, 171, 168, 0, 0, 170, 50, 51, 0,
- 51, 0, 155, 0, 155, 119, 148, 16, 17, 0,
- 0, 0, 0, 0, 50, 50, 121, 52, 53, 0,
- 50, 0, 0, 50, 0, 0, 51, 150, 51, 0,
- 0, 95, 97, 99, 101, 36, 0, 29, 0, 0,
- 50, 40, 50, 151, 145, 143, 155, 0, 35, 32,
- 50, 51, 50, 0, 152, 51, 18, 51, 50, 49,
- 48, 41, 0, 0, 49, 44, 153, 144, 140, 50,
- 0, 51, 50, 38, 0, 0, 0, 30, 50, 0,
- 50, 154, 31, 0, 51, 0, 39, 50, 43, 42
+ 0, 0, 0, 0, 0, 0, 0, 149, 158, 0,
+ 159, 0, 0, 0, 0, 0, 138, 149, 119, 111,
+ 132, 0, 129, 140, 0, 0, 0, 0, 47, 0,
+ 0, 0, 0, 0, 0, 0, 55, 0, 135, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 38, 38, 121, 113, 148, 92, 0, 0, 163, 0,
+ 0, 2, 52, 51, 51, 0, 35, 51, 81, 82,
+ 79, 80, 83, 84, 76, 87, 88, 89, 78, 77,
+ 86, 72, 73, 74, 75, 150, 0, 115, 160, 64,
+ 66, 162, 0, 0, 131, 50, 0, 8, 9, 11,
+ 12, 16, 14, 0, 0, 0, 15, 13, 20, 117,
+ 124, 95, 0, 97, 0, 99, 0, 101, 0, 93,
+ 94, 0, 52, 0, 173, 172, 169, 0, 0, 171,
+ 51, 52, 0, 52, 0, 156, 0, 156, 120, 149,
+ 0, 17, 18, 0, 0, 0, 0, 0, 51, 51,
+ 122, 53, 54, 0, 51, 0, 0, 51, 0, 0,
+ 52, 151, 52, 0, 10, 0, 96, 98, 100, 102,
+ 37, 0, 30, 0, 0, 51, 41, 51, 152, 146,
+ 144, 156, 0, 36, 33, 51, 52, 51, 0, 153,
+ 52, 19, 52, 51, 50, 49, 42, 0, 0, 50,
+ 45, 154, 145, 141, 51, 0, 52, 51, 39, 0,
+ 0, 0, 31, 51, 0, 51, 155, 32, 0, 52,
+ 0, 40, 51, 44, 43
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -270, -270, 109, -270, -255, -270, 6, 40, -270, -270,
- -270, -270, -270, -270, 189, -270, -75, -82, 64, -270,
- -7, -4, -270, 71, 190, -270, -270, -270, -270, -270,
- -270, -19, -270, -270, -270, -270, -270, -270, -270, -270,
- -158, -270, -269, 191, 4, -270, -270, -270, -270, -270,
- 37
+ -275, -275, 103, -275, -262, -275, 6, 32, -275, -275,
+ -275, -275, -275, -275, 182, -275, -75, -84, -112, -275,
+ 3, -4, -275, 73, 200, -275, -275, -275, -275, -275,
+ -275, -18, -275, -275, -275, -275, -275, -275, -275, -275,
+ -166, -275, -274, 202, 10, -275, -275, -275, -275, -275,
+ 45
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 43, 44, 45, 46, 133, 298, 268, 48, 332,
- 341, 134, 49, 50, 51, 342, 156, 210, 277, 52,
- 53, 54, 55, 56, 57, 81, 114, 168, 201, 106,
- 58, 88, 59, 78, 60, 89, 243, 79, 61, 115,
- 234, 347, 306, 62, 163, 77, 63, 123, 124, 125,
- 126
+ -1, 43, 44, 45, 46, 134, 302, 271, 48, 337,
+ 346, 135, 49, 50, 51, 347, 157, 212, 280, 52,
+ 53, 54, 55, 56, 57, 81, 115, 169, 203, 107,
+ 58, 88, 59, 78, 60, 89, 245, 79, 61, 116,
+ 236, 352, 310, 62, 164, 77, 63, 124, 125, 126,
+ 127
};
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
@@ -835,431 +838,446 @@ static const yytype_int16 yydefgoto[] =
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 67, 74, 69, 69, 166, 76, 47, 127, 240, 104,
- 70, 72, 344, 294, 87, 308, 282, 284, 91, 283,
- 283, 64, 326, 101, 103, 283, 107, 108, 109, 110,
- 111, 112, 113, 2, 145, 116, 117, 118, 122, 5,
- 8, 244, 130, 73, 10, 129, 11, 132, 136, 322,
- 213, 214, 99, 177, 301, 235, 161, 335, 154, 155,
- 237, 161, 158, 345, 159, 178, 131, 159, 171, 92,
- 93, 159, 160, 302, 69, 162, 339, 340, 181, 169,
- 238, 161, 165, 145, 186, 250, 146, 145, 179, 180,
- 182, 100, 31, 32, 33, 34, 274, 251, 275, 360,
- 80, 90, 128, 105, 151, 152, 153, 154, 155, 152,
- 153, 154, 155, 157, 167, 172, 170, 176, 183, 42,
- 184, 161, 164, 187, 200, 202, 211, 212, 309, 278,
- 279, 215, 204, 281, 47, 216, 217, 218, 219, 220,
- 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
- 231, 232, 205, 69, 206, 207, 208, 236, 233, 241,
- 239, 252, 94, 95, 96, 257, 242, 270, 286, 97,
- 246, 247, 280, 248, 249, 285, 98, 253, 254, 255,
- 289, 256, 296, 304, 258, 259, 260, 261, 262, 263,
- 264, 265, 266, 267, 305, 299, 185, 271, 272, 307,
- 317, 319, 323, 273, 139, 140, 141, 142, 143, 144,
- 328, 145, 315, 316, 146, 147, 148, 327, 318, 329,
- 346, 321, 353, 355, 357, 361, 362, 364, 366, 368,
- 149, 150, 151, 152, 153, 154, 155, 209, 331, 269,
- 333, 135, 137, 138, 245, 276, 287, 288, 337, 0,
- 343, 0, 0, 0, 0, 0, 350, 0, 0, 0,
- 0, 0, 0, 0, 351, 0, 0, 356, 0, 354,
- 359, 0, 0, 0, 0, 0, 363, 0, 365, 0,
- 0, 0, 310, -5, 1, 369, 311, 312, 313, 314,
- 0, 0, 0, 0, 0, 0, 2, 0, 320, 3,
- 4, 0, 5, 6, 7, 8, 9, 10, 0, 11,
- 0, 12, 13, 14, 15, 330, 0, 0, 16, 17,
- 18, 19, 0, 336, 0, 20, 0, 21, 0, 0,
- 22, 23, 24, 295, 0, 25, 0, 0, 352, 26,
- 27, 28, 300, 29, 303, 0, 0, 0, 0, 0,
- 30, 0, 0, 0, 0, 0, 0, 31, 32, 33,
- 34, 35, 0, 0, 36, 37, 38, 0, 0, 0,
- 324, 0, 325, 39, 40, 0, 0, 0, -5, 41,
- 2, 0, 42, 3, 4, 0, 5, 0, 7, 8,
- 65, 119, 0, 120, 0, 338, 0, 14, 15, 348,
- 0, 349, 83, 0, 85, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 358, 24, 0, 0, 0,
- 139, 140, 141, 142, 143, 144, 0, 145, 367, 0,
- 146, 147, 148, 0, 30, 0, 0, 0, 0, 0,
- 0, 31, 32, 33, 34, 35, 149, 150, 151, 152,
- 153, 154, 155, 0, 0, 0, 0, 39, 40, 0,
- 0, 0, 0, 41, 0, 0, 42, 2, 121, 0,
- 3, 4, 0, 5, 6, 7, 8, 9, 10, 0,
- 11, 0, 12, 13, 14, 15, 0, 0, 0, 16,
- 17, 18, 19, 0, 0, 0, 20, 0, 21, 0,
+ 67, 242, 69, 69, 167, 76, 47, 128, 2, 298,
+ 105, 74, 349, 312, 87, 5, 70, 72, 92, 73,
+ 10, 179, 11, 102, 104, 305, 108, 109, 110, 111,
+ 112, 113, 114, 180, 146, 117, 118, 119, 123, 8,
+ 247, 131, 93, 94, 306, 130, 327, 133, 137, 215,
+ 216, 237, 162, 95, 96, 97, 64, 340, 155, 156,
+ 183, 98, 159, 350, 160, 132, 100, 160, 99, 172,
+ 253, 160, 184, 285, 69, 80, 286, 287, 161, 170,
+ 286, 163, 254, 277, 146, 278, 188, 147, 166, 146,
+ 90, 31, 32, 33, 34, 42, 101, 365, 331, 181,
+ 182, 286, 106, 129, 162, 152, 153, 154, 155, 156,
+ 158, 153, 154, 155, 156, 239, 162, 240, 162, 344,
+ 345, 165, 168, 313, 171, 173, 174, 213, 214, 281,
+ 282, 178, 217, 284, 185, 47, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
+ 232, 233, 234, 189, 69, 186, 202, 204, 238, 206,
+ 299, 241, 207, 208, 209, 210, 235, 244, 243, 304,
+ 289, 307, 249, 250, 255, 251, 252, 246, 260, 256,
+ 257, 258, 273, 259, 288, 283, 261, 262, 263, 264,
+ 265, 266, 267, 268, 269, 270, 303, 290, 329, 293,
+ 330, 300, 308, 311, 309, 276, 322, 324, 328, 274,
+ 275, 332, 333, 334, 320, 321, 351, 83, 360, 85,
+ 323, 358, 366, 326, 343, 362, 367, 369, 353, 371,
+ 354, 373, 211, 272, 136, 140, 141, 142, 143, 144,
+ 145, 336, 146, 338, 363, 147, 148, 149, 248, 291,
+ 292, 342, 138, 348, 139, 279, 0, 372, 0, 355,
+ 0, 150, 151, 152, 153, 154, 155, 156, 0, 356,
+ 361, 0, 0, 364, 359, 0, 0, 0, 0, 368,
+ 0, 370, 0, 0, 0, 0, 314, 0, 374, 0,
+ 316, 317, 318, 319, 0, 0, 315, 0, 0, 0,
+ 0, 0, 325, 0, 0, 0, 0, 0, 0, -5,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 335, 0, 2, 0, 0, 3, 4, 0, 341, 5,
+ 6, 7, 8, 9, 10, 0, 11, 0, 12, 13,
+ 14, 15, 0, 357, 0, 16, 17, 18, 19, 0,
+ 0, 0, 20, 0, 21, 0, 0, 22, 23, 24,
+ 0, 0, 25, 0, 0, 0, 26, 27, 28, 0,
+ 29, 0, 0, 0, 0, 0, 0, 30, 0, 0,
+ 0, 0, 0, 0, 31, 32, 33, 34, 35, 0,
+ 0, 36, 37, 38, 0, 0, 0, 0, 0, 0,
+ 39, 40, 0, 175, 2, -5, 41, 3, 4, 42,
+ 0, 5, 0, 7, 8, 65, 120, 0, 121, 0,
+ 0, 0, 14, 15, 140, 141, 142, 143, 144, 145,
+ 0, 146, 176, 177, 147, 148, 149, 0, 0, 66,
+ 0, 24, 0, 0, 0, 0, 0, 0, 0, 0,
+ 150, 151, 152, 153, 154, 155, 156, 0, 0, 30,
+ 0, 0, 0, 0, 0, 0, 31, 32, 33, 34,
+ 35, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 39, 40, 0, 0, 0, 0, 41, 0,
+ 0, 42, 2, 122, 0, 3, 4, 0, 0, 5,
+ 6, 7, 8, 9, 10, 0, 11, 0, 12, 13,
+ 14, 15, 0, 0, 0, 16, 17, 18, 19, 0,
+ 0, 0, 20, 0, 21, 0, 0, 22, 23, 24,
+ 0, 0, 25, 0, 0, 0, 26, 27, 28, 0,
+ 29, 0, 0, 0, 0, 0, 0, 30, 0, 0,
+ 0, 0, 0, 0, 31, 32, 33, 34, 35, 0,
+ 0, 36, 37, 38, 0, 0, 0, 0, 0, 0,
+ 39, 40, 0, 0, 2, 0, 41, 3, 4, 42,
+ 0, 5, 6, 7, 8, 9, 10, 0, 11, 339,
+ 12, 0, 14, 15, 0, 0, 0, 16, 17, 18,
+ 19, 0, 0, 0, 0, 0, 21, 0, 0, 22,
+ 23, 24, 0, 0, 25, 0, 0, 0, 0, 27,
+ 28, 0, 29, 0, 0, 0, 0, 0, 0, 30,
+ 0, 0, 0, 0, 0, 0, 31, 32, 33, 34,
+ 35, 0, 0, 36, 37, 0, 0, 0, 0, 0,
+ 0, 0, 39, 40, 0, 0, 2, 301, 41, 3,
+ 4, 42, 0, 5, 6, 7, 8, 9, 10, 0,
+ 11, 0, 12, 0, 14, 15, 0, 0, 0, 16,
+ 17, 18, 19, 0, 0, 0, 0, 0, 21, 0,
0, 22, 23, 24, 0, 0, 25, 0, 0, 0,
- 26, 27, 28, 0, 29, 0, 0, 0, 0, 0,
+ 0, 27, 28, 0, 29, 0, 0, 0, 0, 0,
0, 30, 0, 0, 0, 0, 0, 0, 31, 32,
- 33, 34, 35, 0, 0, 36, 37, 38, 0, 0,
- 0, 0, 0, 0, 39, 40, 0, 0, 2, 0,
- 41, 3, 4, 42, 5, 6, 7, 8, 9, 10,
- 0, 11, 334, 12, 0, 14, 15, 0, 0, 0,
- 16, 17, 18, 19, 0, 0, 0, 0, 0, 21,
- 0, 0, 22, 23, 24, 0, 0, 25, 0, 0,
- 0, 0, 27, 28, 0, 29, 0, 0, 0, 0,
- 0, 0, 30, 0, 0, 0, 0, 0, 0, 31,
- 32, 33, 34, 35, 0, 0, 36, 37, 0, 0,
- 0, 0, 0, 0, 0, 39, 40, 0, 0, 2,
- 297, 41, 3, 4, 42, 5, 6, 7, 8, 9,
+ 33, 34, 35, 0, 0, 36, 37, 0, 0, 0,
+ 0, 0, 0, 0, 39, 40, 0, 0, 2, 301,
+ 41, 3, 4, 42, 0, 5, 6, 7, 8, 9,
10, 0, 11, 0, 12, 0, 14, 15, 0, 0,
0, 16, 17, 18, 19, 0, 0, 0, 0, 0,
- 21, 0, 0, 22, 23, 24, 0, 0, 25, 0,
+ 0, 0, 0, 22, 0, 24, 0, 0, 0, 0,
0, 0, 0, 27, 28, 0, 29, 0, 0, 0,
0, 0, 0, 30, 0, 0, 0, 0, 0, 0,
- 31, 32, 33, 34, 35, 0, 0, 36, 37, 0,
+ 31, 32, 33, 34, 35, 0, 0, 0, 37, 0,
0, 0, 0, 0, 0, 0, 39, 40, 0, 0,
- 2, 297, 41, 3, 4, 42, 5, 6, 7, 8,
- 9, 10, 0, 11, 0, 12, 0, 14, 15, 0,
- 0, 0, 16, 17, 18, 19, 0, 0, 0, 0,
- 0, 0, 0, 0, 22, 0, 24, 0, 0, 0,
- 0, 0, 0, 0, 27, 28, 0, 29, 0, 0,
- 0, 0, 0, 0, 30, 0, 0, 0, 0, 0,
- 0, 31, 32, 33, 34, 35, 0, 0, 0, 37,
- 0, 0, 0, 0, 0, 0, 0, 39, 40, 0,
- 0, 2, 0, 41, 3, 4, 42, 5, 6, 7,
+ 2, 0, 41, 3, 4, 42, 0, 5, 6, 7,
8, 9, 10, 0, 11, 0, 12, 0, 14, 15,
0, 0, 0, 16, 17, 18, 0, 0, 0, 0,
0, 0, 0, 0, 0, 22, 0, 24, 0, 0,
- 0, 0, 0, 0, 0, 27, 28, 0, 29, 0,
+ 2, 0, 0, 3, 4, 27, 28, 5, 29, 7,
+ 8, 65, 10, 0, 11, 30, 0, 0, 14, 15,
+ 0, 0, 31, 32, 33, 34, 35, 0, 0, 82,
+ 37, 83, 84, 85, 86, 66, 0, 24, 39, 40,
+ 0, 0, 0, 0, 41, 0, 0, 42, 0, 0,
0, 0, 0, 0, 0, 30, 0, 0, 0, 0,
0, 0, 31, 32, 33, 34, 35, 0, 0, 0,
- 37, 0, 0, 0, 0, 0, 0, 0, 39, 40,
- 0, 0, 2, 0, 41, 3, 4, 42, 5, 0,
- 7, 8, 65, 10, 0, 11, 0, 0, 0, 14,
- 15, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 82, 0, 83, 84, 85, 86, 66, 0, 24, 0,
- 2, 0, 0, 3, 4, 0, 5, 0, 7, 8,
- 65, 10, 0, 11, 0, 0, 30, 14, 15, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 39, 40,
+ 0, 0, 2, 0, 41, 3, 4, 42, 0, 5,
+ 0, 7, 8, 65, 10, 0, 11, 0, 0, 0,
+ 14, 15, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 83, 0, 85, 0, 66, 0, 24,
+ 0, 2, 0, 0, 3, 4, 0, 91, 5, 103,
+ 7, 8, 65, 10, 0, 11, 0, 30, 0, 14,
+ 15, 0, 0, 0, 31, 32, 33, 34, 35, 0,
+ 0, 0, 0, 0, 0, 0, 66, 0, 24, 0,
+ 39, 40, 0, 0, 0, 0, 41, 0, 0, 42,
+ 0, 0, 0, 0, 0, 0, 30, 0, 0, 0,
0, 0, 0, 31, 32, 33, 34, 35, 0, 0,
- 83, 0, 85, 0, 66, 0, 24, 0, 0, 39,
- 40, 0, 0, 0, 0, 41, 102, 0, 42, 0,
- 0, 0, 0, 0, 30, 0, 0, 0, 0, 0,
- 0, 31, 32, 33, 34, 35, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 39, 40, 0,
- 0, 2, 0, 41, 3, 4, 42, 5, 0, 7,
- 8, 65, 10, 0, 11, 0, 0, 0, 14, 15,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 66, 2, 24, 0, 3,
- 4, 0, 5, 0, 7, 8, 65, 10, 0, 11,
- 0, 0, 0, 14, 15, 30, 0, 0, 0, 0,
- 0, 0, 31, 32, 33, 34, 35, 0, 0, 0,
- 66, 0, 24, 0, 0, 0, 0, 0, 39, 40,
- 0, 0, 0, 0, 41, 0, 0, 42, 0, 0,
- 30, 0, 0, 0, 0, 0, 0, 31, 32, 33,
- 34, 35, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 39, 40, 0, 0, 2, 0, 68,
- 3, 4, 42, 5, 0, 7, 8, 65, 10, 0,
- 11, 0, 0, 0, 14, 15, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 66, 2, 24, 0, 3, 4, 0, 5, 0,
- 7, 8, 65, 10, 0, 11, 0, 0, 0, 14,
- 15, 30, 0, 0, 0, 0, 0, 0, 31, 32,
- 33, 34, 35, 0, 0, 0, 66, 0, 24, 0,
- 0, 0, 0, 0, 39, 40, 0, 0, 0, 0,
- 71, 0, 0, 42, 0, 0, 30, 0, 0, 0,
- 0, 0, 0, 31, 32, 33, 34, 35, 173, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 39,
- 40, 0, 0, 0, 0, 75, 0, 0, 42, 139,
- 140, 141, 142, 143, 144, 0, 145, 174, 175, 146,
- 147, 148, 0, 0, 0, 0, 188, 0, 0, 0,
- 0, 0, 189, 0, 0, 149, 150, 151, 152, 153,
- 154, 155, 139, 140, 141, 142, 143, 144, 0, 145,
- 0, 0, 146, 147, 148, 0, 0, 0, 0, 190,
- 0, 0, 0, 0, 0, 191, 0, 0, 149, 150,
- 151, 152, 153, 154, 155, 139, 140, 141, 142, 143,
- 144, 0, 145, 0, 0, 146, 147, 148, 0, 0,
- 0, 0, 192, 0, 0, 0, 0, 0, 193, 0,
- 0, 149, 150, 151, 152, 153, 154, 155, 139, 140,
- 141, 142, 143, 144, 0, 145, 0, 0, 146, 147,
- 148, 0, 0, 0, 0, 194, 0, 0, 0, 0,
- 0, 195, 0, 0, 149, 150, 151, 152, 153, 154,
- 155, 139, 140, 141, 142, 143, 144, 0, 145, 0,
- 0, 146, 147, 148, 0, 0, 0, 0, 290, 0,
- 0, 0, 0, 0, 0, 0, 0, 149, 150, 151,
- 152, 153, 154, 155, 139, 140, 141, 142, 143, 144,
- 0, 145, 0, 0, 146, 147, 148, 0, 0, 0,
- 0, 291, 0, 0, 0, 0, 0, 0, 0, 0,
- 149, 150, 151, 152, 153, 154, 155, 139, 140, 141,
- 142, 143, 144, 0, 145, 0, 0, 146, 147, 148,
- 0, 0, 0, 0, 292, 0, 0, 0, 0, 0,
- 0, 0, 0, 149, 150, 151, 152, 153, 154, 155,
- 139, 140, 141, 142, 143, 144, 0, 145, 0, 0,
- 146, 147, 148, 0, 0, 0, 0, 293, 0, 0,
- 0, 0, 0, 0, 0, 0, 149, 150, 151, 152,
- 153, 154, 155, 139, 140, 141, 142, 143, 144, 0,
- 145, 0, 0, 146, 147, 148, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 198, 0, 0, 149,
- 150, 151, 152, 153, 154, 155, 139, 140, 141, 142,
- 143, 144, 0, 145, 0, 0, 146, 147, 148, 139,
- 140, 141, 142, 143, 144, 0, 145, 0, 0, 146,
- 147, 148, 149, 150, 151, 152, 153, 154, 155, 0,
- 199, 0, 0, 0, 0, 149, 150, 151, 152, 153,
- 154, 155, 0, 0, 0, 203, 139, 140, 141, 142,
- 143, 144, 0, 145, 0, 0, 146, 147, 148, 0,
- 0, 0, 0, 0, 196, 197, 0, 0, 0, 0,
- 0, 0, 149, 150, 151, 152, 153, 154, 155, 139,
- 140, 141, 142, 143, 144, 0, 145, 0, 0, 146,
- 147, 148, 139, 140, 141, 142, 0, 0, 0, 145,
- 0, 0, 146, 147, 148, 149, 150, 151, 152, 153,
- 154, 155, 0, 0, 0, 0, 0, 0, 149, 150,
- 151, 152, 153, 154, 155
+ 40, 0, 0, 2, 0, 41, 3, 4, 42, 0,
+ 5, 0, 7, 8, 65, 10, 0, 11, 0, 0,
+ 0, 14, 15, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 66, 0,
+ 24, 2, 0, 0, 3, 4, 0, 0, 5, 0,
+ 7, 8, 65, 10, 0, 11, 0, 0, 30, 14,
+ 15, 0, 0, 0, 0, 31, 32, 33, 34, 35,
+ 0, 0, 0, 0, 0, 0, 66, 0, 24, 0,
+ 0, 39, 40, 0, 0, 0, 0, 41, 0, 0,
+ 42, 0, 0, 0, 0, 0, 30, 0, 0, 0,
+ 0, 0, 0, 31, 32, 33, 34, 35, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 39,
+ 40, 0, 0, 2, 0, 68, 3, 4, 42, 0,
+ 5, 0, 7, 8, 65, 10, 0, 11, 0, 0,
+ 0, 14, 15, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 66, 0,
+ 24, 2, 0, 0, 3, 4, 0, 0, 5, 0,
+ 7, 8, 65, 10, 0, 11, 0, 0, 30, 14,
+ 15, 0, 0, 0, 0, 31, 32, 33, 34, 35,
+ 0, 0, 0, 0, 0, 0, 66, 0, 24, 0,
+ 0, 39, 40, 0, 0, 0, 0, 71, 0, 0,
+ 42, 0, 0, 0, 0, 190, 30, 0, 0, 0,
+ 0, 191, 0, 31, 32, 33, 34, 35, 0, 0,
+ 0, 140, 141, 142, 143, 144, 145, 0, 146, 39,
+ 40, 147, 148, 149, 0, 75, 0, 0, 42, 192,
+ 0, 0, 0, 0, 0, 193, 0, 150, 151, 152,
+ 153, 154, 155, 156, 0, 140, 141, 142, 143, 144,
+ 145, 0, 146, 0, 0, 147, 148, 149, 0, 0,
+ 0, 0, 194, 0, 0, 0, 0, 0, 195, 0,
+ 0, 150, 151, 152, 153, 154, 155, 156, 140, 141,
+ 142, 143, 144, 145, 0, 146, 0, 0, 147, 148,
+ 149, 0, 0, 0, 0, 196, 0, 0, 0, 0,
+ 0, 197, 0, 0, 150, 151, 152, 153, 154, 155,
+ 156, 140, 141, 142, 143, 144, 145, 0, 146, 0,
+ 0, 147, 148, 149, 0, 0, 0, 0, 294, 0,
+ 0, 0, 0, 0, 0, 0, 0, 150, 151, 152,
+ 153, 154, 155, 156, 140, 141, 142, 143, 144, 145,
+ 0, 146, 0, 0, 147, 148, 149, 0, 0, 0,
+ 0, 295, 0, 0, 0, 0, 0, 0, 0, 0,
+ 150, 151, 152, 153, 154, 155, 156, 140, 141, 142,
+ 143, 144, 145, 0, 146, 0, 0, 147, 148, 149,
+ 0, 0, 0, 0, 296, 0, 0, 0, 0, 0,
+ 0, 0, 0, 150, 151, 152, 153, 154, 155, 156,
+ 140, 141, 142, 143, 144, 145, 0, 146, 0, 0,
+ 147, 148, 149, 0, 0, 0, 0, 297, 0, 0,
+ 0, 0, 0, 0, 0, 0, 150, 151, 152, 153,
+ 154, 155, 156, 140, 141, 142, 143, 144, 145, 0,
+ 146, 0, 0, 147, 148, 149, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 200, 0, 0, 150,
+ 151, 152, 153, 154, 155, 156, 140, 141, 142, 143,
+ 144, 145, 0, 146, 0, 0, 147, 148, 149, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 150, 151, 152, 153, 154, 155, 156, 187,
+ 201, 0, 0, 0, 0, 0, 0, 140, 141, 142,
+ 143, 144, 145, 0, 146, 0, 0, 147, 148, 149,
+ 140, 141, 142, 143, 144, 145, 0, 146, 0, 0,
+ 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
+ 0, 0, 0, 0, 0, 0, 150, 151, 152, 153,
+ 154, 155, 156, 0, 0, 0, 205, 140, 141, 142,
+ 143, 144, 145, 0, 146, 0, 0, 147, 148, 149,
+ 0, 0, 0, 0, 0, 198, 199, 0, 0, 0,
+ 0, 0, 0, 150, 151, 152, 153, 154, 155, 156,
+ 140, 141, 142, 143, 144, 145, 0, 146, 0, 0,
+ 147, 148, 149, 140, 141, 142, 143, 0, 0, 0,
+ 146, 0, 0, 147, 148, 149, 150, 151, 152, 153,
+ 154, 155, 156, 0, 0, 0, 0, 0, 0, 150,
+ 151, 152, 153, 154, 155, 156
};
static const yytype_int16 yycheck[] =
{
- 4, 8, 6, 7, 79, 9, 0, 0, 166, 28,
- 6, 7, 33, 268, 18, 284, 95, 95, 22, 98,
- 98, 95, 95, 27, 28, 98, 30, 31, 32, 33,
- 34, 35, 36, 13, 68, 39, 40, 41, 42, 19,
- 22, 23, 39, 23, 24, 49, 26, 51, 52, 304,
- 132, 133, 23, 51, 32, 97, 98, 326, 92, 93,
- 97, 98, 66, 84, 68, 63, 63, 71, 87, 53,
- 54, 75, 68, 51, 78, 71, 33, 34, 51, 83,
- 97, 98, 78, 68, 103, 51, 71, 68, 95, 96,
- 63, 23, 74, 75, 76, 77, 24, 63, 26, 354,
- 48, 48, 95, 23, 89, 90, 91, 92, 93, 90,
- 91, 92, 93, 96, 23, 23, 43, 23, 51, 99,
- 50, 98, 98, 98, 23, 23, 130, 131, 286, 211,
- 212, 135, 101, 215, 128, 139, 140, 141, 142, 143,
+ 4, 167, 6, 7, 79, 9, 0, 0, 13, 271,
+ 28, 8, 34, 287, 18, 20, 6, 7, 22, 24,
+ 25, 52, 27, 27, 28, 33, 30, 31, 32, 33,
+ 34, 35, 36, 64, 69, 39, 40, 41, 42, 23,
+ 24, 40, 54, 55, 52, 49, 308, 51, 52, 133,
+ 134, 98, 99, 16, 17, 18, 96, 331, 93, 94,
+ 52, 24, 66, 85, 68, 64, 24, 71, 31, 87,
+ 52, 75, 64, 96, 78, 49, 99, 96, 68, 83,
+ 99, 71, 64, 25, 69, 27, 104, 72, 78, 69,
+ 49, 75, 76, 77, 78, 100, 24, 359, 96, 96,
+ 97, 99, 24, 96, 99, 90, 91, 92, 93, 94,
+ 97, 91, 92, 93, 94, 98, 99, 98, 99, 34,
+ 35, 99, 24, 289, 44, 24, 24, 131, 132, 213,
+ 214, 24, 136, 217, 52, 129, 140, 141, 142, 143,
144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
- 154, 155, 101, 157, 100, 98, 98, 161, 23, 98,
- 164, 45, 16, 17, 18, 23, 170, 98, 243, 23,
- 174, 175, 50, 177, 178, 23, 30, 181, 182, 183,
- 23, 185, 23, 50, 188, 189, 190, 191, 192, 193,
- 194, 195, 196, 197, 98, 277, 53, 204, 205, 23,
- 85, 51, 23, 207, 61, 62, 63, 64, 65, 66,
- 86, 68, 294, 295, 71, 72, 73, 51, 300, 85,
- 23, 303, 84, 98, 85, 23, 85, 50, 84, 84,
- 87, 88, 89, 90, 91, 92, 93, 128, 320, 199,
- 322, 52, 52, 52, 173, 208, 250, 251, 330, -1,
- 332, -1, -1, -1, -1, -1, 338, -1, -1, -1,
- -1, -1, -1, -1, 339, -1, -1, 349, -1, 344,
- 352, -1, -1, -1, -1, -1, 358, -1, 360, -1,
- -1, -1, 289, 0, 1, 367, 290, 291, 292, 293,
- -1, -1, -1, -1, -1, -1, 13, -1, 302, 16,
- 17, -1, 19, 20, 21, 22, 23, 24, -1, 26,
- -1, 28, 29, 30, 31, 319, -1, -1, 35, 36,
- 37, 38, -1, 327, -1, 42, -1, 44, -1, -1,
- 47, 48, 49, 269, -1, 52, -1, -1, 342, 56,
- 57, 58, 278, 60, 280, -1, -1, -1, -1, -1,
- 67, -1, -1, -1, -1, -1, -1, 74, 75, 76,
- 77, 78, -1, -1, 81, 82, 83, -1, -1, -1,
- 306, -1, 308, 90, 91, -1, -1, -1, 95, 96,
- 13, -1, 99, 16, 17, -1, 19, -1, 21, 22,
- 23, 24, -1, 26, -1, 331, -1, 30, 31, 335,
- -1, 337, 43, -1, 45, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 47, 351, 49, -1, -1, -1,
- 61, 62, 63, 64, 65, 66, -1, 68, 364, -1,
- 71, 72, 73, -1, 67, -1, -1, -1, -1, -1,
- -1, 74, 75, 76, 77, 78, 87, 88, 89, 90,
- 91, 92, 93, -1, -1, -1, -1, 90, 91, -1,
- -1, -1, -1, 96, -1, -1, 99, 13, 101, -1,
- 16, 17, -1, 19, 20, 21, 22, 23, 24, -1,
- 26, -1, 28, 29, 30, 31, -1, -1, -1, 35,
- 36, 37, 38, -1, -1, -1, 42, -1, 44, -1,
- -1, 47, 48, 49, -1, -1, 52, -1, -1, -1,
- 56, 57, 58, -1, 60, -1, -1, -1, -1, -1,
- -1, 67, -1, -1, -1, -1, -1, -1, 74, 75,
- 76, 77, 78, -1, -1, 81, 82, 83, -1, -1,
- -1, -1, -1, -1, 90, 91, -1, -1, 13, -1,
- 96, 16, 17, 99, 19, 20, 21, 22, 23, 24,
- -1, 26, 27, 28, -1, 30, 31, -1, -1, -1,
- 35, 36, 37, 38, -1, -1, -1, -1, -1, 44,
- -1, -1, 47, 48, 49, -1, -1, 52, -1, -1,
- -1, -1, 57, 58, -1, 60, -1, -1, -1, -1,
- -1, -1, 67, -1, -1, -1, -1, -1, -1, 74,
- 75, 76, 77, 78, -1, -1, 81, 82, -1, -1,
- -1, -1, -1, -1, -1, 90, 91, -1, -1, 13,
- 95, 96, 16, 17, 99, 19, 20, 21, 22, 23,
- 24, -1, 26, -1, 28, -1, 30, 31, -1, -1,
- -1, 35, 36, 37, 38, -1, -1, -1, -1, -1,
- 44, -1, -1, 47, 48, 49, -1, -1, 52, -1,
- -1, -1, -1, 57, 58, -1, 60, -1, -1, -1,
- -1, -1, -1, 67, -1, -1, -1, -1, -1, -1,
- 74, 75, 76, 77, 78, -1, -1, 81, 82, -1,
- -1, -1, -1, -1, -1, -1, 90, 91, -1, -1,
- 13, 95, 96, 16, 17, 99, 19, 20, 21, 22,
- 23, 24, -1, 26, -1, 28, -1, 30, 31, -1,
- -1, -1, 35, 36, 37, 38, -1, -1, -1, -1,
- -1, -1, -1, -1, 47, -1, 49, -1, -1, -1,
- -1, -1, -1, -1, 57, 58, -1, 60, -1, -1,
- -1, -1, -1, -1, 67, -1, -1, -1, -1, -1,
- -1, 74, 75, 76, 77, 78, -1, -1, -1, 82,
- -1, -1, -1, -1, -1, -1, -1, 90, 91, -1,
- -1, 13, -1, 96, 16, 17, 99, 19, 20, 21,
- 22, 23, 24, -1, 26, -1, 28, -1, 30, 31,
- -1, -1, -1, 35, 36, 37, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 47, -1, 49, -1, -1,
- -1, -1, -1, -1, -1, 57, 58, -1, 60, -1,
- -1, -1, -1, -1, -1, 67, -1, -1, -1, -1,
- -1, -1, 74, 75, 76, 77, 78, -1, -1, -1,
- 82, -1, -1, -1, -1, -1, -1, -1, 90, 91,
- -1, -1, 13, -1, 96, 16, 17, 99, 19, -1,
- 21, 22, 23, 24, -1, 26, -1, -1, -1, 30,
- 31, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 41, -1, 43, 44, 45, 46, 47, -1, 49, -1,
- 13, -1, -1, 16, 17, -1, 19, -1, 21, 22,
- 23, 24, -1, 26, -1, -1, 67, 30, 31, -1,
- -1, -1, -1, 74, 75, 76, 77, 78, -1, -1,
- 43, -1, 45, -1, 47, -1, 49, -1, -1, 90,
- 91, -1, -1, -1, -1, 96, 59, -1, 99, -1,
- -1, -1, -1, -1, 67, -1, -1, -1, -1, -1,
- -1, 74, 75, 76, 77, 78, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 90, 91, -1,
- -1, 13, -1, 96, 16, 17, 99, 19, -1, 21,
- 22, 23, 24, -1, 26, -1, -1, -1, 30, 31,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 47, 13, 49, -1, 16,
- 17, -1, 19, -1, 21, 22, 23, 24, -1, 26,
- -1, -1, -1, 30, 31, 67, -1, -1, -1, -1,
- -1, -1, 74, 75, 76, 77, 78, -1, -1, -1,
- 47, -1, 49, -1, -1, -1, -1, -1, 90, 91,
- -1, -1, -1, -1, 96, -1, -1, 99, -1, -1,
- 67, -1, -1, -1, -1, -1, -1, 74, 75, 76,
- 77, 78, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 90, 91, -1, -1, 13, -1, 96,
- 16, 17, 99, 19, -1, 21, 22, 23, 24, -1,
- 26, -1, -1, -1, 30, 31, -1, -1, -1, -1,
+ 154, 155, 156, 99, 158, 51, 24, 24, 162, 102,
+ 272, 165, 102, 101, 99, 99, 24, 171, 99, 281,
+ 245, 283, 176, 177, 46, 179, 180, 174, 24, 183,
+ 184, 185, 99, 187, 24, 51, 190, 191, 192, 193,
+ 194, 195, 196, 197, 198, 199, 280, 41, 310, 24,
+ 312, 24, 51, 24, 99, 209, 86, 52, 24, 206,
+ 207, 52, 87, 86, 298, 299, 24, 44, 99, 46,
+ 304, 85, 24, 307, 336, 86, 86, 51, 340, 85,
+ 342, 85, 129, 201, 52, 62, 63, 64, 65, 66,
+ 67, 325, 69, 327, 356, 72, 73, 74, 175, 253,
+ 254, 335, 52, 337, 52, 210, -1, 369, -1, 343,
+ -1, 88, 89, 90, 91, 92, 93, 94, -1, 344,
+ 354, -1, -1, 357, 349, -1, -1, -1, -1, 363,
+ -1, 365, -1, -1, -1, -1, 290, -1, 372, -1,
+ 294, 295, 296, 297, -1, -1, 293, -1, -1, -1,
+ -1, -1, 306, -1, -1, -1, -1, -1, -1, 0,
+ 1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 324, -1, 13, -1, -1, 16, 17, -1, 332, 20,
+ 21, 22, 23, 24, 25, -1, 27, -1, 29, 30,
+ 31, 32, -1, 347, -1, 36, 37, 38, 39, -1,
+ -1, -1, 43, -1, 45, -1, -1, 48, 49, 50,
+ -1, -1, 53, -1, -1, -1, 57, 58, 59, -1,
+ 61, -1, -1, -1, -1, -1, -1, 68, -1, -1,
+ -1, -1, -1, -1, 75, 76, 77, 78, 79, -1,
+ -1, 82, 83, 84, -1, -1, -1, -1, -1, -1,
+ 91, 92, -1, 41, 13, 96, 97, 16, 17, 100,
+ -1, 20, -1, 22, 23, 24, 25, -1, 27, -1,
+ -1, -1, 31, 32, 62, 63, 64, 65, 66, 67,
+ -1, 69, 70, 71, 72, 73, 74, -1, -1, 48,
+ -1, 50, -1, -1, -1, -1, -1, -1, -1, -1,
+ 88, 89, 90, 91, 92, 93, 94, -1, -1, 68,
+ -1, -1, -1, -1, -1, -1, 75, 76, 77, 78,
+ 79, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 91, 92, -1, -1, -1, -1, 97, -1,
+ -1, 100, 13, 102, -1, 16, 17, -1, -1, 20,
+ 21, 22, 23, 24, 25, -1, 27, -1, 29, 30,
+ 31, 32, -1, -1, -1, 36, 37, 38, 39, -1,
+ -1, -1, 43, -1, 45, -1, -1, 48, 49, 50,
+ -1, -1, 53, -1, -1, -1, 57, 58, 59, -1,
+ 61, -1, -1, -1, -1, -1, -1, 68, -1, -1,
+ -1, -1, -1, -1, 75, 76, 77, 78, 79, -1,
+ -1, 82, 83, 84, -1, -1, -1, -1, -1, -1,
+ 91, 92, -1, -1, 13, -1, 97, 16, 17, 100,
+ -1, 20, 21, 22, 23, 24, 25, -1, 27, 28,
+ 29, -1, 31, 32, -1, -1, -1, 36, 37, 38,
+ 39, -1, -1, -1, -1, -1, 45, -1, -1, 48,
+ 49, 50, -1, -1, 53, -1, -1, -1, -1, 58,
+ 59, -1, 61, -1, -1, -1, -1, -1, -1, 68,
+ -1, -1, -1, -1, -1, -1, 75, 76, 77, 78,
+ 79, -1, -1, 82, 83, -1, -1, -1, -1, -1,
+ -1, -1, 91, 92, -1, -1, 13, 96, 97, 16,
+ 17, 100, -1, 20, 21, 22, 23, 24, 25, -1,
+ 27, -1, 29, -1, 31, 32, -1, -1, -1, 36,
+ 37, 38, 39, -1, -1, -1, -1, -1, 45, -1,
+ -1, 48, 49, 50, -1, -1, 53, -1, -1, -1,
+ -1, 58, 59, -1, 61, -1, -1, -1, -1, -1,
+ -1, 68, -1, -1, -1, -1, -1, -1, 75, 76,
+ 77, 78, 79, -1, -1, 82, 83, -1, -1, -1,
+ -1, -1, -1, -1, 91, 92, -1, -1, 13, 96,
+ 97, 16, 17, 100, -1, 20, 21, 22, 23, 24,
+ 25, -1, 27, -1, 29, -1, 31, 32, -1, -1,
+ -1, 36, 37, 38, 39, -1, -1, -1, -1, -1,
+ -1, -1, -1, 48, -1, 50, -1, -1, -1, -1,
+ -1, -1, -1, 58, 59, -1, 61, -1, -1, -1,
+ -1, -1, -1, 68, -1, -1, -1, -1, -1, -1,
+ 75, 76, 77, 78, 79, -1, -1, -1, 83, -1,
+ -1, -1, -1, -1, -1, -1, 91, 92, -1, -1,
+ 13, -1, 97, 16, 17, 100, -1, 20, 21, 22,
+ 23, 24, 25, -1, 27, -1, 29, -1, 31, 32,
+ -1, -1, -1, 36, 37, 38, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 48, -1, 50, -1, -1,
+ 13, -1, -1, 16, 17, 58, 59, 20, 61, 22,
+ 23, 24, 25, -1, 27, 68, -1, -1, 31, 32,
+ -1, -1, 75, 76, 77, 78, 79, -1, -1, 42,
+ 83, 44, 45, 46, 47, 48, -1, 50, 91, 92,
+ -1, -1, -1, -1, 97, -1, -1, 100, -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, -1, 13, -1, 97, 16, 17, 100, -1, 20,
+ -1, 22, 23, 24, 25, -1, 27, -1, -1, -1,
+ 31, 32, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 44, -1, 46, -1, 48, -1, 50,
+ -1, 13, -1, -1, 16, 17, -1, 19, 20, 60,
+ 22, 23, 24, 25, -1, 27, -1, 68, -1, 31,
+ 32, -1, -1, -1, 75, 76, 77, 78, 79, -1,
+ -1, -1, -1, -1, -1, -1, 48, -1, 50, -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, 13, -1, 97, 16, 17, 100, -1,
+ 20, -1, 22, 23, 24, 25, -1, 27, -1, -1,
+ -1, 31, 32, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 48, -1,
+ 50, 13, -1, -1, 16, 17, -1, -1, 20, -1,
+ 22, 23, 24, 25, -1, 27, -1, -1, 68, 31,
+ 32, -1, -1, -1, -1, 75, 76, 77, 78, 79,
+ -1, -1, -1, -1, -1, -1, 48, -1, 50, -1,
+ -1, 91, 92, -1, -1, -1, -1, 97, -1, -1,
+ 100, -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, 13, -1, 97, 16, 17, 100, -1,
+ 20, -1, 22, 23, 24, 25, -1, 27, -1, -1,
+ -1, 31, 32, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 48, -1,
+ 50, 13, -1, -1, 16, 17, -1, -1, 20, -1,
+ 22, 23, 24, 25, -1, 27, -1, -1, 68, 31,
+ 32, -1, -1, -1, -1, 75, 76, 77, 78, 79,
+ -1, -1, -1, -1, -1, -1, 48, -1, 50, -1,
+ -1, 91, 92, -1, -1, -1, -1, 97, -1, -1,
+ 100, -1, -1, -1, -1, 46, 68, -1, -1, -1,
+ -1, 52, -1, 75, 76, 77, 78, 79, -1, -1,
+ -1, 62, 63, 64, 65, 66, 67, -1, 69, 91,
+ 92, 72, 73, 74, -1, 97, -1, -1, 100, 46,
+ -1, -1, -1, -1, -1, 52, -1, 88, 89, 90,
+ 91, 92, 93, 94, -1, 62, 63, 64, 65, 66,
+ 67, -1, 69, -1, -1, 72, 73, 74, -1, -1,
+ -1, -1, 46, -1, -1, -1, -1, -1, 52, -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, 46, -1, -1, -1, -1,
+ -1, 52, -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, 46, -1,
+ -1, -1, -1, -1, -1, -1, -1, 88, 89, 90,
+ 91, 92, 93, 94, 62, 63, 64, 65, 66, 67,
+ -1, 69, -1, -1, 72, 73, 74, -1, -1, -1,
+ -1, 46, -1, -1, -1, -1, -1, -1, -1, -1,
+ 88, 89, 90, 91, 92, 93, 94, 62, 63, 64,
+ 65, 66, 67, -1, 69, -1, -1, 72, 73, 74,
+ -1, -1, -1, -1, 46, -1, -1, -1, -1, -1,
+ -1, -1, -1, 88, 89, 90, 91, 92, 93, 94,
+ 62, 63, 64, 65, 66, 67, -1, 69, -1, -1,
+ 72, 73, 74, -1, -1, -1, -1, 46, -1, -1,
+ -1, -1, -1, -1, -1, -1, 88, 89, 90, 91,
+ 92, 93, 94, 62, 63, 64, 65, 66, 67, -1,
+ 69, -1, -1, 72, 73, 74, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 52, -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, 47, 13, 49, -1, 16, 17, -1, 19, -1,
- 21, 22, 23, 24, -1, 26, -1, -1, -1, 30,
- 31, 67, -1, -1, -1, -1, -1, -1, 74, 75,
- 76, 77, 78, -1, -1, -1, 47, -1, 49, -1,
- -1, -1, -1, -1, 90, 91, -1, -1, -1, -1,
- 96, -1, -1, 99, -1, -1, 67, -1, -1, -1,
- -1, -1, -1, 74, 75, 76, 77, 78, 40, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 90,
- 91, -1, -1, -1, -1, 96, -1, -1, 99, 61,
- 62, 63, 64, 65, 66, -1, 68, 69, 70, 71,
- 72, 73, -1, -1, -1, -1, 45, -1, -1, -1,
- -1, -1, 51, -1, -1, 87, 88, 89, 90, 91,
- 92, 93, 61, 62, 63, 64, 65, 66, -1, 68,
- -1, -1, 71, 72, 73, -1, -1, -1, -1, 45,
- -1, -1, -1, -1, -1, 51, -1, -1, 87, 88,
- 89, 90, 91, 92, 93, 61, 62, 63, 64, 65,
- 66, -1, 68, -1, -1, 71, 72, 73, -1, -1,
- -1, -1, 45, -1, -1, -1, -1, -1, 51, -1,
- -1, 87, 88, 89, 90, 91, 92, 93, 61, 62,
- 63, 64, 65, 66, -1, 68, -1, -1, 71, 72,
- 73, -1, -1, -1, -1, 45, -1, -1, -1, -1,
- -1, 51, -1, -1, 87, 88, 89, 90, 91, 92,
- 93, 61, 62, 63, 64, 65, 66, -1, 68, -1,
- -1, 71, 72, 73, -1, -1, -1, -1, 45, -1,
- -1, -1, -1, -1, -1, -1, -1, 87, 88, 89,
- 90, 91, 92, 93, 61, 62, 63, 64, 65, 66,
- -1, 68, -1, -1, 71, 72, 73, -1, -1, -1,
- -1, 45, -1, -1, -1, -1, -1, -1, -1, -1,
- 87, 88, 89, 90, 91, 92, 93, 61, 62, 63,
- 64, 65, 66, -1, 68, -1, -1, 71, 72, 73,
- -1, -1, -1, -1, 45, -1, -1, -1, -1, -1,
- -1, -1, -1, 87, 88, 89, 90, 91, 92, 93,
- 61, 62, 63, 64, 65, 66, -1, 68, -1, -1,
- 71, 72, 73, -1, -1, -1, -1, 45, -1, -1,
- -1, -1, -1, -1, -1, -1, 87, 88, 89, 90,
- 91, 92, 93, 61, 62, 63, 64, 65, 66, -1,
- 68, -1, -1, 71, 72, 73, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 51, -1, -1, 87,
- 88, 89, 90, 91, 92, 93, 61, 62, 63, 64,
- 65, 66, -1, 68, -1, -1, 71, 72, 73, 61,
- 62, 63, 64, 65, 66, -1, 68, -1, -1, 71,
- 72, 73, 87, 88, 89, 90, 91, 92, 93, -1,
- 95, -1, -1, -1, -1, 87, 88, 89, 90, 91,
- 92, 93, -1, -1, -1, 97, 61, 62, 63, 64,
- 65, 66, -1, 68, -1, -1, 71, 72, 73, -1,
- -1, -1, -1, -1, 79, 80, -1, -1, -1, -1,
- -1, -1, 87, 88, 89, 90, 91, 92, 93, 61,
- 62, 63, 64, 65, 66, -1, 68, -1, -1, 71,
- 72, 73, 61, 62, 63, 64, -1, -1, -1, 68,
- -1, -1, 71, 72, 73, 87, 88, 89, 90, 91,
- 92, 93, -1, -1, -1, -1, -1, -1, 87, 88,
- 89, 90, 91, 92, 93
+ -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,
+ 62, 63, 64, 65, 66, 67, -1, 69, -1, -1,
+ 72, 73, 74, 88, 89, 90, 91, 92, 93, 94,
+ -1, -1, -1, -1, -1, -1, 88, 89, 90, 91,
+ 92, 93, 94, -1, -1, -1, 98, 62, 63, 64,
+ 65, 66, 67, -1, 69, -1, -1, 72, 73, 74,
+ -1, -1, -1, -1, -1, 80, 81, -1, -1, -1,
+ -1, -1, -1, 88, 89, 90, 91, 92, 93, 94,
+ 62, 63, 64, 65, 66, 67, -1, 69, -1, -1,
+ 72, 73, 74, 62, 63, 64, 65, -1, -1, -1,
+ 69, -1, -1, 72, 73, 74, 88, 89, 90, 91,
+ 92, 93, 94, -1, -1, -1, -1, -1, -1, 88,
+ 89, 90, 91, 92, 93, 94
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
static const yytype_uint8 yystos[] =
{
- 0, 1, 13, 16, 17, 19, 20, 21, 22, 23,
- 24, 26, 28, 29, 30, 31, 35, 36, 37, 38,
- 42, 44, 47, 48, 49, 52, 56, 57, 58, 60,
- 67, 74, 75, 76, 77, 78, 81, 82, 83, 90,
- 91, 96, 99, 103, 104, 105, 106, 108, 110, 114,
- 115, 116, 121, 122, 123, 124, 125, 126, 132, 134,
- 136, 140, 145, 148, 95, 23, 47, 123, 96, 123,
- 146, 96, 146, 23, 122, 96, 123, 147, 135, 139,
- 48, 127, 41, 43, 44, 45, 46, 123, 133, 137,
- 48, 123, 53, 54, 16, 17, 18, 23, 30, 23,
- 23, 123, 59, 123, 133, 23, 131, 123, 123, 123,
- 123, 123, 123, 123, 128, 141, 123, 123, 123, 24,
- 26, 101, 123, 149, 150, 151, 152, 0, 95, 123,
- 39, 63, 123, 107, 113, 116, 123, 126, 145, 61,
- 62, 63, 64, 65, 66, 68, 71, 72, 73, 87,
- 88, 89, 90, 91, 92, 93, 118, 96, 123, 123,
- 146, 98, 146, 146, 98, 146, 118, 23, 129, 123,
- 43, 133, 23, 40, 69, 70, 23, 51, 63, 122,
- 122, 51, 63, 51, 50, 53, 133, 98, 45, 51,
- 45, 51, 45, 51, 45, 51, 79, 80, 51, 95,
- 23, 130, 23, 97, 101, 101, 100, 98, 98, 104,
- 119, 123, 123, 119, 119, 123, 123, 123, 123, 123,
- 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
- 123, 123, 123, 23, 142, 97, 123, 97, 97, 123,
- 142, 98, 123, 138, 23, 125, 123, 123, 123, 123,
- 51, 63, 45, 123, 123, 123, 123, 23, 123, 123,
- 123, 123, 123, 123, 123, 123, 123, 123, 109, 109,
- 98, 122, 122, 123, 24, 26, 152, 120, 119, 119,
- 50, 119, 95, 98, 95, 23, 118, 123, 123, 23,
- 45, 45, 45, 45, 106, 120, 23, 95, 108, 119,
- 120, 32, 51, 120, 50, 98, 144, 23, 144, 142,
- 122, 123, 123, 123, 123, 119, 119, 85, 119, 51,
- 123, 119, 106, 23, 120, 120, 95, 51, 86, 85,
- 123, 119, 111, 119, 27, 144, 123, 119, 120, 33,
- 34, 112, 117, 119, 33, 84, 23, 143, 120, 120,
- 119, 118, 123, 84, 118, 98, 119, 85, 120, 119,
- 106, 23, 85, 119, 50, 119, 84, 120, 84, 119
+ 0, 1, 13, 16, 17, 20, 21, 22, 23, 24,
+ 25, 27, 29, 30, 31, 32, 36, 37, 38, 39,
+ 43, 45, 48, 49, 50, 53, 57, 58, 59, 61,
+ 68, 75, 76, 77, 78, 79, 82, 83, 84, 91,
+ 92, 97, 100, 104, 105, 106, 107, 109, 111, 115,
+ 116, 117, 122, 123, 124, 125, 126, 127, 133, 135,
+ 137, 141, 146, 149, 96, 24, 48, 124, 97, 124,
+ 147, 97, 147, 24, 123, 97, 124, 148, 136, 140,
+ 49, 128, 42, 44, 45, 46, 47, 124, 134, 138,
+ 49, 19, 124, 54, 55, 16, 17, 18, 24, 31,
+ 24, 24, 124, 60, 124, 134, 24, 132, 124, 124,
+ 124, 124, 124, 124, 124, 129, 142, 124, 124, 124,
+ 25, 27, 102, 124, 150, 151, 152, 153, 0, 96,
+ 124, 40, 64, 124, 108, 114, 117, 124, 127, 146,
+ 62, 63, 64, 65, 66, 67, 69, 72, 73, 74,
+ 88, 89, 90, 91, 92, 93, 94, 119, 97, 124,
+ 124, 147, 99, 147, 147, 99, 147, 119, 24, 130,
+ 124, 44, 134, 24, 24, 41, 70, 71, 24, 52,
+ 64, 123, 123, 52, 64, 52, 51, 54, 134, 99,
+ 46, 52, 46, 52, 46, 52, 46, 52, 80, 81,
+ 52, 96, 24, 131, 24, 98, 102, 102, 101, 99,
+ 99, 105, 120, 124, 124, 120, 120, 124, 124, 124,
+ 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
+ 124, 124, 124, 124, 124, 24, 143, 98, 124, 98,
+ 98, 124, 143, 99, 124, 139, 123, 24, 126, 124,
+ 124, 124, 124, 52, 64, 46, 124, 124, 124, 124,
+ 24, 124, 124, 124, 124, 124, 124, 124, 124, 124,
+ 124, 110, 110, 99, 123, 123, 124, 25, 27, 153,
+ 121, 120, 120, 51, 120, 96, 99, 96, 24, 119,
+ 41, 124, 124, 24, 46, 46, 46, 46, 107, 121,
+ 24, 96, 109, 120, 121, 33, 52, 121, 51, 99,
+ 145, 24, 145, 143, 124, 123, 124, 124, 124, 124,
+ 120, 120, 86, 120, 52, 124, 120, 107, 24, 121,
+ 121, 96, 52, 87, 86, 124, 120, 112, 120, 28,
+ 145, 124, 120, 121, 34, 35, 113, 118, 120, 34,
+ 85, 24, 144, 121, 121, 120, 119, 124, 85, 119,
+ 99, 120, 86, 121, 120, 107, 24, 86, 120, 51,
+ 120, 85, 121, 85, 120
};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint8 yyr1[] =
{
- 0, 102, 103, 103, 103, 104, 104, 104, 105, 105,
- 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
- 106, 106, 106, 107, 107, 107, 107, 108, 108, 108,
- 108, 108, 108, 108, 108, 108, 108, 109, 110, 110,
- 111, 111, 112, 113, 113, 114, 115, 116, 117, 118,
- 119, 120, 120, 120, 121, 122, 122, 122, 122, 122,
- 122, 123, 123, 123, 123, 123, 123, 123, 123, 123,
- 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
- 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
- 123, 123, 123, 123, 124, 124, 124, 124, 124, 124,
- 124, 124, 125, 125, 126, 126, 126, 126, 126, 127,
- 126, 128, 126, 126, 126, 126, 126, 126, 129, 129,
- 130, 130, 131, 131, 132, 132, 132, 132, 132, 132,
- 133, 133, 134, 134, 134, 134, 135, 134, 137, 138,
- 136, 136, 139, 136, 136, 136, 141, 140, 142, 142,
- 142, 142, 143, 143, 143, 144, 145, 146, 146, 146,
- 147, 147, 148, 149, 149, 149, 149, 150, 150, 151,
- 151, 152, 152
+ 0, 103, 104, 104, 104, 105, 105, 105, 106, 106,
+ 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
+ 106, 107, 107, 107, 108, 108, 108, 108, 109, 109,
+ 109, 109, 109, 109, 109, 109, 109, 109, 110, 111,
+ 111, 112, 112, 113, 114, 114, 115, 116, 117, 118,
+ 119, 120, 121, 121, 121, 122, 123, 123, 123, 123,
+ 123, 123, 124, 124, 124, 124, 124, 124, 124, 124,
+ 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
+ 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
+ 124, 124, 124, 124, 124, 125, 125, 125, 125, 125,
+ 125, 125, 125, 126, 126, 127, 127, 127, 127, 127,
+ 128, 127, 129, 127, 127, 127, 127, 127, 127, 130,
+ 130, 131, 131, 132, 132, 133, 133, 133, 133, 133,
+ 133, 134, 134, 135, 135, 135, 135, 136, 135, 138,
+ 139, 137, 137, 140, 137, 137, 137, 142, 141, 143,
+ 143, 143, 143, 144, 144, 144, 145, 146, 147, 147,
+ 147, 148, 148, 149, 150, 150, 150, 150, 151, 151,
+ 152, 152, 153, 153
};
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
static const yytype_int8 yyr2[] =
{
0, 2, 3, 1, 2, 0, 1, 1, 4, 4,
- 4, 4, 4, 4, 4, 4, 5, 5, 8, 4,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 6,
- 10, 11, 7, 2, 3, 7, 6, 0, 9, 12,
- 0, 2, 6, 11, 7, 2, 3, 1, 1, 0,
- 0, 0, 2, 2, 3, 1, 1, 1, 1, 1,
- 1, 1, 1, 4, 2, 4, 1, 2, 1, 1,
- 1, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 2, 3, 3, 3, 3, 2,
- 2, 3, 4, 4, 4, 6, 4, 6, 4, 6,
- 4, 6, 2, 1, 2, 1, 1, 2, 1, 0,
- 3, 0, 3, 2, 4, 2, 4, 2, 1, 3,
- 1, 3, 1, 3, 2, 2, 2, 2, 3, 2,
- 3, 2, 2, 2, 3, 2, 0, 3, 0, 0,
- 9, 2, 0, 7, 8, 6, 0, 3, 0, 1,
- 3, 4, 0, 1, 3, 0, 2, 0, 1, 3,
- 1, 3, 3, 0, 1, 1, 1, 1, 3, 1,
- 3, 3, 3
+ 6, 4, 4, 4, 4, 4, 4, 5, 5, 8,
+ 4, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 6, 10, 11, 7, 2, 3, 7, 6, 0, 9,
+ 12, 0, 2, 6, 11, 7, 2, 3, 1, 1,
+ 0, 0, 0, 2, 2, 3, 1, 1, 1, 1,
+ 1, 1, 1, 1, 4, 2, 4, 1, 2, 1,
+ 1, 1, 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 2, 3, 3, 3, 3,
+ 2, 2, 3, 4, 4, 4, 6, 4, 6, 4,
+ 6, 4, 6, 2, 1, 2, 1, 1, 2, 1,
+ 0, 3, 0, 3, 2, 4, 2, 4, 2, 1,
+ 3, 1, 3, 1, 3, 2, 2, 2, 2, 3,
+ 2, 3, 2, 2, 2, 3, 2, 0, 3, 0,
+ 0, 9, 2, 0, 7, 8, 6, 0, 3, 0,
+ 1, 3, 4, 0, 1, 3, 0, 2, 0, 1,
+ 3, 1, 3, 3, 0, 1, 1, 1, 1, 3,
+ 1, 3, 3, 3
};
@@ -1694,76 +1712,76 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
switch (yytype)
{
- case 20: /* BLTIN */
+ case 21: /* BLTIN */
#line 136 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1701 "engines/director/lingo/lingo-gr.cpp"
+#line 1719 "engines/director/lingo/lingo-gr.cpp"
break;
- case 21: /* FBLTIN */
+ case 22: /* FBLTIN */
#line 136 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1707 "engines/director/lingo/lingo-gr.cpp"
+#line 1725 "engines/director/lingo/lingo-gr.cpp"
break;
- case 22: /* RBLTIN */
+ case 23: /* RBLTIN */
#line 136 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1713 "engines/director/lingo/lingo-gr.cpp"
+#line 1731 "engines/director/lingo/lingo-gr.cpp"
break;
- case 23: /* ID */
+ case 24: /* ID */
#line 136 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1719 "engines/director/lingo/lingo-gr.cpp"
+#line 1737 "engines/director/lingo/lingo-gr.cpp"
break;
- case 24: /* STRING */
+ case 25: /* STRING */
#line 136 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1725 "engines/director/lingo/lingo-gr.cpp"
+#line 1743 "engines/director/lingo/lingo-gr.cpp"
break;
- case 25: /* HANDLER */
+ case 26: /* HANDLER */
#line 136 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1731 "engines/director/lingo/lingo-gr.cpp"
+#line 1749 "engines/director/lingo/lingo-gr.cpp"
break;
- case 26: /* SYMBOL */
+ case 27: /* SYMBOL */
#line 136 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1737 "engines/director/lingo/lingo-gr.cpp"
+#line 1755 "engines/director/lingo/lingo-gr.cpp"
break;
- case 27: /* ENDCLAUSE */
+ case 28: /* ENDCLAUSE */
#line 136 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1743 "engines/director/lingo/lingo-gr.cpp"
+#line 1761 "engines/director/lingo/lingo-gr.cpp"
break;
- case 28: /* tPLAYACCEL */
+ case 29: /* tPLAYACCEL */
#line 136 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1749 "engines/director/lingo/lingo-gr.cpp"
+#line 1767 "engines/director/lingo/lingo-gr.cpp"
break;
- case 29: /* tMETHOD */
+ case 30: /* tMETHOD */
#line 136 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1755 "engines/director/lingo/lingo-gr.cpp"
+#line 1773 "engines/director/lingo/lingo-gr.cpp"
break;
- case 30: /* THEOBJECTFIELD */
+ case 31: /* THEOBJECTFIELD */
#line 137 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).objectfield).os; }
-#line 1761 "engines/director/lingo/lingo-gr.cpp"
+#line 1779 "engines/director/lingo/lingo-gr.cpp"
break;
- case 140: /* on */
+ case 141: /* on */
#line 136 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1767 "engines/director/lingo/lingo-gr.cpp"
+#line 1785 "engines/director/lingo/lingo-gr.cpp"
break;
default:
@@ -2033,7 +2051,7 @@ yyreduce:
case 4:
#line 143 "engines/director/lingo/lingo-gr.y"
{ yyerrok; }
-#line 2037 "engines/director/lingo/lingo-gr.cpp"
+#line 2055 "engines/director/lingo/lingo-gr.cpp"
break;
case 8:
@@ -2044,7 +2062,7 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[-2].code);
delete (yyvsp[0].s); }
-#line 2048 "engines/director/lingo/lingo-gr.cpp"
+#line 2066 "engines/director/lingo/lingo-gr.cpp"
break;
case 9:
@@ -2052,34 +2070,50 @@ yyreduce:
{
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[-2].code); }
-#line 2056 "engines/director/lingo/lingo-gr.cpp"
+#line 2074 "engines/director/lingo/lingo-gr.cpp"
break;
case 10:
-#line 158 "engines/director/lingo/lingo-gr.y"
- { (yyval.code) = g_lingo->code1(LC::c_after); }
-#line 2062 "engines/director/lingo/lingo-gr.cpp"
+#line 159 "engines/director/lingo/lingo-gr.y"
+ {
+ if (!(yyvsp[-3].s)->equalsIgnoreCase("menu")) {
+ warning("LEXER: keyword 'menu' expected");
+ YYERROR;
+ }
+
+ warning("STUB: menuItems entity");
+ g_lingo->code1(LC::c_themenuitementityassign);
+ g_lingo->codeInt((yyvsp[-4].e)[0]);
+ g_lingo->codeInt((yyvsp[-4].e)[1]);
+ (yyval.code) = (yyvsp[0].code); }
+#line 2090 "engines/director/lingo/lingo-gr.cpp"
break;
case 11:
-#line 159 "engines/director/lingo/lingo-gr.y"
- { (yyval.code) = g_lingo->code1(LC::c_before); }
-#line 2068 "engines/director/lingo/lingo-gr.cpp"
+#line 170 "engines/director/lingo/lingo-gr.y"
+ { (yyval.code) = g_lingo->code1(LC::c_after); }
+#line 2096 "engines/director/lingo/lingo-gr.cpp"
break;
case 12:
-#line 160 "engines/director/lingo/lingo-gr.y"
+#line 171 "engines/director/lingo/lingo-gr.y"
+ { (yyval.code) = g_lingo->code1(LC::c_before); }
+#line 2102 "engines/director/lingo/lingo-gr.cpp"
+ break;
+
+ case 13:
+#line 172 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_varpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[0].code);
delete (yyvsp[-2].s); }
-#line 2079 "engines/director/lingo/lingo-gr.cpp"
+#line 2113 "engines/director/lingo/lingo-gr.cpp"
break;
- case 13:
-#line 166 "engines/director/lingo/lingo-gr.y"
+ case 14:
+#line 178 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(0); // Put dummy id
@@ -2087,22 +2121,22 @@ yyreduce:
g_lingo->codeInt((yyvsp[-2].e)[0]);
g_lingo->codeInt((yyvsp[-2].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2091 "engines/director/lingo/lingo-gr.cpp"
+#line 2125 "engines/director/lingo/lingo-gr.cpp"
break;
- case 14:
-#line 173 "engines/director/lingo/lingo-gr.y"
+ case 15:
+#line 185 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_varpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[0].code);
delete (yyvsp[-2].s); }
-#line 2102 "engines/director/lingo/lingo-gr.cpp"
+#line 2136 "engines/director/lingo/lingo-gr.cpp"
break;
- case 15:
-#line 179 "engines/director/lingo/lingo-gr.y"
+ case 16:
+#line 191 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(0); // Put dummy id
@@ -2110,33 +2144,33 @@ yyreduce:
g_lingo->codeInt((yyvsp[-2].e)[0]);
g_lingo->codeInt((yyvsp[-2].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2114 "engines/director/lingo/lingo-gr.cpp"
+#line 2148 "engines/director/lingo/lingo-gr.cpp"
break;
- case 16:
-#line 186 "engines/director/lingo/lingo-gr.y"
+ case 17:
+#line 198 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_swap);
g_lingo->code1(LC::c_theentityassign);
g_lingo->codeInt((yyvsp[-3].e)[0]);
g_lingo->codeInt((yyvsp[-3].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2125 "engines/director/lingo/lingo-gr.cpp"
+#line 2159 "engines/director/lingo/lingo-gr.cpp"
break;
- case 17:
-#line 192 "engines/director/lingo/lingo-gr.y"
+ case 18:
+#line 204 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_swap);
g_lingo->code1(LC::c_theentityassign);
g_lingo->codeInt((yyvsp[-3].e)[0]);
g_lingo->codeInt((yyvsp[-3].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2136 "engines/director/lingo/lingo-gr.cpp"
+#line 2170 "engines/director/lingo/lingo-gr.cpp"
break;
- case 18:
-#line 199 "engines/director/lingo/lingo-gr.y"
+ case 19:
+#line 211 "engines/director/lingo/lingo-gr.y"
{
if (!(yyvsp[-3].s)->equalsIgnoreCase("menu")) {
warning("LEXER: keyword 'menu' expected");
@@ -2148,33 +2182,33 @@ yyreduce:
g_lingo->codeInt((yyvsp[-6].e)[0]);
g_lingo->codeInt((yyvsp[-6].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2152 "engines/director/lingo/lingo-gr.cpp"
+#line 2186 "engines/director/lingo/lingo-gr.cpp"
break;
- case 19:
-#line 210 "engines/director/lingo/lingo-gr.y"
+ case 20:
+#line 222 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_objectfieldassign);
g_lingo->codeString((yyvsp[-2].objectfield).os->c_str());
g_lingo->codeInt((yyvsp[-2].objectfield).oe);
delete (yyvsp[-2].objectfield).os;
(yyval.code) = (yyvsp[0].code); }
-#line 2163 "engines/director/lingo/lingo-gr.cpp"
+#line 2197 "engines/director/lingo/lingo-gr.cpp"
break;
- case 29:
-#line 232 "engines/director/lingo/lingo-gr.y"
+ case 30:
+#line 244 "engines/director/lingo/lingo-gr.y"
{
inst body = 0, end = 0;
WRITE_UINT32(&body, (yyvsp[-3].code) - (yyvsp[-5].code));
WRITE_UINT32(&end, (yyvsp[-1].code) - (yyvsp[-5].code));
(*g_lingo->_currentScript)[(yyvsp[-5].code) + 1] = body; /* body of loop */
(*g_lingo->_currentScript)[(yyvsp[-5].code) + 2] = end; }
-#line 2174 "engines/director/lingo/lingo-gr.cpp"
+#line 2208 "engines/director/lingo/lingo-gr.cpp"
break;
- case 30:
-#line 243 "engines/director/lingo/lingo-gr.y"
+ case 31:
+#line 255 "engines/director/lingo/lingo-gr.y"
{
inst init = 0, finish = 0, body = 0, end = 0, inc = 0;
WRITE_UINT32(&init, (yyvsp[-7].code) - (yyvsp[-9].code));
@@ -2187,11 +2221,11 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-9].code) + 3] = body; /* body of loop */
(*g_lingo->_currentScript)[(yyvsp[-9].code) + 4] = inc; /* increment */
(*g_lingo->_currentScript)[(yyvsp[-9].code) + 5] = end; }
-#line 2191 "engines/director/lingo/lingo-gr.cpp"
+#line 2225 "engines/director/lingo/lingo-gr.cpp"
break;
- case 31:
-#line 260 "engines/director/lingo/lingo-gr.y"
+ case 32:
+#line 272 "engines/director/lingo/lingo-gr.y"
{
inst init = 0, finish = 0, body = 0, end = 0, inc = 0;
WRITE_UINT32(&init, (yyvsp[-8].code) - (yyvsp[-10].code));
@@ -2204,11 +2238,11 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-10].code) + 3] = body; /* body of loop */
(*g_lingo->_currentScript)[(yyvsp[-10].code) + 4] = inc; /* increment */
(*g_lingo->_currentScript)[(yyvsp[-10].code) + 5] = end; }
-#line 2208 "engines/director/lingo/lingo-gr.cpp"
+#line 2242 "engines/director/lingo/lingo-gr.cpp"
break;
- case 32:
-#line 272 "engines/director/lingo/lingo-gr.y"
+ case 33:
+#line 284 "engines/director/lingo/lingo-gr.y"
{
inst list = 0, body = 0, end = 0;
WRITE_UINT32(&list, (yyvsp[-4].code) - (yyvsp[-6].code));
@@ -2219,54 +2253,54 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-6].code) + 3] = body; /* body of loop */
(*g_lingo->_currentScript)[(yyvsp[-6].code) + 4] = 0; /* increment */
(*g_lingo->_currentScript)[(yyvsp[-6].code) + 5] = end; }
-#line 2223 "engines/director/lingo/lingo-gr.cpp"
+#line 2257 "engines/director/lingo/lingo-gr.cpp"
break;
- case 33:
-#line 283 "engines/director/lingo/lingo-gr.y"
+ case 34:
+#line 295 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_nextRepeat); }
-#line 2230 "engines/director/lingo/lingo-gr.cpp"
+#line 2264 "engines/director/lingo/lingo-gr.cpp"
break;
- case 34:
-#line 285 "engines/director/lingo/lingo-gr.y"
+ case 35:
+#line 297 "engines/director/lingo/lingo-gr.y"
{
inst end = 0;
WRITE_UINT32(&end, (yyvsp[0].code) - (yyvsp[-2].code));
g_lingo->code1(STOP);
(*g_lingo->_currentScript)[(yyvsp[-2].code) + 1] = end; }
-#line 2240 "engines/director/lingo/lingo-gr.cpp"
+#line 2274 "engines/director/lingo/lingo-gr.cpp"
break;
- case 35:
-#line 290 "engines/director/lingo/lingo-gr.y"
+ case 36:
+#line 302 "engines/director/lingo/lingo-gr.y"
{
inst end;
WRITE_UINT32(&end, (yyvsp[-1].code) - (yyvsp[-3].code));
(*g_lingo->_currentScript)[(yyvsp[-3].code) + 1] = end; }
-#line 2249 "engines/director/lingo/lingo-gr.cpp"
+#line 2283 "engines/director/lingo/lingo-gr.cpp"
break;
- case 36:
-#line 294 "engines/director/lingo/lingo-gr.y"
+ case 37:
+#line 306 "engines/director/lingo/lingo-gr.y"
{
inst end;
WRITE_UINT32(&end, (yyvsp[0].code) - (yyvsp[-2].code));
(*g_lingo->_currentScript)[(yyvsp[-2].code) + 1] = end; }
-#line 2258 "engines/director/lingo/lingo-gr.cpp"
+#line 2292 "engines/director/lingo/lingo-gr.cpp"
break;
- case 37:
-#line 299 "engines/director/lingo/lingo-gr.y"
+ case 38:
+#line 311 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_tellcode);
g_lingo->code1(STOP); }
-#line 2266 "engines/director/lingo/lingo-gr.cpp"
+#line 2300 "engines/director/lingo/lingo-gr.cpp"
break;
- case 38:
-#line 303 "engines/director/lingo/lingo-gr.y"
+ case 39:
+#line 315 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[-6].code) - (yyvsp[-8].code));
@@ -2277,11 +2311,11 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-8].code) + 3] = end; /* end, if cond fails */
g_lingo->processIf((yyvsp[-8].code), (yyvsp[-1].code) - (yyvsp[-8].code), 0); }
-#line 2281 "engines/director/lingo/lingo-gr.cpp"
+#line 2315 "engines/director/lingo/lingo-gr.cpp"
break;
- case 39:
-#line 313 "engines/director/lingo/lingo-gr.y"
+ case 40:
+#line 325 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[-9].code) - (yyvsp[-11].code));
@@ -2292,22 +2326,22 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-11].code) + 3] = end; /* end, if cond fails */
g_lingo->processIf((yyvsp[-11].code), (yyvsp[-1].code) - (yyvsp[-11].code), (yyvsp[-3].code) - (yyvsp[-11].code)); }
-#line 2296 "engines/director/lingo/lingo-gr.cpp"
+#line 2330 "engines/director/lingo/lingo-gr.cpp"
break;
- case 42:
-#line 327 "engines/director/lingo/lingo-gr.y"
+ case 43:
+#line 339 "engines/director/lingo/lingo-gr.y"
{
inst then = 0;
WRITE_UINT32(&then, (yyvsp[-3].code) - (yyvsp[-5].code));
(*g_lingo->_currentScript)[(yyvsp[-5].code) + 1] = then; /* thenpart */
g_lingo->codeLabel((yyvsp[-5].code)); }
-#line 2307 "engines/director/lingo/lingo-gr.cpp"
+#line 2341 "engines/director/lingo/lingo-gr.cpp"
break;
- case 43:
-#line 334 "engines/director/lingo/lingo-gr.y"
+ case 44:
+#line 346 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[-8].code) - (yyvsp[-10].code));
@@ -2318,11 +2352,11 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-10].code) + 3] = end; /* end, if cond fails */
g_lingo->processIf((yyvsp[-10].code), (yyvsp[-1].code) - (yyvsp[-10].code), (yyvsp[-3].code) - (yyvsp[-10].code)); }
-#line 2322 "engines/director/lingo/lingo-gr.cpp"
+#line 2356 "engines/director/lingo/lingo-gr.cpp"
break;
- case 44:
-#line 344 "engines/director/lingo/lingo-gr.y"
+ case 45:
+#line 356 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[-4].code) - (yyvsp[-6].code));
@@ -2333,149 +2367,149 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-6].code) + 3] = end; /* end, if cond fails */
g_lingo->processIf((yyvsp[-6].code), (yyvsp[-1].code) - (yyvsp[-6].code), (yyvsp[-1].code) - (yyvsp[-6].code)); }
-#line 2337 "engines/director/lingo/lingo-gr.cpp"
+#line 2371 "engines/director/lingo/lingo-gr.cpp"
break;
- case 45:
-#line 355 "engines/director/lingo/lingo-gr.y"
+ case 46:
+#line 367 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code3(LC::c_repeatwhilecode, STOP, STOP); }
-#line 2343 "engines/director/lingo/lingo-gr.cpp"
+#line 2377 "engines/director/lingo/lingo-gr.cpp"
break;
- case 46:
-#line 357 "engines/director/lingo/lingo-gr.y"
+ case 47:
+#line 369 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code3(LC::c_repeatwithcode, STOP, STOP);
g_lingo->code3(STOP, STOP, STOP);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2353 "engines/director/lingo/lingo-gr.cpp"
+#line 2387 "engines/director/lingo/lingo-gr.cpp"
break;
- case 47:
-#line 363 "engines/director/lingo/lingo-gr.y"
+ case 48:
+#line 375 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_ifcode);
g_lingo->code3(STOP, STOP, STOP);
g_lingo->code1(0); // Do not skip end
g_lingo->codeLabel(0); }
-#line 2363 "engines/director/lingo/lingo-gr.cpp"
+#line 2397 "engines/director/lingo/lingo-gr.cpp"
break;
- case 48:
-#line 369 "engines/director/lingo/lingo-gr.y"
+ case 49:
+#line 381 "engines/director/lingo/lingo-gr.y"
{
inst skipEnd;
WRITE_UINT32(&skipEnd, 1); // We have to skip end to avoid multiple executions
(yyval.code) = g_lingo->code1(LC::c_ifcode);
g_lingo->code3(STOP, STOP, STOP);
g_lingo->code1(skipEnd); }
-#line 2374 "engines/director/lingo/lingo-gr.cpp"
+#line 2408 "engines/director/lingo/lingo-gr.cpp"
break;
- case 49:
-#line 376 "engines/director/lingo/lingo-gr.y"
+ case 50:
+#line 388 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->_currentScript->size(); }
-#line 2380 "engines/director/lingo/lingo-gr.cpp"
+#line 2414 "engines/director/lingo/lingo-gr.cpp"
break;
- case 50:
-#line 378 "engines/director/lingo/lingo-gr.y"
+ case 51:
+#line 390 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(STOP); (yyval.code) = g_lingo->_currentScript->size(); }
-#line 2386 "engines/director/lingo/lingo-gr.cpp"
+#line 2420 "engines/director/lingo/lingo-gr.cpp"
break;
- case 51:
-#line 380 "engines/director/lingo/lingo-gr.y"
+ case 52:
+#line 392 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->_currentScript->size(); }
-#line 2392 "engines/director/lingo/lingo-gr.cpp"
+#line 2426 "engines/director/lingo/lingo-gr.cpp"
break;
- case 54:
-#line 384 "engines/director/lingo/lingo-gr.y"
+ case 55:
+#line 396 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_whencode);
g_lingo->code1(STOP);
g_lingo->codeString((yyvsp[-1].s)->c_str());
delete (yyvsp[-1].s); }
-#line 2402 "engines/director/lingo/lingo-gr.cpp"
+#line 2436 "engines/director/lingo/lingo-gr.cpp"
break;
- case 55:
-#line 390 "engines/director/lingo/lingo-gr.y"
+ case 56:
+#line 402 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_intpush);
g_lingo->codeInt((yyvsp[0].i)); }
-#line 2410 "engines/director/lingo/lingo-gr.cpp"
+#line 2444 "engines/director/lingo/lingo-gr.cpp"
break;
- case 56:
-#line 393 "engines/director/lingo/lingo-gr.y"
+ case 57:
+#line 405 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_floatpush);
g_lingo->codeFloat((yyvsp[0].f)); }
-#line 2418 "engines/director/lingo/lingo-gr.cpp"
+#line 2452 "engines/director/lingo/lingo-gr.cpp"
break;
- case 57:
-#line 396 "engines/director/lingo/lingo-gr.y"
+ case 58:
+#line 408 "engines/director/lingo/lingo-gr.y"
{ // D3
(yyval.code) = g_lingo->code1(LC::c_symbolpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2427 "engines/director/lingo/lingo-gr.cpp"
+#line 2461 "engines/director/lingo/lingo-gr.cpp"
break;
- case 58:
-#line 400 "engines/director/lingo/lingo-gr.y"
+ case 59:
+#line 412 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_stringpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2436 "engines/director/lingo/lingo-gr.cpp"
+#line 2470 "engines/director/lingo/lingo-gr.cpp"
break;
- case 59:
-#line 404 "engines/director/lingo/lingo-gr.y"
+ case 60:
+#line 416 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_eval);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2445 "engines/director/lingo/lingo-gr.cpp"
+#line 2479 "engines/director/lingo/lingo-gr.cpp"
break;
- case 61:
-#line 410 "engines/director/lingo/lingo-gr.y"
+ case 62:
+#line 422 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); }
-#line 2451 "engines/director/lingo/lingo-gr.cpp"
+#line 2485 "engines/director/lingo/lingo-gr.cpp"
break;
- case 63:
-#line 412 "engines/director/lingo/lingo-gr.y"
+ case 64:
+#line 424 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 2459 "engines/director/lingo/lingo-gr.cpp"
+#line 2493 "engines/director/lingo/lingo-gr.cpp"
break;
- case 64:
-#line 415 "engines/director/lingo/lingo-gr.y"
+ case 65:
+#line 427 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-1].s), (yyvsp[0].narg));
delete (yyvsp[-1].s); }
-#line 2467 "engines/director/lingo/lingo-gr.cpp"
+#line 2501 "engines/director/lingo/lingo-gr.cpp"
break;
- case 65:
-#line 418 "engines/director/lingo/lingo-gr.y"
+ case 66:
+#line 430 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 2475 "engines/director/lingo/lingo-gr.cpp"
+#line 2509 "engines/director/lingo/lingo-gr.cpp"
break;
- case 66:
-#line 421 "engines/director/lingo/lingo-gr.y"
+ case 67:
+#line 433 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(0); // Put dummy id
@@ -2484,500 +2518,500 @@ yyreduce:
WRITE_UINT32(&e, (yyvsp[0].e)[0]);
WRITE_UINT32(&f, (yyvsp[0].e)[1]);
g_lingo->code2(e, f); }
-#line 2488 "engines/director/lingo/lingo-gr.cpp"
+#line 2522 "engines/director/lingo/lingo-gr.cpp"
break;
- case 67:
-#line 429 "engines/director/lingo/lingo-gr.y"
+ case 68:
+#line 441 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_theentitypush);
inst e = 0, f = 0;
WRITE_UINT32(&e, (yyvsp[-1].e)[0]);
WRITE_UINT32(&f, (yyvsp[-1].e)[1]);
g_lingo->code2(e, f); }
-#line 2499 "engines/director/lingo/lingo-gr.cpp"
+#line 2533 "engines/director/lingo/lingo-gr.cpp"
break;
- case 68:
-#line 435 "engines/director/lingo/lingo-gr.y"
+ case 69:
+#line 447 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_objectfieldpush);
g_lingo->codeString((yyvsp[0].objectfield).os->c_str());
g_lingo->codeInt((yyvsp[0].objectfield).oe);
delete (yyvsp[0].objectfield).os; }
-#line 2509 "engines/director/lingo/lingo-gr.cpp"
+#line 2543 "engines/director/lingo/lingo-gr.cpp"
break;
- case 69:
-#line 440 "engines/director/lingo/lingo-gr.y"
+ case 70:
+#line 452 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_objectrefpush);
g_lingo->codeString((yyvsp[0].objectref).obj->c_str());
g_lingo->codeString((yyvsp[0].objectref).field->c_str());
delete (yyvsp[0].objectref).obj;
delete (yyvsp[0].objectref).field; }
-#line 2520 "engines/director/lingo/lingo-gr.cpp"
+#line 2554 "engines/director/lingo/lingo-gr.cpp"
break;
- case 71:
-#line 447 "engines/director/lingo/lingo-gr.y"
+ case 72:
+#line 459 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_add); }
-#line 2526 "engines/director/lingo/lingo-gr.cpp"
+#line 2560 "engines/director/lingo/lingo-gr.cpp"
break;
- case 72:
-#line 448 "engines/director/lingo/lingo-gr.y"
+ case 73:
+#line 460 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_sub); }
-#line 2532 "engines/director/lingo/lingo-gr.cpp"
+#line 2566 "engines/director/lingo/lingo-gr.cpp"
break;
- case 73:
-#line 449 "engines/director/lingo/lingo-gr.y"
+ case 74:
+#line 461 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_mul); }
-#line 2538 "engines/director/lingo/lingo-gr.cpp"
+#line 2572 "engines/director/lingo/lingo-gr.cpp"
break;
- case 74:
-#line 450 "engines/director/lingo/lingo-gr.y"
+ case 75:
+#line 462 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_div); }
-#line 2544 "engines/director/lingo/lingo-gr.cpp"
+#line 2578 "engines/director/lingo/lingo-gr.cpp"
break;
- case 75:
-#line 451 "engines/director/lingo/lingo-gr.y"
+ case 76:
+#line 463 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_mod); }
-#line 2550 "engines/director/lingo/lingo-gr.cpp"
+#line 2584 "engines/director/lingo/lingo-gr.cpp"
break;
- case 76:
-#line 452 "engines/director/lingo/lingo-gr.y"
+ case 77:
+#line 464 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gt); }
-#line 2556 "engines/director/lingo/lingo-gr.cpp"
+#line 2590 "engines/director/lingo/lingo-gr.cpp"
break;
- case 77:
-#line 453 "engines/director/lingo/lingo-gr.y"
+ case 78:
+#line 465 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lt); }
-#line 2562 "engines/director/lingo/lingo-gr.cpp"
+#line 2596 "engines/director/lingo/lingo-gr.cpp"
break;
- case 78:
-#line 454 "engines/director/lingo/lingo-gr.y"
+ case 79:
+#line 466 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_eq); }
-#line 2568 "engines/director/lingo/lingo-gr.cpp"
+#line 2602 "engines/director/lingo/lingo-gr.cpp"
break;
- case 79:
-#line 455 "engines/director/lingo/lingo-gr.y"
+ case 80:
+#line 467 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_neq); }
-#line 2574 "engines/director/lingo/lingo-gr.cpp"
+#line 2608 "engines/director/lingo/lingo-gr.cpp"
break;
- case 80:
-#line 456 "engines/director/lingo/lingo-gr.y"
+ case 81:
+#line 468 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ge); }
-#line 2580 "engines/director/lingo/lingo-gr.cpp"
+#line 2614 "engines/director/lingo/lingo-gr.cpp"
break;
- case 81:
-#line 457 "engines/director/lingo/lingo-gr.y"
+ case 82:
+#line 469 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_le); }
-#line 2586 "engines/director/lingo/lingo-gr.cpp"
+#line 2620 "engines/director/lingo/lingo-gr.cpp"
break;
- case 82:
-#line 458 "engines/director/lingo/lingo-gr.y"
+ case 83:
+#line 470 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_and); }
-#line 2592 "engines/director/lingo/lingo-gr.cpp"
+#line 2626 "engines/director/lingo/lingo-gr.cpp"
break;
- case 83:
-#line 459 "engines/director/lingo/lingo-gr.y"
+ case 84:
+#line 471 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_or); }
-#line 2598 "engines/director/lingo/lingo-gr.cpp"
+#line 2632 "engines/director/lingo/lingo-gr.cpp"
break;
- case 84:
-#line 460 "engines/director/lingo/lingo-gr.y"
+ case 85:
+#line 472 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_not); }
-#line 2604 "engines/director/lingo/lingo-gr.cpp"
+#line 2638 "engines/director/lingo/lingo-gr.cpp"
break;
- case 85:
-#line 461 "engines/director/lingo/lingo-gr.y"
+ case 86:
+#line 473 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ampersand); }
-#line 2610 "engines/director/lingo/lingo-gr.cpp"
+#line 2644 "engines/director/lingo/lingo-gr.cpp"
break;
- case 86:
-#line 462 "engines/director/lingo/lingo-gr.y"
+ case 87:
+#line 474 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_concat); }
-#line 2616 "engines/director/lingo/lingo-gr.cpp"
+#line 2650 "engines/director/lingo/lingo-gr.cpp"
break;
- case 87:
-#line 463 "engines/director/lingo/lingo-gr.y"
+ case 88:
+#line 475 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_contains); }
-#line 2622 "engines/director/lingo/lingo-gr.cpp"
+#line 2656 "engines/director/lingo/lingo-gr.cpp"
break;
- case 88:
-#line 464 "engines/director/lingo/lingo-gr.y"
+ case 89:
+#line 476 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_starts); }
-#line 2628 "engines/director/lingo/lingo-gr.cpp"
+#line 2662 "engines/director/lingo/lingo-gr.cpp"
break;
- case 89:
-#line 465 "engines/director/lingo/lingo-gr.y"
+ case 90:
+#line 477 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); }
-#line 2634 "engines/director/lingo/lingo-gr.cpp"
+#line 2668 "engines/director/lingo/lingo-gr.cpp"
break;
- case 90:
-#line 466 "engines/director/lingo/lingo-gr.y"
+ case 91:
+#line 478 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); g_lingo->code1(LC::c_negate); }
-#line 2640 "engines/director/lingo/lingo-gr.cpp"
+#line 2674 "engines/director/lingo/lingo-gr.cpp"
break;
- case 91:
-#line 467 "engines/director/lingo/lingo-gr.y"
+ case 92:
+#line 479 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[-1].code); }
-#line 2646 "engines/director/lingo/lingo-gr.cpp"
+#line 2680 "engines/director/lingo/lingo-gr.cpp"
break;
- case 92:
-#line 468 "engines/director/lingo/lingo-gr.y"
+ case 93:
+#line 480 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_intersects); }
-#line 2652 "engines/director/lingo/lingo-gr.cpp"
+#line 2686 "engines/director/lingo/lingo-gr.cpp"
break;
- case 93:
-#line 469 "engines/director/lingo/lingo-gr.y"
+ case 94:
+#line 481 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_within); }
-#line 2658 "engines/director/lingo/lingo-gr.cpp"
+#line 2692 "engines/director/lingo/lingo-gr.cpp"
break;
- case 94:
-#line 471 "engines/director/lingo/lingo-gr.y"
+ case 95:
+#line 483 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_charOf); }
-#line 2664 "engines/director/lingo/lingo-gr.cpp"
+#line 2698 "engines/director/lingo/lingo-gr.cpp"
break;
- case 95:
-#line 472 "engines/director/lingo/lingo-gr.y"
+ case 96:
+#line 484 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_charToOf); }
-#line 2670 "engines/director/lingo/lingo-gr.cpp"
+#line 2704 "engines/director/lingo/lingo-gr.cpp"
break;
- case 96:
-#line 473 "engines/director/lingo/lingo-gr.y"
+ case 97:
+#line 485 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_itemOf); }
-#line 2676 "engines/director/lingo/lingo-gr.cpp"
+#line 2710 "engines/director/lingo/lingo-gr.cpp"
break;
- case 97:
-#line 474 "engines/director/lingo/lingo-gr.y"
+ case 98:
+#line 486 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_itemToOf); }
-#line 2682 "engines/director/lingo/lingo-gr.cpp"
+#line 2716 "engines/director/lingo/lingo-gr.cpp"
break;
- case 98:
-#line 475 "engines/director/lingo/lingo-gr.y"
+ case 99:
+#line 487 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lineOf); }
-#line 2688 "engines/director/lingo/lingo-gr.cpp"
+#line 2722 "engines/director/lingo/lingo-gr.cpp"
break;
- case 99:
-#line 476 "engines/director/lingo/lingo-gr.y"
+ case 100:
+#line 488 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lineToOf); }
-#line 2694 "engines/director/lingo/lingo-gr.cpp"
+#line 2728 "engines/director/lingo/lingo-gr.cpp"
break;
- case 100:
-#line 477 "engines/director/lingo/lingo-gr.y"
+ case 101:
+#line 489 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_wordOf); }
-#line 2700 "engines/director/lingo/lingo-gr.cpp"
+#line 2734 "engines/director/lingo/lingo-gr.cpp"
break;
- case 101:
-#line 478 "engines/director/lingo/lingo-gr.y"
+ case 102:
+#line 490 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_wordToOf); }
-#line 2706 "engines/director/lingo/lingo-gr.cpp"
+#line 2740 "engines/director/lingo/lingo-gr.cpp"
break;
- case 102:
-#line 480 "engines/director/lingo/lingo-gr.y"
+ case 103:
+#line 492 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-1].s), 1);
delete (yyvsp[-1].s); }
-#line 2714 "engines/director/lingo/lingo-gr.cpp"
+#line 2748 "engines/director/lingo/lingo-gr.cpp"
break;
- case 104:
-#line 485 "engines/director/lingo/lingo-gr.y"
+ case 105:
+#line 497 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_printtop); }
-#line 2720 "engines/director/lingo/lingo-gr.cpp"
+#line 2754 "engines/director/lingo/lingo-gr.cpp"
break;
- case 107:
-#line 488 "engines/director/lingo/lingo-gr.y"
+ case 108:
+#line 500 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_exitRepeat); }
-#line 2726 "engines/director/lingo/lingo-gr.cpp"
+#line 2760 "engines/director/lingo/lingo-gr.cpp"
break;
- case 108:
-#line 489 "engines/director/lingo/lingo-gr.y"
+ case 109:
+#line 501 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_procret); }
-#line 2732 "engines/director/lingo/lingo-gr.cpp"
+#line 2766 "engines/director/lingo/lingo-gr.cpp"
break;
- case 109:
-#line 490 "engines/director/lingo/lingo-gr.y"
+ case 110:
+#line 502 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; }
-#line 2738 "engines/director/lingo/lingo-gr.cpp"
+#line 2772 "engines/director/lingo/lingo-gr.cpp"
break;
- case 110:
-#line 490 "engines/director/lingo/lingo-gr.y"
+ case 111:
+#line 502 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateNone; }
-#line 2744 "engines/director/lingo/lingo-gr.cpp"
+#line 2778 "engines/director/lingo/lingo-gr.cpp"
break;
- case 111:
-#line 491 "engines/director/lingo/lingo-gr.y"
+ case 112:
+#line 503 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; }
-#line 2750 "engines/director/lingo/lingo-gr.cpp"
+#line 2784 "engines/director/lingo/lingo-gr.cpp"
break;
- case 112:
-#line 491 "engines/director/lingo/lingo-gr.y"
+ case 113:
+#line 503 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateNone; }
-#line 2756 "engines/director/lingo/lingo-gr.cpp"
+#line 2790 "engines/director/lingo/lingo-gr.cpp"
break;
- case 114:
-#line 493 "engines/director/lingo/lingo-gr.y"
+ case 115:
+#line 505 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 2764 "engines/director/lingo/lingo-gr.cpp"
+#line 2798 "engines/director/lingo/lingo-gr.cpp"
break;
- case 115:
-#line 496 "engines/director/lingo/lingo-gr.y"
+ case 116:
+#line 508 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-1].s), (yyvsp[0].narg));
delete (yyvsp[-1].s); }
-#line 2772 "engines/director/lingo/lingo-gr.cpp"
+#line 2806 "engines/director/lingo/lingo-gr.cpp"
break;
- case 116:
-#line 499 "engines/director/lingo/lingo-gr.y"
+ case 117:
+#line 511 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_open); }
-#line 2778 "engines/director/lingo/lingo-gr.cpp"
+#line 2812 "engines/director/lingo/lingo-gr.cpp"
break;
- case 117:
-#line 500 "engines/director/lingo/lingo-gr.y"
+ case 118:
+#line 512 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code2(LC::c_voidpush, LC::c_open); }
-#line 2784 "engines/director/lingo/lingo-gr.cpp"
+#line 2818 "engines/director/lingo/lingo-gr.cpp"
break;
- case 118:
-#line 502 "engines/director/lingo/lingo-gr.y"
+ case 119:
+#line 514 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_global);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2793 "engines/director/lingo/lingo-gr.cpp"
+#line 2827 "engines/director/lingo/lingo-gr.cpp"
break;
- case 119:
-#line 506 "engines/director/lingo/lingo-gr.y"
+ case 120:
+#line 518 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_global);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2802 "engines/director/lingo/lingo-gr.cpp"
+#line 2836 "engines/director/lingo/lingo-gr.cpp"
break;
- case 120:
-#line 511 "engines/director/lingo/lingo-gr.y"
+ case 121:
+#line 523 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_property);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2811 "engines/director/lingo/lingo-gr.cpp"
+#line 2845 "engines/director/lingo/lingo-gr.cpp"
break;
- case 121:
-#line 515 "engines/director/lingo/lingo-gr.y"
+ case 122:
+#line 527 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_property);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2820 "engines/director/lingo/lingo-gr.cpp"
+#line 2854 "engines/director/lingo/lingo-gr.cpp"
break;
- case 122:
-#line 520 "engines/director/lingo/lingo-gr.y"
+ case 123:
+#line 532 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_instance);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2829 "engines/director/lingo/lingo-gr.cpp"
+#line 2863 "engines/director/lingo/lingo-gr.cpp"
break;
- case 123:
-#line 524 "engines/director/lingo/lingo-gr.y"
+ case 124:
+#line 536 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_instance);
g_lingo->codeString((yyvsp[0].s)->c_str());
delete (yyvsp[0].s); }
-#line 2838 "engines/director/lingo/lingo-gr.cpp"
+#line 2872 "engines/director/lingo/lingo-gr.cpp"
break;
- case 124:
-#line 536 "engines/director/lingo/lingo-gr.y"
+ case 125:
+#line 548 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotoloop); }
-#line 2844 "engines/director/lingo/lingo-gr.cpp"
+#line 2878 "engines/director/lingo/lingo-gr.cpp"
break;
- case 125:
-#line 537 "engines/director/lingo/lingo-gr.y"
+ case 126:
+#line 549 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotonext); }
-#line 2850 "engines/director/lingo/lingo-gr.cpp"
+#line 2884 "engines/director/lingo/lingo-gr.cpp"
break;
- case 126:
-#line 538 "engines/director/lingo/lingo-gr.y"
+ case 127:
+#line 550 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotoprevious); }
-#line 2856 "engines/director/lingo/lingo-gr.cpp"
+#line 2890 "engines/director/lingo/lingo-gr.cpp"
break;
- case 127:
-#line 539 "engines/director/lingo/lingo-gr.y"
+ case 128:
+#line 551 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(LC::c_goto); }
-#line 2865 "engines/director/lingo/lingo-gr.cpp"
+#line 2899 "engines/director/lingo/lingo-gr.cpp"
break;
- case 128:
-#line 543 "engines/director/lingo/lingo-gr.y"
+ case 129:
+#line 555 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(LC::c_goto); }
-#line 2874 "engines/director/lingo/lingo-gr.cpp"
+#line 2908 "engines/director/lingo/lingo-gr.cpp"
break;
- case 129:
-#line 547 "engines/director/lingo/lingo-gr.y"
+ case 130:
+#line 559 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(2);
g_lingo->code1(LC::c_goto); }
-#line 2883 "engines/director/lingo/lingo-gr.cpp"
+#line 2917 "engines/director/lingo/lingo-gr.cpp"
break;
- case 132:
-#line 555 "engines/director/lingo/lingo-gr.y"
+ case 133:
+#line 567 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_playdone); }
-#line 2889 "engines/director/lingo/lingo-gr.cpp"
+#line 2923 "engines/director/lingo/lingo-gr.cpp"
break;
- case 133:
-#line 556 "engines/director/lingo/lingo-gr.y"
+ case 134:
+#line 568 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(LC::c_play); }
-#line 2898 "engines/director/lingo/lingo-gr.cpp"
+#line 2932 "engines/director/lingo/lingo-gr.cpp"
break;
- case 134:
-#line 560 "engines/director/lingo/lingo-gr.y"
+ case 135:
+#line 572 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(LC::c_play); }
-#line 2907 "engines/director/lingo/lingo-gr.cpp"
+#line 2941 "engines/director/lingo/lingo-gr.cpp"
break;
- case 135:
-#line 564 "engines/director/lingo/lingo-gr.y"
+ case 136:
+#line 576 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(2);
g_lingo->code1(LC::c_play); }
-#line 2916 "engines/director/lingo/lingo-gr.cpp"
+#line 2950 "engines/director/lingo/lingo-gr.cpp"
break;
- case 136:
-#line 568 "engines/director/lingo/lingo-gr.y"
+ case 137:
+#line 580 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeSetImmediate(true); }
-#line 2922 "engines/director/lingo/lingo-gr.cpp"
+#line 2956 "engines/director/lingo/lingo-gr.cpp"
break;
- case 137:
-#line 568 "engines/director/lingo/lingo-gr.y"
+ case 138:
+#line 580 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeSetImmediate(false);
g_lingo->codeFunc((yyvsp[-2].s), (yyvsp[0].narg));
delete (yyvsp[-2].s); }
-#line 2931 "engines/director/lingo/lingo-gr.cpp"
+#line 2965 "engines/director/lingo/lingo-gr.cpp"
break;
- case 138:
-#line 598 "engines/director/lingo/lingo-gr.y"
+ case 139:
+#line 610 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; }
-#line 2937 "engines/director/lingo/lingo-gr.cpp"
+#line 2971 "engines/director/lingo/lingo-gr.cpp"
break;
- case 139:
-#line 598 "engines/director/lingo/lingo-gr.y"
+ case 140:
+#line 610 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_currentFactory.clear(); }
-#line 2943 "engines/director/lingo/lingo-gr.cpp"
+#line 2977 "engines/director/lingo/lingo-gr.cpp"
break;
- case 140:
-#line 599 "engines/director/lingo/lingo-gr.y"
+ case 141:
+#line 611 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_procret);
g_lingo->define(*(yyvsp[-6].s), (yyvsp[-4].code), (yyvsp[-3].narg));
g_lingo->clearArgStack();
g_lingo->_indef = kStateNone;
delete (yyvsp[-6].s); }
-#line 2954 "engines/director/lingo/lingo-gr.cpp"
+#line 2988 "engines/director/lingo/lingo-gr.cpp"
break;
- case 141:
-#line 605 "engines/director/lingo/lingo-gr.y"
+ case 142:
+#line 617 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeFactory(*(yyvsp[0].s)); delete (yyvsp[0].s); }
-#line 2960 "engines/director/lingo/lingo-gr.cpp"
+#line 2994 "engines/director/lingo/lingo-gr.cpp"
break;
- case 142:
-#line 606 "engines/director/lingo/lingo-gr.y"
+ case 143:
+#line 618 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; }
-#line 2966 "engines/director/lingo/lingo-gr.cpp"
+#line 3000 "engines/director/lingo/lingo-gr.cpp"
break;
- case 143:
-#line 607 "engines/director/lingo/lingo-gr.y"
+ case 144:
+#line 619 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_procret);
g_lingo->define(*(yyvsp[-6].s), (yyvsp[-4].code), (yyvsp[-3].narg) + 1, &g_lingo->_currentFactory);
g_lingo->clearArgStack();
g_lingo->_indef = kStateNone;
delete (yyvsp[-6].s); }
-#line 2977 "engines/director/lingo/lingo-gr.cpp"
+#line 3011 "engines/director/lingo/lingo-gr.cpp"
break;
- case 144:
-#line 613 "engines/director/lingo/lingo-gr.y"
+ case 145:
+#line 625 "engines/director/lingo/lingo-gr.y"
{ // D3
g_lingo->code1(LC::c_procret);
g_lingo->define(*(yyvsp[-7].s), (yyvsp[-6].code), (yyvsp[-5].narg));
@@ -2988,11 +3022,11 @@ yyreduce:
checkEnd((yyvsp[-1].s), (yyvsp[-7].s)->c_str(), false);
delete (yyvsp[-7].s);
delete (yyvsp[-1].s); }
-#line 2992 "engines/director/lingo/lingo-gr.cpp"
+#line 3026 "engines/director/lingo/lingo-gr.cpp"
break;
- case 145:
-#line 623 "engines/director/lingo/lingo-gr.y"
+ case 146:
+#line 635 "engines/director/lingo/lingo-gr.y"
{ // D4. No 'end' clause
g_lingo->code1(LC::c_procret);
g_lingo->define(*(yyvsp[-5].s), (yyvsp[-4].code), (yyvsp[-3].narg));
@@ -3000,65 +3034,65 @@ yyreduce:
g_lingo->clearArgStack();
g_lingo->_ignoreMe = false;
delete (yyvsp[-5].s); }
-#line 3004 "engines/director/lingo/lingo-gr.cpp"
+#line 3038 "engines/director/lingo/lingo-gr.cpp"
break;
- case 146:
-#line 631 "engines/director/lingo/lingo-gr.y"
+ case 147:
+#line 643 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; }
-#line 3010 "engines/director/lingo/lingo-gr.cpp"
+#line 3044 "engines/director/lingo/lingo-gr.cpp"
break;
- case 147:
-#line 631 "engines/director/lingo/lingo-gr.y"
+ case 148:
+#line 643 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = (yyvsp[0].s); g_lingo->_currentFactory.clear(); g_lingo->_ignoreMe = true; }
-#line 3016 "engines/director/lingo/lingo-gr.cpp"
+#line 3050 "engines/director/lingo/lingo-gr.cpp"
break;
- case 148:
-#line 633 "engines/director/lingo/lingo-gr.y"
+ case 149:
+#line 645 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; }
-#line 3022 "engines/director/lingo/lingo-gr.cpp"
+#line 3056 "engines/director/lingo/lingo-gr.cpp"
break;
- case 149:
-#line 634 "engines/director/lingo/lingo-gr.y"
+ case 150:
+#line 646 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); (yyval.narg) = 1; delete (yyvsp[0].s); }
-#line 3028 "engines/director/lingo/lingo-gr.cpp"
+#line 3062 "engines/director/lingo/lingo-gr.cpp"
break;
- case 150:
-#line 635 "engines/director/lingo/lingo-gr.y"
+ case 151:
+#line 647 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); (yyval.narg) = (yyvsp[-2].narg) + 1; delete (yyvsp[0].s); }
-#line 3034 "engines/director/lingo/lingo-gr.cpp"
+#line 3068 "engines/director/lingo/lingo-gr.cpp"
break;
- case 151:
-#line 636 "engines/director/lingo/lingo-gr.y"
+ case 152:
+#line 648 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); (yyval.narg) = (yyvsp[-3].narg) + 1; delete (yyvsp[0].s); }
-#line 3040 "engines/director/lingo/lingo-gr.cpp"
+#line 3074 "engines/director/lingo/lingo-gr.cpp"
break;
- case 153:
-#line 639 "engines/director/lingo/lingo-gr.y"
+ case 154:
+#line 651 "engines/director/lingo/lingo-gr.y"
{ delete (yyvsp[0].s); }
-#line 3046 "engines/director/lingo/lingo-gr.cpp"
+#line 3080 "engines/director/lingo/lingo-gr.cpp"
break;
- case 154:
-#line 640 "engines/director/lingo/lingo-gr.y"
+ case 155:
+#line 652 "engines/director/lingo/lingo-gr.y"
{ delete (yyvsp[0].s); }
-#line 3052 "engines/director/lingo/lingo-gr.cpp"
+#line 3086 "engines/director/lingo/lingo-gr.cpp"
break;
- case 155:
-#line 642 "engines/director/lingo/lingo-gr.y"
+ case 156:
+#line 654 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArgStore(); g_lingo->_indef = kStateInDef; }
-#line 3058 "engines/director/lingo/lingo-gr.cpp"
+#line 3092 "engines/director/lingo/lingo-gr.cpp"
break;
- case 156:
-#line 644 "engines/director/lingo/lingo-gr.y"
+ case 157:
+#line 656 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_call);
g_lingo->codeString((yyvsp[-1].s)->c_str());
@@ -3066,113 +3100,113 @@ yyreduce:
WRITE_UINT32(&numpar, (yyvsp[0].narg));
g_lingo->code1(numpar);
delete (yyvsp[-1].s); }
-#line 3070 "engines/director/lingo/lingo-gr.cpp"
+#line 3104 "engines/director/lingo/lingo-gr.cpp"
break;
- case 157:
-#line 652 "engines/director/lingo/lingo-gr.y"
+ case 158:
+#line 664 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; }
-#line 3076 "engines/director/lingo/lingo-gr.cpp"
+#line 3110 "engines/director/lingo/lingo-gr.cpp"
break;
- case 158:
-#line 653 "engines/director/lingo/lingo-gr.y"
+ case 159:
+#line 665 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3082 "engines/director/lingo/lingo-gr.cpp"
+#line 3116 "engines/director/lingo/lingo-gr.cpp"
break;
- case 159:
-#line 654 "engines/director/lingo/lingo-gr.y"
+ case 160:
+#line 666 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3088 "engines/director/lingo/lingo-gr.cpp"
+#line 3122 "engines/director/lingo/lingo-gr.cpp"
break;
- case 160:
-#line 656 "engines/director/lingo/lingo-gr.y"
+ case 161:
+#line 668 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3094 "engines/director/lingo/lingo-gr.cpp"
+#line 3128 "engines/director/lingo/lingo-gr.cpp"
break;
- case 161:
-#line 657 "engines/director/lingo/lingo-gr.y"
+ case 162:
+#line 669 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3100 "engines/director/lingo/lingo-gr.cpp"
+#line 3134 "engines/director/lingo/lingo-gr.cpp"
break;
- case 162:
-#line 659 "engines/director/lingo/lingo-gr.y"
+ case 163:
+#line 671 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[-1].code); }
-#line 3106 "engines/director/lingo/lingo-gr.cpp"
+#line 3140 "engines/director/lingo/lingo-gr.cpp"
break;
- case 163:
-#line 661 "engines/director/lingo/lingo-gr.y"
+ case 164:
+#line 673 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code2(LC::c_arraypush, 0); }
-#line 3112 "engines/director/lingo/lingo-gr.cpp"
+#line 3146 "engines/director/lingo/lingo-gr.cpp"
break;
- case 164:
-#line 662 "engines/director/lingo/lingo-gr.y"
+ case 165:
+#line 674 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code2(LC::c_proparraypush, 0); }
-#line 3118 "engines/director/lingo/lingo-gr.cpp"
+#line 3152 "engines/director/lingo/lingo-gr.cpp"
break;
- case 165:
-#line 663 "engines/director/lingo/lingo-gr.y"
+ case 166:
+#line 675 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_arraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3124 "engines/director/lingo/lingo-gr.cpp"
+#line 3158 "engines/director/lingo/lingo-gr.cpp"
break;
- case 166:
-#line 664 "engines/director/lingo/lingo-gr.y"
+ case 167:
+#line 676 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_proparraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3130 "engines/director/lingo/lingo-gr.cpp"
+#line 3164 "engines/director/lingo/lingo-gr.cpp"
break;
- case 167:
-#line 666 "engines/director/lingo/lingo-gr.y"
+ case 168:
+#line 678 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3136 "engines/director/lingo/lingo-gr.cpp"
+#line 3170 "engines/director/lingo/lingo-gr.cpp"
break;
- case 168:
-#line 667 "engines/director/lingo/lingo-gr.y"
+ case 169:
+#line 679 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3142 "engines/director/lingo/lingo-gr.cpp"
+#line 3176 "engines/director/lingo/lingo-gr.cpp"
break;
- case 169:
-#line 669 "engines/director/lingo/lingo-gr.y"
+ case 170:
+#line 681 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3148 "engines/director/lingo/lingo-gr.cpp"
+#line 3182 "engines/director/lingo/lingo-gr.cpp"
break;
- case 170:
-#line 670 "engines/director/lingo/lingo-gr.y"
+ case 171:
+#line 682 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3154 "engines/director/lingo/lingo-gr.cpp"
+#line 3188 "engines/director/lingo/lingo-gr.cpp"
break;
- case 171:
-#line 672 "engines/director/lingo/lingo-gr.y"
+ case 172:
+#line 684 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_symbolpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
delete (yyvsp[-2].s); }
-#line 3163 "engines/director/lingo/lingo-gr.cpp"
+#line 3197 "engines/director/lingo/lingo-gr.cpp"
break;
- case 172:
-#line 676 "engines/director/lingo/lingo-gr.y"
+ case 173:
+#line 688 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_stringpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
delete (yyvsp[-2].s); }
-#line 3172 "engines/director/lingo/lingo-gr.cpp"
+#line 3206 "engines/director/lingo/lingo-gr.cpp"
break;
-#line 3176 "engines/director/lingo/lingo-gr.cpp"
+#line 3210 "engines/director/lingo/lingo-gr.cpp"
default: break;
}
@@ -3404,5 +3438,5 @@ yyreturn:
#endif
return yyresult;
}
-#line 682 "engines/director/lingo/lingo-gr.y"
+#line 694 "engines/director/lingo/lingo-gr.y"
diff --git a/engines/director/lingo/lingo-gr.h b/engines/director/lingo/lingo-gr.h
index 9c7fbc1..474e612 100644
--- a/engines/director/lingo/lingo-gr.h
+++ b/engines/director/lingo/lingo-gr.h
@@ -65,74 +65,75 @@ extern int yydebug;
THEENTITY = 271,
THEENTITYWITHID = 272,
THEMENUITEMENTITY = 273,
- FLOAT = 274,
- BLTIN = 275,
- FBLTIN = 276,
- RBLTIN = 277,
- ID = 278,
- STRING = 279,
- HANDLER = 280,
- SYMBOL = 281,
- ENDCLAUSE = 282,
- tPLAYACCEL = 283,
- tMETHOD = 284,
- THEOBJECTFIELD = 285,
- THEOBJECTREF = 286,
- tDOWN = 287,
- tELSE = 288,
- tELSIF = 289,
- tEXIT = 290,
- tGLOBAL = 291,
- tGO = 292,
- tIF = 293,
- tIN = 294,
- tINTO = 295,
- tLOOP = 296,
- tMACRO = 297,
- tMOVIE = 298,
- tNEXT = 299,
- tOF = 300,
- tPREVIOUS = 301,
- tPUT = 302,
- tREPEAT = 303,
- tSET = 304,
- tTHEN = 305,
- tTO = 306,
- tWHEN = 307,
- tWITH = 308,
- tWHILE = 309,
- tNLELSE = 310,
- tFACTORY = 311,
- tOPEN = 312,
- tPLAY = 313,
- tDONE = 314,
- tINSTANCE = 315,
- tGE = 316,
- tLE = 317,
- tEQ = 318,
- tNEQ = 319,
- tAND = 320,
- tOR = 321,
- tNOT = 322,
- tMOD = 323,
- tAFTER = 324,
- tBEFORE = 325,
- tCONCAT = 326,
- tCONTAINS = 327,
- tSTARTS = 328,
- tCHAR = 329,
- tITEM = 330,
- tLINE = 331,
- tWORD = 332,
- tSPRITE = 333,
- tINTERSECTS = 334,
- tWITHIN = 335,
- tTELL = 336,
- tPROPERTY = 337,
- tON = 338,
- tENDIF = 339,
- tENDREPEAT = 340,
- tENDTELL = 341
+ THEMENUITEMSENTITY = 274,
+ FLOAT = 275,
+ BLTIN = 276,
+ FBLTIN = 277,
+ RBLTIN = 278,
+ ID = 279,
+ STRING = 280,
+ HANDLER = 281,
+ SYMBOL = 282,
+ ENDCLAUSE = 283,
+ tPLAYACCEL = 284,
+ tMETHOD = 285,
+ THEOBJECTFIELD = 286,
+ THEOBJECTREF = 287,
+ tDOWN = 288,
+ tELSE = 289,
+ tELSIF = 290,
+ tEXIT = 291,
+ tGLOBAL = 292,
+ tGO = 293,
+ tIF = 294,
+ tIN = 295,
+ tINTO = 296,
+ tLOOP = 297,
+ tMACRO = 298,
+ tMOVIE = 299,
+ tNEXT = 300,
+ tOF = 301,
+ tPREVIOUS = 302,
+ tPUT = 303,
+ tREPEAT = 304,
+ tSET = 305,
+ tTHEN = 306,
+ tTO = 307,
+ tWHEN = 308,
+ tWITH = 309,
+ tWHILE = 310,
+ tNLELSE = 311,
+ tFACTORY = 312,
+ tOPEN = 313,
+ tPLAY = 314,
+ tDONE = 315,
+ tINSTANCE = 316,
+ tGE = 317,
+ tLE = 318,
+ tEQ = 319,
+ tNEQ = 320,
+ tAND = 321,
+ tOR = 322,
+ tNOT = 323,
+ tMOD = 324,
+ tAFTER = 325,
+ tBEFORE = 326,
+ tCONCAT = 327,
+ tCONTAINS = 328,
+ tSTARTS = 329,
+ tCHAR = 330,
+ tITEM = 331,
+ tLINE = 332,
+ tWORD = 333,
+ tSPRITE = 334,
+ tINTERSECTS = 335,
+ tWITHIN = 336,
+ tTELL = 337,
+ tPROPERTY = 338,
+ tON = 339,
+ tENDIF = 340,
+ tENDREPEAT = 341,
+ tENDTELL = 342
};
#endif
@@ -160,7 +161,7 @@ union YYSTYPE
Common::String *field;
} objectref;
-#line 164 "engines/director/lingo/lingo-gr.h"
+#line 165 "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 b5613a0..f76132c 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -106,7 +106,7 @@ void checkEnd(Common::String *token, const char *expect, bool required) {
%token UNARY
%token CASTREF VOID VAR POINT RECT ARRAY OBJECT REFERENCE LEXERROR
%token<i> INT ARGC ARGCNORET
-%token<e> THEENTITY THEENTITYWITHID THEMENUITEMENTITY
+%token<e> THEENTITY THEENTITYWITHID THEMENUITEMENTITY THEMENUITEMSENTITY
%token<f> FLOAT
%token<s> BLTIN FBLTIN RBLTIN
%token<s> ID STRING HANDLER SYMBOL
@@ -155,6 +155,18 @@ asgn: tPUT expr tINTO ID {
| tPUT expr tINTO reference {
g_lingo->code1(LC::c_assign);
$$ = $expr; }
+ // {put the number of menuItems of} menu into <expr>
+ | tPUT THEMENUITEMSENTITY ID simpleexpr tINTO expr {
+ if (!$ID->equalsIgnoreCase("menu")) {
+ warning("LEXER: keyword 'menu' expected");
+ YYERROR;
+ }
+
+ warning("STUB: menuItems entity");
+ g_lingo->code1(LC::c_themenuitementityassign);
+ g_lingo->codeInt($THEMENUITEMSENTITY[0]);
+ g_lingo->codeInt($THEMENUITEMSENTITY[1]);
+ $$ = $expr; }
| tPUT expr tAFTER expr { $$ = g_lingo->code1(LC::c_after); } // D3
| tPUT expr tBEFORE expr { $$ = g_lingo->code1(LC::c_before); } // D3
| tSET ID tEQ expr {
diff --git a/engines/director/lingo/lingo-lex.cpp b/engines/director/lingo/lingo-lex.cpp
index cf078e8..945a62a 100644
--- a/engines/director/lingo/lingo-lex.cpp
+++ b/engines/director/lingo/lingo-lex.cpp
@@ -412,7 +412,7 @@ static yyconst flex_int16_t yy_accept[366] =
0, 57, 0, 0, 0, 20, 48, 0, 0, 0,
55, 0, 0, 0, 0, 0, 0, 0, 0, 48,
0, 0, 0, 0, 0, 0, 0, 0, 0, 51,
- 52, 48, 0, 0, 0, 56, 55, 55, 56, 0,
+ 0, 48, 0, 0, 0, 56, 55, 55, 56, 0,
52, 48, 54, 55, 55, 0, 55, 0, 55, 0,
0, 0, 0, 53, 0
} ;
@@ -1482,6 +1482,16 @@ YY_RULE_SETUP
while (*ptr != ' ' && *ptr != '\t')
field += *ptr++;
+ // the number of menuItems of menu <xx>
+ if (!field.compareToIgnoreCase("menuItems")) {
+ Common::String key = Common::String::format("%dnumber", kTheMenuItems);
+
+ yylval.e[0] = kTheMenuItems;
+ yylval.e[1] = g_lingo->_theEntityFields[key]->field;
+
+ return THEMENUITEMSENTITY;
+ }
+
yylval.s = new Common::String(Common::String::format("numberOf%s", field.c_str()));
if (g_lingo->_builtins.contains(*yylval.s)) {
@@ -1494,7 +1504,7 @@ YY_RULE_SETUP
YY_BREAK
case 54:
YY_RULE_SETUP
-#line 231 "engines/director/lingo/lingo-lex.l"
+#line 241 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1520,7 +1530,7 @@ YY_RULE_SETUP
YY_BREAK
case 55:
YY_RULE_SETUP
-#line 253 "engines/director/lingo/lingo-lex.l"
+#line 263 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1587,7 +1597,7 @@ YY_RULE_SETUP
YY_BREAK
case 56:
YY_RULE_SETUP
-#line 316 "engines/director/lingo/lingo-lex.l"
+#line 326 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1625,7 +1635,7 @@ YY_RULE_SETUP
YY_BREAK
case 57:
YY_RULE_SETUP
-#line 350 "engines/director/lingo/lingo-lex.l"
+#line 360 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1648,72 +1658,72 @@ YY_RULE_SETUP
YY_BREAK
case 58:
YY_RULE_SETUP
-#line 369 "engines/director/lingo/lingo-lex.l"
+#line 379 "engines/director/lingo/lingo-lex.l"
{ count(); return tTHEN; }
YY_BREAK
case 59:
YY_RULE_SETUP
-#line 370 "engines/director/lingo/lingo-lex.l"
+#line 380 "engines/director/lingo/lingo-lex.l"
{ count(); return tTO; }
YY_BREAK
case 60:
YY_RULE_SETUP
-#line 371 "engines/director/lingo/lingo-lex.l"
+#line 381 "engines/director/lingo/lingo-lex.l"
{ count(); return tSPRITE; }
YY_BREAK
case 61:
YY_RULE_SETUP
-#line 372 "engines/director/lingo/lingo-lex.l"
+#line 382 "engines/director/lingo/lingo-lex.l"
{ count(); return tWITH; }
YY_BREAK
case 62:
YY_RULE_SETUP
-#line 373 "engines/director/lingo/lingo-lex.l"
+#line 383 "engines/director/lingo/lingo-lex.l"
{ count(); return tWITHIN; }
YY_BREAK
case 63:
YY_RULE_SETUP
-#line 374 "engines/director/lingo/lingo-lex.l"
+#line 384 "engines/director/lingo/lingo-lex.l"
{ count(); return tWHEN; }
YY_BREAK
case 64:
YY_RULE_SETUP
-#line 375 "engines/director/lingo/lingo-lex.l"
+#line 385 "engines/director/lingo/lingo-lex.l"
{ count(); return tWHILE; }
YY_BREAK
case 65:
YY_RULE_SETUP
-#line 376 "engines/director/lingo/lingo-lex.l"
+#line 386 "engines/director/lingo/lingo-lex.l"
{ count(); return tWORD; }
YY_BREAK
case 66:
YY_RULE_SETUP
-#line 378 "engines/director/lingo/lingo-lex.l"
+#line 388 "engines/director/lingo/lingo-lex.l"
{ count(); return tNEQ; }
YY_BREAK
case 67:
YY_RULE_SETUP
-#line 379 "engines/director/lingo/lingo-lex.l"
+#line 389 "engines/director/lingo/lingo-lex.l"
{ count(); return tGE; }
YY_BREAK
case 68:
YY_RULE_SETUP
-#line 380 "engines/director/lingo/lingo-lex.l"
+#line 390 "engines/director/lingo/lingo-lex.l"
{ count(); return tLE; }
YY_BREAK
case 69:
YY_RULE_SETUP
-#line 381 "engines/director/lingo/lingo-lex.l"
+#line 391 "engines/director/lingo/lingo-lex.l"
{ count(); return tCONCAT; }
YY_BREAK
case 70:
YY_RULE_SETUP
-#line 382 "engines/director/lingo/lingo-lex.l"
+#line 392 "engines/director/lingo/lingo-lex.l"
{ count(); return tEQ; }
YY_BREAK
case 71:
YY_RULE_SETUP
-#line 384 "engines/director/lingo/lingo-lex.l"
+#line 394 "engines/director/lingo/lingo-lex.l"
{
count();
yylval.s = new Common::String(yytext);
@@ -1751,41 +1761,41 @@ YY_RULE_SETUP
YY_BREAK
case 72:
YY_RULE_SETUP
-#line 418 "engines/director/lingo/lingo-lex.l"
+#line 428 "engines/director/lingo/lingo-lex.l"
{ count(); yylval.f = atof(yytext); return FLOAT; }
YY_BREAK
case 73:
YY_RULE_SETUP
-#line 419 "engines/director/lingo/lingo-lex.l"
+#line 429 "engines/director/lingo/lingo-lex.l"
{ count(); yylval.i = strtol(yytext, NULL, 10); return INT; }
YY_BREAK
case 74:
YY_RULE_SETUP
-#line 420 "engines/director/lingo/lingo-lex.l"
+#line 430 "engines/director/lingo/lingo-lex.l"
{ count(); return *yytext; }
YY_BREAK
case 75:
/* rule 75 can match eol */
YY_RULE_SETUP
-#line 421 "engines/director/lingo/lingo-lex.l"
+#line 431 "engines/director/lingo/lingo-lex.l"
{ count(); return '\n'; }
YY_BREAK
case 76:
YY_RULE_SETUP
-#line 422 "engines/director/lingo/lingo-lex.l"
+#line 432 "engines/director/lingo/lingo-lex.l"
{ count(); yylval.s = new Common::String(&yytext[1]); yylval.s->deleteLastChar(); return STRING; }
YY_BREAK
case 77:
YY_RULE_SETUP
-#line 423 "engines/director/lingo/lingo-lex.l"
+#line 433 "engines/director/lingo/lingo-lex.l"
{ count(); }
YY_BREAK
case 78:
YY_RULE_SETUP
-#line 425 "engines/director/lingo/lingo-lex.l"
+#line 435 "engines/director/lingo/lingo-lex.l"
ECHO;
YY_BREAK
-#line 1789 "engines/director/lingo/lingo-lex.cpp"
+#line 1799 "engines/director/lingo/lingo-lex.cpp"
case YY_STATE_EOF(INITIAL):
yyterminate();
@@ -2745,7 +2755,7 @@ void yyfree (void * ptr )
#define YYTABLES_NAME "yytables"
-#line 425 "engines/director/lingo/lingo-lex.l"
+#line 435 "engines/director/lingo/lingo-lex.l"
diff --git a/engines/director/lingo/lingo-lex.l b/engines/director/lingo/lingo-lex.l
index a717950..ffcc5c6 100644
--- a/engines/director/lingo/lingo-lex.l
+++ b/engines/director/lingo/lingo-lex.l
@@ -196,7 +196,7 @@ the[ \t]+sqrt[ \t]+of[ \t]+ {
return THEENTITYWITHID;
}
-the[ \t]+value[ \t]+of[ \t]* {
+the[ \t]+value[ \t]+of[ \t]+ {
count();
yylval.s = new Common::String("value");
@@ -219,6 +219,16 @@ the[ \t]+number[ \t]+of[ \t]+[[:alpha:]]+[ \t](in|of)[ \t] {
while (*ptr != ' ' && *ptr != '\t')
field += *ptr++;
+ // the number of menuItems of menu <xx>
+ if (!field.compareToIgnoreCase("menuItems")) {
+ Common::String key = Common::String::format("%dnumber", kTheMenuItems);
+
+ yylval.e[0] = kTheMenuItems;
+ yylval.e[1] = g_lingo->_theEntityFields[key]->field;
+
+ return THEMENUITEMSENTITY;
+ }
+
yylval.s = new Common::String(Common::String::format("numberOf%s", field.c_str()));
if (g_lingo->_builtins.contains(*yylval.s)) {
diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp
index fb55374..554e13a 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -248,6 +248,7 @@ TheEntityField fields[] = {
{ kTheMenuItem, "enabled", kTheEnabled, 3 },// D3 p
{ kTheMenuItem, "name", kTheName, 3 },// D3 p
{ kTheMenuItem, "script", kTheScript, 3 },// D3 p
+ { kTheMenuItems,"number", kTheNumber, 3 },// D3 p // number of menuitems of menu <xx>
{ kTheMenu, "name", kTheName, 3 },// D3 p
Commit: 8c88688908e50cc56fb252067ca14b364dc27801
https://github.com/scummvm/scummvm/commit/8c88688908e50cc56fb252067ca14b364dc27801
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-01-22T17:28:01+01:00
Commit Message:
DIRECTOR: LINGO: Added test for 'the number of menuItems'
Changed paths:
engines/director/lingo/tests/the.lingo
diff --git a/engines/director/lingo/tests/the.lingo b/engines/director/lingo/tests/the.lingo
index 19618fa..97173e7 100644
--- a/engines/director/lingo/tests/the.lingo
+++ b/engines/director/lingo/tests/the.lingo
@@ -37,3 +37,5 @@ put the volume of sound 1 into field 11
set the checkMark of menuItem "Horizontal" of menu "The Ball" to False
put the number of castMembers into field 5
+
+put the number of menuItems of menu "sam" into field 3
More information about the Scummvm-git-logs
mailing list