[Scummvm-git-logs] scummvm master -> 30221bc2ba0b198f03dcea20cf4fb107513c93a1
sev-
sev at scummvm.org
Tue Jan 14 19:48:45 UTC 2020
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
30221bc2ba DIRECTOR: LINGO: Cleaned up grammar file.
Commit: 30221bc2ba0b198f03dcea20cf4fb107513c93a1
https://github.com/scummvm/scummvm/commit/30221bc2ba0b198f03dcea20cf4fb107513c93a1
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-01-14T20:47:50+01:00
Commit Message:
DIRECTOR: LINGO: Cleaned up grammar file.
Changed paths:
engines/director/lingo/lingo-gr.cpp
engines/director/lingo/lingo-gr.y
diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp
index a7c4062..2eeaac8 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -630,23 +630,23 @@ static const yytype_int8 yytranslate[] =
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_int16 yyrline[] =
{
- 0, 135, 135, 136, 137, 140, 141, 142, 145, 151,
- 154, 155, 156, 162, 169, 175, 182, 188, 194, 202,
- 203, 204, 207, 208, 209, 210, 213, 214, 219, 230,
- 247, 259, 264, 268, 274, 278, 288, 300, 301, 304,
- 312, 322, 335, 338, 345, 352, 360, 363, 366, 367,
- 368, 371, 377, 380, 383, 387, 391, 395, 398, 399,
- 400, 403, 406, 414, 420, 425, 426, 427, 428, 429,
- 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
- 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
- 450, 451, 452, 453, 454, 455, 456, 459, 464, 465,
- 466, 467, 468, 469, 470, 471, 472, 475, 476, 479,
- 480, 483, 484, 487, 488, 499, 500, 501, 502, 506,
- 510, 516, 517, 520, 521, 525, 529, 533, 533, 564,
- 564, 571, 572, 572, 579, 589, 597, 599, 600, 601,
- 602, 605, 606, 607, 610, 613, 622, 623, 624, 627,
- 628, 631, 634, 635, 636, 637, 640, 641, 644, 645,
- 648, 652
+ 0, 135, 135, 136, 137, 139, 140, 141, 143, 149,
+ 152, 153, 154, 160, 167, 173, 180, 186, 192, 199,
+ 200, 201, 203, 204, 205, 206, 208, 209, 214, 225,
+ 242, 254, 259, 263, 268, 272, 282, 293, 294, 296,
+ 303, 313, 324, 326, 332, 338, 345, 347, 349, 350,
+ 351, 353, 359, 362, 365, 369, 373, 377, 379, 380,
+ 381, 384, 387, 395, 401, 406, 407, 408, 409, 410,
+ 411, 412, 413, 414, 415, 416, 417, 418, 419, 420,
+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
+ 431, 432, 433, 434, 435, 436, 437, 439, 443, 444,
+ 445, 446, 447, 448, 449, 450, 451, 454, 455, 457,
+ 461, 466, 470, 475, 479, 491, 492, 493, 494, 498,
+ 502, 507, 508, 510, 511, 515, 519, 523, 523, 553,
+ 553, 560, 561, 561, 568, 578, 586, 588, 589, 590,
+ 591, 593, 594, 595, 597, 599, 607, 608, 609, 611,
+ 612, 614, 616, 617, 618, 619, 621, 622, 624, 625,
+ 627, 631
};
#endif
@@ -1982,7 +1982,7 @@ yyreduce:
break;
case 8:
-#line 145 "engines/director/lingo/lingo-gr.y"
+#line 143 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_varpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
@@ -1993,7 +1993,7 @@ yyreduce:
break;
case 9:
-#line 151 "engines/director/lingo/lingo-gr.y"
+#line 149 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_assign);
(yyval.code) = (yyvsp[-2].code); }
@@ -2001,19 +2001,19 @@ yyreduce:
break;
case 10:
-#line 154 "engines/director/lingo/lingo-gr.y"
+#line 152 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_after); }
#line 2007 "engines/director/lingo/lingo-gr.cpp"
break;
case 11:
-#line 155 "engines/director/lingo/lingo-gr.y"
+#line 153 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_before); }
#line 2013 "engines/director/lingo/lingo-gr.cpp"
break;
case 12:
-#line 156 "engines/director/lingo/lingo-gr.y"
+#line 154 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_varpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
@@ -2024,7 +2024,7 @@ yyreduce:
break;
case 13:
-#line 162 "engines/director/lingo/lingo-gr.y"
+#line 160 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(0); // Put dummy id
@@ -2036,7 +2036,7 @@ yyreduce:
break;
case 14:
-#line 169 "engines/director/lingo/lingo-gr.y"
+#line 167 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_varpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
@@ -2047,7 +2047,7 @@ yyreduce:
break;
case 15:
-#line 175 "engines/director/lingo/lingo-gr.y"
+#line 173 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(0); // Put dummy id
@@ -2059,7 +2059,7 @@ yyreduce:
break;
case 16:
-#line 182 "engines/director/lingo/lingo-gr.y"
+#line 180 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_swap);
g_lingo->code1(LC::c_theentityassign);
@@ -2070,7 +2070,7 @@ yyreduce:
break;
case 17:
-#line 188 "engines/director/lingo/lingo-gr.y"
+#line 186 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_swap);
g_lingo->code1(LC::c_theentityassign);
@@ -2081,7 +2081,7 @@ yyreduce:
break;
case 18:
-#line 194 "engines/director/lingo/lingo-gr.y"
+#line 192 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_objectfieldassign);
g_lingo->codeString((yyvsp[-2].objectfield).os->c_str());
@@ -2092,7 +2092,7 @@ yyreduce:
break;
case 28:
-#line 219 "engines/director/lingo/lingo-gr.y"
+#line 214 "engines/director/lingo/lingo-gr.y"
{
inst body = 0, end = 0;
WRITE_UINT32(&body, (yyvsp[-3].code) - (yyvsp[-5].code));
@@ -2103,7 +2103,7 @@ yyreduce:
break;
case 29:
-#line 230 "engines/director/lingo/lingo-gr.y"
+#line 225 "engines/director/lingo/lingo-gr.y"
{
inst init = 0, finish = 0, body = 0, end = 0, inc = 0;
WRITE_UINT32(&init, (yyvsp[-7].code) - (yyvsp[-9].code));
@@ -2120,7 +2120,7 @@ yyreduce:
break;
case 30:
-#line 247 "engines/director/lingo/lingo-gr.y"
+#line 242 "engines/director/lingo/lingo-gr.y"
{
inst init = 0, finish = 0, body = 0, end = 0, inc = 0;
WRITE_UINT32(&init, (yyvsp[-8].code) - (yyvsp[-10].code));
@@ -2137,7 +2137,7 @@ yyreduce:
break;
case 31:
-#line 259 "engines/director/lingo/lingo-gr.y"
+#line 254 "engines/director/lingo/lingo-gr.y"
{
inst end = 0;
WRITE_UINT32(&end, (yyvsp[0].code) - (yyvsp[-2].code));
@@ -2147,7 +2147,7 @@ yyreduce:
break;
case 32:
-#line 264 "engines/director/lingo/lingo-gr.y"
+#line 259 "engines/director/lingo/lingo-gr.y"
{
inst end;
WRITE_UINT32(&end, (yyvsp[-1].code) - (yyvsp[-3].code));
@@ -2156,7 +2156,7 @@ yyreduce:
break;
case 33:
-#line 268 "engines/director/lingo/lingo-gr.y"
+#line 263 "engines/director/lingo/lingo-gr.y"
{
inst end;
WRITE_UINT32(&end, (yyvsp[0].code) - (yyvsp[-2].code));
@@ -2165,7 +2165,7 @@ yyreduce:
break;
case 34:
-#line 274 "engines/director/lingo/lingo-gr.y"
+#line 268 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_tellcode);
g_lingo->code1(STOP); }
@@ -2173,7 +2173,7 @@ yyreduce:
break;
case 35:
-#line 278 "engines/director/lingo/lingo-gr.y"
+#line 272 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[-6].code) - (yyvsp[-8].code));
@@ -2188,7 +2188,7 @@ yyreduce:
break;
case 36:
-#line 288 "engines/director/lingo/lingo-gr.y"
+#line 282 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[-9].code) - (yyvsp[-11].code));
@@ -2203,7 +2203,7 @@ yyreduce:
break;
case 39:
-#line 304 "engines/director/lingo/lingo-gr.y"
+#line 296 "engines/director/lingo/lingo-gr.y"
{
inst then = 0;
WRITE_UINT32(&then, (yyvsp[-3].code) - (yyvsp[-5].code));
@@ -2214,7 +2214,7 @@ yyreduce:
break;
case 40:
-#line 312 "engines/director/lingo/lingo-gr.y"
+#line 303 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[-8].code) - (yyvsp[-10].code));
@@ -2229,7 +2229,7 @@ yyreduce:
break;
case 41:
-#line 322 "engines/director/lingo/lingo-gr.y"
+#line 313 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[-4].code) - (yyvsp[-6].code));
@@ -2244,13 +2244,13 @@ yyreduce:
break;
case 42:
-#line 335 "engines/director/lingo/lingo-gr.y"
+#line 324 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code3(LC::c_repeatwhilecode, STOP, STOP); }
#line 2250 "engines/director/lingo/lingo-gr.cpp"
break;
case 43:
-#line 338 "engines/director/lingo/lingo-gr.y"
+#line 326 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code3(LC::c_repeatwithcode, STOP, STOP);
g_lingo->code3(STOP, STOP, STOP);
@@ -2260,7 +2260,7 @@ yyreduce:
break;
case 44:
-#line 345 "engines/director/lingo/lingo-gr.y"
+#line 332 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_ifcode);
g_lingo->code3(STOP, STOP, STOP);
@@ -2270,7 +2270,7 @@ yyreduce:
break;
case 45:
-#line 352 "engines/director/lingo/lingo-gr.y"
+#line 338 "engines/director/lingo/lingo-gr.y"
{
inst skipEnd;
WRITE_UINT32(&skipEnd, 1); // We have to skip end to avoid multiple executions
@@ -2281,25 +2281,25 @@ yyreduce:
break;
case 46:
-#line 360 "engines/director/lingo/lingo-gr.y"
+#line 345 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->_currentScript->size(); }
#line 2287 "engines/director/lingo/lingo-gr.cpp"
break;
case 47:
-#line 363 "engines/director/lingo/lingo-gr.y"
+#line 347 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(STOP); (yyval.code) = g_lingo->_currentScript->size(); }
#line 2293 "engines/director/lingo/lingo-gr.cpp"
break;
case 48:
-#line 366 "engines/director/lingo/lingo-gr.y"
+#line 349 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->_currentScript->size(); }
#line 2299 "engines/director/lingo/lingo-gr.cpp"
break;
case 51:
-#line 371 "engines/director/lingo/lingo-gr.y"
+#line 353 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_whencode);
g_lingo->code1(STOP);
@@ -2309,7 +2309,7 @@ yyreduce:
break;
case 52:
-#line 377 "engines/director/lingo/lingo-gr.y"
+#line 359 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_intpush);
g_lingo->codeInt((yyvsp[0].i)); }
@@ -2317,7 +2317,7 @@ yyreduce:
break;
case 53:
-#line 380 "engines/director/lingo/lingo-gr.y"
+#line 362 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_floatpush);
g_lingo->codeFloat((yyvsp[0].f)); }
@@ -2325,7 +2325,7 @@ yyreduce:
break;
case 54:
-#line 383 "engines/director/lingo/lingo-gr.y"
+#line 365 "engines/director/lingo/lingo-gr.y"
{ // D3
(yyval.code) = g_lingo->code1(LC::c_symbolpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
@@ -2334,7 +2334,7 @@ yyreduce:
break;
case 55:
-#line 387 "engines/director/lingo/lingo-gr.y"
+#line 369 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_stringpush);
g_lingo->codeString((yyvsp[0].s)->c_str());
@@ -2343,7 +2343,7 @@ yyreduce:
break;
case 56:
-#line 391 "engines/director/lingo/lingo-gr.y"
+#line 373 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_eval);
g_lingo->codeString((yyvsp[0].s)->c_str());
@@ -2352,13 +2352,13 @@ yyreduce:
break;
case 58:
-#line 398 "engines/director/lingo/lingo-gr.y"
+#line 379 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); }
#line 2358 "engines/director/lingo/lingo-gr.cpp"
break;
case 60:
-#line 400 "engines/director/lingo/lingo-gr.y"
+#line 381 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-1].s), (yyvsp[0].narg));
delete (yyvsp[-1].s); }
@@ -2366,7 +2366,7 @@ yyreduce:
break;
case 61:
-#line 403 "engines/director/lingo/lingo-gr.y"
+#line 384 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
delete (yyvsp[-3].s); }
@@ -2374,7 +2374,7 @@ yyreduce:
break;
case 62:
-#line 406 "engines/director/lingo/lingo-gr.y"
+#line 387 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(0); // Put dummy id
@@ -2387,7 +2387,7 @@ yyreduce:
break;
case 63:
-#line 414 "engines/director/lingo/lingo-gr.y"
+#line 395 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(LC::c_theentitypush);
inst e = 0, f = 0;
@@ -2398,7 +2398,7 @@ yyreduce:
break;
case 64:
-#line 420 "engines/director/lingo/lingo-gr.y"
+#line 401 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_objectfieldpush);
g_lingo->codeString((yyvsp[0].objectfield).os->c_str());
@@ -2408,193 +2408,193 @@ yyreduce:
break;
case 66:
-#line 426 "engines/director/lingo/lingo-gr.y"
+#line 407 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_add); }
#line 2414 "engines/director/lingo/lingo-gr.cpp"
break;
case 67:
-#line 427 "engines/director/lingo/lingo-gr.y"
+#line 408 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_sub); }
#line 2420 "engines/director/lingo/lingo-gr.cpp"
break;
case 68:
-#line 428 "engines/director/lingo/lingo-gr.y"
+#line 409 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_mul); }
#line 2426 "engines/director/lingo/lingo-gr.cpp"
break;
case 69:
-#line 429 "engines/director/lingo/lingo-gr.y"
+#line 410 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_div); }
#line 2432 "engines/director/lingo/lingo-gr.cpp"
break;
case 70:
-#line 430 "engines/director/lingo/lingo-gr.y"
+#line 411 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_mod); }
#line 2438 "engines/director/lingo/lingo-gr.cpp"
break;
case 71:
-#line 431 "engines/director/lingo/lingo-gr.y"
+#line 412 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gt); }
#line 2444 "engines/director/lingo/lingo-gr.cpp"
break;
case 72:
-#line 432 "engines/director/lingo/lingo-gr.y"
+#line 413 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lt); }
#line 2450 "engines/director/lingo/lingo-gr.cpp"
break;
case 73:
-#line 433 "engines/director/lingo/lingo-gr.y"
+#line 414 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_eq); }
#line 2456 "engines/director/lingo/lingo-gr.cpp"
break;
case 74:
-#line 434 "engines/director/lingo/lingo-gr.y"
+#line 415 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_neq); }
#line 2462 "engines/director/lingo/lingo-gr.cpp"
break;
case 75:
-#line 435 "engines/director/lingo/lingo-gr.y"
+#line 416 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ge); }
#line 2468 "engines/director/lingo/lingo-gr.cpp"
break;
case 76:
-#line 436 "engines/director/lingo/lingo-gr.y"
+#line 417 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_le); }
#line 2474 "engines/director/lingo/lingo-gr.cpp"
break;
case 77:
-#line 437 "engines/director/lingo/lingo-gr.y"
+#line 418 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_and); }
#line 2480 "engines/director/lingo/lingo-gr.cpp"
break;
case 78:
-#line 438 "engines/director/lingo/lingo-gr.y"
+#line 419 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_or); }
#line 2486 "engines/director/lingo/lingo-gr.cpp"
break;
case 79:
-#line 439 "engines/director/lingo/lingo-gr.y"
+#line 420 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_not); }
#line 2492 "engines/director/lingo/lingo-gr.cpp"
break;
case 80:
-#line 440 "engines/director/lingo/lingo-gr.y"
+#line 421 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_ampersand); }
#line 2498 "engines/director/lingo/lingo-gr.cpp"
break;
case 81:
-#line 441 "engines/director/lingo/lingo-gr.y"
+#line 422 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_concat); }
#line 2504 "engines/director/lingo/lingo-gr.cpp"
break;
case 82:
-#line 442 "engines/director/lingo/lingo-gr.y"
+#line 423 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_contains); }
#line 2510 "engines/director/lingo/lingo-gr.cpp"
break;
case 83:
-#line 443 "engines/director/lingo/lingo-gr.y"
+#line 424 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_starts); }
#line 2516 "engines/director/lingo/lingo-gr.cpp"
break;
case 84:
-#line 444 "engines/director/lingo/lingo-gr.y"
+#line 425 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); }
#line 2522 "engines/director/lingo/lingo-gr.cpp"
break;
case 85:
-#line 445 "engines/director/lingo/lingo-gr.y"
+#line 426 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[0].code); g_lingo->code1(LC::c_negate); }
#line 2528 "engines/director/lingo/lingo-gr.cpp"
break;
case 86:
-#line 446 "engines/director/lingo/lingo-gr.y"
+#line 427 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[-1].code); }
#line 2534 "engines/director/lingo/lingo-gr.cpp"
break;
case 87:
-#line 447 "engines/director/lingo/lingo-gr.y"
+#line 428 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_intersects); }
#line 2540 "engines/director/lingo/lingo-gr.cpp"
break;
case 88:
-#line 448 "engines/director/lingo/lingo-gr.y"
+#line 429 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_within); }
#line 2546 "engines/director/lingo/lingo-gr.cpp"
break;
case 89:
-#line 449 "engines/director/lingo/lingo-gr.y"
+#line 430 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_charOf); }
#line 2552 "engines/director/lingo/lingo-gr.cpp"
break;
case 90:
-#line 450 "engines/director/lingo/lingo-gr.y"
+#line 431 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_charToOf); }
#line 2558 "engines/director/lingo/lingo-gr.cpp"
break;
case 91:
-#line 451 "engines/director/lingo/lingo-gr.y"
+#line 432 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_itemOf); }
#line 2564 "engines/director/lingo/lingo-gr.cpp"
break;
case 92:
-#line 452 "engines/director/lingo/lingo-gr.y"
+#line 433 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_itemToOf); }
#line 2570 "engines/director/lingo/lingo-gr.cpp"
break;
case 93:
-#line 453 "engines/director/lingo/lingo-gr.y"
+#line 434 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lineOf); }
#line 2576 "engines/director/lingo/lingo-gr.cpp"
break;
case 94:
-#line 454 "engines/director/lingo/lingo-gr.y"
+#line 435 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_lineToOf); }
#line 2582 "engines/director/lingo/lingo-gr.cpp"
break;
case 95:
-#line 455 "engines/director/lingo/lingo-gr.y"
+#line 436 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_wordOf); }
#line 2588 "engines/director/lingo/lingo-gr.cpp"
break;
case 96:
-#line 456 "engines/director/lingo/lingo-gr.y"
+#line 437 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_wordToOf); }
#line 2594 "engines/director/lingo/lingo-gr.cpp"
break;
case 97:
-#line 459 "engines/director/lingo/lingo-gr.y"
+#line 439 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-1].s), 1);
delete (yyvsp[-1].s); }
@@ -2602,25 +2602,25 @@ yyreduce:
break;
case 98:
-#line 464 "engines/director/lingo/lingo-gr.y"
+#line 443 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_printtop); }
#line 2608 "engines/director/lingo/lingo-gr.cpp"
break;
case 101:
-#line 467 "engines/director/lingo/lingo-gr.y"
+#line 446 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_exitRepeat); }
#line 2614 "engines/director/lingo/lingo-gr.cpp"
break;
case 102:
-#line 468 "engines/director/lingo/lingo-gr.y"
+#line 447 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_procret); }
#line 2620 "engines/director/lingo/lingo-gr.cpp"
break;
case 106:
-#line 472 "engines/director/lingo/lingo-gr.y"
+#line 451 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[-1].s), (yyvsp[0].narg));
delete (yyvsp[-1].s); }
@@ -2628,188 +2628,206 @@ yyreduce:
break;
case 107:
-#line 475 "engines/director/lingo/lingo-gr.y"
+#line 454 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_open); }
#line 2634 "engines/director/lingo/lingo-gr.cpp"
break;
case 108:
-#line 476 "engines/director/lingo/lingo-gr.y"
+#line 455 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code2(LC::c_voidpush, LC::c_open); }
#line 2640 "engines/director/lingo/lingo-gr.cpp"
break;
case 109:
-#line 479 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_global); g_lingo->codeString((yyvsp[0].s)->c_str()); delete (yyvsp[0].s); }
-#line 2646 "engines/director/lingo/lingo-gr.cpp"
+#line 457 "engines/director/lingo/lingo-gr.y"
+ {
+ g_lingo->code1(LC::c_global);
+ g_lingo->codeString((yyvsp[0].s)->c_str());
+ delete (yyvsp[0].s); }
+#line 2649 "engines/director/lingo/lingo-gr.cpp"
break;
case 110:
-#line 480 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_global); g_lingo->codeString((yyvsp[0].s)->c_str()); delete (yyvsp[0].s); }
-#line 2652 "engines/director/lingo/lingo-gr.cpp"
+#line 461 "engines/director/lingo/lingo-gr.y"
+ {
+ g_lingo->code1(LC::c_global);
+ g_lingo->codeString((yyvsp[0].s)->c_str());
+ delete (yyvsp[0].s); }
+#line 2658 "engines/director/lingo/lingo-gr.cpp"
break;
case 111:
-#line 483 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_property); g_lingo->codeString((yyvsp[0].s)->c_str()); delete (yyvsp[0].s); }
-#line 2658 "engines/director/lingo/lingo-gr.cpp"
+#line 466 "engines/director/lingo/lingo-gr.y"
+ {
+ g_lingo->code1(LC::c_property);
+ g_lingo->codeString((yyvsp[0].s)->c_str());
+ delete (yyvsp[0].s); }
+#line 2667 "engines/director/lingo/lingo-gr.cpp"
break;
case 112:
-#line 484 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_property); g_lingo->codeString((yyvsp[0].s)->c_str()); delete (yyvsp[0].s); }
-#line 2664 "engines/director/lingo/lingo-gr.cpp"
+#line 470 "engines/director/lingo/lingo-gr.y"
+ {
+ g_lingo->code1(LC::c_property);
+ g_lingo->codeString((yyvsp[0].s)->c_str());
+ delete (yyvsp[0].s); }
+#line 2676 "engines/director/lingo/lingo-gr.cpp"
break;
case 113:
-#line 487 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_instance); g_lingo->codeString((yyvsp[0].s)->c_str()); delete (yyvsp[0].s); }
-#line 2670 "engines/director/lingo/lingo-gr.cpp"
+#line 475 "engines/director/lingo/lingo-gr.y"
+ {
+ g_lingo->code1(LC::c_instance);
+ g_lingo->codeString((yyvsp[0].s)->c_str());
+ delete (yyvsp[0].s); }
+#line 2685 "engines/director/lingo/lingo-gr.cpp"
break;
case 114:
-#line 488 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::c_instance); g_lingo->codeString((yyvsp[0].s)->c_str()); delete (yyvsp[0].s); }
-#line 2676 "engines/director/lingo/lingo-gr.cpp"
+#line 479 "engines/director/lingo/lingo-gr.y"
+ {
+ g_lingo->code1(LC::c_instance);
+ g_lingo->codeString((yyvsp[0].s)->c_str());
+ delete (yyvsp[0].s); }
+#line 2694 "engines/director/lingo/lingo-gr.cpp"
break;
case 115:
-#line 499 "engines/director/lingo/lingo-gr.y"
+#line 491 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotoloop); }
-#line 2682 "engines/director/lingo/lingo-gr.cpp"
+#line 2700 "engines/director/lingo/lingo-gr.cpp"
break;
case 116:
-#line 500 "engines/director/lingo/lingo-gr.y"
+#line 492 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotonext); }
-#line 2688 "engines/director/lingo/lingo-gr.cpp"
+#line 2706 "engines/director/lingo/lingo-gr.cpp"
break;
case 117:
-#line 501 "engines/director/lingo/lingo-gr.y"
+#line 493 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_gotoprevious); }
-#line 2694 "engines/director/lingo/lingo-gr.cpp"
+#line 2712 "engines/director/lingo/lingo-gr.cpp"
break;
case 118:
-#line 502 "engines/director/lingo/lingo-gr.y"
+#line 494 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(LC::c_goto); }
-#line 2703 "engines/director/lingo/lingo-gr.cpp"
+#line 2721 "engines/director/lingo/lingo-gr.cpp"
break;
case 119:
-#line 506 "engines/director/lingo/lingo-gr.y"
+#line 498 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(LC::c_goto); }
-#line 2712 "engines/director/lingo/lingo-gr.cpp"
+#line 2730 "engines/director/lingo/lingo-gr.cpp"
break;
case 120:
-#line 510 "engines/director/lingo/lingo-gr.y"
+#line 502 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(2);
g_lingo->code1(LC::c_goto); }
-#line 2721 "engines/director/lingo/lingo-gr.cpp"
+#line 2739 "engines/director/lingo/lingo-gr.cpp"
break;
case 123:
-#line 520 "engines/director/lingo/lingo-gr.y"
+#line 510 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(LC::c_playdone); }
-#line 2727 "engines/director/lingo/lingo-gr.cpp"
+#line 2745 "engines/director/lingo/lingo-gr.cpp"
break;
case 124:
-#line 521 "engines/director/lingo/lingo-gr.y"
+#line 511 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(LC::c_play); }
-#line 2736 "engines/director/lingo/lingo-gr.cpp"
+#line 2754 "engines/director/lingo/lingo-gr.cpp"
break;
case 125:
-#line 525 "engines/director/lingo/lingo-gr.y"
+#line 515 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(LC::c_play); }
-#line 2745 "engines/director/lingo/lingo-gr.cpp"
+#line 2763 "engines/director/lingo/lingo-gr.cpp"
break;
case 126:
-#line 529 "engines/director/lingo/lingo-gr.y"
+#line 519 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(2);
g_lingo->code1(LC::c_play); }
-#line 2754 "engines/director/lingo/lingo-gr.cpp"
+#line 2772 "engines/director/lingo/lingo-gr.cpp"
break;
case 127:
-#line 533 "engines/director/lingo/lingo-gr.y"
+#line 523 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeSetImmediate(true); }
-#line 2760 "engines/director/lingo/lingo-gr.cpp"
+#line 2778 "engines/director/lingo/lingo-gr.cpp"
break;
case 128:
-#line 533 "engines/director/lingo/lingo-gr.y"
+#line 523 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeSetImmediate(false);
g_lingo->codeFunc((yyvsp[-2].s), (yyvsp[0].narg));
delete (yyvsp[-2].s); }
-#line 2769 "engines/director/lingo/lingo-gr.cpp"
+#line 2787 "engines/director/lingo/lingo-gr.cpp"
break;
case 129:
-#line 564 "engines/director/lingo/lingo-gr.y"
+#line 553 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; g_lingo->_currentFactory.clear(); }
-#line 2775 "engines/director/lingo/lingo-gr.cpp"
+#line 2793 "engines/director/lingo/lingo-gr.cpp"
break;
case 130:
-#line 565 "engines/director/lingo/lingo-gr.y"
+#line 554 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_procret);
g_lingo->define(*(yyvsp[-6].s), (yyvsp[-4].code), (yyvsp[-3].narg));
g_lingo->clearArgStack();
g_lingo->_indef = kStateNone;
delete (yyvsp[-6].s); }
-#line 2786 "engines/director/lingo/lingo-gr.cpp"
+#line 2804 "engines/director/lingo/lingo-gr.cpp"
break;
case 131:
-#line 571 "engines/director/lingo/lingo-gr.y"
+#line 560 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeFactory(*(yyvsp[0].s)); delete (yyvsp[0].s); }
-#line 2792 "engines/director/lingo/lingo-gr.cpp"
+#line 2810 "engines/director/lingo/lingo-gr.cpp"
break;
case 132:
-#line 572 "engines/director/lingo/lingo-gr.y"
+#line 561 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = kStateInArgs; }
-#line 2798 "engines/director/lingo/lingo-gr.cpp"
+#line 2816 "engines/director/lingo/lingo-gr.cpp"
break;
case 133:
-#line 573 "engines/director/lingo/lingo-gr.y"
+#line 562 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_procret);
g_lingo->define(*(yyvsp[-6].s), (yyvsp[-4].code), (yyvsp[-3].narg) + 1, &g_lingo->_currentFactory);
g_lingo->clearArgStack();
g_lingo->_indef = kStateNone;
delete (yyvsp[-6].s); }
-#line 2809 "engines/director/lingo/lingo-gr.cpp"
+#line 2827 "engines/director/lingo/lingo-gr.cpp"
break;
case 134:
-#line 579 "engines/director/lingo/lingo-gr.y"
+#line 568 "engines/director/lingo/lingo-gr.y"
{ // D3
g_lingo->code1(LC::c_procret);
g_lingo->define(*(yyvsp[-7].s), (yyvsp[-6].code), (yyvsp[-5].narg));
@@ -2820,11 +2838,11 @@ yyreduce:
checkEnd((yyvsp[-1].s), (yyvsp[-7].s)->c_str(), false);
delete (yyvsp[-7].s);
delete (yyvsp[-1].s); }
-#line 2824 "engines/director/lingo/lingo-gr.cpp"
+#line 2842 "engines/director/lingo/lingo-gr.cpp"
break;
case 135:
-#line 589 "engines/director/lingo/lingo-gr.y"
+#line 578 "engines/director/lingo/lingo-gr.y"
{ // D4. No 'end' clause
g_lingo->code1(LC::c_procret);
g_lingo->define(*(yyvsp[-5].s), (yyvsp[-4].code), (yyvsp[-3].narg));
@@ -2832,59 +2850,59 @@ yyreduce:
g_lingo->clearArgStack();
g_lingo->_ignoreMe = false;
delete (yyvsp[-5].s); }
-#line 2836 "engines/director/lingo/lingo-gr.cpp"
+#line 2854 "engines/director/lingo/lingo-gr.cpp"
break;
case 136:
-#line 597 "engines/director/lingo/lingo-gr.y"
+#line 586 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = (yyvsp[0].s); g_lingo->_indef = kStateInArgs; g_lingo->_currentFactory.clear(); g_lingo->_ignoreMe = true; }
-#line 2842 "engines/director/lingo/lingo-gr.cpp"
+#line 2860 "engines/director/lingo/lingo-gr.cpp"
break;
case 137:
-#line 599 "engines/director/lingo/lingo-gr.y"
+#line 588 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; }
-#line 2848 "engines/director/lingo/lingo-gr.cpp"
+#line 2866 "engines/director/lingo/lingo-gr.cpp"
break;
case 138:
-#line 600 "engines/director/lingo/lingo-gr.y"
+#line 589 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); (yyval.narg) = 1; delete (yyvsp[0].s); }
-#line 2854 "engines/director/lingo/lingo-gr.cpp"
+#line 2872 "engines/director/lingo/lingo-gr.cpp"
break;
case 139:
-#line 601 "engines/director/lingo/lingo-gr.y"
+#line 590 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); (yyval.narg) = (yyvsp[-2].narg) + 1; delete (yyvsp[0].s); }
-#line 2860 "engines/director/lingo/lingo-gr.cpp"
+#line 2878 "engines/director/lingo/lingo-gr.cpp"
break;
case 140:
-#line 602 "engines/director/lingo/lingo-gr.y"
+#line 591 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[0].s)); (yyval.narg) = (yyvsp[-3].narg) + 1; delete (yyvsp[0].s); }
-#line 2866 "engines/director/lingo/lingo-gr.cpp"
+#line 2884 "engines/director/lingo/lingo-gr.cpp"
break;
case 142:
-#line 606 "engines/director/lingo/lingo-gr.y"
+#line 594 "engines/director/lingo/lingo-gr.y"
{ delete (yyvsp[0].s); }
-#line 2872 "engines/director/lingo/lingo-gr.cpp"
+#line 2890 "engines/director/lingo/lingo-gr.cpp"
break;
case 143:
-#line 607 "engines/director/lingo/lingo-gr.y"
+#line 595 "engines/director/lingo/lingo-gr.y"
{ delete (yyvsp[0].s); }
-#line 2878 "engines/director/lingo/lingo-gr.cpp"
+#line 2896 "engines/director/lingo/lingo-gr.cpp"
break;
case 144:
-#line 610 "engines/director/lingo/lingo-gr.y"
+#line 597 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArgStore(); g_lingo->_indef = kStateInDef; }
-#line 2884 "engines/director/lingo/lingo-gr.cpp"
+#line 2902 "engines/director/lingo/lingo-gr.cpp"
break;
case 145:
-#line 613 "engines/director/lingo/lingo-gr.y"
+#line 599 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_call);
g_lingo->codeString((yyvsp[-1].s)->c_str());
@@ -2892,113 +2910,113 @@ yyreduce:
WRITE_UINT32(&numpar, (yyvsp[0].narg));
g_lingo->code1(numpar);
delete (yyvsp[-1].s); }
-#line 2896 "engines/director/lingo/lingo-gr.cpp"
+#line 2914 "engines/director/lingo/lingo-gr.cpp"
break;
case 146:
-#line 622 "engines/director/lingo/lingo-gr.y"
+#line 607 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; }
-#line 2902 "engines/director/lingo/lingo-gr.cpp"
+#line 2920 "engines/director/lingo/lingo-gr.cpp"
break;
case 147:
-#line 623 "engines/director/lingo/lingo-gr.y"
+#line 608 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 2908 "engines/director/lingo/lingo-gr.cpp"
+#line 2926 "engines/director/lingo/lingo-gr.cpp"
break;
case 148:
-#line 624 "engines/director/lingo/lingo-gr.y"
+#line 609 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 2914 "engines/director/lingo/lingo-gr.cpp"
+#line 2932 "engines/director/lingo/lingo-gr.cpp"
break;
case 149:
-#line 627 "engines/director/lingo/lingo-gr.y"
+#line 611 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 2920 "engines/director/lingo/lingo-gr.cpp"
+#line 2938 "engines/director/lingo/lingo-gr.cpp"
break;
case 150:
-#line 628 "engines/director/lingo/lingo-gr.y"
+#line 612 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 2926 "engines/director/lingo/lingo-gr.cpp"
+#line 2944 "engines/director/lingo/lingo-gr.cpp"
break;
case 151:
-#line 631 "engines/director/lingo/lingo-gr.y"
+#line 614 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[-1].code); }
-#line 2932 "engines/director/lingo/lingo-gr.cpp"
+#line 2950 "engines/director/lingo/lingo-gr.cpp"
break;
case 152:
-#line 634 "engines/director/lingo/lingo-gr.y"
+#line 616 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code2(LC::c_arraypush, 0); }
-#line 2938 "engines/director/lingo/lingo-gr.cpp"
+#line 2956 "engines/director/lingo/lingo-gr.cpp"
break;
case 153:
-#line 635 "engines/director/lingo/lingo-gr.y"
+#line 617 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code2(LC::c_proparraypush, 0); }
-#line 2944 "engines/director/lingo/lingo-gr.cpp"
+#line 2962 "engines/director/lingo/lingo-gr.cpp"
break;
case 154:
-#line 636 "engines/director/lingo/lingo-gr.y"
+#line 618 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_arraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 2950 "engines/director/lingo/lingo-gr.cpp"
+#line 2968 "engines/director/lingo/lingo-gr.cpp"
break;
case 155:
-#line 637 "engines/director/lingo/lingo-gr.y"
+#line 619 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(LC::c_proparraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 2956 "engines/director/lingo/lingo-gr.cpp"
+#line 2974 "engines/director/lingo/lingo-gr.cpp"
break;
case 156:
-#line 640 "engines/director/lingo/lingo-gr.y"
+#line 621 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 2962 "engines/director/lingo/lingo-gr.cpp"
+#line 2980 "engines/director/lingo/lingo-gr.cpp"
break;
case 157:
-#line 641 "engines/director/lingo/lingo-gr.y"
+#line 622 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 2968 "engines/director/lingo/lingo-gr.cpp"
+#line 2986 "engines/director/lingo/lingo-gr.cpp"
break;
case 158:
-#line 644 "engines/director/lingo/lingo-gr.y"
+#line 624 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; }
-#line 2974 "engines/director/lingo/lingo-gr.cpp"
+#line 2992 "engines/director/lingo/lingo-gr.cpp"
break;
case 159:
-#line 645 "engines/director/lingo/lingo-gr.y"
+#line 625 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 2980 "engines/director/lingo/lingo-gr.cpp"
+#line 2998 "engines/director/lingo/lingo-gr.cpp"
break;
case 160:
-#line 648 "engines/director/lingo/lingo-gr.y"
+#line 627 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_symbolpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
delete (yyvsp[-2].s); }
-#line 2989 "engines/director/lingo/lingo-gr.cpp"
+#line 3007 "engines/director/lingo/lingo-gr.cpp"
break;
case 161:
-#line 652 "engines/director/lingo/lingo-gr.y"
+#line 631 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(LC::c_stringpush);
g_lingo->codeString((yyvsp[-2].s)->c_str());
delete (yyvsp[-2].s); }
-#line 2998 "engines/director/lingo/lingo-gr.cpp"
+#line 3016 "engines/director/lingo/lingo-gr.cpp"
break;
-#line 3002 "engines/director/lingo/lingo-gr.cpp"
+#line 3020 "engines/director/lingo/lingo-gr.cpp"
default: break;
}
@@ -3230,5 +3248,5 @@ yyreturn:
#endif
return yyresult;
}
-#line 659 "engines/director/lingo/lingo-gr.y"
+#line 637 "engines/director/lingo/lingo-gr.y"
diff --git a/engines/director/lingo/lingo-gr.y b/engines/director/lingo/lingo-gr.y
index f09cace..334ebfa 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -135,12 +135,10 @@ void checkEnd(Common::String *token, const char *expect, bool required) {
program: program '\n' programline
| programline
| error '\n' { yyerrok; }
- ;
programline: /* empty */
| defn
| stmt
- ;
asgn: tPUT expr tINTO ID {
g_lingo->code1(LC::c_varpush);
@@ -197,18 +195,15 @@ asgn: tPUT expr tINTO ID {
g_lingo->codeInt($THEOBJECTFIELD.oe);
delete $THEOBJECTFIELD.os;
$$ = $expr; }
- ;
stmtoneliner: macro
| expr
| proc
- ;
stmtonelinerwithif: macro
| expr
| proc
| ifoneliner
- ;
stmt: stmtoneliner
| ifstmt
@@ -222,7 +217,7 @@ stmt: stmtoneliner
WRITE_UINT32(&end, $end2 - $repeatwhile);
(*g_lingo->_currentScript)[$repeatwhile + 1] = body; /* body of loop */
(*g_lingo->_currentScript)[$repeatwhile + 2] = end; } /* end, if cond fails */
- ;
+
// repeat with index = start to end
// statements
// end repeat
@@ -269,7 +264,6 @@ stmt: stmtoneliner
inst end;
WRITE_UINT32(&end, $end - $tellstart);
(*g_lingo->_currentScript)[$tellstart + 1] = end; }
- ;
tellstart: /* empty */ {
$$ = g_lingo->code1(LC::c_tellcode);
@@ -295,11 +289,9 @@ ifstmt: if expr end[endexpr] tTHEN stmtlist end[else1] elseifstmtlist end[end3]
(*g_lingo->_currentScript)[$if + 3] = end; /* end, if cond fails */
g_lingo->processIf($if, $end3 - $if, $begin - $if); }
- ;
elseifstmtlist: /* nothing */
| elseifstmtlist elseifstmt
- ;
elseifstmt: elseif expr end[endexpr] tTHEN stmtlist end {
inst then = 0;
@@ -307,7 +299,6 @@ elseifstmt: elseif expr end[endexpr] tTHEN stmtlist end {
(*g_lingo->_currentScript)[$elseif + 1] = then; /* thenpart */
g_lingo->codeLabel($elseif); }
- ;
ifoneliner: if expr end[endexpr] tTHEN stmtoneliner end[else1] tELSE begin stmtoneliner end[end3] tENDIF {
inst then = 0, else1 = 0, end = 0;
@@ -329,25 +320,20 @@ ifoneliner: if expr end[endexpr] tTHEN stmtoneliner end[else1] tELSE begin stmto
(*g_lingo->_currentScript)[$if + 3] = end; /* end, if cond fails */
g_lingo->processIf($if, $end3 - $if, $end3 - $if); }
- ;
-
repeatwhile: tREPEAT tWHILE { $$ = g_lingo->code3(LC::c_repeatwhilecode, STOP, STOP); }
- ;
repeatwith: tREPEAT tWITH ID {
$$ = g_lingo->code3(LC::c_repeatwithcode, STOP, STOP);
g_lingo->code3(STOP, STOP, STOP);
g_lingo->codeString($ID->c_str());
delete $ID; }
- ;
if: tIF {
$$ = g_lingo->code1(LC::c_ifcode);
g_lingo->code3(STOP, STOP, STOP);
g_lingo->code1(0); // Do not skip end
g_lingo->codeLabel(0); } // Mark beginning of the if() statement
- ;
elseif: tELSIF {
inst skipEnd;
@@ -355,18 +341,14 @@ elseif: tELSIF {
$$ = g_lingo->code1(LC::c_ifcode);
g_lingo->code3(STOP, STOP, STOP);
g_lingo->code1(skipEnd); }
- ;
begin: /* nothing */ { $$ = g_lingo->_currentScript->size(); }
- ;
end: /* nothing */ { g_lingo->code1(STOP); $$ = g_lingo->_currentScript->size(); }
- ;
stmtlist: { $$ = g_lingo->_currentScript->size(); }
| stmtlist '\n'
| stmtlist stmt
- ;
when: tWHEN ID tTHEN {
$$ = g_lingo->code1(LC::c_whencode);
@@ -393,7 +375,6 @@ simpleexpr: INT {
g_lingo->codeString($ID->c_str());
delete $ID; }
| list
- ;
expr: simpleexpr { $$ = $simpleexpr; }
| reference
@@ -454,12 +435,10 @@ expr: simpleexpr { $$ = $simpleexpr; }
| tLINE expr tTO expr tOF expr { g_lingo->code1(LC::c_lineToOf); }
| tWORD expr tOF expr { g_lingo->code1(LC::c_wordOf); }
| tWORD expr tTO expr tOF expr { g_lingo->code1(LC::c_wordToOf); }
- ;
reference: RBLTIN simpleexpr {
g_lingo->codeFunc($RBLTIN, 1);
delete $RBLTIN; }
- ;
proc: tPUT expr { g_lingo->code1(LC::c_printtop); }
| gotofunc
@@ -474,19 +453,33 @@ proc: tPUT expr { g_lingo->code1(LC::c_printtop); }
delete $BLTIN; }
| tOPEN expr tWITH expr { g_lingo->code1(LC::c_open); }
| tOPEN expr { g_lingo->code2(LC::c_voidpush, LC::c_open); }
- ;
-globallist: ID { g_lingo->code1(LC::c_global); g_lingo->codeString($1->c_str()); delete $ID; }
- | globallist ',' ID { g_lingo->code1(LC::c_global); g_lingo->codeString($3->c_str()); delete $ID; }
- ;
+globallist: ID {
+ g_lingo->code1(LC::c_global);
+ g_lingo->codeString($1->c_str());
+ delete $ID; }
+ | globallist ',' ID {
+ g_lingo->code1(LC::c_global);
+ g_lingo->codeString($3->c_str());
+ delete $ID; }
-propertylist: ID { g_lingo->code1(LC::c_property); g_lingo->codeString($1->c_str()); delete $ID; }
- | propertylist ',' ID { g_lingo->code1(LC::c_property); g_lingo->codeString($3->c_str()); delete $ID; }
- ;
+propertylist: ID {
+ g_lingo->code1(LC::c_property);
+ g_lingo->codeString($1->c_str());
+ delete $ID; }
+ | propertylist ',' ID {
+ g_lingo->code1(LC::c_property);
+ g_lingo->codeString($3->c_str());
+ delete $ID; }
-instancelist: ID { g_lingo->code1(LC::c_instance); g_lingo->codeString($1->c_str()); delete $ID; }
- | instancelist ',' ID { g_lingo->code1(LC::c_instance); g_lingo->codeString($3->c_str()); delete $ID; }
- ;
+instancelist: ID {
+ g_lingo->code1(LC::c_instance);
+ g_lingo->codeString($1->c_str());
+ delete $ID; }
+ | instancelist ',' ID {
+ g_lingo->code1(LC::c_instance);
+ g_lingo->codeString($3->c_str());
+ delete $ID; }
// go {to} {frame} whichFrame {of movie whichMovie}
// go {to} {frame "Open23" of} movie whichMovie
@@ -495,7 +488,6 @@ instancelist: ID { g_lingo->code1(LC::c_instance); g_lingo->codeString($1->c_
// go previous
// go to {frame} whichFrame {of movie whichMovie}
// go to {frame whichFrame of} movie whichMovie
-
gotofunc: tGO tLOOP { g_lingo->code1(LC::c_gotoloop); }
| tGO tNEXT { g_lingo->code1(LC::c_gotonext); }
| tGO tPREVIOUS { g_lingo->code1(LC::c_gotoprevious); }
@@ -511,11 +503,9 @@ gotofunc: tGO tLOOP { g_lingo->code1(LC::c_gotoloop); }
g_lingo->code1(LC::c_intpush);
g_lingo->codeInt(2);
g_lingo->code1(LC::c_goto); }
- ;
gotomovie: tOF tMOVIE expr
| tMOVIE expr
- ;
playfunc: tPLAY tDONE { g_lingo->code1(LC::c_playdone); }
| tPLAY expr {
@@ -534,7 +524,6 @@ playfunc: tPLAY tDONE { g_lingo->code1(LC::c_playdone); }
g_lingo->codeSetImmediate(false);
g_lingo->codeFunc($tPLAYACCEL, $arglist);
delete $tPLAYACCEL; }
- ;
// macro
//
@@ -600,15 +589,12 @@ argdef: /* nothing */ { $$ = 0; }
| ID { g_lingo->codeArg($ID); $$ = 1; delete $ID; }
| argdef ',' ID { g_lingo->codeArg($ID); $$ = $1 + 1; delete $ID; }
| argdef '\n' ',' ID { g_lingo->codeArg($ID); $$ = $1 + 1; delete $ID; }
- ;
endargdef: /* nothing */
| ID { delete $ID; }
| endargdef ',' ID { delete $ID; }
- ;
argstore: /* nothing */ { g_lingo->codeArgStore(); g_lingo->_indef = kStateInDef; }
- ;
macro: ID nonemptyarglist {
g_lingo->code1(LC::c_call);
@@ -617,33 +603,26 @@ macro: ID nonemptyarglist {
WRITE_UINT32(&numpar, $nonemptyarglist);
g_lingo->code1(numpar);
delete $ID; }
- ;
arglist: /* nothing */ { $$ = 0; }
| expr { $$ = 1; }
| arglist ',' expr { $$ = $1 + 1; }
- ;
nonemptyarglist: expr { $$ = 1; }
| nonemptyarglist ',' expr { $$ = $1 + 1; }
- ;
list: '[' valuelist ']' { $$ = $valuelist; }
- ;
valuelist: /* nothing */ { $$ = g_lingo->code2(LC::c_arraypush, 0); }
| ':' { $$ = g_lingo->code2(LC::c_proparraypush, 0); }
| linearlist { $$ = g_lingo->code1(LC::c_arraypush); $$ = g_lingo->codeInt($linearlist); }
| proplist { $$ = g_lingo->code1(LC::c_proparraypush); $$ = g_lingo->codeInt($proplist); }
- ;
linearlist: simpleexpr { $$ = 1; }
| linearlist ',' simpleexpr { $$ = $1 + 1; }
- ;
proplist: proppair { $$ = 1; }
| proplist ',' proppair { $$ = $1 + 1; }
- ;
proppair: SYMBOL ':' simpleexpr {
g_lingo->code1(LC::c_symbolpush);
@@ -653,7 +632,6 @@ proppair: SYMBOL ':' simpleexpr {
g_lingo->code1(LC::c_stringpush);
g_lingo->codeString($STRING->c_str());
delete $STRING; }
- ;
%%
More information about the Scummvm-git-logs
mailing list