DIRECTOR: Lingo: Implemented stub for 'the time' entity

This commit is contained in:
Eugene Sandulenko 2017-01-10 18:58:37 +01:00
parent af2a917ab2
commit 0e58b35c67
5 changed files with 163 additions and 149 deletions

View File

@ -373,7 +373,7 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
static yyconst flex_int16_t yy_accept[248] =
static yyconst flex_int16_t yy_accept[252] =
{ 0,
0, 0, 70, 68, 3, 66, 66, 68, 68, 68,
65, 65, 65, 64, 65, 65, 62, 62, 62, 62,
@ -399,9 +399,10 @@ static yyconst flex_int16_t yy_accept[248] =
0, 7, 62, 16, 62, 20, 62, 62, 30, 62,
42, 52, 45, 0, 0, 49, 54, 0, 62, 17,
62, 62, 62, 0, 0, 0, 49, 13, 9, 23,
62, 40, 0, 0, 49, 62, 0, 0, 0, 24,
48, 47, 0, 0, 0, 46, 0
62, 62, 62, 0, 0, 0, 0, 49, 13, 9,
23, 62, 40, 0, 0, 0, 49, 62, 0, 0,
0, 0, 24, 48, 47, 48, 0, 0, 0, 46,
0
} ;
static yyconst flex_int32_t yy_ec[256] =
@ -447,14 +448,14 @@ static yyconst flex_int32_t yy_meta[65] =
5, 5, 5, 5
} ;
static yyconst flex_int16_t yy_base[259] =
static yyconst flex_int16_t yy_base[263] =
{ 0,
0, 63, 187, 637, 67, 71, 75, 79, 168, 0,
637, 151, 148, 54, 70, 122, 65, 67, 65, 61,
0, 63, 187, 644, 67, 71, 75, 79, 168, 0,
644, 151, 148, 54, 70, 122, 65, 67, 65, 61,
71, 87, 72, 0, 103, 81, 119, 109, 135, 118,
82, 149, 118, 161, 194, 214, 218, 637, 222, 207,
227, 82, 99, 637, 0, 637, 0, 88, 95, 637,
637, 637, 0, 112, 96, 105, 141, 124, 204, 142,
82, 149, 118, 161, 194, 214, 218, 644, 222, 207,
227, 82, 99, 644, 0, 644, 0, 88, 95, 644,
644, 644, 0, 112, 96, 105, 141, 124, 204, 142,
161, 164, 194, 217, 206, 88, 0, 205, 216, 212,
213, 225, 211, 231, 208, 215, 0, 0, 231, 0,
237, 234, 223, 230, 237, 239, 245, 239, 262, 0,
@ -468,50 +469,52 @@ static yyconst flex_int16_t yy_base[259] =
368, 373, 362, 377, 363, 0, 0, 0, 0, 367,
368, 378, 0, 0, 0, 376, 385, 385, 372, 374,
408, 0, 0, 397, 398, 0, 200, 0, 404, 403,
0, 0, 399, 0, 407, 637, 406, 402, 0, 409,
0, 0, 399, 0, 407, 644, 406, 402, 0, 409,
0, 407, 403, 0, 418, 407, 442, 465, 0, 416,
466, 0, 420, 0, 415, 0, 432, 436, 0, 427,
0, 0, 0, 472, 458, 478, 0, 459, 438, 0,
463, 466, 455, 488, 477, 473, 502, 637, 0, 0,
463, 0, 464, 288, 522, 467, 484, 526, 534, 0,
637, 536, 538, 486, 542, 543, 637, 592, 594, 597,
600, 606, 611, 616, 619, 624, 626, 631
0, 0, 0, 472, 460, 476, 0, 461, 438, 0,
464, 469, 456, 498, 476, 476, 474, 510, 644, 0,
0, 466, 0, 471, 288, 483, 527, 488, 513, 534,
517, 538, 0, 644, 539, 644, 545, 520, 546, 551,
644, 599, 601, 604, 607, 613, 618, 623, 626, 631,
633, 638
} ;
static yyconst flex_int16_t yy_def[259] =
static yyconst flex_int16_t yy_def[263] =
{ 0,
247, 1, 247, 247, 247, 247, 247, 247, 248, 249,
247, 247, 247, 247, 247, 247, 250, 250, 250, 250,
250, 250, 250, 250, 250, 250, 250, 250, 250, 250,
250, 250, 250, 250, 247, 247, 247, 247, 247, 247,
247, 247, 248, 247, 251, 247, 252, 247, 247, 247,
247, 247, 250, 250, 250, 250, 250, 250, 250, 250,
250, 250, 250, 250, 250, 250, 250, 250, 250, 250,
250, 250, 250, 250, 250, 250, 250, 250, 250, 250,
250, 250, 250, 250, 250, 250, 250, 250, 250, 250,
250, 250, 250, 247, 247, 247, 251, 252, 247, 250,
251, 1, 251, 251, 251, 251, 251, 251, 252, 253,
251, 251, 251, 251, 251, 251, 254, 254, 254, 254,
254, 254, 254, 254, 254, 254, 254, 254, 254, 254,
254, 254, 254, 254, 251, 251, 251, 251, 251, 251,
251, 251, 252, 251, 255, 251, 256, 251, 251, 251,
251, 251, 254, 254, 254, 254, 254, 254, 254, 254,
254, 254, 254, 254, 254, 254, 254, 254, 254, 254,
254, 254, 254, 254, 254, 254, 254, 254, 254, 254,
254, 254, 254, 254, 254, 254, 254, 254, 254, 254,
254, 254, 254, 251, 251, 251, 255, 256, 251, 254,
250, 250, 250, 250, 250, 250, 250, 253, 250, 250,
250, 250, 247, 250, 250, 250, 250, 250, 250, 250,
250, 250, 250, 250, 250, 250, 250, 250, 250, 250,
250, 250, 250, 250, 250, 250, 250, 250, 247, 250,
250, 250, 250, 250, 250, 250, 254, 255, 250, 250,
250, 250, 247, 250, 250, 250, 250, 250, 250, 250,
250, 250, 250, 250, 250, 250, 250, 250, 250, 250,
256, 250, 250, 250, 250, 250, 247, 250, 250, 250,
257, 255, 250, 250, 250, 247, 250, 250, 250, 250,
250, 250, 250, 250, 250, 250, 256, 256, 250, 250,
254, 254, 254, 254, 254, 254, 254, 257, 254, 254,
254, 254, 251, 254, 254, 254, 254, 254, 254, 254,
254, 254, 254, 254, 254, 254, 254, 254, 254, 254,
254, 254, 254, 254, 254, 254, 254, 254, 251, 254,
254, 254, 254, 254, 254, 254, 258, 259, 254, 254,
254, 254, 251, 254, 254, 254, 254, 254, 254, 254,
254, 254, 254, 254, 254, 254, 254, 254, 254, 254,
260, 254, 254, 254, 254, 254, 251, 254, 254, 254,
261, 259, 254, 254, 254, 251, 254, 254, 254, 254,
254, 254, 254, 254, 254, 254, 260, 260, 254, 254,
247, 250, 250, 257, 250, 250, 250, 250, 250, 250,
250, 250, 250, 247, 247, 256, 250, 247, 250, 250,
250, 250, 250, 247, 247, 247, 256, 247, 250, 250,
250, 250, 247, 247, 256, 250, 247, 258, 247, 250,
247, 258, 247, 247, 247, 258, 0, 247, 247, 247,
247, 247, 247, 247, 247, 247, 247, 247
251, 254, 254, 261, 254, 254, 254, 254, 254, 254,
254, 254, 254, 251, 251, 260, 254, 251, 254, 254,
254, 254, 254, 251, 251, 251, 251, 260, 251, 254,
254, 254, 254, 251, 251, 251, 260, 254, 251, 262,
251, 251, 254, 251, 262, 251, 251, 251, 251, 262,
0, 251, 251, 251, 251, 251, 251, 251, 251, 251,
251, 251
} ;
static yyconst flex_int16_t yy_nxt[702] =
static yyconst flex_int16_t yy_nxt[709] =
{ 0,
4, 5, 6, 7, 8, 9, 10, 11, 12, 11,
13, 4, 14, 15, 11, 16, 17, 18, 19, 20,
@ -532,68 +535,68 @@ static yyconst flex_int16_t yy_nxt[702] =
82, 102, 104, 83, 75, 68, 77, 103, 47, 46,
72, 69, 76, 78, 73, 79, 89, 80, 81, 85,
100, 90, 74, 44, 82, 107, 104, 83, 86, 87,
108, 77, 103, 88, 91, 92, 247, 78, 109, 79,
93, 80, 247, 247, 85, 94, 38, 38, 95, 107,
108, 77, 103, 88, 91, 92, 251, 78, 109, 79,
93, 80, 251, 251, 85, 94, 38, 38, 95, 107,
247, 201, 86, 87, 201, 108, 247, 88, 40, 91,
251, 201, 86, 87, 201, 108, 251, 88, 40, 91,
92, 40, 110, 109, 93, 95, 38, 38, 95, 37,
38, 38, 39, 39, 38, 38, 39, 42, 40, 41,
41, 40, 105, 111, 247, 112, 116, 110, 114, 115,
117, 106, 118, 119, 247, 120, 123, 42, 247, 124,
41, 40, 105, 111, 251, 112, 116, 110, 114, 115,
117, 106, 118, 119, 251, 120, 123, 42, 251, 124,
121, 125, 42, 126, 127, 133, 105, 128, 111, 112,
129, 116, 114, 115, 117, 106, 118, 122, 119, 120,
123, 130, 42, 124, 131, 121, 125, 132, 126, 127,
133, 128, 134, 135, 129, 137, 138, 136, 247, 238,
247, 122, 238, 139, 140, 130, 141, 142, 131, 143,
133, 128, 134, 135, 129, 137, 138, 136, 251, 240,
251, 122, 240, 139, 140, 130, 141, 142, 131, 143,
144, 132, 94, 38, 38, 95, 145, 134, 135, 137,
138, 146, 136, 95, 38, 38, 95, 139, 149, 140,
141, 142, 150, 143, 147, 144, 151, 147, 152, 113,
145, 154, 113, 157, 155, 53, 146, 159, 158, 247,
145, 154, 113, 157, 155, 53, 146, 159, 158, 251,
160, 161, 149, 156, 162, 167, 150, 163, 164, 165,
151, 166, 168, 152, 169, 154, 170, 157, 173, 155,
174, 159, 153, 158, 160, 171, 161, 156, 171, 162,
167, 163, 164, 165, 175, 166, 168, 176, 177, 169,
170, 178, 173, 179, 174, 180, 153, 183, 184, 185,
247, 186, 172, 187, 247, 188, 189, 190, 191, 175,
251, 186, 172, 187, 251, 188, 189, 190, 191, 175,
192, 193, 176, 177, 194, 178, 195, 179, 196, 171,
180, 183, 171, 184, 185, 186, 172, 199, 187, 188,
189, 190, 200, 191, 202, 192, 193, 203, 209, 194,
195, 205, 196, 206, 207, 208, 210, 211, 212, 247,
213, 198, 199, 214, 217, 247, 214, 200, 219, 202,
195, 205, 196, 206, 207, 208, 210, 211, 212, 251,
213, 198, 199, 214, 217, 251, 214, 200, 219, 202,
221, 215, 203, 209, 220, 205, 222, 206, 207, 208,
210, 211, 223, 212, 213, 198, 214, 201, 217, 214,
201, 229, 219, 224, 215, 221, 224, 225, 220, 214,
228, 222, 214, 230, 231, 247, 223, 215, 232, 224,
218, 225, 224, 233, 234, 229, 216, 236, 237, 247,
201, 230, 219, 224, 215, 221, 224, 214, 220, 225,
214, 222, 229, 251, 231, 215, 223, 232, 251, 233,
218, 225, 234, 251, 227, 230, 216, 235, 236, 224,
240, 226, 225, 214, 241, 228, 214, 245, 230, 231,
227, 215, 232, 247, 247, 218, 225, 226, 233, 234,
216, 236, 237, 239, 240, 226, 239, 238, 247, 241,
238, 215, 245, 247, 227, 243, 235, 247, 243, 243,
247, 226, 243, 246, 246, 247, 246, 246, 247, 247,
247, 247, 247, 225, 247, 247, 247, 247, 247, 247,
235, 247, 247, 244, 247, 247, 247, 244, 247, 247,
247, 247, 247, 247, 247, 247, 247, 247, 225, 247,
247, 247, 247, 247, 247, 247, 247, 244, 247, 247,
247, 244, 43, 43, 247, 43, 43, 43, 45, 45,
238, 226, 224, 251, 225, 239, 227, 229, 228, 231,
241, 214, 232, 233, 214, 218, 225, 234, 227, 215,
216, 243, 235, 236, 238, 226, 251, 226, 242, 239,
227, 242, 228, 244, 241, 240, 215, 246, 240, 247,
251, 249, 247, 251, 237, 243, 247, 250, 251, 247,
250, 226, 250, 251, 251, 250, 251, 225, 244, 251,
251, 251, 246, 251, 251, 251, 249, 248, 237, 251,
251, 251, 227, 251, 248, 251, 251, 251, 251, 251,
251, 251, 225, 251, 251, 251, 251, 251, 251, 251,
251, 248, 251, 251, 251, 251, 227, 251, 248, 43,
53, 53, 53, 97, 97, 97, 98, 98, 247, 98,
98, 98, 148, 247, 148, 148, 148, 181, 247, 247,
181, 181, 182, 182, 182, 197, 247, 247, 197, 204,
204, 204, 242, 247, 247, 242, 3, 247, 247, 247,
247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
43, 251, 43, 43, 43, 45, 45, 53, 53, 53,
97, 97, 97, 98, 98, 251, 98, 98, 98, 148,
251, 148, 148, 148, 181, 251, 251, 181, 181, 182,
182, 182, 197, 251, 251, 197, 204, 204, 204, 245,
251, 251, 245, 3, 251, 251, 251, 251, 251, 251,
251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
247
251, 251, 251, 251, 251, 251, 251, 251
} ;
static yyconst flex_int16_t yy_chk[702] =
static yyconst flex_int16_t yy_chk[709] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@ -625,8 +628,8 @@ static yyconst flex_int16_t yy_chk[702] =
74, 79, 40, 81, 82, 88, 59, 83, 64, 65,
84, 69, 68, 68, 70, 59, 71, 74, 72, 73,
75, 85, 41, 76, 86, 74, 79, 87, 81, 82,
88, 83, 89, 91, 84, 92, 93, 91, 0, 234,
0, 74, 234, 96, 100, 85, 102, 103, 86, 104,
88, 83, 89, 91, 84, 92, 93, 91, 0, 235,
0, 74, 235, 96, 100, 85, 102, 103, 86, 104,
105, 87, 94, 94, 94, 94, 106, 89, 91, 92,
93, 107, 91, 95, 95, 95, 95, 96, 109, 100,
@ -646,33 +649,33 @@ static yyconst flex_int16_t yy_chk[702] =
196, 171, 174, 197, 200, 0, 197, 175, 203, 179,
207, 197, 180, 190, 205, 183, 208, 185, 187, 188,
192, 193, 210, 195, 196, 171, 198, 201, 200, 198,
201, 219, 203, 214, 198, 207, 214, 215, 205, 216,
218, 208, 216, 221, 222, 0, 210, 216, 223, 224,
201, 214, 224, 225, 226, 219, 198, 231, 233, 0,
201, 219, 203, 214, 198, 207, 214, 216, 205, 215,
216, 208, 218, 0, 221, 216, 210, 222, 0, 223,
201, 214, 225, 0, 215, 219, 198, 226, 227, 224,
236, 214, 215, 227, 237, 218, 227, 244, 221, 222,
216, 227, 223, 0, 0, 201, 214, 224, 225, 226,
198, 231, 233, 235, 236, 214, 235, 238, 0, 237,
238, 235, 244, 0, 216, 239, 227, 242, 239, 243,
242, 224, 243, 245, 246, 0, 245, 246, 0, 0,
0, 0, 0, 239, 0, 0, 0, 0, 0, 0,
227, 0, 0, 239, 0, 0, 0, 243, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 239, 0,
0, 0, 0, 0, 0, 0, 0, 239, 0, 0,
0, 243, 248, 248, 0, 248, 248, 248, 249, 249,
232, 214, 224, 0, 215, 234, 214, 218, 216, 221,
236, 228, 222, 223, 228, 201, 214, 225, 215, 228,
198, 238, 226, 227, 232, 214, 0, 224, 237, 234,
214, 237, 216, 239, 236, 240, 237, 241, 240, 242,
245, 248, 242, 245, 228, 238, 247, 249, 0, 247,
249, 224, 250, 0, 0, 250, 0, 242, 239, 0,
0, 0, 241, 0, 0, 0, 248, 242, 228, 0,
0, 0, 242, 0, 247, 0, 0, 0, 0, 0,
0, 0, 242, 0, 0, 0, 0, 0, 0, 0,
0, 242, 0, 0, 0, 0, 242, 0, 247, 252,
250, 250, 250, 251, 251, 251, 252, 252, 0, 252,
252, 252, 253, 0, 253, 253, 253, 254, 0, 0,
254, 254, 255, 255, 255, 256, 0, 0, 256, 257,
257, 257, 258, 0, 0, 258, 247, 247, 247, 247,
247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
252, 0, 252, 252, 252, 253, 253, 254, 254, 254,
255, 255, 255, 256, 256, 0, 256, 256, 256, 257,
0, 257, 257, 257, 258, 0, 0, 258, 258, 259,
259, 259, 260, 0, 0, 260, 261, 261, 261, 262,
0, 0, 262, 251, 251, 251, 251, 251, 251, 251,
251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
247
251, 251, 251, 251, 251, 251, 251, 251
} ;
static yy_state_type yy_last_accepting_state;
@ -746,7 +749,7 @@ static void countnl() {
g_lingo->_colnumber = strlen(p);
}
#line 750 "engines/director/lingo/lingo-lex.cpp"
#line 753 "engines/director/lingo/lingo-lex.cpp"
#define INITIAL 0
@ -934,7 +937,7 @@ YY_DECL
#line 69 "engines/director/lingo/lingo-lex.l"
#line 938 "engines/director/lingo/lingo-lex.cpp"
#line 941 "engines/director/lingo/lingo-lex.cpp"
if ( !(yy_init) )
{
@ -988,13 +991,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 >= 248 )
if ( yy_current_state >= 252 )
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_base[yy_current_state] != 637 );
while ( yy_base[yy_current_state] != 644 );
yy_find_action:
yy_act = yy_accept[yy_current_state];
@ -1317,15 +1320,16 @@ YY_RULE_SETUP
{
count();
const char *p = &yytext[4]; // Skip 'the '
while (*p == ' ' || *p == '\t')
p++;
const char *ptr = &yytext[4]; // Skip 'the '
while (*ptr == ' ' || *ptr == '\t')
ptr++;
Common::String field;
while (*p != ' ' && *p != '\t')
field += *p++;
while (*ptr != ' ' && *ptr != '\t')
field += *ptr++;
const char *ptr = "date";
while (*ptr == ' ' || *ptr == '\t')
ptr++;
field = Common::String::format("%d%s", g_lingo->_theEntities[ptr]->entity, field.c_str());
@ -1347,7 +1351,7 @@ YY_RULE_SETUP
YY_BREAK
case 49:
YY_RULE_SETUP
#line 206 "engines/director/lingo/lingo-lex.l"
#line 207 "engines/director/lingo/lingo-lex.l"
{
count();
@ -1370,67 +1374,67 @@ YY_RULE_SETUP
YY_BREAK
case 50:
YY_RULE_SETUP
#line 225 "engines/director/lingo/lingo-lex.l"
#line 226 "engines/director/lingo/lingo-lex.l"
{ count(); return tTHEN; }
YY_BREAK
case 51:
YY_RULE_SETUP
#line 226 "engines/director/lingo/lingo-lex.l"
#line 227 "engines/director/lingo/lingo-lex.l"
{ count(); return tTO; }
YY_BREAK
case 52:
YY_RULE_SETUP
#line 227 "engines/director/lingo/lingo-lex.l"
#line 228 "engines/director/lingo/lingo-lex.l"
{ count(); return tSPRITE; }
YY_BREAK
case 53:
YY_RULE_SETUP
#line 228 "engines/director/lingo/lingo-lex.l"
#line 229 "engines/director/lingo/lingo-lex.l"
{ count(); return tWITH; }
YY_BREAK
case 54:
YY_RULE_SETUP
#line 229 "engines/director/lingo/lingo-lex.l"
#line 230 "engines/director/lingo/lingo-lex.l"
{ count(); return tWITHIN; }
YY_BREAK
case 55:
YY_RULE_SETUP
#line 230 "engines/director/lingo/lingo-lex.l"
#line 231 "engines/director/lingo/lingo-lex.l"
{ count(); return tWHEN; }
YY_BREAK
case 56:
YY_RULE_SETUP
#line 231 "engines/director/lingo/lingo-lex.l"
#line 232 "engines/director/lingo/lingo-lex.l"
{ count(); return tWHILE; }
YY_BREAK
case 57:
YY_RULE_SETUP
#line 232 "engines/director/lingo/lingo-lex.l"
#line 233 "engines/director/lingo/lingo-lex.l"
{ count(); return tWORD; }
YY_BREAK
case 58:
YY_RULE_SETUP
#line 234 "engines/director/lingo/lingo-lex.l"
#line 235 "engines/director/lingo/lingo-lex.l"
{ count(); return tNEQ; }
YY_BREAK
case 59:
YY_RULE_SETUP
#line 235 "engines/director/lingo/lingo-lex.l"
#line 236 "engines/director/lingo/lingo-lex.l"
{ count(); return tGE; }
YY_BREAK
case 60:
YY_RULE_SETUP
#line 236 "engines/director/lingo/lingo-lex.l"
#line 237 "engines/director/lingo/lingo-lex.l"
{ count(); return tLE; }
YY_BREAK
case 61:
YY_RULE_SETUP
#line 237 "engines/director/lingo/lingo-lex.l"
#line 238 "engines/director/lingo/lingo-lex.l"
{ count(); return tCONCAT; }
YY_BREAK
case 62:
YY_RULE_SETUP
#line 239 "engines/director/lingo/lingo-lex.l"
#line 240 "engines/director/lingo/lingo-lex.l"
{
count();
yylval.s = new Common::String(yytext);
@ -1463,41 +1467,41 @@ YY_RULE_SETUP
YY_BREAK
case 63:
YY_RULE_SETUP
#line 268 "engines/director/lingo/lingo-lex.l"
#line 269 "engines/director/lingo/lingo-lex.l"
{ count(); yylval.f = atof(yytext); return FLOAT; }
YY_BREAK
case 64:
YY_RULE_SETUP
#line 269 "engines/director/lingo/lingo-lex.l"
#line 270 "engines/director/lingo/lingo-lex.l"
{ count(); yylval.i = strtol(yytext, NULL, 10); return INT; }
YY_BREAK
case 65:
YY_RULE_SETUP
#line 270 "engines/director/lingo/lingo-lex.l"
#line 271 "engines/director/lingo/lingo-lex.l"
{ count(); return *yytext; }
YY_BREAK
case 66:
/* rule 66 can match eol */
YY_RULE_SETUP
#line 271 "engines/director/lingo/lingo-lex.l"
#line 272 "engines/director/lingo/lingo-lex.l"
{ return '\n'; }
YY_BREAK
case 67:
YY_RULE_SETUP
#line 272 "engines/director/lingo/lingo-lex.l"
#line 273 "engines/director/lingo/lingo-lex.l"
{ count(); yylval.s = new Common::String(&yytext[1]); yylval.s->deleteLastChar(); return STRING; }
YY_BREAK
case 68:
YY_RULE_SETUP
#line 273 "engines/director/lingo/lingo-lex.l"
#line 274 "engines/director/lingo/lingo-lex.l"
YY_BREAK
case 69:
YY_RULE_SETUP
#line 275 "engines/director/lingo/lingo-lex.l"
#line 276 "engines/director/lingo/lingo-lex.l"
ECHO;
YY_BREAK
#line 1501 "engines/director/lingo/lingo-lex.cpp"
#line 1505 "engines/director/lingo/lingo-lex.cpp"
case YY_STATE_EOF(INITIAL):
yyterminate();
@ -1790,7 +1794,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 >= 248 )
if ( yy_current_state >= 252 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@ -1818,11 +1822,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 >= 248 )
if ( yy_current_state >= 252 )
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 == 247);
yy_is_jam = (yy_current_state == 251);
return yy_is_jam ? 0 : yy_current_state;
}
@ -2497,7 +2501,7 @@ void yyfree (void * ptr )
#define YYTABLES_NAME "yytables"
#line 275 "engines/director/lingo/lingo-lex.l"
#line 276 "engines/director/lingo/lingo-lex.l"

View File

@ -173,18 +173,19 @@ whitespace [\t ]
warning("Unhandled the entity %s", ptr);
}
(?i:the[ \t]+[[:alpha:]]+[ \t+]date) {
(?i:the[ \t]+[[:alpha:]]+[ \t+](date|time)) {
count();
const char *p = &yytext[4]; // Skip 'the '
while (*p == ' ' || *p == '\t')
p++;
const char *ptr = &yytext[4]; // Skip 'the '
while (*ptr == ' ' || *ptr == '\t')
ptr++;
Common::String field;
while (*p != ' ' && *p != '\t')
field += *p++;
while (*ptr != ' ' && *ptr != '\t')
field += *ptr++;
const char *ptr = "date";
while (*ptr == ' ' || *ptr == '\t')
ptr++;
field = Common::String::format("%d%s", g_lingo->_theEntities[ptr]->entity, field.c_str());

View File

@ -116,6 +116,7 @@ TheEntity entities[] = {
{ kTheTimeoutMouse, "timeoutMouse", false }, // D2 p
{ kTheTimeoutPlay, "timeoutPlay", false }, // D2 p
{ kTheTimeoutScript, "timeoutScript", false }, // D2 p
{ kTheTime, "time", false }, // D3 f
{ kTheTimer, "timer", false }, // D2 p
{ kTheWindow, "window", false },
{ kTheWords, "words", true }, // D3
@ -226,6 +227,11 @@ TheEntityField fields[] = {
{ kTheDate, "abbreviated", kTheAbbr }, // D3 f
{ kTheDate, "abbrev", kTheAbbr }, // D3 f
{ kTheDate, "abbr", kTheAbbr }, // D3 f
{ kTheTime, "short", kTheShort }, // D3 f
{ kTheTime, "long", kTheLong }, // D3 f
{ kTheTime, "abbreviated", kTheAbbr }, // D3 f
{ kTheTime, "abbrev", kTheAbbr }, // D3 f
{ kTheTime, "abbr", kTheAbbr }, // D3 f
{ kTheNOEntity, NULL, kTheNOField }
};

View File

@ -41,6 +41,7 @@ enum TheEntityType {
kTheMouseV,
kTheMouseDownScript,
kTheMouseUpScript,
kTheTime,
kTheField,

View File

@ -7,3 +7,5 @@ set the castnum of sprite 8 to the number of cast "A Blank Castmember"
put the date
put the long date
put the abbreviated time
put the short time