DIRECTOR: LINGO: JANITORIAL: Whitespace fixes for grammar

This commit is contained in:
Eugene Sandulenko 2019-12-01 12:09:53 +01:00
parent d11c61db14
commit b513ecdabf
2 changed files with 165 additions and 175 deletions

View File

@ -699,20 +699,20 @@ static const yytype_uint16 yyrline[] =
0, 120, 120, 121, 122, 125, 130, 135, 140, 145,
146, 147, 148, 151, 157, 160, 161, 162, 168, 175,
181, 187, 194, 202, 203, 206, 207, 212, 225, 243,
257, 263, 266, 271, 281, 293, 305, 315, 325, 335,
347, 348, 351, 352, 355, 356, 359, 367, 368, 374,
382, 383, 384, 387, 390, 397, 404, 412, 415, 418,
419, 420, 423, 429, 433, 436, 439, 442, 445, 446,
449, 452, 453, 454, 457, 461, 469, 475, 476, 477,
478, 479, 480, 481, 482, 483, 484, 485, 486, 487,
488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
498, 499, 500, 501, 502, 503, 504, 505, 506, 509,
514, 515, 516, 517, 518, 519, 520, 521, 522, 525,
528, 531, 535, 536, 537, 538, 539, 540, 541, 544,
545, 548, 549, 552, 553, 564, 565, 566, 567, 571,
575, 581, 582, 585, 586, 589, 590, 594, 598, 602,
602, 632, 632, 637, 640, 640, 645, 653, 660, 662,
663, 664, 665, 668, 672, 680, 681, 682, 685, 686
257, 262, 265, 270, 280, 292, 304, 314, 324, 334,
346, 347, 350, 351, 354, 355, 358, 366, 367, 373,
381, 382, 383, 386, 389, 396, 403, 411, 414, 417,
418, 419, 422, 428, 432, 435, 438, 441, 444, 445,
448, 451, 452, 453, 456, 460, 468, 474, 475, 476,
477, 478, 479, 480, 481, 482, 483, 484, 485, 486,
487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
497, 498, 499, 500, 501, 502, 503, 504, 505, 508,
513, 514, 515, 516, 517, 518, 519, 520, 521, 524,
527, 530, 534, 535, 536, 537, 538, 539, 540, 543,
544, 547, 548, 551, 552, 563, 564, 565, 566, 570,
574, 580, 581, 584, 585, 588, 589, 593, 597, 601,
601, 631, 631, 636, 637, 637, 642, 649, 655, 657,
658, 659, 660, 663, 667, 675, 676, 677, 680, 681
};
#endif
@ -2325,29 +2325,28 @@ yyreduce:
case 30:
#line 257 "engines/director/lingo/lingo-gr.y"
{
inst end = 0;
WRITE_UINT32(&end, (yyvsp[(3) - (3)].code) - (yyvsp[(1) - (3)].code));
g_lingo->code1(STOP);
(*g_lingo->_currentScript)[(yyvsp[(1) - (3)].code) + 1] = end;
;}
inst end = 0;
WRITE_UINT32(&end, (yyvsp[(3) - (3)].code) - (yyvsp[(1) - (3)].code));
g_lingo->code1(STOP);
(*g_lingo->_currentScript)[(yyvsp[(1) - (3)].code) + 1] = end; ;}
break;
case 31:
#line 263 "engines/director/lingo/lingo-gr.y"
#line 262 "engines/director/lingo/lingo-gr.y"
{
warning("STUB: TELL is not implemented");
checkEnd((yyvsp[(6) - (6)].s), "tell", true); ;}
break;
case 32:
#line 266 "engines/director/lingo/lingo-gr.y"
#line 265 "engines/director/lingo/lingo-gr.y"
{
warning("STUB: TELL is not implemented");
;}
break;
case 33:
#line 271 "engines/director/lingo/lingo-gr.y"
#line 270 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[(4) - (6)].code) - (yyvsp[(1) - (6)].code));
@ -2361,7 +2360,7 @@ yyreduce:
break;
case 34:
#line 281 "engines/director/lingo/lingo-gr.y"
#line 280 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[(4) - (9)].code) - (yyvsp[(1) - (9)].code));
@ -2377,7 +2376,7 @@ yyreduce:
break;
case 35:
#line 293 "engines/director/lingo/lingo-gr.y"
#line 292 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[(4) - (9)].code) - (yyvsp[(1) - (9)].code));
@ -2393,7 +2392,7 @@ yyreduce:
break;
case 36:
#line 305 "engines/director/lingo/lingo-gr.y"
#line 304 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[(4) - (9)].code) - (yyvsp[(1) - (9)].code));
@ -2407,7 +2406,7 @@ yyreduce:
break;
case 37:
#line 315 "engines/director/lingo/lingo-gr.y"
#line 314 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[(4) - (6)].code) - (yyvsp[(1) - (6)].code));
@ -2421,7 +2420,7 @@ yyreduce:
break;
case 38:
#line 325 "engines/director/lingo/lingo-gr.y"
#line 324 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[(4) - (10)].code) - (yyvsp[(1) - (10)].code));
@ -2435,7 +2434,7 @@ yyreduce:
break;
case 39:
#line 335 "engines/director/lingo/lingo-gr.y"
#line 334 "engines/director/lingo/lingo-gr.y"
{
inst then = 0, else1 = 0, end = 0;
WRITE_UINT32(&then, (yyvsp[(4) - (10)].code) - (yyvsp[(1) - (10)].code));
@ -2449,17 +2448,17 @@ yyreduce:
break;
case 40:
#line 347 "engines/director/lingo/lingo-gr.y"
#line 346 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = 0; ;}
break;
case 41:
#line 348 "engines/director/lingo/lingo-gr.y"
#line 347 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[(2) - (3)].code); ;}
break;
case 46:
#line 359 "engines/director/lingo/lingo-gr.y"
#line 358 "engines/director/lingo/lingo-gr.y"
{
inst then = 0;
WRITE_UINT32(&then, (yyvsp[(4) - (6)].code) - (yyvsp[(1) - (6)].code));
@ -2469,7 +2468,7 @@ yyreduce:
break;
case 48:
#line 368 "engines/director/lingo/lingo-gr.y"
#line 367 "engines/director/lingo/lingo-gr.y"
{
inst then = 0;
WRITE_UINT32(&then, (yyvsp[(5) - (6)].code) - (yyvsp[(1) - (6)].code));
@ -2479,7 +2478,7 @@ yyreduce:
break;
case 49:
#line 374 "engines/director/lingo/lingo-gr.y"
#line 373 "engines/director/lingo/lingo-gr.y"
{
inst then = 0;
WRITE_UINT32(&then, (yyvsp[(5) - (6)].code) - (yyvsp[(1) - (6)].code));
@ -2489,22 +2488,22 @@ yyreduce:
break;
case 50:
#line 382 "engines/director/lingo/lingo-gr.y"
#line 381 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(STOP); ;}
break;
case 51:
#line 383 "engines/director/lingo/lingo-gr.y"
#line 382 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code2(g_lingo->c_eq, STOP); ;}
break;
case 53:
#line 387 "engines/director/lingo/lingo-gr.y"
#line 386 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code3(g_lingo->c_repeatwhilecode, STOP, STOP); ;}
break;
case 54:
#line 390 "engines/director/lingo/lingo-gr.y"
#line 389 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code3(g_lingo->c_repeatwithcode, STOP, STOP);
g_lingo->code3(STOP, STOP, STOP);
@ -2513,7 +2512,7 @@ yyreduce:
break;
case 55:
#line 397 "engines/director/lingo/lingo-gr.y"
#line 396 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(g_lingo->c_ifcode);
g_lingo->code3(STOP, STOP, STOP);
@ -2522,7 +2521,7 @@ yyreduce:
break;
case 56:
#line 404 "engines/director/lingo/lingo-gr.y"
#line 403 "engines/director/lingo/lingo-gr.y"
{
inst skipEnd;
WRITE_UINT32(&skipEnd, 1); // We have to skip end to avoid multiple executions
@ -2532,22 +2531,22 @@ yyreduce:
break;
case 57:
#line 412 "engines/director/lingo/lingo-gr.y"
#line 411 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->_currentScript->size(); ;}
break;
case 58:
#line 415 "engines/director/lingo/lingo-gr.y"
#line 414 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(STOP); (yyval.code) = g_lingo->_currentScript->size(); ;}
break;
case 59:
#line 418 "engines/director/lingo/lingo-gr.y"
#line 417 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->_currentScript->size(); ;}
break;
case 62:
#line 423 "engines/director/lingo/lingo-gr.y"
#line 422 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(g_lingo->c_whencode);
g_lingo->code1(STOP);
@ -2556,73 +2555,73 @@ yyreduce:
break;
case 63:
#line 429 "engines/director/lingo/lingo-gr.y"
#line 428 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(g_lingo->c_tellcode);
g_lingo->code1(STOP); ;}
break;
case 64:
#line 433 "engines/director/lingo/lingo-gr.y"
#line 432 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(g_lingo->c_intpush);
g_lingo->codeInt((yyvsp[(1) - (1)].i)); ;}
break;
case 65:
#line 436 "engines/director/lingo/lingo-gr.y"
#line 435 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(g_lingo->c_floatpush);
g_lingo->codeFloat((yyvsp[(1) - (1)].f)); ;}
break;
case 66:
#line 439 "engines/director/lingo/lingo-gr.y"
#line 438 "engines/director/lingo/lingo-gr.y"
{ // D3
(yyval.code) = g_lingo->code1(g_lingo->c_symbolpush);
g_lingo->codeString((yyvsp[(1) - (1)].s)->c_str()); ;}
break;
case 67:
#line 442 "engines/director/lingo/lingo-gr.y"
#line 441 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(g_lingo->c_stringpush);
g_lingo->codeString((yyvsp[(1) - (1)].s)->c_str()); ;}
break;
case 69:
#line 446 "engines/director/lingo/lingo-gr.y"
#line 445 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[(1) - (1)].s), 0);
delete (yyvsp[(1) - (1)].s); ;}
break;
case 70:
#line 449 "engines/director/lingo/lingo-gr.y"
#line 448 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[(1) - (2)].s), 1);
delete (yyvsp[(1) - (2)].s); ;}
break;
case 71:
#line 452 "engines/director/lingo/lingo-gr.y"
#line 451 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeFunc((yyvsp[(1) - (2)].s), (yyvsp[(2) - (2)].narg)); ;}
break;
case 72:
#line 453 "engines/director/lingo/lingo-gr.y"
#line 452 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeFunc((yyvsp[(1) - (4)].s), (yyvsp[(3) - (4)].narg)); ;}
break;
case 73:
#line 454 "engines/director/lingo/lingo-gr.y"
#line 453 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->codeFunc((yyvsp[(1) - (4)].s), (yyvsp[(3) - (4)].narg));
delete (yyvsp[(1) - (4)].s); ;}
break;
case 74:
#line 457 "engines/director/lingo/lingo-gr.y"
#line 456 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(g_lingo->c_eval);
g_lingo->codeString((yyvsp[(1) - (1)].s)->c_str());
@ -2630,7 +2629,7 @@ yyreduce:
break;
case 75:
#line 461 "engines/director/lingo/lingo-gr.y"
#line 460 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(g_lingo->c_intpush);
g_lingo->codeInt(0); // Put dummy id
@ -2642,7 +2641,7 @@ yyreduce:
break;
case 76:
#line 469 "engines/director/lingo/lingo-gr.y"
#line 468 "engines/director/lingo/lingo-gr.y"
{
(yyval.code) = g_lingo->code1(g_lingo->c_theentitypush);
inst e = 0, f = 0;
@ -2652,205 +2651,205 @@ yyreduce:
break;
case 78:
#line 476 "engines/director/lingo/lingo-gr.y"
#line 475 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_add); ;}
break;
case 79:
#line 477 "engines/director/lingo/lingo-gr.y"
#line 476 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_sub); ;}
break;
case 80:
#line 478 "engines/director/lingo/lingo-gr.y"
#line 477 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_mul); ;}
break;
case 81:
#line 479 "engines/director/lingo/lingo-gr.y"
#line 478 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_div); ;}
break;
case 82:
#line 480 "engines/director/lingo/lingo-gr.y"
#line 479 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_mod); ;}
break;
case 83:
#line 481 "engines/director/lingo/lingo-gr.y"
#line 480 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_gt); ;}
break;
case 84:
#line 482 "engines/director/lingo/lingo-gr.y"
#line 481 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_lt); ;}
break;
case 85:
#line 483 "engines/director/lingo/lingo-gr.y"
#line 482 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_neq); ;}
break;
case 86:
#line 484 "engines/director/lingo/lingo-gr.y"
#line 483 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_ge); ;}
break;
case 87:
#line 485 "engines/director/lingo/lingo-gr.y"
#line 484 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_le); ;}
break;
case 88:
#line 486 "engines/director/lingo/lingo-gr.y"
#line 485 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_and); ;}
break;
case 89:
#line 487 "engines/director/lingo/lingo-gr.y"
#line 486 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_or); ;}
break;
case 90:
#line 488 "engines/director/lingo/lingo-gr.y"
#line 487 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_not); ;}
break;
case 91:
#line 489 "engines/director/lingo/lingo-gr.y"
#line 488 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_ampersand); ;}
break;
case 92:
#line 490 "engines/director/lingo/lingo-gr.y"
#line 489 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_concat); ;}
break;
case 93:
#line 491 "engines/director/lingo/lingo-gr.y"
#line 490 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_contains); ;}
break;
case 94:
#line 492 "engines/director/lingo/lingo-gr.y"
#line 491 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_starts); ;}
break;
case 95:
#line 493 "engines/director/lingo/lingo-gr.y"
#line 492 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[(2) - (2)].code); ;}
break;
case 96:
#line 494 "engines/director/lingo/lingo-gr.y"
#line 493 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[(2) - (2)].code); g_lingo->code1(g_lingo->c_negate); ;}
break;
case 97:
#line 495 "engines/director/lingo/lingo-gr.y"
#line 494 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = (yyvsp[(2) - (3)].code); ;}
break;
case 98:
#line 496 "engines/director/lingo/lingo-gr.y"
#line 495 "engines/director/lingo/lingo-gr.y"
{ (yyval.code) = g_lingo->code1(g_lingo->c_arraypush); g_lingo->codeArray((yyvsp[(2) - (3)].narg)); ;}
break;
case 99:
#line 497 "engines/director/lingo/lingo-gr.y"
#line 496 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_intersects); ;}
break;
case 100:
#line 498 "engines/director/lingo/lingo-gr.y"
#line 497 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_within); ;}
break;
case 101:
#line 499 "engines/director/lingo/lingo-gr.y"
#line 498 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_charOf); ;}
break;
case 102:
#line 500 "engines/director/lingo/lingo-gr.y"
#line 499 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_charToOf); ;}
break;
case 103:
#line 501 "engines/director/lingo/lingo-gr.y"
#line 500 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_itemOf); ;}
break;
case 104:
#line 502 "engines/director/lingo/lingo-gr.y"
#line 501 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_itemToOf); ;}
break;
case 105:
#line 503 "engines/director/lingo/lingo-gr.y"
#line 502 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_lineOf); ;}
break;
case 106:
#line 504 "engines/director/lingo/lingo-gr.y"
#line 503 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_lineToOf); ;}
break;
case 107:
#line 505 "engines/director/lingo/lingo-gr.y"
#line 504 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_wordOf); ;}
break;
case 108:
#line 506 "engines/director/lingo/lingo-gr.y"
#line 505 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_wordToOf); ;}
break;
case 109:
#line 509 "engines/director/lingo/lingo-gr.y"
#line 508 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[(1) - (2)].s), 1);
delete (yyvsp[(1) - (2)].s); ;}
break;
case 110:
#line 514 "engines/director/lingo/lingo-gr.y"
#line 513 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_printtop); ;}
break;
case 113:
#line 517 "engines/director/lingo/lingo-gr.y"
#line 516 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_exitRepeat); ;}
break;
case 114:
#line 518 "engines/director/lingo/lingo-gr.y"
#line 517 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_procret); ;}
break;
case 118:
#line 522 "engines/director/lingo/lingo-gr.y"
#line 521 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[(1) - (1)].s), 0);
delete (yyvsp[(1) - (1)].s); ;}
break;
case 119:
#line 525 "engines/director/lingo/lingo-gr.y"
#line 524 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[(1) - (2)].s), 1);
delete (yyvsp[(1) - (2)].s); ;}
break;
case 120:
#line 528 "engines/director/lingo/lingo-gr.y"
#line 527 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFunc((yyvsp[(1) - (2)].s), 1);
delete (yyvsp[(1) - (2)].s); ;}
break;
case 121:
#line 531 "engines/director/lingo/lingo-gr.y"
#line 530 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(g_lingo->c_voidpush);
g_lingo->codeFunc((yyvsp[(1) - (1)].s), 1);
@ -2858,87 +2857,87 @@ yyreduce:
break;
case 122:
#line 535 "engines/director/lingo/lingo-gr.y"
#line 534 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeFunc((yyvsp[(1) - (2)].s), (yyvsp[(2) - (2)].narg)); ;}
break;
case 123:
#line 536 "engines/director/lingo/lingo-gr.y"
#line 535 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeFunc((yyvsp[(1) - (4)].s), (yyvsp[(3) - (4)].narg)); ;}
break;
case 124:
#line 537 "engines/director/lingo/lingo-gr.y"
#line 536 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeMe((yyvsp[(3) - (4)].s), 0); ;}
break;
case 125:
#line 538 "engines/director/lingo/lingo-gr.y"
#line 537 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeMe((yyvsp[(3) - (6)].s), (yyvsp[(5) - (6)].narg)); ;}
break;
case 126:
#line 539 "engines/director/lingo/lingo-gr.y"
#line 538 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_open); ;}
break;
case 127:
#line 540 "engines/director/lingo/lingo-gr.y"
#line 539 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code2(g_lingo->c_voidpush, g_lingo->c_open); ;}
break;
case 128:
#line 541 "engines/director/lingo/lingo-gr.y"
#line 540 "engines/director/lingo/lingo-gr.y"
{ Common::String s(*(yyvsp[(1) - (3)].s)); s += '-'; s += *(yyvsp[(2) - (3)].s); g_lingo->codeFunc(&s, (yyvsp[(3) - (3)].narg)); ;}
break;
case 129:
#line 544 "engines/director/lingo/lingo-gr.y"
#line 543 "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 130:
#line 545 "engines/director/lingo/lingo-gr.y"
#line 544 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_global); g_lingo->codeString((yyvsp[(3) - (3)].s)->c_str()); delete (yyvsp[(3) - (3)].s); ;}
break;
case 131:
#line 548 "engines/director/lingo/lingo-gr.y"
#line 547 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_property); g_lingo->codeString((yyvsp[(1) - (1)].s)->c_str()); delete (yyvsp[(1) - (1)].s); ;}
break;
case 132:
#line 549 "engines/director/lingo/lingo-gr.y"
#line 548 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_property); g_lingo->codeString((yyvsp[(3) - (3)].s)->c_str()); delete (yyvsp[(3) - (3)].s); ;}
break;
case 133:
#line 552 "engines/director/lingo/lingo-gr.y"
#line 551 "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 134:
#line 553 "engines/director/lingo/lingo-gr.y"
#line 552 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_instance); g_lingo->codeString((yyvsp[(3) - (3)].s)->c_str()); delete (yyvsp[(3) - (3)].s); ;}
break;
case 135:
#line 564 "engines/director/lingo/lingo-gr.y"
#line 563 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_gotoloop); ;}
break;
case 136:
#line 565 "engines/director/lingo/lingo-gr.y"
#line 564 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_gotonext); ;}
break;
case 137:
#line 566 "engines/director/lingo/lingo-gr.y"
#line 565 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_gotoprevious); ;}
break;
case 138:
#line 567 "engines/director/lingo/lingo-gr.y"
#line 566 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(g_lingo->c_intpush);
g_lingo->codeInt(1);
@ -2946,7 +2945,7 @@ yyreduce:
break;
case 139:
#line 571 "engines/director/lingo/lingo-gr.y"
#line 570 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(g_lingo->c_intpush);
g_lingo->codeInt(3);
@ -2954,7 +2953,7 @@ yyreduce:
break;
case 140:
#line 575 "engines/director/lingo/lingo-gr.y"
#line 574 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(g_lingo->c_intpush);
g_lingo->codeInt(2);
@ -2962,12 +2961,12 @@ yyreduce:
break;
case 145:
#line 589 "engines/director/lingo/lingo-gr.y"
#line 588 "engines/director/lingo/lingo-gr.y"
{ g_lingo->code1(g_lingo->c_playdone); ;}
break;
case 146:
#line 590 "engines/director/lingo/lingo-gr.y"
#line 589 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(g_lingo->c_intpush);
g_lingo->codeInt(1);
@ -2975,7 +2974,7 @@ yyreduce:
break;
case 147:
#line 594 "engines/director/lingo/lingo-gr.y"
#line 593 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(g_lingo->c_intpush);
g_lingo->codeInt(3);
@ -2983,7 +2982,7 @@ yyreduce:
break;
case 148:
#line 598 "engines/director/lingo/lingo-gr.y"
#line 597 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(g_lingo->c_intpush);
g_lingo->codeInt(2);
@ -2991,24 +2990,24 @@ yyreduce:
break;
case 149:
#line 602 "engines/director/lingo/lingo-gr.y"
#line 601 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeSetImmediate(true); ;}
break;
case 150:
#line 602 "engines/director/lingo/lingo-gr.y"
#line 601 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeSetImmediate(false);
g_lingo->codeFunc((yyvsp[(1) - (3)].s), (yyvsp[(3) - (3)].narg)); ;}
break;
case 151:
#line 632 "engines/director/lingo/lingo-gr.y"
#line 631 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = true; g_lingo->_currentFactory.clear(); ;}
break;
case 152:
#line 633 "engines/director/lingo/lingo-gr.y"
#line 632 "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));
@ -3016,19 +3015,17 @@ yyreduce:
break;
case 153:
#line 637 "engines/director/lingo/lingo-gr.y"
{
g_lingo->codeFactory(*(yyvsp[(2) - (2)].s));
;}
#line 636 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeFactory(*(yyvsp[(2) - (2)].s)); ;}
break;
case 154:
#line 640 "engines/director/lingo/lingo-gr.y"
#line 637 "engines/director/lingo/lingo-gr.y"
{ g_lingo->_indef = true; ;}
break;
case 155:
#line 641 "engines/director/lingo/lingo-gr.y"
#line 638 "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);
@ -3036,59 +3033,57 @@ yyreduce:
break;
case 156:
#line 645 "engines/director/lingo/lingo-gr.y"
#line 642 "engines/director/lingo/lingo-gr.y"
{ // D3
g_lingo->code1(g_lingo->c_procret);
g_lingo->define(*(yyvsp[(1) - (7)].s), (yyvsp[(2) - (7)].code), (yyvsp[(3) - (7)].narg));
g_lingo->_indef = false;
g_lingo->_ignoreMe = false;
g_lingo->code1(g_lingo->c_procret);
g_lingo->define(*(yyvsp[(1) - (7)].s), (yyvsp[(2) - (7)].code), (yyvsp[(3) - (7)].narg));
g_lingo->_indef = false;
g_lingo->_ignoreMe = false;
checkEnd((yyvsp[(7) - (7)].s), (yyvsp[(1) - (7)].s)->c_str(), false);
;}
checkEnd((yyvsp[(7) - (7)].s), (yyvsp[(1) - (7)].s)->c_str(), false); ;}
break;
case 157:
#line 653 "engines/director/lingo/lingo-gr.y"
#line 649 "engines/director/lingo/lingo-gr.y"
{ // D4. No 'end' clause
g_lingo->code1(g_lingo->c_procret);
g_lingo->define(*(yyvsp[(1) - (6)].s), (yyvsp[(2) - (6)].code), (yyvsp[(3) - (6)].narg));
g_lingo->_indef = false;
g_lingo->_ignoreMe = false;
;}
g_lingo->code1(g_lingo->c_procret);
g_lingo->define(*(yyvsp[(1) - (6)].s), (yyvsp[(2) - (6)].code), (yyvsp[(3) - (6)].narg));
g_lingo->_indef = false;
g_lingo->_ignoreMe = false; ;}
break;
case 158:
#line 660 "engines/director/lingo/lingo-gr.y"
#line 655 "engines/director/lingo/lingo-gr.y"
{ (yyval.s) = (yyvsp[(2) - (2)].s); g_lingo->_indef = true; g_lingo->_currentFactory.clear(); g_lingo->_ignoreMe = true; ;}
break;
case 159:
#line 662 "engines/director/lingo/lingo-gr.y"
#line 657 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; ;}
break;
case 160:
#line 663 "engines/director/lingo/lingo-gr.y"
#line 658 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[(1) - (1)].s)); (yyval.narg) = 1; ;}
break;
case 161:
#line 664 "engines/director/lingo/lingo-gr.y"
#line 659 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[(3) - (3)].s)); (yyval.narg) = (yyvsp[(1) - (3)].narg) + 1; ;}
break;
case 162:
#line 665 "engines/director/lingo/lingo-gr.y"
#line 660 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[(4) - (4)].s)); (yyval.narg) = (yyvsp[(1) - (4)].narg) + 1; ;}
break;
case 163:
#line 668 "engines/director/lingo/lingo-gr.y"
#line 663 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArgStore(); ;}
break;
case 164:
#line 672 "engines/director/lingo/lingo-gr.y"
#line 667 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(g_lingo->c_call);
g_lingo->codeString((yyvsp[(1) - (2)].s)->c_str());
@ -3098,33 +3093,33 @@ yyreduce:
break;
case 165:
#line 680 "engines/director/lingo/lingo-gr.y"
#line 675 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; ;}
break;
case 166:
#line 681 "engines/director/lingo/lingo-gr.y"
#line 676 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; ;}
break;
case 167:
#line 682 "engines/director/lingo/lingo-gr.y"
#line 677 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[(1) - (3)].narg) + 1; ;}
break;
case 168:
#line 685 "engines/director/lingo/lingo-gr.y"
#line 680 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; ;}
break;
case 169:
#line 686 "engines/director/lingo/lingo-gr.y"
#line 681 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[(1) - (3)].narg) + 1; ;}
break;
/* Line 1267 of yacc.c. */
#line 3128 "engines/director/lingo/lingo-gr.cpp"
#line 3123 "engines/director/lingo/lingo-gr.cpp"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@ -3338,6 +3333,6 @@ yyreturn:
}
#line 689 "engines/director/lingo/lingo-gr.y"
#line 684 "engines/director/lingo/lingo-gr.y"

View File

@ -255,11 +255,10 @@ stmt: stmtoneliner
checkEnd($11, "repeat", true); }
| when stmtoneliner end {
inst end = 0;
WRITE_UINT32(&end, $3 - $1);
g_lingo->code1(STOP);
(*g_lingo->_currentScript)[$1 + 1] = end;
}
inst end = 0;
WRITE_UINT32(&end, $3 - $1);
g_lingo->code1(STOP);
(*g_lingo->_currentScript)[$1 + 1] = end; }
| tell expr nl stmtlist end ENDCLAUSE {
warning("STUB: TELL is not implemented");
checkEnd($6, "tell", true); }
@ -634,28 +633,24 @@ defn: tMACRO ID { g_lingo->_indef = true; g_lingo->_currentFactory.clear(); }
g_lingo->code1(g_lingo->c_procret);
g_lingo->define(*$2, $4, $5);
g_lingo->_indef = false; }
| tFACTORY ID {
g_lingo->codeFactory(*$2);
}
| tFACTORY ID { g_lingo->codeFactory(*$2); }
| tMETHOD ID { g_lingo->_indef = true; }
begin argdef nl argstore stmtlist {
g_lingo->code1(g_lingo->c_procret);
g_lingo->define(*$2, $4, $5 + 1, &g_lingo->_currentFactory);
g_lingo->_indef = false; } ;
g_lingo->_indef = false; }
| on begin argdef nl argstore stmtlist ENDCLAUSE { // D3
g_lingo->code1(g_lingo->c_procret);
g_lingo->define(*$1, $2, $3);
g_lingo->_indef = false;
g_lingo->_ignoreMe = false;
g_lingo->code1(g_lingo->c_procret);
g_lingo->define(*$1, $2, $3);
g_lingo->_indef = false;
g_lingo->_ignoreMe = false;
checkEnd($7, $1->c_str(), false);
}
checkEnd($7, $1->c_str(), false); }
| on begin argdef nl argstore stmtlist { // D4. No 'end' clause
g_lingo->code1(g_lingo->c_procret);
g_lingo->define(*$1, $2, $3);
g_lingo->_indef = false;
g_lingo->_ignoreMe = false;
}
g_lingo->code1(g_lingo->c_procret);
g_lingo->define(*$1, $2, $3);
g_lingo->_indef = false;
g_lingo->_ignoreMe = false; }
on: tON ID { $$ = $2; g_lingo->_indef = true; g_lingo->_currentFactory.clear(); g_lingo->_ignoreMe = true; }