diff options
author | Eugene Sandulenko | 2017-02-06 10:39:48 +0100 |
---|---|---|
committer | Eugene Sandulenko | 2017-02-06 10:39:48 +0100 |
commit | 7f5ff6cac066a0505fd4aacc211a2627e0c0f8ce (patch) | |
tree | 716838cd1b8637175a87dd50a6aef69a8d5ccb1f /engines | |
parent | 6ea020d5f1cdc8adfb0bfbe23906d0727a78c558 (diff) | |
download | scummvm-rg350-7f5ff6cac066a0505fd4aacc211a2627e0c0f8ce.tar.gz scummvm-rg350-7f5ff6cac066a0505fd4aacc211a2627e0c0f8ce.tar.bz2 scummvm-rg350-7f5ff6cac066a0505fd4aacc211a2627e0c0f8ce.zip |
DIRECTOR: Lingo: Fixing grammar for 'cast XX'
Diffstat (limited to 'engines')
-rw-r--r-- | engines/director/lingo/lingo-gr.cpp | 963 | ||||
-rw-r--r-- | engines/director/lingo/lingo-gr.y | 9 |
2 files changed, 491 insertions, 481 deletions
diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp index 3e01ed0680..e8f994d4d7 100644 --- a/engines/director/lingo/lingo-gr.cpp +++ b/engines/director/lingo/lingo-gr.cpp @@ -518,18 +518,18 @@ union yyalloc #endif /* YYFINAL -- State number of the termination state. */ -#define YYFINAL 113 +#define YYFINAL 114 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 1633 +#define YYLAST 1644 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 96 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 41 +#define YYNNTS 42 /* YYNRULES -- Number of rules. */ -#define YYNRULES 151 +#define YYNRULES 152 /* YYNRULES -- Number of states. */ -#define YYNSTATES 333 +#define YYNSTATES 336 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 @@ -592,12 +592,12 @@ static const yytype_uint16 yyprhs[] = 279, 283, 287, 291, 295, 299, 303, 307, 310, 314, 318, 322, 326, 329, 332, 336, 340, 345, 350, 355, 362, 367, 374, 379, 386, 391, 398, 401, 403, 405, - 408, 410, 413, 416, 419, 422, 424, 429, 432, 437, - 444, 449, 452, 456, 458, 462, 464, 468, 471, 474, - 477, 480, 484, 487, 490, 492, 496, 499, 502, 505, - 509, 512, 513, 517, 518, 527, 530, 531, 540, 541, - 542, 553, 554, 556, 560, 565, 566, 569, 570, 572, - 576, 578 + 408, 410, 413, 416, 419, 422, 424, 427, 432, 439, + 444, 447, 451, 453, 457, 459, 463, 466, 469, 472, + 475, 479, 482, 485, 487, 491, 494, 497, 500, 504, + 507, 508, 512, 513, 522, 525, 526, 535, 536, 537, + 548, 549, 551, 555, 560, 561, 564, 565, 567, 571, + 573, 577, 580 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ @@ -645,23 +645,23 @@ static const yytype_int16 yyrhs[] = -1, 75, 118, 46, 118, 40, 118, -1, 42, 118, -1, 122, -1, 125, -1, 30, 43, -1, 30, -1, 32, 120, -1, 56, 121, -1, 18, 118, -1, 17, - 118, -1, 17, -1, 19, 89, 135, 90, -1, 19, - 135, -1, 80, 89, 21, 90, -1, 80, 89, 21, - 95, 135, 90, -1, 53, 118, 48, 118, -1, 53, - 118, -1, 20, 21, 135, -1, 21, -1, 120, 95, - 21, -1, 21, -1, 121, 95, 21, -1, 33, 36, - -1, 33, 39, -1, 33, 41, -1, 33, 123, -1, - 33, 123, 124, -1, 33, 124, -1, 31, 118, -1, - 118, -1, 40, 38, 118, -1, 38, 118, -1, 54, - 55, -1, 54, 123, -1, 54, 123, 124, -1, 54, - 124, -1, -1, 26, 126, 135, -1, -1, 37, 21, - 128, 114, 132, 98, 133, 116, -1, 51, 21, -1, - -1, 52, 21, 129, 114, 132, 98, 133, 116, -1, - -1, -1, 79, 21, 130, 114, 131, 132, 98, 133, - 116, 25, -1, -1, 21, -1, 132, 95, 21, -1, - 132, 98, 95, 21, -1, -1, 21, 136, -1, -1, - 118, -1, 135, 95, 118, -1, 118, -1, 135, 95, - 118, -1 + 118, -1, 17, -1, 19, 137, -1, 80, 89, 21, + 90, -1, 80, 89, 21, 95, 135, 90, -1, 53, + 118, 48, 118, -1, 53, 118, -1, 20, 21, 135, + -1, 21, -1, 120, 95, 21, -1, 21, -1, 121, + 95, 21, -1, 33, 36, -1, 33, 39, -1, 33, + 41, -1, 33, 123, -1, 33, 123, 124, -1, 33, + 124, -1, 31, 118, -1, 118, -1, 40, 38, 118, + -1, 38, 118, -1, 54, 55, -1, 54, 123, -1, + 54, 123, 124, -1, 54, 124, -1, -1, 26, 126, + 135, -1, -1, 37, 21, 128, 114, 132, 98, 133, + 116, -1, 51, 21, -1, -1, 52, 21, 129, 114, + 132, 98, 133, 116, -1, -1, -1, 79, 21, 130, + 114, 131, 132, 98, 133, 116, 25, -1, -1, 21, + -1, 132, 95, 21, -1, 132, 98, 95, 21, -1, + -1, 21, 136, -1, -1, 118, -1, 135, 95, 118, + -1, 118, -1, 135, 95, 118, -1, 118, 98, -1, + 135, 95, 118, 98, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ @@ -678,11 +678,11 @@ static const yytype_uint16 yyrline[] = 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 459, 460, 461, 462, 463, 465, 466, 467, 470, 473, 476, 477, 478, 479, - 480, 481, 482, 485, 486, 489, 490, 501, 502, 503, - 504, 507, 510, 515, 516, 519, 520, 523, 524, 527, - 530, 533, 533, 563, 563, 569, 572, 572, 577, 578, - 577, 588, 589, 590, 591, 594, 598, 606, 607, 608, - 611, 612 + 480, 481, 484, 485, 488, 489, 500, 501, 502, 503, + 506, 509, 514, 515, 518, 519, 522, 523, 526, 529, + 532, 532, 562, 562, 568, 571, 571, 576, 577, 576, + 587, 588, 589, 590, 593, 597, 605, 606, 607, 610, + 611, 614, 615 }; #endif @@ -711,7 +711,7 @@ static const char *const yytname[] = "repeatwith", "if", "elseif", "begin", "end", "stmtlist", "when", "expr", "func", "globallist", "instancelist", "gotofunc", "gotoframe", "gotomovie", "playfunc", "@1", "defn", "@2", "@3", "@4", "@5", "argdef", - "argstore", "macro", "arglist", "nonemptyarglist", 0 + "argstore", "macro", "arglist", "nonemptyarglist", "nonemptyarglistnl", 0 }; #endif @@ -747,11 +747,11 @@ static const yytype_uint8 yyr1[] = 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, - 119, 119, 119, 120, 120, 121, 121, 122, 122, 122, - 122, 122, 122, 123, 123, 124, 124, 125, 125, 125, - 125, 126, 125, 128, 127, 127, 129, 127, 130, 131, - 127, 132, 132, 132, 132, 133, 134, 135, 135, 135, - 136, 136 + 119, 119, 120, 120, 121, 121, 122, 122, 122, 122, + 122, 122, 123, 123, 124, 124, 125, 125, 125, 125, + 126, 125, 128, 127, 127, 129, 127, 130, 131, 127, + 132, 132, 132, 132, 133, 134, 135, 135, 135, 136, + 136, 137, 137 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -767,12 +767,12 @@ static const yytype_uint8 yyr2[] = 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, 2, 1, 1, 2, - 1, 2, 2, 2, 2, 1, 4, 2, 4, 6, - 4, 2, 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, 0, 0, - 10, 0, 1, 3, 4, 0, 2, 0, 1, 3, - 1, 3 + 1, 2, 2, 2, 2, 1, 2, 4, 6, 4, + 2, 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, 0, 0, 10, + 0, 1, 3, 4, 0, 2, 0, 1, 3, 1, + 3, 2, 4 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -780,175 +780,167 @@ static const yytype_uint8 yyr2[] = means the default is an error. */ static const yytype_uint8 yydefact[] = { - 0, 0, 55, 62, 0, 56, 59, 105, 0, 147, - 0, 61, 58, 57, 131, 100, 0, 0, 47, 0, + 0, 0, 55, 62, 0, 56, 59, 105, 0, 146, + 0, 61, 58, 57, 130, 100, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 147, 0, 3, 64, 21, 9, 22, 0, 0, 0, + 146, 0, 3, 64, 21, 9, 22, 0, 0, 0, 0, 19, 20, 97, 98, 7, 8, 5, 4, 61, - 0, 63, 104, 103, 147, 148, 107, 147, 147, 150, - 0, 146, 147, 99, 113, 101, 0, 117, 0, 118, - 0, 119, 124, 120, 122, 133, 96, 0, 45, 0, - 0, 0, 0, 135, 136, 111, 127, 128, 130, 115, - 102, 77, 0, 0, 0, 0, 0, 138, 0, 82, - 83, 0, 0, 1, 6, 0, 0, 0, 0, 42, - 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 147, 0, 148, - 0, 0, 112, 0, 0, 132, 0, 123, 126, 0, - 121, 49, 0, 0, 0, 46, 0, 0, 0, 0, - 0, 54, 49, 0, 129, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 49, 0, 84, 85, - 2, 0, 50, 0, 0, 49, 0, 26, 73, 74, - 72, 75, 76, 69, 79, 80, 81, 78, 65, 66, - 67, 68, 70, 71, 106, 149, 60, 151, 114, 125, - 141, 10, 11, 12, 17, 14, 0, 0, 16, 13, - 141, 110, 116, 88, 0, 90, 0, 92, 0, 94, - 0, 86, 87, 139, 108, 147, 51, 0, 44, 51, - 0, 43, 142, 0, 18, 15, 0, 0, 0, 0, - 0, 141, 0, 50, 0, 0, 50, 50, 0, 145, - 145, 89, 91, 93, 95, 0, 109, 52, 53, 0, - 0, 50, 49, 30, 143, 0, 51, 51, 145, 23, - 50, 51, 27, 51, 0, 48, 49, 50, 38, 0, - 144, 134, 137, 51, 51, 50, 50, 50, 40, 36, - 0, 0, 37, 33, 0, 0, 50, 0, 0, 35, - 0, 0, 50, 49, 50, 49, 140, 0, 24, 28, - 29, 49, 31, 0, 32, 0, 25, 51, 34, 50, - 50, 39, 41 + 0, 63, 104, 103, 147, 0, 106, 146, 146, 149, + 0, 145, 146, 99, 112, 101, 0, 116, 0, 117, + 0, 118, 123, 119, 121, 132, 96, 0, 45, 0, + 0, 0, 0, 134, 135, 110, 126, 127, 129, 114, + 102, 77, 0, 0, 0, 0, 0, 137, 0, 82, + 83, 0, 147, 0, 1, 6, 0, 0, 0, 0, + 42, 50, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 146, 0, + 151, 0, 111, 147, 0, 0, 131, 0, 122, 125, + 0, 120, 49, 0, 0, 0, 46, 0, 0, 0, + 0, 0, 54, 49, 0, 128, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 49, 0, 84, + 85, 0, 2, 0, 50, 0, 0, 49, 0, 26, + 73, 74, 72, 75, 76, 69, 79, 80, 81, 78, + 65, 66, 67, 68, 70, 71, 148, 60, 150, 113, + 124, 140, 10, 11, 12, 17, 14, 0, 0, 16, + 13, 140, 109, 115, 88, 0, 90, 0, 92, 0, + 94, 0, 86, 87, 138, 107, 146, 148, 51, 0, + 44, 51, 0, 43, 152, 141, 0, 18, 15, 0, + 0, 0, 0, 0, 140, 0, 50, 0, 0, 50, + 50, 0, 144, 144, 89, 91, 93, 95, 0, 108, + 52, 53, 0, 0, 50, 49, 30, 142, 0, 51, + 51, 144, 23, 50, 51, 27, 51, 0, 48, 49, + 50, 38, 0, 143, 133, 136, 51, 51, 50, 50, + 50, 40, 36, 0, 0, 37, 33, 0, 0, 50, + 0, 0, 35, 0, 0, 50, 49, 50, 49, 139, + 0, 24, 28, 29, 49, 31, 0, 32, 0, 25, + 51, 34, 50, 50, 39, 41 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 41, 267, 42, 43, 44, 268, 46, 314, 297, - 298, 288, 299, 118, 47, 48, 49, 289, 210, 187, - 253, 50, 51, 52, 75, 100, 53, 83, 84, 54, - 72, 55, 151, 162, 176, 251, 243, 276, 56, 143, - 71 + -1, 41, 270, 42, 43, 44, 271, 46, 317, 300, + 301, 291, 302, 119, 47, 48, 49, 292, 211, 189, + 256, 50, 51, 52, 75, 100, 53, 83, 84, 54, + 72, 55, 152, 163, 177, 254, 246, 279, 56, 144, + 71, 66 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -240 +#define YYPACT_NINF -275 static const yytype_int16 yypact[] = { - 286, -64, -240, -240, 961, -240, -240, 961, 961, 1027, - 35, 369, -240, -240, -240, 53, 67, 860, -240, 77, - 961, -26, 45, 80, 81, 82, 961, 926, 83, 961, - 961, 961, 961, 961, 961, 84, 18, 961, 961, 961, - 961, 2, -240, -240, -240, -240, -240, 19, 25, 1052, - 961, 1541, -240, -240, -240, -240, -240, -240, -240, 22, - 961, 1541, 1541, 1541, 961, 1541, 20, 961, 961, 1345, - 24, -240, 961, -240, -240, 26, 961, -240, 961, -240, - 74, -240, 1541, 36, -240, -240, 142, 92, -240, -39, - 961, -32, 75, -240, -240, 1314, -240, 36, -240, -240, - 46, -66, 338, 1091, 1123, 1155, 1417, -240, 119, -66, - -66, 1479, -9, -240, 454, 1052, 961, 1052, 99, 1510, - 1541, 961, 961, 961, 961, 961, 961, 961, 961, 961, - 961, 961, 961, 961, 961, 961, 961, 961, 142, 1479, - -12, 961, 20, -8, 961, 20, 125, 1541, 1541, 961, - -240, -240, 126, 961, 961, -240, 961, 961, 763, 961, - 961, -240, -240, 961, -240, 128, 961, 961, 961, 961, - 961, 961, 961, 961, 961, 961, -240, -1, -240, -240, - -240, 61, 1541, 62, 1448, -64, 961, -240, 823, 823, - 823, -66, -66, -66, 1541, 823, 823, 1021, 129, 129, - -66, -66, 1541, 1541, -240, 1541, -240, 1381, -240, 1541, - 135, -240, 1541, 1541, 1541, 1541, 961, 961, 1541, 1541, - 135, 1541, -240, 1541, 1187, 1541, 1219, 1541, 1251, 1541, - 1283, 1541, 1541, -240, -240, 961, -240, 17, -240, -240, - 786, 1541, -240, -24, 1541, 1541, -24, 961, 961, 961, - 961, 135, 5, 620, 113, 961, 620, -240, 141, 68, - 68, 1541, 1541, 1541, 1541, -24, -240, -240, -240, 140, - 961, 1541, -5, -13, -240, 145, -240, -240, 68, -240, - 1541, -240, -240, -240, 150, -240, -240, 150, -240, 1052, - -240, 620, 620, -240, -240, 620, 620, 150, 150, -240, - 1052, 786, -240, 131, 138, 537, 620, 159, 160, -240, - 161, 146, -240, -240, -240, -240, -240, 165, -240, -240, - -240, -240, -240, 786, -240, 703, -240, 703, -240, -240, - 620, -240, -240 + 289, -65, -275, -275, 964, -275, -275, 964, 964, 964, + 37, 372, -275, -275, -275, 31, 61, 863, -275, 72, + 964, 38, 71, 75, 76, 77, 964, 929, 79, 964, + 964, 964, 964, 964, 964, 81, 15, 964, 964, 964, + 964, 2, -275, -275, -275, -275, -275, 16, 22, 1030, + 964, 1552, -275, -275, -275, -275, -275, -275, -275, 17, + 964, 1552, 1552, 1552, 1458, 12, -275, 964, 964, 1324, + 13, -275, 964, -275, -275, 18, 964, -275, 964, -275, + 78, -275, 1552, 32, -275, -275, 340, 89, -275, -39, + 964, -32, 69, -275, -275, 1007, -275, 32, -275, -275, + 25, -45, 1069, 1101, 1133, 1165, 1396, -275, 100, -45, + -45, 1490, 1552, -6, -275, 457, 1030, 964, 1030, 95, + 1521, 1552, 964, 964, 964, 964, 964, 964, 964, 964, + 964, 964, 964, 964, 964, 964, 964, 964, 964, 340, + -275, 964, 27, 1490, -33, 964, 27, 120, 1552, 1552, + 964, -275, -275, 122, 964, 964, -275, 964, 964, 766, + 964, 964, -275, -275, 964, -275, 123, 964, 964, 964, + 964, 964, 964, 964, 964, 964, 964, -275, -31, -275, + -275, 964, -275, 57, 1552, 58, 1427, -65, 964, -275, + 164, 164, 164, -45, -45, -45, 1552, 164, 164, 826, + 206, 206, -45, -45, 1552, 1552, 1458, -275, 1360, -275, + 1552, 128, -275, 1552, 1552, 1552, 1552, 964, 964, 1552, + 1552, 128, 1552, -275, 1552, 1197, 1552, 1229, 1552, 1261, + 1552, 1293, 1552, 1552, -275, -275, 964, 1552, -275, -2, + -275, -275, 789, 1552, -275, -275, -66, 1552, 1552, -66, + 964, 964, 964, 964, 128, -30, 623, 104, 964, 623, + -275, 131, 59, 59, 1552, 1552, 1552, 1552, -66, -275, + -275, -275, 132, 964, 1552, -5, -13, -275, 139, -275, + -275, 59, -275, 1552, -275, -275, -275, 124, -275, -275, + 124, -275, 1030, -275, 623, 623, -275, -275, 623, 623, + 124, 124, -275, 1030, 789, -275, 113, 121, 540, 623, + 142, 154, -275, 158, 141, -275, -275, -275, -275, -275, + 162, -275, -275, -275, -275, -275, 789, -275, 706, -275, + 706, -275, -275, 623, -275, -275 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -240, -240, 12, 87, -240, -239, 0, -240, -240, -240, - -79, -228, -101, -111, -240, -240, -240, -237, -133, -34, - -184, -240, 1, -240, -240, -240, -240, 175, -16, -240, - -240, -240, -240, -240, -240, -240, -205, -224, -240, 8, - -240 + -275, -275, 14, 73, -275, -241, 0, -275, -275, -275, + -86, -247, -108, -112, -275, -275, -275, -274, -111, -75, + -185, -275, 1, -275, -275, -275, -275, 166, -16, -275, + -275, -275, -275, -275, -275, -275, -218, -210, -275, 8, + -275, -275 }; /* 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 -150 +#define YYTABLE_NINF -149 static const yytype_int16 yytable[] = { - 45, 257, 113, 127, 181, 61, 183, 156, 62, 63, - 65, 98, 69, 58, 159, 246, 285, 66, 82, 70, - 282, 86, 87, 88, 57, 135, 136, 95, 82, 220, - 101, 102, 103, 104, 105, 106, 277, 286, 109, 110, - 111, 65, 157, 233, 254, 283, 265, 300, 112, 160, - 119, 120, 240, 114, 293, 256, 67, 89, 90, 302, - 300, 138, 312, 255, 57, 139, 91, 150, 65, 139, - 302, 258, 140, 65, 78, 142, 80, 147, 204, 148, - 145, 164, 206, 141, 328, 179, 141, 141, 74, 234, - 57, 158, 291, 292, 235, 266, 73, 295, 85, 296, - 141, 92, 93, 94, 99, 107, 116, 108, 115, 305, - 306, 137, 149, 155, 45, 141, 119, 182, 184, 144, - 161, 146, 188, 189, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 199, 200, 201, 202, 203, 65, 284, - 177, 165, 205, 330, 185, 207, 208, 211, 237, 222, - 209, 236, 238, 301, 212, 213, 242, 214, 215, 270, - 218, 219, 274, 275, 221, 279, 290, 223, 224, 225, - 226, 227, 228, 229, 230, 231, 232, 152, 304, 285, - 323, 313, 325, 315, 318, 319, 320, 241, 327, 311, - 326, 321, 124, 125, 287, 126, 309, 239, 127, 121, - 122, 180, 97, 0, 123, 124, 125, 0, 126, 153, - 154, 127, 128, 129, 133, 134, 0, 244, 245, 269, - 135, 136, 272, 273, 130, 131, 132, 133, 134, 0, - 0, 0, 0, 135, 136, 0, 65, 281, 0, 0, - 0, 0, 0, 252, 0, 0, 294, 0, 261, 262, - 263, 264, 0, 303, 0, 259, 271, 0, 260, 0, - 0, 307, 308, 310, 0, 0, 0, 0, 0, 0, - 0, 280, 317, 0, 0, 0, 0, 278, 322, 0, - 324, 0, 0, 0, 0, 0, -6, 1, 0, 0, - 119, 0, 0, 0, 0, 331, 332, 2, 3, 4, - 5, 119, 6, 7, 8, 9, 10, 11, 12, 0, - 13, 0, 14, 0, 0, 0, 15, 0, 16, 17, - 18, 0, 0, 19, 0, 329, 0, 329, 20, 21, - 22, 0, 0, 23, 0, 0, 0, 24, 25, 26, - 27, 0, 28, 0, 0, 0, 0, 0, 0, 0, - 0, 29, 0, 0, 0, 0, 0, 0, 30, 31, - 32, 33, 34, 0, 0, 35, 36, 0, 0, 37, - 38, 0, 0, 0, -6, 39, 0, 0, 166, 40, - 2, 3, 4, 5, 167, 6, 0, 0, 0, 0, - 59, 12, 0, 13, 0, 121, 122, 0, 0, 0, - 123, 124, 125, 0, 126, 0, 0, 127, 128, 129, - 0, 60, 0, 22, 0, 0, 0, 0, 0, 0, - 130, 131, 132, 133, 134, 0, 0, 0, 0, 135, - 136, 0, 0, 0, 29, 0, 0, 0, 0, 0, - 0, 30, 31, 32, 33, 34, 0, 0, 0, 0, - 0, 0, 37, 38, 0, 0, 0, 0, 68, 0, - 0, 0, 40, 0, -147, 2, 3, 4, 5, 0, - 6, 7, 8, 9, 10, 11, 12, 0, 13, 0, - 14, 0, 0, 0, 15, 0, 16, 17, 18, 0, - 0, 19, 0, 0, 0, 0, 20, 21, 22, 0, - 0, 23, 0, 0, 0, 24, 25, 26, 27, 0, - 28, 0, 0, 0, 0, 0, 0, 0, 0, 29, - 0, 0, 0, 0, 0, 0, 30, 31, 32, 33, - 34, 0, 0, 35, 36, 0, 0, 37, 38, 0, - 0, 0, 0, 39, 0, 0, 0, 40, 2, 3, - 4, 5, 0, 6, 7, 8, 9, 10, 59, 12, - 0, 13, 316, 14, 0, 0, 0, 15, 0, 16, - 17, 18, 0, 0, 0, 0, 0, 0, 0, 20, - 21, 22, 0, 0, 23, 0, 0, 0, 0, 0, + 45, 260, 114, 249, 183, 61, 185, 157, 62, 63, + 64, 98, 69, 303, 160, 58, 288, 65, 82, 70, + 285, 86, 57, 57, 128, 257, 303, 95, 82, 261, + 101, 102, 103, 104, 105, 106, 268, 289, 109, 110, + 111, 112, 158, 305, 258, 286, 136, 137, 113, 161, + 120, 121, 221, 280, 305, 115, 259, 207, 67, 235, + 269, 139, 181, 315, 236, 181, 234, 151, 112, 143, + 78, 296, 80, 112, 73, 142, 242, 148, 140, 149, + 146, 165, 74, 89, 90, 331, 87, 88, 180, 181, + 57, 159, 91, 85, 294, 295, 92, 93, 94, 298, + 99, 299, 107, 117, 108, 116, 138, 141, 145, 239, + 156, 308, 309, 147, 162, 45, 150, 120, 184, 186, + 166, 178, 181, 190, 191, 192, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, 203, 204, 205, 112, + 187, 209, 206, 212, 223, 333, 208, 238, 240, 245, + 273, 210, 277, 288, 278, 213, 214, 282, 215, 216, + 293, 219, 220, 316, 287, 222, 318, 321, 224, 225, + 226, 227, 228, 229, 230, 231, 232, 233, 304, 322, + 307, 272, 237, 323, 275, 276, 324, 329, 182, 243, + 290, 314, 312, 97, 0, 0, 0, 0, 0, 284, + 0, 241, 0, 0, 0, 326, 0, 328, 297, 0, + 0, 0, 0, 330, 0, 306, 0, 0, 247, 248, + 244, 0, 0, 310, 311, 313, 0, 125, 126, 0, + 127, 0, 0, 128, 320, 0, 0, 112, 0, 0, + 325, 0, 327, 0, 255, 0, 131, 132, 133, 134, + 135, 264, 265, 266, 267, 136, 137, 334, 335, 274, + 262, 0, 0, 263, 0, 0, 0, 0, 0, 125, + 126, 0, 127, 0, 283, 128, 0, 0, 0, 0, + 0, 0, 281, 0, 0, 0, 0, 0, 0, -6, + 1, 134, 135, 120, 0, 0, 0, 136, 137, 0, + 2, 3, 4, 5, 120, 6, 7, 8, 9, 10, + 11, 12, 0, 13, 0, 14, 0, 0, 0, 15, + 0, 16, 17, 18, 0, 0, 19, 0, 332, 0, + 332, 20, 21, 22, 0, 0, 23, 0, 0, 0, + 24, 25, 26, 27, 0, 28, 0, 0, 0, 0, + 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, + 0, 30, 31, 32, 33, 34, 0, 0, 35, 36, + 0, 0, 37, 38, 0, 153, 0, -6, 39, 0, + 0, 0, 40, 2, 3, 4, 5, 0, 6, 0, + 0, 0, 0, 59, 12, 0, 13, 122, 123, 0, + 0, 0, 124, 125, 126, 0, 127, 154, 155, 128, + 129, 130, 0, 0, 60, 0, 22, 0, 0, 0, + 0, 0, 131, 132, 133, 134, 135, 0, 0, 0, + 0, 136, 137, 0, 0, 0, 0, 29, 0, 0, + 0, 0, 0, 0, 30, 31, 32, 33, 34, 0, + 0, 0, 0, 0, 0, 37, 38, 0, 0, 0, + 0, 68, 0, 0, 0, 40, 0, -146, 2, 3, + 4, 5, 0, 6, 7, 8, 9, 10, 11, 12, + 0, 13, 0, 14, 0, 0, 0, 15, 0, 16, + 17, 18, 0, 0, 19, 0, 0, 0, 0, 20, + 21, 22, 0, 0, 23, 0, 0, 0, 24, 25, 26, 27, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 30, - 31, 32, 33, 34, 0, 0, 0, 36, 0, 0, - 37, 38, 0, 0, 0, 57, 39, 0, 0, 0, + 31, 32, 33, 34, 0, 0, 35, 36, 0, 0, + 37, 38, 0, 0, 0, 0, 39, 0, 0, 0, 40, 2, 3, 4, 5, 0, 6, 7, 8, 9, - 10, 59, 12, 0, 13, 0, 14, 0, 0, 0, + 10, 59, 12, 0, 13, 319, 14, 0, 0, 0, 15, 0, 16, 17, 18, 0, 0, 0, 0, 0, 0, 0, 20, 21, 22, 0, 0, 23, 0, 0, 0, 0, 0, 26, 27, 0, 28, 0, 0, 0, @@ -963,160 +955,161 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 30, 31, 32, 33, 34, 0, 0, 0, 36, 0, 0, 37, 38, 0, 0, - 0, 0, 39, 0, 0, 0, 40, 2, 3, 4, - 5, 0, 6, 7, 8, 9, 10, 59, 12, 216, + 0, 57, 39, 0, 0, 0, 40, 2, 3, 4, + 5, 0, 6, 7, 8, 9, 10, 59, 12, 0, 13, 0, 14, 0, 0, 0, 15, 0, 16, 17, - 121, 122, 0, 0, 0, 123, 124, 125, 20, 126, - 22, 0, 127, 128, 129, 0, 0, 0, 0, 26, - 27, 0, 28, 0, 217, 130, 131, 132, 133, 134, - 0, 29, 0, 0, 135, 136, 0, 0, 30, 31, - 32, 33, 34, 0, 0, 0, 36, 0, 0, 37, - 38, 2, 3, 4, 5, 39, 6, 0, 0, 40, - 0, 59, 12, 0, 13, 0, 124, 125, 0, 126, - 0, 76, 127, 0, 0, 0, 77, 0, 78, 79, - 80, 81, 60, 0, 22, 130, 131, 132, 133, 134, - 0, 0, 0, 0, 135, 136, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, - 0, 0, 30, 31, 32, 33, 34, 2, 3, 4, - 5, 0, 6, 37, 38, 0, 0, 59, 12, 39, - 13, 0, 0, 40, 0, 0, 0, 76, 0, 0, - 0, 0, 0, 0, 78, 0, 80, 0, 60, 0, - 22, 0, 2, 3, 4, 5, 0, 6, 0, 0, - 0, 96, 59, 12, 0, 13, 0, 0, 0, 0, + 18, 0, 0, 0, 0, 0, 0, 0, 20, 21, + 22, 0, 0, 23, 0, 0, 0, 0, 0, 26, + 27, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 30, 31, - 32, 33, 34, 60, 0, 22, 0, 0, 0, 37, + 32, 33, 34, 0, 0, 0, 36, 0, 0, 37, 38, 0, 0, 0, 0, 39, 0, 0, 0, 40, - 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, - 0, 0, 0, 30, 31, 32, 33, 34, 2, 3, - 4, 5, 0, 6, 37, 38, 0, 0, 59, 12, - 39, 13, 0, 0, 40, 0, 0, 0, 0, 0, - 0, 0, 0, 2, 3, 4, 5, 0, 6, 60, - 0, 22, 0, 59, 12, 0, 13, 0, 0, 0, - 0, 0, 0, 0, 124, 125, 0, 126, 0, 0, - 127, 0, 29, 0, 60, 0, 22, 0, 0, 30, - 31, 32, 33, 34, 131, 132, 133, 134, 0, 0, - 37, 38, 135, 136, 0, 0, 64, 29, 0, 0, - 40, 0, 0, 0, 30, 31, 32, 33, 34, 0, - 0, 168, 0, 0, 0, 37, 38, 169, 0, 0, - 0, 117, 0, 0, 0, 40, 0, 0, 121, 122, - 0, 0, 0, 123, 124, 125, 0, 126, 0, 0, - 127, 128, 129, 170, 0, 0, 0, 0, 0, 171, - 0, 0, 0, 130, 131, 132, 133, 134, 0, 0, - 121, 122, 135, 136, 0, 123, 124, 125, 0, 126, - 0, 0, 127, 128, 129, 172, 0, 0, 0, 0, - 0, 173, 0, 0, 0, 130, 131, 132, 133, 134, - 0, 0, 121, 122, 135, 136, 0, 123, 124, 125, - 0, 126, 0, 0, 127, 128, 129, 247, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 130, 131, 132, - 133, 134, 0, 0, 121, 122, 135, 136, 0, 123, - 124, 125, 0, 126, 0, 0, 127, 128, 129, 248, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 130, - 131, 132, 133, 134, 0, 0, 121, 122, 135, 136, - 0, 123, 124, 125, 0, 126, 0, 0, 127, 128, - 129, 249, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 130, 131, 132, 133, 134, 0, 0, 121, 122, - 135, 136, 0, 123, 124, 125, 0, 126, 0, 0, - 127, 128, 129, 250, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 130, 131, 132, 133, 134, 0, 0, - 121, 122, 135, 136, 0, 123, 124, 125, 0, 126, - 0, 0, 127, 128, 129, 0, 0, 0, 0, 0, - 0, 0, 163, 0, 0, 130, 131, 132, 133, 134, - 0, 121, 122, 0, 135, 136, 123, 124, 125, 0, - 126, 0, 0, 127, 128, 129, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 130, 131, 132, 133, - 134, 0, 121, 122, 0, 135, 136, 123, 124, 125, - 0, 126, 0, 0, 127, 128, 129, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 130, 131, 132, - 133, 134, 0, 0, 0, 0, 135, 136, 121, 122, - -148, 0, 0, 123, 124, 125, 0, 126, 0, 0, - 127, 128, 129, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 130, 131, 132, 133, 134, 0, 0, - 0, 0, 135, 136, 121, 122, -149, 0, 0, 123, - 124, 125, 0, 126, 0, 0, 127, 128, 129, 0, - 0, 0, 0, 0, 174, 175, 0, 0, 0, 130, - 131, 132, 133, 134, 0, 121, 122, 0, 135, 136, - 123, 124, 125, 0, 126, 0, 0, 127, 128, 129, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 186, - 130, 131, 132, 133, 134, 0, 121, 122, 178, 135, - 136, 123, 124, 125, 0, 126, 0, 0, 127, 128, - 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 130, 131, 132, 133, 134, 0, 121, 122, 178, - 135, 136, 123, 124, 125, 0, 126, 0, 0, 127, - 128, 129, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 186, 130, 131, 132, 133, 134, 0, 121, 122, - 0, 135, 136, 123, 124, 125, 0, 126, 0, 0, - 127, 128, 129, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 130, 131, 132, 133, 134, 0, 0, - 0, 0, 135, 136 + 2, 3, 4, 5, 0, 6, 7, 8, 9, 10, + 59, 12, 217, 13, 0, 14, 0, 0, 0, 15, + 0, 16, 17, 122, 123, 0, 0, 0, 124, 125, + 126, 20, 127, 22, 0, 128, 129, 130, 0, 0, + 0, 0, 26, 27, 0, 28, 0, 218, 131, 132, + 133, 134, 135, 0, 29, 0, 0, 136, 137, 0, + 0, 30, 31, 32, 33, 34, 0, 0, 0, 36, + 0, 0, 37, 38, 2, 3, 4, 5, 39, 6, + 0, 0, 40, 0, 59, 12, 0, 13, 0, 125, + 126, 0, 127, 0, 76, 128, 0, 0, 0, 77, + 0, 78, 79, 80, 81, 60, 0, 22, 0, 132, + 133, 134, 135, 0, 0, 0, 0, 136, 137, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, + 0, 0, 0, 0, 0, 30, 31, 32, 33, 34, + 2, 3, 4, 5, 0, 6, 37, 38, 0, 0, + 59, 12, 39, 13, 0, 0, 40, 0, 0, 0, + 76, 0, 0, 0, 0, 0, 0, 78, 0, 80, + 0, 60, 0, 22, 0, 2, 3, 4, 5, 0, + 6, 0, 0, 0, 96, 59, 12, 0, 13, 0, + 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, + 0, 30, 31, 32, 33, 34, 60, 0, 22, 0, + 0, 0, 37, 38, 0, 0, 0, 0, 39, 0, + 0, 0, 40, 0, 0, 0, 0, 0, 0, 29, + 0, 0, 0, 0, 0, 0, 30, 31, 32, 33, + 34, 2, 3, 4, 5, 0, 6, 37, 38, 0, + 0, 59, 12, 39, 13, 164, 0, 40, 0, 0, + 0, 0, 0, 0, 122, 123, 0, 0, 0, 124, + 125, 126, 60, 127, 22, 0, 128, 129, 130, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, + 132, 133, 134, 135, 0, 29, 0, 0, 136, 137, + 0, 0, 30, 31, 32, 33, 34, 0, 0, 167, + 0, 0, 0, 37, 38, 168, 0, 0, 0, 118, + 0, 0, 0, 40, 0, 0, 122, 123, 0, 0, + 0, 124, 125, 126, 0, 127, 0, 0, 128, 129, + 130, 169, 0, 0, 0, 0, 0, 170, 0, 0, + 0, 131, 132, 133, 134, 135, 0, 0, 122, 123, + 136, 137, 0, 124, 125, 126, 0, 127, 0, 0, + 128, 129, 130, 171, 0, 0, 0, 0, 0, 172, + 0, 0, 0, 131, 132, 133, 134, 135, 0, 0, + 122, 123, 136, 137, 0, 124, 125, 126, 0, 127, + 0, 0, 128, 129, 130, 173, 0, 0, 0, 0, + 0, 174, 0, 0, 0, 131, 132, 133, 134, 135, + 0, 0, 122, 123, 136, 137, 0, 124, 125, 126, + 0, 127, 0, 0, 128, 129, 130, 250, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 131, 132, 133, + 134, 135, 0, 0, 122, 123, 136, 137, 0, 124, + 125, 126, 0, 127, 0, 0, 128, 129, 130, 251, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, + 132, 133, 134, 135, 0, 0, 122, 123, 136, 137, + 0, 124, 125, 126, 0, 127, 0, 0, 128, 129, + 130, 252, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 131, 132, 133, 134, 135, 0, 0, 122, 123, + 136, 137, 0, 124, 125, 126, 0, 127, 0, 0, + 128, 129, 130, 253, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 131, 132, 133, 134, 135, 0, 0, + 122, 123, 136, 137, 0, 124, 125, 126, 0, 127, + 0, 0, 128, 129, 130, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 131, 132, 133, 134, 135, + 0, 122, 123, 0, 136, 137, 124, 125, 126, 0, + 127, 0, 0, 128, 129, 130, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 131, 132, 133, 134, + 135, 0, 0, 0, 0, 136, 137, 122, 123, -147, + 0, 0, 124, 125, 126, 0, 127, 0, 0, 128, + 129, 130, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 131, 132, 133, 134, 135, 0, 0, 0, + 0, 136, 137, 122, 123, -148, 0, 0, 124, 125, + 126, 0, 127, 0, 0, 128, 129, 130, 0, 0, + 0, 0, 0, 175, 176, 0, 0, 0, 131, 132, + 133, 134, 135, 0, 122, 123, 0, 136, 137, 124, + 125, 126, 0, 127, 0, 0, 128, 129, 130, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 188, 131, + 132, 133, 134, 135, 0, 122, 123, 179, 136, 137, + 124, 125, 126, 0, 127, 0, 0, 128, 129, 130, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 131, 132, 133, 134, 135, 0, 57, 122, 123, 136, + 137, 0, 124, 125, 126, 0, 127, 0, 0, 128, + 129, 130, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 131, 132, 133, 134, 135, 0, 122, 123, + 179, 136, 137, 124, 125, 126, 0, 127, 0, 0, + 128, 129, 130, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 188, 131, 132, 133, 134, 135, 0, 122, + 123, 0, 136, 137, 124, 125, 126, 0, 127, 0, + 0, 128, 129, 130, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 131, 132, 133, 134, 135, 0, + 0, 0, 0, 136, 137 }; static const yytype_int16 yycheck[] = { - 0, 240, 0, 69, 115, 4, 117, 46, 7, 8, - 9, 27, 11, 1, 46, 220, 29, 9, 17, 11, - 25, 20, 48, 49, 88, 91, 92, 26, 27, 162, - 29, 30, 31, 32, 33, 34, 260, 50, 37, 38, - 39, 40, 81, 176, 27, 50, 251, 284, 40, 81, - 49, 50, 185, 41, 278, 239, 21, 12, 13, 287, - 297, 60, 301, 46, 88, 64, 21, 83, 67, 68, - 298, 95, 64, 72, 38, 67, 40, 76, 90, 78, - 72, 97, 90, 95, 323, 94, 95, 95, 21, 90, - 88, 90, 276, 277, 95, 90, 43, 281, 21, 283, - 95, 21, 21, 21, 21, 21, 81, 89, 89, 293, - 294, 89, 38, 21, 114, 95, 115, 116, 117, 95, - 45, 95, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, 133, 134, 135, 136, 137, 272, - 21, 95, 141, 327, 45, 144, 21, 21, 182, 21, - 149, 90, 90, 286, 153, 154, 21, 156, 157, 46, - 159, 160, 21, 95, 163, 25, 21, 166, 167, 168, - 169, 170, 171, 172, 173, 174, 175, 35, 289, 29, - 313, 50, 315, 45, 25, 25, 25, 186, 321, 300, - 25, 45, 63, 64, 273, 66, 297, 185, 69, 57, - 58, 114, 27, -1, 62, 63, 64, -1, 66, 67, - 68, 69, 70, 71, 85, 86, -1, 216, 217, 253, - 91, 92, 256, 257, 82, 83, 84, 85, 86, -1, - -1, -1, -1, 91, 92, -1, 235, 271, -1, -1, - -1, -1, -1, 235, -1, -1, 280, -1, 247, 248, - 249, 250, -1, 287, -1, 243, 255, -1, 246, -1, - -1, 295, 296, 297, -1, -1, -1, -1, -1, -1, - -1, 270, 306, -1, -1, -1, -1, 265, 312, -1, - 314, -1, -1, -1, -1, -1, 0, 1, -1, -1, - 289, -1, -1, -1, -1, 329, 330, 11, 12, 13, - 14, 300, 16, 17, 18, 19, 20, 21, 22, -1, - 24, -1, 26, -1, -1, -1, 30, -1, 32, 33, - 34, -1, -1, 37, -1, 325, -1, 327, 42, 43, - 44, -1, -1, 47, -1, -1, -1, 51, 52, 53, - 54, -1, 56, -1, -1, -1, -1, -1, -1, -1, - -1, 65, -1, -1, -1, -1, -1, -1, 72, 73, - 74, 75, 76, -1, -1, 79, 80, -1, -1, 83, - 84, -1, -1, -1, 88, 89, -1, -1, 40, 93, - 11, 12, 13, 14, 46, 16, -1, -1, -1, -1, - 21, 22, -1, 24, -1, 57, 58, -1, -1, -1, - 62, 63, 64, -1, 66, -1, -1, 69, 70, 71, - -1, 42, -1, 44, -1, -1, -1, -1, -1, -1, - 82, 83, 84, 85, 86, -1, -1, -1, -1, 91, - 92, -1, -1, -1, 65, -1, -1, -1, -1, -1, - -1, 72, 73, 74, 75, 76, -1, -1, -1, -1, - -1, -1, 83, 84, -1, -1, -1, -1, 89, -1, - -1, -1, 93, -1, 95, 11, 12, 13, 14, -1, - 16, 17, 18, 19, 20, 21, 22, -1, 24, -1, - 26, -1, -1, -1, 30, -1, 32, 33, 34, -1, - -1, 37, -1, -1, -1, -1, 42, 43, 44, -1, - -1, 47, -1, -1, -1, 51, 52, 53, 54, -1, - 56, -1, -1, -1, -1, -1, -1, -1, -1, 65, - -1, -1, -1, -1, -1, -1, 72, 73, 74, 75, - 76, -1, -1, 79, 80, -1, -1, 83, 84, -1, - -1, -1, -1, 89, -1, -1, -1, 93, 11, 12, + 0, 242, 0, 221, 116, 4, 118, 46, 7, 8, + 9, 27, 11, 287, 46, 1, 29, 9, 17, 11, + 25, 20, 88, 88, 69, 27, 300, 26, 27, 95, + 29, 30, 31, 32, 33, 34, 254, 50, 37, 38, + 39, 40, 81, 290, 46, 50, 91, 92, 40, 81, + 49, 50, 163, 263, 301, 41, 241, 90, 21, 90, + 90, 60, 95, 304, 95, 95, 177, 83, 67, 68, + 38, 281, 40, 72, 43, 67, 187, 76, 64, 78, + 72, 97, 21, 12, 13, 326, 48, 49, 94, 95, + 88, 90, 21, 21, 279, 280, 21, 21, 21, 284, + 21, 286, 21, 81, 89, 89, 89, 95, 95, 184, + 21, 296, 297, 95, 45, 115, 38, 116, 117, 118, + 95, 21, 95, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 45, 21, 141, 21, 21, 330, 145, 90, 90, 21, + 46, 150, 21, 29, 95, 154, 155, 25, 157, 158, + 21, 160, 161, 50, 275, 164, 45, 25, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 176, 289, 25, + 292, 256, 181, 25, 259, 260, 45, 25, 115, 188, + 276, 303, 300, 27, -1, -1, -1, -1, -1, 274, + -1, 187, -1, -1, -1, 316, -1, 318, 283, -1, + -1, -1, -1, 324, -1, 290, -1, -1, 217, 218, + 206, -1, -1, 298, 299, 300, -1, 63, 64, -1, + 66, -1, -1, 69, 309, -1, -1, 236, -1, -1, + 315, -1, 317, -1, 236, -1, 82, 83, 84, 85, + 86, 250, 251, 252, 253, 91, 92, 332, 333, 258, + 246, -1, -1, 249, -1, -1, -1, -1, -1, 63, + 64, -1, 66, -1, 273, 69, -1, -1, -1, -1, + -1, -1, 268, -1, -1, -1, -1, -1, -1, 0, + 1, 85, 86, 292, -1, -1, -1, 91, 92, -1, + 11, 12, 13, 14, 303, 16, 17, 18, 19, 20, + 21, 22, -1, 24, -1, 26, -1, -1, -1, 30, + -1, 32, 33, 34, -1, -1, 37, -1, 328, -1, + 330, 42, 43, 44, -1, -1, 47, -1, -1, -1, + 51, 52, 53, 54, -1, 56, -1, -1, -1, -1, + -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, + -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, + -1, -1, 83, 84, -1, 35, -1, 88, 89, -1, + -1, -1, 93, 11, 12, 13, 14, -1, 16, -1, + -1, -1, -1, 21, 22, -1, 24, 57, 58, -1, + -1, -1, 62, 63, 64, -1, 66, 67, 68, 69, + 70, 71, -1, -1, 42, -1, 44, -1, -1, -1, + -1, -1, 82, 83, 84, 85, 86, -1, -1, -1, + -1, 91, 92, -1, -1, -1, -1, 65, -1, -1, + -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, + -1, -1, -1, -1, -1, 83, 84, -1, -1, -1, + -1, 89, -1, -1, -1, 93, -1, 95, 11, 12, 13, 14, -1, 16, 17, 18, 19, 20, 21, 22, - -1, 24, 25, 26, -1, -1, -1, 30, -1, 32, - 33, 34, -1, -1, -1, -1, -1, -1, -1, 42, - 43, 44, -1, -1, 47, -1, -1, -1, -1, -1, + -1, 24, -1, 26, -1, -1, -1, 30, -1, 32, + 33, 34, -1, -1, 37, -1, -1, -1, -1, 42, + 43, 44, -1, -1, 47, -1, -1, -1, 51, 52, 53, 54, -1, 56, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, -1, 72, - 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, - 83, 84, -1, -1, -1, 88, 89, -1, -1, -1, + 73, 74, 75, 76, -1, -1, 79, 80, -1, -1, + 83, 84, -1, -1, -1, -1, 89, -1, -1, -1, 93, 11, 12, 13, 14, -1, 16, 17, 18, 19, - 20, 21, 22, -1, 24, -1, 26, -1, -1, -1, + 20, 21, 22, -1, 24, 25, 26, -1, -1, -1, 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, 42, 43, 44, -1, -1, 47, -1, -1, -1, -1, -1, 53, 54, -1, 56, -1, -1, -1, @@ -1131,43 +1124,52 @@ static const yytype_int16 yycheck[] = -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, -1, - -1, -1, 89, -1, -1, -1, 93, 11, 12, 13, - 14, -1, 16, 17, 18, 19, 20, 21, 22, 46, + -1, 88, 89, -1, -1, -1, 93, 11, 12, 13, + 14, -1, 16, 17, 18, 19, 20, 21, 22, -1, 24, -1, 26, -1, -1, -1, 30, -1, 32, 33, - 57, 58, -1, -1, -1, 62, 63, 64, 42, 66, - 44, -1, 69, 70, 71, -1, -1, -1, -1, 53, - 54, -1, 56, -1, 81, 82, 83, 84, 85, 86, - -1, 65, -1, -1, 91, 92, -1, -1, 72, 73, - 74, 75, 76, -1, -1, -1, 80, -1, -1, 83, - 84, 11, 12, 13, 14, 89, 16, -1, -1, 93, - -1, 21, 22, -1, 24, -1, 63, 64, -1, 66, - -1, 31, 69, -1, -1, -1, 36, -1, 38, 39, - 40, 41, 42, -1, 44, 82, 83, 84, 85, 86, - -1, -1, -1, -1, 91, 92, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, - -1, -1, 72, 73, 74, 75, 76, 11, 12, 13, - 14, -1, 16, 83, 84, -1, -1, 21, 22, 89, - 24, -1, -1, 93, -1, -1, -1, 31, -1, -1, - -1, -1, -1, -1, 38, -1, 40, -1, 42, -1, - 44, -1, 11, 12, 13, 14, -1, 16, -1, -1, - -1, 55, 21, 22, -1, 24, -1, -1, -1, -1, + 34, -1, -1, -1, -1, -1, -1, -1, 42, 43, + 44, -1, -1, 47, -1, -1, -1, -1, -1, 53, + 54, -1, 56, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, -1, 72, 73, - 74, 75, 76, 42, -1, 44, -1, -1, -1, 83, + 74, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, -1, -1, -1, 89, -1, -1, -1, 93, - -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, - -1, -1, -1, 72, 73, 74, 75, 76, 11, 12, - 13, 14, -1, 16, 83, 84, -1, -1, 21, 22, - 89, 24, -1, -1, 93, -1, -1, -1, -1, -1, - -1, -1, -1, 11, 12, 13, 14, -1, 16, 42, - -1, 44, -1, 21, 22, -1, 24, -1, -1, -1, - -1, -1, -1, -1, 63, 64, -1, 66, -1, -1, - 69, -1, 65, -1, 42, -1, 44, -1, -1, 72, - 73, 74, 75, 76, 83, 84, 85, 86, -1, -1, - 83, 84, 91, 92, -1, -1, 89, 65, -1, -1, - 93, -1, -1, -1, 72, 73, 74, 75, 76, -1, - -1, 40, -1, -1, -1, 83, 84, 46, -1, -1, - -1, 89, -1, -1, -1, 93, -1, -1, 57, 58, - -1, -1, -1, 62, 63, 64, -1, 66, -1, -1, + 11, 12, 13, 14, -1, 16, 17, 18, 19, 20, + 21, 22, 46, 24, -1, 26, -1, -1, -1, 30, + -1, 32, 33, 57, 58, -1, -1, -1, 62, 63, + 64, 42, 66, 44, -1, 69, 70, 71, -1, -1, + -1, -1, 53, 54, -1, 56, -1, 81, 82, 83, + 84, 85, 86, -1, 65, -1, -1, 91, 92, -1, + -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, + -1, -1, 83, 84, 11, 12, 13, 14, 89, 16, + -1, -1, 93, -1, 21, 22, -1, 24, -1, 63, + 64, -1, 66, -1, 31, 69, -1, -1, -1, 36, + -1, 38, 39, 40, 41, 42, -1, 44, -1, 83, + 84, 85, 86, -1, -1, -1, -1, 91, 92, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, + -1, -1, -1, -1, -1, 72, 73, 74, 75, 76, + 11, 12, 13, 14, -1, 16, 83, 84, -1, -1, + 21, 22, 89, 24, -1, -1, 93, -1, -1, -1, + 31, -1, -1, -1, -1, -1, -1, 38, -1, 40, + -1, 42, -1, 44, -1, 11, 12, 13, 14, -1, + 16, -1, -1, -1, 55, 21, 22, -1, 24, -1, + -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, + -1, 72, 73, 74, 75, 76, 42, -1, 44, -1, + -1, -1, 83, 84, -1, -1, -1, -1, 89, -1, + -1, -1, 93, -1, -1, -1, -1, -1, -1, 65, + -1, -1, -1, -1, -1, -1, 72, 73, 74, 75, + 76, 11, 12, 13, 14, -1, 16, 83, 84, -1, + -1, 21, 22, 89, 24, 48, -1, 93, -1, -1, + -1, -1, -1, -1, 57, 58, -1, -1, -1, 62, + 63, 64, 42, 66, 44, -1, 69, 70, 71, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, + 83, 84, 85, 86, -1, 65, -1, -1, 91, 92, + -1, -1, 72, 73, 74, 75, 76, -1, -1, 40, + -1, -1, -1, 83, 84, 46, -1, -1, -1, 89, + -1, -1, -1, 93, -1, -1, 57, 58, -1, -1, + -1, 62, 63, 64, -1, 66, -1, -1, 69, 70, + 71, 40, -1, -1, -1, -1, -1, 46, -1, -1, + -1, 82, 83, 84, 85, 86, -1, -1, 57, 58, + 91, 92, -1, 62, 63, 64, -1, 66, -1, -1, 69, 70, 71, 40, -1, -1, -1, -1, -1, 46, -1, -1, -1, 82, 83, 84, 85, 86, -1, -1, 57, 58, 91, 92, -1, 62, 63, 64, -1, 66, @@ -1188,34 +1190,34 @@ static const yytype_int16 yycheck[] = -1, -1, -1, 82, 83, 84, 85, 86, -1, -1, 57, 58, 91, 92, -1, 62, 63, 64, -1, 66, -1, -1, 69, 70, 71, -1, -1, -1, -1, -1, - -1, -1, 48, -1, -1, 82, 83, 84, 85, 86, + -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, -1, 57, 58, -1, 91, 92, 62, 63, 64, -1, 66, -1, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, - 86, -1, 57, 58, -1, 91, 92, 62, 63, 64, - -1, 66, -1, -1, 69, 70, 71, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, - 85, 86, -1, -1, -1, -1, 91, 92, 57, 58, - 95, -1, -1, 62, 63, 64, -1, 66, -1, -1, - 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 82, 83, 84, 85, 86, -1, -1, - -1, -1, 91, 92, 57, 58, 95, -1, -1, 62, + 86, -1, -1, -1, -1, 91, 92, 57, 58, 95, + -1, -1, 62, 63, 64, -1, 66, -1, -1, 69, + 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 82, 83, 84, 85, 86, -1, -1, -1, + -1, 91, 92, 57, 58, 95, -1, -1, 62, 63, + 64, -1, 66, -1, -1, 69, 70, 71, -1, -1, + -1, -1, -1, 77, 78, -1, -1, -1, 82, 83, + 84, 85, 86, -1, 57, 58, -1, 91, 92, 62, 63, 64, -1, 66, -1, -1, 69, 70, 71, -1, - -1, -1, -1, -1, 77, 78, -1, -1, -1, 82, - 83, 84, 85, 86, -1, 57, 58, -1, 91, 92, + -1, -1, -1, -1, -1, -1, -1, -1, 81, 82, + 83, 84, 85, 86, -1, 57, 58, 90, 91, 92, 62, 63, 64, -1, 66, -1, -1, 69, 70, 71, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, - 82, 83, 84, 85, 86, -1, 57, 58, 90, 91, - 92, 62, 63, 64, -1, 66, -1, -1, 69, 70, - 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 82, 83, 84, 85, 86, -1, 57, 58, 90, - 91, 92, 62, 63, 64, -1, 66, -1, -1, 69, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 82, 83, 84, 85, 86, -1, 88, 57, 58, 91, + 92, -1, 62, 63, 64, -1, 66, -1, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 81, 82, 83, 84, 85, 86, -1, 57, 58, - -1, 91, 92, 62, 63, 64, -1, 66, -1, -1, + -1, -1, 82, 83, 84, 85, 86, -1, 57, 58, + 90, 91, 92, 62, 63, 64, -1, 66, -1, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 82, 83, 84, 85, 86, -1, -1, - -1, -1, 91, 92 + -1, -1, 81, 82, 83, 84, 85, 86, -1, 57, + 58, -1, 91, 92, 62, 63, 64, -1, 66, -1, + -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 82, 83, 84, 85, 86, -1, + -1, -1, -1, 91, 92 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -1228,34 +1230,34 @@ static const yytype_uint8 yystos[] = 72, 73, 74, 75, 76, 79, 80, 83, 84, 89, 93, 97, 99, 100, 101, 102, 103, 110, 111, 112, 117, 118, 119, 122, 125, 127, 134, 88, 98, 21, - 42, 118, 118, 118, 89, 118, 135, 21, 89, 118, + 42, 118, 118, 118, 118, 135, 137, 21, 89, 118, 135, 136, 126, 43, 21, 120, 31, 36, 38, 39, 40, 41, 118, 123, 124, 21, 118, 48, 49, 12, 13, 21, 21, 21, 21, 118, 55, 123, 124, 21, 121, 118, 118, 118, 118, 118, 118, 21, 89, 118, - 118, 118, 135, 0, 98, 89, 81, 89, 109, 118, - 118, 57, 58, 62, 63, 64, 66, 69, 70, 71, - 82, 83, 84, 85, 86, 91, 92, 89, 118, 118, - 135, 95, 135, 135, 95, 135, 95, 118, 118, 38, - 124, 128, 35, 67, 68, 21, 46, 81, 118, 46, - 81, 45, 129, 48, 124, 95, 40, 46, 40, 46, - 40, 46, 40, 46, 77, 78, 130, 21, 90, 94, - 99, 109, 118, 109, 118, 45, 81, 115, 118, 118, + 118, 118, 118, 135, 0, 98, 89, 81, 89, 109, + 118, 118, 57, 58, 62, 63, 64, 66, 69, 70, + 71, 82, 83, 84, 85, 86, 91, 92, 89, 118, + 98, 95, 135, 118, 135, 95, 135, 95, 118, 118, + 38, 124, 128, 35, 67, 68, 21, 46, 81, 118, + 46, 81, 45, 129, 48, 124, 95, 40, 46, 40, + 46, 40, 46, 40, 46, 77, 78, 130, 21, 90, + 94, 95, 99, 109, 118, 109, 118, 45, 81, 115, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 90, 118, 90, 118, 21, 118, - 114, 21, 118, 118, 118, 118, 46, 81, 118, 118, - 114, 118, 21, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 114, 90, 95, 90, 115, 90, 98, - 114, 118, 21, 132, 118, 118, 132, 40, 40, 40, - 40, 131, 135, 116, 27, 46, 116, 101, 95, 98, - 98, 118, 118, 118, 118, 132, 90, 98, 102, 115, - 46, 118, 115, 115, 21, 95, 133, 133, 98, 25, - 118, 115, 25, 50, 114, 29, 50, 106, 107, 113, - 21, 116, 116, 133, 115, 116, 116, 105, 106, 108, - 113, 114, 107, 115, 109, 116, 116, 115, 115, 108, - 115, 109, 101, 50, 104, 45, 25, 115, 25, 25, - 25, 45, 115, 114, 115, 114, 25, 114, 101, 102, - 116, 115, 115 + 118, 118, 118, 118, 118, 118, 118, 90, 118, 21, + 118, 114, 21, 118, 118, 118, 118, 46, 81, 118, + 118, 114, 118, 21, 118, 118, 118, 118, 118, 118, + 118, 118, 118, 118, 114, 90, 95, 118, 90, 115, + 90, 98, 114, 118, 98, 21, 132, 118, 118, 132, + 40, 40, 40, 40, 131, 135, 116, 27, 46, 116, + 101, 95, 98, 98, 118, 118, 118, 118, 132, 90, + 98, 102, 115, 46, 118, 115, 115, 21, 95, 133, + 133, 98, 25, 118, 115, 25, 50, 114, 29, 50, + 106, 107, 113, 21, 116, 116, 133, 115, 116, 116, + 105, 106, 108, 113, 114, 107, 115, 109, 116, 116, + 115, 115, 108, 115, 109, 101, 50, 104, 45, 25, + 115, 25, 25, 25, 45, 115, 114, 115, 114, 25, + 114, 101, 102, 116, 115, 115 }; #define yyerrok (yyerrstatus = 0) @@ -2681,140 +2683,135 @@ yyreduce: case 106: #line 476 "engines/director/lingo/lingo-gr.y" - { g_lingo->codeFunc((yyvsp[(1) - (4)].s), (yyvsp[(3) - (4)].narg)); ;} + { g_lingo->codeFunc((yyvsp[(1) - (2)].s), (yyvsp[(2) - (2)].narg)); ;} break; case 107: #line 477 "engines/director/lingo/lingo-gr.y" - { g_lingo->codeFunc((yyvsp[(1) - (2)].s), (yyvsp[(2) - (2)].narg)); ;} + { g_lingo->codeMe((yyvsp[(3) - (4)].s), 0); ;} break; case 108: #line 478 "engines/director/lingo/lingo-gr.y" - { g_lingo->codeMe((yyvsp[(3) - (4)].s), 0); ;} + { g_lingo->codeMe((yyvsp[(3) - (6)].s), (yyvsp[(5) - (6)].narg)); ;} break; case 109: #line 479 "engines/director/lingo/lingo-gr.y" - { g_lingo->codeMe((yyvsp[(3) - (6)].s), (yyvsp[(5) - (6)].narg)); ;} + { g_lingo->code1(g_lingo->c_open); ;} break; case 110: #line 480 "engines/director/lingo/lingo-gr.y" - { g_lingo->code1(g_lingo->c_open); ;} + { g_lingo->code2(g_lingo->c_voidpush, g_lingo->c_open); ;} break; case 111: #line 481 "engines/director/lingo/lingo-gr.y" - { g_lingo->code2(g_lingo->c_voidpush, g_lingo->c_open); ;} + { Common::String s(*(yyvsp[(1) - (3)].s)); s += '-'; s += *(yyvsp[(2) - (3)].s); g_lingo->codeFunc(&s, (yyvsp[(3) - (3)].narg)); ;} break; case 112: -#line 482 "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)); ;} +#line 484 "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 113: #line 485 "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); ;} + { g_lingo->code1(g_lingo->c_global); g_lingo->codeString((yyvsp[(3) - (3)].s)->c_str()); delete (yyvsp[(3) - (3)].s); ;} break; case 114: -#line 486 "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); ;} +#line 488 "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 115: #line 489 "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); ;} + { g_lingo->code1(g_lingo->c_instance); g_lingo->codeString((yyvsp[(3) - (3)].s)->c_str()); delete (yyvsp[(3) - (3)].s); ;} break; case 116: -#line 490 "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); ;} +#line 500 "engines/director/lingo/lingo-gr.y" + { g_lingo->code1(g_lingo->c_gotoloop); ;} break; case 117: #line 501 "engines/director/lingo/lingo-gr.y" - { g_lingo->code1(g_lingo->c_gotoloop); ;} + { g_lingo->code1(g_lingo->c_gotonext); ;} break; case 118: #line 502 "engines/director/lingo/lingo-gr.y" - { g_lingo->code1(g_lingo->c_gotonext); ;} + { g_lingo->code1(g_lingo->c_gotoprevious); ;} break; case 119: #line 503 "engines/director/lingo/lingo-gr.y" - { g_lingo->code1(g_lingo->c_gotoprevious); ;} - break; - - case 120: -#line 504 "engines/director/lingo/lingo-gr.y" { g_lingo->codeConst(1); g_lingo->code1(g_lingo->c_goto); ;} break; - case 121: -#line 507 "engines/director/lingo/lingo-gr.y" + case 120: +#line 506 "engines/director/lingo/lingo-gr.y" { g_lingo->codeConst(3); g_lingo->code1(g_lingo->c_goto); ;} break; - case 122: -#line 510 "engines/director/lingo/lingo-gr.y" + case 121: +#line 509 "engines/director/lingo/lingo-gr.y" { g_lingo->codeConst(2); g_lingo->code1(g_lingo->c_goto); ;} break; - case 127: -#line 523 "engines/director/lingo/lingo-gr.y" + case 126: +#line 522 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_playdone); ;} break; - case 128: -#line 524 "engines/director/lingo/lingo-gr.y" + case 127: +#line 523 "engines/director/lingo/lingo-gr.y" { g_lingo->codeConst(1); g_lingo->code1(g_lingo->c_play); ;} break; - case 129: -#line 527 "engines/director/lingo/lingo-gr.y" + case 128: +#line 526 "engines/director/lingo/lingo-gr.y" { g_lingo->codeConst(3); g_lingo->code1(g_lingo->c_play); ;} break; - case 130: -#line 530 "engines/director/lingo/lingo-gr.y" + case 129: +#line 529 "engines/director/lingo/lingo-gr.y" { g_lingo->codeConst(2); g_lingo->code1(g_lingo->c_play); ;} break; - case 131: -#line 533 "engines/director/lingo/lingo-gr.y" + case 130: +#line 532 "engines/director/lingo/lingo-gr.y" { g_lingo->codeSetImmediate(true); ;} break; - case 132: -#line 533 "engines/director/lingo/lingo-gr.y" + case 131: +#line 532 "engines/director/lingo/lingo-gr.y" { g_lingo->codeSetImmediate(false); g_lingo->codeFunc((yyvsp[(1) - (3)].s), (yyvsp[(3) - (3)].narg)); ;} break; - case 133: -#line 563 "engines/director/lingo/lingo-gr.y" + case 132: +#line 562 "engines/director/lingo/lingo-gr.y" { g_lingo->_indef = true; g_lingo->_currentFactory.clear(); ;} break; - case 134: -#line 564 "engines/director/lingo/lingo-gr.y" + case 133: +#line 563 "engines/director/lingo/lingo-gr.y" { g_lingo->codeConst(0); // Push fake value on stack g_lingo->code1(g_lingo->c_procret); @@ -2822,38 +2819,38 @@ yyreduce: g_lingo->_indef = false; ;} break; - case 135: -#line 569 "engines/director/lingo/lingo-gr.y" + case 134: +#line 568 "engines/director/lingo/lingo-gr.y" { g_lingo->codeFactory(*(yyvsp[(2) - (2)].s)); ;} break; - case 136: -#line 572 "engines/director/lingo/lingo-gr.y" + case 135: +#line 571 "engines/director/lingo/lingo-gr.y" { g_lingo->_indef = true; ;} break; - case 137: -#line 573 "engines/director/lingo/lingo-gr.y" + case 136: +#line 572 "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 138: -#line 577 "engines/director/lingo/lingo-gr.y" + case 137: +#line 576 "engines/director/lingo/lingo-gr.y" { g_lingo->_indef = true; g_lingo->_currentFactory.clear(); ;} break; - case 139: -#line 578 "engines/director/lingo/lingo-gr.y" + case 138: +#line 577 "engines/director/lingo/lingo-gr.y" { g_lingo->_ignoreMe = true; ;} break; - case 140: -#line 578 "engines/director/lingo/lingo-gr.y" + case 139: +#line 577 "engines/director/lingo/lingo-gr.y" { g_lingo->codeConst(0); // Push fake value on stack g_lingo->code1(g_lingo->c_procret); @@ -2865,33 +2862,33 @@ yyreduce: ;} break; + case 140: +#line 587 "engines/director/lingo/lingo-gr.y" + { (yyval.narg) = 0; ;} + break; + case 141: #line 588 "engines/director/lingo/lingo-gr.y" - { (yyval.narg) = 0; ;} + { g_lingo->codeArg((yyvsp[(1) - (1)].s)); (yyval.narg) = 1; ;} break; case 142: #line 589 "engines/director/lingo/lingo-gr.y" - { g_lingo->codeArg((yyvsp[(1) - (1)].s)); (yyval.narg) = 1; ;} + { g_lingo->codeArg((yyvsp[(3) - (3)].s)); (yyval.narg) = (yyvsp[(1) - (3)].narg) + 1; ;} break; case 143: #line 590 "engines/director/lingo/lingo-gr.y" - { g_lingo->codeArg((yyvsp[(3) - (3)].s)); (yyval.narg) = (yyvsp[(1) - (3)].narg) + 1; ;} - break; - - case 144: -#line 591 "engines/director/lingo/lingo-gr.y" { g_lingo->codeArg((yyvsp[(4) - (4)].s)); (yyval.narg) = (yyvsp[(1) - (4)].narg) + 1; ;} break; - case 145: -#line 594 "engines/director/lingo/lingo-gr.y" + case 144: +#line 593 "engines/director/lingo/lingo-gr.y" { g_lingo->codeArgStore(); ;} break; - case 146: -#line 598 "engines/director/lingo/lingo-gr.y" + case 145: +#line 597 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_call); g_lingo->codeString((yyvsp[(1) - (2)].s)->c_str()); @@ -2900,34 +2897,44 @@ yyreduce: g_lingo->code1(numpar); ;} break; + case 146: +#line 605 "engines/director/lingo/lingo-gr.y" + { (yyval.narg) = 0; ;} + break; + case 147: #line 606 "engines/director/lingo/lingo-gr.y" - { (yyval.narg) = 0; ;} + { (yyval.narg) = 1; ;} break; case 148: #line 607 "engines/director/lingo/lingo-gr.y" - { (yyval.narg) = 1; ;} + { (yyval.narg) = (yyvsp[(1) - (3)].narg) + 1; ;} break; case 149: -#line 608 "engines/director/lingo/lingo-gr.y" - { (yyval.narg) = (yyvsp[(1) - (3)].narg) + 1; ;} +#line 610 "engines/director/lingo/lingo-gr.y" + { (yyval.narg) = 1; ;} break; case 150: #line 611 "engines/director/lingo/lingo-gr.y" - { (yyval.narg) = 1; ;} + { (yyval.narg) = (yyvsp[(1) - (3)].narg) + 1; ;} break; case 151: -#line 612 "engines/director/lingo/lingo-gr.y" - { (yyval.narg) = (yyvsp[(1) - (3)].narg) + 1; ;} +#line 614 "engines/director/lingo/lingo-gr.y" + { (yyval.narg) = 1; ;} + break; + + case 152: +#line 615 "engines/director/lingo/lingo-gr.y" + { (yyval.narg) = (yyvsp[(1) - (4)].narg) + 1; ;} break; /* Line 1267 of yacc.c. */ -#line 2931 "engines/director/lingo/lingo-gr.cpp" +#line 2938 "engines/director/lingo/lingo-gr.cpp" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -3141,6 +3148,6 @@ yyreturn: } -#line 615 "engines/director/lingo/lingo-gr.y" +#line 618 "engines/director/lingo/lingo-gr.y" diff --git a/engines/director/lingo/lingo-gr.y b/engines/director/lingo/lingo-gr.y index 2f693603f1..4033d76cb8 100644 --- a/engines/director/lingo/lingo-gr.y +++ b/engines/director/lingo/lingo-gr.y @@ -103,7 +103,7 @@ void checkEnd(Common::String *token, const char *expect, bool required) { %token tON tME %type<code> asgn begin elseif elsestmtoneliner end expr if when repeatwhile repeatwith stmtlist -%type<narg> argdef arglist nonemptyarglist +%type<narg> argdef arglist nonemptyarglist nonemptyarglistnl %right '=' %left tLT tLE tGT tGE tNEQ tCONTAINS tSTARTS @@ -473,8 +473,7 @@ func: tPUT expr { g_lingo->code1(g_lingo->c_printtop); } | BLTINNOARGSORONE { g_lingo->code2(g_lingo->c_voidpush, g_lingo->_builtins[*$1]->u.func); delete $1; } - | BLTINARGLIST '(' arglist ')' { g_lingo->codeFunc($1, $3); } - | BLTINARGLIST arglist { g_lingo->codeFunc($1, $2); } + | BLTINARGLIST nonemptyarglistnl { g_lingo->codeFunc($1, $2); } | tME '(' ID ')' { g_lingo->codeMe($3, 0); } | tME '(' ID ',' arglist ')' { g_lingo->codeMe($3, $5); } | tOPEN expr tWITH expr { g_lingo->code1(g_lingo->c_open); } @@ -612,4 +611,8 @@ nonemptyarglist: expr { $$ = 1; } | arglist ',' expr { $$ = $1 + 1; } ; +nonemptyarglistnl: expr nl { $$ = 1; } + | arglist ',' expr nl { $$ = $1 + 1; } + ; + %% |