aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorEugene Sandulenko2019-12-04 01:20:39 +0100
committerEugene Sandulenko2019-12-05 01:35:52 +0100
commit38cd13cdb492d15f40f6e991f9fda96195e90937 (patch)
tree15fa6154aa76a1f29cac3bba6c85a85ac26bb4ac /engines
parent6c706037e4aae7471341973b27fb7a85b3668932 (diff)
downloadscummvm-rg350-38cd13cdb492d15f40f6e991f9fda96195e90937.tar.gz
scummvm-rg350-38cd13cdb492d15f40f6e991f9fda96195e90937.tar.bz2
scummvm-rg350-38cd13cdb492d15f40f6e991f9fda96195e90937.zip
DIRECTOR: LINGO: Simplify 'if' statement parser
Diffstat (limited to 'engines')
-rw-r--r--engines/director/lingo/lingo-gr.cpp1583
-rw-r--r--engines/director/lingo/lingo-gr.y50
2 files changed, 776 insertions, 857 deletions
diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp
index 582d6ff834..3b7f90e84c 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -544,16 +544,16 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 128
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 1946
+#define YYLAST 1789
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 107
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 43
+#define YYNNTS 41
/* YYNRULES -- Number of rules. */
-#define YYNRULES 171
+#define YYNRULES 166
/* YYNRULES -- Number of states. */
-#define YYNSTATES 388
+#define YYNSTATES 380
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
@@ -610,94 +610,91 @@ static const yytype_uint16 yyprhs[] =
0, 0, 3, 7, 9, 12, 13, 15, 17, 22,
27, 32, 37, 42, 47, 52, 57, 63, 69, 71,
73, 75, 77, 79, 85, 96, 108, 112, 119, 124,
- 127, 129, 132, 134, 141, 143, 150, 157, 164, 174,
- 181, 192, 202, 211, 219, 229, 236, 244, 250, 255,
- 258, 262, 264, 266, 267, 268, 270, 273, 276, 280,
- 282, 284, 286, 288, 290, 292, 294, 296, 298, 301,
- 304, 309, 314, 316, 319, 321, 325, 329, 333, 337,
- 341, 345, 349, 353, 357, 361, 365, 369, 373, 376,
- 380, 384, 388, 392, 395, 398, 402, 406, 411, 416,
- 421, 428, 433, 440, 445, 452, 457, 464, 466, 469,
- 472, 474, 476, 479, 481, 484, 487, 490, 492, 495,
- 498, 500, 503, 508, 513, 520, 525, 528, 532, 534,
- 538, 540, 544, 546, 550, 553, 556, 559, 562, 566,
- 569, 572, 574, 578, 581, 584, 587, 591, 594, 595,
- 599, 600, 609, 612, 613, 622, 631, 638, 641, 642,
- 644, 648, 653, 654, 656, 660, 661, 664, 665, 667,
- 671, 673
+ 131, 141, 148, 159, 169, 178, 186, 189, 191, 198,
+ 205, 215, 223, 229, 234, 237, 241, 243, 245, 246,
+ 247, 249, 252, 255, 259, 261, 263, 265, 267, 269,
+ 271, 273, 275, 277, 280, 283, 288, 293, 295, 298,
+ 300, 304, 308, 312, 316, 320, 324, 328, 332, 336,
+ 340, 344, 348, 352, 355, 359, 363, 367, 371, 374,
+ 377, 381, 385, 390, 395, 400, 407, 412, 419, 424,
+ 431, 436, 443, 445, 448, 451, 453, 455, 458, 460,
+ 463, 466, 469, 471, 474, 477, 479, 482, 487, 492,
+ 499, 504, 507, 511, 513, 517, 519, 523, 525, 529,
+ 532, 535, 538, 541, 545, 548, 551, 553, 557, 560,
+ 563, 566, 570, 573, 574, 578, 579, 588, 591, 592,
+ 601, 610, 617, 620, 621, 623, 627, 632, 633, 635,
+ 639, 640, 643, 644, 646, 650, 652
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int16 yyrhs[] =
{
108, 0, -1, 108, 99, 109, -1, 109, -1, 1,
- 99, -1, -1, 140, -1, 112, -1, 51, 129, 44,
- 30, -1, 51, 129, 44, 130, -1, 51, 129, 77,
- 129, -1, 51, 129, 78, 129, -1, 53, 30, 71,
- 129, -1, 53, 15, 71, 129, -1, 53, 30, 56,
- 129, -1, 53, 15, 56, 129, -1, 53, 16, 129,
- 56, 129, -1, 53, 16, 128, 71, 129, -1, 147,
- -1, 129, -1, 131, -1, 111, -1, 117, -1, 119,
- 129, 125, 124, 34, -1, 120, 71, 129, 124, 56,
- 129, 124, 125, 124, 34, -1, 120, 71, 129, 124,
- 36, 56, 129, 124, 125, 124, 34, -1, 126, 111,
- 124, -1, 127, 129, 99, 125, 124, 34, -1, 127,
- 129, 56, 129, -1, 113, 116, -1, 116, -1, 114,
- 115, -1, 115, -1, 122, 129, 54, 123, 112, 124,
- -1, 114, -1, 122, 129, 54, 123, 125, 124, -1,
- 122, 129, 55, 123, 125, 124, -1, 121, 129, 55,
- 125, 124, 34, -1, 121, 129, 54, 123, 111, 124,
- 37, 111, 124, -1, 121, 129, 54, 123, 111, 124,
- -1, 121, 129, 54, 123, 111, 124, 113, 124, 118,
- 124, -1, 121, 129, 55, 125, 124, 113, 124, 118,
- 124, -1, 121, 129, 54, 123, 111, 124, 118, 124,
- -1, 121, 129, 55, 125, 124, 118, 124, -1, 122,
- 129, 54, 123, 111, 124, 37, 111, 124, -1, 122,
- 129, 54, 123, 111, 124, -1, 122, 129, 55, 123,
- 125, 124, 34, -1, 60, 123, 125, 124, 34, -1,
- 60, 123, 111, 124, -1, 52, 59, -1, 52, 58,
- 30, -1, 43, -1, 38, -1, -1, -1, 123, -1,
- 125, 99, -1, 125, 112, -1, 57, 30, 54, -1,
- 89, -1, 12, -1, 17, -1, 33, -1, 31, -1,
- 30, -1, 128, -1, 130, -1, 25, -1, 26, 129,
- -1, 27, 149, -1, 27, 100, 149, 101, -1, 30,
- 100, 148, 101, -1, 15, -1, 16, 129, -1, 110,
- -1, 129, 94, 129, -1, 129, 95, 129, -1, 129,
- 96, 129, -1, 129, 97, 129, -1, 129, 76, 129,
- -1, 129, 102, 129, -1, 129, 103, 129, -1, 129,
- 71, 129, -1, 129, 72, 129, -1, 129, 67, 129,
- -1, 129, 68, 129, -1, 129, 73, 129, -1, 129,
- 74, 129, -1, 75, 129, -1, 129, 93, 129, -1,
- 129, 79, 129, -1, 129, 80, 129, -1, 129, 81,
- 129, -1, 94, 129, -1, 95, 129, -1, 100, 129,
- 101, -1, 104, 148, 105, -1, 86, 129, 87, 129,
- -1, 86, 129, 88, 129, -1, 82, 129, 49, 129,
- -1, 82, 129, 56, 129, 49, 129, -1, 83, 129,
- 49, 129, -1, 83, 129, 56, 129, 49, 129, -1,
- 84, 129, 49, 129, -1, 84, 129, 56, 129, 49,
- 129, -1, 85, 129, 49, 129, -1, 85, 129, 56,
- 129, 49, 129, -1, 92, -1, 29, 129, -1, 51,
- 129, -1, 135, -1, 138, -1, 39, 52, -1, 39,
- -1, 41, 132, -1, 90, 133, -1, 66, 134, -1,
- 19, -1, 21, 129, -1, 20, 129, -1, 20, -1,
- 22, 149, -1, 22, 100, 149, 101, -1, 92, 100,
- 30, 101, -1, 92, 100, 30, 106, 148, 101, -1,
- 63, 129, 58, 129, -1, 63, 129, -1, 23, 30,
- 148, -1, 30, -1, 132, 106, 30, -1, 30, -1,
- 133, 106, 30, -1, 30, -1, 134, 106, 30, -1,
- 42, 45, -1, 42, 48, -1, 42, 50, -1, 42,
- 136, -1, 42, 136, 137, -1, 42, 137, -1, 40,
- 129, -1, 129, -1, 49, 47, 129, -1, 47, 129,
- -1, 64, 65, -1, 64, 136, -1, 64, 136, 137,
- -1, 64, 137, -1, -1, 35, 139, 148, -1, -1,
- 46, 30, 141, 123, 144, 99, 146, 125, -1, 61,
- 30, -1, -1, 62, 30, 142, 123, 144, 99, 146,
- 125, -1, 143, 123, 144, 99, 146, 125, 34, 145,
- -1, 143, 123, 144, 99, 146, 125, -1, 91, 30,
- -1, -1, 30, -1, 144, 106, 30, -1, 144, 99,
- 106, 30, -1, -1, 30, -1, 145, 106, 30, -1,
- -1, 30, 149, -1, -1, 129, -1, 148, 106, 129,
- -1, 129, -1, 149, 106, 129, -1
+ 99, -1, -1, 138, -1, 112, -1, 51, 127, 44,
+ 30, -1, 51, 127, 44, 128, -1, 51, 127, 77,
+ 127, -1, 51, 127, 78, 127, -1, 53, 30, 71,
+ 127, -1, 53, 15, 71, 127, -1, 53, 30, 56,
+ 127, -1, 53, 15, 56, 127, -1, 53, 16, 127,
+ 56, 127, -1, 53, 16, 126, 71, 127, -1, 145,
+ -1, 127, -1, 129, -1, 111, -1, 113, -1, 117,
+ 127, 123, 122, 34, -1, 118, 71, 127, 122, 56,
+ 127, 122, 123, 122, 34, -1, 118, 71, 127, 122,
+ 36, 56, 127, 122, 123, 122, 34, -1, 124, 111,
+ 122, -1, 125, 127, 99, 123, 122, 34, -1, 125,
+ 127, 56, 127, -1, 119, 127, 55, 123, 122, 34,
+ -1, 119, 127, 54, 121, 111, 122, 37, 111, 122,
+ -1, 119, 127, 54, 121, 111, 122, -1, 119, 127,
+ 54, 121, 111, 122, 114, 122, 116, 122, -1, 119,
+ 127, 55, 123, 122, 114, 122, 116, 122, -1, 119,
+ 127, 54, 121, 111, 122, 116, 122, -1, 119, 127,
+ 55, 123, 122, 116, 122, -1, 114, 115, -1, 115,
+ -1, 120, 127, 54, 121, 111, 122, -1, 120, 127,
+ 55, 121, 123, 122, -1, 120, 127, 54, 121, 111,
+ 122, 37, 111, 122, -1, 120, 127, 55, 121, 123,
+ 122, 34, -1, 60, 121, 123, 122, 34, -1, 60,
+ 121, 111, 122, -1, 52, 59, -1, 52, 58, 30,
+ -1, 43, -1, 38, -1, -1, -1, 121, -1, 123,
+ 99, -1, 123, 112, -1, 57, 30, 54, -1, 89,
+ -1, 12, -1, 17, -1, 33, -1, 31, -1, 30,
+ -1, 126, -1, 128, -1, 25, -1, 26, 127, -1,
+ 27, 147, -1, 27, 100, 147, 101, -1, 30, 100,
+ 146, 101, -1, 15, -1, 16, 127, -1, 110, -1,
+ 127, 94, 127, -1, 127, 95, 127, -1, 127, 96,
+ 127, -1, 127, 97, 127, -1, 127, 76, 127, -1,
+ 127, 102, 127, -1, 127, 103, 127, -1, 127, 71,
+ 127, -1, 127, 72, 127, -1, 127, 67, 127, -1,
+ 127, 68, 127, -1, 127, 73, 127, -1, 127, 74,
+ 127, -1, 75, 127, -1, 127, 93, 127, -1, 127,
+ 79, 127, -1, 127, 80, 127, -1, 127, 81, 127,
+ -1, 94, 127, -1, 95, 127, -1, 100, 127, 101,
+ -1, 104, 146, 105, -1, 86, 127, 87, 127, -1,
+ 86, 127, 88, 127, -1, 82, 127, 49, 127, -1,
+ 82, 127, 56, 127, 49, 127, -1, 83, 127, 49,
+ 127, -1, 83, 127, 56, 127, 49, 127, -1, 84,
+ 127, 49, 127, -1, 84, 127, 56, 127, 49, 127,
+ -1, 85, 127, 49, 127, -1, 85, 127, 56, 127,
+ 49, 127, -1, 92, -1, 29, 127, -1, 51, 127,
+ -1, 133, -1, 136, -1, 39, 52, -1, 39, -1,
+ 41, 130, -1, 90, 131, -1, 66, 132, -1, 19,
+ -1, 21, 127, -1, 20, 127, -1, 20, -1, 22,
+ 147, -1, 22, 100, 147, 101, -1, 92, 100, 30,
+ 101, -1, 92, 100, 30, 106, 146, 101, -1, 63,
+ 127, 58, 127, -1, 63, 127, -1, 23, 30, 146,
+ -1, 30, -1, 130, 106, 30, -1, 30, -1, 131,
+ 106, 30, -1, 30, -1, 132, 106, 30, -1, 42,
+ 45, -1, 42, 48, -1, 42, 50, -1, 42, 134,
+ -1, 42, 134, 135, -1, 42, 135, -1, 40, 127,
+ -1, 127, -1, 49, 47, 127, -1, 47, 127, -1,
+ 64, 65, -1, 64, 134, -1, 64, 134, 135, -1,
+ 64, 135, -1, -1, 35, 137, 146, -1, -1, 46,
+ 30, 139, 121, 142, 99, 144, 123, -1, 61, 30,
+ -1, -1, 62, 30, 140, 121, 142, 99, 144, 123,
+ -1, 141, 121, 142, 99, 144, 123, 34, 143, -1,
+ 141, 121, 142, 99, 144, 123, -1, 91, 30, -1,
+ -1, 30, -1, 142, 106, 30, -1, 142, 99, 106,
+ 30, -1, -1, 30, -1, 143, 106, 30, -1, -1,
+ 30, 147, -1, -1, 127, -1, 146, 106, 127, -1,
+ 127, -1, 147, 106, 127, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
@@ -706,21 +703,20 @@ static const yytype_uint16 yyrline[] =
0, 120, 120, 121, 122, 125, 126, 127, 130, 136,
139, 140, 141, 147, 154, 160, 167, 173, 181, 182,
183, 186, 187, 192, 205, 223, 237, 242, 245, 250,
- 251, 254, 255, 258, 266, 267, 273, 281, 291, 302,
- 312, 322, 332, 342, 356, 362, 368, 376, 380, 384,
- 387, 394, 401, 409, 412, 415, 416, 417, 420, 426,
- 430, 433, 436, 439, 442, 448, 449, 450, 453, 456,
- 457, 458, 461, 469, 475, 476, 477, 478, 479, 480,
- 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
- 491, 492, 493, 494, 495, 496, 497, 498, 499, 500,
- 501, 502, 503, 504, 505, 506, 507, 508, 511, 516,
- 517, 518, 519, 520, 521, 522, 523, 524, 527, 530,
- 533, 537, 538, 539, 540, 541, 542, 543, 546, 547,
- 550, 551, 554, 555, 566, 567, 568, 569, 573, 577,
- 583, 584, 587, 588, 591, 592, 596, 600, 604, 604,
- 634, 634, 639, 640, 640, 645, 652, 658, 660, 661,
- 662, 663, 666, 667, 668, 671, 675, 683, 684, 685,
- 688, 689
+ 260, 271, 281, 291, 301, 311, 324, 325, 328, 334,
+ 342, 348, 356, 360, 364, 367, 374, 381, 389, 392,
+ 395, 396, 397, 400, 406, 410, 413, 416, 419, 422,
+ 428, 429, 430, 433, 436, 437, 438, 441, 449, 455,
+ 456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
+ 466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
+ 476, 477, 478, 479, 480, 481, 482, 483, 484, 485,
+ 486, 487, 488, 491, 496, 497, 498, 499, 500, 501,
+ 502, 503, 504, 507, 510, 513, 517, 518, 519, 520,
+ 521, 522, 523, 526, 527, 530, 531, 534, 535, 546,
+ 547, 548, 549, 553, 557, 563, 564, 567, 568, 571,
+ 572, 576, 580, 584, 584, 614, 614, 619, 620, 620,
+ 625, 632, 638, 640, 641, 642, 643, 646, 647, 648,
+ 651, 655, 663, 664, 665, 668, 669
};
#endif
@@ -745,13 +741,13 @@ static const char *const yytname[] =
"tLINE", "tWORD", "tSPRITE", "tINTERSECTS", "tWITHIN", "tTELL",
"tPROPERTY", "tON", "tME", "'&'", "'+'", "'-'", "'*'", "'/'", "'%'",
"'\\n'", "'('", "')'", "'>'", "'<'", "'['", "']'", "','", "$accept",
- "program", "programline", "asgn", "stmtoneliner", "stmt", "elseifstmt",
- "elseifstmtoneliner", "elseifstmtoneliner1", "elseifstmt1", "ifstmt",
- "endifstmt", "repeatwhile", "repeatwith", "if", "elseif", "begin", "end",
- "stmtlist", "when", "tell", "simpleexpr", "expr", "reference", "proc",
- "globallist", "propertylist", "instancelist", "gotofunc", "gotoframe",
- "gotomovie", "playfunc", "@1", "defn", "@2", "@3", "on", "argdef",
- "endargdef", "argstore", "macro", "arglist", "nonemptyarglist", 0
+ "program", "programline", "asgn", "stmtoneliner", "stmt", "ifstmt",
+ "elseifstmtlist", "elseifstmt", "endifstmt", "repeatwhile", "repeatwith",
+ "if", "elseif", "begin", "end", "stmtlist", "when", "tell", "simpleexpr",
+ "expr", "reference", "proc", "globallist", "propertylist",
+ "instancelist", "gotofunc", "gotoframe", "gotomovie", "playfunc", "@1",
+ "defn", "@2", "@3", "on", "argdef", "endargdef", "argstore", "macro",
+ "arglist", "nonemptyarglist", 0
};
#endif
@@ -780,21 +776,20 @@ static const yytype_uint8 yyr1[] =
0, 107, 108, 108, 108, 109, 109, 109, 110, 110,
110, 110, 110, 110, 110, 110, 110, 110, 111, 111,
111, 112, 112, 112, 112, 112, 112, 112, 112, 113,
- 113, 114, 114, 115, 116, 116, 116, 117, 117, 117,
- 117, 117, 117, 117, 118, 118, 118, 118, 118, 119,
- 120, 121, 122, 123, 124, 125, 125, 125, 126, 127,
- 128, 128, 128, 128, 128, 129, 129, 129, 129, 129,
+ 113, 113, 113, 113, 113, 113, 114, 114, 115, 115,
+ 116, 116, 116, 116, 117, 118, 119, 120, 121, 122,
+ 123, 123, 123, 124, 125, 126, 126, 126, 126, 126,
+ 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
+ 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
+ 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
+ 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
+ 127, 127, 127, 128, 129, 129, 129, 129, 129, 129,
129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 130, 131,
- 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
- 131, 131, 131, 131, 131, 131, 131, 131, 132, 132,
- 133, 133, 134, 134, 135, 135, 135, 135, 135, 135,
- 136, 136, 137, 137, 138, 138, 138, 138, 139, 138,
- 141, 140, 140, 142, 140, 140, 140, 143, 144, 144,
- 144, 144, 145, 145, 145, 146, 147, 148, 148, 148,
- 149, 149
+ 129, 129, 129, 130, 130, 131, 131, 132, 132, 133,
+ 133, 133, 133, 133, 133, 134, 134, 135, 135, 136,
+ 136, 136, 136, 137, 136, 139, 138, 138, 140, 138,
+ 138, 138, 141, 142, 142, 142, 142, 143, 143, 143,
+ 144, 145, 146, 146, 146, 147, 147
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
@@ -802,22 +797,21 @@ static const yytype_uint8 yyr2[] =
{
0, 2, 3, 1, 2, 0, 1, 1, 4, 4,
4, 4, 4, 4, 4, 4, 5, 5, 1, 1,
- 1, 1, 1, 5, 10, 11, 3, 6, 4, 2,
- 1, 2, 1, 6, 1, 6, 6, 6, 9, 6,
- 10, 9, 8, 7, 9, 6, 7, 5, 4, 2,
- 3, 1, 1, 0, 0, 1, 2, 2, 3, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 2, 2,
- 4, 4, 1, 2, 1, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 2, 3,
- 3, 3, 3, 2, 2, 3, 3, 4, 4, 4,
- 6, 4, 6, 4, 6, 4, 6, 1, 2, 2,
- 1, 1, 2, 1, 2, 2, 2, 1, 2, 2,
- 1, 2, 4, 4, 6, 4, 2, 3, 1, 3,
- 1, 3, 1, 3, 2, 2, 2, 2, 3, 2,
- 2, 1, 3, 2, 2, 2, 3, 2, 0, 3,
- 0, 8, 2, 0, 8, 8, 6, 2, 0, 1,
- 3, 4, 0, 1, 3, 0, 2, 0, 1, 3,
- 1, 3
+ 1, 1, 1, 5, 10, 11, 3, 6, 4, 6,
+ 9, 6, 10, 9, 8, 7, 2, 1, 6, 6,
+ 9, 7, 5, 4, 2, 3, 1, 1, 0, 0,
+ 1, 2, 2, 3, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 2, 2, 4, 4, 1, 2, 1,
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 2, 3, 3, 3, 3, 2, 2,
+ 3, 3, 4, 4, 4, 6, 4, 6, 4, 6,
+ 4, 6, 1, 2, 2, 1, 1, 2, 1, 2,
+ 2, 2, 1, 2, 2, 1, 2, 4, 4, 6,
+ 4, 2, 3, 1, 3, 1, 3, 1, 3, 2,
+ 2, 2, 2, 3, 2, 2, 1, 3, 2, 2,
+ 2, 3, 2, 0, 3, 0, 8, 2, 0, 8,
+ 8, 6, 2, 0, 1, 3, 4, 0, 1, 3,
+ 0, 2, 0, 1, 3, 1, 3
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -825,458 +819,421 @@ static const yytype_uint8 yyr2[] =
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
- 0, 0, 60, 72, 0, 61, 117, 120, 0, 0,
- 0, 67, 0, 0, 0, 64, 63, 62, 148, 113,
- 0, 0, 51, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 59,
- 0, 0, 107, 0, 0, 0, 167, 0, 3, 74,
- 21, 7, 22, 0, 0, 0, 0, 0, 65, 19,
- 66, 20, 110, 111, 6, 53, 18, 4, 64, 0,
- 107, 73, 119, 118, 0, 170, 121, 167, 68, 0,
- 69, 108, 167, 166, 167, 112, 128, 114, 0, 134,
- 0, 135, 0, 136, 141, 137, 139, 150, 109, 0,
- 49, 0, 0, 0, 0, 152, 153, 126, 144, 145,
- 147, 132, 116, 88, 0, 0, 0, 0, 0, 130,
- 115, 157, 0, 93, 94, 0, 168, 0, 1, 5,
- 53, 0, 0, 54, 0, 0, 0, 0, 0, 0,
+ 0, 0, 55, 67, 0, 56, 112, 115, 0, 0,
+ 0, 62, 0, 0, 0, 59, 58, 57, 143, 108,
+ 0, 0, 46, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 54,
+ 0, 0, 102, 0, 0, 0, 162, 0, 3, 69,
+ 21, 7, 22, 0, 0, 0, 0, 0, 60, 19,
+ 61, 20, 105, 106, 6, 48, 18, 4, 59, 0,
+ 102, 68, 114, 113, 0, 165, 116, 162, 63, 0,
+ 64, 103, 162, 161, 162, 107, 123, 109, 0, 129,
+ 0, 130, 0, 131, 136, 132, 134, 145, 104, 0,
+ 44, 0, 0, 0, 0, 147, 148, 121, 139, 140,
+ 142, 127, 111, 83, 0, 0, 0, 0, 0, 125,
+ 110, 152, 0, 88, 89, 0, 163, 0, 1, 5,
+ 48, 0, 0, 49, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 158, 167, 0, 170, 0, 0, 127, 0,
- 168, 0, 149, 0, 140, 143, 0, 138, 53, 0,
- 0, 0, 50, 0, 0, 65, 0, 0, 0, 58,
- 53, 0, 146, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 95, 96, 0, 2,
- 55, 54, 54, 53, 53, 26, 0, 53, 84, 85,
- 82, 83, 86, 87, 79, 90, 91, 92, 89, 75,
- 76, 77, 78, 80, 81, 159, 0, 122, 171, 70,
- 71, 129, 142, 158, 8, 9, 10, 11, 15, 13,
- 0, 0, 14, 12, 158, 125, 133, 99, 0, 101,
- 0, 103, 0, 105, 0, 97, 98, 131, 123, 167,
- 169, 56, 57, 0, 0, 0, 54, 28, 54, 165,
+ 0, 0, 153, 162, 0, 165, 0, 0, 122, 0,
+ 163, 0, 144, 0, 135, 138, 0, 133, 48, 0,
+ 0, 0, 45, 0, 0, 60, 0, 0, 0, 53,
+ 48, 0, 141, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 90, 91, 0, 2,
+ 50, 49, 49, 48, 48, 26, 0, 48, 79, 80,
+ 77, 78, 81, 82, 74, 85, 86, 87, 84, 70,
+ 71, 72, 73, 75, 76, 154, 0, 117, 166, 65,
+ 66, 124, 137, 153, 8, 9, 10, 11, 15, 13,
+ 0, 0, 14, 12, 153, 120, 128, 94, 0, 96,
+ 0, 98, 0, 100, 0, 92, 93, 126, 118, 162,
+ 164, 51, 52, 0, 0, 0, 49, 28, 49, 160,
0, 0, 17, 16, 0, 0, 0, 0, 0, 0,
- 23, 0, 0, 54, 0, 0, 0, 53, 160, 165,
- 165, 100, 102, 104, 106, 124, 0, 54, 39, 37,
- 52, 53, 54, 34, 32, 30, 54, 0, 27, 161,
- 156, 53, 53, 54, 53, 0, 54, 54, 53, 29,
- 0, 0, 31, 0, 43, 0, 162, 151, 154, 53,
- 54, 54, 0, 42, 54, 54, 0, 54, 0, 0,
- 53, 53, 163, 155, 54, 0, 38, 54, 48, 0,
- 53, 53, 41, 0, 53, 53, 53, 0, 0, 24,
- 40, 47, 53, 53, 53, 53, 0, 54, 54, 54,
- 54, 164, 25, 54, 0, 53, 45, 33, 35, 36,
- 36, 54, 54, 0, 46, 0, 54, 44
+ 23, 0, 0, 49, 0, 0, 0, 48, 155, 160,
+ 160, 95, 97, 99, 101, 119, 0, 49, 31, 29,
+ 47, 48, 49, 37, 49, 0, 27, 156, 151, 48,
+ 48, 49, 48, 0, 49, 49, 48, 36, 0, 0,
+ 35, 0, 157, 146, 149, 48, 49, 49, 0, 34,
+ 49, 49, 0, 49, 0, 48, 48, 158, 150, 49,
+ 0, 30, 49, 43, 0, 48, 48, 33, 0, 0,
+ 48, 0, 0, 24, 32, 42, 0, 48, 48, 48,
+ 49, 49, 159, 25, 49, 49, 0, 48, 38, 39,
+ 38, 39, 49, 49, 0, 41, 0, 0, 49, 40
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 47, 48, 49, 50, 262, 302, 303, 304, 305,
- 52, 306, 53, 54, 55, 307, 200, 376, 369, 56,
- 57, 58, 59, 60, 61, 87, 120, 112, 62, 95,
- 96, 63, 84, 64, 168, 180, 65, 226, 343, 287,
- 66, 161, 76
+ -1, 47, 48, 49, 50, 262, 52, 302, 303, 304,
+ 53, 54, 55, 305, 200, 205, 201, 56, 57, 58,
+ 59, 60, 61, 87, 120, 112, 62, 95, 96, 63,
+ 84, 64, 168, 180, 65, 226, 338, 287, 66, 161,
+ 76
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -288
+#define YYPACT_NINF -284
static const yytype_int16 yypact[] =
{
- 418, -80, -288, -288, 1050, -288, -288, 1050, 1050, 1090,
- 23, -288, 1050, 1171, 1050, 1211, -288, -288, -288, -29,
- 35, 929, -288, 82, 1050, 97, 92, 101, 119, 121,
- 1050, 969, 132, 1050, 1050, 1050, 1050, 1050, 1050, -288,
- 136, 139, 72, 1050, 1050, 1050, 1050, 2, -288, -288,
- -288, -288, -288, 1050, 106, 1050, 848, 1050, -288, 1810,
- -288, -288, -288, -288, -288, -288, -288, -288, 91, 1050,
- -288, 1810, 1810, 1810, 1050, 1810, 86, 1050, 1810, 1050,
- 86, 1810, 1050, 86, 1050, -288, -288, 87, 1050, -288,
- 1050, -288, 150, -288, 1810, 76, -288, -288, 1245, 168,
- -288, -8, 1050, 59, 145, -288, -288, 1707, -288, 76,
- -288, -288, 94, -9, 1278, 1311, 1344, 1377, 1740, -288,
- 95, -288, 172, -9, -9, 1773, 1810, 54, -288, 504,
- 1810, 1050, 1509, -288, 1674, 1050, 1050, 1050, 1050, 1050,
- 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050,
- 1050, 1050, 174, 1050, 1245, 1773, -84, 1050, 99, -45,
- 1773, -42, 99, 176, 1810, 1810, 1050, -288, -288, 135,
- 1050, 1050, -288, 1050, 1050, 138, 824, 1050, 1050, -288,
- -288, 1050, -288, 177, 1050, 1050, 1050, 1050, 1050, 1050,
- 1050, 1050, 1050, 1050, 178, 51, -288, -288, 1050, -288,
- -288, 676, 1810, -288, -288, -288, 1050, -288, 137, 137,
- 137, 137, 1843, 1843, -9, 1810, 137, 137, 204, -19,
- -19, -9, -9, 1810, 1810, -288, -17, -288, 1810, -288,
- -288, -288, 1810, 174, -288, -288, 1810, 1810, 1810, 137,
- 1050, 1050, 1810, 137, 174, 1810, -288, 1810, 24, 1810,
- 1410, 1810, 1443, 1810, 1476, 1810, 1810, -288, -288, 1050,
- 1810, -288, -288, 180, 13, 848, 676, 1810, 676, 104,
- 181, 7, 137, 1810, 10, 1050, 1050, 1050, 1050, 52,
- -288, 159, 1050, -288, -14, 183, 192, -288, -288, 104,
- 104, 1810, 1810, 1810, 1810, -288, 1050, 1810, 30, -288,
- -288, -288, 185, 185, -288, -288, -288, 1050, -288, -288,
- 590, -288, -288, 1810, -288, 848, 185, -288, 848, -288,
- 1050, 50, -288, 1050, -288, 1542, 194, 676, 676, -288,
- 676, -288, 50, -288, -288, 676, 1575, -288, 1050, 1641,
- -288, -288, -288, 120, 676, 193, -288, -288, -288, 195,
- -288, -288, -288, 1608, -288, 762, -288, 198, 201, -288,
- -288, -288, 762, -288, -288, -288, 762, 64, -288, 676,
- 676, -288, -288, 676, 848, -288, 205, -288, -288, 207,
- -288, -288, 676, 848, -288, 207, -288, -288
+ 380, -76, -284, -284, 926, -284, -284, 926, 926, 966,
+ 57, -284, 926, 1047, 926, 1087, -284, -284, -284, 29,
+ 65, 805, -284, 67, 926, 43, 44, 69, 77, 84,
+ 926, 845, 93, 926, 926, 926, 926, 926, 926, -284,
+ 95, 118, 54, 926, 926, 926, 926, 7, -284, -284,
+ -284, -284, -284, 926, 85, 926, 724, 926, -284, 1653,
+ -284, -284, -284, -284, -284, -284, -284, -284, 60, 926,
+ -284, 1653, 1653, 1653, 926, 1653, 58, 926, 1653, 926,
+ 58, 1653, 926, 58, 926, -284, -284, 59, 926, -284,
+ 926, -284, 114, -284, 1653, -25, -284, -284, 1121, 133,
+ -284, -2, 926, 8, 117, -284, -284, 1550, -284, -25,
+ -284, -284, 66, -36, 149, 1154, 1187, 1220, 1583, -284,
+ 70, -284, 145, -36, -36, 1616, 1653, -1, -284, 466,
+ 1653, 926, 1385, -284, 1517, 926, 926, 926, 926, 926,
+ 926, 926, 926, 926, 926, 926, 926, 926, 926, 926,
+ 926, 926, 148, 926, 1121, 1616, -87, 926, 73, -49,
+ 1616, 23, 73, 162, 1653, 1653, 926, -284, -284, 92,
+ 926, 926, -284, 926, 926, 124, 700, 926, 926, -284,
+ -284, 926, -284, 166, 926, 926, 926, 926, 926, 926,
+ 926, 926, 926, 926, 169, 49, -284, -284, 926, -284,
+ -284, 638, 1653, -284, -284, -284, 926, -284, 15, 15,
+ 15, 15, 1686, 1686, -36, 1653, 15, 15, 262, -41,
+ -41, -36, -36, 1653, 1653, -284, -3, -284, 1653, -284,
+ -284, -284, 1653, 148, -284, -284, 1653, 1653, 1653, 15,
+ 926, 926, 1653, 15, 148, 1653, -284, 1653, 1253, 1653,
+ 1286, 1653, 1319, 1653, 1352, 1653, 1653, -284, -284, 926,
+ 1653, -284, -284, 167, 12, 724, 638, 1653, 638, 94,
+ 173, 14, 15, 1653, 20, 926, 926, 926, 926, 51,
+ -284, 151, 926, -284, -13, 170, 178, -284, -284, 94,
+ 94, 1653, 1653, 1653, 1653, -284, 926, 1653, 55, -284,
+ -284, -284, 171, -284, -284, 926, -284, -284, 552, -284,
+ -284, 1653, -284, 724, 171, -284, 724, -284, 926, -10,
+ -284, 1418, 180, 638, 638, -284, 638, -284, -10, -284,
+ -284, 638, 1451, -284, 926, -284, -284, -284, 106, 638,
+ 179, -284, -284, -284, 184, -284, -284, -284, 1484, 724,
+ -284, 194, 192, -284, -284, -284, 724, -284, -284, -284,
+ -284, 638, -284, -284, -284, 638, 724, -284, 190, 198,
+ -284, -284, -284, 638, 724, -284, 190, 198, -284, -284
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -288, -288, 114, -288, -53, 0, -52, -288, -56, -287,
- -288, -285, -288, -288, -288, -277, -7, 43, -93, -288,
- -288, 146, -3, 80, -288, -288, -288, -288, -288, 219,
- -23, -288, -288, -288, -288, -288, -288, -182, -288, -110,
- -288, -39, 1
+ -284, -284, 104, -284, -54, 1, -284, -64, -231, -283,
+ -284, -284, -284, -256, -52, 13, -119, -284, -284, 137,
+ -4, 71, -284, -284, -284, -284, -284, 204, -19, -284,
+ -284, -284, -284, -284, -284, -144, -284, -131, -284, -40,
+ 3
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule which
number is the opposite. If zero, do what YYDEFACT says.
If YYTABLE_NINF, syntax error. */
-#define YYTABLE_NINF -22
+#define YYTABLE_NINF -6
static const yytype_int16 yytable[] =
{
- 51, 71, 128, 133, 72, 73, 75, 127, 110, 78,
- 75, 81, 75, 317, 80, 319, 83, 227, 94, 67,
- 299, 98, 157, 85, 300, 320, 323, 107, 94, 319,
- 113, 114, 115, 116, 117, 118, 337, 201, 158, 320,
- 123, 124, 125, 126, 338, 162, 301, 347, 173, 281,
- 130, 271, 132, 77, 134, 338, 229, 141, 152, 230,
- 142, 157, 274, 174, 198, 86, 154, 315, 300, 282,
- 142, 155, 167, 275, 126, 156, 155, 148, 149, 160,
- 159, 126, 269, 150, 151, 164, 182, 165, 300, 270,
- 301, 135, 136, 150, 151, 137, 138, 139, 140, 176,
- 141, 129, -21, 142, 143, 144, 289, 101, 102, 290,
- 301, 266, 97, 270, 268, 177, 270, 145, 146, 147,
- 148, 149, 103, 90, -21, 92, 150, 151, 202, 51,
- 178, 104, 208, 209, 210, 211, 212, 213, 214, 215,
- 216, 217, 218, 219, 220, 221, 222, 223, 224, 105,
- 126, 106, 258, 295, 228, 99, 100, 259, 198, 197,
- 198, 233, 111, 232, 14, 234, 119, 236, 237, 121,
- 238, 239, 122, 244, 242, 243, 205, 131, 245, 311,
- 312, 247, 248, 249, 250, 251, 252, 253, 254, 255,
- 256, 153, 157, 163, 310, 260, 265, 166, 172, 179,
- 183, 194, 195, 267, 225, 198, 231, 246, 257, 240,
- 286, 288, 283, 141, 280, 296, 142, 308, 327, 328,
- 279, 330, 309, 300, 342, 335, 357, 359, 371, 361,
- 145, 146, 147, 148, 149, 372, 344, 272, 273, 150,
- 151, 384, 383, 199, 263, 264, 316, 322, 175, 235,
- 109, 0, 0, 0, 0, 0, 126, 0, 0, 0,
- 0, 0, 331, 370, 0, 334, 0, 0, 0, 0,
- 373, 0, 291, 292, 293, 294, 0, 0, 0, 297,
- 141, 0, 382, 142, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 313, 318, 0, 0, 0, 146, 147,
- 148, 149, 367, 0, 325, 0, 150, 151, 0, 284,
- 0, 285, 0, 0, 0, 0, 0, 336, 0, 0,
- 339, 381, 0, 0, 0, 0, 298, 0, 0, 0,
- 386, 0, 0, 355, 356, 353, 0, 0, 0, 0,
- 314, 0, 0, 362, 363, 321, 0, 366, 0, 324,
- 0, 0, 0, 0, 0, 368, 329, 374, 375, 332,
- 333, 0, 368, 0, 0, 0, 368, 0, 0, 0,
- 0, 0, 0, 345, 346, 0, 0, 348, 349, 0,
- 352, 0, 0, 0, 0, 0, 0, 358, 0, 0,
- 360, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 377, 378, 379, 0, 0, 380, 0, -5, 1,
- 0, 0, 0, 0, 0, 385, 0, 0, 0, 387,
- 2, 0, 0, 3, 4, 5, 0, 6, 7, 8,
- 9, 10, 0, 11, 12, 13, 0, 14, 15, 16,
- 0, 17, 0, 18, 0, 0, 0, 19, 0, 20,
- 21, 22, 0, 0, 23, 0, 0, 0, 0, 24,
- 25, 26, 0, 0, 0, 27, 0, 0, 0, 28,
- 29, 30, 31, 0, 32, 0, 0, 0, 0, 0,
- 0, 0, 0, 33, 0, 0, 0, 0, 0, 0,
- 34, 35, 36, 37, 38, 0, 0, 39, 40, 41,
- 42, 0, 43, 44, 0, 0, 2, -5, 45, 3,
- 4, 5, 46, 6, 7, 8, 9, 10, 0, 11,
- 12, 13, 0, 14, 15, 16, 0, 17, 0, 18,
- 0, 0, 0, 19, 0, 20, 21, 22, 0, 0,
- 23, 0, 0, 0, 0, 24, 25, 26, 0, 0,
- 0, 27, 0, 0, 0, 28, 29, 30, 31, 0,
- 32, 0, 0, 0, 0, 0, 0, 0, 0, 33,
- 0, 0, 0, 0, 0, 0, 34, 35, 36, 37,
- 38, 0, 0, 39, 40, 41, 42, 0, 43, 44,
- 0, 0, 2, 0, 45, 3, 4, 5, 46, 6,
+ 71, 51, 133, 72, 73, 75, 127, 128, 78, 75,
+ 81, 75, 110, 152, 227, 315, 80, 94, 83, 157,
+ 98, 299, 90, 67, 92, 300, 107, 94, 300, 113,
+ 114, 115, 116, 117, 118, 141, 333, 158, 142, 123,
+ 124, 125, 126, 142, 162, 342, 318, 301, 281, 130,
+ 301, 132, 229, 134, 173, 148, 149, 157, 318, 101,
+ 102, 150, 151, 334, 177, 154, 150, 151, 282, 174,
+ 155, 317, 334, 126, 103, 155, 167, 156, 160, 178,
+ 126, 85, 159, 317, 164, 266, 165, 77, 268, 271,
+ 182, 141, 313, 300, 142, 86, 269, 97, 176, 104,
+ 274, 99, 100, 270, 197, 198, 129, 105, 145, 146,
+ 147, 148, 149, 289, 106, 301, 233, 150, 151, 290,
+ 270, 14, 234, 111, 230, 119, 270, 202, 244, 198,
+ 51, 208, 209, 210, 211, 212, 213, 214, 215, 216,
+ 217, 218, 219, 220, 221, 222, 223, 224, 121, 126,
+ 258, 265, 295, 228, 122, 259, 131, 198, 309, 310,
+ 153, 166, 232, 172, 157, 163, 236, 237, 308, 238,
+ 239, 179, 183, 242, 243, 195, 194, 245, 225, 198,
+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
+ 323, 324, 231, 326, 260, 240, 246, 331, 184, 257,
+ 286, 280, 267, 288, 306, 185, 339, 296, 307, 300,
+ 337, 283, 351, 353, 263, 264, 135, 136, 355, 279,
+ 137, 138, 139, 140, 362, 141, 363, 374, 142, 143,
+ 144, 361, 375, 199, 314, 109, 272, 273, 365, 175,
+ 235, 0, 145, 146, 147, 148, 149, 0, 373, 316,
+ 0, 150, 151, 0, 0, 126, 0, 0, 0, 327,
+ 0, 0, 330, 0, 0, 0, 0, 0, 0, 0,
+ 0, 291, 292, 293, 294, 0, 0, 0, 297, 284,
+ 0, 285, 0, 349, 350, 0, 0, 0, 0, 0,
+ 0, 0, 311, 356, 357, 360, 298, 0, 0, 0,
+ 0, 321, 364, 0, 0, 0, 366, 367, 0, 0,
+ 312, 0, 372, 0, 332, 319, 0, 320, 0, 0,
+ 378, 0, 0, 0, 325, 0, 0, 328, 329, 0,
+ 348, 0, 0, 0, 0, 0, 0, 0, 141, 340,
+ 341, 142, 0, 343, 344, 0, 347, 0, 0, 0,
+ 0, 0, 352, 0, 0, 354, 146, 147, 148, 149,
+ 0, 0, 0, 0, 150, 151, 0, 0, 0, 0,
+ 0, 0, 0, 368, 369, 0, 0, 370, 371, 0,
+ -5, 1, 0, 0, 0, 376, 377, 0, 0, 0,
+ 0, 379, 2, 0, 0, 3, 4, 5, 0, 6,
7, 8, 9, 10, 0, 11, 12, 13, 0, 14,
- 15, 16, 0, 17, 326, 18, 0, 0, 0, 19,
- 0, 20, 21, 22, 0, 0, 0, 0, 0, 0,
+ 15, 16, 0, 17, 0, 18, 0, 0, 0, 19,
+ 0, 20, 21, 22, 0, 0, 23, 0, 0, 0,
0, 24, 25, 26, 0, 0, 0, 27, 0, 0,
- 0, 0, 0, 30, 31, 0, 32, 0, 0, 0,
+ 0, 28, 29, 30, 31, 0, 32, 0, 0, 0,
0, 0, 0, 0, 0, 33, 0, 0, 0, 0,
0, 0, 34, 35, 36, 37, 38, 0, 0, 39,
- 40, 0, 42, 0, 43, 44, 0, 0, 2, 261,
+ 40, 41, 42, 0, 43, 44, 0, 0, 2, -5,
45, 3, 4, 5, 46, 6, 7, 8, 9, 10,
0, 11, 12, 13, 0, 14, 15, 16, 0, 17,
0, 18, 0, 0, 0, 19, 0, 20, 21, 22,
- 0, 0, 0, 0, 0, 0, 0, 24, 25, 26,
- 0, 0, 0, 27, 0, 0, 0, 0, 0, 30,
+ 0, 0, 23, 0, 0, 0, 0, 24, 25, 26,
+ 0, 0, 0, 27, 0, 0, 0, 28, 29, 30,
31, 0, 32, 0, 0, 0, 0, 0, 0, 0,
0, 33, 0, 0, 0, 0, 0, 0, 34, 35,
- 36, 37, 38, 0, 0, 39, 40, 0, 42, 0,
- 43, 44, 0, 0, 2, 261, 45, 3, 4, 5,
+ 36, 37, 38, 0, 0, 39, 40, 41, 42, 0,
+ 43, 44, 0, 0, 2, 0, 45, 3, 4, 5,
46, 6, 7, 8, 9, 10, 0, 11, 12, 13,
- 0, 14, 15, 16, 0, 17, 0, 18, 0, 0,
+ 0, 14, 15, 16, 0, 17, 322, 18, 0, 0,
0, 19, 0, 20, 21, 22, 0, 0, 0, 0,
0, 0, 0, 24, 25, 26, 0, 0, 0, 27,
0, 0, 0, 0, 0, 30, 31, 0, 32, 0,
0, 0, 0, 0, 0, 0, 0, 33, 0, 0,
0, 0, 0, 0, 34, 35, 36, 37, 38, 0,
0, 39, 40, 0, 42, 0, 43, 44, 0, 0,
- 2, 0, 45, 3, 4, 5, 46, 6, 7, 8,
+ 2, 261, 45, 3, 4, 5, 46, 6, 7, 8,
9, 10, 0, 11, 12, 13, 0, 14, 15, 16,
- 241, 17, 0, 18, 0, 0, 0, 19, 0, 20,
- 21, 135, 136, 0, 0, 137, 138, 139, 140, 24,
- 141, 26, 0, 142, 143, 144, 0, 0, 0, 0,
- 0, 30, 31, 0, 32, 0, 0, 145, 146, 147,
- 148, 149, 0, 33, 0, 0, 150, 151, 0, 0,
- 34, 35, 36, 37, 38, 0, 0, 0, 40, 0,
- 42, 2, 43, 44, 3, 4, 5, 0, 45, 0,
- 0, 0, 46, 0, 11, 12, 13, 0, 14, 68,
- 16, 0, 17, 0, 0, 0, 0, 0, 0, 88,
- 0, 0, 0, 0, 89, 0, 90, 91, 92, 93,
- 69, 2, 26, 0, 3, 4, 5, 0, 0, 0,
- 0, 0, 0, 0, 11, 12, 13, 0, 14, 68,
- 16, 0, 17, 0, 33, 0, 0, 0, 0, 88,
- 0, 34, 35, 36, 37, 38, 90, 0, 92, 0,
- 69, 70, 26, 43, 44, 0, 0, 0, 0, 45,
- 0, 0, 0, 46, 108, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 33, 0, 0, 0, 0, 0,
- 0, 34, 35, 36, 37, 38, 0, 0, 0, 0,
- 0, 70, 2, 43, 44, 3, 4, 5, 0, 45,
- 0, 0, 0, 46, 0, 11, 12, 13, 0, 14,
- 68, 16, 0, 17, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 69, 2, 26, 0, 3, 4, 5, 0, 0,
- 0, 0, 0, 0, 0, 11, 12, 13, 0, 14,
- 68, 16, 0, 17, 0, 33, 0, 0, 0, 0,
- 0, 0, 34, 35, 36, 37, 38, 0, 0, 0,
- 0, 69, 70, 26, 43, 44, 0, 0, 0, 0,
- 45, 0, 0, 0, 46, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 33, 0, 0, 0, 0,
- 0, 0, 34, 35, 36, 37, 38, 0, 0, 0,
- 0, 0, 70, 2, 43, 44, 3, 4, 5, 0,
- 74, 0, 0, 0, 46, 0, 11, 12, 13, 0,
- 14, 68, 16, 0, 17, 0, 0, 0, 0, 0,
+ 0, 17, 0, 18, 0, 0, 0, 19, 0, 20,
+ 21, 22, 0, 0, 0, 0, 0, 0, 0, 24,
+ 25, 26, 0, 0, 0, 27, 0, 0, 0, 0,
+ 0, 30, 31, 0, 32, 0, 0, 0, 0, 0,
+ 0, 0, 0, 33, 0, 0, 0, 0, 0, 0,
+ 34, 35, 36, 37, 38, 0, 0, 39, 40, 0,
+ 42, 0, 43, 44, 0, 0, 2, 261, 45, 3,
+ 4, 5, 46, 6, 7, 8, 9, 10, 0, 11,
+ 12, 13, 0, 14, 15, 16, 241, 17, 0, 18,
+ 0, 0, 0, 19, 0, 20, 21, 135, 136, 0,
+ 0, 137, 138, 139, 140, 24, 141, 26, 0, 142,
+ 143, 144, 0, 0, 0, 0, 0, 30, 31, 0,
+ 32, 0, 0, 145, 146, 147, 148, 149, 0, 33,
+ 0, 0, 150, 151, 0, 0, 34, 35, 36, 37,
+ 38, 0, 0, 0, 40, 0, 42, 2, 43, 44,
+ 3, 4, 5, 0, 45, 0, 0, 0, 46, 0,
+ 11, 12, 13, 0, 14, 68, 16, 0, 17, 0,
+ 0, 0, 0, 0, 0, 88, 0, 0, 0, 0,
+ 89, 0, 90, 91, 92, 93, 69, 2, 26, 0,
+ 3, 4, 5, 0, 0, 0, 0, 0, 0, 0,
+ 11, 12, 13, 0, 14, 68, 16, 0, 17, 0,
+ 33, 0, 0, 0, 0, 88, 0, 34, 35, 36,
+ 37, 38, 90, 0, 92, 0, 69, 70, 26, 43,
+ 44, 0, 0, 0, 0, 45, 0, 0, 0, 46,
+ 108, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 33, 0, 0, 0, 0, 0, 0, 34, 35, 36,
+ 37, 38, 0, 0, 0, 0, 0, 70, 2, 43,
+ 44, 3, 4, 5, 0, 45, 0, 0, 0, 46,
+ 0, 11, 12, 13, 0, 14, 68, 16, 0, 17,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 69, 2, 26, 0, 3, 4, 5, 0,
- 0, 0, 0, 0, 0, 0, 11, 12, 13, 0,
- 14, 68, 16, 0, 17, 0, 33, 0, 0, 0,
- 0, 0, 0, 34, 35, 36, 37, 38, 0, 0,
- 0, 0, 69, 70, 26, 43, 44, 0, 0, 0,
- 0, 79, 0, 0, 0, 46, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 33, 0, 0, 169,
- 0, 0, 0, 34, 35, 36, 37, 38, 0, 0,
- 0, 0, 0, 70, 0, 43, 44, 0, 0, 0,
- 0, 82, 135, 136, 0, 46, 137, 138, 139, 140,
- 0, 141, 170, 171, 142, 143, 144, 184, 0, 0,
- 0, 0, 0, 0, 185, 0, 0, 0, 145, 146,
- 147, 148, 149, 0, 0, 135, 136, 150, 151, 137,
- 138, 139, 140, 0, 141, 0, 0, 142, 143, 144,
- 186, 0, 0, 0, 0, 0, 0, 187, 0, 0,
- 0, 145, 146, 147, 148, 149, 0, 0, 135, 136,
- 150, 151, 137, 138, 139, 140, 0, 141, 0, 0,
- 142, 143, 144, 188, 0, 0, 0, 0, 0, 0,
- 189, 0, 0, 0, 145, 146, 147, 148, 149, 0,
+ 0, 0, 0, 0, 0, 0, 0, 69, 2, 26,
+ 0, 3, 4, 5, 0, 0, 0, 0, 0, 0,
+ 0, 11, 12, 13, 0, 14, 68, 16, 0, 17,
+ 0, 33, 0, 0, 0, 0, 0, 0, 34, 35,
+ 36, 37, 38, 0, 0, 0, 0, 69, 70, 26,
+ 43, 44, 0, 0, 0, 0, 45, 0, 0, 0,
+ 46, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 33, 0, 0, 0, 0, 0, 0, 34, 35,
+ 36, 37, 38, 0, 0, 0, 0, 0, 70, 2,
+ 43, 44, 3, 4, 5, 0, 74, 0, 0, 0,
+ 46, 0, 11, 12, 13, 0, 14, 68, 16, 0,
+ 17, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 69, 2,
+ 26, 0, 3, 4, 5, 0, 0, 0, 0, 0,
+ 0, 0, 11, 12, 13, 0, 14, 68, 16, 0,
+ 17, 0, 33, 0, 0, 0, 0, 0, 0, 34,
+ 35, 36, 37, 38, 0, 0, 0, 0, 69, 70,
+ 26, 43, 44, 0, 0, 0, 0, 79, 0, 0,
+ 0, 46, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 33, 0, 0, 169, 0, 0, 0, 34,
+ 35, 36, 37, 38, 0, 0, 0, 0, 0, 70,
+ 0, 43, 44, 0, 0, 0, 0, 82, 135, 136,
+ 0, 46, 137, 138, 139, 140, 0, 141, 170, 171,
+ 142, 143, 144, 186, 0, 0, 0, 0, 0, 0,
+ 187, 0, 0, 0, 145, 146, 147, 148, 149, 0,
0, 135, 136, 150, 151, 137, 138, 139, 140, 0,
- 141, 0, 0, 142, 143, 144, 190, 0, 0, 0,
- 0, 0, 0, 191, 0, 0, 0, 145, 146, 147,
+ 141, 0, 0, 142, 143, 144, 188, 0, 0, 0,
+ 0, 0, 0, 189, 0, 0, 0, 145, 146, 147,
148, 149, 0, 0, 135, 136, 150, 151, 137, 138,
- 139, 140, 0, 141, 0, 0, 142, 143, 144, 276,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 139, 140, 0, 141, 0, 0, 142, 143, 144, 190,
+ 0, 0, 0, 0, 0, 0, 191, 0, 0, 0,
145, 146, 147, 148, 149, 0, 0, 135, 136, 150,
151, 137, 138, 139, 140, 0, 141, 0, 0, 142,
- 143, 144, 277, 0, 0, 0, 0, 0, 0, 0,
+ 143, 144, 275, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 145, 146, 147, 148, 149, 0, 0,
135, 136, 150, 151, 137, 138, 139, 140, 0, 141,
- 0, 0, 142, 143, 144, 278, 0, 0, 0, 0,
+ 0, 0, 142, 143, 144, 276, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 145, 146, 147, 148,
149, 0, 0, 135, 136, 150, 151, 137, 138, 139,
- 140, 0, 141, 0, 0, 142, 143, 144, 0, 0,
- 0, 0, 0, 203, 204, 0, 0, 0, 0, 145,
+ 140, 0, 141, 0, 0, 142, 143, 144, 277, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 145,
146, 147, 148, 149, 0, 0, 135, 136, 150, 151,
137, 138, 139, 140, 0, 141, 0, 0, 142, 143,
- 144, 0, 0, 0, 0, 0, 340, 341, 0, 0,
+ 144, 278, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 145, 146, 147, 148, 149, 0, 0, 135,
136, 150, 151, 137, 138, 139, 140, 0, 141, 0,
- 0, 142, 143, 144, 0, 0, 0, 0, 0, 350,
- 351, 0, 0, 0, 0, 145, 146, 147, 148, 149,
+ 0, 142, 143, 144, 0, 0, 0, 0, 0, 203,
+ 204, 0, 0, 0, 0, 145, 146, 147, 148, 149,
0, 0, 135, 136, 150, 151, 137, 138, 139, 140,
0, 141, 0, 0, 142, 143, 144, 0, 0, 0,
- 0, 0, 364, 365, 0, 0, 0, 0, 145, 146,
+ 0, 0, 335, 336, 0, 0, 0, 0, 145, 146,
147, 148, 149, 0, 0, 135, 136, 150, 151, 137,
138, 139, 140, 0, 141, 0, 0, 142, 143, 144,
- 0, 0, 0, 0, 0, 354, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 345, 346, 0, 0, 0,
0, 145, 146, 147, 148, 149, 0, 0, 135, 136,
150, 151, 137, 138, 139, 140, 0, 141, 0, 0,
- 142, 143, 144, 0, 0, 0, 0, 0, 0, 0,
- 206, 0, 0, 0, 145, 146, 147, 148, 149, 0,
+ 142, 143, 144, 0, 0, 0, 0, 0, 358, 359,
+ 0, 0, 0, 0, 145, 146, 147, 148, 149, 0,
0, 135, 136, 150, 151, 137, 138, 139, 140, 0,
141, 0, 0, 142, 143, 144, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 181, 0, 145, 146, 147,
- 148, 149, 0, 207, 135, 136, 150, 151, 137, 138,
+ 0, 0, 0, 206, 0, 0, 0, 145, 146, 147,
+ 148, 149, 0, 0, 135, 136, 150, 151, 137, 138,
139, 140, 0, 141, 0, 0, 142, 143, 144, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 145, 146, 147, 148, 149, 0, 0, 135, 136, 150,
+ 0, 0, 0, 0, 0, 0, 0, 0, 181, 0,
+ 145, 146, 147, 148, 149, 0, 207, 135, 136, 150,
151, 137, 138, 139, 140, 0, 141, 0, 0, 142,
- 143, 144, 0, 0, 0, 0, 0, 192, 193, 0,
+ 143, 144, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 145, 146, 147, 148, 149, 0, 0,
135, 136, 150, 151, 137, 138, 139, 140, 0, 141,
0, 0, 142, 143, 144, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 145, 146, 147, 148,
- 149, 0, 0, 0, 196, 150, 151, 135, 136, 0,
- 0, 137, 138, 139, 140, 0, 141, 0, 0, 142,
- 143, 144, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 145, 146, 147, 148, 149, 0, 0,
- 135, 136, 150, 151, 137, 138, 0, 0, 0, 141,
+ 192, 193, 0, 0, 0, 0, 145, 146, 147, 148,
+ 149, 0, 0, 135, 136, 150, 151, 137, 138, 139,
+ 140, 0, 141, 0, 0, 142, 143, 144, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 145,
+ 146, 147, 148, 149, 0, 0, 0, 196, 150, 151,
+ 135, 136, 0, 0, 137, 138, 139, 140, 0, 141,
0, 0, 142, 143, 144, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 145, 146, 147, 148,
- 149, 0, 0, 0, 0, 150, 151
+ 149, 0, 0, 135, 136, 150, 151, 137, 138, 0,
+ 0, 0, 141, 0, 0, 142, 143, 144, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 145,
+ 146, 147, 148, 149, 0, 0, 0, 0, 150, 151
};
static const yytype_int16 yycheck[] =
{
- 0, 4, 0, 56, 7, 8, 9, 46, 31, 12,
- 13, 14, 15, 298, 13, 302, 15, 101, 21, 99,
- 34, 24, 106, 52, 38, 302, 303, 30, 31, 316,
- 33, 34, 35, 36, 37, 38, 321, 130, 77, 316,
- 43, 44, 45, 46, 321, 84, 60, 332, 56, 36,
- 53, 233, 55, 30, 57, 332, 101, 76, 65, 101,
- 79, 106, 244, 71, 106, 30, 69, 37, 38, 56,
- 79, 74, 95, 49, 77, 74, 79, 96, 97, 82,
- 79, 84, 99, 102, 103, 88, 109, 90, 38, 106,
- 60, 67, 68, 102, 103, 71, 72, 73, 74, 102,
- 76, 99, 38, 79, 80, 81, 99, 15, 16, 99,
- 60, 204, 30, 106, 207, 56, 106, 93, 94, 95,
- 96, 97, 30, 47, 60, 49, 102, 103, 131, 129,
- 71, 30, 135, 136, 137, 138, 139, 140, 141, 142,
- 143, 144, 145, 146, 147, 148, 149, 150, 151, 30,
- 153, 30, 101, 101, 157, 58, 59, 106, 106, 105,
- 106, 168, 30, 166, 29, 30, 30, 170, 171, 30,
- 173, 174, 100, 180, 177, 178, 133, 71, 181, 289,
- 290, 184, 185, 186, 187, 188, 189, 190, 191, 192,
- 193, 100, 106, 106, 287, 198, 203, 47, 30, 54,
- 106, 106, 30, 206, 30, 106, 30, 30, 30, 71,
- 106, 30, 265, 76, 34, 56, 79, 34, 311, 312,
- 259, 314, 30, 38, 30, 318, 106, 34, 30, 34,
- 93, 94, 95, 96, 97, 34, 329, 240, 241, 102,
- 103, 34, 37, 129, 201, 202, 298, 303, 102, 169,
- 31, -1, -1, -1, -1, -1, 259, -1, -1, -1,
- -1, -1, 315, 356, -1, 318, -1, -1, -1, -1,
- 363, -1, 275, 276, 277, 278, -1, -1, -1, 282,
- 76, -1, 375, 79, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 296, 301, -1, -1, -1, 94, 95,
- 96, 97, 355, -1, 307, -1, 102, 103, -1, 266,
- -1, 268, -1, -1, -1, -1, -1, 320, -1, -1,
- 323, 374, -1, -1, -1, -1, 283, -1, -1, -1,
- 383, -1, -1, 340, 341, 338, -1, -1, -1, -1,
- 297, -1, -1, 350, 351, 302, -1, 354, -1, 306,
- -1, -1, -1, -1, -1, 355, 313, 364, 365, 316,
- 317, -1, 362, -1, -1, -1, 366, -1, -1, -1,
- -1, -1, -1, 330, 331, -1, -1, 334, 335, -1,
- 337, -1, -1, -1, -1, -1, -1, 344, -1, -1,
- 347, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 368, 369, 370, -1, -1, 373, -1, 0, 1,
- -1, -1, -1, -1, -1, 382, -1, -1, -1, 386,
- 12, -1, -1, 15, 16, 17, -1, 19, 20, 21,
- 22, 23, -1, 25, 26, 27, -1, 29, 30, 31,
- -1, 33, -1, 35, -1, -1, -1, 39, -1, 41,
- 42, 43, -1, -1, 46, -1, -1, -1, -1, 51,
- 52, 53, -1, -1, -1, 57, -1, -1, -1, 61,
- 62, 63, 64, -1, 66, -1, -1, -1, -1, -1,
- -1, -1, -1, 75, -1, -1, -1, -1, -1, -1,
- 82, 83, 84, 85, 86, -1, -1, 89, 90, 91,
- 92, -1, 94, 95, -1, -1, 12, 99, 100, 15,
- 16, 17, 104, 19, 20, 21, 22, 23, -1, 25,
- 26, 27, -1, 29, 30, 31, -1, 33, -1, 35,
- -1, -1, -1, 39, -1, 41, 42, 43, -1, -1,
- 46, -1, -1, -1, -1, 51, 52, 53, -1, -1,
- -1, 57, -1, -1, -1, 61, 62, 63, 64, -1,
- 66, -1, -1, -1, -1, -1, -1, -1, -1, 75,
- -1, -1, -1, -1, -1, -1, 82, 83, 84, 85,
- 86, -1, -1, 89, 90, 91, 92, -1, 94, 95,
- -1, -1, 12, -1, 100, 15, 16, 17, 104, 19,
+ 4, 0, 56, 7, 8, 9, 46, 0, 12, 13,
+ 14, 15, 31, 65, 101, 298, 13, 21, 15, 106,
+ 24, 34, 47, 99, 49, 38, 30, 31, 38, 33,
+ 34, 35, 36, 37, 38, 76, 319, 77, 79, 43,
+ 44, 45, 46, 79, 84, 328, 302, 60, 36, 53,
+ 60, 55, 101, 57, 56, 96, 97, 106, 314, 15,
+ 16, 102, 103, 319, 56, 69, 102, 103, 56, 71,
+ 74, 302, 328, 77, 30, 79, 95, 74, 82, 71,
+ 84, 52, 79, 314, 88, 204, 90, 30, 207, 233,
+ 109, 76, 37, 38, 79, 30, 99, 30, 102, 30,
+ 244, 58, 59, 106, 105, 106, 99, 30, 93, 94,
+ 95, 96, 97, 99, 30, 60, 168, 102, 103, 99,
+ 106, 29, 30, 30, 101, 30, 106, 131, 180, 106,
+ 129, 135, 136, 137, 138, 139, 140, 141, 142, 143,
+ 144, 145, 146, 147, 148, 149, 150, 151, 30, 153,
+ 101, 203, 101, 157, 100, 106, 71, 106, 289, 290,
+ 100, 47, 166, 30, 106, 106, 170, 171, 287, 173,
+ 174, 54, 106, 177, 178, 30, 106, 181, 30, 106,
+ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
+ 309, 310, 30, 312, 198, 71, 30, 316, 49, 30,
+ 106, 34, 206, 30, 34, 56, 325, 56, 30, 38,
+ 30, 265, 106, 34, 201, 202, 67, 68, 34, 259,
+ 71, 72, 73, 74, 30, 76, 34, 37, 79, 80,
+ 81, 350, 34, 129, 298, 31, 240, 241, 357, 102,
+ 169, -1, 93, 94, 95, 96, 97, -1, 367, 301,
+ -1, 102, 103, -1, -1, 259, -1, -1, -1, 313,
+ -1, -1, 316, -1, -1, -1, -1, -1, -1, -1,
+ -1, 275, 276, 277, 278, -1, -1, -1, 282, 266,
+ -1, 268, -1, 335, 336, -1, -1, -1, -1, -1,
+ -1, -1, 296, 345, 346, 349, 283, -1, -1, -1,
+ -1, 305, 356, -1, -1, -1, 358, 359, -1, -1,
+ 297, -1, 366, -1, 318, 302, -1, 304, -1, -1,
+ 374, -1, -1, -1, 311, -1, -1, 314, 315, -1,
+ 334, -1, -1, -1, -1, -1, -1, -1, 76, 326,
+ 327, 79, -1, 330, 331, -1, 333, -1, -1, -1,
+ -1, -1, 339, -1, -1, 342, 94, 95, 96, 97,
+ -1, -1, -1, -1, 102, 103, -1, -1, -1, -1,
+ -1, -1, -1, 360, 361, -1, -1, 364, 365, -1,
+ 0, 1, -1, -1, -1, 372, 373, -1, -1, -1,
+ -1, 378, 12, -1, -1, 15, 16, 17, -1, 19,
20, 21, 22, 23, -1, 25, 26, 27, -1, 29,
- 30, 31, -1, 33, 34, 35, -1, -1, -1, 39,
- -1, 41, 42, 43, -1, -1, -1, -1, -1, -1,
+ 30, 31, -1, 33, -1, 35, -1, -1, -1, 39,
+ -1, 41, 42, 43, -1, -1, 46, -1, -1, -1,
-1, 51, 52, 53, -1, -1, -1, 57, -1, -1,
- -1, -1, -1, 63, 64, -1, 66, -1, -1, -1,
+ -1, 61, 62, 63, 64, -1, 66, -1, -1, -1,
-1, -1, -1, -1, -1, 75, -1, -1, -1, -1,
-1, -1, 82, 83, 84, 85, 86, -1, -1, 89,
- 90, -1, 92, -1, 94, 95, -1, -1, 12, 99,
+ 90, 91, 92, -1, 94, 95, -1, -1, 12, 99,
100, 15, 16, 17, 104, 19, 20, 21, 22, 23,
-1, 25, 26, 27, -1, 29, 30, 31, -1, 33,
-1, 35, -1, -1, -1, 39, -1, 41, 42, 43,
- -1, -1, -1, -1, -1, -1, -1, 51, 52, 53,
- -1, -1, -1, 57, -1, -1, -1, -1, -1, 63,
+ -1, -1, 46, -1, -1, -1, -1, 51, 52, 53,
+ -1, -1, -1, 57, -1, -1, -1, 61, 62, 63,
64, -1, 66, -1, -1, -1, -1, -1, -1, -1,
-1, 75, -1, -1, -1, -1, -1, -1, 82, 83,
- 84, 85, 86, -1, -1, 89, 90, -1, 92, -1,
- 94, 95, -1, -1, 12, 99, 100, 15, 16, 17,
+ 84, 85, 86, -1, -1, 89, 90, 91, 92, -1,
+ 94, 95, -1, -1, 12, -1, 100, 15, 16, 17,
104, 19, 20, 21, 22, 23, -1, 25, 26, 27,
- -1, 29, 30, 31, -1, 33, -1, 35, -1, -1,
+ -1, 29, 30, 31, -1, 33, 34, 35, -1, -1,
-1, 39, -1, 41, 42, 43, -1, -1, -1, -1,
-1, -1, -1, 51, 52, 53, -1, -1, -1, 57,
-1, -1, -1, -1, -1, 63, 64, -1, 66, -1,
-1, -1, -1, -1, -1, -1, -1, 75, -1, -1,
-1, -1, -1, -1, 82, 83, 84, 85, 86, -1,
-1, 89, 90, -1, 92, -1, 94, 95, -1, -1,
- 12, -1, 100, 15, 16, 17, 104, 19, 20, 21,
+ 12, 99, 100, 15, 16, 17, 104, 19, 20, 21,
22, 23, -1, 25, 26, 27, -1, 29, 30, 31,
- 56, 33, -1, 35, -1, -1, -1, 39, -1, 41,
- 42, 67, 68, -1, -1, 71, 72, 73, 74, 51,
- 76, 53, -1, 79, 80, 81, -1, -1, -1, -1,
- -1, 63, 64, -1, 66, -1, -1, 93, 94, 95,
- 96, 97, -1, 75, -1, -1, 102, 103, -1, -1,
- 82, 83, 84, 85, 86, -1, -1, -1, 90, -1,
- 92, 12, 94, 95, 15, 16, 17, -1, 100, -1,
- -1, -1, 104, -1, 25, 26, 27, -1, 29, 30,
- 31, -1, 33, -1, -1, -1, -1, -1, -1, 40,
- -1, -1, -1, -1, 45, -1, 47, 48, 49, 50,
- 51, 12, 53, -1, 15, 16, 17, -1, -1, -1,
- -1, -1, -1, -1, 25, 26, 27, -1, 29, 30,
- 31, -1, 33, -1, 75, -1, -1, -1, -1, 40,
- -1, 82, 83, 84, 85, 86, 47, -1, 49, -1,
- 51, 92, 53, 94, 95, -1, -1, -1, -1, 100,
- -1, -1, -1, 104, 65, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 75, -1, -1, -1, -1, -1,
- -1, 82, 83, 84, 85, 86, -1, -1, -1, -1,
- -1, 92, 12, 94, 95, 15, 16, 17, -1, 100,
- -1, -1, -1, 104, -1, 25, 26, 27, -1, 29,
- 30, 31, -1, 33, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 51, 12, 53, -1, 15, 16, 17, -1, -1,
- -1, -1, -1, -1, -1, 25, 26, 27, -1, 29,
- 30, 31, -1, 33, -1, 75, -1, -1, -1, -1,
- -1, -1, 82, 83, 84, 85, 86, -1, -1, -1,
- -1, 51, 92, 53, 94, 95, -1, -1, -1, -1,
- 100, -1, -1, -1, 104, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 75, -1, -1, -1, -1,
- -1, -1, 82, 83, 84, 85, 86, -1, -1, -1,
- -1, -1, 92, 12, 94, 95, 15, 16, 17, -1,
- 100, -1, -1, -1, 104, -1, 25, 26, 27, -1,
- 29, 30, 31, -1, 33, -1, -1, -1, -1, -1,
+ -1, 33, -1, 35, -1, -1, -1, 39, -1, 41,
+ 42, 43, -1, -1, -1, -1, -1, -1, -1, 51,
+ 52, 53, -1, -1, -1, 57, -1, -1, -1, -1,
+ -1, 63, 64, -1, 66, -1, -1, -1, -1, -1,
+ -1, -1, -1, 75, -1, -1, -1, -1, -1, -1,
+ 82, 83, 84, 85, 86, -1, -1, 89, 90, -1,
+ 92, -1, 94, 95, -1, -1, 12, 99, 100, 15,
+ 16, 17, 104, 19, 20, 21, 22, 23, -1, 25,
+ 26, 27, -1, 29, 30, 31, 56, 33, -1, 35,
+ -1, -1, -1, 39, -1, 41, 42, 67, 68, -1,
+ -1, 71, 72, 73, 74, 51, 76, 53, -1, 79,
+ 80, 81, -1, -1, -1, -1, -1, 63, 64, -1,
+ 66, -1, -1, 93, 94, 95, 96, 97, -1, 75,
+ -1, -1, 102, 103, -1, -1, 82, 83, 84, 85,
+ 86, -1, -1, -1, 90, -1, 92, 12, 94, 95,
+ 15, 16, 17, -1, 100, -1, -1, -1, 104, -1,
+ 25, 26, 27, -1, 29, 30, 31, -1, 33, -1,
+ -1, -1, -1, -1, -1, 40, -1, -1, -1, -1,
+ 45, -1, 47, 48, 49, 50, 51, 12, 53, -1,
+ 15, 16, 17, -1, -1, -1, -1, -1, -1, -1,
+ 25, 26, 27, -1, 29, 30, 31, -1, 33, -1,
+ 75, -1, -1, -1, -1, 40, -1, 82, 83, 84,
+ 85, 86, 47, -1, 49, -1, 51, 92, 53, 94,
+ 95, -1, -1, -1, -1, 100, -1, -1, -1, 104,
+ 65, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 75, -1, -1, -1, -1, -1, -1, 82, 83, 84,
+ 85, 86, -1, -1, -1, -1, -1, 92, 12, 94,
+ 95, 15, 16, 17, -1, 100, -1, -1, -1, 104,
+ -1, 25, 26, 27, -1, 29, 30, 31, -1, 33,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 51, 12, 53, -1, 15, 16, 17, -1,
- -1, -1, -1, -1, -1, -1, 25, 26, 27, -1,
- 29, 30, 31, -1, 33, -1, 75, -1, -1, -1,
- -1, -1, -1, 82, 83, 84, 85, 86, -1, -1,
- -1, -1, 51, 92, 53, 94, 95, -1, -1, -1,
- -1, 100, -1, -1, -1, 104, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 75, -1, -1, 44,
- -1, -1, -1, 82, 83, 84, 85, 86, -1, -1,
- -1, -1, -1, 92, -1, 94, 95, -1, -1, -1,
- -1, 100, 67, 68, -1, 104, 71, 72, 73, 74,
- -1, 76, 77, 78, 79, 80, 81, 49, -1, -1,
- -1, -1, -1, -1, 56, -1, -1, -1, 93, 94,
- 95, 96, 97, -1, -1, 67, 68, 102, 103, 71,
- 72, 73, 74, -1, 76, -1, -1, 79, 80, 81,
- 49, -1, -1, -1, -1, -1, -1, 56, -1, -1,
- -1, 93, 94, 95, 96, 97, -1, -1, 67, 68,
- 102, 103, 71, 72, 73, 74, -1, 76, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 51, 12, 53,
+ -1, 15, 16, 17, -1, -1, -1, -1, -1, -1,
+ -1, 25, 26, 27, -1, 29, 30, 31, -1, 33,
+ -1, 75, -1, -1, -1, -1, -1, -1, 82, 83,
+ 84, 85, 86, -1, -1, -1, -1, 51, 92, 53,
+ 94, 95, -1, -1, -1, -1, 100, -1, -1, -1,
+ 104, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 75, -1, -1, -1, -1, -1, -1, 82, 83,
+ 84, 85, 86, -1, -1, -1, -1, -1, 92, 12,
+ 94, 95, 15, 16, 17, -1, 100, -1, -1, -1,
+ 104, -1, 25, 26, 27, -1, 29, 30, 31, -1,
+ 33, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 51, 12,
+ 53, -1, 15, 16, 17, -1, -1, -1, -1, -1,
+ -1, -1, 25, 26, 27, -1, 29, 30, 31, -1,
+ 33, -1, 75, -1, -1, -1, -1, -1, -1, 82,
+ 83, 84, 85, 86, -1, -1, -1, -1, 51, 92,
+ 53, 94, 95, -1, -1, -1, -1, 100, -1, -1,
+ -1, 104, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 75, -1, -1, 44, -1, -1, -1, 82,
+ 83, 84, 85, 86, -1, -1, -1, -1, -1, 92,
+ -1, 94, 95, -1, -1, -1, -1, 100, 67, 68,
+ -1, 104, 71, 72, 73, 74, -1, 76, 77, 78,
79, 80, 81, 49, -1, -1, -1, -1, -1, -1,
56, -1, -1, -1, 93, 94, 95, 96, 97, -1,
-1, 67, 68, 102, 103, 71, 72, 73, 74, -1,
@@ -1284,7 +1241,7 @@ static const yytype_int16 yycheck[] =
-1, -1, -1, 56, -1, -1, -1, 93, 94, 95,
96, 97, -1, -1, 67, 68, 102, 103, 71, 72,
73, 74, -1, 76, -1, -1, 79, 80, 81, 49,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 56, -1, -1, -1,
93, 94, 95, 96, 97, -1, -1, 67, 68, 102,
103, 71, 72, 73, 74, -1, 76, -1, -1, 79,
80, 81, 49, -1, -1, -1, -1, -1, -1, -1,
@@ -1293,11 +1250,11 @@ static const yytype_int16 yycheck[] =
-1, -1, 79, 80, 81, 49, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 93, 94, 95, 96,
97, -1, -1, 67, 68, 102, 103, 71, 72, 73,
- 74, -1, 76, -1, -1, 79, 80, 81, -1, -1,
- -1, -1, -1, 54, 55, -1, -1, -1, -1, 93,
+ 74, -1, 76, -1, -1, 79, 80, 81, 49, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 93,
94, 95, 96, 97, -1, -1, 67, 68, 102, 103,
71, 72, 73, 74, -1, 76, -1, -1, 79, 80,
- 81, -1, -1, -1, -1, -1, 54, 55, -1, -1,
+ 81, 49, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 93, 94, 95, 96, 97, -1, -1, 67,
68, 102, 103, 71, 72, 73, 74, -1, 76, -1,
-1, 79, 80, 81, -1, -1, -1, -1, -1, 54,
@@ -1307,32 +1264,35 @@ static const yytype_int16 yycheck[] =
-1, -1, 54, 55, -1, -1, -1, -1, 93, 94,
95, 96, 97, -1, -1, 67, 68, 102, 103, 71,
72, 73, 74, -1, 76, -1, -1, 79, 80, 81,
- -1, -1, -1, -1, -1, 54, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 54, 55, -1, -1, -1,
-1, 93, 94, 95, 96, 97, -1, -1, 67, 68,
102, 103, 71, 72, 73, 74, -1, 76, -1, -1,
- 79, 80, 81, -1, -1, -1, -1, -1, -1, -1,
- 56, -1, -1, -1, 93, 94, 95, 96, 97, -1,
+ 79, 80, 81, -1, -1, -1, -1, -1, 54, 55,
+ -1, -1, -1, -1, 93, 94, 95, 96, 97, -1,
-1, 67, 68, 102, 103, 71, 72, 73, 74, -1,
76, -1, -1, 79, 80, 81, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 58, -1, 93, 94, 95,
- 96, 97, -1, 99, 67, 68, 102, 103, 71, 72,
+ -1, -1, -1, 56, -1, -1, -1, 93, 94, 95,
+ 96, 97, -1, -1, 67, 68, 102, 103, 71, 72,
73, 74, -1, 76, -1, -1, 79, 80, 81, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 93, 94, 95, 96, 97, -1, -1, 67, 68, 102,
+ -1, -1, -1, -1, -1, -1, -1, -1, 58, -1,
+ 93, 94, 95, 96, 97, -1, 99, 67, 68, 102,
103, 71, 72, 73, 74, -1, 76, -1, -1, 79,
- 80, 81, -1, -1, -1, -1, -1, 87, 88, -1,
+ 80, 81, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 93, 94, 95, 96, 97, -1, -1,
67, 68, 102, 103, 71, 72, 73, 74, -1, 76,
-1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 93, 94, 95, 96,
- 97, -1, -1, -1, 101, 102, 103, 67, 68, -1,
- -1, 71, 72, 73, 74, -1, 76, -1, -1, 79,
- 80, 81, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 93, 94, 95, 96, 97, -1, -1,
- 67, 68, 102, 103, 71, 72, -1, -1, -1, 76,
+ 87, 88, -1, -1, -1, -1, 93, 94, 95, 96,
+ 97, -1, -1, 67, 68, 102, 103, 71, 72, 73,
+ 74, -1, 76, -1, -1, 79, 80, 81, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 93,
+ 94, 95, 96, 97, -1, -1, -1, 101, 102, 103,
+ 67, 68, -1, -1, 71, 72, 73, 74, -1, 76,
-1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 93, 94, 95, 96,
- 97, -1, -1, -1, -1, 102, 103
+ 97, -1, -1, 67, 68, 102, 103, 71, 72, -1,
+ -1, -1, 76, -1, -1, 79, 80, 81, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 93,
+ 94, 95, 96, 97, -1, -1, -1, -1, 102, 103
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1344,40 +1304,39 @@ static const yytype_uint8 yystos[] =
41, 42, 43, 46, 51, 52, 53, 57, 61, 62,
63, 64, 66, 75, 82, 83, 84, 85, 86, 89,
90, 91, 92, 94, 95, 100, 104, 108, 109, 110,
- 111, 112, 117, 119, 120, 121, 126, 127, 128, 129,
- 130, 131, 135, 138, 140, 143, 147, 99, 30, 51,
- 92, 129, 129, 129, 100, 129, 149, 30, 129, 100,
- 149, 129, 100, 149, 139, 52, 30, 132, 40, 45,
- 47, 48, 49, 50, 129, 136, 137, 30, 129, 58,
- 59, 15, 16, 30, 30, 30, 30, 129, 65, 136,
- 137, 30, 134, 129, 129, 129, 129, 129, 129, 30,
- 133, 30, 100, 129, 129, 129, 129, 148, 0, 99,
- 129, 71, 129, 111, 129, 67, 68, 71, 72, 73,
+ 111, 112, 113, 117, 118, 119, 124, 125, 126, 127,
+ 128, 129, 133, 136, 138, 141, 145, 99, 30, 51,
+ 92, 127, 127, 127, 100, 127, 147, 30, 127, 100,
+ 147, 127, 100, 147, 137, 52, 30, 130, 40, 45,
+ 47, 48, 49, 50, 127, 134, 135, 30, 127, 58,
+ 59, 15, 16, 30, 30, 30, 30, 127, 65, 134,
+ 135, 30, 132, 127, 127, 127, 127, 127, 127, 30,
+ 131, 30, 100, 127, 127, 127, 127, 146, 0, 99,
+ 127, 71, 127, 111, 127, 67, 68, 71, 72, 73,
74, 76, 79, 80, 81, 93, 94, 95, 96, 97,
- 102, 103, 123, 100, 129, 129, 149, 106, 148, 149,
- 129, 148, 148, 106, 129, 129, 47, 137, 141, 44,
- 77, 78, 30, 56, 71, 128, 129, 56, 71, 54,
- 142, 58, 137, 106, 49, 56, 49, 56, 49, 56,
+ 102, 103, 121, 100, 127, 127, 147, 106, 146, 147,
+ 127, 146, 146, 106, 127, 127, 47, 135, 139, 44,
+ 77, 78, 30, 56, 71, 126, 127, 56, 71, 54,
+ 140, 58, 135, 106, 49, 56, 49, 56, 49, 56,
49, 56, 87, 88, 106, 30, 101, 105, 106, 109,
- 123, 125, 129, 54, 55, 124, 56, 99, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 30, 144, 101, 129, 101,
- 101, 30, 129, 123, 30, 130, 129, 129, 129, 129,
- 71, 56, 129, 129, 123, 129, 30, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 30, 101, 106,
- 129, 99, 112, 124, 124, 123, 125, 129, 125, 99,
- 106, 144, 129, 129, 144, 49, 49, 49, 49, 148,
- 34, 36, 56, 111, 124, 124, 106, 146, 30, 99,
- 99, 129, 129, 129, 129, 101, 56, 129, 124, 34,
- 38, 60, 113, 114, 115, 116, 118, 122, 34, 30,
- 125, 146, 146, 129, 124, 37, 113, 118, 123, 116,
- 122, 124, 115, 122, 124, 129, 34, 125, 125, 124,
- 125, 111, 124, 124, 111, 125, 129, 118, 122, 129,
- 54, 55, 30, 145, 125, 124, 124, 118, 124, 124,
- 54, 55, 124, 129, 54, 123, 123, 106, 124, 34,
- 124, 34, 123, 123, 54, 55, 123, 111, 112, 125,
- 125, 30, 34, 125, 123, 123, 124, 124, 124, 124,
- 124, 111, 125, 37, 34, 124, 111, 124
+ 121, 123, 127, 54, 55, 122, 56, 99, 127, 127,
+ 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
+ 127, 127, 127, 127, 127, 30, 142, 101, 127, 101,
+ 101, 30, 127, 121, 30, 128, 127, 127, 127, 127,
+ 71, 56, 127, 127, 121, 127, 30, 127, 127, 127,
+ 127, 127, 127, 127, 127, 127, 127, 30, 101, 106,
+ 127, 99, 112, 122, 122, 121, 123, 127, 123, 99,
+ 106, 142, 127, 127, 142, 49, 49, 49, 49, 146,
+ 34, 36, 56, 111, 122, 122, 106, 144, 30, 99,
+ 99, 127, 127, 127, 127, 101, 56, 127, 122, 34,
+ 38, 60, 114, 115, 116, 120, 34, 30, 123, 144,
+ 144, 127, 122, 37, 114, 116, 121, 115, 120, 122,
+ 122, 127, 34, 123, 123, 122, 123, 111, 122, 122,
+ 111, 123, 127, 116, 120, 54, 55, 30, 143, 123,
+ 122, 122, 116, 122, 122, 54, 55, 122, 127, 121,
+ 121, 106, 122, 34, 122, 34, 121, 121, 54, 55,
+ 111, 123, 30, 34, 111, 123, 121, 121, 122, 122,
+ 122, 122, 111, 123, 37, 34, 122, 122, 111, 122
};
#define yyerrok (yyerrstatus = 0)
@@ -2356,38 +2315,8 @@ yyreduce:
;}
break;
- case 33:
-#line 258 "engines/director/lingo/lingo-gr.y"
- {
- inst then = 0;
- WRITE_UINT32(&then, (yyvsp[(4) - (6)].code) - (yyvsp[(1) - (6)].code));
- (*g_lingo->_currentScript)[(yyvsp[(1) - (6)].code) + 1] = then; /* thenpart */
-
- g_lingo->codeLabel((yyvsp[(1) - (6)].code)); ;}
- break;
-
- case 35:
-#line 267 "engines/director/lingo/lingo-gr.y"
- {
- inst then = 0;
- WRITE_UINT32(&then, (yyvsp[(5) - (6)].code) - (yyvsp[(1) - (6)].code));
- (*g_lingo->_currentScript)[(yyvsp[(1) - (6)].code) + 1] = then; /* thenpart */
-
- g_lingo->codeLabel((yyvsp[(1) - (6)].code)); ;}
- break;
-
- case 36:
-#line 273 "engines/director/lingo/lingo-gr.y"
- {
- inst then = 0;
- WRITE_UINT32(&then, (yyvsp[(5) - (6)].code) - (yyvsp[(1) - (6)].code));
- (*g_lingo->_currentScript)[(yyvsp[(1) - (6)].code) + 1] = then; /* thenpart */
-
- g_lingo->codeLabel((yyvsp[(1) - (6)].code)); ;}
- break;
-
- case 37:
-#line 281 "engines/director/lingo/lingo-gr.y"
+ case 29:
+#line 250 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[(4) - (6)].code) - (yyvsp[(1) - (6)].code));
@@ -2400,8 +2329,8 @@ yyreduce:
g_lingo->processIf(0, 0); ;}
break;
- case 38:
-#line 291 "engines/director/lingo/lingo-gr.y"
+ case 30:
+#line 260 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[(4) - (9)].code) - (yyvsp[(1) - (9)].code));
@@ -2414,8 +2343,8 @@ yyreduce:
g_lingo->processIf(0, (yyvsp[(9) - (9)].code) - (yyvsp[(1) - (9)].code)); ;}
break;
- case 39:
-#line 302 "engines/director/lingo/lingo-gr.y"
+ case 31:
+#line 271 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[(4) - (6)].code) - (yyvsp[(1) - (6)].code));
@@ -2428,8 +2357,8 @@ yyreduce:
g_lingo->processIf(0, 0); ;}
break;
- case 40:
-#line 312 "engines/director/lingo/lingo-gr.y"
+ case 32:
+#line 281 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[(4) - (10)].code) - (yyvsp[(1) - (10)].code));
@@ -2442,8 +2371,8 @@ yyreduce:
g_lingo->processIf(0, (yyvsp[(10) - (10)].code) - (yyvsp[(1) - (10)].code)); ;}
break;
- case 41:
-#line 322 "engines/director/lingo/lingo-gr.y"
+ case 33:
+#line 291 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[(4) - (9)].code) - (yyvsp[(1) - (9)].code));
@@ -2456,8 +2385,8 @@ yyreduce:
g_lingo->processIf(0, 0); ;}
break;
- case 42:
-#line 332 "engines/director/lingo/lingo-gr.y"
+ case 34:
+#line 301 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[(4) - (8)].code) - (yyvsp[(1) - (8)].code));
@@ -2470,8 +2399,8 @@ yyreduce:
g_lingo->processIf(0, (yyvsp[(8) - (8)].code) - (yyvsp[(1) - (8)].code)); ;}
break;
- case 43:
-#line 342 "engines/director/lingo/lingo-gr.y"
+ case 35:
+#line 311 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[(4) - (7)].code) - (yyvsp[(1) - (7)].code));
@@ -2484,28 +2413,38 @@ yyreduce:
g_lingo->processIf(0, 0); ;}
break;
- case 44:
-#line 356 "engines/director/lingo/lingo-gr.y"
+ case 38:
+#line 328 "engines/director/lingo/lingo-gr.y"
{
inst then = 0;
- WRITE_UINT32(&then, (yyvsp[(4) - (9)].code) - (yyvsp[(1) - (9)].code));
- (*g_lingo->_currentScript)[(yyvsp[(1) - (9)].code) + 1] = then; /* thenpart */
+ WRITE_UINT32(&then, (yyvsp[(4) - (6)].code) - (yyvsp[(1) - (6)].code));
+ (*g_lingo->_currentScript)[(yyvsp[(1) - (6)].code) + 1] = then; /* thenpart */
- g_lingo->codeLabel((yyvsp[(1) - (9)].code)); ;}
+ g_lingo->codeLabel((yyvsp[(1) - (6)].code)); ;}
break;
- case 45:
-#line 362 "engines/director/lingo/lingo-gr.y"
+ case 39:
+#line 334 "engines/director/lingo/lingo-gr.y"
{
inst then = 0;
- WRITE_UINT32(&then, (yyvsp[(4) - (6)].code) - (yyvsp[(1) - (6)].code));
+ WRITE_UINT32(&then, (yyvsp[(5) - (6)].code) - (yyvsp[(1) - (6)].code));
(*g_lingo->_currentScript)[(yyvsp[(1) - (6)].code) + 1] = then; /* thenpart */
g_lingo->codeLabel((yyvsp[(1) - (6)].code)); ;}
break;
- case 46:
-#line 368 "engines/director/lingo/lingo-gr.y"
+ case 40:
+#line 342 "engines/director/lingo/lingo-gr.y"
+ {
+ inst then = 0;
+ WRITE_UINT32(&then, (yyvsp[(4) - (9)].code) - (yyvsp[(1) - (9)].code));
+ (*g_lingo->_currentScript)[(yyvsp[(1) - (9)].code) + 1] = then; /* thenpart */
+
+ g_lingo->codeLabel((yyvsp[(1) - (9)].code)); ;}
+ break;
+
+ case 41:
+#line 348 "engines/director/lingo/lingo-gr.y"
{
inst then = 0;
WRITE_UINT32(&then, (yyvsp[(4) - (7)].code) - (yyvsp[(1) - (7)].code));
@@ -2516,27 +2455,27 @@ yyreduce:
checkEnd((yyvsp[(7) - (7)].s), "if", true); ;}
break;
- case 47:
-#line 376 "engines/director/lingo/lingo-gr.y"
+ case 42:
+#line 356 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeLabel((yyvsp[(2) - (5)].code));
checkEnd((yyvsp[(5) - (5)].s), "if", true); ;}
break;
- case 48:
-#line 380 "engines/director/lingo/lingo-gr.y"
+ case 43:
+#line 360 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeLabel((yyvsp[(2) - (4)].code)); ;}
break;
- case 49:
-#line 384 "engines/director/lingo/lingo-gr.y"
+ case 44:
+#line 364 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code3(g_lingo->c_repeatwhilecode, STOP, STOP); ;}
break;
- case 50:
-#line 387 "engines/director/lingo/lingo-gr.y"
+ case 45:
+#line 367 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code3(g_lingo->c_repeatwithcode, STOP, STOP);
g_lingo->code3(STOP, STOP, STOP);
@@ -2544,8 +2483,8 @@ yyreduce:
delete (yyvsp[(3) - (3)].s); ;}
break;
- case 51:
-#line 394 "engines/director/lingo/lingo-gr.y"
+ case 46:
+#line 374 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(g_lingo->c_ifcode);
g_lingo->code3(STOP, STOP, STOP);
@@ -2553,8 +2492,8 @@ yyreduce:
g_lingo->codeLabel(0); ;}
break;
- case 52:
-#line 401 "engines/director/lingo/lingo-gr.y"
+ case 47:
+#line 381 "engines/director/lingo/lingo-gr.y"
{
inst skipEnd;
WRITE_UINT32(&skipEnd, 1); // We have to skip end to avoid multiple executions
@@ -2563,23 +2502,23 @@ yyreduce:
g_lingo->code1(skipEnd); ;}
break;
- case 53:
-#line 409 "engines/director/lingo/lingo-gr.y"
+ case 48:
+#line 389 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->_currentScript->size(); ;}
break;
- case 54:
-#line 412 "engines/director/lingo/lingo-gr.y"
+ case 49:
+#line 392 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(STOP); (yyval.code) = g_lingo->_currentScript->size(); ;}
break;
- case 55:
-#line 415 "engines/director/lingo/lingo-gr.y"
+ case 50:
+#line 395 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->_currentScript->size(); ;}
break;
- case 58:
-#line 420 "engines/director/lingo/lingo-gr.y"
+ case 53:
+#line 400 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(g_lingo->c_whencode);
g_lingo->code1(STOP);
@@ -2587,87 +2526,87 @@ yyreduce:
delete (yyvsp[(2) - (3)].s); ;}
break;
- case 59:
-#line 426 "engines/director/lingo/lingo-gr.y"
+ case 54:
+#line 406 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(g_lingo->c_tellcode);
g_lingo->code1(STOP); ;}
break;
- case 60:
-#line 430 "engines/director/lingo/lingo-gr.y"
+ case 55:
+#line 410 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(g_lingo->c_intpush);
g_lingo->codeInt((yyvsp[(1) - (1)].i)); ;}
break;
- case 61:
-#line 433 "engines/director/lingo/lingo-gr.y"
+ case 56:
+#line 413 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(g_lingo->c_floatpush);
g_lingo->codeFloat((yyvsp[(1) - (1)].f)); ;}
break;
- case 62:
-#line 436 "engines/director/lingo/lingo-gr.y"
+ case 57:
+#line 416 "engines/director/lingo/lingo-gr.y"
{ // D3
(yyval.code) = g_lingo->code1(g_lingo->c_symbolpush);
g_lingo->codeString((yyvsp[(1) - (1)].s)->c_str()); ;}
break;
- case 63:
-#line 439 "engines/director/lingo/lingo-gr.y"
+ case 58:
+#line 419 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(g_lingo->c_stringpush);
g_lingo->codeString((yyvsp[(1) - (1)].s)->c_str()); ;}
break;
- case 64:
-#line 442 "engines/director/lingo/lingo-gr.y"
+ case 59:
+#line 422 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(g_lingo->c_eval);
g_lingo->codeString((yyvsp[(1) - (1)].s)->c_str());
delete (yyvsp[(1) - (1)].s); ;}
break;
- case 65:
-#line 448 "engines/director/lingo/lingo-gr.y"
+ case 60:
+#line 428 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[(1) - (1)].code); ;}
break;
- case 67:
-#line 450 "engines/director/lingo/lingo-gr.y"
+ case 62:
+#line 430 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[(1) - (1)].s), 0);
delete (yyvsp[(1) - (1)].s); ;}
break;
- case 68:
-#line 453 "engines/director/lingo/lingo-gr.y"
+ case 63:
+#line 433 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[(1) - (2)].s), 1);
delete (yyvsp[(1) - (2)].s); ;}
break;
- case 69:
-#line 456 "engines/director/lingo/lingo-gr.y"
+ case 64:
+#line 436 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeFunc((yyvsp[(1) - (2)].s), (yyvsp[(2) - (2)].narg)); ;}
break;
- case 70:
-#line 457 "engines/director/lingo/lingo-gr.y"
+ case 65:
+#line 437 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeFunc((yyvsp[(1) - (4)].s), (yyvsp[(3) - (4)].narg)); ;}
break;
- case 71:
-#line 458 "engines/director/lingo/lingo-gr.y"
+ case 66:
+#line 438 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->codeFunc((yyvsp[(1) - (4)].s), (yyvsp[(3) - (4)].narg));
delete (yyvsp[(1) - (4)].s); ;}
break;
- case 72:
-#line 461 "engines/director/lingo/lingo-gr.y"
+ case 67:
+#line 441 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(g_lingo->c_intpush);
g_lingo->codeInt(0); // Put dummy id
@@ -2678,8 +2617,8 @@ yyreduce:
g_lingo->code2(e, f); ;}
break;
- case 73:
-#line 469 "engines/director/lingo/lingo-gr.y"
+ case 68:
+#line 449 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(g_lingo->c_theentitypush);
inst e = 0, f = 0;
@@ -2688,400 +2627,400 @@ yyreduce:
g_lingo->code2(e, f); ;}
break;
- case 75:
-#line 476 "engines/director/lingo/lingo-gr.y"
+ case 70:
+#line 456 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_add); ;}
break;
- case 76:
-#line 477 "engines/director/lingo/lingo-gr.y"
+ case 71:
+#line 457 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_sub); ;}
break;
- case 77:
-#line 478 "engines/director/lingo/lingo-gr.y"
+ case 72:
+#line 458 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_mul); ;}
break;
- case 78:
-#line 479 "engines/director/lingo/lingo-gr.y"
+ case 73:
+#line 459 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_div); ;}
break;
- case 79:
-#line 480 "engines/director/lingo/lingo-gr.y"
+ case 74:
+#line 460 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_mod); ;}
break;
- case 80:
-#line 481 "engines/director/lingo/lingo-gr.y"
+ case 75:
+#line 461 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_gt); ;}
break;
- case 81:
-#line 482 "engines/director/lingo/lingo-gr.y"
+ case 76:
+#line 462 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_lt); ;}
break;
- case 82:
-#line 483 "engines/director/lingo/lingo-gr.y"
+ case 77:
+#line 463 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_eq); ;}
break;
- case 83:
-#line 484 "engines/director/lingo/lingo-gr.y"
+ case 78:
+#line 464 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_neq); ;}
break;
- case 84:
-#line 485 "engines/director/lingo/lingo-gr.y"
+ case 79:
+#line 465 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_ge); ;}
break;
- case 85:
-#line 486 "engines/director/lingo/lingo-gr.y"
+ case 80:
+#line 466 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_le); ;}
break;
- case 86:
-#line 487 "engines/director/lingo/lingo-gr.y"
+ case 81:
+#line 467 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_and); ;}
break;
- case 87:
-#line 488 "engines/director/lingo/lingo-gr.y"
+ case 82:
+#line 468 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_or); ;}
break;
- case 88:
-#line 489 "engines/director/lingo/lingo-gr.y"
+ case 83:
+#line 469 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_not); ;}
break;
- case 89:
-#line 490 "engines/director/lingo/lingo-gr.y"
+ case 84:
+#line 470 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_ampersand); ;}
break;
- case 90:
-#line 491 "engines/director/lingo/lingo-gr.y"
+ case 85:
+#line 471 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_concat); ;}
break;
- case 91:
-#line 492 "engines/director/lingo/lingo-gr.y"
+ case 86:
+#line 472 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_contains); ;}
break;
- case 92:
-#line 493 "engines/director/lingo/lingo-gr.y"
+ case 87:
+#line 473 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_starts); ;}
break;
- case 93:
-#line 494 "engines/director/lingo/lingo-gr.y"
+ case 88:
+#line 474 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[(2) - (2)].code); ;}
break;
- case 94:
-#line 495 "engines/director/lingo/lingo-gr.y"
+ case 89:
+#line 475 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[(2) - (2)].code); g_lingo->code1(g_lingo->c_negate); ;}
break;
- case 95:
-#line 496 "engines/director/lingo/lingo-gr.y"
+ case 90:
+#line 476 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[(2) - (3)].code); ;}
break;
- case 96:
-#line 497 "engines/director/lingo/lingo-gr.y"
+ case 91:
+#line 477 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(g_lingo->c_arraypush); g_lingo->codeArray((yyvsp[(2) - (3)].narg)); ;}
break;
- case 97:
-#line 498 "engines/director/lingo/lingo-gr.y"
+ case 92:
+#line 478 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_intersects); ;}
break;
- case 98:
-#line 499 "engines/director/lingo/lingo-gr.y"
+ case 93:
+#line 479 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_within); ;}
break;
- case 99:
-#line 500 "engines/director/lingo/lingo-gr.y"
+ case 94:
+#line 480 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_charOf); ;}
break;
- case 100:
-#line 501 "engines/director/lingo/lingo-gr.y"
+ case 95:
+#line 481 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_charToOf); ;}
break;
- case 101:
-#line 502 "engines/director/lingo/lingo-gr.y"
+ case 96:
+#line 482 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_itemOf); ;}
break;
- case 102:
-#line 503 "engines/director/lingo/lingo-gr.y"
+ case 97:
+#line 483 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_itemToOf); ;}
break;
- case 103:
-#line 504 "engines/director/lingo/lingo-gr.y"
+ case 98:
+#line 484 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_lineOf); ;}
break;
- case 104:
-#line 505 "engines/director/lingo/lingo-gr.y"
+ case 99:
+#line 485 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_lineToOf); ;}
break;
- case 105:
-#line 506 "engines/director/lingo/lingo-gr.y"
+ case 100:
+#line 486 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_wordOf); ;}
break;
- case 106:
-#line 507 "engines/director/lingo/lingo-gr.y"
+ case 101:
+#line 487 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_wordToOf); ;}
break;
- case 107:
-#line 508 "engines/director/lingo/lingo-gr.y"
+ case 102:
+#line 488 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeMe(nullptr, 0); ;}
break;
- case 108:
-#line 511 "engines/director/lingo/lingo-gr.y"
+ case 103:
+#line 491 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[(1) - (2)].s), 1);
delete (yyvsp[(1) - (2)].s); ;}
break;
- case 109:
-#line 516 "engines/director/lingo/lingo-gr.y"
+ case 104:
+#line 496 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_printtop); ;}
break;
- case 112:
-#line 519 "engines/director/lingo/lingo-gr.y"
+ case 107:
+#line 499 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_exitRepeat); ;}
break;
- case 113:
-#line 520 "engines/director/lingo/lingo-gr.y"
+ case 108:
+#line 500 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_procret); ;}
break;
- case 117:
-#line 524 "engines/director/lingo/lingo-gr.y"
+ case 112:
+#line 504 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[(1) - (1)].s), 0);
delete (yyvsp[(1) - (1)].s); ;}
break;
- case 118:
-#line 527 "engines/director/lingo/lingo-gr.y"
+ case 113:
+#line 507 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[(1) - (2)].s), 1);
delete (yyvsp[(1) - (2)].s); ;}
break;
- case 119:
-#line 530 "engines/director/lingo/lingo-gr.y"
+ case 114:
+#line 510 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[(1) - (2)].s), 1);
delete (yyvsp[(1) - (2)].s); ;}
break;
- case 120:
-#line 533 "engines/director/lingo/lingo-gr.y"
+ case 115:
+#line 513 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(g_lingo->c_voidpush);
g_lingo->codeFunc((yyvsp[(1) - (1)].s), 1);
delete (yyvsp[(1) - (1)].s); ;}
break;
- case 121:
-#line 537 "engines/director/lingo/lingo-gr.y"
+ case 116:
+#line 517 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeFunc((yyvsp[(1) - (2)].s), (yyvsp[(2) - (2)].narg)); ;}
break;
- case 122:
-#line 538 "engines/director/lingo/lingo-gr.y"
+ case 117:
+#line 518 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeFunc((yyvsp[(1) - (4)].s), (yyvsp[(3) - (4)].narg)); ;}
break;
- case 123:
-#line 539 "engines/director/lingo/lingo-gr.y"
+ case 118:
+#line 519 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeMe((yyvsp[(3) - (4)].s), 0); ;}
break;
- case 124:
-#line 540 "engines/director/lingo/lingo-gr.y"
+ case 119:
+#line 520 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeMe((yyvsp[(3) - (6)].s), (yyvsp[(5) - (6)].narg)); ;}
break;
- case 125:
-#line 541 "engines/director/lingo/lingo-gr.y"
+ case 120:
+#line 521 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_open); ;}
break;
- case 126:
-#line 542 "engines/director/lingo/lingo-gr.y"
+ case 121:
+#line 522 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code2(g_lingo->c_voidpush, g_lingo->c_open); ;}
break;
- case 127:
-#line 543 "engines/director/lingo/lingo-gr.y"
+ case 122:
+#line 523 "engines/director/lingo/lingo-gr.y"
{ Common::String s(*(yyvsp[(1) - (3)].s)); s += '-'; s += *(yyvsp[(2) - (3)].s); g_lingo->codeFunc(&s, (yyvsp[(3) - (3)].narg)); ;}
break;
- case 128:
-#line 546 "engines/director/lingo/lingo-gr.y"
+ case 123:
+#line 526 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_global); g_lingo->codeString((yyvsp[(1) - (1)].s)->c_str()); delete (yyvsp[(1) - (1)].s); ;}
break;
- case 129:
-#line 547 "engines/director/lingo/lingo-gr.y"
+ case 124:
+#line 527 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_global); g_lingo->codeString((yyvsp[(3) - (3)].s)->c_str()); delete (yyvsp[(3) - (3)].s); ;}
break;
- case 130:
-#line 550 "engines/director/lingo/lingo-gr.y"
+ case 125:
+#line 530 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_property); g_lingo->codeString((yyvsp[(1) - (1)].s)->c_str()); delete (yyvsp[(1) - (1)].s); ;}
break;
- case 131:
-#line 551 "engines/director/lingo/lingo-gr.y"
+ case 126:
+#line 531 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_property); g_lingo->codeString((yyvsp[(3) - (3)].s)->c_str()); delete (yyvsp[(3) - (3)].s); ;}
break;
- case 132:
-#line 554 "engines/director/lingo/lingo-gr.y"
+ case 127:
+#line 534 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_instance); g_lingo->codeString((yyvsp[(1) - (1)].s)->c_str()); delete (yyvsp[(1) - (1)].s); ;}
break;
- case 133:
-#line 555 "engines/director/lingo/lingo-gr.y"
+ case 128:
+#line 535 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_instance); g_lingo->codeString((yyvsp[(3) - (3)].s)->c_str()); delete (yyvsp[(3) - (3)].s); ;}
break;
- case 134:
-#line 566 "engines/director/lingo/lingo-gr.y"
+ case 129:
+#line 546 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_gotoloop); ;}
break;
- case 135:
-#line 567 "engines/director/lingo/lingo-gr.y"
+ case 130:
+#line 547 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_gotonext); ;}
break;
- case 136:
-#line 568 "engines/director/lingo/lingo-gr.y"
+ case 131:
+#line 548 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_gotoprevious); ;}
break;
- case 137:
-#line 569 "engines/director/lingo/lingo-gr.y"
+ case 132:
+#line 549 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(g_lingo->c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(g_lingo->c_goto); ;}
break;
- case 138:
-#line 573 "engines/director/lingo/lingo-gr.y"
+ case 133:
+#line 553 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(g_lingo->c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(g_lingo->c_goto); ;}
break;
- case 139:
-#line 577 "engines/director/lingo/lingo-gr.y"
+ case 134:
+#line 557 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(g_lingo->c_intpush);
g_lingo->codeInt(2);
g_lingo->code1(g_lingo->c_goto); ;}
break;
- case 144:
-#line 591 "engines/director/lingo/lingo-gr.y"
+ case 139:
+#line 571 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_playdone); ;}
break;
- case 145:
-#line 592 "engines/director/lingo/lingo-gr.y"
+ case 140:
+#line 572 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(g_lingo->c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(g_lingo->c_play); ;}
break;
- case 146:
-#line 596 "engines/director/lingo/lingo-gr.y"
+ case 141:
+#line 576 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(g_lingo->c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(g_lingo->c_play); ;}
break;
- case 147:
-#line 600 "engines/director/lingo/lingo-gr.y"
+ case 142:
+#line 580 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(g_lingo->c_intpush);
g_lingo->codeInt(2);
g_lingo->code1(g_lingo->c_play); ;}
break;
- case 148:
-#line 604 "engines/director/lingo/lingo-gr.y"
+ case 143:
+#line 584 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeSetImmediate(true); ;}
break;
- case 149:
-#line 604 "engines/director/lingo/lingo-gr.y"
+ case 144:
+#line 584 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeSetImmediate(false);
g_lingo->codeFunc((yyvsp[(1) - (3)].s), (yyvsp[(3) - (3)].narg)); ;}
break;
- case 150:
-#line 634 "engines/director/lingo/lingo-gr.y"
+ case 145:
+#line 614 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = true; g_lingo->_currentFactory.clear(); ;}
break;
- case 151:
-#line 635 "engines/director/lingo/lingo-gr.y"
+ case 146:
+#line 615 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(g_lingo->c_procret);
g_lingo->define(*(yyvsp[(2) - (8)].s), (yyvsp[(4) - (8)].code), (yyvsp[(5) - (8)].narg));
g_lingo->_indef = false; ;}
break;
- case 152:
-#line 639 "engines/director/lingo/lingo-gr.y"
+ case 147:
+#line 619 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeFactory(*(yyvsp[(2) - (2)].s)); ;}
break;
- case 153:
-#line 640 "engines/director/lingo/lingo-gr.y"
+ case 148:
+#line 620 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = true; ;}
break;
- case 154:
-#line 641 "engines/director/lingo/lingo-gr.y"
+ case 149:
+#line 621 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(g_lingo->c_procret);
g_lingo->define(*(yyvsp[(2) - (8)].s), (yyvsp[(4) - (8)].code), (yyvsp[(5) - (8)].narg) + 1, &g_lingo->_currentFactory);
g_lingo->_indef = false; ;}
break;
- case 155:
-#line 645 "engines/director/lingo/lingo-gr.y"
+ case 150:
+#line 625 "engines/director/lingo/lingo-gr.y"
{ // D3
g_lingo->code1(g_lingo->c_procret);
g_lingo->define(*(yyvsp[(1) - (8)].s), (yyvsp[(2) - (8)].code), (yyvsp[(3) - (8)].narg));
@@ -3091,8 +3030,8 @@ yyreduce:
checkEnd((yyvsp[(7) - (8)].s), (yyvsp[(1) - (8)].s)->c_str(), false); ;}
break;
- case 156:
-#line 652 "engines/director/lingo/lingo-gr.y"
+ case 151:
+#line 632 "engines/director/lingo/lingo-gr.y"
{ // D4. No 'end' clause
g_lingo->code1(g_lingo->c_procret);
g_lingo->define(*(yyvsp[(1) - (6)].s), (yyvsp[(2) - (6)].code), (yyvsp[(3) - (6)].narg));
@@ -3100,38 +3039,38 @@ yyreduce:
g_lingo->_ignoreMe = false; ;}
break;
- case 157:
-#line 658 "engines/director/lingo/lingo-gr.y"
+ case 152:
+#line 638 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = (yyvsp[(2) - (2)].s); g_lingo->_indef = true; g_lingo->_currentFactory.clear(); g_lingo->_ignoreMe = true; ;}
break;
- case 158:
-#line 660 "engines/director/lingo/lingo-gr.y"
+ case 153:
+#line 640 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; ;}
break;
- case 159:
-#line 661 "engines/director/lingo/lingo-gr.y"
+ case 154:
+#line 641 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[(1) - (1)].s)); (yyval.narg) = 1; ;}
break;
- case 160:
-#line 662 "engines/director/lingo/lingo-gr.y"
+ case 155:
+#line 642 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[(3) - (3)].s)); (yyval.narg) = (yyvsp[(1) - (3)].narg) + 1; ;}
break;
- case 161:
-#line 663 "engines/director/lingo/lingo-gr.y"
+ case 156:
+#line 643 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[(4) - (4)].s)); (yyval.narg) = (yyvsp[(1) - (4)].narg) + 1; ;}
break;
- case 165:
-#line 671 "engines/director/lingo/lingo-gr.y"
+ case 160:
+#line 651 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArgStore(); ;}
break;
- case 166:
-#line 675 "engines/director/lingo/lingo-gr.y"
+ case 161:
+#line 655 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(g_lingo->c_call);
g_lingo->codeString((yyvsp[(1) - (2)].s)->c_str());
@@ -3140,34 +3079,34 @@ yyreduce:
g_lingo->code1(numpar); ;}
break;
- case 167:
-#line 683 "engines/director/lingo/lingo-gr.y"
+ case 162:
+#line 663 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; ;}
break;
- case 168:
-#line 684 "engines/director/lingo/lingo-gr.y"
+ case 163:
+#line 664 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; ;}
break;
- case 169:
-#line 685 "engines/director/lingo/lingo-gr.y"
+ case 164:
+#line 665 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[(1) - (3)].narg) + 1; ;}
break;
- case 170:
-#line 688 "engines/director/lingo/lingo-gr.y"
+ case 165:
+#line 668 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; ;}
break;
- case 171:
-#line 689 "engines/director/lingo/lingo-gr.y"
+ case 166:
+#line 669 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[(1) - (3)].narg) + 1; ;}
break;
/* Line 1267 of yacc.c. */
-#line 3171 "engines/director/lingo/lingo-gr.cpp"
+#line 3110 "engines/director/lingo/lingo-gr.cpp"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -3381,6 +3320,6 @@ yyreturn:
}
-#line 692 "engines/director/lingo/lingo-gr.y"
+#line 672 "engines/director/lingo/lingo-gr.y"
diff --git a/engines/director/lingo/lingo-gr.y b/engines/director/lingo/lingo-gr.y
index d49a76112b..1d1b2e0393 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -247,37 +247,6 @@ stmt: stmtoneliner
}
;
-elseifstmt: elseifstmt elseifstmt1
- | elseifstmt1
- ;
-
-elseifstmtoneliner: elseifstmtoneliner elseifstmtoneliner1
- | elseifstmtoneliner1
- ;
-
-elseifstmtoneliner1: elseif expr tTHEN begin stmt end {
- inst then = 0;
- WRITE_UINT32(&then, $4 - $1);
- (*g_lingo->_currentScript)[$1 + 1] = then; /* thenpart */
-
- g_lingo->codeLabel($1); }
- ;
-
-elseifstmt1: elseifstmtoneliner
- | elseif expr tTHEN begin stmtlist end {
- inst then = 0;
- WRITE_UINT32(&then, $5 - $1);
- (*g_lingo->_currentScript)[$1 + 1] = then; /* thenpart */
-
- g_lingo->codeLabel($1); }
- | elseif expr tTHENNL begin stmtlist end {
- inst then = 0;
- WRITE_UINT32(&then, $5 - $1);
- (*g_lingo->_currentScript)[$1 + 1] = then; /* thenpart */
-
- g_lingo->codeLabel($1); }
- ;
-
ifstmt: if expr tTHENNL stmtlist end ENDCLAUSE {
inst then = 0, end = 0;
WRITE_UINT32(&then, $4 - $1);
@@ -309,7 +278,7 @@ ifstmt: if expr tTHENNL stmtlist end ENDCLAUSE {
(*g_lingo->_currentScript)[$1 + 3] = end; /* end, if cond fails */
g_lingo->processIf(0, 0); }
- | if expr tTHEN begin stmtoneliner end elseifstmt end endifstmt end {
+ | if expr tTHEN begin stmtoneliner end elseifstmtlist end endifstmt end {
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, $4 - $1);
WRITE_UINT32(&else1, $6 - $1);
@@ -319,7 +288,7 @@ ifstmt: if expr tTHENNL stmtlist end ENDCLAUSE {
(*g_lingo->_currentScript)[$1 + 3] = end; /* end, if cond fails */
g_lingo->processIf(0, $10 - $1); }
- | if expr tTHENNL stmtlist end elseifstmt end endifstmt end {
+ | if expr tTHENNL stmtlist end elseifstmtlist end endifstmt end {
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, $4 - $1);
WRITE_UINT32(&else1, $7 - $1);
@@ -352,14 +321,25 @@ ifstmt: if expr tTHENNL stmtlist end ENDCLAUSE {
;
+elseifstmtlist: elseifstmtlist elseifstmt
+ | elseifstmt
+ ;
-endifstmt: elseif expr tTHEN begin stmtoneliner end tELSE stmtoneliner end {
+elseifstmt: elseif expr tTHEN begin stmtoneliner end {
inst then = 0;
WRITE_UINT32(&then, $4 - $1);
(*g_lingo->_currentScript)[$1 + 1] = then; /* thenpart */
g_lingo->codeLabel($1); }
- | elseif expr tTHEN begin stmtoneliner end {
+ | elseif expr tTHENNL begin stmtlist end {
+ inst then = 0;
+ WRITE_UINT32(&then, $5 - $1);
+ (*g_lingo->_currentScript)[$1 + 1] = then; /* thenpart */
+
+ g_lingo->codeLabel($1); }
+ ;
+
+endifstmt: elseif expr tTHEN begin stmtoneliner end tELSE stmtoneliner end {
inst then = 0;
WRITE_UINT32(&then, $4 - $1);
(*g_lingo->_currentScript)[$1 + 1] = then; /* thenpart */