[Scummvm-git-logs] scummvm master -> d004473e416d73c532bc701b6b2cc2604535012d
sev-
sev at scummvm.org
Sun Jan 19 14:47:58 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:
207407a647 DIRECTOR: LINGO: Gracefully process lexer and parser errors.
d004473e41 DIRECTOR: Fix script dumping for score scripts
Commit: 207407a647f373aafb013eb029f0d2cd337402b5
https://github.com/scummvm/scummvm/commit/207407a647f373aafb013eb029f0d2cd337402b5
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-01-19T15:47:42+01:00
Commit Message:
DIRECTOR: LINGO: Gracefully process lexer and parser errors.
Changed paths:
engines/director/lingo/lingo-gr.cpp
engines/director/lingo/lingo-gr.h
engines/director/lingo/lingo-gr.y
engines/director/lingo/lingo-lex.cpp
engines/director/lingo/lingo-lex.l
diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp
index ee221a3..42d9931 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -154,79 +154,80 @@ extern int yydebug;
ARRAY = 264,
OBJECT = 265,
REFERENCE = 266,
- INT = 267,
- ARGC = 268,
- ARGCNORET = 269,
- THEENTITY = 270,
- THEENTITYWITHID = 271,
- THEMENUITEMENTITY = 272,
- FLOAT = 273,
- BLTIN = 274,
- FBLTIN = 275,
- RBLTIN = 276,
- ID = 277,
- STRING = 278,
- HANDLER = 279,
- SYMBOL = 280,
- ENDCLAUSE = 281,
- tPLAYACCEL = 282,
- tMETHOD = 283,
- THEOBJECTFIELD = 284,
- tDOWN = 285,
- tELSE = 286,
- tELSIF = 287,
- tEXIT = 288,
- tGLOBAL = 289,
- tGO = 290,
- tIF = 291,
- tIN = 292,
- tINTO = 293,
- tLOOP = 294,
- tMACRO = 295,
- tMOVIE = 296,
- tNEXT = 297,
- tOF = 298,
- tPREVIOUS = 299,
- tPUT = 300,
- tREPEAT = 301,
- tSET = 302,
- tTHEN = 303,
- tTO = 304,
- tWHEN = 305,
- tWITH = 306,
- tWHILE = 307,
- tNLELSE = 308,
- tFACTORY = 309,
- tOPEN = 310,
- tPLAY = 311,
- tDONE = 312,
- tINSTANCE = 313,
- tGE = 314,
- tLE = 315,
- tEQ = 316,
- tNEQ = 317,
- tAND = 318,
- tOR = 319,
- tNOT = 320,
- tMOD = 321,
- tAFTER = 322,
- tBEFORE = 323,
- tCONCAT = 324,
- tCONTAINS = 325,
- tSTARTS = 326,
- tCHAR = 327,
- tITEM = 328,
- tLINE = 329,
- tWORD = 330,
- tSPRITE = 331,
- tINTERSECTS = 332,
- tWITHIN = 333,
- tTELL = 334,
- tPROPERTY = 335,
- tON = 336,
- tENDIF = 337,
- tENDREPEAT = 338,
- tENDTELL = 339
+ LEXERROR = 267,
+ INT = 268,
+ ARGC = 269,
+ ARGCNORET = 270,
+ 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,
+ tDOWN = 286,
+ tELSE = 287,
+ tELSIF = 288,
+ tEXIT = 289,
+ tGLOBAL = 290,
+ tGO = 291,
+ tIF = 292,
+ tIN = 293,
+ tINTO = 294,
+ tLOOP = 295,
+ tMACRO = 296,
+ tMOVIE = 297,
+ tNEXT = 298,
+ tOF = 299,
+ tPREVIOUS = 300,
+ tPUT = 301,
+ tREPEAT = 302,
+ tSET = 303,
+ tTHEN = 304,
+ tTO = 305,
+ tWHEN = 306,
+ tWITH = 307,
+ tWHILE = 308,
+ tNLELSE = 309,
+ tFACTORY = 310,
+ tOPEN = 311,
+ tPLAY = 312,
+ tDONE = 313,
+ tINSTANCE = 314,
+ tGE = 315,
+ tLE = 316,
+ tEQ = 317,
+ tNEQ = 318,
+ tAND = 319,
+ tOR = 320,
+ tNOT = 321,
+ tMOD = 322,
+ tAFTER = 323,
+ tBEFORE = 324,
+ tCONCAT = 325,
+ tCONTAINS = 326,
+ tSTARTS = 327,
+ tCHAR = 328,
+ tITEM = 329,
+ tLINE = 330,
+ tWORD = 331,
+ tSPRITE = 332,
+ tINTERSECTS = 333,
+ tWITHIN = 334,
+ tTELL = 335,
+ tPROPERTY = 336,
+ tON = 337,
+ tENDIF = 338,
+ tENDREPEAT = 339,
+ tENDTELL = 340
};
#endif
@@ -249,7 +250,7 @@ union YYSTYPE
int oe;
} objectfield;
-#line 253 "engines/director/lingo/lingo-gr.cpp"
+#line 254 "engines/director/lingo/lingo-gr.cpp"
};
typedef union YYSTYPE YYSTYPE;
@@ -568,10 +569,10 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 126
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 1685
+#define YYLAST 1689
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 100
+#define YYNTOKENS 101
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 51
/* YYNRULES -- Number of rules. */
@@ -580,7 +581,7 @@ union yyalloc
#define YYNSTATES 369
#define YYUNDEFTOK 2
-#define YYMAXUTOK 339
+#define YYMAXUTOK 340
/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
@@ -593,15 +594,15 @@ union yyalloc
static const yytype_int8 yytranslate[] =
{
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 93, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 94, 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, 92, 87, 2,
- 94, 95, 90, 88, 96, 89, 2, 91, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 99, 2,
- 85, 2, 86, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 93, 88, 2,
+ 95, 96, 91, 89, 97, 90, 2, 92, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 100, 2,
+ 86, 2, 87, 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, 97, 2, 98, 2, 2, 2, 2, 2, 2,
+ 2, 98, 2, 99, 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,
@@ -625,7 +626,8 @@ static const yytype_int8 yytranslate[] =
45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84
+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
+ 85
};
#if YYDEBUG
@@ -633,23 +635,23 @@ static const yytype_int8 yytranslate[] =
static const yytype_int16 yyrline[] =
{
0, 135, 135, 136, 137, 139, 140, 141, 143, 149,
- 152, 153, 154, 160, 167, 173, 180, 186, 193, 203,
- 210, 211, 212, 214, 215, 216, 217, 219, 220, 225,
- 236, 253, 265, 276, 278, 283, 287, 292, 296, 306,
- 317, 318, 320, 327, 337, 348, 350, 356, 362, 369,
- 371, 373, 374, 375, 377, 383, 386, 389, 393, 397,
- 401, 403, 404, 405, 408, 411, 414, 422, 428, 433,
- 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
- 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
- 454, 455, 456, 458, 459, 460, 461, 462, 463, 464,
- 465, 467, 470, 472, 473, 474, 475, 476, 477, 477,
- 478, 478, 479, 480, 483, 486, 487, 489, 493, 498,
- 502, 507, 511, 523, 524, 525, 526, 530, 534, 539,
- 540, 542, 543, 547, 551, 555, 555, 585, 585, 585,
- 592, 593, 593, 600, 610, 618, 618, 620, 621, 622,
- 623, 625, 626, 627, 629, 631, 639, 640, 641, 643,
- 644, 646, 648, 649, 650, 651, 653, 654, 656, 657,
- 659, 663
+ 152, 153, 154, 160, 167, 173, 180, 186, 193, 204,
+ 211, 212, 213, 215, 216, 217, 218, 220, 221, 226,
+ 237, 254, 266, 277, 279, 284, 288, 293, 297, 307,
+ 318, 319, 321, 328, 338, 349, 351, 357, 363, 370,
+ 372, 374, 375, 376, 378, 384, 387, 390, 394, 398,
+ 402, 404, 405, 406, 409, 412, 415, 423, 429, 434,
+ 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
+ 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
+ 455, 456, 457, 459, 460, 461, 462, 463, 464, 465,
+ 466, 468, 471, 473, 474, 475, 476, 477, 478, 478,
+ 479, 479, 480, 481, 484, 487, 488, 490, 494, 499,
+ 503, 508, 512, 524, 525, 526, 527, 531, 535, 540,
+ 541, 543, 544, 548, 552, 556, 556, 586, 586, 586,
+ 593, 594, 594, 601, 611, 619, 619, 621, 622, 623,
+ 624, 626, 627, 628, 630, 632, 640, 641, 642, 644,
+ 645, 647, 649, 650, 651, 652, 654, 655, 657, 658,
+ 660, 664
};
#endif
@@ -659,8 +661,8 @@ static const yytype_int16 yyrline[] =
static const char *const yytname[] =
{
"$end", "error", "$undefined", "UNARY", "CASTREF", "VOID", "VAR",
- "POINT", "RECT", "ARRAY", "OBJECT", "REFERENCE", "INT", "ARGC",
- "ARGCNORET", "THEENTITY", "THEENTITYWITHID", "THEMENUITEMENTITY",
+ "POINT", "RECT", "ARRAY", "OBJECT", "REFERENCE", "LEXERROR", "INT",
+ "ARGC", "ARGCNORET", "THEENTITY", "THEENTITYWITHID", "THEMENUITEMENTITY",
"FLOAT", "BLTIN", "FBLTIN", "RBLTIN", "ID", "STRING", "HANDLER",
"SYMBOL", "ENDCLAUSE", "tPLAYACCEL", "tMETHOD", "THEOBJECTFIELD",
"tDOWN", "tELSE", "tELSIF", "tEXIT", "tGLOBAL", "tGO", "tIF", "tIN",
@@ -697,8 +699,9 @@ 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, 60, 62, 38, 43, 45,
- 42, 47, 37, 10, 40, 41, 44, 91, 93, 58
+ 335, 336, 337, 338, 339, 340, 60, 62, 38, 43,
+ 45, 42, 47, 37, 10, 40, 41, 44, 91, 93,
+ 58
};
# endif
@@ -716,43 +719,43 @@ static const yytype_int16 yytoknum[] =
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- 339, -52, -269, -269, 1023, -269, 1057, 1137, 31, 1171,
- -269, -269, -269, -269, -269, -27, -269, 905, -269, -269,
- 37, 1023, 7, 102, 29, 55, 1023, 943, 74, 1023,
- 1023, 1023, 1023, 1023, 1023, 1023, -269, -269, 1023, 1023,
- 1023, 419, 8, -269, -269, -269, -269, -269, 1023, -19,
- 1023, 745, -269, 1581, -269, -269, -269, -269, -269, -269,
- -269, -269, -269, -269, 13, 1023, 1581, 1023, 1581, 16,
- 1023, 16, -269, -269, 1023, 1581, 18, 1023, -269, -269,
- 91, -269, 1023, -269, 75, -269, 411, -269, 93, -269,
- 167, 98, -269, -29, 31, 31, -1, 80, 84, -269,
- 1498, -269, 411, -269, -269, 27, -269, 1192, 1226, 1259,
- 1292, 1548, 1457, 129, 131, -269, -269, 1511, 56, 58,
- -269, 1581, 60, 64, 65, -269, -269, 505, 1581, 1023,
- 1023, 1581, -269, -269, 1023, 1581, -269, -269, 1023, 1023,
- 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023,
- 1023, 1023, 1023, 1023, 1023, 132, 1023, 167, 1511, -2,
- 1023, 2, 4, 1023, 16, 132, -269, 66, 1581, 1023,
- -269, -269, 17, 1023, 1023, -269, 1023, 1023, 1, 120,
- 1023, 1023, 1023, -269, 1023, -269, 142, 1023, 1023, 1023,
- 1023, 1023, 1023, 1023, 1023, 1023, 1023, -269, -269, -269,
- 70, -269, -269, 31, 31, -269, 1023, 51, -269, -269,
- 1581, 1581, 119, -269, 1581, 15, 15, 15, 15, 1594,
- 1594, -269, 20, 15, 15, 15, 15, 20, -26, -26,
- -269, -269, -269, -72, -269, 1581, -269, -269, 1581, -41,
- 149, 1581, -269, -269, -269, 1581, 1581, 1581, 15, 1023,
- 1023, 152, 1581, 15, 1581, 1581, -269, 1581, 1325, 1581,
- 1358, 1581, 1391, 1581, 1424, 1581, 1581, 825, -269, 153,
- -269, -269, 1581, 56, 58, -269, 665, -269, -16, -269,
- 133, 83, 160, 83, -269, 132, 1581, 15, 31, 1023,
- 1023, 1023, 1023, -269, 665, -269, -269, -269, 110, 665,
- 145, 1023, 665, 825, 173, -269, -269, -269, -25, 150,
- 1581, 1581, 1581, 1581, -269, 114, -269, 123, 1023, 1581,
- -269, -269, -269, 585, 665, 83, 1023, -269, -269, 1581,
- -269, 48, -15, 181, -269, 1581, -269, 665, -269, -269,
- -269, 1023, 125, -269, -269, -269, 112, 665, 665, 126,
- -269, 1581, -269, 825, 188, 130, -269, 665, 164, -269,
- -269, -269, 134, -269, 135, -269, 665, -269, -269
+ 342, -70, -269, -269, 1026, -269, 1060, 1140, 30, 1174,
+ -269, -269, -269, -269, -269, 27, -269, 908, -269, -269,
+ 33, 1026, -33, 93, 54, 73, 1026, 946, 91, 1026,
+ 1026, 1026, 1026, 1026, 1026, 1026, -269, -269, 1026, 1026,
+ 1026, 422, 8, -269, -269, -269, -269, -269, 1026, -20,
+ 1026, 748, -269, 1584, -269, -269, -269, -269, -269, -269,
+ -269, -269, -269, -269, -12, 1026, 1584, 1026, 1584, 18,
+ 1026, 18, -269, -269, 1026, 1584, 20, 1026, -269, -269,
+ 95, -269, 1026, -269, 77, -269, 414, -269, 97, -269,
+ 166, 101, -269, -29, 30, 30, -2, 79, 82, -269,
+ 1501, -269, 414, -269, -269, 35, -269, 1195, 1229, 1262,
+ 1295, 1551, 1460, 128, 130, -269, -269, 1514, 55, 57,
+ -269, 1584, 59, 63, 64, -269, -269, 508, 1584, 1026,
+ 1026, 1584, -269, -269, 1026, 1584, -269, -269, 1026, 1026,
+ 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026,
+ 1026, 1026, 1026, 1026, 1026, 131, 1026, 166, 1514, -38,
+ 1026, -3, 11, 1026, 18, 131, -269, 65, 1584, 1026,
+ -269, -269, 16, 1026, 1026, -269, 1026, 1026, 0, 119,
+ 1026, 1026, 1026, -269, 1026, -269, 141, 1026, 1026, 1026,
+ 1026, 1026, 1026, 1026, 1026, 1026, 1026, -269, -269, -269,
+ 69, -269, -269, 30, 30, -269, 1026, 60, -269, -269,
+ 1584, 1584, 118, -269, 1584, 9, 9, 9, 9, 1597,
+ 1597, -269, 14, 9, 9, 9, 9, 14, -51, -51,
+ -269, -269, -269, -42, -269, 1584, -269, -269, 1584, -30,
+ 148, 1584, -269, -269, -269, 1584, 1584, 1584, 9, 1026,
+ 1026, 151, 1584, 9, 1584, 1584, -269, 1584, 1328, 1584,
+ 1361, 1584, 1394, 1584, 1427, 1584, 1584, 828, -269, 152,
+ -269, -269, 1584, 55, 57, -269, 668, -269, 1, -269,
+ 132, 85, 156, 85, -269, 131, 1584, 9, 30, 1026,
+ 1026, 1026, 1026, -269, 668, -269, -269, -269, 109, 668,
+ 144, 1026, 668, 828, 172, -269, -269, -269, -26, 149,
+ 1584, 1584, 1584, 1584, -269, 113, -269, 122, 1026, 1584,
+ -269, -269, -269, 588, 668, 85, 1026, -269, -269, 1584,
+ -269, 80, -18, 180, -269, 1584, -269, 668, -269, -269,
+ -269, 1026, 124, -269, -269, -269, 111, 668, 668, 125,
+ -269, 1584, -269, 828, 187, 129, -269, 668, 163, -269,
+ -269, -269, 133, -269, 134, -269, 668, -269, -269
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -802,12 +805,12 @@ static const yytype_uint8 yydefact[] =
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -269, -269, 87, -269, -258, -269, 6, 21, -269, -269,
- -269, -269, -269, -269, 170, -269, -74, -10, -57, -269,
- -7, -4, -269, 43, 172, -269, -269, -269, -269, -269,
+ -269, -269, 87, -269, -258, -269, 6, 17, -269, -269,
+ -269, -269, -269, -269, 167, -269, -74, -10, -57, -269,
+ -7, -4, -269, 47, 170, -269, -269, -269, -269, -269,
-269, -17, -269, -269, -269, -269, -269, -269, -269, -269,
- -158, -269, -268, 174, 5, -269, -269, -269, -269, -269,
- 11
+ -158, -269, -268, 173, 5, -269, -269, -269, -269, -269,
+ 25
};
/* YYDEFGOTO[NTERM-NUM]. */
@@ -827,29 +830,29 @@ static const yytype_int16 yydefgoto[] =
static const yytype_int16 yytable[] =
{
66, 73, 68, 68, 165, 75, 46, 239, 126, 293,
- 103, 69, 71, 86, 300, 307, 343, 90, 129, 79,
- 176, 281, 100, 102, 282, 106, 107, 108, 109, 110,
- 111, 112, 177, 301, 115, 116, 117, 121, 8, 243,
- 144, 63, 130, 2, 128, 321, 131, 135, 180, 5,
- 249, 98, 283, 72, 10, 282, 11, 334, 91, 92,
- 181, 157, 250, 158, 153, 154, 158, 344, 325, 170,
- 158, 282, 159, 68, 273, 161, 274, 99, 168, 338,
- 339, 144, 164, 89, 145, 185, 144, 178, 179, 30,
- 31, 32, 33, 234, 160, 359, 104, 236, 160, 237,
- 160, 127, 150, 151, 152, 153, 154, 156, 151, 152,
- 153, 154, 160, 166, 163, 171, 169, 93, 94, 95,
- 175, 212, 213, 186, 96, 210, 211, 308, 41, 182,
- 214, 97, 183, 46, 215, 216, 217, 218, 219, 220,
+ 103, 69, 71, 86, 343, 307, 144, 90, 129, 91,
+ 92, 176, 100, 102, 63, 106, 107, 108, 109, 110,
+ 111, 112, 300, 177, 115, 116, 117, 121, 8, 243,
+ 153, 154, 130, 2, 128, 321, 131, 135, 180, 5,
+ 249, 301, 281, 72, 10, 282, 11, 334, 234, 160,
+ 181, 157, 250, 158, 283, 344, 158, 282, 325, 170,
+ 158, 282, 159, 68, 79, 161, 144, 98, 168, 145,
+ 89, 144, 164, 156, 273, 185, 274, 178, 179, 30,
+ 31, 32, 33, 236, 160, 359, 99, 150, 151, 152,
+ 153, 154, 127, 151, 152, 153, 154, 237, 160, 93,
+ 94, 95, 338, 339, 104, 160, 96, 163, 166, 169,
+ 171, 212, 213, 97, 175, 210, 211, 308, 41, 182,
+ 214, 183, 186, 46, 215, 216, 217, 218, 219, 220,
221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
231, 199, 68, 201, 232, 203, 235, 204, 205, 238,
206, 207, 240, 251, 256, 241, 269, 279, 285, 245,
- 246, 284, 247, 248, 288, 295, 252, 253, 254, 304,
- 255, 303, 306, 257, 258, 259, 260, 261, 262, 263,
+ 246, 284, 247, 248, 288, 295, 252, 253, 254, 306,
+ 255, 303, 304, 257, 258, 259, 260, 261, 262, 263,
264, 265, 266, 316, 318, 322, 270, 271, 327, 326,
277, 278, 272, 345, 280, 172, 328, 352, 354, 356,
- 360, 294, 363, 361, 208, 244, 365, 367, 275, 268,
- 299, 134, 302, 136, 0, 137, 138, 139, 140, 141,
- 142, 143, 0, 144, 173, 174, 145, 146, 147, 0,
+ 360, 294, 363, 361, 208, 268, 365, 367, 134, 244,
+ 299, 136, 302, 0, 137, 0, 138, 139, 140, 141,
+ 142, 143, 275, 144, 173, 174, 145, 146, 147, 0,
0, 0, 0, 0, 0, 286, 287, 0, 323, 0,
324, 0, 148, 149, 150, 151, 152, 153, 154, 0,
0, 0, 0, 0, 350, 0, 298, 0, 0, 353,
@@ -859,9 +862,26 @@ static const yytype_int16 yytable[] =
0, 0, 0, 0, 0, 0, 366, 0, 0, 330,
0, 332, 0, 0, 329, 0, 0, 0, 0, 336,
0, 342, 335, 0, 0, 0, 0, 349, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 351, 355, -5,
- 1, 358, 0, 0, 0, 0, 0, 362, 0, 364,
- 0, 2, 0, 0, 3, 4, 368, 5, 6, 7,
+ 0, 0, 0, 0, 0, 0, 0, 351, 355, 0,
+ 0, 358, -5, 1, 0, 0, 0, 362, 0, 364,
+ 0, 0, 0, 0, 0, 2, 368, 0, 3, 4,
+ 0, 5, 6, 7, 8, 9, 10, 0, 11, 0,
+ 12, 13, 14, 0, 0, 0, 15, 16, 17, 18,
+ 0, 0, 0, 19, 0, 20, 0, 0, 21, 22,
+ 23, 0, 0, 24, 0, 0, 0, 25, 26, 27,
+ 0, 28, 0, 0, 0, 0, 0, 0, 29, 0,
+ 0, 0, 0, 0, 0, 30, 31, 32, 33, 34,
+ 0, 0, 35, 36, 37, 0, 0, 0, 0, 0,
+ 0, 38, 39, 0, 0, 2, -5, 40, 3, 4,
+ 41, 5, 0, 7, 8, 64, 118, 0, 119, 0,
+ 0, 0, 14, 0, 0, 0, 82, 0, 84, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 65, 0,
+ 23, 0, 0, 0, 138, 139, 140, 141, 142, 143,
+ 0, 144, 0, 0, 145, 146, 147, 0, 29, 0,
+ 0, 0, 0, 0, 0, 30, 31, 32, 33, 34,
+ 148, 149, 150, 151, 152, 153, 154, 0, 0, 0,
+ 0, 38, 39, 0, 0, 0, 0, 40, 0, 0,
+ 41, 2, 120, 0, 3, 4, 0, 5, 6, 7,
8, 9, 10, 0, 11, 0, 12, 13, 14, 0,
0, 0, 15, 16, 17, 18, 0, 0, 0, 19,
0, 20, 0, 0, 21, 22, 23, 0, 0, 24,
@@ -869,79 +889,51 @@ static const yytype_int16 yytable[] =
0, 0, 0, 0, 29, 0, 0, 0, 0, 0,
0, 30, 31, 32, 33, 34, 0, 0, 35, 36,
37, 0, 0, 0, 0, 0, 0, 38, 39, 0,
- 0, 2, -5, 40, 3, 4, 41, 5, 0, 7,
- 8, 64, 118, 0, 119, 0, 0, 0, 14, 0,
- 0, 0, 82, 0, 84, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 65, 0, 23, 0, 0, 0,
- 138, 139, 140, 141, 142, 143, 0, 144, 0, 0,
- 145, 146, 147, 0, 29, 0, 0, 0, 0, 0,
- 0, 30, 31, 32, 33, 34, 148, 149, 150, 151,
- 152, 153, 154, 0, 0, 0, 0, 38, 39, 0,
- 0, 0, 0, 40, 0, 0, 41, 2, 120, 0,
- 3, 4, 0, 5, 6, 7, 8, 9, 10, 0,
- 11, 0, 12, 13, 14, 0, 0, 0, 15, 16,
- 17, 18, 0, 0, 0, 19, 0, 20, 0, 0,
- 21, 22, 23, 0, 0, 24, 0, 0, 0, 25,
- 26, 27, 0, 28, 0, 0, 0, 0, 0, 0,
- 29, 0, 0, 0, 0, 0, 0, 30, 31, 32,
- 33, 34, 0, 0, 35, 36, 37, 0, 0, 0,
- 0, 0, 0, 38, 39, 0, 0, 2, 0, 40,
- 3, 4, 41, 5, 6, 7, 8, 9, 10, 0,
- 11, 333, 12, 0, 14, 0, 0, 0, 15, 16,
- 17, 18, 0, 0, 0, 0, 0, 20, 0, 0,
- 21, 22, 23, 0, 0, 24, 0, 0, 0, 0,
- 26, 27, 0, 28, 0, 0, 0, 0, 0, 0,
- 29, 0, 0, 0, 0, 0, 0, 30, 31, 32,
- 33, 34, 0, 0, 35, 36, 0, 0, 0, 0,
- 0, 0, 0, 38, 39, 0, 0, 2, 296, 40,
- 3, 4, 41, 5, 6, 7, 8, 9, 10, 0,
- 11, 0, 12, 0, 14, 0, 0, 0, 15, 16,
- 17, 18, 0, 0, 0, 0, 0, 20, 0, 0,
- 21, 22, 23, 0, 0, 24, 0, 0, 0, 0,
- 26, 27, 0, 28, 0, 0, 0, 0, 0, 0,
- 29, 0, 0, 0, 0, 0, 0, 30, 31, 32,
- 33, 34, 0, 0, 35, 36, 0, 0, 0, 0,
- 0, 0, 0, 38, 39, 0, 0, 2, 296, 40,
- 3, 4, 41, 5, 6, 7, 8, 9, 10, 0,
- 11, 0, 12, 0, 14, 0, 0, 0, 15, 16,
- 17, 18, 0, 0, 0, 0, 0, 0, 0, 0,
- 21, 0, 23, 0, 0, 0, 0, 0, 0, 0,
- 26, 27, 0, 28, 0, 0, 0, 0, 0, 0,
- 29, 0, 0, 0, 0, 0, 0, 30, 31, 32,
- 33, 34, 0, 0, 0, 36, 0, 0, 0, 0,
- 0, 0, 0, 38, 39, 0, 0, 2, 0, 40,
- 3, 4, 41, 5, 6, 7, 8, 9, 10, 0,
- 11, 0, 12, 0, 14, 0, 0, 0, 15, 16,
- 17, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 21, 0, 23, 0, 0, 0, 0, 0, 0, 0,
- 26, 27, 0, 28, 0, 0, 0, 0, 0, 0,
- 29, 0, 0, 0, 0, 0, 0, 30, 31, 32,
- 33, 34, 0, 0, 0, 36, 0, 0, 0, 0,
- 0, 0, 0, 38, 39, 0, 0, 2, 0, 40,
- 3, 4, 41, 5, 0, 7, 8, 64, 10, 0,
- 11, 0, 0, 0, 14, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 81, 0, 82, 83, 84, 85,
- 65, 0, 23, 0, 0, 2, 0, 0, 3, 4,
- 0, 5, 0, 7, 8, 64, 10, 0, 11, 0,
- 29, 0, 14, 0, 0, 0, 0, 30, 31, 32,
- 33, 34, 0, 0, 82, 0, 84, 0, 65, 0,
- 23, 0, 0, 38, 39, 0, 0, 0, 0, 40,
- 101, 0, 41, 0, 0, 0, 0, 0, 29, 0,
- 0, 0, 0, 0, 0, 30, 31, 32, 33, 34,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 38, 39, 0, 0, 2, 0, 40, 3, 4,
- 41, 5, 0, 7, 8, 64, 10, 0, 11, 0,
- 0, 0, 14, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 65, 2,
- 23, 0, 3, 4, 0, 5, 0, 7, 8, 64,
- 10, 0, 11, 0, 0, 0, 14, 0, 29, 0,
- 0, 0, 0, 0, 0, 30, 31, 32, 33, 34,
- 0, 0, 65, 0, 23, 0, 0, 0, 0, 0,
- 0, 38, 39, 0, 0, 0, 0, 40, 0, 0,
- 41, 0, 29, 0, 0, 0, 0, 0, 0, 30,
+ 0, 2, 0, 40, 3, 4, 41, 5, 6, 7,
+ 8, 9, 10, 0, 11, 333, 12, 0, 14, 0,
+ 0, 0, 15, 16, 17, 18, 0, 0, 0, 0,
+ 0, 20, 0, 0, 21, 22, 23, 0, 0, 24,
+ 0, 0, 0, 0, 26, 27, 0, 28, 0, 0,
+ 0, 0, 0, 0, 29, 0, 0, 0, 0, 0,
+ 0, 30, 31, 32, 33, 34, 0, 0, 35, 36,
+ 0, 0, 0, 0, 0, 0, 0, 38, 39, 0,
+ 0, 2, 296, 40, 3, 4, 41, 5, 6, 7,
+ 8, 9, 10, 0, 11, 0, 12, 0, 14, 0,
+ 0, 0, 15, 16, 17, 18, 0, 0, 0, 0,
+ 0, 20, 0, 0, 21, 22, 23, 0, 0, 24,
+ 0, 0, 0, 0, 26, 27, 0, 28, 0, 0,
+ 0, 0, 0, 0, 29, 0, 0, 0, 0, 0,
+ 0, 30, 31, 32, 33, 34, 0, 0, 35, 36,
+ 0, 0, 0, 0, 0, 0, 0, 38, 39, 0,
+ 0, 2, 296, 40, 3, 4, 41, 5, 6, 7,
+ 8, 9, 10, 0, 11, 0, 12, 0, 14, 0,
+ 0, 0, 15, 16, 17, 18, 0, 0, 0, 0,
+ 0, 0, 0, 0, 21, 0, 23, 0, 0, 0,
+ 0, 0, 0, 0, 26, 27, 0, 28, 0, 0,
+ 0, 0, 0, 0, 29, 0, 0, 0, 0, 0,
+ 0, 30, 31, 32, 33, 34, 0, 0, 0, 36,
+ 0, 0, 0, 0, 0, 0, 0, 38, 39, 0,
+ 0, 2, 0, 40, 3, 4, 41, 5, 6, 7,
+ 8, 9, 10, 0, 11, 0, 12, 0, 14, 0,
+ 0, 0, 15, 16, 17, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 21, 0, 23, 0, 0, 0,
+ 0, 0, 0, 0, 26, 27, 0, 28, 0, 0,
+ 0, 0, 0, 0, 29, 0, 0, 0, 0, 0,
+ 0, 30, 31, 32, 33, 34, 0, 0, 0, 36,
+ 0, 0, 0, 0, 0, 0, 0, 38, 39, 0,
+ 0, 2, 0, 40, 3, 4, 41, 5, 0, 7,
+ 8, 64, 10, 0, 11, 0, 0, 0, 14, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 81, 0,
+ 82, 83, 84, 85, 65, 0, 23, 0, 0, 2,
+ 0, 0, 3, 4, 0, 5, 0, 7, 8, 64,
+ 10, 0, 11, 0, 29, 0, 14, 0, 0, 0,
+ 0, 30, 31, 32, 33, 34, 0, 0, 82, 0,
+ 84, 0, 65, 0, 23, 0, 0, 38, 39, 0,
+ 0, 0, 0, 40, 101, 0, 41, 0, 0, 0,
+ 0, 0, 29, 0, 0, 0, 0, 0, 0, 30,
31, 32, 33, 34, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 38, 39, 0, 0, 2,
- 0, 67, 3, 4, 41, 5, 0, 7, 8, 64,
+ 0, 40, 3, 4, 41, 5, 0, 7, 8, 64,
10, 0, 11, 0, 0, 0, 14, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 65, 2, 23, 0, 3, 4, 0, 5,
@@ -949,82 +941,93 @@ static const yytype_int16 yytable[] =
14, 0, 29, 0, 0, 0, 0, 0, 0, 30,
31, 32, 33, 34, 0, 0, 65, 0, 23, 0,
0, 0, 0, 0, 0, 38, 39, 0, 0, 0,
- 0, 70, 0, 0, 41, 187, 29, 0, 0, 0,
- 0, 188, 0, 30, 31, 32, 33, 34, 0, 0,
- 0, 138, 139, 140, 141, 142, 143, 0, 144, 38,
- 39, 145, 146, 147, 0, 74, 0, 0, 41, 189,
- 0, 0, 0, 0, 0, 190, 0, 148, 149, 150,
- 151, 152, 153, 154, 0, 138, 139, 140, 141, 142,
+ 0, 40, 0, 0, 41, 0, 29, 0, 0, 0,
+ 0, 0, 0, 30, 31, 32, 33, 34, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 38,
+ 39, 0, 0, 2, 0, 67, 3, 4, 41, 5,
+ 0, 7, 8, 64, 10, 0, 11, 0, 0, 0,
+ 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 65, 2, 23, 0,
+ 3, 4, 0, 5, 0, 7, 8, 64, 10, 0,
+ 11, 0, 0, 0, 14, 0, 29, 0, 0, 0,
+ 0, 0, 0, 30, 31, 32, 33, 34, 0, 0,
+ 65, 0, 23, 0, 0, 0, 0, 0, 0, 38,
+ 39, 0, 0, 0, 0, 70, 0, 0, 41, 187,
+ 29, 0, 0, 0, 0, 188, 0, 30, 31, 32,
+ 33, 34, 0, 0, 0, 138, 139, 140, 141, 142,
+ 143, 0, 144, 38, 39, 145, 146, 147, 0, 74,
+ 0, 0, 41, 189, 0, 0, 0, 0, 0, 190,
+ 0, 148, 149, 150, 151, 152, 153, 154, 0, 138,
+ 139, 140, 141, 142, 143, 0, 144, 0, 0, 145,
+ 146, 147, 0, 0, 0, 0, 191, 0, 0, 0,
+ 0, 0, 192, 0, 0, 148, 149, 150, 151, 152,
+ 153, 154, 138, 139, 140, 141, 142, 143, 0, 144,
+ 0, 0, 145, 146, 147, 0, 0, 0, 0, 193,
+ 0, 0, 0, 0, 0, 194, 0, 0, 148, 149,
+ 150, 151, 152, 153, 154, 138, 139, 140, 141, 142,
143, 0, 144, 0, 0, 145, 146, 147, 0, 0,
- 0, 0, 191, 0, 0, 0, 0, 0, 192, 0,
+ 0, 0, 289, 0, 0, 0, 0, 0, 0, 0,
0, 148, 149, 150, 151, 152, 153, 154, 138, 139,
140, 141, 142, 143, 0, 144, 0, 0, 145, 146,
- 147, 0, 0, 0, 0, 193, 0, 0, 0, 0,
- 0, 194, 0, 0, 148, 149, 150, 151, 152, 153,
+ 147, 0, 0, 0, 0, 290, 0, 0, 0, 0,
+ 0, 0, 0, 0, 148, 149, 150, 151, 152, 153,
154, 138, 139, 140, 141, 142, 143, 0, 144, 0,
- 0, 145, 146, 147, 0, 0, 0, 0, 289, 0,
+ 0, 145, 146, 147, 0, 0, 0, 0, 291, 0,
0, 0, 0, 0, 0, 0, 0, 148, 149, 150,
151, 152, 153, 154, 138, 139, 140, 141, 142, 143,
0, 144, 0, 0, 145, 146, 147, 0, 0, 0,
- 0, 290, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 292, 0, 0, 0, 0, 0, 0, 0, 0,
148, 149, 150, 151, 152, 153, 154, 138, 139, 140,
141, 142, 143, 0, 144, 0, 0, 145, 146, 147,
- 0, 0, 0, 0, 291, 0, 0, 0, 0, 0,
- 0, 0, 0, 148, 149, 150, 151, 152, 153, 154,
- 138, 139, 140, 141, 142, 143, 0, 144, 0, 0,
- 145, 146, 147, 0, 0, 0, 0, 292, 0, 0,
- 0, 0, 0, 0, 0, 0, 148, 149, 150, 151,
- 152, 153, 154, 138, 139, 140, 141, 142, 143, 0,
- 144, 0, 0, 145, 146, 147, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 197, 0, 0, 148,
- 149, 150, 151, 152, 153, 154, 138, 139, 140, 141,
- 142, 143, 0, 144, 0, 0, 145, 146, 147, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 148, 149, 150, 151, 152, 153, 154, 184,
- 198, 0, 0, 0, 0, 0, 0, 138, 139, 140,
- 141, 142, 143, 0, 144, 0, 0, 145, 146, 147,
+ 197, 0, 0, 148, 149, 150, 151, 152, 153, 154,
138, 139, 140, 141, 142, 143, 0, 144, 0, 0,
- 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
+ 145, 146, 147, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 148, 149, 150, 151,
- 152, 153, 154, 0, 0, 0, 202, 138, 139, 140,
- 141, 142, 143, 0, 144, 0, 0, 145, 146, 147,
- 0, 0, 0, 0, 0, 195, 196, 0, 0, 0,
- 0, 0, 0, 148, 149, 150, 151, 152, 153, 154,
- 138, 139, 140, 141, 142, 143, 0, 144, 0, 0,
- 145, 146, 147, 138, 139, 140, 141, 0, 0, 0,
- 144, 0, 0, 145, 146, 147, 148, 149, 150, 151,
- 152, 153, 154, 0, 0, 0, 0, 0, 0, 148,
- 149, 150, 151, 152, 153, 154
+ 152, 153, 154, 184, 198, 0, 0, 0, 0, 0,
+ 0, 138, 139, 140, 141, 142, 143, 0, 144, 0,
+ 0, 145, 146, 147, 138, 139, 140, 141, 142, 143,
+ 0, 144, 0, 0, 145, 146, 147, 148, 149, 150,
+ 151, 152, 153, 154, 0, 0, 0, 0, 0, 0,
+ 148, 149, 150, 151, 152, 153, 154, 0, 0, 0,
+ 202, 138, 139, 140, 141, 142, 143, 0, 144, 0,
+ 0, 145, 146, 147, 0, 0, 0, 0, 0, 195,
+ 196, 0, 0, 0, 0, 0, 0, 148, 149, 150,
+ 151, 152, 153, 154, 138, 139, 140, 141, 142, 143,
+ 0, 144, 0, 0, 145, 146, 147, 138, 139, 140,
+ 141, 0, 0, 0, 144, 0, 0, 145, 146, 147,
+ 148, 149, 150, 151, 152, 153, 154, 0, 0, 0,
+ 0, 0, 0, 148, 149, 150, 151, 152, 153, 154
};
static const yytype_int16 yycheck[] =
{
4, 8, 6, 7, 78, 9, 0, 165, 0, 267,
- 27, 6, 7, 17, 30, 283, 31, 21, 37, 46,
- 49, 93, 26, 27, 96, 29, 30, 31, 32, 33,
- 34, 35, 61, 49, 38, 39, 40, 41, 21, 22,
- 66, 93, 61, 12, 48, 303, 50, 51, 49, 18,
- 49, 22, 93, 22, 23, 96, 25, 325, 51, 52,
- 61, 65, 61, 67, 90, 91, 70, 82, 93, 86,
- 74, 96, 67, 77, 23, 70, 25, 22, 82, 31,
- 32, 66, 77, 46, 69, 102, 66, 94, 95, 72,
- 73, 74, 75, 95, 96, 353, 22, 95, 96, 95,
- 96, 93, 87, 88, 89, 90, 91, 94, 88, 89,
- 90, 91, 96, 22, 96, 22, 41, 15, 16, 17,
- 22, 131, 132, 96, 22, 129, 130, 285, 97, 49,
- 134, 29, 48, 127, 138, 139, 140, 141, 142, 143,
+ 27, 6, 7, 17, 32, 283, 67, 21, 38, 52,
+ 53, 50, 26, 27, 94, 29, 30, 31, 32, 33,
+ 34, 35, 31, 62, 38, 39, 40, 41, 22, 23,
+ 91, 92, 62, 13, 48, 303, 50, 51, 50, 19,
+ 50, 50, 94, 23, 24, 97, 26, 325, 96, 97,
+ 62, 65, 62, 67, 94, 83, 70, 97, 94, 86,
+ 74, 97, 67, 77, 47, 70, 67, 23, 82, 70,
+ 47, 67, 77, 95, 24, 102, 26, 94, 95, 73,
+ 74, 75, 76, 96, 97, 353, 23, 88, 89, 90,
+ 91, 92, 94, 89, 90, 91, 92, 96, 97, 16,
+ 17, 18, 32, 33, 23, 97, 23, 97, 23, 42,
+ 23, 131, 132, 30, 23, 129, 130, 285, 98, 50,
+ 134, 49, 97, 127, 138, 139, 140, 141, 142, 143,
144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
- 154, 22, 156, 22, 22, 99, 160, 99, 98, 163,
- 96, 96, 96, 43, 22, 169, 96, 48, 242, 173,
- 174, 22, 176, 177, 22, 22, 180, 181, 182, 96,
- 184, 48, 22, 187, 188, 189, 190, 191, 192, 193,
- 194, 195, 196, 83, 49, 22, 203, 204, 84, 49,
- 210, 211, 206, 22, 214, 38, 83, 82, 96, 83,
- 22, 268, 48, 83, 127, 172, 82, 82, 207, 198,
- 277, 51, 279, 51, -1, 51, 59, 60, 61, 62,
- 63, 64, -1, 66, 67, 68, 69, 70, 71, -1,
+ 154, 23, 156, 23, 23, 100, 160, 100, 99, 163,
+ 97, 97, 97, 44, 23, 169, 97, 49, 242, 173,
+ 174, 23, 176, 177, 23, 23, 180, 181, 182, 23,
+ 184, 49, 97, 187, 188, 189, 190, 191, 192, 193,
+ 194, 195, 196, 84, 50, 23, 203, 204, 85, 50,
+ 210, 211, 206, 23, 214, 39, 84, 83, 97, 84,
+ 23, 268, 49, 84, 127, 198, 83, 83, 51, 172,
+ 277, 51, 279, -1, 51, -1, 60, 61, 62, 63,
+ 64, 65, 207, 67, 68, 69, 70, 71, 72, -1,
-1, -1, -1, -1, -1, 249, 250, -1, 305, -1,
- 307, -1, 85, 86, 87, 88, 89, 90, 91, -1,
+ 307, -1, 86, 87, 88, 89, 90, 91, 92, -1,
-1, -1, -1, -1, 338, -1, 276, -1, -1, 343,
-1, -1, -1, 330, -1, -1, -1, 334, -1, 336,
-1, 288, -1, 293, 294, 289, 290, 291, 292, 299,
@@ -1032,208 +1035,208 @@ static const yytype_int16 yycheck[] =
-1, -1, -1, -1, -1, -1, 363, -1, -1, 319,
-1, 321, -1, -1, 318, -1, -1, -1, -1, 329,
-1, 331, 326, -1, -1, -1, -1, 337, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 341, 348, 0,
- 1, 351, -1, -1, -1, -1, -1, 357, -1, 359,
- -1, 12, -1, -1, 15, 16, 366, 18, 19, 20,
- 21, 22, 23, -1, 25, -1, 27, 28, 29, -1,
- -1, -1, 33, 34, 35, 36, -1, -1, -1, 40,
- -1, 42, -1, -1, 45, 46, 47, -1, -1, 50,
- -1, -1, -1, 54, 55, 56, -1, 58, -1, -1,
- -1, -1, -1, -1, 65, -1, -1, -1, -1, -1,
- -1, 72, 73, 74, 75, 76, -1, -1, 79, 80,
- 81, -1, -1, -1, -1, -1, -1, 88, 89, -1,
- -1, 12, 93, 94, 15, 16, 97, 18, -1, 20,
- 21, 22, 23, -1, 25, -1, -1, -1, 29, -1,
- -1, -1, 41, -1, 43, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 45, -1, 47, -1, -1, -1,
- 59, 60, 61, 62, 63, 64, -1, 66, -1, -1,
- 69, 70, 71, -1, 65, -1, -1, -1, -1, -1,
- -1, 72, 73, 74, 75, 76, 85, 86, 87, 88,
- 89, 90, 91, -1, -1, -1, -1, 88, 89, -1,
- -1, -1, -1, 94, -1, -1, 97, 12, 99, -1,
- 15, 16, -1, 18, 19, 20, 21, 22, 23, -1,
- 25, -1, 27, 28, 29, -1, -1, -1, 33, 34,
- 35, 36, -1, -1, -1, 40, -1, 42, -1, -1,
- 45, 46, 47, -1, -1, 50, -1, -1, -1, 54,
- 55, 56, -1, 58, -1, -1, -1, -1, -1, -1,
- 65, -1, -1, -1, -1, -1, -1, 72, 73, 74,
- 75, 76, -1, -1, 79, 80, 81, -1, -1, -1,
- -1, -1, -1, 88, 89, -1, -1, 12, -1, 94,
- 15, 16, 97, 18, 19, 20, 21, 22, 23, -1,
- 25, 26, 27, -1, 29, -1, -1, -1, 33, 34,
- 35, 36, -1, -1, -1, -1, -1, 42, -1, -1,
- 45, 46, 47, -1, -1, 50, -1, -1, -1, -1,
- 55, 56, -1, 58, -1, -1, -1, -1, -1, -1,
- 65, -1, -1, -1, -1, -1, -1, 72, 73, 74,
- 75, 76, -1, -1, 79, 80, -1, -1, -1, -1,
- -1, -1, -1, 88, 89, -1, -1, 12, 93, 94,
- 15, 16, 97, 18, 19, 20, 21, 22, 23, -1,
- 25, -1, 27, -1, 29, -1, -1, -1, 33, 34,
- 35, 36, -1, -1, -1, -1, -1, 42, -1, -1,
- 45, 46, 47, -1, -1, 50, -1, -1, -1, -1,
- 55, 56, -1, 58, -1, -1, -1, -1, -1, -1,
- 65, -1, -1, -1, -1, -1, -1, 72, 73, 74,
- 75, 76, -1, -1, 79, 80, -1, -1, -1, -1,
- -1, -1, -1, 88, 89, -1, -1, 12, 93, 94,
- 15, 16, 97, 18, 19, 20, 21, 22, 23, -1,
- 25, -1, 27, -1, 29, -1, -1, -1, 33, 34,
- 35, 36, -1, -1, -1, -1, -1, -1, -1, -1,
- 45, -1, 47, -1, -1, -1, -1, -1, -1, -1,
- 55, 56, -1, 58, -1, -1, -1, -1, -1, -1,
- 65, -1, -1, -1, -1, -1, -1, 72, 73, 74,
- 75, 76, -1, -1, -1, 80, -1, -1, -1, -1,
- -1, -1, -1, 88, 89, -1, -1, 12, -1, 94,
- 15, 16, 97, 18, 19, 20, 21, 22, 23, -1,
- 25, -1, 27, -1, 29, -1, -1, -1, 33, 34,
- 35, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 45, -1, 47, -1, -1, -1, -1, -1, -1, -1,
- 55, 56, -1, 58, -1, -1, -1, -1, -1, -1,
- 65, -1, -1, -1, -1, -1, -1, 72, 73, 74,
- 75, 76, -1, -1, -1, 80, -1, -1, -1, -1,
- -1, -1, -1, 88, 89, -1, -1, 12, -1, 94,
- 15, 16, 97, 18, -1, 20, 21, 22, 23, -1,
- 25, -1, -1, -1, 29, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 39, -1, 41, 42, 43, 44,
- 45, -1, 47, -1, -1, 12, -1, -1, 15, 16,
- -1, 18, -1, 20, 21, 22, 23, -1, 25, -1,
- 65, -1, 29, -1, -1, -1, -1, 72, 73, 74,
- 75, 76, -1, -1, 41, -1, 43, -1, 45, -1,
- 47, -1, -1, 88, 89, -1, -1, -1, -1, 94,
- 57, -1, 97, -1, -1, -1, -1, -1, 65, -1,
- -1, -1, -1, -1, -1, 72, 73, 74, 75, 76,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 88, 89, -1, -1, 12, -1, 94, 15, 16,
- 97, 18, -1, 20, 21, 22, 23, -1, 25, -1,
- -1, -1, 29, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 45, 12,
- 47, -1, 15, 16, -1, 18, -1, 20, 21, 22,
- 23, -1, 25, -1, -1, -1, 29, -1, 65, -1,
- -1, -1, -1, -1, -1, 72, 73, 74, 75, 76,
- -1, -1, 45, -1, 47, -1, -1, -1, -1, -1,
- -1, 88, 89, -1, -1, -1, -1, 94, -1, -1,
- 97, -1, 65, -1, -1, -1, -1, -1, -1, 72,
- 73, 74, 75, 76, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 88, 89, -1, -1, 12,
- -1, 94, 15, 16, 97, 18, -1, 20, 21, 22,
- 23, -1, 25, -1, -1, -1, 29, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 341, 348, -1,
+ -1, 351, 0, 1, -1, -1, -1, 357, -1, 359,
+ -1, -1, -1, -1, -1, 13, 366, -1, 16, 17,
+ -1, 19, 20, 21, 22, 23, 24, -1, 26, -1,
+ 28, 29, 30, -1, -1, -1, 34, 35, 36, 37,
+ -1, -1, -1, 41, -1, 43, -1, -1, 46, 47,
+ 48, -1, -1, 51, -1, -1, -1, 55, 56, 57,
+ -1, 59, -1, -1, -1, -1, -1, -1, 66, -1,
+ -1, -1, -1, -1, -1, 73, 74, 75, 76, 77,
+ -1, -1, 80, 81, 82, -1, -1, -1, -1, -1,
+ -1, 89, 90, -1, -1, 13, 94, 95, 16, 17,
+ 98, 19, -1, 21, 22, 23, 24, -1, 26, -1,
+ -1, -1, 30, -1, -1, -1, 42, -1, 44, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 46, -1,
+ 48, -1, -1, -1, 60, 61, 62, 63, 64, 65,
+ -1, 67, -1, -1, 70, 71, 72, -1, 66, -1,
+ -1, -1, -1, -1, -1, 73, 74, 75, 76, 77,
+ 86, 87, 88, 89, 90, 91, 92, -1, -1, -1,
+ -1, 89, 90, -1, -1, -1, -1, 95, -1, -1,
+ 98, 13, 100, -1, 16, 17, -1, 19, 20, 21,
+ 22, 23, 24, -1, 26, -1, 28, 29, 30, -1,
+ -1, -1, 34, 35, 36, 37, -1, -1, -1, 41,
+ -1, 43, -1, -1, 46, 47, 48, -1, -1, 51,
+ -1, -1, -1, 55, 56, 57, -1, 59, -1, -1,
+ -1, -1, -1, -1, 66, -1, -1, -1, -1, -1,
+ -1, 73, 74, 75, 76, 77, -1, -1, 80, 81,
+ 82, -1, -1, -1, -1, -1, -1, 89, 90, -1,
+ -1, 13, -1, 95, 16, 17, 98, 19, 20, 21,
+ 22, 23, 24, -1, 26, 27, 28, -1, 30, -1,
+ -1, -1, 34, 35, 36, 37, -1, -1, -1, -1,
+ -1, 43, -1, -1, 46, 47, 48, -1, -1, 51,
+ -1, -1, -1, -1, 56, 57, -1, 59, -1, -1,
+ -1, -1, -1, -1, 66, -1, -1, -1, -1, -1,
+ -1, 73, 74, 75, 76, 77, -1, -1, 80, 81,
+ -1, -1, -1, -1, -1, -1, -1, 89, 90, -1,
+ -1, 13, 94, 95, 16, 17, 98, 19, 20, 21,
+ 22, 23, 24, -1, 26, -1, 28, -1, 30, -1,
+ -1, -1, 34, 35, 36, 37, -1, -1, -1, -1,
+ -1, 43, -1, -1, 46, 47, 48, -1, -1, 51,
+ -1, -1, -1, -1, 56, 57, -1, 59, -1, -1,
+ -1, -1, -1, -1, 66, -1, -1, -1, -1, -1,
+ -1, 73, 74, 75, 76, 77, -1, -1, 80, 81,
+ -1, -1, -1, -1, -1, -1, -1, 89, 90, -1,
+ -1, 13, 94, 95, 16, 17, 98, 19, 20, 21,
+ 22, 23, 24, -1, 26, -1, 28, -1, 30, -1,
+ -1, -1, 34, 35, 36, 37, -1, -1, -1, -1,
+ -1, -1, -1, -1, 46, -1, 48, -1, -1, -1,
+ -1, -1, -1, -1, 56, 57, -1, 59, -1, -1,
+ -1, -1, -1, -1, 66, -1, -1, -1, -1, -1,
+ -1, 73, 74, 75, 76, 77, -1, -1, -1, 81,
+ -1, -1, -1, -1, -1, -1, -1, 89, 90, -1,
+ -1, 13, -1, 95, 16, 17, 98, 19, 20, 21,
+ 22, 23, 24, -1, 26, -1, 28, -1, 30, -1,
+ -1, -1, 34, 35, 36, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 46, -1, 48, -1, -1, -1,
+ -1, -1, -1, -1, 56, 57, -1, 59, -1, -1,
+ -1, -1, -1, -1, 66, -1, -1, -1, -1, -1,
+ -1, 73, 74, 75, 76, 77, -1, -1, -1, 81,
+ -1, -1, -1, -1, -1, -1, -1, 89, 90, -1,
+ -1, 13, -1, 95, 16, 17, 98, 19, -1, 21,
+ 22, 23, 24, -1, 26, -1, -1, -1, 30, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 40, -1,
+ 42, 43, 44, 45, 46, -1, 48, -1, -1, 13,
+ -1, -1, 16, 17, -1, 19, -1, 21, 22, 23,
+ 24, -1, 26, -1, 66, -1, 30, -1, -1, -1,
+ -1, 73, 74, 75, 76, 77, -1, -1, 42, -1,
+ 44, -1, 46, -1, 48, -1, -1, 89, 90, -1,
+ -1, -1, -1, 95, 58, -1, 98, -1, -1, -1,
+ -1, -1, 66, -1, -1, -1, -1, -1, -1, 73,
+ 74, 75, 76, 77, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 89, 90, -1, -1, 13,
+ -1, 95, 16, 17, 98, 19, -1, 21, 22, 23,
+ 24, -1, 26, -1, -1, -1, 30, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 45, 12, 47, -1, 15, 16, -1, 18,
- -1, 20, 21, 22, 23, -1, 25, -1, -1, -1,
- 29, -1, 65, -1, -1, -1, -1, -1, -1, 72,
- 73, 74, 75, 76, -1, -1, 45, -1, 47, -1,
- -1, -1, -1, -1, -1, 88, 89, -1, -1, -1,
- -1, 94, -1, -1, 97, 43, 65, -1, -1, -1,
- -1, 49, -1, 72, 73, 74, 75, 76, -1, -1,
- -1, 59, 60, 61, 62, 63, 64, -1, 66, 88,
- 89, 69, 70, 71, -1, 94, -1, -1, 97, 43,
- -1, -1, -1, -1, -1, 49, -1, 85, 86, 87,
- 88, 89, 90, 91, -1, 59, 60, 61, 62, 63,
- 64, -1, 66, -1, -1, 69, 70, 71, -1, -1,
- -1, -1, 43, -1, -1, -1, -1, -1, 49, -1,
- -1, 85, 86, 87, 88, 89, 90, 91, 59, 60,
- 61, 62, 63, 64, -1, 66, -1, -1, 69, 70,
- 71, -1, -1, -1, -1, 43, -1, -1, -1, -1,
- -1, 49, -1, -1, 85, 86, 87, 88, 89, 90,
- 91, 59, 60, 61, 62, 63, 64, -1, 66, -1,
- -1, 69, 70, 71, -1, -1, -1, -1, 43, -1,
- -1, -1, -1, -1, -1, -1, -1, 85, 86, 87,
- 88, 89, 90, 91, 59, 60, 61, 62, 63, 64,
- -1, 66, -1, -1, 69, 70, 71, -1, -1, -1,
- -1, 43, -1, -1, -1, -1, -1, -1, -1, -1,
- 85, 86, 87, 88, 89, 90, 91, 59, 60, 61,
- 62, 63, 64, -1, 66, -1, -1, 69, 70, 71,
- -1, -1, -1, -1, 43, -1, -1, -1, -1, -1,
- -1, -1, -1, 85, 86, 87, 88, 89, 90, 91,
- 59, 60, 61, 62, 63, 64, -1, 66, -1, -1,
- 69, 70, 71, -1, -1, -1, -1, 43, -1, -1,
- -1, -1, -1, -1, -1, -1, 85, 86, 87, 88,
- 89, 90, 91, 59, 60, 61, 62, 63, 64, -1,
- 66, -1, -1, 69, 70, 71, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 49, -1, -1, 85,
- 86, 87, 88, 89, 90, 91, 59, 60, 61, 62,
- 63, 64, -1, 66, -1, -1, 69, 70, 71, -1,
+ -1, -1, 46, 13, 48, -1, 16, 17, -1, 19,
+ -1, 21, 22, 23, 24, -1, 26, -1, -1, -1,
+ 30, -1, 66, -1, -1, -1, -1, -1, -1, 73,
+ 74, 75, 76, 77, -1, -1, 46, -1, 48, -1,
+ -1, -1, -1, -1, -1, 89, 90, -1, -1, -1,
+ -1, 95, -1, -1, 98, -1, 66, -1, -1, -1,
+ -1, -1, -1, 73, 74, 75, 76, 77, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 89,
+ 90, -1, -1, 13, -1, 95, 16, 17, 98, 19,
+ -1, 21, 22, 23, 24, -1, 26, -1, -1, -1,
+ 30, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 46, 13, 48, -1,
+ 16, 17, -1, 19, -1, 21, 22, 23, 24, -1,
+ 26, -1, -1, -1, 30, -1, 66, -1, -1, -1,
+ -1, -1, -1, 73, 74, 75, 76, 77, -1, -1,
+ 46, -1, 48, -1, -1, -1, -1, -1, -1, 89,
+ 90, -1, -1, -1, -1, 95, -1, -1, 98, 44,
+ 66, -1, -1, -1, -1, 50, -1, 73, 74, 75,
+ 76, 77, -1, -1, -1, 60, 61, 62, 63, 64,
+ 65, -1, 67, 89, 90, 70, 71, 72, -1, 95,
+ -1, -1, 98, 44, -1, -1, -1, -1, -1, 50,
+ -1, 86, 87, 88, 89, 90, 91, 92, -1, 60,
+ 61, 62, 63, 64, 65, -1, 67, -1, -1, 70,
+ 71, 72, -1, -1, -1, -1, 44, -1, -1, -1,
+ -1, -1, 50, -1, -1, 86, 87, 88, 89, 90,
+ 91, 92, 60, 61, 62, 63, 64, 65, -1, 67,
+ -1, -1, 70, 71, 72, -1, -1, -1, -1, 44,
+ -1, -1, -1, -1, -1, 50, -1, -1, 86, 87,
+ 88, 89, 90, 91, 92, 60, 61, 62, 63, 64,
+ 65, -1, 67, -1, -1, 70, 71, 72, -1, -1,
+ -1, -1, 44, -1, -1, -1, -1, -1, -1, -1,
+ -1, 86, 87, 88, 89, 90, 91, 92, 60, 61,
+ 62, 63, 64, 65, -1, 67, -1, -1, 70, 71,
+ 72, -1, -1, -1, -1, 44, -1, -1, -1, -1,
+ -1, -1, -1, -1, 86, 87, 88, 89, 90, 91,
+ 92, 60, 61, 62, 63, 64, 65, -1, 67, -1,
+ -1, 70, 71, 72, -1, -1, -1, -1, 44, -1,
+ -1, -1, -1, -1, -1, -1, -1, 86, 87, 88,
+ 89, 90, 91, 92, 60, 61, 62, 63, 64, 65,
+ -1, 67, -1, -1, 70, 71, 72, -1, -1, -1,
+ -1, 44, -1, -1, -1, -1, -1, -1, -1, -1,
+ 86, 87, 88, 89, 90, 91, 92, 60, 61, 62,
+ 63, 64, 65, -1, 67, -1, -1, 70, 71, 72,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 85, 86, 87, 88, 89, 90, 91, 51,
- 93, -1, -1, -1, -1, -1, -1, 59, 60, 61,
- 62, 63, 64, -1, 66, -1, -1, 69, 70, 71,
- 59, 60, 61, 62, 63, 64, -1, 66, -1, -1,
- 69, 70, 71, 85, 86, 87, 88, 89, 90, 91,
- -1, -1, -1, -1, -1, -1, 85, 86, 87, 88,
- 89, 90, 91, -1, -1, -1, 95, 59, 60, 61,
- 62, 63, 64, -1, 66, -1, -1, 69, 70, 71,
- -1, -1, -1, -1, -1, 77, 78, -1, -1, -1,
- -1, -1, -1, 85, 86, 87, 88, 89, 90, 91,
- 59, 60, 61, 62, 63, 64, -1, 66, -1, -1,
- 69, 70, 71, 59, 60, 61, 62, -1, -1, -1,
- 66, -1, -1, 69, 70, 71, 85, 86, 87, 88,
- 89, 90, 91, -1, -1, -1, -1, -1, -1, 85,
- 86, 87, 88, 89, 90, 91
+ 50, -1, -1, 86, 87, 88, 89, 90, 91, 92,
+ 60, 61, 62, 63, 64, 65, -1, 67, -1, -1,
+ 70, 71, 72, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 86, 87, 88, 89,
+ 90, 91, 92, 52, 94, -1, -1, -1, -1, -1,
+ -1, 60, 61, 62, 63, 64, 65, -1, 67, -1,
+ -1, 70, 71, 72, 60, 61, 62, 63, 64, 65,
+ -1, 67, -1, -1, 70, 71, 72, 86, 87, 88,
+ 89, 90, 91, 92, -1, -1, -1, -1, -1, -1,
+ 86, 87, 88, 89, 90, 91, 92, -1, -1, -1,
+ 96, 60, 61, 62, 63, 64, 65, -1, 67, -1,
+ -1, 70, 71, 72, -1, -1, -1, -1, -1, 78,
+ 79, -1, -1, -1, -1, -1, -1, 86, 87, 88,
+ 89, 90, 91, 92, 60, 61, 62, 63, 64, 65,
+ -1, 67, -1, -1, 70, 71, 72, 60, 61, 62,
+ 63, -1, -1, -1, 67, -1, -1, 70, 71, 72,
+ 86, 87, 88, 89, 90, 91, 92, -1, -1, -1,
+ -1, -1, -1, 86, 87, 88, 89, 90, 91, 92
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
static const yytype_uint8 yystos[] =
{
- 0, 1, 12, 15, 16, 18, 19, 20, 21, 22,
- 23, 25, 27, 28, 29, 33, 34, 35, 36, 40,
- 42, 45, 46, 47, 50, 54, 55, 56, 58, 65,
- 72, 73, 74, 75, 76, 79, 80, 81, 88, 89,
- 94, 97, 101, 102, 103, 104, 106, 108, 112, 113,
- 114, 119, 120, 121, 122, 123, 124, 130, 132, 134,
- 138, 143, 146, 93, 22, 45, 121, 94, 121, 144,
- 94, 144, 22, 120, 94, 121, 145, 133, 137, 46,
- 125, 39, 41, 42, 43, 44, 121, 131, 135, 46,
- 121, 51, 52, 15, 16, 17, 22, 29, 22, 22,
- 121, 57, 121, 131, 22, 129, 121, 121, 121, 121,
- 121, 121, 121, 126, 139, 121, 121, 121, 23, 25,
- 99, 121, 147, 148, 149, 150, 0, 93, 121, 37,
- 61, 121, 105, 111, 114, 121, 124, 143, 59, 60,
- 61, 62, 63, 64, 66, 69, 70, 71, 85, 86,
- 87, 88, 89, 90, 91, 116, 94, 121, 121, 144,
- 96, 144, 144, 96, 144, 116, 22, 127, 121, 41,
- 131, 22, 38, 67, 68, 22, 49, 61, 120, 120,
- 49, 61, 49, 48, 51, 131, 96, 43, 49, 43,
- 49, 43, 49, 43, 49, 77, 78, 49, 93, 22,
- 128, 22, 95, 99, 99, 98, 96, 96, 102, 117,
- 121, 121, 117, 117, 121, 121, 121, 121, 121, 121,
- 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
- 121, 121, 22, 140, 95, 121, 95, 95, 121, 140,
- 96, 121, 136, 22, 123, 121, 121, 121, 121, 49,
- 61, 43, 121, 121, 121, 121, 22, 121, 121, 121,
- 121, 121, 121, 121, 121, 121, 121, 107, 107, 96,
- 120, 120, 121, 23, 25, 150, 118, 117, 117, 48,
- 117, 93, 96, 93, 22, 116, 121, 121, 22, 43,
- 43, 43, 43, 104, 118, 22, 93, 106, 117, 118,
- 30, 49, 118, 48, 96, 142, 22, 142, 140, 120,
- 121, 121, 121, 121, 117, 117, 83, 117, 49, 121,
- 117, 104, 22, 118, 118, 93, 49, 84, 83, 121,
- 117, 109, 117, 26, 142, 121, 117, 118, 31, 32,
- 110, 115, 117, 31, 82, 22, 141, 118, 118, 117,
- 116, 121, 82, 116, 96, 117, 83, 118, 117, 104,
- 22, 83, 117, 48, 117, 82, 118, 82, 117
+ 0, 1, 13, 16, 17, 19, 20, 21, 22, 23,
+ 24, 26, 28, 29, 30, 34, 35, 36, 37, 41,
+ 43, 46, 47, 48, 51, 55, 56, 57, 59, 66,
+ 73, 74, 75, 76, 77, 80, 81, 82, 89, 90,
+ 95, 98, 102, 103, 104, 105, 107, 109, 113, 114,
+ 115, 120, 121, 122, 123, 124, 125, 131, 133, 135,
+ 139, 144, 147, 94, 23, 46, 122, 95, 122, 145,
+ 95, 145, 23, 121, 95, 122, 146, 134, 138, 47,
+ 126, 40, 42, 43, 44, 45, 122, 132, 136, 47,
+ 122, 52, 53, 16, 17, 18, 23, 30, 23, 23,
+ 122, 58, 122, 132, 23, 130, 122, 122, 122, 122,
+ 122, 122, 122, 127, 140, 122, 122, 122, 24, 26,
+ 100, 122, 148, 149, 150, 151, 0, 94, 122, 38,
+ 62, 122, 106, 112, 115, 122, 125, 144, 60, 61,
+ 62, 63, 64, 65, 67, 70, 71, 72, 86, 87,
+ 88, 89, 90, 91, 92, 117, 95, 122, 122, 145,
+ 97, 145, 145, 97, 145, 117, 23, 128, 122, 42,
+ 132, 23, 39, 68, 69, 23, 50, 62, 121, 121,
+ 50, 62, 50, 49, 52, 132, 97, 44, 50, 44,
+ 50, 44, 50, 44, 50, 78, 79, 50, 94, 23,
+ 129, 23, 96, 100, 100, 99, 97, 97, 103, 118,
+ 122, 122, 118, 118, 122, 122, 122, 122, 122, 122,
+ 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
+ 122, 122, 23, 141, 96, 122, 96, 96, 122, 141,
+ 97, 122, 137, 23, 124, 122, 122, 122, 122, 50,
+ 62, 44, 122, 122, 122, 122, 23, 122, 122, 122,
+ 122, 122, 122, 122, 122, 122, 122, 108, 108, 97,
+ 121, 121, 122, 24, 26, 151, 119, 118, 118, 49,
+ 118, 94, 97, 94, 23, 117, 122, 122, 23, 44,
+ 44, 44, 44, 105, 119, 23, 94, 107, 118, 119,
+ 31, 50, 119, 49, 97, 143, 23, 143, 141, 121,
+ 122, 122, 122, 122, 118, 118, 84, 118, 50, 122,
+ 118, 105, 23, 119, 119, 94, 50, 85, 84, 122,
+ 118, 110, 118, 27, 143, 122, 118, 119, 32, 33,
+ 111, 116, 118, 32, 83, 23, 142, 119, 119, 118,
+ 117, 122, 83, 117, 97, 118, 84, 119, 118, 105,
+ 23, 84, 118, 49, 118, 83, 119, 83, 118
};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint8 yyr1[] =
{
- 0, 100, 101, 101, 101, 102, 102, 102, 103, 103,
- 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
- 104, 104, 104, 105, 105, 105, 105, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 107, 108, 108,
- 109, 109, 110, 111, 111, 112, 113, 114, 115, 116,
- 117, 118, 118, 118, 119, 120, 120, 120, 120, 120,
- 120, 121, 121, 121, 121, 121, 121, 121, 121, 121,
- 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
- 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
- 121, 121, 121, 122, 122, 122, 122, 122, 122, 122,
- 122, 123, 123, 124, 124, 124, 124, 124, 125, 124,
- 126, 124, 124, 124, 124, 124, 124, 127, 127, 128,
- 128, 129, 129, 130, 130, 130, 130, 130, 130, 131,
- 131, 132, 132, 132, 132, 133, 132, 135, 136, 134,
- 134, 137, 134, 134, 134, 139, 138, 140, 140, 140,
- 140, 141, 141, 141, 142, 143, 144, 144, 144, 145,
- 145, 146, 147, 147, 147, 147, 148, 148, 149, 149,
- 150, 150
+ 0, 101, 102, 102, 102, 103, 103, 103, 104, 104,
+ 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
+ 105, 105, 105, 106, 106, 106, 106, 107, 107, 107,
+ 107, 107, 107, 107, 107, 107, 107, 108, 109, 109,
+ 110, 110, 111, 112, 112, 113, 114, 115, 116, 117,
+ 118, 119, 119, 119, 120, 121, 121, 121, 121, 121,
+ 121, 122, 122, 122, 122, 122, 122, 122, 122, 122,
+ 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
+ 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
+ 122, 122, 122, 123, 123, 123, 123, 123, 123, 123,
+ 123, 124, 124, 125, 125, 125, 125, 125, 126, 125,
+ 127, 125, 125, 125, 125, 125, 125, 128, 128, 129,
+ 129, 130, 130, 131, 131, 131, 131, 131, 131, 132,
+ 132, 133, 133, 133, 133, 134, 133, 136, 137, 135,
+ 135, 138, 135, 135, 135, 140, 139, 141, 141, 141,
+ 141, 142, 142, 142, 143, 144, 145, 145, 145, 146,
+ 146, 147, 148, 148, 148, 148, 149, 149, 150, 150,
+ 151, 151
};
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
@@ -1691,76 +1694,76 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
switch (yytype)
{
- case 19: /* BLTIN */
+ case 20: /* BLTIN */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1698 "engines/director/lingo/lingo-gr.cpp"
+#line 1701 "engines/director/lingo/lingo-gr.cpp"
break;
- case 20: /* FBLTIN */
+ case 21: /* FBLTIN */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1704 "engines/director/lingo/lingo-gr.cpp"
+#line 1707 "engines/director/lingo/lingo-gr.cpp"
break;
- case 21: /* RBLTIN */
+ case 22: /* RBLTIN */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1710 "engines/director/lingo/lingo-gr.cpp"
+#line 1713 "engines/director/lingo/lingo-gr.cpp"
break;
- case 22: /* ID */
+ case 23: /* ID */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1716 "engines/director/lingo/lingo-gr.cpp"
+#line 1719 "engines/director/lingo/lingo-gr.cpp"
break;
- case 23: /* STRING */
+ case 24: /* STRING */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1722 "engines/director/lingo/lingo-gr.cpp"
+#line 1725 "engines/director/lingo/lingo-gr.cpp"
break;
- case 24: /* HANDLER */
+ case 25: /* HANDLER */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1728 "engines/director/lingo/lingo-gr.cpp"
+#line 1731 "engines/director/lingo/lingo-gr.cpp"
break;
- case 25: /* SYMBOL */
+ case 26: /* SYMBOL */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1734 "engines/director/lingo/lingo-gr.cpp"
+#line 1737 "engines/director/lingo/lingo-gr.cpp"
break;
- case 26: /* ENDCLAUSE */
+ case 27: /* ENDCLAUSE */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1740 "engines/director/lingo/lingo-gr.cpp"
+#line 1743 "engines/director/lingo/lingo-gr.cpp"
break;
- case 27: /* tPLAYACCEL */
+ case 28: /* tPLAYACCEL */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1746 "engines/director/lingo/lingo-gr.cpp"
+#line 1749 "engines/director/lingo/lingo-gr.cpp"
break;
- case 28: /* tMETHOD */
+ case 29: /* tMETHOD */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1752 "engines/director/lingo/lingo-gr.cpp"
+#line 1755 "engines/director/lingo/lingo-gr.cpp"
break;
- case 29: /* THEOBJECTFIELD */
+ case 30: /* THEOBJECTFIELD */
#line 131 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).objectfield).os; }
-#line 1758 "engines/director/lingo/lingo-gr.cpp"
+#line 1761 "engines/director/lingo/lingo-gr.cpp"
break;
- case 138: /* on */
+ case 139: /* on */
#line 130 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1764 "engines/director/lingo/lingo-gr.cpp"
+#line 1767 "engines/director/lingo/lingo-gr.cpp"
break;
default:
@@ -2030,7 +2033,7 @@ yyreduce:
case 4:
#line 137 "engines/director/lingo/lingo-gr.y"
{ yyerrok; }
-#line 2034 "engines/director/lingo/lingo-gr.cpp"
+#line 2037 "engines/director/lingo/lingo-gr.cpp"
break;
case 8:
@@ -2041,7 +2044,7 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[-2].code);
delete (yyvsp[0].s); }
-#line 2045 "engines/director/lingo/lingo-gr.cpp"
+#line 2048 "engines/director/lingo/lingo-gr.cpp"
break;
case 9:
@@ -2049,19 +2052,19 @@ yyreduce:
{
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[-2].code); }
-#line 2053 "engines/director/lingo/lingo-gr.cpp"
+#line 2056 "engines/director/lingo/lingo-gr.cpp"
break;
case 10:
#line 152 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_after); }
-#line 2059 "engines/director/lingo/lingo-gr.cpp"
+#line 2062 "engines/director/lingo/lingo-gr.cpp"
break;
case 11:
#line 153 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_before); }
-#line 2065 "engines/director/lingo/lingo-gr.cpp"
+#line 2068 "engines/director/lingo/lingo-gr.cpp"
break;
case 12:
@@ -2072,7 +2075,7 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[0].code);
delete (yyvsp[-2].s); }
-#line 2076 "engines/director/lingo/lingo-gr.cpp"
+#line 2079 "engines/director/lingo/lingo-gr.cpp"
break;
case 13:
@@ -2084,7 +2087,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-2].e)[0]);
g_lingo->codeInt((yyvsp[-2].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2088 "engines/director/lingo/lingo-gr.cpp"
+#line 2091 "engines/director/lingo/lingo-gr.cpp"
break;
case 14:
@@ -2095,7 +2098,7 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[0].code);
delete (yyvsp[-2].s); }
-#line 2099 "engines/director/lingo/lingo-gr.cpp"
+#line 2102 "engines/director/lingo/lingo-gr.cpp"
break;
case 15:
@@ -2107,7 +2110,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-2].e)[0]);
g_lingo->codeInt((yyvsp[-2].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2111 "engines/director/lingo/lingo-gr.cpp"
+#line 2114 "engines/director/lingo/lingo-gr.cpp"
break;
case 16:
@@ -2118,7 +2121,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-3].e)[0]);
g_lingo->codeInt((yyvsp[-3].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2122 "engines/director/lingo/lingo-gr.cpp"
+#line 2125 "engines/director/lingo/lingo-gr.cpp"
break;
case 17:
@@ -2129,14 +2132,15 @@ yyreduce:
g_lingo->codeInt((yyvsp[-3].e)[0]);
g_lingo->codeInt((yyvsp[-3].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2133 "engines/director/lingo/lingo-gr.cpp"
+#line 2136 "engines/director/lingo/lingo-gr.cpp"
break;
case 18:
#line 193 "engines/director/lingo/lingo-gr.y"
{
if (!(yyvsp[-3].s)->equalsIgnoreCase("menu")) {
- error("LEXER: keyword 'menu' expected");
+ warning("LEXER: keyword 'menu' expected");
+ YYERROR;
}
warning("STUB: menuItem entity");
@@ -2144,33 +2148,33 @@ yyreduce:
g_lingo->codeInt((yyvsp[-6].e)[0]);
g_lingo->codeInt((yyvsp[-6].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2148 "engines/director/lingo/lingo-gr.cpp"
+#line 2152 "engines/director/lingo/lingo-gr.cpp"
break;
case 19:
-#line 203 "engines/director/lingo/lingo-gr.y"
+#line 204 "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 2159 "engines/director/lingo/lingo-gr.cpp"
+#line 2163 "engines/director/lingo/lingo-gr.cpp"
break;
case 29:
-#line 225 "engines/director/lingo/lingo-gr.y"
+#line 226 "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 2170 "engines/director/lingo/lingo-gr.cpp"
+#line 2174 "engines/director/lingo/lingo-gr.cpp"
break;
case 30:
-#line 236 "engines/director/lingo/lingo-gr.y"
+#line 237 "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));
@@ -2183,11 +2187,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 2187 "engines/director/lingo/lingo-gr.cpp"
+#line 2191 "engines/director/lingo/lingo-gr.cpp"
break;
case 31:
-#line 253 "engines/director/lingo/lingo-gr.y"
+#line 254 "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));
@@ -2200,11 +2204,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 2204 "engines/director/lingo/lingo-gr.cpp"
+#line 2208 "engines/director/lingo/lingo-gr.cpp"
break;
case 32:
-#line 265 "engines/director/lingo/lingo-gr.y"
+#line 266 "engines/director/lingo/lingo-gr.y"
{
inst list = 0, body = 0, end = 0;
WRITE_UINT32(&list, (yyvsp[-4].code) - (yyvsp[-6].code));
@@ -2215,54 +2219,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 2219 "engines/director/lingo/lingo-gr.cpp"
+#line 2223 "engines/director/lingo/lingo-gr.cpp"
break;
case 33:
-#line 276 "engines/director/lingo/lingo-gr.y"
+#line 277 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_nextRepeat); }
-#line 2226 "engines/director/lingo/lingo-gr.cpp"
+#line 2230 "engines/director/lingo/lingo-gr.cpp"
break;
case 34:
-#line 278 "engines/director/lingo/lingo-gr.y"
+#line 279 "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 2236 "engines/director/lingo/lingo-gr.cpp"
+#line 2240 "engines/director/lingo/lingo-gr.cpp"
break;
case 35:
-#line 283 "engines/director/lingo/lingo-gr.y"
+#line 284 "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 2245 "engines/director/lingo/lingo-gr.cpp"
+#line 2249 "engines/director/lingo/lingo-gr.cpp"
break;
case 36:
-#line 287 "engines/director/lingo/lingo-gr.y"
+#line 288 "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 2254 "engines/director/lingo/lingo-gr.cpp"
+#line 2258 "engines/director/lingo/lingo-gr.cpp"
break;
case 37:
-#line 292 "engines/director/lingo/lingo-gr.y"
+#line 293 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_tellcode);
g_lingo->code1(STOP); }
-#line 2262 "engines/director/lingo/lingo-gr.cpp"
+#line 2266 "engines/director/lingo/lingo-gr.cpp"
break;
case 38:
-#line 296 "engines/director/lingo/lingo-gr.y"
+#line 297 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[-6].code) - (yyvsp[-8].code));
@@ -2273,11 +2277,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 2277 "engines/director/lingo/lingo-gr.cpp"
+#line 2281 "engines/director/lingo/lingo-gr.cpp"
break;
case 39:
-#line 306 "engines/director/lingo/lingo-gr.y"
+#line 307 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[-9].code) - (yyvsp[-11].code));
@@ -2288,22 +2292,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 2292 "engines/director/lingo/lingo-gr.cpp"
+#line 2296 "engines/director/lingo/lingo-gr.cpp"
break;
case 42:
-#line 320 "engines/director/lingo/lingo-gr.y"
+#line 321 "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 2303 "engines/director/lingo/lingo-gr.cpp"
+#line 2307 "engines/director/lingo/lingo-gr.cpp"
break;
case 43:
-#line 327 "engines/director/lingo/lingo-gr.y"
+#line 328 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[-8].code) - (yyvsp[-10].code));
@@ -2314,11 +2318,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 2318 "engines/director/lingo/lingo-gr.cpp"
+#line 2322 "engines/director/lingo/lingo-gr.cpp"
break;
case 44:
-#line 337 "engines/director/lingo/lingo-gr.y"
+#line 338 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[-4].code) - (yyvsp[-6].code));
@@ -2329,149 +2333,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 2333 "engines/director/lingo/lingo-gr.cpp"
+#line 2337 "engines/director/lingo/lingo-gr.cpp"
break;
case 45:
-#line 348 "engines/director/lingo/lingo-gr.y"
+#line 349 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code3(LC::c_repeatwhilecode, STOP, STOP); }
-#line 2339 "engines/director/lingo/lingo-gr.cpp"
+#line 2343 "engines/director/lingo/lingo-gr.cpp"
break;
case 46:
-#line 350 "engines/director/lingo/lingo-gr.y"
+#line 351 "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 2349 "engines/director/lingo/lingo-gr.cpp"
+#line 2353 "engines/director/lingo/lingo-gr.cpp"
break;
case 47:
-#line 356 "engines/director/lingo/lingo-gr.y"
+#line 357 "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 2359 "engines/director/lingo/lingo-gr.cpp"
+#line 2363 "engines/director/lingo/lingo-gr.cpp"
break;
case 48:
-#line 362 "engines/director/lingo/lingo-gr.y"
+#line 363 "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 2370 "engines/director/lingo/lingo-gr.cpp"
+#line 2374 "engines/director/lingo/lingo-gr.cpp"
break;
case 49:
-#line 369 "engines/director/lingo/lingo-gr.y"
+#line 370 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->_currentScript->size(); }
-#line 2376 "engines/director/lingo/lingo-gr.cpp"
+#line 2380 "engines/director/lingo/lingo-gr.cpp"
break;
case 50:
-#line 371 "engines/director/lingo/lingo-gr.y"
+#line 372 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(STOP); (yyval.code) = g_lingo->_currentScript->size(); }
-#line 2382 "engines/director/lingo/lingo-gr.cpp"
+#line 2386 "engines/director/lingo/lingo-gr.cpp"
break;
case 51:
-#line 373 "engines/director/lingo/lingo-gr.y"
+#line 374 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->_currentScript->size(); }
-#line 2388 "engines/director/lingo/lingo-gr.cpp"
+#line 2392 "engines/director/lingo/lingo-gr.cpp"
break;
case 54:
-#line 377 "engines/director/lingo/lingo-gr.y"
+#line 378 "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 2398 "engines/director/lingo/lingo-gr.cpp"
+#line 2402 "engines/director/lingo/lingo-gr.cpp"
break;
case 55:
-#line 383 "engines/director/lingo/lingo-gr.y"
+#line 384 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_intpush);
g_lingo->codeInt((yyvsp[0].i)); }
-#line 2406 "engines/director/lingo/lingo-gr.cpp"
+#line 2410 "engines/director/lingo/lingo-gr.cpp"
break;
case 56:
-#line 386 "engines/director/lingo/lingo-gr.y"
+#line 387 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_floatpush);
g_lingo->codeFloat((yyvsp[0].f)); }
-#line 2414 "engines/director/lingo/lingo-gr.cpp"
+#line 2418 "engines/director/lingo/lingo-gr.cpp"
break;
case 57:
-#line 389 "engines/director/lingo/lingo-gr.y"
+#line 390 "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 2423 "engines/director/lingo/lingo-gr.cpp"
+#line 2427 "engines/director/lingo/lingo-gr.cpp"
break;
case 58:
-#line 393 "engines/director/lingo/lingo-gr.y"
+#line 394 "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 2432 "engines/director/lingo/lingo-gr.cpp"
+#line 2436 "engines/director/lingo/lingo-gr.cpp"
break;
case 59:
-#line 397 "engines/director/lingo/lingo-gr.y"
+#line 398 "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 2441 "engines/director/lingo/lingo-gr.cpp"
+#line 2445 "engines/director/lingo/lingo-gr.cpp"
break;
case 61:
-#line 403 "engines/director/lingo/lingo-gr.y"
+#line 404 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); }
-#line 2447 "engines/director/lingo/lingo-gr.cpp"
+#line 2451 "engines/director/lingo/lingo-gr.cpp"
break;
case 63:
-#line 405 "engines/director/lingo/lingo-gr.y"
+#line 406 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 2455 "engines/director/lingo/lingo-gr.cpp"
+#line 2459 "engines/director/lingo/lingo-gr.cpp"
break;
case 64:
-#line 408 "engines/director/lingo/lingo-gr.y"
+#line 409 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-1].s), (yyvsp[0].narg));
delete (yyvsp[-1].s); }
-#line 2463 "engines/director/lingo/lingo-gr.cpp"
+#line 2467 "engines/director/lingo/lingo-gr.cpp"
break;
case 65:
-#line 411 "engines/director/lingo/lingo-gr.y"
+#line 412 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 2471 "engines/director/lingo/lingo-gr.cpp"
+#line 2475 "engines/director/lingo/lingo-gr.cpp"
break;
case 66:
-#line 414 "engines/director/lingo/lingo-gr.y"
+#line 415 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(0); // Put dummy id
@@ -2480,489 +2484,489 @@ yyreduce:
WRITE_UINT32(&e, (yyvsp[0].e)[0]);
WRITE_UINT32(&f, (yyvsp[0].e)[1]);
g_lingo->code2(e, f); }
-#line 2484 "engines/director/lingo/lingo-gr.cpp"
+#line 2488 "engines/director/lingo/lingo-gr.cpp"
break;
case 67:
-#line 422 "engines/director/lingo/lingo-gr.y"
+#line 423 "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 2495 "engines/director/lingo/lingo-gr.cpp"
+#line 2499 "engines/director/lingo/lingo-gr.cpp"
break;
case 68:
-#line 428 "engines/director/lingo/lingo-gr.y"
+#line 429 "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 2505 "engines/director/lingo/lingo-gr.cpp"
+#line 2509 "engines/director/lingo/lingo-gr.cpp"
break;
case 70:
-#line 434 "engines/director/lingo/lingo-gr.y"
+#line 435 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_add); }
-#line 2511 "engines/director/lingo/lingo-gr.cpp"
+#line 2515 "engines/director/lingo/lingo-gr.cpp"
break;
case 71:
-#line 435 "engines/director/lingo/lingo-gr.y"
+#line 436 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_sub); }
-#line 2517 "engines/director/lingo/lingo-gr.cpp"
+#line 2521 "engines/director/lingo/lingo-gr.cpp"
break;
case 72:
-#line 436 "engines/director/lingo/lingo-gr.y"
+#line 437 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_mul); }
-#line 2523 "engines/director/lingo/lingo-gr.cpp"
+#line 2527 "engines/director/lingo/lingo-gr.cpp"
break;
case 73:
-#line 437 "engines/director/lingo/lingo-gr.y"
+#line 438 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_div); }
-#line 2529 "engines/director/lingo/lingo-gr.cpp"
+#line 2533 "engines/director/lingo/lingo-gr.cpp"
break;
case 74:
-#line 438 "engines/director/lingo/lingo-gr.y"
+#line 439 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_mod); }
-#line 2535 "engines/director/lingo/lingo-gr.cpp"
+#line 2539 "engines/director/lingo/lingo-gr.cpp"
break;
case 75:
-#line 439 "engines/director/lingo/lingo-gr.y"
+#line 440 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gt); }
-#line 2541 "engines/director/lingo/lingo-gr.cpp"
+#line 2545 "engines/director/lingo/lingo-gr.cpp"
break;
case 76:
-#line 440 "engines/director/lingo/lingo-gr.y"
+#line 441 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lt); }
-#line 2547 "engines/director/lingo/lingo-gr.cpp"
+#line 2551 "engines/director/lingo/lingo-gr.cpp"
break;
case 77:
-#line 441 "engines/director/lingo/lingo-gr.y"
+#line 442 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_eq); }
-#line 2553 "engines/director/lingo/lingo-gr.cpp"
+#line 2557 "engines/director/lingo/lingo-gr.cpp"
break;
case 78:
-#line 442 "engines/director/lingo/lingo-gr.y"
+#line 443 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_neq); }
-#line 2559 "engines/director/lingo/lingo-gr.cpp"
+#line 2563 "engines/director/lingo/lingo-gr.cpp"
break;
case 79:
-#line 443 "engines/director/lingo/lingo-gr.y"
+#line 444 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ge); }
-#line 2565 "engines/director/lingo/lingo-gr.cpp"
+#line 2569 "engines/director/lingo/lingo-gr.cpp"
break;
case 80:
-#line 444 "engines/director/lingo/lingo-gr.y"
+#line 445 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_le); }
-#line 2571 "engines/director/lingo/lingo-gr.cpp"
+#line 2575 "engines/director/lingo/lingo-gr.cpp"
break;
case 81:
-#line 445 "engines/director/lingo/lingo-gr.y"
+#line 446 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_and); }
-#line 2577 "engines/director/lingo/lingo-gr.cpp"
+#line 2581 "engines/director/lingo/lingo-gr.cpp"
break;
case 82:
-#line 446 "engines/director/lingo/lingo-gr.y"
+#line 447 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_or); }
-#line 2583 "engines/director/lingo/lingo-gr.cpp"
+#line 2587 "engines/director/lingo/lingo-gr.cpp"
break;
case 83:
-#line 447 "engines/director/lingo/lingo-gr.y"
+#line 448 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_not); }
-#line 2589 "engines/director/lingo/lingo-gr.cpp"
+#line 2593 "engines/director/lingo/lingo-gr.cpp"
break;
case 84:
-#line 448 "engines/director/lingo/lingo-gr.y"
+#line 449 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ampersand); }
-#line 2595 "engines/director/lingo/lingo-gr.cpp"
+#line 2599 "engines/director/lingo/lingo-gr.cpp"
break;
case 85:
-#line 449 "engines/director/lingo/lingo-gr.y"
+#line 450 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_concat); }
-#line 2601 "engines/director/lingo/lingo-gr.cpp"
+#line 2605 "engines/director/lingo/lingo-gr.cpp"
break;
case 86:
-#line 450 "engines/director/lingo/lingo-gr.y"
+#line 451 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_contains); }
-#line 2607 "engines/director/lingo/lingo-gr.cpp"
+#line 2611 "engines/director/lingo/lingo-gr.cpp"
break;
case 87:
-#line 451 "engines/director/lingo/lingo-gr.y"
+#line 452 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_starts); }
-#line 2613 "engines/director/lingo/lingo-gr.cpp"
+#line 2617 "engines/director/lingo/lingo-gr.cpp"
break;
case 88:
-#line 452 "engines/director/lingo/lingo-gr.y"
+#line 453 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); }
-#line 2619 "engines/director/lingo/lingo-gr.cpp"
+#line 2623 "engines/director/lingo/lingo-gr.cpp"
break;
case 89:
-#line 453 "engines/director/lingo/lingo-gr.y"
+#line 454 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); g_lingo->code1(LC::c_negate); }
-#line 2625 "engines/director/lingo/lingo-gr.cpp"
+#line 2629 "engines/director/lingo/lingo-gr.cpp"
break;
case 90:
-#line 454 "engines/director/lingo/lingo-gr.y"
+#line 455 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[-1].code); }
-#line 2631 "engines/director/lingo/lingo-gr.cpp"
+#line 2635 "engines/director/lingo/lingo-gr.cpp"
break;
case 91:
-#line 455 "engines/director/lingo/lingo-gr.y"
+#line 456 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_intersects); }
-#line 2637 "engines/director/lingo/lingo-gr.cpp"
+#line 2641 "engines/director/lingo/lingo-gr.cpp"
break;
case 92:
-#line 456 "engines/director/lingo/lingo-gr.y"
+#line 457 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_within); }
-#line 2643 "engines/director/lingo/lingo-gr.cpp"
+#line 2647 "engines/director/lingo/lingo-gr.cpp"
break;
case 93:
-#line 458 "engines/director/lingo/lingo-gr.y"
+#line 459 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_charOf); }
-#line 2649 "engines/director/lingo/lingo-gr.cpp"
+#line 2653 "engines/director/lingo/lingo-gr.cpp"
break;
case 94:
-#line 459 "engines/director/lingo/lingo-gr.y"
+#line 460 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_charToOf); }
-#line 2655 "engines/director/lingo/lingo-gr.cpp"
+#line 2659 "engines/director/lingo/lingo-gr.cpp"
break;
case 95:
-#line 460 "engines/director/lingo/lingo-gr.y"
+#line 461 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_itemOf); }
-#line 2661 "engines/director/lingo/lingo-gr.cpp"
+#line 2665 "engines/director/lingo/lingo-gr.cpp"
break;
case 96:
-#line 461 "engines/director/lingo/lingo-gr.y"
+#line 462 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_itemToOf); }
-#line 2667 "engines/director/lingo/lingo-gr.cpp"
+#line 2671 "engines/director/lingo/lingo-gr.cpp"
break;
case 97:
-#line 462 "engines/director/lingo/lingo-gr.y"
+#line 463 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lineOf); }
-#line 2673 "engines/director/lingo/lingo-gr.cpp"
+#line 2677 "engines/director/lingo/lingo-gr.cpp"
break;
case 98:
-#line 463 "engines/director/lingo/lingo-gr.y"
+#line 464 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lineToOf); }
-#line 2679 "engines/director/lingo/lingo-gr.cpp"
+#line 2683 "engines/director/lingo/lingo-gr.cpp"
break;
case 99:
-#line 464 "engines/director/lingo/lingo-gr.y"
+#line 465 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_wordOf); }
-#line 2685 "engines/director/lingo/lingo-gr.cpp"
+#line 2689 "engines/director/lingo/lingo-gr.cpp"
break;
case 100:
-#line 465 "engines/director/lingo/lingo-gr.y"
+#line 466 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_wordToOf); }
-#line 2691 "engines/director/lingo/lingo-gr.cpp"
+#line 2695 "engines/director/lingo/lingo-gr.cpp"
break;
case 101:
-#line 467 "engines/director/lingo/lingo-gr.y"
+#line 468 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-1].s), 1);
delete (yyvsp[-1].s); }
-#line 2699 "engines/director/lingo/lingo-gr.cpp"
+#line 2703 "engines/director/lingo/lingo-gr.cpp"
break;
case 103:
-#line 472 "engines/director/lingo/lingo-gr.y"
+#line 473 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_printtop); }
-#line 2705 "engines/director/lingo/lingo-gr.cpp"
+#line 2709 "engines/director/lingo/lingo-gr.cpp"
break;
case 106:
-#line 475 "engines/director/lingo/lingo-gr.y"
+#line 476 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_exitRepeat); }
-#line 2711 "engines/director/lingo/lingo-gr.cpp"
+#line 2715 "engines/director/lingo/lingo-gr.cpp"
break;
case 107:
-#line 476 "engines/director/lingo/lingo-gr.y"
+#line 477 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_procret); }
-#line 2717 "engines/director/lingo/lingo-gr.cpp"
+#line 2721 "engines/director/lingo/lingo-gr.cpp"
break;
case 108:
-#line 477 "engines/director/lingo/lingo-gr.y"
+#line 478 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; }
-#line 2723 "engines/director/lingo/lingo-gr.cpp"
+#line 2727 "engines/director/lingo/lingo-gr.cpp"
break;
case 109:
-#line 477 "engines/director/lingo/lingo-gr.y"
+#line 478 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateNone; }
-#line 2729 "engines/director/lingo/lingo-gr.cpp"
+#line 2733 "engines/director/lingo/lingo-gr.cpp"
break;
case 110:
-#line 478 "engines/director/lingo/lingo-gr.y"
+#line 479 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; }
-#line 2735 "engines/director/lingo/lingo-gr.cpp"
+#line 2739 "engines/director/lingo/lingo-gr.cpp"
break;
case 111:
-#line 478 "engines/director/lingo/lingo-gr.y"
+#line 479 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateNone; }
-#line 2741 "engines/director/lingo/lingo-gr.cpp"
+#line 2745 "engines/director/lingo/lingo-gr.cpp"
break;
case 113:
-#line 480 "engines/director/lingo/lingo-gr.y"
+#line 481 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 2749 "engines/director/lingo/lingo-gr.cpp"
+#line 2753 "engines/director/lingo/lingo-gr.cpp"
break;
case 114:
-#line 483 "engines/director/lingo/lingo-gr.y"
+#line 484 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-1].s), (yyvsp[0].narg));
delete (yyvsp[-1].s); }
-#line 2757 "engines/director/lingo/lingo-gr.cpp"
+#line 2761 "engines/director/lingo/lingo-gr.cpp"
break;
case 115:
-#line 486 "engines/director/lingo/lingo-gr.y"
+#line 487 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_open); }
-#line 2763 "engines/director/lingo/lingo-gr.cpp"
+#line 2767 "engines/director/lingo/lingo-gr.cpp"
break;
case 116:
-#line 487 "engines/director/lingo/lingo-gr.y"
+#line 488 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code2(LC::c_voidpush, LC::c_open); }
-#line 2769 "engines/director/lingo/lingo-gr.cpp"
+#line 2773 "engines/director/lingo/lingo-gr.cpp"
break;
case 117:
-#line 489 "engines/director/lingo/lingo-gr.y"
+#line 490 "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 2778 "engines/director/lingo/lingo-gr.cpp"
+#line 2782 "engines/director/lingo/lingo-gr.cpp"
break;
case 118:
-#line 493 "engines/director/lingo/lingo-gr.y"
+#line 494 "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 2787 "engines/director/lingo/lingo-gr.cpp"
+#line 2791 "engines/director/lingo/lingo-gr.cpp"
break;
case 119:
-#line 498 "engines/director/lingo/lingo-gr.y"
+#line 499 "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 2796 "engines/director/lingo/lingo-gr.cpp"
+#line 2800 "engines/director/lingo/lingo-gr.cpp"
break;
case 120:
-#line 502 "engines/director/lingo/lingo-gr.y"
+#line 503 "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 2805 "engines/director/lingo/lingo-gr.cpp"
+#line 2809 "engines/director/lingo/lingo-gr.cpp"
break;
case 121:
-#line 507 "engines/director/lingo/lingo-gr.y"
+#line 508 "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 2814 "engines/director/lingo/lingo-gr.cpp"
+#line 2818 "engines/director/lingo/lingo-gr.cpp"
break;
case 122:
-#line 511 "engines/director/lingo/lingo-gr.y"
+#line 512 "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 2823 "engines/director/lingo/lingo-gr.cpp"
+#line 2827 "engines/director/lingo/lingo-gr.cpp"
break;
case 123:
-#line 523 "engines/director/lingo/lingo-gr.y"
+#line 524 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotoloop); }
-#line 2829 "engines/director/lingo/lingo-gr.cpp"
+#line 2833 "engines/director/lingo/lingo-gr.cpp"
break;
case 124:
-#line 524 "engines/director/lingo/lingo-gr.y"
+#line 525 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotonext); }
-#line 2835 "engines/director/lingo/lingo-gr.cpp"
+#line 2839 "engines/director/lingo/lingo-gr.cpp"
break;
case 125:
-#line 525 "engines/director/lingo/lingo-gr.y"
+#line 526 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotoprevious); }
-#line 2841 "engines/director/lingo/lingo-gr.cpp"
+#line 2845 "engines/director/lingo/lingo-gr.cpp"
break;
case 126:
-#line 526 "engines/director/lingo/lingo-gr.y"
+#line 527 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(LC::c_goto); }
-#line 2850 "engines/director/lingo/lingo-gr.cpp"
+#line 2854 "engines/director/lingo/lingo-gr.cpp"
break;
case 127:
-#line 530 "engines/director/lingo/lingo-gr.y"
+#line 531 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(LC::c_goto); }
-#line 2859 "engines/director/lingo/lingo-gr.cpp"
+#line 2863 "engines/director/lingo/lingo-gr.cpp"
break;
case 128:
-#line 534 "engines/director/lingo/lingo-gr.y"
+#line 535 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(2);
g_lingo->code1(LC::c_goto); }
-#line 2868 "engines/director/lingo/lingo-gr.cpp"
+#line 2872 "engines/director/lingo/lingo-gr.cpp"
break;
case 131:
-#line 542 "engines/director/lingo/lingo-gr.y"
+#line 543 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_playdone); }
-#line 2874 "engines/director/lingo/lingo-gr.cpp"
+#line 2878 "engines/director/lingo/lingo-gr.cpp"
break;
case 132:
-#line 543 "engines/director/lingo/lingo-gr.y"
+#line 544 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(LC::c_play); }
-#line 2883 "engines/director/lingo/lingo-gr.cpp"
+#line 2887 "engines/director/lingo/lingo-gr.cpp"
break;
case 133:
-#line 547 "engines/director/lingo/lingo-gr.y"
+#line 548 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(LC::c_play); }
-#line 2892 "engines/director/lingo/lingo-gr.cpp"
+#line 2896 "engines/director/lingo/lingo-gr.cpp"
break;
case 134:
-#line 551 "engines/director/lingo/lingo-gr.y"
+#line 552 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(2);
g_lingo->code1(LC::c_play); }
-#line 2901 "engines/director/lingo/lingo-gr.cpp"
+#line 2905 "engines/director/lingo/lingo-gr.cpp"
break;
case 135:
-#line 555 "engines/director/lingo/lingo-gr.y"
+#line 556 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeSetImmediate(true); }
-#line 2907 "engines/director/lingo/lingo-gr.cpp"
+#line 2911 "engines/director/lingo/lingo-gr.cpp"
break;
case 136:
-#line 555 "engines/director/lingo/lingo-gr.y"
+#line 556 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeSetImmediate(false);
g_lingo->codeFunc((yyvsp[-2].s), (yyvsp[0].narg));
delete (yyvsp[-2].s); }
-#line 2916 "engines/director/lingo/lingo-gr.cpp"
+#line 2920 "engines/director/lingo/lingo-gr.cpp"
break;
case 137:
-#line 585 "engines/director/lingo/lingo-gr.y"
+#line 586 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; }
-#line 2922 "engines/director/lingo/lingo-gr.cpp"
+#line 2926 "engines/director/lingo/lingo-gr.cpp"
break;
case 138:
-#line 585 "engines/director/lingo/lingo-gr.y"
+#line 586 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_currentFactory.clear(); }
-#line 2928 "engines/director/lingo/lingo-gr.cpp"
+#line 2932 "engines/director/lingo/lingo-gr.cpp"
break;
case 139:
-#line 586 "engines/director/lingo/lingo-gr.y"
+#line 587 "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 2939 "engines/director/lingo/lingo-gr.cpp"
+#line 2943 "engines/director/lingo/lingo-gr.cpp"
break;
case 140:
-#line 592 "engines/director/lingo/lingo-gr.y"
+#line 593 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeFactory(*(yyvsp[0].s)); delete (yyvsp[0].s); }
-#line 2945 "engines/director/lingo/lingo-gr.cpp"
+#line 2949 "engines/director/lingo/lingo-gr.cpp"
break;
case 141:
-#line 593 "engines/director/lingo/lingo-gr.y"
+#line 594 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; }
-#line 2951 "engines/director/lingo/lingo-gr.cpp"
+#line 2955 "engines/director/lingo/lingo-gr.cpp"
break;
case 142:
-#line 594 "engines/director/lingo/lingo-gr.y"
+#line 595 "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 2962 "engines/director/lingo/lingo-gr.cpp"
+#line 2966 "engines/director/lingo/lingo-gr.cpp"
break;
case 143:
-#line 600 "engines/director/lingo/lingo-gr.y"
+#line 601 "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));
@@ -2973,11 +2977,11 @@ yyreduce:
checkEnd((yyvsp[-1].s), (yyvsp[-7].s)->c_str(), false);
delete (yyvsp[-7].s);
delete (yyvsp[-1].s); }
-#line 2977 "engines/director/lingo/lingo-gr.cpp"
+#line 2981 "engines/director/lingo/lingo-gr.cpp"
break;
case 144:
-#line 610 "engines/director/lingo/lingo-gr.y"
+#line 611 "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));
@@ -2985,65 +2989,65 @@ yyreduce:
g_lingo->clearArgStack();
g_lingo->_ignoreMe = false;
delete (yyvsp[-5].s); }
-#line 2989 "engines/director/lingo/lingo-gr.cpp"
+#line 2993 "engines/director/lingo/lingo-gr.cpp"
break;
case 145:
-#line 618 "engines/director/lingo/lingo-gr.y"
+#line 619 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; }
-#line 2995 "engines/director/lingo/lingo-gr.cpp"
+#line 2999 "engines/director/lingo/lingo-gr.cpp"
break;
case 146:
-#line 618 "engines/director/lingo/lingo-gr.y"
+#line 619 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = (yyvsp[0].s); g_lingo->_currentFactory.clear(); g_lingo->_ignoreMe = true; }
-#line 3001 "engines/director/lingo/lingo-gr.cpp"
+#line 3005 "engines/director/lingo/lingo-gr.cpp"
break;
case 147:
-#line 620 "engines/director/lingo/lingo-gr.y"
+#line 621 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; }
-#line 3007 "engines/director/lingo/lingo-gr.cpp"
+#line 3011 "engines/director/lingo/lingo-gr.cpp"
break;
case 148:
-#line 621 "engines/director/lingo/lingo-gr.y"
+#line 622 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); (yyval.narg) = 1; delete (yyvsp[0].s); }
-#line 3013 "engines/director/lingo/lingo-gr.cpp"
+#line 3017 "engines/director/lingo/lingo-gr.cpp"
break;
case 149:
-#line 622 "engines/director/lingo/lingo-gr.y"
+#line 623 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); (yyval.narg) = (yyvsp[-2].narg) + 1; delete (yyvsp[0].s); }
-#line 3019 "engines/director/lingo/lingo-gr.cpp"
+#line 3023 "engines/director/lingo/lingo-gr.cpp"
break;
case 150:
-#line 623 "engines/director/lingo/lingo-gr.y"
+#line 624 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); (yyval.narg) = (yyvsp[-3].narg) + 1; delete (yyvsp[0].s); }
-#line 3025 "engines/director/lingo/lingo-gr.cpp"
+#line 3029 "engines/director/lingo/lingo-gr.cpp"
break;
case 152:
-#line 626 "engines/director/lingo/lingo-gr.y"
+#line 627 "engines/director/lingo/lingo-gr.y"
{ delete (yyvsp[0].s); }
-#line 3031 "engines/director/lingo/lingo-gr.cpp"
+#line 3035 "engines/director/lingo/lingo-gr.cpp"
break;
case 153:
-#line 627 "engines/director/lingo/lingo-gr.y"
+#line 628 "engines/director/lingo/lingo-gr.y"
{ delete (yyvsp[0].s); }
-#line 3037 "engines/director/lingo/lingo-gr.cpp"
+#line 3041 "engines/director/lingo/lingo-gr.cpp"
break;
case 154:
-#line 629 "engines/director/lingo/lingo-gr.y"
+#line 630 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArgStore(); g_lingo->_indef = kStateInDef; }
-#line 3043 "engines/director/lingo/lingo-gr.cpp"
+#line 3047 "engines/director/lingo/lingo-gr.cpp"
break;
case 155:
-#line 631 "engines/director/lingo/lingo-gr.y"
+#line 632 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_call);
g_lingo->codeString((yyvsp[-1].s)->c_str());
@@ -3051,113 +3055,113 @@ yyreduce:
WRITE_UINT32(&numpar, (yyvsp[0].narg));
g_lingo->code1(numpar);
delete (yyvsp[-1].s); }
-#line 3055 "engines/director/lingo/lingo-gr.cpp"
+#line 3059 "engines/director/lingo/lingo-gr.cpp"
break;
case 156:
-#line 639 "engines/director/lingo/lingo-gr.y"
+#line 640 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; }
-#line 3061 "engines/director/lingo/lingo-gr.cpp"
+#line 3065 "engines/director/lingo/lingo-gr.cpp"
break;
case 157:
-#line 640 "engines/director/lingo/lingo-gr.y"
+#line 641 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3067 "engines/director/lingo/lingo-gr.cpp"
+#line 3071 "engines/director/lingo/lingo-gr.cpp"
break;
case 158:
-#line 641 "engines/director/lingo/lingo-gr.y"
+#line 642 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3073 "engines/director/lingo/lingo-gr.cpp"
+#line 3077 "engines/director/lingo/lingo-gr.cpp"
break;
case 159:
-#line 643 "engines/director/lingo/lingo-gr.y"
+#line 644 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3079 "engines/director/lingo/lingo-gr.cpp"
+#line 3083 "engines/director/lingo/lingo-gr.cpp"
break;
case 160:
-#line 644 "engines/director/lingo/lingo-gr.y"
+#line 645 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3085 "engines/director/lingo/lingo-gr.cpp"
+#line 3089 "engines/director/lingo/lingo-gr.cpp"
break;
case 161:
-#line 646 "engines/director/lingo/lingo-gr.y"
+#line 647 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[-1].code); }
-#line 3091 "engines/director/lingo/lingo-gr.cpp"
+#line 3095 "engines/director/lingo/lingo-gr.cpp"
break;
case 162:
-#line 648 "engines/director/lingo/lingo-gr.y"
+#line 649 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code2(LC::c_arraypush, 0); }
-#line 3097 "engines/director/lingo/lingo-gr.cpp"
+#line 3101 "engines/director/lingo/lingo-gr.cpp"
break;
case 163:
-#line 649 "engines/director/lingo/lingo-gr.y"
+#line 650 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code2(LC::c_proparraypush, 0); }
-#line 3103 "engines/director/lingo/lingo-gr.cpp"
+#line 3107 "engines/director/lingo/lingo-gr.cpp"
break;
case 164:
-#line 650 "engines/director/lingo/lingo-gr.y"
+#line 651 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_arraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3109 "engines/director/lingo/lingo-gr.cpp"
+#line 3113 "engines/director/lingo/lingo-gr.cpp"
break;
case 165:
-#line 651 "engines/director/lingo/lingo-gr.y"
+#line 652 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_proparraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3115 "engines/director/lingo/lingo-gr.cpp"
+#line 3119 "engines/director/lingo/lingo-gr.cpp"
break;
case 166:
-#line 653 "engines/director/lingo/lingo-gr.y"
+#line 654 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3121 "engines/director/lingo/lingo-gr.cpp"
+#line 3125 "engines/director/lingo/lingo-gr.cpp"
break;
case 167:
-#line 654 "engines/director/lingo/lingo-gr.y"
+#line 655 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3127 "engines/director/lingo/lingo-gr.cpp"
+#line 3131 "engines/director/lingo/lingo-gr.cpp"
break;
case 168:
-#line 656 "engines/director/lingo/lingo-gr.y"
+#line 657 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3133 "engines/director/lingo/lingo-gr.cpp"
+#line 3137 "engines/director/lingo/lingo-gr.cpp"
break;
case 169:
-#line 657 "engines/director/lingo/lingo-gr.y"
+#line 658 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3139 "engines/director/lingo/lingo-gr.cpp"
+#line 3143 "engines/director/lingo/lingo-gr.cpp"
break;
case 170:
-#line 659 "engines/director/lingo/lingo-gr.y"
+#line 660 "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 3148 "engines/director/lingo/lingo-gr.cpp"
+#line 3152 "engines/director/lingo/lingo-gr.cpp"
break;
case 171:
-#line 663 "engines/director/lingo/lingo-gr.y"
+#line 664 "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 3157 "engines/director/lingo/lingo-gr.cpp"
+#line 3161 "engines/director/lingo/lingo-gr.cpp"
break;
-#line 3161 "engines/director/lingo/lingo-gr.cpp"
+#line 3165 "engines/director/lingo/lingo-gr.cpp"
default: break;
}
@@ -3389,5 +3393,5 @@ yyreturn:
#endif
return yyresult;
}
-#line 669 "engines/director/lingo/lingo-gr.y"
+#line 670 "engines/director/lingo/lingo-gr.y"
diff --git a/engines/director/lingo/lingo-gr.h b/engines/director/lingo/lingo-gr.h
index 7938120..627c189 100644
--- a/engines/director/lingo/lingo-gr.h
+++ b/engines/director/lingo/lingo-gr.h
@@ -58,79 +58,80 @@ extern int yydebug;
ARRAY = 264,
OBJECT = 265,
REFERENCE = 266,
- INT = 267,
- ARGC = 268,
- ARGCNORET = 269,
- THEENTITY = 270,
- THEENTITYWITHID = 271,
- THEMENUITEMENTITY = 272,
- FLOAT = 273,
- BLTIN = 274,
- FBLTIN = 275,
- RBLTIN = 276,
- ID = 277,
- STRING = 278,
- HANDLER = 279,
- SYMBOL = 280,
- ENDCLAUSE = 281,
- tPLAYACCEL = 282,
- tMETHOD = 283,
- THEOBJECTFIELD = 284,
- tDOWN = 285,
- tELSE = 286,
- tELSIF = 287,
- tEXIT = 288,
- tGLOBAL = 289,
- tGO = 290,
- tIF = 291,
- tIN = 292,
- tINTO = 293,
- tLOOP = 294,
- tMACRO = 295,
- tMOVIE = 296,
- tNEXT = 297,
- tOF = 298,
- tPREVIOUS = 299,
- tPUT = 300,
- tREPEAT = 301,
- tSET = 302,
- tTHEN = 303,
- tTO = 304,
- tWHEN = 305,
- tWITH = 306,
- tWHILE = 307,
- tNLELSE = 308,
- tFACTORY = 309,
- tOPEN = 310,
- tPLAY = 311,
- tDONE = 312,
- tINSTANCE = 313,
- tGE = 314,
- tLE = 315,
- tEQ = 316,
- tNEQ = 317,
- tAND = 318,
- tOR = 319,
- tNOT = 320,
- tMOD = 321,
- tAFTER = 322,
- tBEFORE = 323,
- tCONCAT = 324,
- tCONTAINS = 325,
- tSTARTS = 326,
- tCHAR = 327,
- tITEM = 328,
- tLINE = 329,
- tWORD = 330,
- tSPRITE = 331,
- tINTERSECTS = 332,
- tWITHIN = 333,
- tTELL = 334,
- tPROPERTY = 335,
- tON = 336,
- tENDIF = 337,
- tENDREPEAT = 338,
- tENDTELL = 339
+ LEXERROR = 267,
+ INT = 268,
+ ARGC = 269,
+ ARGCNORET = 270,
+ 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,
+ tDOWN = 286,
+ tELSE = 287,
+ tELSIF = 288,
+ tEXIT = 289,
+ tGLOBAL = 290,
+ tGO = 291,
+ tIF = 292,
+ tIN = 293,
+ tINTO = 294,
+ tLOOP = 295,
+ tMACRO = 296,
+ tMOVIE = 297,
+ tNEXT = 298,
+ tOF = 299,
+ tPREVIOUS = 300,
+ tPUT = 301,
+ tREPEAT = 302,
+ tSET = 303,
+ tTHEN = 304,
+ tTO = 305,
+ tWHEN = 306,
+ tWITH = 307,
+ tWHILE = 308,
+ tNLELSE = 309,
+ tFACTORY = 310,
+ tOPEN = 311,
+ tPLAY = 312,
+ tDONE = 313,
+ tINSTANCE = 314,
+ tGE = 315,
+ tLE = 316,
+ tEQ = 317,
+ tNEQ = 318,
+ tAND = 319,
+ tOR = 320,
+ tNOT = 321,
+ tMOD = 322,
+ tAFTER = 323,
+ tBEFORE = 324,
+ tCONCAT = 325,
+ tCONTAINS = 326,
+ tSTARTS = 327,
+ tCHAR = 328,
+ tITEM = 329,
+ tLINE = 330,
+ tWORD = 331,
+ tSPRITE = 332,
+ tINTERSECTS = 333,
+ tWITHIN = 334,
+ tTELL = 335,
+ tPROPERTY = 336,
+ tON = 337,
+ tENDIF = 338,
+ tENDREPEAT = 339,
+ tENDTELL = 340
};
#endif
@@ -153,7 +154,7 @@ union YYSTYPE
int oe;
} objectfield;
-#line 157 "engines/director/lingo/lingo-gr.h"
+#line 158 "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 5de6874..e0e1308 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -99,7 +99,7 @@ void checkEnd(Common::String *token, const char *expect, bool required) {
}
%token UNARY
-%token CASTREF VOID VAR POINT RECT ARRAY OBJECT REFERENCE
+%token CASTREF VOID VAR POINT RECT ARRAY OBJECT REFERENCE LEXERROR
%token<i> INT ARGC ARGCNORET
%token<e> THEENTITY THEENTITYWITHID THEMENUITEMENTITY
%token<f> FLOAT
@@ -192,7 +192,8 @@ asgn: tPUT expr tINTO ID {
// the <field> of menuItem <expr>" of menu <expr>
| tSET THEMENUITEMENTITY simpleexpr tOF ID simpleexpr tTO expr {
if (!$ID->equalsIgnoreCase("menu")) {
- error("LEXER: keyword 'menu' expected");
+ warning("LEXER: keyword 'menu' expected");
+ YYERROR;
}
warning("STUB: menuItem entity");
diff --git a/engines/director/lingo/lingo-lex.cpp b/engines/director/lingo/lingo-lex.cpp
index fa8d7e7..3c6bc12 100644
--- a/engines/director/lingo/lingo-lex.cpp
+++ b/engines/director/lingo/lingo-lex.cpp
@@ -1425,23 +1425,24 @@ YY_RULE_SETUP
yylval.s = new Common::String(bltin);
return BLTIN;
} else {
- error("LEXER: Unhandled 'sound %s'", command.c_str());
+ warning("LEXER: Unhandled 'sound %s'", command.c_str());
+ return LEXERROR;
}
}
YY_BREAK
case 49:
YY_RULE_SETUP
-#line 188 "engines/director/lingo/lingo-lex.l"
+#line 189 "engines/director/lingo/lingo-lex.l"
{ count(); return tSTARTS; }
YY_BREAK
case 50:
YY_RULE_SETUP
-#line 189 "engines/director/lingo/lingo-lex.l"
+#line 190 "engines/director/lingo/lingo-lex.l"
{ count(); return tTELL; }
YY_BREAK
case 51:
YY_RULE_SETUP
-#line 190 "engines/director/lingo/lingo-lex.l"
+#line 191 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1453,7 +1454,7 @@ YY_RULE_SETUP
YY_BREAK
case 52:
YY_RULE_SETUP
-#line 198 "engines/director/lingo/lingo-lex.l"
+#line 199 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1464,7 +1465,7 @@ YY_RULE_SETUP
YY_BREAK
case 53:
YY_RULE_SETUP
-#line 205 "engines/director/lingo/lingo-lex.l"
+#line 206 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1483,15 +1484,17 @@ YY_RULE_SETUP
yylval.s = new Common::String(Common::String::format("numberOf%s", field.c_str()));
- if (g_lingo->_builtins.contains(*yylval.s))
+ if (g_lingo->_builtins.contains(*yylval.s)) {
return FBLTIN;
- else
- error("LEXER: Unhandled chunk expression '%s'", yylval.s->c_str());
+ } else {
+ warning("LEXER: Unhandled chunk expression '%s'", yylval.s->c_str());
+ return LEXERROR;
+ }
}
YY_BREAK
case 54:
YY_RULE_SETUP
-#line 228 "engines/director/lingo/lingo-lex.l"
+#line 231 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1507,15 +1510,17 @@ YY_RULE_SETUP
yylval.s = new Common::String(Common::String::format("last%sOf", field.c_str()));
- if (g_lingo->_builtins.contains(*yylval.s))
+ if (g_lingo->_builtins.contains(*yylval.s)) {
return FBLTIN;
- else
- error("LEXER: Unhandled chunk expression '%s'", yylval.s->c_str());
+ } else {
+ warning("LEXER: Unhandled chunk expression '%s'", yylval.s->c_str());
+ return LEXERROR;
+ }
}
YY_BREAK
case 55:
YY_RULE_SETUP
-#line 248 "engines/director/lingo/lingo-lex.l"
+#line 253 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1539,11 +1544,14 @@ YY_RULE_SETUP
field = Common::String::format("%d%s", g_lingo->_theEntities[ptr]->entity, field.c_str());
if (!g_lingo->_theEntityFields.contains(field)) {
- error("LEXER: Unhandled the field %s of %s", field.c_str(), ptr);
+ warning("LEXER: Unhandled the field %s of %s", field.c_str(), ptr);
+ return LEXERROR;
}
- if (g_lingo->_theEntityFields[field]->entity != g_lingo->_theEntities[ptr]->entity)
- error("LEXER: Unsupported field '%s' for entity '%s'", field.c_str(), ptr);
+ if (g_lingo->_theEntityFields[field]->entity != g_lingo->_theEntities[ptr]->entity) {
+ warning("LEXER: Unsupported field '%s' for entity '%s'", field.c_str(), ptr);
+ return LEXERROR;
+ }
yylval.e[0] = g_lingo->_theEntities[ptr]->entity;
yylval.e[1] = g_lingo->_theEntityFields[field]->field;
@@ -1561,7 +1569,8 @@ YY_RULE_SETUP
field = Common::String::format("%d%s", g_lingo->_objectEntityId, field.c_str());
if (!g_lingo->_theEntityFields.contains(field)) {
- error("LEXER: Unhandled the field '%s' for object", field.c_str());
+ warning("LEXER: Unhandled the field '%s' for object", field.c_str());
+ return LEXERROR;
}
yylval.objectfield.os = new Common::String(ptr);
@@ -1576,7 +1585,7 @@ YY_RULE_SETUP
YY_BREAK
case 56:
YY_RULE_SETUP
-#line 305 "engines/director/lingo/lingo-lex.l"
+#line 314 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1594,11 +1603,14 @@ YY_RULE_SETUP
field = Common::String::format("%d%s", g_lingo->_theEntities[ptr]->entity, field.c_str());
if (!g_lingo->_theEntityFields.contains(field)) {
- error("LEXER: Unhandled the field %s", ptr);
+ warning("LEXER: Unhandled the field %s", ptr);
+ return LEXERROR;
}
- if (g_lingo->_theEntityFields[field]->entity != g_lingo->_theEntities[ptr]->entity)
- error("LEXER: Unsupported field '%s' for entity '%s'", field.c_str(), ptr);
+ if (g_lingo->_theEntityFields[field]->entity != g_lingo->_theEntities[ptr]->entity) {
+ warning("LEXER: Unsupported field '%s' for entity '%s'", field.c_str(), ptr);
+ return LEXERROR;
+ }
yylval.e[0] = g_lingo->_theEntities[ptr]->entity;
yylval.e[1] = g_lingo->_theEntityFields[field]->field;
@@ -1611,7 +1623,7 @@ YY_RULE_SETUP
YY_BREAK
case 57:
YY_RULE_SETUP
-#line 336 "engines/director/lingo/lingo-lex.l"
+#line 348 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1634,72 +1646,72 @@ YY_RULE_SETUP
YY_BREAK
case 58:
YY_RULE_SETUP
-#line 355 "engines/director/lingo/lingo-lex.l"
+#line 367 "engines/director/lingo/lingo-lex.l"
{ count(); return tTHEN; }
YY_BREAK
case 59:
YY_RULE_SETUP
-#line 356 "engines/director/lingo/lingo-lex.l"
+#line 368 "engines/director/lingo/lingo-lex.l"
{ count(); return tTO; }
YY_BREAK
case 60:
YY_RULE_SETUP
-#line 357 "engines/director/lingo/lingo-lex.l"
+#line 369 "engines/director/lingo/lingo-lex.l"
{ count(); return tSPRITE; }
YY_BREAK
case 61:
YY_RULE_SETUP
-#line 358 "engines/director/lingo/lingo-lex.l"
+#line 370 "engines/director/lingo/lingo-lex.l"
{ count(); return tWITH; }
YY_BREAK
case 62:
YY_RULE_SETUP
-#line 359 "engines/director/lingo/lingo-lex.l"
+#line 371 "engines/director/lingo/lingo-lex.l"
{ count(); return tWITHIN; }
YY_BREAK
case 63:
YY_RULE_SETUP
-#line 360 "engines/director/lingo/lingo-lex.l"
+#line 372 "engines/director/lingo/lingo-lex.l"
{ count(); return tWHEN; }
YY_BREAK
case 64:
YY_RULE_SETUP
-#line 361 "engines/director/lingo/lingo-lex.l"
+#line 373 "engines/director/lingo/lingo-lex.l"
{ count(); return tWHILE; }
YY_BREAK
case 65:
YY_RULE_SETUP
-#line 362 "engines/director/lingo/lingo-lex.l"
+#line 374 "engines/director/lingo/lingo-lex.l"
{ count(); return tWORD; }
YY_BREAK
case 66:
YY_RULE_SETUP
-#line 364 "engines/director/lingo/lingo-lex.l"
+#line 376 "engines/director/lingo/lingo-lex.l"
{ count(); return tNEQ; }
YY_BREAK
case 67:
YY_RULE_SETUP
-#line 365 "engines/director/lingo/lingo-lex.l"
+#line 377 "engines/director/lingo/lingo-lex.l"
{ count(); return tGE; }
YY_BREAK
case 68:
YY_RULE_SETUP
-#line 366 "engines/director/lingo/lingo-lex.l"
+#line 378 "engines/director/lingo/lingo-lex.l"
{ count(); return tLE; }
YY_BREAK
case 69:
YY_RULE_SETUP
-#line 367 "engines/director/lingo/lingo-lex.l"
+#line 379 "engines/director/lingo/lingo-lex.l"
{ count(); return tCONCAT; }
YY_BREAK
case 70:
YY_RULE_SETUP
-#line 368 "engines/director/lingo/lingo-lex.l"
+#line 380 "engines/director/lingo/lingo-lex.l"
{ count(); return tEQ; }
YY_BREAK
case 71:
YY_RULE_SETUP
-#line 370 "engines/director/lingo/lingo-lex.l"
+#line 382 "engines/director/lingo/lingo-lex.l"
{
count();
yylval.s = new Common::String(yytext);
@@ -1720,8 +1732,10 @@ YY_RULE_SETUP
int type = g_lingo->_builtins[yytext]->type;
if ((type == BLTIN || type == FBLTIN || type == RBLTIN) && g_lingo->_builtins[yytext]->parens == false) {
if (type == RBLTIN) {
- if (g_lingo->_builtins[yytext]->nargs != 1 || g_lingo->_builtins[yytext]->maxArgs != 1)
- error("Incorrectly set RBLTIN %s", yytext);
+ if (g_lingo->_builtins[yytext]->nargs != 1 || g_lingo->_builtins[yytext]->maxArgs != 1) {
+ warning("Incorrectly set RBLTIN %s", yytext);
+ return LEXERROR;
+ }
return RBLTIN;
}
@@ -1735,41 +1749,41 @@ YY_RULE_SETUP
YY_BREAK
case 72:
YY_RULE_SETUP
-#line 402 "engines/director/lingo/lingo-lex.l"
+#line 416 "engines/director/lingo/lingo-lex.l"
{ count(); yylval.f = atof(yytext); return FLOAT; }
YY_BREAK
case 73:
YY_RULE_SETUP
-#line 403 "engines/director/lingo/lingo-lex.l"
+#line 417 "engines/director/lingo/lingo-lex.l"
{ count(); yylval.i = strtol(yytext, NULL, 10); return INT; }
YY_BREAK
case 74:
YY_RULE_SETUP
-#line 404 "engines/director/lingo/lingo-lex.l"
+#line 418 "engines/director/lingo/lingo-lex.l"
{ count(); return *yytext; }
YY_BREAK
case 75:
/* rule 75 can match eol */
YY_RULE_SETUP
-#line 405 "engines/director/lingo/lingo-lex.l"
+#line 419 "engines/director/lingo/lingo-lex.l"
{ count(); return '\n'; }
YY_BREAK
case 76:
YY_RULE_SETUP
-#line 406 "engines/director/lingo/lingo-lex.l"
+#line 420 "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 407 "engines/director/lingo/lingo-lex.l"
+#line 421 "engines/director/lingo/lingo-lex.l"
{ count(); }
YY_BREAK
case 78:
YY_RULE_SETUP
-#line 409 "engines/director/lingo/lingo-lex.l"
+#line 423 "engines/director/lingo/lingo-lex.l"
ECHO;
YY_BREAK
-#line 1773 "engines/director/lingo/lingo-lex.cpp"
+#line 1787 "engines/director/lingo/lingo-lex.cpp"
case YY_STATE_EOF(INITIAL):
yyterminate();
@@ -2729,7 +2743,7 @@ void yyfree (void * ptr )
#define YYTABLES_NAME "yytables"
-#line 409 "engines/director/lingo/lingo-lex.l"
+#line 423 "engines/director/lingo/lingo-lex.l"
diff --git a/engines/director/lingo/lingo-lex.l b/engines/director/lingo/lingo-lex.l
index decba22..6b853aa 100644
--- a/engines/director/lingo/lingo-lex.l
+++ b/engines/director/lingo/lingo-lex.l
@@ -182,7 +182,8 @@ sound[ \t]+(close|fadeIn|fadeOut|playFile|stop) {
yylval.s = new Common::String(bltin);
return BLTIN;
} else {
- error("LEXER: Unhandled 'sound %s'", command.c_str());
+ warning("LEXER: Unhandled 'sound %s'", command.c_str());
+ return LEXERROR;
}
}
starts { count(); return tSTARTS; }
@@ -220,10 +221,12 @@ the[ \t]+number[ \t]+of[ \t]+[[:alpha:]]+[ \t](in|of)[ \t] {
yylval.s = new Common::String(Common::String::format("numberOf%s", field.c_str()));
- if (g_lingo->_builtins.contains(*yylval.s))
+ if (g_lingo->_builtins.contains(*yylval.s)) {
return FBLTIN;
- else
- error("LEXER: Unhandled chunk expression '%s'", yylval.s->c_str());
+ } else {
+ warning("LEXER: Unhandled chunk expression '%s'", yylval.s->c_str());
+ return LEXERROR;
+ }
}
the[ \t]+last[ \t][[:alpha:]]+[ \t](in|of)[ \t] {
count();
@@ -240,10 +243,12 @@ the[ \t]+last[ \t][[:alpha:]]+[ \t](in|of)[ \t] {
yylval.s = new Common::String(Common::String::format("last%sOf", field.c_str()));
- if (g_lingo->_builtins.contains(*yylval.s))
+ if (g_lingo->_builtins.contains(*yylval.s)) {
return FBLTIN;
- else
- error("LEXER: Unhandled chunk expression '%s'", yylval.s->c_str());
+ } else {
+ warning("LEXER: Unhandled chunk expression '%s'", yylval.s->c_str());
+ return LEXERROR;
+ }
}
the[ \t]+[[:alpha:]]+[ \t]+of[ \t]+{identifier} {
count();
@@ -268,11 +273,14 @@ the[ \t]+[[:alpha:]]+[ \t]+of[ \t]+{identifier} {
field = Common::String::format("%d%s", g_lingo->_theEntities[ptr]->entity, field.c_str());
if (!g_lingo->_theEntityFields.contains(field)) {
- error("LEXER: Unhandled the field %s of %s", field.c_str(), ptr);
+ warning("LEXER: Unhandled the field %s of %s", field.c_str(), ptr);
+ return LEXERROR;
}
- if (g_lingo->_theEntityFields[field]->entity != g_lingo->_theEntities[ptr]->entity)
- error("LEXER: Unsupported field '%s' for entity '%s'", field.c_str(), ptr);
+ if (g_lingo->_theEntityFields[field]->entity != g_lingo->_theEntities[ptr]->entity) {
+ warning("LEXER: Unsupported field '%s' for entity '%s'", field.c_str(), ptr);
+ return LEXERROR;
+ }
yylval.e[0] = g_lingo->_theEntities[ptr]->entity;
yylval.e[1] = g_lingo->_theEntityFields[field]->field;
@@ -290,7 +298,8 @@ the[ \t]+[[:alpha:]]+[ \t]+of[ \t]+{identifier} {
field = Common::String::format("%d%s", g_lingo->_objectEntityId, field.c_str());
if (!g_lingo->_theEntityFields.contains(field)) {
- error("LEXER: Unhandled the field '%s' for object", field.c_str());
+ warning("LEXER: Unhandled the field '%s' for object", field.c_str());
+ return LEXERROR;
}
yylval.objectfield.os = new Common::String(ptr);
@@ -319,11 +328,14 @@ the[ \t]+[[:alpha:]]+[ \t+](date|time) {
field = Common::String::format("%d%s", g_lingo->_theEntities[ptr]->entity, field.c_str());
if (!g_lingo->_theEntityFields.contains(field)) {
- error("LEXER: Unhandled the field %s", ptr);
+ warning("LEXER: Unhandled the field %s", ptr);
+ return LEXERROR;
}
- if (g_lingo->_theEntityFields[field]->entity != g_lingo->_theEntities[ptr]->entity)
- error("LEXER: Unsupported field '%s' for entity '%s'", field.c_str(), ptr);
+ if (g_lingo->_theEntityFields[field]->entity != g_lingo->_theEntities[ptr]->entity) {
+ warning("LEXER: Unsupported field '%s' for entity '%s'", field.c_str(), ptr);
+ return LEXERROR;
+ }
yylval.e[0] = g_lingo->_theEntities[ptr]->entity;
yylval.e[1] = g_lingo->_theEntityFields[field]->field;
@@ -387,8 +399,10 @@ word { count(); return tWORD; }
int type = g_lingo->_builtins[yytext]->type;
if ((type == BLTIN || type == FBLTIN || type == RBLTIN) && g_lingo->_builtins[yytext]->parens == false) {
if (type == RBLTIN) {
- if (g_lingo->_builtins[yytext]->nargs != 1 || g_lingo->_builtins[yytext]->maxArgs != 1)
- error("Incorrectly set RBLTIN %s", yytext);
+ if (g_lingo->_builtins[yytext]->nargs != 1 || g_lingo->_builtins[yytext]->maxArgs != 1) {
+ warning("Incorrectly set RBLTIN %s", yytext);
+ return LEXERROR;
+ }
return RBLTIN;
}
Commit: d004473e416d73c532bc701b6b2cc2604535012d
https://github.com/scummvm/scummvm/commit/d004473e416d73c532bc701b6b2cc2604535012d
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-01-19T15:47:48+01:00
Commit Message:
DIRECTOR: Fix script dumping for score scripts
Changed paths:
engines/director/score.cpp
diff --git a/engines/director/score.cpp b/engines/director/score.cpp
index 9f4bbc7..d588f79 100644
--- a/engines/director/score.cpp
+++ b/engines/director/score.cpp
@@ -1070,7 +1070,7 @@ void Score::dumpScript(const char *script, ScriptType type, uint16 id) {
switch (type) {
case kNoneScript:
default:
- error("Incorrect dumpScript() call");
+ error("Incorrect dumpScript() call (type %d)", type);
case kFrameScript:
typeName = "frame";
break;
@@ -1086,6 +1086,9 @@ void Score::dumpScript(const char *script, ScriptType type, uint16 id) {
case kGlobalScript:
typeName = "global";
break;
+ case kScoreScript:
+ typeName = "score";
+ break;
}
sprintf(buf, "./dumps/%s-%s-%d.txt", _macName.c_str(), typeName.c_str(), id);
More information about the Scummvm-git-logs
mailing list