DIRECTOR: LINGO: Simplified grammar for 'go' keyword

This commit is contained in:
Eugene Sandulenko 2019-12-23 12:59:59 +01:00
parent 59b639ed4d
commit 3e835a9e2a
5 changed files with 1059 additions and 1087 deletions

File diff suppressed because it is too large Load Diff

View File

@ -77,58 +77,57 @@
tELSE = 293,
tELSIF = 294,
tEXIT = 295,
tFRAME = 296,
tGLOBAL = 297,
tGO = 298,
tIF = 299,
tINTO = 300,
tLOOP = 301,
tMACRO = 302,
tMOVIE = 303,
tNEXT = 304,
tOF = 305,
tPREVIOUS = 306,
tPUT = 307,
tREPEAT = 308,
tSET = 309,
tTHEN = 310,
tTO = 311,
tWHEN = 312,
tWITH = 313,
tWHILE = 314,
tNLELSE = 315,
tFACTORY = 316,
tOPEN = 317,
tPLAY = 318,
tDONE = 319,
tINSTANCE = 320,
tGE = 321,
tLE = 322,
tEQ = 323,
tNEQ = 324,
tAND = 325,
tOR = 326,
tNOT = 327,
tMOD = 328,
tAFTER = 329,
tBEFORE = 330,
tCONCAT = 331,
tCONTAINS = 332,
tSTARTS = 333,
tCHAR = 334,
tITEM = 335,
tLINE = 336,
tWORD = 337,
tSPRITE = 338,
tINTERSECTS = 339,
tWITHIN = 340,
tTELL = 341,
tPROPERTY = 342,
tON = 343,
tME = 344,
tENDIF = 345,
tENDREPEAT = 346,
tENDTELL = 347
tGLOBAL = 296,
tGO = 297,
tIF = 298,
tINTO = 299,
tLOOP = 300,
tMACRO = 301,
tMOVIE = 302,
tNEXT = 303,
tOF = 304,
tPREVIOUS = 305,
tPUT = 306,
tREPEAT = 307,
tSET = 308,
tTHEN = 309,
tTO = 310,
tWHEN = 311,
tWITH = 312,
tWHILE = 313,
tNLELSE = 314,
tFACTORY = 315,
tOPEN = 316,
tPLAY = 317,
tDONE = 318,
tINSTANCE = 319,
tGE = 320,
tLE = 321,
tEQ = 322,
tNEQ = 323,
tAND = 324,
tOR = 325,
tNOT = 326,
tMOD = 327,
tAFTER = 328,
tBEFORE = 329,
tCONCAT = 330,
tCONTAINS = 331,
tSTARTS = 332,
tCHAR = 333,
tITEM = 334,
tLINE = 335,
tWORD = 336,
tSPRITE = 337,
tINTERSECTS = 338,
tWITHIN = 339,
tTELL = 340,
tPROPERTY = 341,
tON = 342,
tME = 343,
tENDIF = 344,
tENDREPEAT = 345,
tENDTELL = 346
};
#endif
/* Tokens. */
@ -170,58 +169,57 @@
#define tELSE 293
#define tELSIF 294
#define tEXIT 295
#define tFRAME 296
#define tGLOBAL 297
#define tGO 298
#define tIF 299
#define tINTO 300
#define tLOOP 301
#define tMACRO 302
#define tMOVIE 303
#define tNEXT 304
#define tOF 305
#define tPREVIOUS 306
#define tPUT 307
#define tREPEAT 308
#define tSET 309
#define tTHEN 310
#define tTO 311
#define tWHEN 312
#define tWITH 313
#define tWHILE 314
#define tNLELSE 315
#define tFACTORY 316
#define tOPEN 317
#define tPLAY 318
#define tDONE 319
#define tINSTANCE 320
#define tGE 321
#define tLE 322
#define tEQ 323
#define tNEQ 324
#define tAND 325
#define tOR 326
#define tNOT 327
#define tMOD 328
#define tAFTER 329
#define tBEFORE 330
#define tCONCAT 331
#define tCONTAINS 332
#define tSTARTS 333
#define tCHAR 334
#define tITEM 335
#define tLINE 336
#define tWORD 337
#define tSPRITE 338
#define tINTERSECTS 339
#define tWITHIN 340
#define tTELL 341
#define tPROPERTY 342
#define tON 343
#define tME 344
#define tENDIF 345
#define tENDREPEAT 346
#define tENDTELL 347
#define tGLOBAL 296
#define tGO 297
#define tIF 298
#define tINTO 299
#define tLOOP 300
#define tMACRO 301
#define tMOVIE 302
#define tNEXT 303
#define tOF 304
#define tPREVIOUS 305
#define tPUT 306
#define tREPEAT 307
#define tSET 308
#define tTHEN 309
#define tTO 310
#define tWHEN 311
#define tWITH 312
#define tWHILE 313
#define tNLELSE 314
#define tFACTORY 315
#define tOPEN 316
#define tPLAY 317
#define tDONE 318
#define tINSTANCE 319
#define tGE 320
#define tLE 321
#define tEQ 322
#define tNEQ 323
#define tAND 324
#define tOR 325
#define tNOT 326
#define tMOD 327
#define tAFTER 328
#define tBEFORE 329
#define tCONCAT 330
#define tCONTAINS 331
#define tSTARTS 332
#define tCHAR 333
#define tITEM 334
#define tLINE 335
#define tWORD 336
#define tSPRITE 337
#define tINTERSECTS 338
#define tWITHIN 339
#define tTELL 340
#define tPROPERTY 341
#define tON 342
#define tME 343
#define tENDIF 344
#define tENDREPEAT 345
#define tENDTELL 346
@ -239,7 +237,7 @@ typedef union YYSTYPE
Common::Array<double> *arr;
}
/* Line 1529 of yacc.c. */
#line 243 "engines/director/lingo/lingo-gr.hpp"
#line 241 "engines/director/lingo/lingo-gr.hpp"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1

View File

@ -98,7 +98,7 @@ void checkEnd(Common::String *token, const char *expect, bool required) {
%token<s> FBLTIN FBLTINNOARGS FBLTINONEARG FBLTINARGLIST RBLTIN RBLTINONEARG
%token<s> ID STRING HANDLER SYMBOL
%token<s> ENDCLAUSE tPLAYACCEL tMETHOD
%token tDOWN tELSE tELSIF tEXIT tFRAME tGLOBAL tGO tIF tINTO tLOOP tMACRO
%token tDOWN tELSE tELSIF tEXIT tGLOBAL tGO tIF tINTO tLOOP tMACRO
%token tMOVIE tNEXT tOF tPREVIOUS tPUT tREPEAT tSET tTHEN tTO tWHEN
%token tWITH tWHILE tNLELSE tFACTORY tOPEN tPLAY tDONE tINSTANCE
%token tGE tLE tEQ tNEQ tAND tOR tNOT tMOD
@ -461,11 +461,11 @@ instancelist: ID { g_lingo->code1(g_lingo->c_instance); g_lingo->codeString($
gotofunc: tGO tLOOP { g_lingo->code1(g_lingo->c_gotoloop); }
| tGO tNEXT { g_lingo->code1(g_lingo->c_gotonext); }
| tGO tPREVIOUS { g_lingo->code1(g_lingo->c_gotoprevious); }
| tGO gotoframe {
| tGO simpleexpr {
g_lingo->code1(g_lingo->c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(g_lingo->c_goto); }
| tGO gotoframe gotomovie {
| tGO simpleexpr gotomovie {
g_lingo->code1(g_lingo->c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(g_lingo->c_goto); }
@ -475,20 +475,16 @@ gotofunc: tGO tLOOP { g_lingo->code1(g_lingo->c_gotoloop); }
g_lingo->code1(g_lingo->c_goto); }
;
gotoframe: tFRAME expr
| expr
;
gotomovie: tOF tMOVIE expr
| tMOVIE expr
;
playfunc: tPLAY tDONE { g_lingo->code1(g_lingo->c_playdone); }
| tPLAY gotoframe {
| tPLAY simpleexpr {
g_lingo->code1(g_lingo->c_intpush);
g_lingo->codeInt(1);
g_lingo->code1(g_lingo->c_play); }
| tPLAY gotoframe gotomovie {
| tPLAY simpleexpr gotomovie {
g_lingo->code1(g_lingo->c_intpush);
g_lingo->codeInt(3);
g_lingo->code1(g_lingo->c_play); }

View File

@ -364,8 +364,8 @@ static void yy_fatal_error (yyconst char msg[] );
*yy_cp = '\0'; \
(yy_c_buf_p) = yy_cp;
#define YY_NUM_RULES 74
#define YY_END_OF_BUFFER 75
#define YY_NUM_RULES 75
#define YY_END_OF_BUFFER 76
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
@ -373,39 +373,41 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
static yyconst flex_int16_t yy_accept[284] =
static yyconst flex_int16_t yy_accept[292] =
{ 0,
0, 0, 75, 73, 4, 71, 71, 73, 73, 73,
70, 70, 70, 69, 70, 66, 70, 67, 67, 67,
67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
67, 67, 67, 67, 67, 73, 3, 3, 4, 71,
0, 0, 0, 72, 5, 65, 2, 68, 69, 64,
62, 63, 67, 67, 67, 67, 67, 67, 67, 67,
67, 67, 67, 67, 67, 22, 13, 67, 67, 67,
67, 67, 67, 67, 67, 67, 35, 36, 67, 38,
67, 67, 67, 67, 67, 67, 67, 67, 67, 55,
67, 67, 67, 1, 3, 3, 5, 2, 68, 67,
0, 0, 76, 74, 4, 72, 72, 74, 74, 74,
71, 71, 71, 70, 71, 67, 71, 68, 68, 68,
68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
68, 68, 68, 68, 68, 74, 3, 3, 4, 72,
0, 0, 0, 73, 5, 66, 2, 69, 70, 65,
63, 64, 68, 68, 68, 68, 68, 68, 68, 68,
68, 68, 68, 68, 22, 13, 68, 68, 68, 68,
68, 68, 68, 68, 68, 35, 36, 68, 38, 68,
68, 68, 68, 68, 68, 68, 68, 68, 56, 68,
68, 68, 1, 3, 3, 5, 2, 69, 68, 7,
7, 67, 67, 67, 67, 67, 67, 16, 67, 67,
67, 67, 0, 67, 67, 67, 67, 67, 67, 67,
31, 67, 67, 34, 67, 67, 67, 67, 43, 67,
45, 67, 67, 67, 67, 67, 67, 67, 67, 67,
67, 9, 67, 11, 12, 15, 0, 16, 18, 67,
67, 67, 0, 67, 67, 25, 26, 27, 28, 67,
67, 67, 33, 37, 39, 67, 67, 67, 67, 67,
47, 0, 54, 59, 67, 57, 61, 6, 67, 67,
0, 16, 16, 67, 19, 67, 21, 67, 67, 29,
67, 32, 67, 67, 67, 67, 67, 67, 53, 53,
68, 68, 68, 68, 68, 68, 16, 68, 68, 68,
0, 68, 68, 68, 68, 68, 68, 68, 31, 68,
68, 34, 68, 68, 68, 68, 44, 68, 46, 68,
68, 68, 68, 68, 68, 68, 68, 68, 68, 9,
68, 11, 12, 15, 0, 16, 18, 68, 68, 0,
68, 68, 25, 26, 27, 28, 68, 68, 68, 33,
37, 40, 68, 68, 68, 68, 68, 48, 0, 55,
60, 68, 58, 62, 6, 68, 68, 0, 16, 16,
68, 68, 21, 68, 68, 29, 68, 32, 0, 68,
68, 68, 68, 68, 68, 54, 54, 54, 54, 61,
68, 8, 68, 0, 16, 68, 19, 0, 68, 68,
68, 0, 68, 68, 68, 45, 57, 47, 0, 0,
54, 54, 54, 59, 68, 14, 17, 0, 68, 68,
0, 30, 0, 68, 68, 68, 0, 0, 0, 0,
54, 54, 54, 10, 0, 23, 68, 30, 30, 0,
68, 42, 43, 0, 0, 0, 54, 54, 54, 0,
68, 30, 0, 41, 0, 0, 0, 0, 0, 54,
0, 24, 39, 53, 52, 53, 0, 0, 0, 0,
0, 20, 0, 0, 0, 0, 49, 50, 51, 51,
0
53, 53, 60, 67, 8, 67, 0, 16, 67, 20,
67, 67, 67, 67, 67, 67, 44, 56, 46, 0,
0, 53, 53, 53, 58, 67, 14, 17, 67, 67,
0, 30, 67, 67, 67, 0, 0, 0, 0, 53,
53, 53, 10, 23, 67, 30, 30, 67, 41, 42,
0, 0, 0, 53, 53, 53, 67, 30, 40, 0,
0, 0, 0, 0, 53, 24, 52, 51, 52, 0,
0, 0, 0, 0, 0, 0, 0, 0, 48, 49,
50, 50, 0
} ;
static yyconst flex_int32_t yy_ec[256] =
@ -451,81 +453,83 @@ static yyconst flex_int32_t yy_meta[66] =
5, 5, 5, 5, 1
} ;
static yyconst flex_int16_t yy_base[299] =
static yyconst flex_int16_t yy_base[307] =
{ 0,
0, 64, 177, 752, 68, 752, 752, 72, 159, 0,
752, 113, 107, 55, 63, 752, 94, 58, 60, 58,
54, 62, 77, 63, 0, 94, 70, 109, 106, 109,
121, 75, 138, 137, 146, 82, 141, 185, 199, 752,
205, 94, 93, 752, 0, 752, 0, 79, 90, 752,
752, 752, 0, 69, 129, 128, 163, 139, 182, 160,
178, 174, 193, 196, 185, 130, 0, 182, 200, 190,
195, 203, 192, 208, 191, 196, 0, 0, 211, 0,
216, 231, 201, 211, 213, 223, 217, 235, 242, 0,
246, 230, 240, 752, 279, 296, 0, 0, 70, 247,
0, 64, 186, 764, 68, 764, 764, 72, 179, 0,
764, 161, 154, 55, 63, 764, 142, 58, 60, 58,
54, 62, 68, 63, 0, 87, 69, 109, 74, 114,
102, 75, 129, 128, 148, 94, 187, 191, 201, 764,
205, 99, 142, 764, 0, 764, 0, 114, 119, 764,
764, 764, 0, 65, 121, 132, 139, 89, 182, 110,
156, 162, 180, 183, 81, 0, 180, 179, 187, 187,
199, 186, 210, 183, 191, 0, 0, 202, 0, 211,
221, 198, 203, 201, 216, 212, 232, 240, 0, 243,
228, 239, 764, 274, 295, 0, 0, 79, 244, 0,
0, 248, 246, 252, 269, 265, 270, 304, 260, 269,
277, 289, 308, 277, 293, 293, 287, 291, 291, 301,
0, 301, 295, 0, 302, 294, 298, 307, 0, 306,
0, 315, 309, 322, 351, 328, 333, 339, 344, 335,
336, 0, 353, 0, 0, 177, 224, 0, 0, 342,
353, 358, 347, 361, 349, 0, 0, 0, 0, 353,
355, 365, 0, 0, 370, 365, 370, 377, 362, 363,
0, 400, 0, 0, 387, 385, 0, 0, 392, 389,
415, 0, 0, 385, 0, 396, 752, 395, 391, 0,
408, 0, 410, 396, 398, 397, 420, 402, 457, 466,
250, 248, 247, 248, 255, 264, 290, 253, 256, 283,
309, 272, 288, 285, 281, 285, 284, 296, 0, 296,
284, 0, 294, 284, 288, 297, 0, 308, 0, 305,
299, 306, 333, 321, 324, 312, 333, 325, 326, 0,
346, 0, 0, 178, 362, 0, 0, 335, 349, 339,
353, 339, 0, 0, 0, 0, 343, 346, 356, 0,
0, 382, 354, 359, 364, 350, 355, 0, 396, 0,
0, 371, 369, 0, 0, 382, 382, 406, 0, 0,
377, 385, 411, 386, 384, 0, 400, 0, 424, 406,
397, 402, 402, 417, 406, 439, 450, 463, 464, 0,
467, 468, 0, 428, 0, 434, 442, 0, 434, 0,
456, 458, 488, 461, 446, 453, 0, 0, 0, 489,
472, 511, 520, 527, 0, 462, 752, 0, 465, 483,
374, 0, 482, 480, 475, 531, 509, 513, 515, 539,
545, 554, 0, 0, 483, 0, 0, 519, 0, 0,
517, 441, 529, 561, 577, 581, 534, 0, 0, 551,
591, 554, 601, 603, 605, 0, 752, 607, 752, 611,
572, 615, 577, 623, 624, 630, 637, 600, 632, 647,
649, 654, 752, 691, 693, 696, 699, 705, 710, 715,
718, 723, 725, 730, 735, 738, 741, 746
419, 0, 424, 436, 0, 422, 0, 474, 456, 457,
480, 437, 461, 448, 452, 0, 0, 0, 496, 469,
505, 507, 520, 0, 465, 764, 0, 480, 481, 499,
486, 0, 503, 503, 495, 492, 531, 517, 513, 517,
552, 563, 564, 0, 534, 0, 511, 0, 0, 520,
531, 0, 0, 540, 575, 550, 579, 581, 591, 551,
556, 0, 567, 0, 571, 592, 574, 603, 605, 616,
583, 0, 764, 764, 604, 764, 614, 605, 626, 608,
640, 764, 634, 641, 649, 619, 656, 667, 669, 671,
764, 703, 705, 708, 711, 717, 722, 727, 730, 735,
737, 742, 747, 750, 753, 758
} ;
static yyconst flex_int16_t yy_def[299] =
static yyconst flex_int16_t yy_def[307] =
{ 0,
283, 1, 283, 283, 283, 283, 283, 283, 284, 285,
283, 283, 283, 283, 283, 283, 283, 286, 286, 286,
286, 286, 286, 286, 286, 286, 286, 286, 286, 286,
286, 286, 286, 286, 286, 283, 283, 283, 283, 283,
283, 283, 284, 283, 287, 283, 288, 283, 283, 283,
283, 283, 286, 286, 286, 286, 286, 286, 286, 286,
286, 286, 286, 286, 286, 286, 286, 286, 286, 286,
286, 286, 286, 286, 286, 286, 286, 286, 286, 286,
286, 286, 286, 286, 286, 286, 286, 286, 286, 286,
286, 286, 286, 283, 283, 283, 287, 288, 283, 286,
291, 1, 291, 291, 291, 291, 291, 291, 292, 293,
291, 291, 291, 291, 291, 291, 291, 294, 294, 294,
294, 294, 294, 294, 294, 294, 294, 294, 294, 294,
294, 294, 294, 294, 294, 291, 291, 291, 291, 291,
291, 291, 292, 291, 295, 291, 296, 291, 291, 291,
291, 291, 294, 294, 294, 294, 294, 294, 294, 294,
294, 294, 294, 294, 294, 294, 294, 294, 294, 294,
294, 294, 294, 294, 294, 294, 294, 294, 294, 294,
294, 294, 294, 294, 294, 294, 294, 294, 294, 294,
294, 294, 291, 291, 291, 295, 296, 291, 294, 294,
286, 286, 286, 286, 286, 286, 286, 289, 286, 286,
286, 286, 283, 286, 286, 286, 286, 286, 286, 286,
286, 286, 286, 286, 286, 286, 286, 286, 286, 286,
286, 286, 286, 286, 286, 286, 286, 286, 286, 286,
286, 286, 286, 286, 286, 286, 290, 291, 286, 286,
286, 286, 283, 286, 286, 286, 286, 286, 286, 286,
286, 286, 286, 286, 286, 286, 286, 286, 286, 286,
286, 292, 286, 286, 286, 286, 286, 286, 286, 286,
283, 293, 291, 286, 286, 286, 283, 286, 286, 286,
286, 286, 286, 286, 286, 286, 286, 286, 292, 292,
294, 294, 294, 294, 294, 294, 297, 294, 294, 294,
291, 294, 294, 294, 294, 294, 294, 294, 294, 294,
294, 294, 294, 294, 294, 294, 294, 294, 294, 294,
294, 294, 294, 294, 294, 294, 294, 294, 294, 294,
294, 294, 294, 294, 298, 299, 294, 294, 294, 291,
294, 294, 294, 294, 294, 294, 294, 294, 294, 294,
294, 294, 294, 294, 294, 294, 294, 294, 300, 294,
294, 294, 294, 294, 294, 294, 294, 291, 301, 299,
294, 294, 291, 294, 294, 294, 294, 294, 291, 294,
294, 294, 294, 294, 294, 300, 300, 300, 300, 294,
292, 292, 286, 286, 286, 286, 283, 293, 286, 286,
286, 286, 294, 286, 286, 286, 286, 286, 286, 283,
283, 292, 292, 292, 286, 286, 283, 286, 286, 286,
295, 296, 286, 286, 286, 283, 283, 283, 283, 292,
292, 292, 286, 286, 286, 297, 296, 286, 286, 286,
283, 283, 283, 292, 292, 292, 286, 297, 286, 283,
298, 283, 283, 283, 292, 286, 283, 298, 283, 283,
283, 283, 283, 283, 283, 283, 283, 283, 298, 298,
283, 298, 0, 283, 283, 283, 283, 283, 283, 283,
283, 283, 283, 283, 283, 283, 283, 283
294, 294, 294, 291, 301, 294, 294, 291, 294, 294,
302, 291, 294, 294, 294, 294, 294, 294, 291, 291,
300, 300, 300, 294, 294, 291, 294, 291, 294, 294,
303, 304, 291, 294, 294, 294, 291, 291, 291, 291,
300, 300, 300, 294, 291, 294, 294, 305, 304, 291,
294, 294, 294, 291, 291, 291, 300, 300, 300, 291,
294, 305, 291, 294, 291, 306, 291, 291, 291, 300,
291, 294, 291, 291, 306, 291, 291, 291, 291, 291,
291, 291, 291, 291, 291, 291, 306, 306, 291, 306,
0, 291, 291, 291, 291, 291, 291, 291, 291, 291,
291, 291, 291, 291, 291, 291
} ;
static yyconst flex_int16_t yy_nxt[818] =
static yyconst flex_int16_t yy_nxt[830] =
{ 0,
4, 5, 6, 7, 8, 9, 10, 11, 12, 11,
13, 4, 14, 15, 16, 17, 18, 19, 20, 21,
@ -535,91 +539,92 @@ static yyconst flex_int16_t yy_nxt[818] =
27, 28, 29, 30, 31, 25, 32, 33, 34, 25,
25, 35, 25, 25, 36, 37, 48, 49, 38, 39,
40, 40, 41, 41, 40, 40, 41, 50, 51, 54,
56, 57, 99, 59, 94, 94, 55, 58, 60, 65,
61, 99, 66, 63, 70, 84, 94, 94, 44, 71,
56, 57, 111, 59, 63, 111, 55, 58, 60, 64,
61, 98, 65, 69, 74, 83, 93, 93, 70, 99,
62, 48, 49, 100, 54, 56, 57, 59, 52, 64,
55, 58, 60, 65, 61, 67, 66, 47, 63, 70,
84, 46, 68, 71, 62, 72, 75, 100, 69, 73,
77, 113, 42, 64, 113, 76, 42, 78, 74, 79,
67, 80, 95, 40, 40, 96, 68, 81, 101, 102,
72, 75, 69, 82, 73, 77, 83, 88, 85, 76,
89, 78, 74, 79, 44, 80, 90, 104, 86, 91,
92, 81, 87, 101, 102, 93, 283, 82, 181, 103,
83, 181, 88, 85, 283, 89, 96, 40, 40, 96,
90, 104, 86, 107, 91, 92, 87, 108, 109, 93,
62, 93, 93, 75, 54, 56, 57, 59, 66, 63,
55, 58, 60, 64, 61, 67, 65, 103, 69, 74,
83, 68, 70, 99, 62, 71, 98, 75, 80, 72,
48, 49, 42, 66, 81, 76, 42, 82, 73, 67,
100, 103, 77, 106, 78, 68, 79, 44, 87, 84,
71, 88, 80, 101, 72, 102, 52, 89, 81, 85,
76, 82, 73, 86, 47, 100, 77, 106, 78, 46,
79, 90, 91, 87, 84, 107, 88, 92, 101, 178,
102, 89, 178, 85, 44, 291, 108, 86, 94, 40,
40, 95, 95, 40, 40, 95, 90, 91, 109, 114,
39, 40, 40, 41, 103, 42, 41, 40, 40, 41,
105, 110, 111, 283, 112, 114, 115, 107, 117, 106,
116, 119, 108, 109, 118, 147, 120, 121, 147, 123,
124, 125, 126, 133, 105, 129, 110, 111, 112, 114,
115, 130, 117, 106, 122, 116, 119, 131, 118, 42,
120, 127, 121, 123, 124, 132, 125, 126, 133, 129,
128, 134, 135, 42, 138, 130, 136, 140, 122, 42,
137, 131, 139, 283, 283, 283, 127, 141, 142, 132,
95, 40, 40, 96, 128, 134, 143, 135, 138, 144,
146, 136, 140, 145, 149, 137, 139, 96, 40, 40,
107, 92, 39, 40, 40, 41, 41, 40, 40, 41,
104, 108, 110, 112, 113, 115, 116, 117, 291, 105,
118, 121, 123, 109, 114, 122, 291, 124, 131, 119,
291, 291, 127, 128, 104, 129, 110, 112, 113, 115,
116, 125, 117, 105, 118, 121, 120, 123, 130, 122,
126, 42, 124, 131, 119, 42, 127, 128, 132, 129,
133, 291, 136, 134, 138, 42, 125, 135, 142, 42,
120, 137, 130, 291, 126, 94, 40, 40, 95, 139,
140, 141, 132, 143, 144, 133, 136, 147, 134, 138,
148, 145, 135, 142, 145, 137, 95, 40, 40, 95,
96, 141, 142, 150, 151, 147, 152, 158, 147, 113,
143, 154, 113, 155, 144, 146, 53, 145, 149, 283,
157, 159, 156, 160, 161, 162, 168, 150, 151, 163,
164, 152, 158, 165, 166, 154, 283, 167, 155, 169,
283, 170, 153, 42, 157, 159, 156, 160, 171, 161,
162, 168, 172, 163, 164, 172, 174, 165, 166, 175,
42, 167, 176, 177, 169, 170, 153, 178, 179, 180,
283, 184, 171, 185, 186, 231, 187, 188, 231, 173,
174, 189, 190, 175, 191, 192, 193, 176, 177, 194,
195, 178, 179, 196, 180, 184, 197, 198, 185, 186,
149, 155, 53, 139, 140, 141, 151, 143, 152, 144,
111, 147, 154, 111, 148, 156, 157, 153, 160, 158,
159, 291, 161, 162, 163, 149, 155, 164, 165, 166,
151, 167, 168, 152, 169, 173, 154, 169, 42, 156,
157, 153, 160, 150, 158, 159, 161, 162, 163, 171,
172, 164, 174, 165, 166, 167, 168, 175, 176, 42,
173, 170, 177, 145, 181, 182, 145, 150, 183, 184,
291, 185, 186, 171, 172, 187, 188, 174, 191, 192,
193, 175, 176, 189, 194, 170, 189, 177, 181, 195,
182, 200, 183, 201, 184, 185, 186, 169, 190, 187,
187, 172, 188, 173, 172, 189, 190, 203, 191, 204,
192, 193, 205, 206, 194, 195, 181, 209, 196, 181,
197, 198, 210, 211, 212, 215, 200, 213, 214, 283,
216, 217, 203, 201, 204, 219, 202, 205, 206, 207,
218, 209, 261, 283, 283, 261, 210, 211, 212, 215,
200, 283, 213, 214, 216, 217, 225, 201, 220, 219,
202, 220, 226, 227, 207, 218, 221, 220, 220, 220,
220, 220, 220, 228, 229, 221, 221, 221, 230, 233,
225, 234, 222, 283, 224, 244, 226, 235, 227, 231,
236, 237, 231, 236, 283, 243, 283, 228, 223, 229,
169, 188, 202, 191, 192, 193, 203, 178, 194, 206,
178, 207, 208, 195, 209, 208, 200, 210, 201, 211,
291, 291, 197, 190, 213, 189, 214, 202, 189, 198,
204, 203, 199, 206, 215, 207, 216, 217, 209, 218,
219, 210, 291, 219, 211, 212, 197, 224, 220, 213,
214, 219, 225, 198, 219, 204, 199, 226, 215, 220,
216, 227, 217, 218, 219, 219, 221, 219, 219, 233,
212, 224, 220, 220, 229, 208, 225, 230, 208, 234,
223, 231, 226, 235, 231, 227, 236, 231, 238, 291,
231, 221, 53, 233, 222, 228, 291, 237, 244, 229,
53, 245, 248, 230, 233, 234, 239, 222, 237, 224,
244, 235, 220, 249, 250, 220, 237, 257, 238, 243,
221, 220, 223, 239, 220, 251, 245, 248, 220, 221,
239, 220, 236, 237, 252, 236, 221, 249, 250, 253,
220, 257, 238, 220, 240, 259, 220, 239, 221, 220,
251, 260, 241, 242, 221, 220, 262, 283, 220, 252,
238, 283, 263, 221, 253, 263, 283, 266, 240, 259,
221, 267, 283, 254, 269, 260, 241, 242, 264, 255,
262, 264, 220, 283, 238, 220, 221, 283, 283, 256,
221, 266, 261, 275, 283, 261, 267, 254, 276, 269,
237, 246, 230, 240, 234, 223, 219, 235, 219, 219,
236, 219, 245, 238, 220, 238, 220, 247, 222, 250,
228, 219, 244, 251, 219, 239, 246, 240, 252, 220,
240, 253, 237, 254, 255, 237, 245, 291, 241, 242,
238, 256, 247, 291, 250, 261, 243, 263, 251, 239,
260, 291, 252, 219, 240, 253, 219, 264, 254, 255,
239, 220, 241, 242, 219, 219, 256, 219, 219, 261,
243, 263, 220, 220, 265, 260, 266, 267, 271, 266,
268, 264, 269, 268, 239, 269, 257, 273, 220, 272,
220, 274, 219, 266, 276, 219, 266, 258, 265, 259,
283, 265, 270, 255, 272, 270, 274, 272, 283, 274,
283, 283, 270, 256, 221, 270, 272, 283, 275, 272,
237, 281, 237, 276, 277, 279, 265, 277, 279, 283,
271, 280, 273, 279, 280, 239, 279, 239, 277, 283,
271, 277, 237, 283, 273, 237, 281, 237, 280, 283,
282, 280, 278, 282, 271, 282, 273, 239, 282, 239,
283, 239, 283, 283, 271, 283, 278, 237, 273, 283,
283, 283, 283, 283, 283, 283, 278, 283, 283, 283,
283, 239, 283, 283, 283, 283, 283, 283, 283, 283,
278, 43, 43, 283, 43, 43, 43, 45, 45, 53,
220, 267, 271, 282, 277, 291, 279, 277, 291, 279,
257, 270, 273, 272, 291, 277, 274, 281, 277, 276,
281, 258, 238, 259, 238, 220, 283, 279, 282, 284,
279, 291, 278, 291, 280, 287, 270, 240, 287, 240,
289, 285, 288, 278, 285, 288, 291, 238, 291, 238,
285, 283, 291, 285, 284, 280, 278, 287, 280, 238,
287, 240, 291, 240, 291, 289, 291, 278, 288, 286,
290, 288, 290, 290, 240, 290, 291, 291, 286, 280,
291, 291, 291, 291, 238, 291, 291, 291, 291, 291,
291, 291, 291, 286, 291, 291, 291, 291, 240, 291,
53, 53, 97, 97, 97, 98, 98, 283, 98, 98,
98, 148, 283, 148, 148, 148, 182, 283, 283, 182,
182, 183, 183, 183, 199, 283, 283, 199, 208, 208,
208, 232, 283, 232, 232, 232, 246, 283, 283, 246,
246, 247, 247, 247, 258, 258, 258, 268, 283, 283,
268, 3, 283, 283, 283, 283, 283, 283, 283, 283,
283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
291, 291, 286, 43, 43, 291, 43, 43, 43, 45,
45, 53, 53, 53, 96, 96, 96, 97, 97, 291,
97, 97, 97, 146, 291, 146, 146, 146, 179, 291,
291, 179, 179, 180, 180, 180, 196, 291, 291, 196,
205, 205, 205, 232, 291, 232, 232, 232, 248, 291,
291, 248, 248, 249, 249, 249, 262, 262, 262, 275,
291, 291, 275, 3, 291, 291, 291, 291, 291, 291,
291, 291, 291, 291, 291, 291, 291, 291, 291, 291,
291, 291, 291, 291, 291, 291, 291, 291, 291, 291,
291, 291, 291, 291, 291, 291, 291, 291, 291, 291,
283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
283, 283, 283, 283, 283, 283, 283
291, 291, 291, 291, 291, 291, 291, 291, 291, 291,
291, 291, 291, 291, 291, 291, 291, 291, 291, 291,
291, 291, 291, 291, 291, 291, 291, 291, 291
} ;
static yyconst flex_int16_t yy_chk[818] =
static yyconst flex_int16_t yy_chk[830] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@ -629,88 +634,89 @@ static yyconst flex_int16_t yy_chk[818] =
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 2, 14, 14, 2, 5,
5, 5, 5, 8, 8, 8, 8, 15, 15, 18,
19, 20, 99, 21, 36, 36, 18, 20, 22, 24,
22, 48, 24, 23, 27, 32, 42, 42, 43, 27,
19, 20, 65, 21, 23, 65, 18, 20, 22, 24,
22, 98, 24, 27, 29, 32, 36, 36, 27, 54,
22, 49, 49, 54, 18, 19, 20, 21, 17, 23,
18, 20, 22, 24, 22, 26, 24, 13, 23, 27,
32, 12, 26, 27, 22, 28, 29, 54, 26, 28,
30, 66, 5, 23, 66, 29, 8, 30, 28, 30,
26, 30, 37, 37, 37, 37, 26, 31, 55, 56,
28, 29, 26, 31, 28, 30, 31, 34, 33, 29,
34, 30, 28, 30, 9, 30, 34, 58, 33, 35,
35, 31, 33, 55, 56, 35, 3, 31, 146, 57,
31, 146, 34, 33, 0, 34, 38, 38, 38, 38,
34, 58, 33, 60, 35, 35, 33, 61, 62, 35,
22, 42, 42, 29, 18, 19, 20, 21, 26, 23,
18, 20, 22, 24, 22, 26, 24, 58, 27, 29,
32, 26, 27, 54, 22, 28, 48, 29, 31, 28,
49, 49, 5, 26, 31, 30, 8, 31, 28, 26,
55, 58, 30, 60, 30, 26, 30, 43, 34, 33,
28, 34, 31, 56, 28, 57, 17, 34, 31, 33,
30, 31, 28, 33, 13, 55, 30, 60, 30, 12,
30, 35, 35, 34, 33, 61, 34, 35, 56, 144,
57, 34, 144, 33, 9, 3, 62, 33, 37, 37,
37, 37, 38, 38, 38, 38, 35, 35, 63, 68,
39, 39, 39, 39, 57, 37, 41, 41, 41, 41,
59, 63, 64, 0, 65, 68, 68, 60, 70, 59,
69, 72, 61, 62, 71, 147, 73, 74, 147, 75,
76, 79, 81, 87, 59, 83, 63, 64, 65, 68,
68, 84, 70, 59, 74, 69, 72, 85, 71, 38,
73, 82, 74, 75, 76, 86, 79, 81, 87, 83,
82, 88, 89, 39, 92, 84, 91, 100, 74, 41,
91, 85, 93, 0, 0, 0, 82, 102, 103, 86,
95, 95, 95, 95, 82, 88, 104, 89, 92, 105,
107, 91, 100, 106, 109, 91, 93, 96, 96, 96,
61, 35, 39, 39, 39, 39, 41, 41, 41, 41,
59, 62, 64, 67, 67, 69, 70, 71, 0, 59,
72, 74, 78, 63, 68, 75, 0, 80, 86, 73,
0, 0, 82, 83, 59, 84, 64, 67, 67, 69,
70, 81, 71, 59, 72, 74, 73, 78, 85, 75,
81, 37, 80, 86, 73, 38, 82, 83, 87, 84,
88, 0, 91, 90, 99, 39, 81, 90, 104, 41,
73, 92, 85, 0, 81, 94, 94, 94, 94, 101,
102, 103, 87, 105, 106, 88, 91, 108, 90, 99,
109, 107, 90, 104, 107, 92, 95, 95, 95, 95,
96, 102, 103, 110, 111, 108, 112, 117, 108, 113,
104, 114, 113, 115, 105, 107, 108, 106, 109, 0,
116, 118, 115, 119, 120, 122, 130, 110, 111, 123,
125, 112, 117, 126, 127, 114, 0, 128, 115, 132,
0, 133, 113, 95, 116, 118, 115, 119, 134, 120,
122, 130, 135, 123, 125, 135, 136, 126, 127, 137,
96, 128, 138, 139, 132, 133, 113, 140, 141, 143,
0, 150, 134, 151, 152, 231, 153, 154, 231, 135,
136, 155, 160, 137, 161, 162, 165, 138, 139, 166,
167, 140, 141, 168, 143, 150, 169, 170, 151, 152,
110, 115, 107, 101, 102, 103, 112, 105, 113, 106,
111, 108, 114, 111, 109, 116, 117, 113, 121, 118,
120, 0, 123, 124, 125, 110, 115, 126, 128, 130,
112, 131, 132, 113, 133, 136, 114, 133, 94, 116,
117, 113, 121, 111, 118, 120, 123, 124, 125, 134,
135, 126, 137, 128, 130, 131, 132, 138, 139, 95,
136, 133, 141, 145, 148, 149, 145, 111, 150, 151,
0, 152, 157, 134, 135, 158, 159, 137, 163, 164,
165, 138, 139, 162, 166, 133, 162, 141, 148, 167,
149, 172, 150, 173, 151, 152, 157, 169, 162, 158,
153, 172, 154, 135, 172, 155, 160, 175, 161, 176,
162, 165, 179, 180, 166, 167, 181, 184, 168, 181,
169, 170, 186, 188, 189, 194, 172, 191, 193, 0,
195, 196, 175, 172, 176, 198, 172, 179, 180, 181,
197, 184, 252, 0, 0, 252, 186, 188, 189, 194,
172, 0, 191, 193, 195, 196, 204, 172, 199, 198,
172, 199, 206, 207, 181, 197, 199, 200, 201, 202,
200, 201, 202, 209, 211, 200, 201, 202, 212, 214,
204, 215, 200, 0, 202, 229, 206, 216, 207, 213,
220, 221, 213, 220, 0, 226, 0, 209, 201, 211,
169, 159, 176, 163, 164, 165, 177, 178, 166, 181,
178, 182, 183, 167, 184, 183, 172, 185, 173, 187,
0, 0, 169, 162, 190, 189, 191, 176, 189, 169,
178, 177, 169, 181, 192, 182, 193, 194, 184, 195,
196, 185, 0, 196, 187, 189, 169, 201, 196, 190,
191, 197, 203, 169, 197, 178, 169, 204, 192, 197,
193, 206, 194, 195, 198, 199, 197, 198, 199, 212,
189, 201, 198, 199, 209, 208, 203, 210, 208, 213,
199, 211, 204, 214, 211, 206, 215, 231, 220, 0,
231, 197, 211, 212, 198, 208, 0, 219, 225, 209,
213, 230, 233, 212, 214, 215, 221, 200, 220, 202,
229, 216, 222, 234, 235, 222, 221, 245, 220, 226,
222, 223, 201, 220, 223, 237, 230, 233, 224, 223,
221, 224, 236, 220, 238, 236, 224, 234, 235, 239,
240, 245, 220, 240, 222, 248, 241, 220, 240, 241,
237, 251, 223, 224, 241, 242, 253, 0, 242, 238,
236, 0, 254, 242, 239, 254, 0, 257, 222, 248,
254, 260, 0, 240, 262, 251, 223, 224, 255, 241,
253, 255, 256, 0, 236, 256, 255, 0, 0, 242,
256, 257, 261, 271, 0, 261, 260, 240, 273, 262,
219, 229, 210, 220, 213, 199, 221, 214, 222, 221,
215, 222, 228, 220, 221, 219, 222, 230, 198, 233,
208, 223, 225, 234, 223, 219, 229, 220, 235, 223,
219, 236, 237, 238, 239, 237, 228, 0, 221, 222,
219, 240, 230, 0, 233, 247, 223, 250, 234, 219,
245, 0, 235, 241, 219, 236, 241, 251, 238, 239,
237, 241, 221, 222, 242, 243, 240, 242, 243, 247,
223, 250, 242, 243, 254, 245, 255, 256, 260, 255,
257, 251, 258, 257, 237, 258, 241, 263, 257, 261,
258, 265, 259, 266, 267, 259, 266, 242, 254, 243,
0, 256, 263, 241, 264, 263, 265, 264, 268, 265,
0, 268, 270, 242, 265, 270, 272, 0, 271, 272,
263, 278, 264, 273, 274, 275, 256, 274, 275, 0,
263, 276, 264, 279, 276, 263, 279, 264, 277, 0,
270, 277, 274, 0, 272, 263, 278, 264, 280, 0,
281, 280, 274, 281, 263, 282, 264, 274, 282, 263,
0, 264, 0, 0, 270, 0, 277, 274, 272, 0,
0, 0, 0, 0, 0, 0, 274, 0, 0, 0,
0, 274, 0, 0, 0, 0, 0, 0, 0, 0,
277, 284, 284, 0, 284, 284, 284, 285, 285, 286,
259, 256, 260, 271, 268, 275, 269, 268, 275, 269,
241, 259, 263, 261, 0, 277, 265, 270, 277, 267,
270, 242, 268, 243, 269, 270, 278, 279, 271, 280,
279, 0, 268, 0, 269, 283, 259, 268, 283, 269,
286, 281, 284, 277, 281, 284, 0, 268, 0, 269,
285, 278, 0, 285, 280, 279, 268, 287, 269, 281,
287, 268, 0, 269, 0, 286, 0, 277, 288, 281,
289, 288, 290, 289, 281, 290, 0, 0, 285, 279,
0, 0, 0, 0, 281, 0, 0, 0, 0, 0,
0, 0, 0, 281, 0, 0, 0, 0, 281, 0,
286, 286, 287, 287, 287, 288, 288, 0, 288, 288,
288, 289, 0, 289, 289, 289, 290, 0, 0, 290,
290, 291, 291, 291, 292, 0, 0, 292, 293, 293,
293, 294, 0, 294, 294, 294, 295, 0, 0, 295,
295, 296, 296, 296, 297, 297, 297, 298, 0, 0,
298, 283, 283, 283, 283, 283, 283, 283, 283, 283,
283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
0, 0, 285, 292, 292, 0, 292, 292, 292, 293,
293, 294, 294, 294, 295, 295, 295, 296, 296, 0,
296, 296, 296, 297, 0, 297, 297, 297, 298, 0,
0, 298, 298, 299, 299, 299, 300, 0, 0, 300,
301, 301, 301, 302, 0, 302, 302, 302, 303, 0,
0, 303, 303, 304, 304, 304, 305, 305, 305, 306,
0, 0, 306, 291, 291, 291, 291, 291, 291, 291,
291, 291, 291, 291, 291, 291, 291, 291, 291, 291,
291, 291, 291, 291, 291, 291, 291, 291, 291, 291,
291, 291, 291, 291, 291, 291, 291, 291, 291, 291,
283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
283, 283, 283, 283, 283, 283, 283
291, 291, 291, 291, 291, 291, 291, 291, 291, 291,
291, 291, 291, 291, 291, 291, 291, 291, 291, 291,
291, 291, 291, 291, 291, 291, 291, 291, 291
} ;
static yy_state_type yy_last_accepting_state;
@ -797,7 +803,7 @@ static int checkImmediate(int token) {
return token;
}
#line 801 "engines/director/lingo/lingo-lex.cpp"
#line 807 "engines/director/lingo/lingo-lex.cpp"
#define INITIAL 0
@ -983,7 +989,7 @@ YY_DECL
#line 85 "engines/director/lingo/lingo-lex.l"
#line 987 "engines/director/lingo/lingo-lex.cpp"
#line 993 "engines/director/lingo/lingo-lex.cpp"
if ( !(yy_init) )
{
@ -1037,13 +1043,13 @@ yy_match:
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 284 )
if ( yy_current_state >= 292 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
++yy_cp;
}
while ( yy_current_state != 283 );
while ( yy_current_state != 291 );
yy_cp = (yy_last_accepting_cpos);
yy_current_state = (yy_last_accepting_state);
@ -1174,12 +1180,12 @@ YY_RULE_SETUP
case 19:
YY_RULE_SETUP
#line 124 "engines/director/lingo/lingo-lex.l"
{ count(); return tFRAME; }
{ count(); return tGLOBAL; }
YY_BREAK
case 20:
YY_RULE_SETUP
#line 125 "engines/director/lingo/lingo-lex.l"
{ count(); return tGLOBAL; }
{ count(); return tGO; }
YY_BREAK
case 21:
YY_RULE_SETUP
@ -1289,46 +1295,51 @@ YY_RULE_SETUP
case 40:
YY_RULE_SETUP
#line 155 "engines/director/lingo/lingo-lex.l"
{ count(); yylval.s = new Common::String(yytext); return tPLAYACCEL; }
{ count(); return tPLAY; }
YY_BREAK
case 41:
YY_RULE_SETUP
#line 156 "engines/director/lingo/lingo-lex.l"
{ count(); return tPREVIOUS; }
{ count(); yylval.s = new Common::String(yytext); return tPLAYACCEL; }
YY_BREAK
case 42:
YY_RULE_SETUP
#line 157 "engines/director/lingo/lingo-lex.l"
{ count(); return tPROPERTY; } // D4
{ count(); return tPREVIOUS; }
YY_BREAK
case 43:
YY_RULE_SETUP
#line 158 "engines/director/lingo/lingo-lex.l"
{ count(); return tPUT; }
{ count(); return tPROPERTY; } // D4
YY_BREAK
case 44:
YY_RULE_SETUP
#line 159 "engines/director/lingo/lingo-lex.l"
{ count(); return checkImmediate(tREPEAT); }
{ count(); return tPUT; }
YY_BREAK
case 45:
YY_RULE_SETUP
#line 160 "engines/director/lingo/lingo-lex.l"
{ count(); return tSET; }
{ count(); return checkImmediate(tREPEAT); }
YY_BREAK
case 46:
YY_RULE_SETUP
#line 161 "engines/director/lingo/lingo-lex.l"
{ count(); return tSTARTS; }
{ count(); return tSET; }
YY_BREAK
case 47:
YY_RULE_SETUP
#line 162 "engines/director/lingo/lingo-lex.l"
{ count(); return tTELL; }
{ count(); return tSTARTS; }
YY_BREAK
case 48:
YY_RULE_SETUP
#line 163 "engines/director/lingo/lingo-lex.l"
{ count(); return tTELL; }
YY_BREAK
case 49:
YY_RULE_SETUP
#line 164 "engines/director/lingo/lingo-lex.l"
{
count();
@ -1338,9 +1349,9 @@ YY_RULE_SETUP
return THEENTITYWITHID;
}
YY_BREAK
case 49:
case 50:
YY_RULE_SETUP
#line 171 "engines/director/lingo/lingo-lex.l"
#line 172 "engines/director/lingo/lingo-lex.l"
{
count();
@ -1350,9 +1361,9 @@ YY_RULE_SETUP
return THEENTITYWITHID;
}
YY_BREAK
case 50:
case 51:
YY_RULE_SETUP
#line 179 "engines/director/lingo/lingo-lex.l"
#line 180 "engines/director/lingo/lingo-lex.l"
{
count();
@ -1361,9 +1372,9 @@ YY_RULE_SETUP
return FBLTINONEARG;
}
YY_BREAK
case 51:
case 52:
YY_RULE_SETUP
#line 186 "engines/director/lingo/lingo-lex.l"
#line 187 "engines/director/lingo/lingo-lex.l"
{
count();
@ -1405,9 +1416,9 @@ YY_RULE_SETUP
warning("LEXER: Unhandled the entity %s", ptr);
}
YY_BREAK
case 52:
case 53:
YY_RULE_SETUP
#line 226 "engines/director/lingo/lingo-lex.l"
#line 227 "engines/director/lingo/lingo-lex.l"
{
count();
@ -1440,9 +1451,9 @@ YY_RULE_SETUP
return THEENTITY;
}
YY_BREAK
case 53:
case 54:
YY_RULE_SETUP
#line 257 "engines/director/lingo/lingo-lex.l"
#line 258 "engines/director/lingo/lingo-lex.l"
{
count();
@ -1463,74 +1474,74 @@ YY_RULE_SETUP
warning("LEXER: Unhandled the entity %s", ptr);
}
YY_BREAK
case 54:
YY_RULE_SETUP
#line 276 "engines/director/lingo/lingo-lex.l"
{ count(); return tTHEN; }
YY_BREAK
case 55:
YY_RULE_SETUP
#line 277 "engines/director/lingo/lingo-lex.l"
{ count(); return tTO; }
{ count(); return tTHEN; }
YY_BREAK
case 56:
YY_RULE_SETUP
#line 278 "engines/director/lingo/lingo-lex.l"
{ count(); return tSPRITE; }
{ count(); return tTO; }
YY_BREAK
case 57:
YY_RULE_SETUP
#line 279 "engines/director/lingo/lingo-lex.l"
{ count(); return tWITH; }
{ count(); return tSPRITE; }
YY_BREAK
case 58:
YY_RULE_SETUP
#line 280 "engines/director/lingo/lingo-lex.l"
{ count(); return tWITHIN; }
{ count(); return tWITH; }
YY_BREAK
case 59:
YY_RULE_SETUP
#line 281 "engines/director/lingo/lingo-lex.l"
{ count(); return tWHEN; }
{ count(); return tWITHIN; }
YY_BREAK
case 60:
YY_RULE_SETUP
#line 282 "engines/director/lingo/lingo-lex.l"
{ count(); return tWHILE; }
{ count(); return tWHEN; }
YY_BREAK
case 61:
YY_RULE_SETUP
#line 283 "engines/director/lingo/lingo-lex.l"
{ count(); return tWORD; }
{ count(); return tWHILE; }
YY_BREAK
case 62:
YY_RULE_SETUP
#line 285 "engines/director/lingo/lingo-lex.l"
{ count(); return tNEQ; }
#line 284 "engines/director/lingo/lingo-lex.l"
{ count(); return tWORD; }
YY_BREAK
case 63:
YY_RULE_SETUP
#line 286 "engines/director/lingo/lingo-lex.l"
{ count(); return tGE; }
{ count(); return tNEQ; }
YY_BREAK
case 64:
YY_RULE_SETUP
#line 287 "engines/director/lingo/lingo-lex.l"
{ count(); return tLE; }
{ count(); return tGE; }
YY_BREAK
case 65:
YY_RULE_SETUP
#line 288 "engines/director/lingo/lingo-lex.l"
{ count(); return tCONCAT; }
{ count(); return tLE; }
YY_BREAK
case 66:
YY_RULE_SETUP
#line 289 "engines/director/lingo/lingo-lex.l"
{ count(); return tEQ; }
{ count(); return tCONCAT; }
YY_BREAK
case 67:
YY_RULE_SETUP
#line 291 "engines/director/lingo/lingo-lex.l"
#line 290 "engines/director/lingo/lingo-lex.l"
{ count(); return tEQ; }
YY_BREAK
case 68:
YY_RULE_SETUP
#line 292 "engines/director/lingo/lingo-lex.l"
{
count();
yylval.s = new Common::String(yytext);
@ -1586,43 +1597,43 @@ YY_RULE_SETUP
return ID;
}
YY_BREAK
case 68:
YY_RULE_SETUP
#line 345 "engines/director/lingo/lingo-lex.l"
{ count(); yylval.f = atof(yytext); return FLOAT; }
YY_BREAK
case 69:
YY_RULE_SETUP
#line 346 "engines/director/lingo/lingo-lex.l"
{ count(); yylval.i = strtol(yytext, NULL, 10); return INT; }
{ count(); yylval.f = atof(yytext); return FLOAT; }
YY_BREAK
case 70:
YY_RULE_SETUP
#line 347 "engines/director/lingo/lingo-lex.l"
{ count(); return *yytext; }
{ count(); yylval.i = strtol(yytext, NULL, 10); return INT; }
YY_BREAK
case 71:
/* rule 71 can match eol */
YY_RULE_SETUP
#line 348 "engines/director/lingo/lingo-lex.l"
{ count(); return '\n'; }
{ count(); return *yytext; }
YY_BREAK
case 72:
/* rule 72 can match eol */
YY_RULE_SETUP
#line 349 "engines/director/lingo/lingo-lex.l"
{ count(); yylval.s = new Common::String(&yytext[1]); yylval.s->deleteLastChar(); return STRING; }
{ count(); return '\n'; }
YY_BREAK
case 73:
YY_RULE_SETUP
#line 350 "engines/director/lingo/lingo-lex.l"
{ count(); }
{ count(); yylval.s = new Common::String(&yytext[1]); yylval.s->deleteLastChar(); return STRING; }
YY_BREAK
case 74:
YY_RULE_SETUP
#line 352 "engines/director/lingo/lingo-lex.l"
#line 351 "engines/director/lingo/lingo-lex.l"
{ count(); }
YY_BREAK
case 75:
YY_RULE_SETUP
#line 353 "engines/director/lingo/lingo-lex.l"
ECHO;
YY_BREAK
#line 1626 "engines/director/lingo/lingo-lex.cpp"
#line 1637 "engines/director/lingo/lingo-lex.cpp"
case YY_STATE_EOF(INITIAL):
yyterminate();
@ -1916,7 +1927,7 @@ static int yy_get_next_buffer (void)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 284 )
if ( yy_current_state >= 292 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@ -1944,11 +1955,11 @@ static int yy_get_next_buffer (void)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 284 )
if ( yy_current_state >= 292 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
yy_is_jam = (yy_current_state == 283);
yy_is_jam = (yy_current_state == 291);
return yy_is_jam ? 0 : yy_current_state;
}
@ -2582,7 +2593,7 @@ void yyfree (void * ptr )
#define YYTABLES_NAME "yytables"
#line 352 "engines/director/lingo/lingo-lex.l"
#line 353 "engines/director/lingo/lingo-lex.l"

View File

@ -121,8 +121,8 @@ whitespace [\t ]
}
(?i:factory) { count(); return tFACTORY; }
(?i:exit) { count(); return tEXIT; }
(?i:frame) { count(); return tFRAME; }
(?i:global) { count(); return tGLOBAL; }
(?i:go[\t ]+to[\t ]+frame) { count(); return tGO; }
(?i:go[\t ]+to) { count(); return tGO; }
(?i:go) { count(); return tGO; }
(?i:instance) { count(); return tINSTANCE; }
@ -151,6 +151,7 @@ whitespace [\t ]
(?i:on) { count(); return tON; } // D3
(?i:open) { count(); return tOPEN; }
(?i:or) { count(); return tOR; }
(?i:play[\t ]+frame) { count(); return tPLAY; }
(?i:play) { count(); return tPLAY; }
(?i:playAccel) { count(); yylval.s = new Common::String(yytext); return tPLAYACCEL; }
(?i:previous) { count(); return tPREVIOUS; }