[Scummvm-git-logs] scummvm master -> 600cdb81626b92871b01f3607a8280a428ec62d5
sev-
sev at scummvm.org
Mon Jun 1 10:46:37 UTC 2020
This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
9af83d970d DIRECTOR: LINGO: Eliminate 'end' token
872c10c430 DIRECTOR: LINGO: Renamed 'begin' to 'lbl' for better semantics
600cdb8162 DIRECTOR: LINGO: Simplified 'if' grammar
Commit: 9af83d970dce74753fc919dbae1cf9ee0d94e3f1
https://github.com/scummvm/scummvm/commit/9af83d970dce74753fc919dbae1cf9ee0d94e3f1
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-06-01T12:45:54+02:00
Commit Message:
DIRECTOR: LINGO: Eliminate 'end' token
Changed paths:
engines/director/lingo/lingo-gr.cpp
engines/director/lingo/lingo-gr.y
diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp
index af853b70f3..6d38c0ee22 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -431,40 +431,39 @@ enum yysymbol_kind_t
YYSYMBOL_varassign = 125, /* varassign */
YYSYMBOL_if = 126, /* if */
YYSYMBOL_begin = 127, /* begin */
- YYSYMBOL_end = 128, /* end */
- YYSYMBOL_stmtlist = 129, /* stmtlist */
- YYSYMBOL_simpleexpr = 130, /* simpleexpr */
- YYSYMBOL_expr = 131, /* expr */
- YYSYMBOL_chunkexpr = 132, /* chunkexpr */
- YYSYMBOL_reference = 133, /* reference */
- YYSYMBOL_proc = 134, /* proc */
- YYSYMBOL_135_10 = 135, /* $@10 */
- YYSYMBOL_136_11 = 136, /* $@11 */
- YYSYMBOL_137_12 = 137, /* $@12 */
- YYSYMBOL_globallist = 138, /* globallist */
- YYSYMBOL_propertylist = 139, /* propertylist */
- YYSYMBOL_instancelist = 140, /* instancelist */
- YYSYMBOL_gotofunc = 141, /* gotofunc */
- YYSYMBOL_gotomovie = 142, /* gotomovie */
- YYSYMBOL_playfunc = 143, /* playfunc */
- YYSYMBOL_144_13 = 144, /* $@13 */
- YYSYMBOL_defn = 145, /* defn */
- YYSYMBOL_146_14 = 146, /* $@14 */
- YYSYMBOL_147_15 = 147, /* $@15 */
- YYSYMBOL_148_16 = 148, /* $@16 */
- YYSYMBOL_on = 149, /* on */
- YYSYMBOL_150_17 = 150, /* $@17 */
- YYSYMBOL_argdef = 151, /* argdef */
- YYSYMBOL_endargdef = 152, /* endargdef */
- YYSYMBOL_argstore = 153, /* argstore */
- YYSYMBOL_macro = 154, /* macro */
- YYSYMBOL_arglist = 155, /* arglist */
- YYSYMBOL_nonemptyarglist = 156, /* nonemptyarglist */
- YYSYMBOL_list = 157, /* list */
- YYSYMBOL_valuelist = 158, /* valuelist */
- YYSYMBOL_linearlist = 159, /* linearlist */
- YYSYMBOL_proplist = 160, /* proplist */
- YYSYMBOL_proppair = 161 /* proppair */
+ YYSYMBOL_stmtlist = 128, /* stmtlist */
+ YYSYMBOL_simpleexpr = 129, /* simpleexpr */
+ YYSYMBOL_expr = 130, /* expr */
+ YYSYMBOL_chunkexpr = 131, /* chunkexpr */
+ YYSYMBOL_reference = 132, /* reference */
+ YYSYMBOL_proc = 133, /* proc */
+ YYSYMBOL_134_10 = 134, /* $@10 */
+ YYSYMBOL_135_11 = 135, /* $@11 */
+ YYSYMBOL_136_12 = 136, /* $@12 */
+ YYSYMBOL_globallist = 137, /* globallist */
+ YYSYMBOL_propertylist = 138, /* propertylist */
+ YYSYMBOL_instancelist = 139, /* instancelist */
+ YYSYMBOL_gotofunc = 140, /* gotofunc */
+ YYSYMBOL_gotomovie = 141, /* gotomovie */
+ YYSYMBOL_playfunc = 142, /* playfunc */
+ YYSYMBOL_143_13 = 143, /* $@13 */
+ YYSYMBOL_defn = 144, /* defn */
+ YYSYMBOL_145_14 = 145, /* $@14 */
+ YYSYMBOL_146_15 = 146, /* $@15 */
+ YYSYMBOL_147_16 = 147, /* $@16 */
+ YYSYMBOL_on = 148, /* on */
+ YYSYMBOL_149_17 = 149, /* $@17 */
+ YYSYMBOL_argdef = 150, /* argdef */
+ YYSYMBOL_endargdef = 151, /* endargdef */
+ YYSYMBOL_argstore = 152, /* argstore */
+ YYSYMBOL_macro = 153, /* macro */
+ YYSYMBOL_arglist = 154, /* arglist */
+ YYSYMBOL_nonemptyarglist = 155, /* nonemptyarglist */
+ YYSYMBOL_list = 156, /* list */
+ YYSYMBOL_valuelist = 157, /* valuelist */
+ YYSYMBOL_linearlist = 158, /* linearlist */
+ YYSYMBOL_proplist = 159, /* proplist */
+ YYSYMBOL_proppair = 160 /* proppair */
};
typedef enum yysymbol_kind_t yysymbol_kind_t;
@@ -779,9 +778,9 @@ union yyalloc
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 104
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 58
+#define YYNNTS 57
/* YYNRULES -- Number of rules. */
-#define YYNRULES 175
+#define YYNRULES 174
/* YYNSTATES -- Number of states. */
#define YYNSTATES 364
@@ -844,20 +843,20 @@ static const yytype_int16 yyrline[] =
199, 200, 201, 208, 215, 222, 229, 235, 242, 253,
260, 261, 262, 264, 265, 270, 282, 286, 289, 281,
313, 317, 320, 312, 346, 352, 358, 345, 385, 387,
- 390, 394, 399, 403, 410, 418, 419, 421, 427, 431,
- 435, 439, 442, 444, 446, 447, 448, 450, 453, 456,
- 460, 464, 468, 476, 477, 478, 489, 490, 491, 494,
- 497, 500, 503, 509, 514, 520, 521, 522, 523, 524,
- 525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
- 535, 536, 537, 538, 539, 540, 541, 542, 544, 545,
- 546, 547, 548, 549, 550, 551, 553, 556, 558, 559,
- 560, 561, 562, 563, 563, 564, 564, 565, 565, 566,
- 569, 572, 573, 575, 580, 586, 591, 597, 602, 615,
- 616, 617, 618, 622, 626, 631, 632, 634, 638, 642,
- 646, 646, 676, 676, 676, 682, 683, 683, 689, 697,
- 703, 703, 706, 707, 708, 710, 711, 712, 714, 716,
- 724, 725, 726, 728, 729, 731, 733, 734, 735, 736,
- 738, 739, 741, 742, 744, 748
+ 390, 395, 401, 405, 412, 420, 421, 423, 429, 433,
+ 437, 441, 444, 446, 447, 448, 450, 453, 456, 460,
+ 464, 468, 476, 477, 478, 489, 490, 491, 494, 497,
+ 500, 503, 509, 514, 520, 521, 522, 523, 524, 525,
+ 526, 527, 528, 529, 530, 531, 532, 533, 534, 535,
+ 536, 537, 538, 539, 540, 541, 542, 544, 545, 546,
+ 547, 548, 549, 550, 551, 553, 556, 558, 559, 560,
+ 561, 562, 563, 563, 564, 564, 565, 565, 566, 569,
+ 572, 573, 575, 580, 586, 591, 597, 602, 615, 616,
+ 617, 618, 622, 626, 631, 632, 634, 638, 642, 646,
+ 646, 676, 676, 676, 682, 683, 683, 689, 697, 703,
+ 703, 706, 707, 708, 710, 711, 712, 714, 716, 724,
+ 725, 726, 728, 729, 731, 733, 734, 735, 736, 738,
+ 739, 741, 742, 744, 748
};
#endif
@@ -892,7 +891,7 @@ yysymbol_name (yysymbol_kind_t yysymbol)
"$accept", "program", "programline", "asgn", "stmtoneliner", "stmt",
"$@1", "$@2", "$@3", "$@4", "$@5", "$@6", "$@7", "$@8", "$@9",
"tellstart", "ifstmt", "elseifstmtlist", "elseifstmt", "jumpifz", "jump",
- "varassign", "if", "begin", "end", "stmtlist", "simpleexpr", "expr",
+ "varassign", "if", "begin", "stmtlist", "simpleexpr", "expr",
"chunkexpr", "reference", "proc", "$@10", "$@11", "$@12", "globallist",
"propertylist", "instancelist", "gotofunc", "gotomovie", "playfunc",
"$@13", "defn", "$@14", "$@15", "$@16", "on", "$@17", "argdef",
@@ -927,7 +926,7 @@ static const yytype_int16 yytoknum[] =
#define yypact_value_is_default(Yyn) \
((Yyn) == YYPACT_NINF)
-#define YYTABLE_NINF (-167)
+#define YYTABLE_NINF (-166)
#define yytable_value_is_error(Yyn) \
0
@@ -956,22 +955,22 @@ static const yytype_int16 yypact[] =
224, -1, 101, 224, 224, 224, 224, 224, -295, -295,
50, 224, 224, 224, 224, 224, 224, 224, 224, 224,
224, -295, -295, -295, 51, -295, -295, 88, 88, -295,
- 224, -7, -295, 99, 117, 117, 117, 117, 2446, 2446,
- -295, -45, 117, 117, 117, 117, -45, -51, -51, -295,
+ 224, -7, -295, 99, 123, 123, 123, 123, 2446, 2446,
+ -295, -45, 123, 123, 123, 123, -45, -51, -51, -295,
-295, -295, -46, -295, 2433, -295, -295, 2433, -29, 127,
2433, -295, 112, -295, -295, 2433, 2433, 224, 224, 2433,
- 2433, 117, 224, 224, 131, 2433, 117, 2433, 2433, 2433,
+ 2433, 123, 224, 224, 131, 2433, 123, 2433, 2433, 2433,
132, 2433, 2185, 2433, 2218, 2433, 2251, 2433, 2284, 2433,
2433, 1710, -295, 135, -295, -295, 2433, 17, 36, -295,
-295, -295, 139, -295, -295, 120, 224, 2433, 378, -295,
- 2433, 117, 88, -295, 224, 224, 224, 224, -295, 1199,
+ 2433, 123, 88, -295, 224, 224, 224, 224, -295, 1199,
-295, 1113, -295, -295, -295, -22, 2433, -295, -295, -295,
1284, 119, 2433, 2433, 2433, 2433, -295, -295, -295, 86,
-295, 858, 943, -295, -295, -295, -295, 98, 224, -295,
- 64, 165, -295, -295, 138, 158, -295, 2433, -295, 224,
- -295, 109, -295, 96, 1028, -295, 224, 143, -295, 2433,
+ 64, 161, -295, -295, 136, 156, -295, 2433, -295, 224,
+ -295, 106, -295, 95, 1028, -295, 224, 143, -295, 2433,
-295, 173, -295, 2433, 224, 1369, 149, -295, 1455, -295,
- 2433, 121, -295, -295, -295, -295, -295, 1113, 1540, -295,
+ 2433, 117, -295, -295, -295, -295, -295, 1113, 1540, -295,
-295, -295, 1625, -295
};
@@ -980,54 +979,54 @@ static const yytype_int16 yypact[] =
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
- 0, 0, 57, 62, 0, 58, 0, 0, 0, 0,
- 0, 60, 59, 140, 146, 73, 74, 112, 113, 0,
- 129, 51, 142, 0, 0, 0, 0, 0, 0, 0,
- 0, 117, 0, 0, 0, 0, 0, 0, 0, 115,
- 150, 0, 0, 0, 0, 0, 2, 75, 23, 6,
- 24, 0, 66, 21, 107, 67, 22, 109, 110, 5,
- 52, 20, 64, 65, 61, 72, 61, 0, 0, 161,
- 120, 0, 69, 106, 0, 0, 163, 159, 0, 52,
- 111, 0, 0, 130, 0, 131, 132, 134, 0, 38,
- 0, 108, 0, 52, 0, 0, 0, 0, 0, 0,
- 145, 122, 137, 139, 0, 89, 0, 0, 0, 0,
- 0, 0, 0, 0, 94, 95, 0, 60, 59, 167,
- 170, 0, 168, 169, 172, 1, 0, 48, 0, 0,
+ 0, 0, 56, 61, 0, 57, 0, 0, 0, 0,
+ 0, 59, 58, 139, 145, 72, 73, 111, 112, 0,
+ 128, 51, 141, 0, 0, 0, 0, 0, 0, 0,
+ 0, 116, 0, 0, 0, 0, 0, 0, 0, 114,
+ 149, 0, 0, 0, 0, 0, 2, 74, 23, 6,
+ 24, 0, 65, 21, 106, 66, 22, 108, 109, 5,
+ 52, 20, 63, 64, 60, 71, 60, 0, 0, 160,
+ 119, 0, 68, 105, 0, 0, 162, 158, 0, 52,
+ 110, 0, 0, 129, 0, 130, 131, 133, 0, 38,
+ 0, 107, 0, 52, 0, 0, 0, 0, 0, 0,
+ 144, 121, 136, 138, 0, 88, 0, 0, 0, 0,
+ 0, 0, 0, 0, 93, 94, 0, 59, 58, 166,
+ 169, 0, 167, 168, 171, 1, 0, 48, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 152, 0, 0, 161, 0,
- 0, 0, 71, 0, 0, 141, 152, 123, 114, 136,
- 0, 133, 143, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 138, 127,
- 118, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 42, 42, 125, 116, 151, 63, 0, 0, 165,
- 0, 0, 3, 0, 85, 86, 83, 84, 87, 88,
- 80, 91, 92, 93, 82, 81, 90, 76, 77, 78,
- 79, 153, 0, 119, 162, 68, 70, 164, 0, 0,
- 135, 52, 0, 7, 8, 10, 11, 0, 0, 48,
- 15, 13, 0, 0, 0, 14, 12, 19, 39, 121,
- 0, 98, 0, 100, 0, 102, 0, 104, 0, 96,
- 97, 0, 54, 0, 175, 174, 171, 0, 0, 173,
- 54, 158, 0, 158, 124, 152, 0, 34, 26, 54,
- 16, 17, 0, 128, 0, 0, 0, 0, 53, 0,
- 126, 0, 54, 154, 54, 0, 9, 52, 50, 50,
- 0, 0, 99, 101, 103, 105, 41, 55, 56, 0,
- 45, 0, 0, 158, 35, 27, 31, 0, 0, 40,
- 52, 155, 54, 48, 0, 0, 25, 18, 52, 0,
- 46, 0, 156, 148, 0, 36, 0, 0, 54, 48,
- 43, 0, 54, 28, 0, 0, 0, 157, 0, 48,
- 32, 0, 54, 37, 54, 48, 44, 0, 0, 54,
+ 0, 0, 0, 0, 0, 151, 0, 0, 160, 0,
+ 0, 0, 70, 0, 0, 140, 151, 122, 113, 135,
+ 0, 132, 142, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 137, 126,
+ 117, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 42, 42, 124, 115, 150, 62, 0, 0, 164,
+ 0, 0, 3, 0, 84, 85, 82, 83, 86, 87,
+ 79, 90, 91, 92, 81, 80, 89, 75, 76, 77,
+ 78, 152, 0, 118, 161, 67, 69, 163, 0, 0,
+ 134, 52, 0, 7, 8, 10, 11, 0, 0, 48,
+ 15, 13, 0, 0, 0, 14, 12, 19, 39, 120,
+ 0, 97, 0, 99, 0, 101, 0, 103, 0, 95,
+ 96, 0, 53, 0, 174, 173, 170, 0, 0, 172,
+ 53, 157, 0, 157, 123, 151, 0, 34, 26, 53,
+ 16, 17, 0, 127, 0, 0, 0, 0, 52, 0,
+ 125, 0, 53, 153, 53, 0, 9, 52, 50, 50,
+ 0, 0, 98, 100, 102, 104, 41, 54, 55, 0,
+ 45, 0, 0, 157, 35, 27, 31, 0, 0, 40,
+ 52, 154, 53, 48, 0, 0, 25, 18, 52, 0,
+ 46, 0, 155, 147, 0, 36, 0, 0, 53, 48,
+ 43, 0, 53, 28, 0, 0, 0, 156, 0, 48,
+ 32, 0, 53, 37, 53, 48, 44, 0, 0, 53,
47, 29, 0, 33
};
/* YYPGOTONTERM-NUM. */
static const yytype_int16 yypgoto[] =
{
- -295, 79, -295, -295, -58, 15, -295, -295, -295, -295,
- -295, -295, -295, -295, -295, 14, -295, -295, -295, -151,
- -294, -86, -295, -76, -75, 1654, 3, -6, -295, 52,
- -295, -295, -295, -295, -295, -295, -295, -295, -20, -295,
- -295, -295, -295, -295, -295, -295, -295, -154, -295, -261,
- -295, 2, -295, -295, -295, -295, -295, 18
+ -295, 79, -295, -295, -55, 15, -295, -295, -295, -295,
+ -295, -295, -295, -295, -295, 18, -295, -295, -295, -151,
+ -294, -92, -295, -76, 1654, 3, -6, -295, 44, -295,
+ -295, -295, -295, -295, -295, -295, -295, -20, -295, -295,
+ -295, -295, -295, -295, -295, -295, -154, -295, -261, -295,
+ 2, -295, -295, -295, -295, -295, 8
};
/* YYDEFGOTONTERM-NUM. */
@@ -1035,10 +1034,10 @@ static const yytype_int16 yydefgoto[] =
{
-1, 45, 46, 47, 48, 308, 298, 324, 349, 299,
325, 355, 297, 323, 342, 261, 50, 320, 330, 203,
- 310, 315, 51, 145, 306, 289, 52, 53, 54, 55,
- 56, 81, 112, 104, 158, 194, 180, 57, 87, 58,
- 78, 59, 88, 231, 79, 60, 113, 222, 333, 292,
- 61, 153, 77, 62, 121, 122, 123, 124
+ 310, 315, 51, 145, 289, 52, 53, 54, 55, 56,
+ 81, 112, 104, 158, 194, 180, 57, 87, 58, 78,
+ 59, 88, 231, 79, 60, 113, 222, 333, 292, 61,
+ 153, 77, 62, 121, 122, 123, 124
};
/* YYTABLEYYPACT[STATE-NUM] -- What to do in state STATE-NUM. If
@@ -1064,10 +1063,10 @@ static const yytype_int16 yytable[] =
250, 263, 270, 274, 230, 275, 276, 282, 283, 235,
236, 290, 239, 240, 241, 293, 232, 245, 246, 247,
248, 249, 335, 318, 319, 251, 252, 253, 254, 255,
- 256, 257, 258, 259, 260, 326, 43, 134, 346, 44,
- 135, 332, 336, 337, 266, 340, 341, 344, 354, 347,
- 264, 265, 352, 288, 359, 202, 262, 356, 140, 141,
- 142, 143, 144, 316, 309, 0, 234, 0, 0, 269,
+ 256, 257, 258, 259, 260, 326, 43, 332, 346, 44,
+ 336, 337, 340, 134, 266, 341, 135, 344, 354, 347,
+ 264, 265, 352, 356, 359, 202, 288, 316, 234, 269,
+ 262, 0, 306, 309, 140, 141, 142, 143, 144, 0,
0, 314, 0, 0, 0, 1, 0, 0, 0, 0,
0, 277, 278, 0, 0, 0, 280, 281, 2, 0,
0, 3, 4, 0, 331, 5, 0, 7, 8, 9,
@@ -1077,17 +1076,17 @@ static const yytype_int16 yytable[] =
304, 305, 0, 0, 0, 301, 0, 0, 0, 0,
0, 0, 0, 32, 0, 0, 0, 0, 0, 0,
33, 34, 35, 36, 37, 0, 0, 0, 0, 0,
- -160, 1, 327, 0, 0, 0, 41, 42, 0, 0,
+ -159, 1, 327, 0, 0, 0, 41, 42, 0, 0,
0, 0, 43, 339, 2, 44, 0, 3, 4, 0,
- 343, 5, -160, 7, 8, 9, 66, 11, 350, 12,
- -160, -160, 0, 15, 16, -160, -160, -160, -160, -160,
- -160, -160, -160, 0, -160, 0, -160, -160, -160, 0,
- 67, -160, 26, -160, -160, -160, -160, 0, 0, 0,
- -160, -160, -160, -160, -160, -160, -160, -160, -160, 32,
- -160, -160, -160, -160, -160, -160, 33, 34, 35, 36,
- 37, -160, -160, -160, -160, 0, -160, -160, -160, -160,
- -160, -160, 41, 42, -160, -160, 1, -160, 71, -160,
- -160, 44, -160, -30, 0, 0, 0, 0, 0, 2,
+ 343, 5, -159, 7, 8, 9, 66, 11, 350, 12,
+ -159, -159, 0, 15, 16, -159, -159, -159, -159, -159,
+ -159, -159, -159, 0, -159, 0, -159, -159, -159, 0,
+ 67, -159, 26, -159, -159, -159, -159, 0, 0, 0,
+ -159, -159, -159, -159, -159, -159, -159, -159, -159, 32,
+ -159, -159, -159, -159, -159, -159, 33, 34, 35, 36,
+ 37, -159, -159, -159, -159, 0, -159, -159, -159, -159,
+ -159, -159, 41, 42, -159, -159, 1, -159, 71, -159,
+ -159, 44, -159, -30, 0, 0, 0, 0, 0, 2,
0, 0, 3, 4, 0, 0, 5, 0, 7, 8,
9, 66, 117, 0, 118, 0, 0, 0, 15, 16,
0, 128, 129, 130, 131, 132, 133, 0, 134, 0,
@@ -1095,43 +1094,43 @@ static const yytype_int16 yytable[] =
0, 0, 0, 0, 0, 0, 0, 138, 139, 140,
141, 142, 143, 144, 32, 0, 0, 0, 0, 0,
0, 33, 34, 35, 36, 37, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, -61, 1, 41, 42, 0,
- 0, 0, 0, 43, 0, 0, 44, -166, 119, 2,
- 0, 0, 3, 4, 0, 0, 5, -61, 7, 8,
- 9, 66, 11, 0, 12, -61, -61, 0, 15, 16,
- 0, -61, -61, -61, -61, -61, -61, -61, 0, 0,
- 0, 0, -61, 0, 0, 67, -61, 26, 0, 0,
- -61, 0, 0, 0, 0, -61, -61, -61, -61, -61,
- -61, -61, -61, -61, 32, -61, 0, 0, -61, -61,
- -61, 33, 34, 35, 36, 37, 0, 0, -61, -61,
- 0, -61, -61, -61, -61, -61, -61, 41, 42, -61,
- -61, 0, -61, 75, -160, 1, 44, 0, 0, 0,
+ 0, 0, 0, 0, 0, -60, 1, 41, 42, 0,
+ 0, 0, 0, 43, 0, 0, 44, -165, 119, 2,
+ 0, 0, 3, 4, 0, 0, 5, -60, 7, 8,
+ 9, 66, 11, 0, 12, -60, -60, 0, 15, 16,
+ 0, -60, -60, -60, -60, -60, -60, -60, 0, 0,
+ 0, 0, -60, 0, 0, 67, -60, 26, 0, 0,
+ -60, 0, 0, 0, 0, -60, -60, -60, -60, -60,
+ -60, -60, -60, -60, 32, -60, 0, 0, -60, -60,
+ -60, 33, 34, 35, 36, 37, 0, 0, -60, -60,
+ 0, -60, -60, -60, -60, -60, -60, 41, 42, -60,
+ -60, 0, -60, 75, -159, 1, 44, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2, 0,
- 0, 3, 4, 0, 0, 5, -160, 7, 8, 9,
- 66, 11, 0, 12, -160, -160, 0, 15, 16, 0,
- -160, -160, -160, -160, -160, -160, -160, 0, 0, 0,
- 0, -160, 0, 0, 67, -160, 26, 0, 0, -160,
- 0, 0, 0, 0, -160, -160, -160, 0, 0, 0,
+ 0, 3, 4, 0, 0, 5, -159, 7, 8, 9,
+ 66, 11, 0, 12, -159, -159, 0, 15, 16, 0,
+ -159, -159, -159, -159, -159, -159, -159, 0, 0, 0,
+ 0, -159, 0, 0, 67, -159, 26, 0, 0, -159,
+ 0, 0, 0, 0, -159, -159, -159, 0, 0, 0,
0, 0, 0, 32, 0, 0, 0, 0, 0, 0,
- 33, 34, 35, 36, 37, 0, 0, -160, -160, 0,
- -160, -160, -160, -160, 1, 0, 41, 42, 0, 0,
- 0, -160, 68, 0, -160, 44, 0, 2, 0, 0,
- 3, 4, 0, 0, 5, -160, 7, 8, 9, 66,
- 11, 0, 12, -160, -160, 0, 15, 16, 0, -160,
- -160, -160, -160, -160, -160, -160, 0, 0, 0, 0,
- -160, 0, 0, 67, -160, 26, 0, 0, -160, 0,
- 0, 0, 0, -160, -160, -160, 0, 0, 0, 0,
+ 33, 34, 35, 36, 37, 0, 0, -159, -159, 0,
+ -159, -159, -159, -159, 1, 0, 41, 42, 0, 0,
+ 0, -159, 68, 0, -159, 44, 0, 2, 0, 0,
+ 3, 4, 0, 0, 5, -159, 7, 8, 9, 66,
+ 11, 0, 12, -159, -159, 0, 15, 16, 0, -159,
+ -159, -159, -159, -159, -159, -159, 0, 0, 0, 0,
+ -159, 0, 0, 67, -159, 26, 0, 0, -159, 0,
+ 0, 0, 0, -159, -159, -159, 0, 0, 0, 0,
0, 0, 32, 0, 0, 0, 0, 0, 0, 33,
- 34, 35, 36, 37, 0, 0, -160, -160, 0, -160,
- -160, -160, -4, 1, 0, 41, 42, 0, 0, 0,
- -160, 43, 0, -160, 44, 0, 2, 0, 0, 3,
+ 34, 35, 36, 37, 0, 0, -159, -159, 0, -159,
+ -159, -159, -4, 1, 0, 41, 42, 0, 0, 0,
+ -159, 43, 0, -159, 44, 0, 2, 0, 0, 3,
4, 0, 0, 5, 6, 7, 8, 9, 10, 11,
0, 12, 0, 13, 14, 15, 16, 0, 0, 0,
17, 18, 19, 20, 21, 0, 0, 22, 0, 23,
0, 0, 24, 25, 26, 0, 0, 27, 0, 0,
0, 28, 29, 30, 31, 0, 0, 0, 0, 0,
0, 32, 0, 0, 0, 0, 0, 0, 33, 34,
- 35, 36, 37, 0, 0, 38, 39, 40, -149, 1,
+ 35, 36, 37, 0, 0, 38, 39, 40, -148, 1,
0, 0, 0, 0, 41, 42, 0, 0, 0, -4,
43, 0, 2, 44, 0, 3, 4, 0, 0, 5,
6, 7, 8, 9, 10, 11, 0, 12, 321, 13,
@@ -1140,7 +1139,7 @@ static const yytype_int16 yytable[] =
26, 0, 0, 27, 0, 0, 0, 0, 29, 30,
31, 0, 0, 0, 0, 0, 0, 32, 0, 0,
0, 0, 0, 0, 33, 34, 35, 36, 37, 0,
- 0, 38, 39, -147, 1, 0, 0, 0, 0, 0,
+ 0, 38, 39, -146, 1, 0, 0, 0, 0, 0,
41, 42, 0, 0, 0, 307, 43, 2, 0, 44,
3, 4, 0, 0, 5, 6, 7, 8, 9, 10,
11, 0, 12, 0, 13, 0, 15, 16, 0, 0,
@@ -1148,7 +1147,7 @@ static const yytype_int16 yytable[] =
23, 0, 0, 24, 25, 26, 0, 0, 27, 0,
0, 0, 0, 29, 30, 31, 0, 0, 0, 0,
0, 0, 32, 0, 0, 0, 0, 0, 0, 33,
- 34, 35, 36, 37, 0, 0, 38, 39, -144, 1,
+ 34, 35, 36, 37, 0, 0, 38, 39, -143, 1,
0, 0, 0, 0, 0, 41, 42, 0, 0, 0,
307, 43, 2, 0, 44, 3, 4, 0, 0, 5,
6, 7, 8, 9, 10, 11, 0, 12, 0, 13,
@@ -1174,7 +1173,7 @@ static const yytype_int16 yytable[] =
25, 26, 0, 0, 27, 0, 0, 0, 0, 29,
30, 31, 0, 0, 0, 0, 0, 0, 32, 0,
0, 0, 0, 0, 0, 33, 34, 35, 36, 37,
- 0, 0, 38, 39, 0, 1, 0, -53, 0, 0,
+ 0, 0, 38, 39, 0, 1, 0, -52, 0, 0,
0, 41, 42, 0, 0, 0, 307, 43, 2, 0,
44, 3, 4, 0, 0, 5, 6, 7, 8, 9,
10, 11, 0, 12, 0, 13, 0, 15, 16, 0,
@@ -1247,7 +1246,7 @@ static const yytype_int16 yytable[] =
32, 15, 16, 0, 0, 0, 0, 33, 34, 35,
36, 37, 345, 0, 0, 0, 348, 0, 67, 0,
26, 0, 0, 41, 42, 0, 357, 0, 358, 43,
- -160, -160, 44, 362, 0, 0, 0, 32, 0, 0,
+ -159, -159, 44, 362, 0, 0, 0, 32, 0, 0,
0, 0, 0, 0, 33, 34, 35, 36, 37, 0,
0, 164, 0, 0, 0, 0, 0, 0, 0, 0,
41, 42, 0, 0, 0, 0, 43, 0, 0, 44,
@@ -1323,10 +1322,10 @@ static const yytype_int16 yycheck[] =
100, 100, 53, 26, 160, 231, 44, 26, 26, 165,
166, 26, 168, 169, 170, 26, 163, 173, 174, 175,
176, 177, 323, 54, 88, 181, 182, 183, 184, 185,
- 186, 187, 188, 189, 190, 87, 98, 70, 339, 101,
- 73, 26, 54, 35, 200, 86, 100, 54, 349, 26,
- 197, 198, 53, 261, 355, 126, 192, 86, 91, 92,
- 93, 94, 95, 299, 289, -1, 164, -1, -1, 201,
+ 186, 187, 188, 189, 190, 87, 98, 26, 339, 101,
+ 54, 35, 86, 70, 200, 100, 73, 54, 349, 26,
+ 197, 198, 53, 86, 355, 126, 261, 299, 164, 201,
+ 192, -1, 288, 289, 91, 92, 93, 94, 95, -1,
-1, 297, -1, -1, -1, 1, -1, -1, -1, -1,
-1, 237, 238, -1, -1, -1, 242, 243, 14, -1,
-1, 17, 18, -1, 320, 21, -1, 23, 24, 25,
@@ -1571,38 +1570,38 @@ static const yytype_uint8 yystos[] =
41, 42, 45, 47, 50, 51, 52, 55, 59, 60,
61, 62, 69, 76, 77, 78, 79, 80, 83, 84,
85, 92, 93, 98, 101, 105, 106, 107, 108, 109,
- 120, 126, 130, 131, 132, 133, 134, 141, 143, 145,
- 149, 154, 157, 97, 26, 130, 26, 50, 98, 131,
- 155, 98, 155, 130, 48, 98, 131, 156, 144, 148,
- 51, 135, 46, 47, 48, 49, 131, 142, 146, 51,
- 20, 131, 56, 57, 17, 18, 19, 26, 33, 26,
- 26, 131, 131, 142, 137, 131, 131, 131, 131, 131,
- 131, 131, 136, 150, 131, 131, 131, 27, 29, 103,
- 131, 158, 159, 160, 161, 0, 97, 131, 63, 64,
+ 120, 126, 129, 130, 131, 132, 133, 140, 142, 144,
+ 148, 153, 156, 97, 26, 129, 26, 50, 98, 130,
+ 154, 98, 154, 129, 48, 98, 130, 155, 143, 147,
+ 51, 134, 46, 47, 48, 49, 130, 141, 145, 51,
+ 20, 130, 56, 57, 17, 18, 19, 26, 33, 26,
+ 26, 130, 130, 141, 136, 130, 130, 130, 130, 130,
+ 130, 130, 135, 149, 130, 130, 130, 27, 29, 103,
+ 130, 157, 158, 159, 160, 0, 97, 130, 63, 64,
65, 66, 67, 68, 70, 73, 74, 75, 89, 90,
- 91, 92, 93, 94, 95, 127, 98, 131, 131, 155,
- 100, 155, 130, 155, 100, 155, 127, 26, 138, 131,
- 46, 142, 26, 26, 44, 71, 72, 26, 127, 54,
- 65, 130, 130, 54, 65, 54, 53, 56, 142, 26,
- 140, 48, 54, 48, 54, 48, 54, 48, 54, 81,
- 82, 54, 97, 26, 139, 26, 99, 103, 103, 102,
- 100, 100, 105, 123, 131, 131, 131, 131, 131, 131,
- 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
- 131, 26, 151, 99, 131, 99, 99, 131, 151, 100,
- 131, 147, 130, 26, 133, 131, 131, 43, 65, 131,
- 131, 131, 54, 65, 48, 131, 131, 131, 131, 131,
- 100, 131, 131, 131, 131, 131, 131, 131, 131, 131,
- 131, 119, 119, 100, 130, 130, 131, 27, 29, 161,
- 53, 97, 100, 97, 26, 127, 44, 131, 131, 123,
- 131, 131, 26, 26, 48, 48, 48, 48, 108, 129,
- 26, 129, 153, 26, 153, 151, 131, 116, 110, 113,
- 129, 130, 131, 131, 131, 131, 128, 97, 109, 128,
- 124, 129, 129, 97, 127, 125, 125, 124, 54, 88,
- 121, 30, 153, 117, 111, 114, 87, 131, 36, 37,
- 122, 127, 26, 152, 129, 123, 54, 35, 127, 131,
- 86, 100, 118, 131, 54, 129, 123, 26, 129, 112,
- 131, 127, 53, 87, 123, 115, 86, 129, 129, 123,
- 124, 87, 129, 87
+ 91, 92, 93, 94, 95, 127, 98, 130, 130, 154,
+ 100, 154, 129, 154, 100, 154, 127, 26, 137, 130,
+ 46, 141, 26, 26, 44, 71, 72, 26, 127, 54,
+ 65, 129, 129, 54, 65, 54, 53, 56, 141, 26,
+ 139, 48, 54, 48, 54, 48, 54, 48, 54, 81,
+ 82, 54, 97, 26, 138, 26, 99, 103, 103, 102,
+ 100, 100, 105, 123, 130, 130, 130, 130, 130, 130,
+ 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
+ 130, 26, 150, 99, 130, 99, 99, 130, 150, 100,
+ 130, 146, 129, 26, 132, 130, 130, 43, 65, 130,
+ 130, 130, 54, 65, 48, 130, 130, 130, 130, 130,
+ 100, 130, 130, 130, 130, 130, 130, 130, 130, 130,
+ 130, 119, 119, 100, 129, 129, 130, 27, 29, 160,
+ 53, 97, 100, 97, 26, 127, 44, 130, 130, 123,
+ 130, 130, 26, 26, 48, 48, 48, 48, 108, 128,
+ 26, 128, 152, 26, 152, 150, 130, 116, 110, 113,
+ 128, 129, 130, 130, 130, 130, 127, 97, 109, 127,
+ 124, 128, 128, 97, 127, 125, 125, 124, 54, 88,
+ 121, 30, 152, 117, 111, 114, 87, 130, 36, 37,
+ 122, 127, 26, 151, 128, 123, 54, 35, 127, 130,
+ 86, 100, 118, 130, 54, 128, 123, 26, 128, 112,
+ 130, 127, 53, 87, 123, 115, 86, 128, 128, 123,
+ 124, 87, 128, 87
};
/* YYR1YYN -- Symbol number of symbol that rule YYN derives. */
@@ -1613,19 +1612,19 @@ static const yytype_uint8 yyr1[] =
108, 108, 108, 109, 109, 109, 110, 111, 112, 109,
113, 114, 115, 109, 116, 117, 118, 109, 109, 109,
109, 109, 119, 120, 120, 121, 121, 122, 123, 124,
- 125, 126, 127, 128, 129, 129, 129, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 131, 131, 131, 131,
- 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
- 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
- 131, 131, 131, 131, 131, 131, 131, 131, 132, 132,
- 132, 132, 132, 132, 132, 132, 133, 133, 134, 134,
- 134, 134, 134, 135, 134, 136, 134, 137, 134, 134,
- 134, 134, 134, 138, 138, 139, 139, 140, 140, 141,
- 141, 141, 141, 141, 141, 142, 142, 143, 143, 143,
- 144, 143, 146, 147, 145, 145, 148, 145, 145, 145,
- 150, 149, 151, 151, 151, 152, 152, 152, 153, 154,
- 155, 155, 155, 156, 156, 157, 158, 158, 158, 158,
- 159, 159, 160, 160, 161, 161
+ 125, 126, 127, 128, 128, 128, 129, 129, 129, 129,
+ 129, 129, 129, 129, 129, 130, 130, 130, 130, 130,
+ 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
+ 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
+ 130, 130, 130, 130, 130, 130, 130, 131, 131, 131,
+ 131, 131, 131, 131, 131, 132, 132, 133, 133, 133,
+ 133, 133, 134, 133, 135, 133, 136, 133, 133, 133,
+ 133, 133, 137, 137, 138, 138, 139, 139, 140, 140,
+ 140, 140, 140, 140, 141, 141, 142, 142, 142, 143,
+ 142, 145, 146, 144, 144, 147, 144, 144, 144, 149,
+ 148, 150, 150, 150, 151, 151, 151, 152, 153, 154,
+ 154, 154, 155, 155, 156, 157, 157, 157, 157, 158,
+ 158, 159, 159, 160, 160
};
/* YYR2YYN -- Number of symbols on the right hand side of rule YYN. */
@@ -1636,19 +1635,19 @@ static const yytype_int8 yyr2[] =
1, 1, 1, 1, 1, 8, 0, 0, 0, 14,
0, 0, 0, 15, 0, 0, 0, 12, 2, 4,
7, 6, 0, 9, 12, 0, 2, 6, 0, 0,
- 0, 1, 0, 0, 0, 2, 2, 1, 1, 1,
- 1, 1, 1, 3, 1, 2, 1, 1, 4, 2,
- 4, 3, 2, 1, 1, 1, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 2,
- 3, 3, 3, 3, 2, 2, 4, 4, 4, 6,
- 4, 6, 4, 6, 4, 6, 2, 1, 2, 1,
- 1, 2, 1, 0, 3, 0, 3, 0, 3, 4,
- 2, 4, 2, 1, 3, 1, 3, 1, 3, 1,
- 2, 2, 2, 3, 2, 3, 2, 2, 3, 2,
- 0, 3, 0, 0, 9, 2, 0, 7, 8, 6,
- 0, 3, 0, 1, 3, 0, 1, 3, 0, 2,
- 0, 1, 3, 1, 3, 3, 0, 1, 1, 1,
- 1, 3, 1, 3, 3, 3
+ 0, 1, 0, 0, 2, 2, 1, 1, 1, 1,
+ 1, 1, 3, 1, 2, 1, 1, 4, 2, 4,
+ 3, 2, 1, 1, 1, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 3, 2, 3,
+ 3, 3, 3, 2, 2, 4, 4, 4, 6, 4,
+ 6, 4, 6, 4, 6, 2, 1, 2, 1, 1,
+ 2, 1, 0, 3, 0, 3, 0, 3, 4, 2,
+ 4, 2, 1, 3, 1, 3, 1, 3, 1, 2,
+ 2, 2, 3, 2, 3, 2, 2, 3, 2, 0,
+ 3, 0, 0, 9, 2, 0, 7, 8, 6, 0,
+ 3, 0, 1, 3, 0, 1, 3, 0, 2, 0,
+ 1, 3, 1, 3, 3, 0, 1, 1, 1, 1,
+ 3, 1, 3, 3, 3
};
@@ -1922,79 +1921,79 @@ yydestruct (const char *yymsg,
case 22: /* BLTIN */
#line 165 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1926 "engines/director/lingo/lingo-gr.cpp"
+#line 1925 "engines/director/lingo/lingo-gr.cpp"
break;
case 23: /* FBLTIN */
#line 165 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1932 "engines/director/lingo/lingo-gr.cpp"
+#line 1931 "engines/director/lingo/lingo-gr.cpp"
break;
case 24: /* RBLTIN */
#line 165 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1938 "engines/director/lingo/lingo-gr.cpp"
+#line 1937 "engines/director/lingo/lingo-gr.cpp"
break;
case 25: /* THEFBLTIN */
#line 165 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1944 "engines/director/lingo/lingo-gr.cpp"
+#line 1943 "engines/director/lingo/lingo-gr.cpp"
break;
case 26: /* ID */
#line 165 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1950 "engines/director/lingo/lingo-gr.cpp"
+#line 1949 "engines/director/lingo/lingo-gr.cpp"
break;
case 27: /* STRING */
#line 165 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1956 "engines/director/lingo/lingo-gr.cpp"
+#line 1955 "engines/director/lingo/lingo-gr.cpp"
break;
case 28: /* HANDLER */
#line 165 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1962 "engines/director/lingo/lingo-gr.cpp"
+#line 1961 "engines/director/lingo/lingo-gr.cpp"
break;
case 29: /* SYMBOL */
#line 165 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1968 "engines/director/lingo/lingo-gr.cpp"
+#line 1967 "engines/director/lingo/lingo-gr.cpp"
break;
case 30: /* ENDCLAUSE */
#line 165 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1974 "engines/director/lingo/lingo-gr.cpp"
+#line 1973 "engines/director/lingo/lingo-gr.cpp"
break;
case 31: /* tPLAYACCEL */
#line 165 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1980 "engines/director/lingo/lingo-gr.cpp"
+#line 1979 "engines/director/lingo/lingo-gr.cpp"
break;
case 32: /* tMETHOD */
#line 165 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1986 "engines/director/lingo/lingo-gr.cpp"
+#line 1985 "engines/director/lingo/lingo-gr.cpp"
break;
case 33: /* THEOBJECTFIELD */
#line 166 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).objectfield).os; }
-#line 1992 "engines/director/lingo/lingo-gr.cpp"
+#line 1991 "engines/director/lingo/lingo-gr.cpp"
break;
- case 149: /* on */
+ case 148: /* on */
#line 165 "engines/director/lingo/lingo-gr.y"
{ delete ((*yyvaluep).s); }
-#line 1998 "engines/director/lingo/lingo-gr.cpp"
+#line 1997 "engines/director/lingo/lingo-gr.cpp"
break;
default:
@@ -2281,7 +2280,7 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[-2].code);
delete (yyvsp[0].s); }
-#line 2285 "engines/director/lingo/lingo-gr.cpp"
+#line 2284 "engines/director/lingo/lingo-gr.cpp"
break;
case 8:
@@ -2289,7 +2288,7 @@ yyreduce:
{
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[-2].code); }
-#line 2293 "engines/director/lingo/lingo-gr.cpp"
+#line 2292 "engines/director/lingo/lingo-gr.cpp"
break;
case 9:
@@ -2305,19 +2304,19 @@ yyreduce:
g_lingo->codeInt((yyvsp[-4].e)[1]);
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[0].code); }
-#line 2309 "engines/director/lingo/lingo-gr.cpp"
+#line 2308 "engines/director/lingo/lingo-gr.cpp"
break;
case 10:
#line 199 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_after); }
-#line 2315 "engines/director/lingo/lingo-gr.cpp"
+#line 2314 "engines/director/lingo/lingo-gr.cpp"
break;
case 11:
#line 200 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_before); }
-#line 2321 "engines/director/lingo/lingo-gr.cpp"
+#line 2320 "engines/director/lingo/lingo-gr.cpp"
break;
case 12:
@@ -2329,7 +2328,7 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[0].code);
delete (yyvsp[-2].s); }
-#line 2333 "engines/director/lingo/lingo-gr.cpp"
+#line 2332 "engines/director/lingo/lingo-gr.cpp"
break;
case 13:
@@ -2341,7 +2340,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-2].e)[0]);
g_lingo->codeInt((yyvsp[-2].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2345 "engines/director/lingo/lingo-gr.cpp"
+#line 2344 "engines/director/lingo/lingo-gr.cpp"
break;
case 14:
@@ -2353,7 +2352,7 @@ yyreduce:
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[0].code);
delete (yyvsp[-2].s); }
-#line 2357 "engines/director/lingo/lingo-gr.cpp"
+#line 2356 "engines/director/lingo/lingo-gr.cpp"
break;
case 15:
@@ -2365,7 +2364,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-2].e)[0]);
g_lingo->codeInt((yyvsp[-2].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2369 "engines/director/lingo/lingo-gr.cpp"
+#line 2368 "engines/director/lingo/lingo-gr.cpp"
break;
case 16:
@@ -2376,7 +2375,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-3].e)[0]);
g_lingo->codeInt((yyvsp[-3].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2380 "engines/director/lingo/lingo-gr.cpp"
+#line 2379 "engines/director/lingo/lingo-gr.cpp"
break;
case 17:
@@ -2387,7 +2386,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-3].e)[0]);
g_lingo->codeInt((yyvsp[-3].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2391 "engines/director/lingo/lingo-gr.cpp"
+#line 2390 "engines/director/lingo/lingo-gr.cpp"
break;
case 18:
@@ -2403,7 +2402,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-6].e)[0]);
g_lingo->codeInt((yyvsp[-6].e)[1]);
(yyval.code) = (yyvsp[0].code); }
-#line 2407 "engines/director/lingo/lingo-gr.cpp"
+#line 2406 "engines/director/lingo/lingo-gr.cpp"
break;
case 19:
@@ -2414,7 +2413,7 @@ yyreduce:
g_lingo->codeInt((yyvsp[-2].objectfield).oe);
delete (yyvsp[-2].objectfield).os;
(yyval.code) = (yyvsp[0].code); }
-#line 2418 "engines/director/lingo/lingo-gr.cpp"
+#line 2417 "engines/director/lingo/lingo-gr.cpp"
break;
case 25:
@@ -2425,7 +2424,7 @@ yyreduce:
WRITE_UINT32(&end, (yyvsp[-1].code) - (yyvsp[-3].code) + 2);
(*g_lingo->_currentScript)[(yyvsp[-3].code)] = end; /* end, if cond fails */
(*g_lingo->_currentScript)[(yyvsp[-1].code)] = start; }
-#line 2429 "engines/director/lingo/lingo-gr.cpp"
+#line 2428 "engines/director/lingo/lingo-gr.cpp"
break;
case 26:
@@ -2433,20 +2432,20 @@ yyreduce:
{ g_lingo->code1(LC::c_varpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
mVar((yyvsp[-2].s), kVarLocal); }
-#line 2437 "engines/director/lingo/lingo-gr.cpp"
+#line 2436 "engines/director/lingo/lingo-gr.cpp"
break;
case 27:
#line 286 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_eval);
g_lingo->codeString((yyvsp[-4].s)->c_str()); }
-#line 2444 "engines/director/lingo/lingo-gr.cpp"
+#line 2443 "engines/director/lingo/lingo-gr.cpp"
break;
case 28:
#line 289 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_le); }
-#line 2450 "engines/director/lingo/lingo-gr.cpp"
+#line 2449 "engines/director/lingo/lingo-gr.cpp"
break;
case 29:
@@ -2461,7 +2460,7 @@ yyreduce:
g_lingo->code1(LC::c_varpush);
g_lingo->codeString((yyvsp[-11].s)->c_str());
g_lingo->code1(LC::c_assign);
- g_lingo->code2(LC::c_jump, STOP);
+ g_lingo->code2(LC::c_jump, 0);
int pos = g_lingo->_currentScript->size() - 1;
inst loop = 0, end = 0;
@@ -2469,7 +2468,7 @@ yyreduce:
WRITE_UINT32(&end, pos - (yyvsp[-2].code) + 2);
(*g_lingo->_currentScript)[pos] = loop; /* final count value */
(*g_lingo->_currentScript)[(yyvsp[-2].code)] = end; }
-#line 2473 "engines/director/lingo/lingo-gr.cpp"
+#line 2472 "engines/director/lingo/lingo-gr.cpp"
break;
case 30:
@@ -2477,20 +2476,20 @@ yyreduce:
{ g_lingo->code1(LC::c_varpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
mVar((yyvsp[-2].s), kVarLocal); }
-#line 2481 "engines/director/lingo/lingo-gr.cpp"
+#line 2480 "engines/director/lingo/lingo-gr.cpp"
break;
case 31:
#line 317 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_eval);
g_lingo->codeString((yyvsp[-4].s)->c_str()); }
-#line 2488 "engines/director/lingo/lingo-gr.cpp"
+#line 2487 "engines/director/lingo/lingo-gr.cpp"
break;
case 32:
#line 320 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ge); }
-#line 2494 "engines/director/lingo/lingo-gr.cpp"
+#line 2493 "engines/director/lingo/lingo-gr.cpp"
break;
case 33:
@@ -2505,7 +2504,7 @@ yyreduce:
g_lingo->code1(LC::c_varpush);
g_lingo->codeString((yyvsp[-12].s)->c_str());
g_lingo->code1(LC::c_assign);
- g_lingo->code2(LC::c_jump, STOP);
+ g_lingo->code2(LC::c_jump, 0);
int pos = g_lingo->_currentScript->size() - 1;
inst loop = 0, end = 0;
@@ -2513,7 +2512,7 @@ yyreduce:
WRITE_UINT32(&end, pos - (yyvsp[-2].code) + 2);
(*g_lingo->_currentScript)[pos] = loop; /* final count value */
(*g_lingo->_currentScript)[(yyvsp[-2].code)] = end; }
-#line 2517 "engines/director/lingo/lingo-gr.cpp"
+#line 2516 "engines/director/lingo/lingo-gr.cpp"
break;
case 34:
@@ -2523,7 +2522,7 @@ yyreduce:
g_lingo->codeFunc(new Common::String("count"), 1);
g_lingo->code1(LC::c_intpush); // start counter
g_lingo->codeInt(1); }
-#line 2527 "engines/director/lingo/lingo-gr.cpp"
+#line 2526 "engines/director/lingo/lingo-gr.cpp"
break;
case 35:
@@ -2533,7 +2532,7 @@ yyreduce:
g_lingo->code1(LC::c_stackpeek); // get array size
g_lingo->codeInt(2);
g_lingo->code1(LC::c_le); }
-#line 2537 "engines/director/lingo/lingo-gr.cpp"
+#line 2536 "engines/director/lingo/lingo-gr.cpp"
break;
case 36:
@@ -2547,7 +2546,7 @@ yyreduce:
g_lingo->codeString((yyvsp[-6].s)->c_str());
mVar((yyvsp[-6].s), kVarLocal);
g_lingo->code1(LC::c_assign); }
-#line 2551 "engines/director/lingo/lingo-gr.cpp"
+#line 2550 "engines/director/lingo/lingo-gr.cpp"
break;
case 37:
@@ -2558,7 +2557,7 @@ yyreduce:
g_lingo->codeInt(1);
g_lingo->code1(LC::c_add); // Increment counter
- int jump = g_lingo->code2(LC::c_jump, STOP);
+ int jump = g_lingo->code2(LC::c_jump, 0);
int end2 = g_lingo->code1(LC::c_stackdrop); // remove list, size, counter
g_lingo->codeInt(3);
@@ -2569,14 +2568,14 @@ yyreduce:
(*g_lingo->_currentScript)[jump + 1] = loop; /* final count value */
(*g_lingo->_currentScript)[(yyvsp[-3].code)] = end; }
-#line 2573 "engines/director/lingo/lingo-gr.cpp"
+#line 2572 "engines/director/lingo/lingo-gr.cpp"
break;
case 38:
#line 385 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_nextRepeat); }
-#line 2580 "engines/director/lingo/lingo-gr.cpp"
+#line 2579 "engines/director/lingo/lingo-gr.cpp"
break;
case 39:
@@ -2584,37 +2583,39 @@ yyreduce:
{
g_lingo->code1(LC::c_whencode);
g_lingo->codeString((yyvsp[-2].s)->c_str()); }
-#line 2588 "engines/director/lingo/lingo-gr.cpp"
+#line 2587 "engines/director/lingo/lingo-gr.cpp"
break;
case 40:
#line 390 "engines/director/lingo/lingo-gr.y"
- {
+ {
inst end;
- WRITE_UINT32(&end, (yyvsp[-1].code) - (yyvsp[-3].code));
+ g_lingo->code1(STOP);
+ WRITE_UINT32(&end, (yyvsp[-1].code) - (yyvsp[-3].code) + 1);
(*g_lingo->_currentScript)[(yyvsp[-3].code) + 1] = end; }
#line 2597 "engines/director/lingo/lingo-gr.cpp"
break;
case 41:
-#line 394 "engines/director/lingo/lingo-gr.y"
- {
+#line 395 "engines/director/lingo/lingo-gr.y"
+ {
inst end;
- WRITE_UINT32(&end, (yyvsp[0].code) - (yyvsp[-2].code));
+ g_lingo->code1(STOP);
+ WRITE_UINT32(&end, (yyvsp[0].code) - (yyvsp[-2].code) + 1);
(*g_lingo->_currentScript)[(yyvsp[-2].code) + 1] = end; }
-#line 2606 "engines/director/lingo/lingo-gr.cpp"
+#line 2607 "engines/director/lingo/lingo-gr.cpp"
break;
case 42:
-#line 399 "engines/director/lingo/lingo-gr.y"
+#line 401 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_tellcode);
g_lingo->code1(STOP); }
-#line 2614 "engines/director/lingo/lingo-gr.cpp"
+#line 2615 "engines/director/lingo/lingo-gr.cpp"
break;
case 43:
-#line 403 "engines/director/lingo/lingo-gr.y"
+#line 405 "engines/director/lingo/lingo-gr.y"
{
inst else1 = 0, end3 = 0;
WRITE_UINT32(&else1, (yyvsp[-3].code) + 1 - (yyvsp[-6].code) + 1);
@@ -2622,11 +2623,11 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-6].code)] = else1; /* elsepart */
(*g_lingo->_currentScript)[(yyvsp[-3].code)] = end3; /* end, if cond fails */
g_lingo->processIf((yyvsp[-3].code), (yyvsp[-1].code)); }
-#line 2626 "engines/director/lingo/lingo-gr.cpp"
+#line 2627 "engines/director/lingo/lingo-gr.cpp"
break;
case 44:
-#line 410 "engines/director/lingo/lingo-gr.y"
+#line 412 "engines/director/lingo/lingo-gr.y"
{
inst else1 = 0, end = 0;
WRITE_UINT32(&else1, (yyvsp[-6].code) + 1 - (yyvsp[-9].code) + 1);
@@ -2634,112 +2635,106 @@ yyreduce:
(*g_lingo->_currentScript)[(yyvsp[-9].code)] = else1; /* elsepart */
(*g_lingo->_currentScript)[(yyvsp[-6].code)] = end; /* end, if cond fails */
g_lingo->processIf((yyvsp[-6].code), (yyvsp[-1].code)); }
-#line 2638 "engines/director/lingo/lingo-gr.cpp"
+#line 2639 "engines/director/lingo/lingo-gr.cpp"
break;
case 47:
-#line 421 "engines/director/lingo/lingo-gr.y"
+#line 423 "engines/director/lingo/lingo-gr.y"
{
inst else1 = 0;
WRITE_UINT32(&else1, (yyvsp[0].code) + 1 - (yyvsp[-3].code) + 1);
(*g_lingo->_currentScript)[(yyvsp[-3].code)] = else1; /* end, if cond fails */
g_lingo->codeLabel((yyvsp[0].code)); }
-#line 2648 "engines/director/lingo/lingo-gr.cpp"
+#line 2649 "engines/director/lingo/lingo-gr.cpp"
break;
case 48:
-#line 427 "engines/director/lingo/lingo-gr.y"
+#line 429 "engines/director/lingo/lingo-gr.y"
{
- g_lingo->code2(LC::c_jumpifz, STOP);
+ g_lingo->code2(LC::c_jumpifz, 0);
(yyval.code) = g_lingo->_currentScript->size() - 1; }
-#line 2656 "engines/director/lingo/lingo-gr.cpp"
+#line 2657 "engines/director/lingo/lingo-gr.cpp"
break;
case 49:
-#line 431 "engines/director/lingo/lingo-gr.y"
+#line 433 "engines/director/lingo/lingo-gr.y"
{
- g_lingo->code2(LC::c_jump, STOP);
+ g_lingo->code2(LC::c_jump, 0);
(yyval.code) = g_lingo->_currentScript->size() - 1; }
-#line 2664 "engines/director/lingo/lingo-gr.cpp"
+#line 2665 "engines/director/lingo/lingo-gr.cpp"
break;
case 50:
-#line 435 "engines/director/lingo/lingo-gr.y"
+#line 437 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_assign);
(yyval.code) = g_lingo->_currentScript->size() - 1; }
-#line 2672 "engines/director/lingo/lingo-gr.cpp"
+#line 2673 "engines/director/lingo/lingo-gr.cpp"
break;
case 51:
-#line 439 "engines/director/lingo/lingo-gr.y"
+#line 441 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeLabel(0); }
-#line 2679 "engines/director/lingo/lingo-gr.cpp"
+#line 2680 "engines/director/lingo/lingo-gr.cpp"
break;
case 52:
-#line 442 "engines/director/lingo/lingo-gr.y"
+#line 444 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->_currentScript->size(); }
-#line 2685 "engines/director/lingo/lingo-gr.cpp"
+#line 2686 "engines/director/lingo/lingo-gr.cpp"
break;
case 53:
-#line 444 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(STOP); (yyval.code) = g_lingo->_currentScript->size(); }
-#line 2691 "engines/director/lingo/lingo-gr.cpp"
- break;
-
- case 54:
#line 446 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->_currentScript->size(); }
-#line 2697 "engines/director/lingo/lingo-gr.cpp"
+#line 2692 "engines/director/lingo/lingo-gr.cpp"
break;
- case 57:
+ case 56:
#line 450 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_intpush);
g_lingo->codeInt((yyvsp[0].i)); }
-#line 2705 "engines/director/lingo/lingo-gr.cpp"
+#line 2700 "engines/director/lingo/lingo-gr.cpp"
break;
- case 58:
+ case 57:
#line 453 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_floatpush);
g_lingo->codeFloat((yyvsp[0].f)); }
-#line 2713 "engines/director/lingo/lingo-gr.cpp"
+#line 2708 "engines/director/lingo/lingo-gr.cpp"
break;
- case 59:
+ case 58:
#line 456 "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 2722 "engines/director/lingo/lingo-gr.cpp"
+#line 2717 "engines/director/lingo/lingo-gr.cpp"
break;
- case 60:
+ case 59:
#line 460 "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 2731 "engines/director/lingo/lingo-gr.cpp"
+#line 2726 "engines/director/lingo/lingo-gr.cpp"
break;
- case 61:
+ case 60:
#line 464 "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 2740 "engines/director/lingo/lingo-gr.cpp"
+#line 2735 "engines/director/lingo/lingo-gr.cpp"
break;
- case 62:
+ case 61:
#line 468 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_intpush);
@@ -2749,16 +2744,16 @@ yyreduce:
WRITE_UINT32(&e, (yyvsp[0].e)[0]);
WRITE_UINT32(&f, (yyvsp[0].e)[1]);
g_lingo->code2(e, f); }
-#line 2753 "engines/director/lingo/lingo-gr.cpp"
+#line 2748 "engines/director/lingo/lingo-gr.cpp"
break;
- case 63:
+ case 62:
#line 476 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[-1].code); }
-#line 2759 "engines/director/lingo/lingo-gr.cpp"
+#line 2754 "engines/director/lingo/lingo-gr.cpp"
break;
- case 65:
+ case 64:
#line 478 "engines/director/lingo/lingo-gr.y"
{
// Director parser till D3 was forgiving for any hanging parentheses
@@ -2770,48 +2765,48 @@ yyreduce:
yyerrok;
}
}
-#line 2774 "engines/director/lingo/lingo-gr.cpp"
+#line 2769 "engines/director/lingo/lingo-gr.cpp"
break;
- case 66:
+ case 65:
#line 489 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); }
-#line 2780 "engines/director/lingo/lingo-gr.cpp"
+#line 2775 "engines/director/lingo/lingo-gr.cpp"
break;
- case 68:
+ case 67:
#line 491 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 2788 "engines/director/lingo/lingo-gr.cpp"
+#line 2783 "engines/director/lingo/lingo-gr.cpp"
break;
- case 69:
+ case 68:
#line 494 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-1].s), (yyvsp[0].narg));
delete (yyvsp[-1].s); }
-#line 2796 "engines/director/lingo/lingo-gr.cpp"
+#line 2791 "engines/director/lingo/lingo-gr.cpp"
break;
- case 70:
+ case 69:
#line 497 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 2804 "engines/director/lingo/lingo-gr.cpp"
+#line 2799 "engines/director/lingo/lingo-gr.cpp"
break;
- case 71:
+ case 70:
#line 500 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->codeFunc((yyvsp[-2].s), 1);
delete (yyvsp[-2].s); }
-#line 2812 "engines/director/lingo/lingo-gr.cpp"
+#line 2807 "engines/director/lingo/lingo-gr.cpp"
break;
- case 72:
+ case 71:
#line 503 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_theentitypush);
@@ -2819,20 +2814,20 @@ yyreduce:
WRITE_UINT32(&e, (yyvsp[-1].e)[0]);
WRITE_UINT32(&f, (yyvsp[-1].e)[1]);
g_lingo->code2(e, f); }
-#line 2823 "engines/director/lingo/lingo-gr.cpp"
+#line 2818 "engines/director/lingo/lingo-gr.cpp"
break;
- case 73:
+ case 72:
#line 509 "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 2833 "engines/director/lingo/lingo-gr.cpp"
+#line 2828 "engines/director/lingo/lingo-gr.cpp"
break;
- case 74:
+ case 73:
#line 514 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_objectrefpush);
@@ -2840,471 +2835,471 @@ yyreduce:
g_lingo->codeString((yyvsp[0].objectref).field->c_str());
delete (yyvsp[0].objectref).obj;
delete (yyvsp[0].objectref).field; }
-#line 2844 "engines/director/lingo/lingo-gr.cpp"
+#line 2839 "engines/director/lingo/lingo-gr.cpp"
break;
- case 76:
+ case 75:
#line 521 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_add); }
-#line 2850 "engines/director/lingo/lingo-gr.cpp"
+#line 2845 "engines/director/lingo/lingo-gr.cpp"
break;
- case 77:
+ case 76:
#line 522 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_sub); }
-#line 2856 "engines/director/lingo/lingo-gr.cpp"
+#line 2851 "engines/director/lingo/lingo-gr.cpp"
break;
- case 78:
+ case 77:
#line 523 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_mul); }
-#line 2862 "engines/director/lingo/lingo-gr.cpp"
+#line 2857 "engines/director/lingo/lingo-gr.cpp"
break;
- case 79:
+ case 78:
#line 524 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_div); }
-#line 2868 "engines/director/lingo/lingo-gr.cpp"
+#line 2863 "engines/director/lingo/lingo-gr.cpp"
break;
- case 80:
+ case 79:
#line 525 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_mod); }
-#line 2874 "engines/director/lingo/lingo-gr.cpp"
+#line 2869 "engines/director/lingo/lingo-gr.cpp"
break;
- case 81:
+ case 80:
#line 526 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gt); }
-#line 2880 "engines/director/lingo/lingo-gr.cpp"
+#line 2875 "engines/director/lingo/lingo-gr.cpp"
break;
- case 82:
+ case 81:
#line 527 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lt); }
-#line 2886 "engines/director/lingo/lingo-gr.cpp"
+#line 2881 "engines/director/lingo/lingo-gr.cpp"
break;
- case 83:
+ case 82:
#line 528 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_eq); }
-#line 2892 "engines/director/lingo/lingo-gr.cpp"
+#line 2887 "engines/director/lingo/lingo-gr.cpp"
break;
- case 84:
+ case 83:
#line 529 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_neq); }
-#line 2898 "engines/director/lingo/lingo-gr.cpp"
+#line 2893 "engines/director/lingo/lingo-gr.cpp"
break;
- case 85:
+ case 84:
#line 530 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ge); }
-#line 2904 "engines/director/lingo/lingo-gr.cpp"
+#line 2899 "engines/director/lingo/lingo-gr.cpp"
break;
- case 86:
+ case 85:
#line 531 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_le); }
-#line 2910 "engines/director/lingo/lingo-gr.cpp"
+#line 2905 "engines/director/lingo/lingo-gr.cpp"
break;
- case 87:
+ case 86:
#line 532 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_and); }
-#line 2916 "engines/director/lingo/lingo-gr.cpp"
+#line 2911 "engines/director/lingo/lingo-gr.cpp"
break;
- case 88:
+ case 87:
#line 533 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_or); }
-#line 2922 "engines/director/lingo/lingo-gr.cpp"
+#line 2917 "engines/director/lingo/lingo-gr.cpp"
break;
- case 89:
+ case 88:
#line 534 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_not); }
-#line 2928 "engines/director/lingo/lingo-gr.cpp"
+#line 2923 "engines/director/lingo/lingo-gr.cpp"
break;
- case 90:
+ case 89:
#line 535 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ampersand); }
-#line 2934 "engines/director/lingo/lingo-gr.cpp"
+#line 2929 "engines/director/lingo/lingo-gr.cpp"
break;
- case 91:
+ case 90:
#line 536 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_concat); }
-#line 2940 "engines/director/lingo/lingo-gr.cpp"
+#line 2935 "engines/director/lingo/lingo-gr.cpp"
break;
- case 92:
+ case 91:
#line 537 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_contains); }
-#line 2946 "engines/director/lingo/lingo-gr.cpp"
+#line 2941 "engines/director/lingo/lingo-gr.cpp"
break;
- case 93:
+ case 92:
#line 538 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_starts); }
-#line 2952 "engines/director/lingo/lingo-gr.cpp"
+#line 2947 "engines/director/lingo/lingo-gr.cpp"
break;
- case 94:
+ case 93:
#line 539 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); }
-#line 2958 "engines/director/lingo/lingo-gr.cpp"
+#line 2953 "engines/director/lingo/lingo-gr.cpp"
break;
- case 95:
+ case 94:
#line 540 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); g_lingo->code1(LC::c_negate); }
-#line 2964 "engines/director/lingo/lingo-gr.cpp"
+#line 2959 "engines/director/lingo/lingo-gr.cpp"
break;
- case 96:
+ case 95:
#line 541 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_intersects); }
-#line 2970 "engines/director/lingo/lingo-gr.cpp"
+#line 2965 "engines/director/lingo/lingo-gr.cpp"
break;
- case 97:
+ case 96:
#line 542 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_within); }
-#line 2976 "engines/director/lingo/lingo-gr.cpp"
+#line 2971 "engines/director/lingo/lingo-gr.cpp"
break;
- case 98:
+ case 97:
#line 544 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_charOf); }
-#line 2982 "engines/director/lingo/lingo-gr.cpp"
+#line 2977 "engines/director/lingo/lingo-gr.cpp"
break;
- case 99:
+ case 98:
#line 545 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_charToOf); }
-#line 2988 "engines/director/lingo/lingo-gr.cpp"
+#line 2983 "engines/director/lingo/lingo-gr.cpp"
break;
- case 100:
+ case 99:
#line 546 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_itemOf); }
-#line 2994 "engines/director/lingo/lingo-gr.cpp"
+#line 2989 "engines/director/lingo/lingo-gr.cpp"
break;
- case 101:
+ case 100:
#line 547 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_itemToOf); }
-#line 3000 "engines/director/lingo/lingo-gr.cpp"
+#line 2995 "engines/director/lingo/lingo-gr.cpp"
break;
- case 102:
+ case 101:
#line 548 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lineOf); }
-#line 3006 "engines/director/lingo/lingo-gr.cpp"
+#line 3001 "engines/director/lingo/lingo-gr.cpp"
break;
- case 103:
+ case 102:
#line 549 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lineToOf); }
-#line 3012 "engines/director/lingo/lingo-gr.cpp"
+#line 3007 "engines/director/lingo/lingo-gr.cpp"
break;
- case 104:
+ case 103:
#line 550 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_wordOf); }
-#line 3018 "engines/director/lingo/lingo-gr.cpp"
+#line 3013 "engines/director/lingo/lingo-gr.cpp"
break;
- case 105:
+ case 104:
#line 551 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_wordToOf); }
-#line 3024 "engines/director/lingo/lingo-gr.cpp"
+#line 3019 "engines/director/lingo/lingo-gr.cpp"
break;
- case 106:
+ case 105:
#line 553 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-1].s), 1);
delete (yyvsp[-1].s); }
-#line 3032 "engines/director/lingo/lingo-gr.cpp"
+#line 3027 "engines/director/lingo/lingo-gr.cpp"
break;
- case 108:
+ case 107:
#line 558 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_printtop); }
-#line 3038 "engines/director/lingo/lingo-gr.cpp"
+#line 3033 "engines/director/lingo/lingo-gr.cpp"
break;
- case 111:
+ case 110:
#line 561 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_exitRepeat); }
-#line 3044 "engines/director/lingo/lingo-gr.cpp"
+#line 3039 "engines/director/lingo/lingo-gr.cpp"
break;
- case 112:
+ case 111:
#line 562 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_procret); }
-#line 3050 "engines/director/lingo/lingo-gr.cpp"
+#line 3045 "engines/director/lingo/lingo-gr.cpp"
break;
- case 113:
+ case 112:
#line 563 "engines/director/lingo/lingo-gr.y"
{ inArgs(); }
-#line 3056 "engines/director/lingo/lingo-gr.cpp"
+#line 3051 "engines/director/lingo/lingo-gr.cpp"
break;
- case 114:
+ case 113:
#line 563 "engines/director/lingo/lingo-gr.y"
{ inNone(); }
-#line 3062 "engines/director/lingo/lingo-gr.cpp"
+#line 3057 "engines/director/lingo/lingo-gr.cpp"
break;
- case 115:
+ case 114:
#line 564 "engines/director/lingo/lingo-gr.y"
{ inArgs(); }
-#line 3068 "engines/director/lingo/lingo-gr.cpp"
+#line 3063 "engines/director/lingo/lingo-gr.cpp"
break;
- case 116:
+ case 115:
#line 564 "engines/director/lingo/lingo-gr.y"
{ inNone(); }
-#line 3074 "engines/director/lingo/lingo-gr.cpp"
+#line 3069 "engines/director/lingo/lingo-gr.cpp"
break;
- case 117:
+ case 116:
#line 565 "engines/director/lingo/lingo-gr.y"
{ inArgs(); }
-#line 3080 "engines/director/lingo/lingo-gr.cpp"
+#line 3075 "engines/director/lingo/lingo-gr.cpp"
break;
- case 118:
+ case 117:
#line 565 "engines/director/lingo/lingo-gr.y"
{ inNone(); }
-#line 3086 "engines/director/lingo/lingo-gr.cpp"
+#line 3081 "engines/director/lingo/lingo-gr.cpp"
break;
- case 119:
+ case 118:
#line 566 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
-#line 3094 "engines/director/lingo/lingo-gr.cpp"
+#line 3089 "engines/director/lingo/lingo-gr.cpp"
break;
- case 120:
+ case 119:
#line 569 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-1].s), (yyvsp[0].narg));
delete (yyvsp[-1].s); }
-#line 3102 "engines/director/lingo/lingo-gr.cpp"
+#line 3097 "engines/director/lingo/lingo-gr.cpp"
break;
- case 121:
+ case 120:
#line 572 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_open); }
-#line 3108 "engines/director/lingo/lingo-gr.cpp"
+#line 3103 "engines/director/lingo/lingo-gr.cpp"
break;
- case 122:
+ case 121:
#line 573 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code2(LC::c_voidpush, LC::c_open); }
-#line 3114 "engines/director/lingo/lingo-gr.cpp"
+#line 3109 "engines/director/lingo/lingo-gr.cpp"
break;
- case 123:
+ case 122:
#line 575 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_global);
g_lingo->codeString((yyvsp[0].s)->c_str());
mVar((yyvsp[0].s), kVarGlobal);
delete (yyvsp[0].s); }
-#line 3124 "engines/director/lingo/lingo-gr.cpp"
+#line 3119 "engines/director/lingo/lingo-gr.cpp"
break;
- case 124:
+ case 123:
#line 580 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_global);
g_lingo->codeString((yyvsp[0].s)->c_str());
mVar((yyvsp[0].s), kVarGlobal);
delete (yyvsp[0].s); }
-#line 3134 "engines/director/lingo/lingo-gr.cpp"
+#line 3129 "engines/director/lingo/lingo-gr.cpp"
break;
- case 125:
+ case 124:
#line 586 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_property);
g_lingo->codeString((yyvsp[0].s)->c_str());
mVar((yyvsp[0].s), kVarProperty);
delete (yyvsp[0].s); }
-#line 3144 "engines/director/lingo/lingo-gr.cpp"
+#line 3139 "engines/director/lingo/lingo-gr.cpp"
break;
- case 126:
+ case 125:
#line 591 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_property);
g_lingo->codeString((yyvsp[0].s)->c_str());
mVar((yyvsp[0].s), kVarProperty);
delete (yyvsp[0].s); }
-#line 3154 "engines/director/lingo/lingo-gr.cpp"
+#line 3149 "engines/director/lingo/lingo-gr.cpp"
break;
- case 127:
+ case 126:
#line 597 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_instance);
g_lingo->codeString((yyvsp[0].s)->c_str());
mVar((yyvsp[0].s), kVarInstance);
delete (yyvsp[0].s); }
-#line 3164 "engines/director/lingo/lingo-gr.cpp"
+#line 3159 "engines/director/lingo/lingo-gr.cpp"
break;
- case 128:
+ case 127:
#line 602 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_instance);
g_lingo->codeString((yyvsp[0].s)->c_str());
mVar((yyvsp[0].s), kVarInstance);
delete (yyvsp[0].s); }
-#line 3174 "engines/director/lingo/lingo-gr.cpp"
+#line 3169 "engines/director/lingo/lingo-gr.cpp"
break;
- case 129:
+ case 128:
#line 615 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotoloop); }
-#line 3180 "engines/director/lingo/lingo-gr.cpp"
+#line 3175 "engines/director/lingo/lingo-gr.cpp"
break;
- case 130:
+ case 129:
#line 616 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotonext); }
-#line 3186 "engines/director/lingo/lingo-gr.cpp"
+#line 3181 "engines/director/lingo/lingo-gr.cpp"
break;
- case 131:
+ case 130:
#line 617 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotoprevious); }
-#line 3192 "engines/director/lingo/lingo-gr.cpp"
+#line 3187 "engines/director/lingo/lingo-gr.cpp"
break;
- case 132:
+ case 131:
#line 618 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(LC::c_goto); }
-#line 3201 "engines/director/lingo/lingo-gr.cpp"
+#line 3196 "engines/director/lingo/lingo-gr.cpp"
break;
- case 133:
+ case 132:
#line 622 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(LC::c_goto); }
-#line 3210 "engines/director/lingo/lingo-gr.cpp"
+#line 3205 "engines/director/lingo/lingo-gr.cpp"
break;
- case 134:
+ case 133:
#line 626 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(2);
g_lingo->code1(LC::c_goto); }
-#line 3219 "engines/director/lingo/lingo-gr.cpp"
+#line 3214 "engines/director/lingo/lingo-gr.cpp"
break;
- case 137:
+ case 136:
#line 634 "engines/director/lingo/lingo-gr.y"
{ // "play #done" is also caught by this
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(LC::c_play); }
-#line 3228 "engines/director/lingo/lingo-gr.cpp"
+#line 3223 "engines/director/lingo/lingo-gr.cpp"
break;
- case 138:
+ case 137:
#line 638 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(LC::c_play); }
-#line 3237 "engines/director/lingo/lingo-gr.cpp"
+#line 3232 "engines/director/lingo/lingo-gr.cpp"
break;
- case 139:
+ case 138:
#line 642 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(2);
g_lingo->code1(LC::c_play); }
-#line 3246 "engines/director/lingo/lingo-gr.cpp"
+#line 3241 "engines/director/lingo/lingo-gr.cpp"
break;
- case 140:
+ case 139:
#line 646 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeSetImmediate(true); }
-#line 3252 "engines/director/lingo/lingo-gr.cpp"
+#line 3247 "engines/director/lingo/lingo-gr.cpp"
break;
- case 141:
+ case 140:
#line 646 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeSetImmediate(false);
g_lingo->codeFunc((yyvsp[-2].s), (yyvsp[0].narg));
delete (yyvsp[-2].s); }
-#line 3261 "engines/director/lingo/lingo-gr.cpp"
+#line 3256 "engines/director/lingo/lingo-gr.cpp"
break;
- case 142:
+ case 141:
#line 676 "engines/director/lingo/lingo-gr.y"
{ startDef(); }
-#line 3267 "engines/director/lingo/lingo-gr.cpp"
+#line 3262 "engines/director/lingo/lingo-gr.cpp"
break;
- case 143:
+ case 142:
#line 676 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_currentFactory.clear(); }
-#line 3273 "engines/director/lingo/lingo-gr.cpp"
+#line 3268 "engines/director/lingo/lingo-gr.cpp"
break;
- case 144:
+ case 143:
#line 677 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_procret);
g_lingo->codeDefine(*(yyvsp[-6].s), (yyvsp[-4].code), (yyvsp[-3].narg));
endDef();
delete (yyvsp[-6].s); }
-#line 3283 "engines/director/lingo/lingo-gr.cpp"
+#line 3278 "engines/director/lingo/lingo-gr.cpp"
break;
- case 145:
+ case 144:
#line 682 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeFactory(*(yyvsp[0].s)); delete (yyvsp[0].s); }
-#line 3289 "engines/director/lingo/lingo-gr.cpp"
+#line 3284 "engines/director/lingo/lingo-gr.cpp"
break;
- case 146:
+ case 145:
#line 683 "engines/director/lingo/lingo-gr.y"
{ startDef(); }
-#line 3295 "engines/director/lingo/lingo-gr.cpp"
+#line 3290 "engines/director/lingo/lingo-gr.cpp"
break;
- case 147:
+ case 146:
#line 684 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_procret);
g_lingo->codeDefine(*(yyvsp[-6].s), (yyvsp[-4].code), (yyvsp[-3].narg) + 1, &g_lingo->_currentFactory);
endDef();
delete (yyvsp[-6].s); }
-#line 3305 "engines/director/lingo/lingo-gr.cpp"
+#line 3300 "engines/director/lingo/lingo-gr.cpp"
break;
- case 148:
+ case 147:
#line 689 "engines/director/lingo/lingo-gr.y"
{ // D3
g_lingo->code1(LC::c_procret);
@@ -3314,69 +3309,69 @@ yyreduce:
checkEnd((yyvsp[-1].s), (yyvsp[-7].s)->c_str(), false);
delete (yyvsp[-7].s);
delete (yyvsp[-1].s); }
-#line 3318 "engines/director/lingo/lingo-gr.cpp"
+#line 3313 "engines/director/lingo/lingo-gr.cpp"
break;
- case 149:
+ case 148:
#line 697 "engines/director/lingo/lingo-gr.y"
{ // D4. No 'end' clause
g_lingo->code1(LC::c_procret);
g_lingo->codeDefine(*(yyvsp[-5].s), (yyvsp[-4].code), (yyvsp[-3].narg));
endDef();
delete (yyvsp[-5].s); }
-#line 3328 "engines/director/lingo/lingo-gr.cpp"
+#line 3323 "engines/director/lingo/lingo-gr.cpp"
break;
- case 150:
+ case 149:
#line 703 "engines/director/lingo/lingo-gr.y"
{ startDef(); }
-#line 3334 "engines/director/lingo/lingo-gr.cpp"
+#line 3329 "engines/director/lingo/lingo-gr.cpp"
break;
- case 151:
+ case 150:
#line 703 "engines/director/lingo/lingo-gr.y"
{
(yyval.s) = (yyvsp[0].s); g_lingo->_currentFactory.clear(); g_lingo->_ignoreMe = true; }
-#line 3341 "engines/director/lingo/lingo-gr.cpp"
+#line 3336 "engines/director/lingo/lingo-gr.cpp"
break;
- case 152:
+ case 151:
#line 706 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; }
-#line 3347 "engines/director/lingo/lingo-gr.cpp"
+#line 3342 "engines/director/lingo/lingo-gr.cpp"
break;
- case 153:
+ case 152:
#line 707 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); mVar((yyvsp[0].s), kVarArgument); (yyval.narg) = 1; delete (yyvsp[0].s); }
-#line 3353 "engines/director/lingo/lingo-gr.cpp"
+#line 3348 "engines/director/lingo/lingo-gr.cpp"
break;
- case 154:
+ case 153:
#line 708 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); mVar((yyvsp[0].s), kVarArgument); (yyval.narg) = (yyvsp[-2].narg) + 1; delete (yyvsp[0].s); }
-#line 3359 "engines/director/lingo/lingo-gr.cpp"
+#line 3354 "engines/director/lingo/lingo-gr.cpp"
break;
- case 156:
+ case 155:
#line 711 "engines/director/lingo/lingo-gr.y"
{ delete (yyvsp[0].s); }
-#line 3365 "engines/director/lingo/lingo-gr.cpp"
+#line 3360 "engines/director/lingo/lingo-gr.cpp"
break;
- case 157:
+ case 156:
#line 712 "engines/director/lingo/lingo-gr.y"
{ delete (yyvsp[0].s); }
-#line 3371 "engines/director/lingo/lingo-gr.cpp"
+#line 3366 "engines/director/lingo/lingo-gr.cpp"
break;
- case 158:
+ case 157:
#line 714 "engines/director/lingo/lingo-gr.y"
{ inDef(); }
-#line 3377 "engines/director/lingo/lingo-gr.cpp"
+#line 3372 "engines/director/lingo/lingo-gr.cpp"
break;
- case 159:
+ case 158:
#line 716 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_call);
@@ -3385,113 +3380,113 @@ yyreduce:
WRITE_UINT32(&numpar, (yyvsp[0].narg));
g_lingo->code1(numpar);
delete (yyvsp[-1].s); }
-#line 3389 "engines/director/lingo/lingo-gr.cpp"
+#line 3384 "engines/director/lingo/lingo-gr.cpp"
break;
- case 160:
+ case 159:
#line 724 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; }
-#line 3395 "engines/director/lingo/lingo-gr.cpp"
+#line 3390 "engines/director/lingo/lingo-gr.cpp"
break;
- case 161:
+ case 160:
#line 725 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3401 "engines/director/lingo/lingo-gr.cpp"
+#line 3396 "engines/director/lingo/lingo-gr.cpp"
break;
- case 162:
+ case 161:
#line 726 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3407 "engines/director/lingo/lingo-gr.cpp"
+#line 3402 "engines/director/lingo/lingo-gr.cpp"
break;
- case 163:
+ case 162:
#line 728 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3413 "engines/director/lingo/lingo-gr.cpp"
+#line 3408 "engines/director/lingo/lingo-gr.cpp"
break;
- case 164:
+ case 163:
#line 729 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3419 "engines/director/lingo/lingo-gr.cpp"
+#line 3414 "engines/director/lingo/lingo-gr.cpp"
break;
- case 165:
+ case 164:
#line 731 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[-1].code); }
-#line 3425 "engines/director/lingo/lingo-gr.cpp"
+#line 3420 "engines/director/lingo/lingo-gr.cpp"
break;
- case 166:
+ case 165:
#line 733 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code2(LC::c_arraypush, 0); }
-#line 3431 "engines/director/lingo/lingo-gr.cpp"
+#line 3426 "engines/director/lingo/lingo-gr.cpp"
break;
- case 167:
+ case 166:
#line 734 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code2(LC::c_proparraypush, 0); }
-#line 3437 "engines/director/lingo/lingo-gr.cpp"
+#line 3432 "engines/director/lingo/lingo-gr.cpp"
break;
- case 168:
+ case 167:
#line 735 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_arraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3443 "engines/director/lingo/lingo-gr.cpp"
+#line 3438 "engines/director/lingo/lingo-gr.cpp"
break;
- case 169:
+ case 168:
#line 736 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_proparraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3449 "engines/director/lingo/lingo-gr.cpp"
+#line 3444 "engines/director/lingo/lingo-gr.cpp"
break;
- case 170:
+ case 169:
#line 738 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3455 "engines/director/lingo/lingo-gr.cpp"
+#line 3450 "engines/director/lingo/lingo-gr.cpp"
break;
- case 171:
+ case 170:
#line 739 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3461 "engines/director/lingo/lingo-gr.cpp"
+#line 3456 "engines/director/lingo/lingo-gr.cpp"
break;
- case 172:
+ case 171:
#line 741 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 3467 "engines/director/lingo/lingo-gr.cpp"
+#line 3462 "engines/director/lingo/lingo-gr.cpp"
break;
- case 173:
+ case 172:
#line 742 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3473 "engines/director/lingo/lingo-gr.cpp"
+#line 3468 "engines/director/lingo/lingo-gr.cpp"
break;
- case 174:
+ case 173:
#line 744 "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 3482 "engines/director/lingo/lingo-gr.cpp"
+#line 3477 "engines/director/lingo/lingo-gr.cpp"
break;
- case 175:
+ case 174:
#line 748 "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 3491 "engines/director/lingo/lingo-gr.cpp"
+#line 3486 "engines/director/lingo/lingo-gr.cpp"
break;
-#line 3495 "engines/director/lingo/lingo-gr.cpp"
+#line 3490 "engines/director/lingo/lingo-gr.cpp"
default: break;
}
diff --git a/engines/director/lingo/lingo-gr.y b/engines/director/lingo/lingo-gr.y
index da9c384209..6642a9bfea 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -149,7 +149,7 @@ static void mVar(Common::String *s, VarType type) {
%token tSPRITE tINTERSECTS tWITHIN tTELL tPROPERTY
%token tON tENDIF tENDREPEAT tENDTELL
-%type<code> asgn begin end expr if chunkexpr
+%type<code> asgn begin expr if chunkexpr
%type<code> stmtlist tellstart reference simpleexpr list valuelist
%type<code> jump jumpifz varassign
%type<narg> argdef arglist nonemptyarglist linearlist proplist
@@ -296,7 +296,7 @@ stmt: stmtoneliner
g_lingo->code1(LC::c_varpush);
g_lingo->codeString($ID->c_str());
g_lingo->code1(LC::c_assign);
- g_lingo->code2(LC::c_jump, STOP);
+ g_lingo->code2(LC::c_jump, 0);
int pos = g_lingo->_currentScript->size() - 1;
inst loop = 0, end = 0;
@@ -328,7 +328,7 @@ stmt: stmtoneliner
g_lingo->code1(LC::c_varpush);
g_lingo->codeString($ID->c_str());
g_lingo->code1(LC::c_assign);
- g_lingo->code2(LC::c_jump, STOP);
+ g_lingo->code2(LC::c_jump, 0);
int pos = g_lingo->_currentScript->size() - 1;
inst loop = 0, end = 0;
@@ -370,7 +370,7 @@ stmt: stmtoneliner
g_lingo->codeInt(1);
g_lingo->code1(LC::c_add); // Increment counter
- int jump = g_lingo->code2(LC::c_jump, STOP);
+ int jump = g_lingo->code2(LC::c_jump, 0);
int end2 = g_lingo->code1(LC::c_stackdrop); // remove list, size, counter
g_lingo->codeInt(3);
@@ -387,13 +387,15 @@ stmt: stmtoneliner
| tWHEN ID tTHEN expr {
g_lingo->code1(LC::c_whencode);
g_lingo->codeString($ID->c_str()); }
- | tTELL expr '\n' tellstart stmtlist end tENDTELL {
+ | tTELL expr '\n' tellstart stmtlist begin tENDTELL {
inst end;
- WRITE_UINT32(&end, $end - $tellstart);
+ g_lingo->code1(STOP);
+ WRITE_UINT32(&end, $begin - $tellstart + 1);
(*g_lingo->_currentScript)[$tellstart + 1] = end; }
- | tTELL expr tTO tellstart stmtoneliner end {
+ | tTELL expr tTO tellstart stmtoneliner begin {
inst end;
- WRITE_UINT32(&end, $end - $tellstart);
+ g_lingo->code1(STOP);
+ WRITE_UINT32(&end, $begin - $tellstart + 1);
(*g_lingo->_currentScript)[$tellstart + 1] = end; }
tellstart: /* empty */ {
@@ -425,11 +427,11 @@ elseifstmt: tELSIF expr jumpifz[then] tTHEN stmtlist jump[end3] {
g_lingo->codeLabel($end3); }
jumpifz: /* nothing */ {
- g_lingo->code2(LC::c_jumpifz, STOP);
+ g_lingo->code2(LC::c_jumpifz, 0);
$$ = g_lingo->_currentScript->size() - 1; }
jump: /* nothing */ {
- g_lingo->code2(LC::c_jump, STOP);
+ g_lingo->code2(LC::c_jump, 0);
$$ = g_lingo->_currentScript->size() - 1; }
varassign: /* nothing */ {
@@ -441,8 +443,6 @@ if: tIF {
begin: /* nothing */ { $$ = g_lingo->_currentScript->size(); }
-end: /* nothing */ { g_lingo->code1(STOP); $$ = g_lingo->_currentScript->size(); }
-
stmtlist: { $$ = g_lingo->_currentScript->size(); }
| stmtlist '\n'
| stmtlist stmt
Commit: 872c10c430695079f0a3bac0203742f88cbb7c56
https://github.com/scummvm/scummvm/commit/872c10c430695079f0a3bac0203742f88cbb7c56
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-06-01T12:45:54+02:00
Commit Message:
DIRECTOR: LINGO: Renamed 'begin' to 'lbl' for better semantics
Changed paths:
engines/director/lingo/lingo-gr.cpp
engines/director/lingo/lingo-gr.y
diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp
index 6d38c0ee22..eb12a5fafe 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -430,7 +430,7 @@ enum yysymbol_kind_t
YYSYMBOL_jump = 124, /* jump */
YYSYMBOL_varassign = 125, /* varassign */
YYSYMBOL_if = 126, /* if */
- YYSYMBOL_begin = 127, /* begin */
+ YYSYMBOL_lbl = 127, /* lbl */
YYSYMBOL_stmtlist = 128, /* stmtlist */
YYSYMBOL_simpleexpr = 129, /* simpleexpr */
YYSYMBOL_expr = 130, /* expr */
@@ -891,8 +891,8 @@ yysymbol_name (yysymbol_kind_t yysymbol)
"$accept", "program", "programline", "asgn", "stmtoneliner", "stmt",
"$@1", "$@2", "$@3", "$@4", "$@5", "$@6", "$@7", "$@8", "$@9",
"tellstart", "ifstmt", "elseifstmtlist", "elseifstmt", "jumpifz", "jump",
- "varassign", "if", "begin", "stmtlist", "simpleexpr", "expr",
- "chunkexpr", "reference", "proc", "$@10", "$@11", "$@12", "globallist",
+ "varassign", "if", "lbl", "stmtlist", "simpleexpr", "expr", "chunkexpr",
+ "reference", "proc", "$@10", "$@11", "$@12", "globallist",
"propertylist", "instancelist", "gotofunc", "gotomovie", "playfunc",
"$@13", "defn", "$@14", "$@15", "$@16", "on", "$@17", "argdef",
"endargdef", "argstore", "macro", "arglist", "nonemptyarglist", "list",
@@ -2418,7 +2418,7 @@ yyreduce:
case 25:
#line 270 "engines/director/lingo/lingo-gr.y"
- {
+ {
inst start = 0, end = 0;
WRITE_UINT32(&start, (yyvsp[-5].code) - (yyvsp[-1].code) + 1);
WRITE_UINT32(&end, (yyvsp[-1].code) - (yyvsp[-3].code) + 2);
@@ -2588,7 +2588,7 @@ yyreduce:
case 40:
#line 390 "engines/director/lingo/lingo-gr.y"
- {
+ {
inst end;
g_lingo->code1(STOP);
WRITE_UINT32(&end, (yyvsp[-1].code) - (yyvsp[-3].code) + 1);
@@ -2598,7 +2598,7 @@ yyreduce:
case 41:
#line 395 "engines/director/lingo/lingo-gr.y"
- {
+ {
inst end;
g_lingo->code1(STOP);
WRITE_UINT32(&end, (yyvsp[0].code) - (yyvsp[-2].code) + 1);
@@ -2616,7 +2616,7 @@ yyreduce:
case 43:
#line 405 "engines/director/lingo/lingo-gr.y"
- {
+ {
inst else1 = 0, end3 = 0;
WRITE_UINT32(&else1, (yyvsp[-3].code) + 1 - (yyvsp[-6].code) + 1);
WRITE_UINT32(&end3, (yyvsp[-1].code) - (yyvsp[-3].code) + 1);
@@ -2628,7 +2628,7 @@ yyreduce:
case 44:
#line 412 "engines/director/lingo/lingo-gr.y"
- {
+ {
inst else1 = 0, end = 0;
WRITE_UINT32(&else1, (yyvsp[-6].code) + 1 - (yyvsp[-9].code) + 1);
WRITE_UINT32(&end, (yyvsp[-1].code) - (yyvsp[-6].code) + 1);
@@ -3301,7 +3301,7 @@ yyreduce:
case 147:
#line 689 "engines/director/lingo/lingo-gr.y"
- { // D3
+ { // D3
g_lingo->code1(LC::c_procret);
g_lingo->codeDefine(*(yyvsp[-7].s), (yyvsp[-6].code), (yyvsp[-5].narg));
endDef();
@@ -3314,7 +3314,7 @@ yyreduce:
case 148:
#line 697 "engines/director/lingo/lingo-gr.y"
- { // D4. No 'end' clause
+ { // D4. No 'end' clause
g_lingo->code1(LC::c_procret);
g_lingo->codeDefine(*(yyvsp[-5].s), (yyvsp[-4].code), (yyvsp[-3].narg));
endDef();
diff --git a/engines/director/lingo/lingo-gr.y b/engines/director/lingo/lingo-gr.y
index 6642a9bfea..72c67b55f2 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -149,7 +149,7 @@ static void mVar(Common::String *s, VarType type) {
%token tSPRITE tINTERSECTS tWITHIN tTELL tPROPERTY
%token tON tENDIF tENDREPEAT tENDTELL
-%type<code> asgn begin expr if chunkexpr
+%type<code> asgn lbl expr if chunkexpr
%type<code> stmtlist tellstart reference simpleexpr list valuelist
%type<code> jump jumpifz varassign
%type<narg> argdef arglist nonemptyarglist linearlist proplist
@@ -267,9 +267,9 @@ stmt: stmtoneliner
// statements
// end repeat
//
- | tREPEAT tWHILE begin expr jumpifz[body] stmtlist jump[end2] tENDREPEAT {
+ | tREPEAT tWHILE lbl expr jumpifz[body] stmtlist jump[end2] tENDREPEAT {
inst start = 0, end = 0;
- WRITE_UINT32(&start, $begin - $end2 + 1);
+ WRITE_UINT32(&start, $lbl - $end2 + 1);
WRITE_UINT32(&end, $end2 - $body + 2);
(*g_lingo->_currentScript)[$body] = end; /* end, if cond fails */
(*g_lingo->_currentScript)[$end2] = start; } /* looping back */
@@ -348,7 +348,7 @@ stmt: stmtoneliner
g_lingo->codeFunc(new Common::String("count"), 1);
g_lingo->code1(LC::c_intpush); // start counter
g_lingo->codeInt(1); }
- begin
+ lbl
{ g_lingo->code1(LC::c_stackpeek); // get counter
g_lingo->codeInt(0);
g_lingo->code1(LC::c_stackpeek); // get array size
@@ -376,7 +376,7 @@ stmt: stmtoneliner
g_lingo->codeInt(3);
inst loop = 0, end = 0;
- WRITE_UINT32(&loop, $begin - jump);
+ WRITE_UINT32(&loop, $lbl - jump);
WRITE_UINT32(&end, end2 - $jumpifz + 1);
(*g_lingo->_currentScript)[jump + 1] = loop; /* final count value */
@@ -387,29 +387,29 @@ stmt: stmtoneliner
| tWHEN ID tTHEN expr {
g_lingo->code1(LC::c_whencode);
g_lingo->codeString($ID->c_str()); }
- | tTELL expr '\n' tellstart stmtlist begin tENDTELL {
+ | tTELL expr '\n' tellstart stmtlist lbl tENDTELL {
inst end;
g_lingo->code1(STOP);
- WRITE_UINT32(&end, $begin - $tellstart + 1);
+ WRITE_UINT32(&end, $lbl - $tellstart + 1);
(*g_lingo->_currentScript)[$tellstart + 1] = end; }
- | tTELL expr tTO tellstart stmtoneliner begin {
+ | tTELL expr tTO tellstart stmtoneliner lbl {
inst end;
g_lingo->code1(STOP);
- WRITE_UINT32(&end, $begin - $tellstart + 1);
+ WRITE_UINT32(&end, $lbl - $tellstart + 1);
(*g_lingo->_currentScript)[$tellstart + 1] = end; }
tellstart: /* empty */ {
$$ = g_lingo->code1(LC::c_tellcode);
g_lingo->code1(STOP); }
-ifstmt: if expr jumpifz[then] tTHEN stmtlist jump[else1] elseifstmtlist begin[end3] tENDIF {
+ifstmt: if expr jumpifz[then] tTHEN stmtlist jump[else1] elseifstmtlist lbl[end3] tENDIF {
inst else1 = 0, end3 = 0;
WRITE_UINT32(&else1, $else1 + 1 - $then + 1);
WRITE_UINT32(&end3, $end3 - $else1 + 1);
(*g_lingo->_currentScript)[$then] = else1; /* elsepart */
(*g_lingo->_currentScript)[$else1] = end3; /* end, if cond fails */
g_lingo->processIf($else1, $end3); }
- | if expr jumpifz[then] tTHEN stmtlist jump[else1] elseifstmtlist tELSE begin stmtlist begin[end3] tENDIF {
+ | if expr jumpifz[then] tTHEN stmtlist jump[else1] elseifstmtlist tELSE lbl stmtlist lbl[end3] tENDIF {
inst else1 = 0, end = 0;
WRITE_UINT32(&else1, $else1 + 1 - $then + 1);
WRITE_UINT32(&end, $end3 - $else1 + 1);
@@ -441,7 +441,7 @@ varassign: /* nothing */ {
if: tIF {
g_lingo->codeLabel(0); } // Mark beginning of the if() statement
-begin: /* nothing */ { $$ = g_lingo->_currentScript->size(); }
+lbl: /* nothing */ { $$ = g_lingo->_currentScript->size(); }
stmtlist: { $$ = g_lingo->_currentScript->size(); }
| stmtlist '\n'
@@ -674,29 +674,29 @@ playfunc: tPLAY expr { // "play #done" is also caught by this
// See also:
// on keyword
defn: tMACRO { startDef(); } ID { g_lingo->_currentFactory.clear(); }
- begin argdef '\n' argstore stmtlist {
+ lbl argdef '\n' argstore stmtlist {
g_lingo->code1(LC::c_procret);
- g_lingo->codeDefine(*$ID, $begin, $argdef);
+ g_lingo->codeDefine(*$ID, $lbl, $argdef);
endDef();
delete $ID; }
| tFACTORY ID { g_lingo->codeFactory(*$ID); delete $ID; }
| tMETHOD { startDef(); }
- begin argdef '\n' argstore stmtlist {
+ lbl argdef '\n' argstore stmtlist {
g_lingo->code1(LC::c_procret);
- g_lingo->codeDefine(*$tMETHOD, $begin, $argdef + 1, &g_lingo->_currentFactory);
+ g_lingo->codeDefine(*$tMETHOD, $lbl, $argdef + 1, &g_lingo->_currentFactory);
endDef();
delete $tMETHOD; }
- | on begin argdef '\n' argstore stmtlist ENDCLAUSE endargdef { // D3
+ | on lbl argdef '\n' argstore stmtlist ENDCLAUSE endargdef { // D3
g_lingo->code1(LC::c_procret);
- g_lingo->codeDefine(*$on, $begin, $argdef);
+ g_lingo->codeDefine(*$on, $lbl, $argdef);
endDef();
checkEnd($ENDCLAUSE, $on->c_str(), false);
delete $on;
delete $ENDCLAUSE; }
- | on begin argdef '\n' argstore stmtlist { // D4. No 'end' clause
+ | on lbl argdef '\n' argstore stmtlist { // D4. No 'end' clause
g_lingo->code1(LC::c_procret);
- g_lingo->codeDefine(*$on, $begin, $argdef);
+ g_lingo->codeDefine(*$on, $lbl, $argdef);
endDef();
delete $on; }
Commit: 600cdb81626b92871b01f3607a8280a428ec62d5
https://github.com/scummvm/scummvm/commit/600cdb81626b92871b01f3607a8280a428ec62d5
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-06-01T12:45:54+02:00
Commit Message:
DIRECTOR: LINGO: Simplified 'if' grammar
Changed paths:
engines/director/lingo/lingo-gr.cpp
engines/director/lingo/lingo-gr.y
diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp
index eb12a5fafe..7535d1e167 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -773,7 +773,7 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 125
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 2541
+#define YYLAST 2542
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 104
@@ -782,7 +782,7 @@ union yyalloc
/* YYNRULES -- Number of rules. */
#define YYNRULES 174
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 364
+#define YYNSTATES 363
#define YYMAXUTOK 343
@@ -921,7 +921,7 @@ static const yytype_int16 yytoknum[] =
};
#endif
-#define YYPACT_NINF (-295)
+#define YYPACT_NINF (-289)
#define yypact_value_is_default(Yyn) \
((Yyn) == YYPACT_NINF)
@@ -935,43 +935,43 @@ static const yytype_int16 yytoknum[] =
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- 772, -83, -295, -295, 88, -295, 594, 310, 88, -27,
- 495, -295, -295, -295, -295, -295, -295, -17, -295, 1792,
- -295, -295, -295, -12, 1948, 27, 41, 30, 53, 224,
- 1829, -295, 224, 224, 224, 224, 224, 224, 224, -295,
- -295, 224, 224, 224, 405, 81, -56, -295, -295, -295,
- -295, 224, -295, 2433, -295, -295, -295, -295, -295, -295,
- -295, -295, -295, -295, -295, -295, -11, 1948, 1911, 2433,
- 4, 1911, 4, -295, 88, 1911, 2433, 6, 683, -295,
- -295, 77, 224, -295, 61, -295, 2020, -295, 82, -295,
- 84, 1987, 85, -295, -49, 88, 88, -8, 58, 60,
- -295, 2330, 2020, -295, 90, -295, 2053, 2086, 2119, 2152,
- 2400, 2317, 92, 93, -295, -295, 2363, 17, 36, -295,
- 2433, 40, 43, 45, -295, -295, 772, 2433, 224, 224,
+ 772, -83, -289, -289, 88, -289, 594, 310, 88, -27,
+ 495, -289, -289, -289, -289, -289, -289, -17, -289, 1792,
+ -289, -289, -289, -12, 1948, 27, 34, 32, 45, 224,
+ 1829, -289, 224, 224, 224, 224, 224, 224, 224, -289,
+ -289, 224, 224, 224, 405, 41, -18, -289, -289, -289,
+ -289, 224, -289, 2434, -289, -289, -289, -289, -289, -289,
+ -289, -289, -289, -289, -289, -289, -11, 1948, 1911, 2434,
+ 4, 1911, 4, -289, 88, 1911, 2434, 6, 683, -289,
+ -289, 77, 224, -289, 61, -289, 2021, -289, 82, -289,
+ 84, 1987, 85, -289, -49, 88, 88, 9, 58, 60,
+ -289, 2331, 2021, -289, 90, -289, 2054, 2087, 2120, 2153,
+ 2401, 2318, 92, 93, -289, -289, 2364, 17, 36, -289,
+ 2434, 40, 43, 46, -289, -289, 772, 2434, 224, 224,
224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
- 224, 224, 224, 224, 224, 120, 1911, 1987, 2363, -14,
- 224, -9, -295, -3, 224, 4, 120, -295, 47, 2433,
- 224, -295, -295, 88, 16, 224, 224, -10, 224, 224,
- 224, -1, 101, 224, 224, 224, 224, 224, -295, -295,
+ 224, 224, 224, 224, 224, 119, 1911, 1987, 2364, -14,
+ 224, -9, -289, -3, 224, 4, 119, -289, 47, 2434,
+ 224, -289, -289, 88, 16, 224, 224, -10, 224, 224,
+ 224, 10, 101, 224, 224, 224, 224, 224, -289, -289,
50, 224, 224, 224, 224, 224, 224, 224, 224, 224,
- 224, -295, -295, -295, 51, -295, -295, 88, 88, -295,
- 224, -7, -295, 99, 123, 123, 123, 123, 2446, 2446,
- -295, -45, 123, 123, 123, 123, -45, -51, -51, -295,
- -295, -295, -46, -295, 2433, -295, -295, 2433, -29, 127,
- 2433, -295, 112, -295, -295, 2433, 2433, 224, 224, 2433,
- 2433, 123, 224, 224, 131, 2433, 123, 2433, 2433, 2433,
- 132, 2433, 2185, 2433, 2218, 2433, 2251, 2433, 2284, 2433,
- 2433, 1710, -295, 135, -295, -295, 2433, 17, 36, -295,
- -295, -295, 139, -295, -295, 120, 224, 2433, 378, -295,
- 2433, 123, 88, -295, 224, 224, 224, 224, -295, 1199,
- -295, 1113, -295, -295, -295, -22, 2433, -295, -295, -295,
- 1284, 119, 2433, 2433, 2433, 2433, -295, -295, -295, 86,
- -295, 858, 943, -295, -295, -295, -295, 98, 224, -295,
- 64, 161, -295, -295, 136, 156, -295, 2433, -295, 224,
- -295, 106, -295, 95, 1028, -295, 224, 143, -295, 2433,
- -295, 173, -295, 2433, 224, 1369, 149, -295, 1455, -295,
- 2433, 117, -295, -295, -295, -295, -295, 1113, 1540, -295,
- -295, -295, 1625, -295
+ 224, -289, -289, -289, 51, -289, -289, 88, 88, -289,
+ 224, -7, -289, 99, 123, 123, 123, 123, 2447, 2447,
+ -289, -45, 123, 123, 123, 123, -45, -51, -51, -289,
+ -289, -289, -43, -289, 2434, -289, -289, 2434, -41, 127,
+ 2434, -289, 112, -289, -289, 2434, 2434, 224, 224, 2434,
+ 2434, 123, 224, 224, 131, 2434, 123, 2434, 2434, 2434,
+ 132, 2434, 2186, 2434, 2219, 2434, 2252, 2434, 2285, 2434,
+ 2434, 1710, -289, 135, -289, -289, 2434, 17, 36, -289,
+ -289, -289, 139, -289, -289, 119, 224, 2434, 378, -289,
+ 2434, 123, 88, -289, 224, 224, 224, 224, -289, 1199,
+ -289, 1113, -289, -289, -289, -19, 2434, -289, -289, -289,
+ 1284, 120, 2434, 2434, 2434, 2434, -289, -289, -289, 97,
+ -289, 858, 943, -289, -289, -289, -289, 86, 224, -289,
+ 64, 161, -289, -289, 136, 156, -289, 2434, -289, 224,
+ -289, 106, -289, 95, 1028, -289, 224, 143, 1369, 2434,
+ -289, 173, -289, 2434, 224, 116, 150, -289, 1455, -289,
+ 2434, -289, -289, -289, -289, -289, 1113, 1540, -289, -289,
+ -289, 1625, -289
};
/* YYDEFACTSTATE-NUM -- Default reduction number in state STATE-NUM.
@@ -1011,22 +1011,22 @@ static const yytype_uint8 yydefact[] =
125, 0, 53, 153, 53, 0, 9, 52, 50, 50,
0, 0, 98, 100, 102, 104, 41, 54, 55, 0,
45, 0, 0, 157, 35, 27, 31, 0, 0, 40,
- 52, 154, 53, 48, 0, 0, 25, 18, 52, 0,
- 46, 0, 155, 147, 0, 36, 0, 0, 53, 48,
+ 52, 154, 53, 48, 0, 0, 25, 18, 53, 0,
+ 46, 0, 155, 147, 0, 36, 0, 0, 0, 48,
43, 0, 53, 28, 0, 0, 0, 156, 0, 48,
- 32, 0, 53, 37, 53, 48, 44, 0, 0, 53,
- 47, 29, 0, 33
+ 32, 44, 53, 37, 53, 48, 0, 0, 53, 47,
+ 29, 0, 33
};
/* YYPGOTONTERM-NUM. */
static const yytype_int16 yypgoto[] =
{
- -295, 79, -295, -295, -55, 15, -295, -295, -295, -295,
- -295, -295, -295, -295, -295, 18, -295, -295, -295, -151,
- -294, -92, -295, -76, 1654, 3, -6, -295, 44, -295,
- -295, -295, -295, -295, -295, -295, -295, -20, -295, -295,
- -295, -295, -295, -295, -295, -295, -154, -295, -261, -295,
- 2, -295, -295, -295, -295, -295, 8
+ -289, 79, -289, -289, -55, 15, -289, -289, -289, -289,
+ -289, -289, -289, -289, -289, 18, -289, -289, -289, -151,
+ -288, -92, -289, -76, 1714, 3, -6, -289, 44, -289,
+ -289, -289, -289, -289, -289, -289, -289, -20, -289, -289,
+ -289, -289, -289, -289, -289, -289, -154, -289, -267, -289,
+ 2, -289, -289, -289, -289, -289, 8
};
/* YYDEFGOTONTERM-NUM. */
@@ -1045,33 +1045,33 @@ static const yytype_int16 yydefgoto[] =
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 69, 69, 228, 156, 76, 169, 317, 65, 70, 72,
- 103, 73, 294, 86, 63, 49, 170, 168, 91, 134,
+ 69, 69, 228, 156, 76, 169, 294, 65, 70, 72,
+ 103, 73, 317, 86, 63, 49, 170, 168, 91, 134,
267, 74, 268, 101, 102, 134, 105, 106, 107, 108,
109, 110, 111, 237, 80, 114, 115, 116, 120, 89,
- 8, 126, 233, 143, 144, 127, 173, 141, 142, 143,
- 144, 271, 322, 242, 272, 238, 99, 174, 94, 95,
- 96, 147, 148, 360, 243, 148, 161, 97, 273, 148,
- 149, 272, 69, 151, 98, 313, 159, 152, 272, 100,
- 155, 125, 178, 92, 93, 223, 150, 146, 279, 1,
+ 8, 125, 233, 143, 144, 127, 322, 141, 142, 143,
+ 144, 94, 95, 96, 271, 238, 273, 272, 99, 272,
+ 97, 147, 148, 173, 242, 148, 161, 98, 359, 148,
+ 149, 100, 69, 151, 174, 243, 159, 152, 313, 126,
+ 155, 272, 178, 92, 93, 223, 150, 146, 279, 1,
225, 150, 33, 34, 35, 36, 226, 150, 171, 172,
328, 329, 2, 157, 150, 3, 154, 160, 162, 5,
163, 167, 175, 176, 64, 11, 179, 12, 193, 195,
197, 295, 204, 205, 206, 207, 208, 209, 210, 211,
212, 213, 214, 215, 216, 217, 218, 219, 220, 198,
- 69, 49, 199, 200, 224, 201, 221, 229, 227, 244,
+ 69, 49, 199, 200, 224, 221, 201, 229, 227, 244,
250, 263, 270, 274, 230, 275, 276, 282, 283, 235,
236, 290, 239, 240, 241, 293, 232, 245, 246, 247,
- 248, 249, 335, 318, 319, 251, 252, 253, 254, 255,
- 256, 257, 258, 259, 260, 326, 43, 332, 346, 44,
+ 248, 249, 335, 326, 318, 251, 252, 253, 254, 255,
+ 256, 257, 258, 259, 260, 319, 43, 332, 346, 44,
336, 337, 340, 134, 266, 341, 135, 344, 354, 347,
- 264, 265, 352, 356, 359, 202, 288, 316, 234, 269,
+ 264, 265, 351, 352, 358, 202, 288, 316, 234, 269,
262, 0, 306, 309, 140, 141, 142, 143, 144, 0,
0, 314, 0, 0, 0, 1, 0, 0, 0, 0,
0, 277, 278, 0, 0, 0, 280, 281, 2, 0,
0, 3, 4, 0, 331, 5, 0, 7, 8, 9,
- 66, 11, 338, 12, 0, 0, 0, 15, 16, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 351,
+ 66, 11, 0, 12, 0, 0, 0, 15, 16, 0,
+ 0, 0, 345, 0, 0, 0, 0, 0, 0, 0,
296, 0, 0, 0, 67, 0, 26, 0, 302, 303,
304, 305, 0, 0, 0, 301, 0, 0, 0, 0,
0, 0, 0, 32, 0, 0, 0, 0, 0, 0,
@@ -1207,7 +1207,7 @@ static const yytype_int16 yytable[] =
24, 25, 26, 0, 0, 27, 0, 0, 0, 0,
29, 30, 31, 0, 0, 0, 0, 0, 0, 32,
0, 0, 0, 0, 0, 0, 33, 34, 35, 36,
- 37, 0, 0, 38, 39, 0, 1, 361, 0, 0,
+ 37, 0, 0, 38, 39, 0, 1, 360, 0, 0,
0, 0, 41, 42, 0, 0, 0, 307, 43, 2,
0, 44, 3, 4, 0, 0, 5, 6, 7, 8,
9, 10, 11, 0, 12, 0, 13, 0, 15, 16,
@@ -1216,7 +1216,7 @@ static const yytype_int16 yytable[] =
27, 0, 0, 0, 0, 29, 30, 31, 0, 0,
0, 0, 0, 0, 32, 0, 0, 0, 0, 0,
0, 33, 34, 35, 36, 37, 0, 0, 38, 39,
- 0, 1, 363, 0, 0, 0, 0, 41, 42, 0,
+ 0, 1, 362, 0, 0, 0, 0, 41, 42, 0,
0, 0, 307, 43, 2, 0, 44, 3, 4, 0,
0, 5, 6, 7, 8, 9, 10, 11, 0, 12,
0, 13, 0, 15, 16, 0, 0, 0, 17, 18,
@@ -1237,100 +1237,100 @@ static const yytype_int16 yytable[] =
43, 0, 0, 44, 0, 0, 0, 0, 32, 0,
0, 0, 0, 0, 0, 33, 34, 35, 36, 37,
0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 41, 42, 0, 291, 2, 0, 43, 3, 4,
- 44, 0, 5, 300, 7, 8, 9, 66, 11, 0,
- 12, 0, 0, 0, 15, 16, 311, 0, 312, 1,
+ 0, 41, 42, 0, 0, 2, 0, 43, 3, 4,
+ 44, 0, 5, 0, 7, 8, 9, 66, 11, 0,
+ 12, 0, 0, 0, 15, 16, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 67, 2, 26, 0, 3, 4, 0, 90, 5,
- 0, 7, 8, 9, 66, 11, 334, 12, 0, 0,
- 32, 15, 16, 0, 0, 0, 0, 33, 34, 35,
- 36, 37, 345, 0, 0, 0, 348, 0, 67, 0,
- 26, 0, 0, 41, 42, 0, 357, 0, 358, 43,
- -159, -159, 44, 362, 0, 0, 0, 32, 0, 0,
+ 0, 7, 8, 9, 66, 11, 0, 12, 0, 0,
+ 32, 15, 16, 0, 291, 0, 0, 33, 34, 35,
+ 36, 37, 0, 300, 0, 0, 0, 0, 67, 0,
+ 26, 0, 0, 41, 42, 0, 311, 0, 312, 43,
+ -159, -159, 44, 0, 0, 0, 0, 32, 0, 0,
0, 0, 0, 0, 33, 34, 35, 36, 37, 0,
- 0, 164, 0, 0, 0, 0, 0, 0, 0, 0,
- 41, 42, 0, 0, 0, 0, 43, 0, 0, 44,
- 128, 129, 130, 131, 132, 133, 0, 134, 165, 166,
- 135, 136, 137, 0, 0, 0, 82, 0, 84, 0,
- 0, 0, 0, 0, 0, 0, 138, 139, 140, 141,
+ 0, 164, 0, 0, 0, 0, 334, 0, 0, 0,
+ 41, 42, 338, 0, 0, 0, 43, 0, 0, 44,
+ 128, 129, 130, 131, 132, 133, 348, 134, 165, 166,
+ 135, 136, 137, 0, 0, 0, 356, 82, 357, 84,
+ 0, 0, 361, 0, 0, 0, 138, 139, 140, 141,
+ 142, 143, 144, 0, 128, 129, 130, 131, 132, 133,
+ 0, 134, 0, 0, 135, 136, 137, 0, 0, 0,
+ 0, 0, 181, 0, 0, 0, 0, 0, 182, 0,
+ 138, 139, 140, 141, 142, 143, 144, 128, 129, 130,
+ 131, 132, 133, 0, 134, 0, 0, 135, 136, 137,
+ 0, 0, 0, 0, 0, 183, 0, 0, 0, 0,
+ 0, 184, 0, 138, 139, 140, 141, 142, 143, 144,
+ 128, 129, 130, 131, 132, 133, 0, 134, 0, 0,
+ 135, 136, 137, 0, 0, 0, 0, 0, 185, 0,
+ 0, 0, 0, 0, 186, 0, 138, 139, 140, 141,
142, 143, 144, 128, 129, 130, 131, 132, 133, 0,
134, 0, 0, 135, 136, 137, 0, 0, 0, 0,
- 0, 181, 0, 0, 0, 0, 0, 182, 0, 138,
+ 0, 187, 0, 0, 0, 0, 0, 188, 0, 138,
139, 140, 141, 142, 143, 144, 128, 129, 130, 131,
132, 133, 0, 134, 0, 0, 135, 136, 137, 0,
- 0, 0, 0, 0, 183, 0, 0, 0, 0, 0,
- 184, 0, 138, 139, 140, 141, 142, 143, 144, 128,
+ 0, 0, 0, 0, 284, 0, 0, 0, 0, 0,
+ 0, 0, 138, 139, 140, 141, 142, 143, 144, 128,
129, 130, 131, 132, 133, 0, 134, 0, 0, 135,
- 136, 137, 0, 0, 0, 0, 0, 185, 0, 0,
- 0, 0, 0, 186, 0, 138, 139, 140, 141, 142,
+ 136, 137, 0, 0, 0, 0, 0, 285, 0, 0,
+ 0, 0, 0, 0, 0, 138, 139, 140, 141, 142,
143, 144, 128, 129, 130, 131, 132, 133, 0, 134,
0, 0, 135, 136, 137, 0, 0, 0, 0, 0,
- 187, 0, 0, 0, 0, 0, 188, 0, 138, 139,
+ 286, 0, 0, 0, 0, 0, 0, 0, 138, 139,
140, 141, 142, 143, 144, 128, 129, 130, 131, 132,
133, 0, 134, 0, 0, 135, 136, 137, 0, 0,
- 0, 0, 0, 284, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 287, 0, 0, 0, 0, 0, 0,
0, 138, 139, 140, 141, 142, 143, 144, 128, 129,
130, 131, 132, 133, 0, 134, 0, 0, 135, 136,
- 137, 0, 0, 0, 0, 0, 285, 0, 0, 0,
- 0, 0, 0, 0, 138, 139, 140, 141, 142, 143,
- 144, 128, 129, 130, 131, 132, 133, 0, 134, 0,
- 0, 135, 136, 137, 0, 0, 0, 0, 0, 286,
- 0, 0, 0, 0, 0, 0, 0, 138, 139, 140,
- 141, 142, 143, 144, 128, 129, 130, 131, 132, 133,
- 0, 134, 0, 0, 135, 136, 137, 0, 0, 0,
- 0, 0, 287, 0, 0, 0, 0, 0, 0, 0,
+ 137, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 191, 0, 138, 139, 140, 141, 142, 143,
+ 144, 128, 129, 130, 131, 132, 133, 177, 134, 0,
+ 0, 135, 136, 137, 128, 129, 130, 131, 132, 133,
+ 0, 134, 0, 0, 135, 136, 137, 138, 139, 140,
+ 141, 142, 143, 144, 0, 192, 0, 0, 0, 0,
138, 139, 140, 141, 142, 143, 144, 128, 129, 130,
131, 132, 133, 0, 134, 0, 0, 135, 136, 137,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 191, 0, 138, 139, 140, 141, 142, 143, 144,
- 128, 129, 130, 131, 132, 133, 177, 134, 0, 0,
- 135, 136, 137, 128, 129, 130, 131, 132, 133, 0,
- 134, 0, 0, 135, 136, 137, 138, 139, 140, 141,
- 142, 143, 144, 0, 192, 0, 0, 0, 0, 138,
- 139, 140, 141, 142, 143, 144, 128, 129, 130, 131,
- 132, 133, 0, 134, 0, 0, 135, 136, 137, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 138, 139, 140, 141, 142, 143, 144, 0,
- 0, 0, 196, 128, 129, 130, 131, 132, 133, 0,
- 134, 0, 0, 135, 136, 137, 0, 0, 0, 0,
- 0, 189, 190, 0, 0, 0, 0, 0, 0, 138,
- 139, 140, 141, 142, 143, 144, 128, 129, 130, 131,
- 132, 133, 0, 134, 0, 0, 135, 136, 137, 128,
- 129, 130, 131, 0, 0, 0, 134, 0, 0, 135,
- 136, 137, 138, 139, 140, 141, 142, 143, 144, 0,
- 0, 0, 0, 0, 0, 138, 139, 140, 141, 142,
- 143, 144
+ 0, 0, 0, 138, 139, 140, 141, 142, 143, 144,
+ 0, 0, 0, 196, 128, 129, 130, 131, 132, 133,
+ 0, 134, 0, 0, 135, 136, 137, 0, 0, 0,
+ 0, 0, 189, 190, 0, 0, 0, 0, 0, 0,
+ 138, 139, 140, 141, 142, 143, 144, 128, 129, 130,
+ 131, 132, 133, 0, 134, 0, 0, 135, 136, 137,
+ 128, 129, 130, 131, 0, 0, 0, 134, 0, 0,
+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
+ 0, 0, 0, 0, 0, 0, 138, 139, 140, 141,
+ 142, 143, 144
};
static const yytype_int16 yycheck[] =
{
- 6, 7, 156, 79, 10, 54, 300, 4, 6, 7,
- 30, 8, 273, 19, 97, 0, 65, 93, 24, 70,
+ 6, 7, 156, 79, 10, 54, 273, 4, 6, 7,
+ 30, 8, 300, 19, 97, 0, 65, 93, 24, 70,
27, 48, 29, 29, 30, 70, 32, 33, 34, 35,
36, 37, 38, 43, 51, 41, 42, 43, 44, 51,
- 24, 97, 26, 94, 95, 51, 54, 92, 93, 94,
- 95, 97, 313, 54, 100, 65, 26, 65, 17, 18,
- 19, 67, 68, 357, 65, 71, 86, 26, 97, 75,
- 68, 100, 78, 71, 33, 97, 82, 74, 100, 26,
- 78, 0, 102, 56, 57, 99, 100, 98, 239, 1,
+ 24, 0, 26, 94, 95, 51, 313, 92, 93, 94,
+ 95, 17, 18, 19, 97, 65, 97, 100, 26, 100,
+ 26, 67, 68, 54, 54, 71, 86, 33, 356, 75,
+ 68, 26, 78, 71, 65, 65, 82, 74, 97, 97,
+ 78, 100, 102, 56, 57, 99, 100, 98, 239, 1,
99, 100, 76, 77, 78, 79, 99, 100, 95, 96,
36, 37, 14, 26, 100, 17, 100, 46, 26, 21,
26, 26, 54, 53, 26, 27, 26, 29, 26, 26,
103, 275, 128, 129, 130, 131, 132, 133, 134, 135,
136, 137, 138, 139, 140, 141, 142, 143, 144, 103,
- 146, 126, 102, 100, 150, 100, 26, 100, 154, 48,
+ 146, 126, 102, 100, 150, 26, 100, 100, 154, 48,
100, 100, 53, 26, 160, 231, 44, 26, 26, 165,
166, 26, 168, 169, 170, 26, 163, 173, 174, 175,
- 176, 177, 323, 54, 88, 181, 182, 183, 184, 185,
- 186, 187, 188, 189, 190, 87, 98, 26, 339, 101,
+ 176, 177, 323, 87, 54, 181, 182, 183, 184, 185,
+ 186, 187, 188, 189, 190, 88, 98, 26, 339, 101,
54, 35, 86, 70, 200, 100, 73, 54, 349, 26,
- 197, 198, 53, 86, 355, 126, 261, 299, 164, 201,
+ 197, 198, 86, 53, 355, 126, 261, 299, 164, 201,
192, -1, 288, 289, 91, 92, 93, 94, 95, -1,
-1, 297, -1, -1, -1, 1, -1, -1, -1, -1,
-1, 237, 238, -1, -1, -1, 242, 243, 14, -1,
-1, 17, 18, -1, 320, 21, -1, 23, 24, 25,
- 26, 27, 328, 29, -1, -1, -1, 33, 34, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 345,
+ 26, 27, -1, 29, -1, -1, -1, 33, 34, -1,
+ -1, -1, 338, -1, -1, -1, -1, -1, -1, -1,
276, -1, -1, -1, 50, -1, 52, -1, 284, 285,
286, 287, -1, -1, -1, 282, -1, -1, -1, -1,
-1, -1, -1, 69, -1, -1, -1, -1, -1, -1,
@@ -1496,69 +1496,69 @@ static const yytype_int16 yycheck[] =
98, -1, -1, 101, -1, -1, -1, -1, 69, -1,
-1, -1, -1, -1, -1, 76, 77, 78, 79, 80,
-1, -1, 1, -1, -1, -1, -1, -1, -1, -1,
- -1, 92, 93, -1, 270, 14, -1, 98, 17, 18,
- 101, -1, 21, 279, 23, 24, 25, 26, 27, -1,
- 29, -1, -1, -1, 33, 34, 292, -1, 294, 1,
+ -1, 92, 93, -1, -1, 14, -1, 98, 17, 18,
+ 101, -1, 21, -1, 23, 24, 25, 26, 27, -1,
+ 29, -1, -1, -1, 33, 34, -1, -1, -1, 1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 50, 14, 52, -1, 17, 18, -1, 20, 21,
- -1, 23, 24, 25, 26, 27, 322, 29, -1, -1,
- 69, 33, 34, -1, -1, -1, -1, 76, 77, 78,
- 79, 80, 338, -1, -1, -1, 342, -1, 50, -1,
- 52, -1, -1, 92, 93, -1, 352, -1, 354, 98,
- 99, 100, 101, 359, -1, -1, -1, 69, -1, -1,
+ -1, 23, 24, 25, 26, 27, -1, 29, -1, -1,
+ 69, 33, 34, -1, 270, -1, -1, 76, 77, 78,
+ 79, 80, -1, 279, -1, -1, -1, -1, 50, -1,
+ 52, -1, -1, 92, 93, -1, 292, -1, 294, 98,
+ 99, 100, 101, -1, -1, -1, -1, 69, -1, -1,
-1, -1, -1, -1, 76, 77, 78, 79, 80, -1,
- -1, 44, -1, -1, -1, -1, -1, -1, -1, -1,
- 92, 93, -1, -1, -1, -1, 98, -1, -1, 101,
- 63, 64, 65, 66, 67, 68, -1, 70, 71, 72,
- 73, 74, 75, -1, -1, -1, 46, -1, 48, -1,
- -1, -1, -1, -1, -1, -1, 89, 90, 91, 92,
+ -1, 44, -1, -1, -1, -1, 322, -1, -1, -1,
+ 92, 93, 328, -1, -1, -1, 98, -1, -1, 101,
+ 63, 64, 65, 66, 67, 68, 342, 70, 71, 72,
+ 73, 74, 75, -1, -1, -1, 352, 46, 354, 48,
+ -1, -1, 358, -1, -1, -1, 89, 90, 91, 92,
+ 93, 94, 95, -1, 63, 64, 65, 66, 67, 68,
+ -1, 70, -1, -1, 73, 74, 75, -1, -1, -1,
+ -1, -1, 48, -1, -1, -1, -1, -1, 54, -1,
+ 89, 90, 91, 92, 93, 94, 95, 63, 64, 65,
+ 66, 67, 68, -1, 70, -1, -1, 73, 74, 75,
+ -1, -1, -1, -1, -1, 48, -1, -1, -1, -1,
+ -1, 54, -1, 89, 90, 91, 92, 93, 94, 95,
+ 63, 64, 65, 66, 67, 68, -1, 70, -1, -1,
+ 73, 74, 75, -1, -1, -1, -1, -1, 48, -1,
+ -1, -1, -1, -1, 54, -1, 89, 90, 91, 92,
93, 94, 95, 63, 64, 65, 66, 67, 68, -1,
70, -1, -1, 73, 74, 75, -1, -1, -1, -1,
-1, 48, -1, -1, -1, -1, -1, 54, -1, 89,
90, 91, 92, 93, 94, 95, 63, 64, 65, 66,
67, 68, -1, 70, -1, -1, 73, 74, 75, -1,
-1, -1, -1, -1, 48, -1, -1, -1, -1, -1,
- 54, -1, 89, 90, 91, 92, 93, 94, 95, 63,
+ -1, -1, 89, 90, 91, 92, 93, 94, 95, 63,
64, 65, 66, 67, 68, -1, 70, -1, -1, 73,
74, 75, -1, -1, -1, -1, -1, 48, -1, -1,
- -1, -1, -1, 54, -1, 89, 90, 91, 92, 93,
+ -1, -1, -1, -1, -1, 89, 90, 91, 92, 93,
94, 95, 63, 64, 65, 66, 67, 68, -1, 70,
-1, -1, 73, 74, 75, -1, -1, -1, -1, -1,
- 48, -1, -1, -1, -1, -1, 54, -1, 89, 90,
+ 48, -1, -1, -1, -1, -1, -1, -1, 89, 90,
91, 92, 93, 94, 95, 63, 64, 65, 66, 67,
68, -1, 70, -1, -1, 73, 74, 75, -1, -1,
-1, -1, -1, 48, -1, -1, -1, -1, -1, -1,
-1, 89, 90, 91, 92, 93, 94, 95, 63, 64,
65, 66, 67, 68, -1, 70, -1, -1, 73, 74,
- 75, -1, -1, -1, -1, -1, 48, -1, -1, -1,
- -1, -1, -1, -1, 89, 90, 91, 92, 93, 94,
- 95, 63, 64, 65, 66, 67, 68, -1, 70, -1,
- -1, 73, 74, 75, -1, -1, -1, -1, -1, 48,
- -1, -1, -1, -1, -1, -1, -1, 89, 90, 91,
- 92, 93, 94, 95, 63, 64, 65, 66, 67, 68,
- -1, 70, -1, -1, 73, 74, 75, -1, -1, -1,
- -1, -1, 48, -1, -1, -1, -1, -1, -1, -1,
+ 75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 54, -1, 89, 90, 91, 92, 93, 94,
+ 95, 63, 64, 65, 66, 67, 68, 56, 70, -1,
+ -1, 73, 74, 75, 63, 64, 65, 66, 67, 68,
+ -1, 70, -1, -1, 73, 74, 75, 89, 90, 91,
+ 92, 93, 94, 95, -1, 97, -1, -1, -1, -1,
89, 90, 91, 92, 93, 94, 95, 63, 64, 65,
66, 67, 68, -1, 70, -1, -1, 73, 74, 75,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 54, -1, 89, 90, 91, 92, 93, 94, 95,
- 63, 64, 65, 66, 67, 68, 56, 70, -1, -1,
- 73, 74, 75, 63, 64, 65, 66, 67, 68, -1,
- 70, -1, -1, 73, 74, 75, 89, 90, 91, 92,
- 93, 94, 95, -1, 97, -1, -1, -1, -1, 89,
- 90, 91, 92, 93, 94, 95, 63, 64, 65, 66,
- 67, 68, -1, 70, -1, -1, 73, 74, 75, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 89, 90, 91, 92, 93, 94, 95, -1,
- -1, -1, 99, 63, 64, 65, 66, 67, 68, -1,
- 70, -1, -1, 73, 74, 75, -1, -1, -1, -1,
- -1, 81, 82, -1, -1, -1, -1, -1, -1, 89,
- 90, 91, 92, 93, 94, 95, 63, 64, 65, 66,
- 67, 68, -1, 70, -1, -1, 73, 74, 75, 63,
- 64, 65, 66, -1, -1, -1, 70, -1, -1, 73,
- 74, 75, 89, 90, 91, 92, 93, 94, 95, -1,
- -1, -1, -1, -1, -1, 89, 90, 91, 92, 93,
- 94, 95
+ -1, -1, -1, 89, 90, 91, 92, 93, 94, 95,
+ -1, -1, -1, 99, 63, 64, 65, 66, 67, 68,
+ -1, 70, -1, -1, 73, 74, 75, -1, -1, -1,
+ -1, -1, 81, 82, -1, -1, -1, -1, -1, -1,
+ 89, 90, 91, 92, 93, 94, 95, 63, 64, 65,
+ 66, 67, 68, -1, 70, -1, -1, 73, 74, 75,
+ 63, 64, 65, 66, -1, -1, -1, 70, -1, -1,
+ 73, 74, 75, 89, 90, 91, 92, 93, 94, 95,
+ -1, -1, -1, -1, -1, -1, 89, 90, 91, 92,
+ 93, 94, 95
};
/* YYSTOSSTATE-NUM -- The (internal number of the) accessing
@@ -1598,10 +1598,10 @@ static const yytype_uint8 yystos[] =
128, 129, 130, 130, 130, 130, 127, 97, 109, 127,
124, 128, 128, 97, 127, 125, 125, 124, 54, 88,
121, 30, 152, 117, 111, 114, 87, 130, 36, 37,
- 122, 127, 26, 151, 128, 123, 54, 35, 127, 130,
- 86, 100, 118, 130, 54, 128, 123, 26, 128, 112,
- 130, 127, 53, 87, 123, 115, 86, 128, 128, 123,
- 124, 87, 128, 87
+ 122, 127, 26, 151, 128, 123, 54, 35, 128, 130,
+ 86, 100, 118, 130, 54, 127, 123, 26, 128, 112,
+ 130, 86, 53, 87, 123, 115, 128, 128, 123, 124,
+ 87, 128, 87
};
/* YYR1YYN -- Symbol number of symbol that rule YYN derives. */
@@ -1634,7 +1634,7 @@ static const yytype_int8 yyr2[] =
4, 4, 4, 4, 4, 4, 5, 5, 8, 4,
1, 1, 1, 1, 1, 8, 0, 0, 0, 14,
0, 0, 0, 15, 0, 0, 0, 12, 2, 4,
- 7, 6, 0, 9, 12, 0, 2, 6, 0, 0,
+ 7, 6, 0, 9, 11, 0, 2, 6, 0, 0,
0, 1, 0, 0, 2, 2, 1, 1, 1, 1,
1, 1, 3, 1, 2, 1, 1, 4, 2, 4,
3, 2, 1, 1, 1, 3, 3, 3, 3, 3,
@@ -2628,13 +2628,13 @@ yyreduce:
case 44:
#line 412 "engines/director/lingo/lingo-gr.y"
- {
+ {
inst else1 = 0, end = 0;
- WRITE_UINT32(&else1, (yyvsp[-6].code) + 1 - (yyvsp[-9].code) + 1);
- WRITE_UINT32(&end, (yyvsp[-1].code) - (yyvsp[-6].code) + 1);
- (*g_lingo->_currentScript)[(yyvsp[-9].code)] = else1; /* elsepart */
- (*g_lingo->_currentScript)[(yyvsp[-6].code)] = end; /* end, if cond fails */
- g_lingo->processIf((yyvsp[-6].code), (yyvsp[-1].code)); }
+ WRITE_UINT32(&else1, (yyvsp[-5].code) + 1 - (yyvsp[-8].code) + 1);
+ WRITE_UINT32(&end, (yyvsp[-1].code) - (yyvsp[-5].code) + 1);
+ (*g_lingo->_currentScript)[(yyvsp[-8].code)] = else1; /* elsepart */
+ (*g_lingo->_currentScript)[(yyvsp[-5].code)] = end; /* end, if cond fails */
+ g_lingo->processIf((yyvsp[-5].code), (yyvsp[-1].code)); }
#line 2639 "engines/director/lingo/lingo-gr.cpp"
break;
diff --git a/engines/director/lingo/lingo-gr.y b/engines/director/lingo/lingo-gr.y
index 72c67b55f2..9041df4f31 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -409,7 +409,7 @@ ifstmt: if expr jumpifz[then] tTHEN stmtlist jump[else1] elseifstmtlist lbl[end3
(*g_lingo->_currentScript)[$then] = else1; /* elsepart */
(*g_lingo->_currentScript)[$else1] = end3; /* end, if cond fails */
g_lingo->processIf($else1, $end3); }
- | if expr jumpifz[then] tTHEN stmtlist jump[else1] elseifstmtlist tELSE lbl stmtlist lbl[end3] tENDIF {
+ | if expr jumpifz[then] tTHEN stmtlist jump[else1] elseifstmtlist tELSE stmtlist lbl[end3] tENDIF {
inst else1 = 0, end = 0;
WRITE_UINT32(&else1, $else1 + 1 - $then + 1);
WRITE_UINT32(&end, $end3 - $else1 + 1);
More information about the Scummvm-git-logs
mailing list