mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-11 13:45:25 +00:00
DIRECTOR: Lingo: Fix 'intersects' operator parsing and added 'within' operator
This commit is contained in:
parent
d53ff7b180
commit
9172820158
@ -399,6 +399,15 @@ void Lingo::c_intersects() {
|
||||
g_lingo->push(d1);
|
||||
}
|
||||
|
||||
void Lingo::c_within() {
|
||||
Datum d2 = g_lingo->pop();
|
||||
Datum d1 = g_lingo->pop();
|
||||
|
||||
warning("STUB: c_within");
|
||||
|
||||
g_lingo->push(d1);
|
||||
}
|
||||
|
||||
void Lingo::c_and() {
|
||||
Datum d2 = g_lingo->pop();
|
||||
Datum d1 = g_lingo->pop();
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -93,7 +93,9 @@
|
||||
tCONCAT = 309,
|
||||
tCONTAINS = 310,
|
||||
tSTARTS = 311,
|
||||
tINTERSECTS = 312
|
||||
tSPRITE = 312,
|
||||
tINTERSECTS = 313,
|
||||
tWITHIN = 314
|
||||
};
|
||||
#endif
|
||||
/* Tokens. */
|
||||
@ -151,7 +153,9 @@
|
||||
#define tCONCAT 309
|
||||
#define tCONTAINS 310
|
||||
#define tSTARTS 311
|
||||
#define tINTERSECTS 312
|
||||
#define tSPRITE 312
|
||||
#define tINTERSECTS 313
|
||||
#define tWITHIN 314
|
||||
|
||||
|
||||
|
||||
@ -168,7 +172,7 @@ typedef union YYSTYPE
|
||||
int narg; /* number of arguments */
|
||||
}
|
||||
/* Line 1529 of yacc.c. */
|
||||
#line 172 "engines/director/lingo/lingo-gr.hpp"
|
||||
#line 176 "engines/director/lingo/lingo-gr.hpp"
|
||||
YYSTYPE;
|
||||
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
|
||||
# define YYSTYPE_IS_DECLARED 1
|
||||
|
@ -85,14 +85,13 @@ void yyerror(char *s) {
|
||||
%token tWITH tWHILE tNLELSE tFACTORY tMETHOD
|
||||
%token tGE tLE tGT tLT tEQ tNEQ tAND tOR tNOT
|
||||
%token tCONCAT tCONTAINS tSTARTS
|
||||
%token tINTERSECTS
|
||||
%token tSPRITE tINTERSECTS tWITHIN
|
||||
|
||||
%type<code> asgn begin elseif elsestmtoneliner end expr if repeatwhile repeatwith stmtlist
|
||||
%type<s> gotoframe gotomovie
|
||||
%type<narg> argdef arglist
|
||||
|
||||
%right '='
|
||||
%left tINTERSECTS
|
||||
%left '+' '-'
|
||||
%left '*' '/' '%'
|
||||
%right UNARY
|
||||
@ -401,10 +400,11 @@ expr: INT {
|
||||
| expr tCONCAT expr { g_lingo->code1(g_lingo->c_concat); }
|
||||
| expr tCONTAINS expr { g_lingo->code1(g_lingo->c_contains); }
|
||||
| expr tSTARTS expr { g_lingo->code1(g_lingo->c_starts); }
|
||||
| expr tINTERSECTS expr { g_lingo->code1(g_lingo->c_intersects); }
|
||||
| '+' expr %prec UNARY { $$ = $2; }
|
||||
| '-' expr %prec UNARY { $$ = $2; g_lingo->code1(g_lingo->c_negate); }
|
||||
| '(' expr ')' { $$ = $2; }
|
||||
| tSPRITE expr tINTERSECTS expr { g_lingo->code1(g_lingo->c_intersects); }
|
||||
| tSPRITE expr tWITHIN expr { g_lingo->code1(g_lingo->c_within); }
|
||||
;
|
||||
|
||||
func: tMCI STRING { g_lingo->code1(g_lingo->c_mci); g_lingo->codeString($2->c_str()); delete $2; }
|
||||
|
@ -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 52
|
||||
#define YY_END_OF_BUFFER 53
|
||||
#define YY_NUM_RULES 54
|
||||
#define YY_END_OF_BUFFER 55
|
||||
/* This struct is not used in this scanner,
|
||||
but its presence is necessary. */
|
||||
struct yy_trans_info
|
||||
@ -373,27 +373,28 @@ struct yy_trans_info
|
||||
flex_int32_t yy_verify;
|
||||
flex_int32_t yy_nxt;
|
||||
};
|
||||
static yyconst flex_int16_t yy_accept[179] =
|
||||
static yyconst flex_int16_t yy_accept[186] =
|
||||
{ 0,
|
||||
0, 0, 53, 51, 3, 49, 49, 51, 51, 48,
|
||||
48, 48, 47, 48, 48, 45, 45, 45, 45, 45,
|
||||
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
|
||||
45, 45, 2, 2, 3, 49, 0, 0, 49, 0,
|
||||
0, 50, 44, 1, 46, 47, 43, 41, 42, 45,
|
||||
45, 45, 45, 45, 45, 45, 45, 45, 45, 16,
|
||||
7, 45, 45, 45, 45, 45, 45, 45, 45, 27,
|
||||
28, 45, 45, 45, 45, 45, 45, 37, 45, 45,
|
||||
2, 2, 0, 1, 46, 4, 45, 45, 45, 11,
|
||||
45, 45, 45, 45, 45, 45, 45, 21, 45, 45,
|
||||
0, 0, 55, 53, 3, 51, 51, 53, 53, 50,
|
||||
50, 50, 49, 50, 50, 47, 47, 47, 47, 47,
|
||||
47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
|
||||
47, 47, 2, 2, 3, 51, 0, 0, 51, 0,
|
||||
0, 52, 46, 1, 48, 49, 45, 43, 44, 47,
|
||||
47, 47, 47, 47, 47, 47, 47, 47, 47, 16,
|
||||
7, 47, 47, 47, 47, 47, 47, 47, 47, 27,
|
||||
28, 47, 47, 47, 47, 47, 47, 47, 37, 47,
|
||||
47, 2, 2, 0, 1, 48, 4, 47, 47, 47,
|
||||
11, 47, 47, 47, 47, 47, 47, 47, 21, 47,
|
||||
|
||||
45, 26, 45, 30, 45, 32, 45, 45, 45, 45,
|
||||
45, 0, 45, 6, 10, 13, 45, 45, 45, 45,
|
||||
18, 19, 45, 45, 45, 45, 25, 45, 45, 45,
|
||||
0, 36, 39, 45, 38, 9, 45, 45, 14, 45,
|
||||
45, 20, 45, 45, 24, 45, 45, 45, 35, 40,
|
||||
0, 45, 45, 15, 45, 45, 23, 45, 31, 33,
|
||||
0, 0, 45, 12, 45, 22, 45, 0, 8, 5,
|
||||
45, 29, 0, 45, 0, 17, 34, 0
|
||||
47, 47, 26, 47, 30, 47, 32, 47, 47, 47,
|
||||
47, 47, 47, 0, 47, 6, 10, 13, 47, 47,
|
||||
47, 47, 18, 19, 47, 47, 47, 47, 25, 47,
|
||||
47, 47, 47, 0, 36, 41, 47, 39, 9, 47,
|
||||
47, 14, 47, 47, 20, 47, 47, 24, 47, 47,
|
||||
47, 47, 35, 42, 47, 0, 47, 47, 15, 47,
|
||||
47, 23, 47, 31, 38, 33, 0, 40, 0, 47,
|
||||
12, 47, 22, 47, 0, 8, 5, 47, 29, 0,
|
||||
47, 0, 17, 34, 0
|
||||
} ;
|
||||
|
||||
static yyconst flex_int32_t yy_ec[256] =
|
||||
@ -438,55 +439,55 @@ static yyconst flex_int32_t yy_meta[61] =
|
||||
6, 6, 6, 6, 6, 6, 6, 6, 6, 6
|
||||
} ;
|
||||
|
||||
static yyconst flex_int16_t yy_base[184] =
|
||||
static yyconst flex_int16_t yy_base[191] =
|
||||
{ 0,
|
||||
0, 59, 268, 426, 63, 67, 71, 75, 252, 426,
|
||||
224, 181, 52, 68, 132, 56, 0, 56, 57, 67,
|
||||
72, 68, 68, 69, 112, 70, 79, 103, 81, 103,
|
||||
106, 115, 139, 145, 162, 101, 166, 170, 174, 135,
|
||||
133, 426, 426, 0, 90, 163, 426, 426, 426, 0,
|
||||
112, 153, 146, 151, 166, 162, 169, 172, 163, 0,
|
||||
0, 160, 167, 171, 173, 166, 165, 164, 169, 0,
|
||||
0, 183, 174, 178, 184, 204, 206, 0, 208, 201,
|
||||
232, 242, 207, 0, 80, 0, 208, 214, 209, 0,
|
||||
210, 216, 224, 237, 238, 230, 230, 227, 232, 244,
|
||||
0, 59, 210, 446, 63, 67, 71, 75, 192, 446,
|
||||
150, 148, 52, 68, 137, 56, 0, 56, 57, 67,
|
||||
72, 68, 68, 69, 112, 70, 79, 103, 81, 109,
|
||||
120, 121, 170, 174, 178, 101, 182, 186, 190, 97,
|
||||
143, 446, 446, 0, 90, 124, 446, 446, 446, 0,
|
||||
112, 110, 104, 115, 147, 167, 179, 182, 119, 0,
|
||||
0, 167, 172, 184, 179, 172, 173, 172, 179, 0,
|
||||
0, 193, 183, 187, 185, 188, 198, 200, 0, 205,
|
||||
200, 242, 254, 211, 0, 80, 0, 217, 223, 232,
|
||||
0, 221, 222, 234, 245, 243, 235, 236, 232, 246,
|
||||
|
||||
237, 0, 236, 0, 253, 0, 244, 274, 248, 255,
|
||||
262, 267, 272, 0, 0, 0, 262, 269, 279, 269,
|
||||
0, 0, 272, 280, 274, 285, 0, 282, 291, 277,
|
||||
192, 0, 0, 288, 0, 312, 292, 290, 0, 296,
|
||||
295, 0, 293, 309, 0, 305, 302, 304, 336, 0,
|
||||
340, 309, 300, 0, 327, 316, 0, 317, 0, 0,
|
||||
350, 333, 330, 0, 345, 0, 334, 346, 426, 0,
|
||||
336, 0, 362, 338, 370, 0, 374, 426, 401, 403,
|
||||
409, 414, 419
|
||||
246, 242, 0, 244, 0, 260, 0, 257, 252, 279,
|
||||
261, 266, 273, 277, 283, 0, 0, 0, 272, 283,
|
||||
292, 279, 0, 0, 282, 297, 287, 294, 0, 293,
|
||||
302, 289, 292, 201, 0, 0, 299, 302, 325, 305,
|
||||
304, 0, 310, 308, 0, 320, 327, 0, 320, 318,
|
||||
327, 320, 351, 0, 327, 358, 328, 322, 0, 342,
|
||||
332, 0, 332, 0, 0, 0, 370, 0, 346, 337,
|
||||
0, 359, 0, 348, 360, 446, 0, 351, 0, 384,
|
||||
353, 390, 0, 391, 446, 421, 423, 429, 434, 439
|
||||
} ;
|
||||
|
||||
static yyconst flex_int16_t yy_def[184] =
|
||||
static yyconst flex_int16_t yy_def[191] =
|
||||
{ 0,
|
||||
178, 1, 178, 178, 178, 178, 178, 178, 179, 178,
|
||||
178, 178, 178, 178, 178, 180, 180, 180, 180, 180,
|
||||
180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
|
||||
180, 180, 178, 178, 178, 178, 178, 178, 178, 178,
|
||||
179, 178, 178, 181, 178, 178, 178, 178, 178, 180,
|
||||
180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
|
||||
180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
|
||||
180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
|
||||
178, 178, 178, 181, 178, 180, 180, 180, 180, 180,
|
||||
180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
|
||||
185, 1, 185, 185, 185, 185, 185, 185, 186, 185,
|
||||
185, 185, 185, 185, 185, 187, 187, 187, 187, 187,
|
||||
187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
|
||||
187, 187, 185, 185, 185, 185, 185, 185, 185, 185,
|
||||
186, 185, 185, 188, 185, 185, 185, 185, 185, 187,
|
||||
187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
|
||||
187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
|
||||
187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
|
||||
187, 185, 185, 185, 188, 185, 187, 187, 187, 187,
|
||||
187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
|
||||
|
||||
180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
|
||||
180, 178, 180, 180, 180, 180, 180, 180, 180, 180,
|
||||
180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
|
||||
182, 180, 180, 180, 180, 178, 180, 180, 180, 180,
|
||||
180, 180, 180, 180, 180, 180, 180, 180, 182, 180,
|
||||
178, 180, 180, 180, 180, 180, 180, 180, 180, 180,
|
||||
178, 178, 180, 180, 180, 180, 180, 178, 178, 180,
|
||||
180, 180, 178, 180, 183, 180, 183, 0, 178, 178,
|
||||
178, 178, 178
|
||||
187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
|
||||
187, 187, 187, 185, 187, 187, 187, 187, 187, 187,
|
||||
187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
|
||||
187, 187, 187, 189, 187, 187, 187, 187, 185, 187,
|
||||
187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
|
||||
187, 187, 189, 187, 187, 185, 187, 187, 187, 187,
|
||||
187, 187, 187, 187, 187, 187, 185, 187, 185, 187,
|
||||
187, 187, 187, 187, 185, 185, 187, 187, 187, 185,
|
||||
187, 190, 187, 190, 0, 185, 185, 185, 185, 185
|
||||
} ;
|
||||
|
||||
static yyconst flex_int16_t yy_nxt[487] =
|
||||
static yyconst flex_int16_t yy_nxt[507] =
|
||||
{ 0,
|
||||
4, 5, 6, 7, 8, 9, 10, 11, 12, 4,
|
||||
13, 14, 10, 15, 16, 17, 18, 19, 20, 21,
|
||||
@ -497,53 +498,56 @@ static yyconst flex_int16_t yy_nxt[487] =
|
||||
33, 45, 46, 34, 35, 36, 36, 37, 38, 39,
|
||||
39, 38, 38, 39, 39, 38, 37, 36, 36, 37,
|
||||
47, 48, 51, 52, 53, 40, 57, 61, 68, 40,
|
||||
85, 54, 59, 55, 62, 60, 63, 69, 70, 74,
|
||||
86, 54, 59, 55, 62, 60, 63, 69, 70, 74,
|
||||
|
||||
85, 58, 56, 36, 36, 51, 52, 53, 71, 40,
|
||||
86, 58, 56, 36, 36, 51, 52, 53, 71, 40,
|
||||
57, 61, 68, 40, 54, 59, 55, 62, 60, 63,
|
||||
69, 75, 70, 74, 58, 56, 64, 77, 65, 86,
|
||||
66, 71, 72, 78, 76, 73, 79, 80, 42, 67,
|
||||
81, 36, 36, 82, 49, 75, 82, 36, 36, 82,
|
||||
64, 77, 65, 86, 66, 72, 78, 76, 73, 83,
|
||||
79, 80, 67, 35, 36, 36, 37, 37, 36, 36,
|
||||
37, 38, 45, 46, 38, 38, 39, 39, 38, 87,
|
||||
88, 89, 83, 90, 91, 92, 93, 97, 40, 44,
|
||||
94, 95, 40, 131, 96, 98, 131, 99, 100, 101,
|
||||
69, 84, 70, 74, 58, 56, 64, 75, 65, 87,
|
||||
66, 71, 72, 45, 46, 73, 88, 76, 89, 67,
|
||||
77, 78, 80, 81, 84, 90, 95, 79, 42, 49,
|
||||
64, 75, 65, 87, 66, 72, 44, 43, 73, 88,
|
||||
76, 89, 67, 77, 91, 78, 80, 81, 90, 95,
|
||||
79, 82, 36, 36, 83, 83, 36, 36, 83, 35,
|
||||
36, 36, 37, 37, 36, 36, 37, 38, 91, 92,
|
||||
38, 38, 39, 39, 38, 93, 94, 42, 96, 97,
|
||||
|
||||
102, 103, 87, 88, 89, 104, 105, 90, 91, 92,
|
||||
93, 97, 40, 94, 95, 106, 40, 96, 107, 98,
|
||||
99, 100, 101, 102, 108, 103, 109, 115, 104, 105,
|
||||
110, 43, 111, 81, 36, 36, 82, 112, 106, 113,
|
||||
114, 116, 107, 82, 36, 36, 82, 117, 108, 118,
|
||||
109, 115, 119, 125, 110, 111, 120, 42, 122, 123,
|
||||
112, 124, 113, 114, 116, 121, 126, 178, 127, 128,
|
||||
117, 129, 118, 130, 133, 131, 119, 125, 131, 134,
|
||||
120, 122, 123, 135, 124, 136, 137, 139, 121, 138,
|
||||
126, 127, 128, 140, 143, 129, 130, 133, 141, 142,
|
||||
98, 99, 134, 100, 40, 134, 101, 102, 40, 185,
|
||||
103, 104, 109, 92, 105, 106, 107, 108, 110, 93,
|
||||
94, 96, 97, 111, 98, 99, 100, 112, 40, 101,
|
||||
102, 113, 40, 103, 185, 104, 109, 105, 106, 107,
|
||||
108, 114, 110, 82, 36, 36, 83, 111, 115, 116,
|
||||
117, 112, 118, 119, 113, 83, 36, 36, 83, 120,
|
||||
121, 122, 185, 124, 114, 125, 126, 127, 128, 185,
|
||||
123, 115, 116, 129, 117, 118, 119, 130, 131, 132,
|
||||
134, 133, 120, 134, 121, 122, 124, 136, 125, 126,
|
||||
137, 127, 128, 123, 138, 139, 129, 140, 185, 141,
|
||||
|
||||
132, 144, 134, 145, 146, 147, 150, 135, 148, 136,
|
||||
137, 139, 138, 151, 152, 156, 151, 140, 143, 153,
|
||||
154, 141, 142, 132, 144, 155, 157, 145, 146, 147,
|
||||
150, 148, 158, 159, 160, 163, 164, 161, 152, 156,
|
||||
161, 151, 153, 154, 151, 165, 178, 166, 155, 167,
|
||||
157, 161, 169, 178, 161, 158, 159, 160, 163, 164,
|
||||
170, 171, 162, 175, 172, 173, 175, 174, 176, 165,
|
||||
166, 175, 167, 178, 175, 178, 169, 168, 178, 178,
|
||||
178, 178, 178, 170, 178, 171, 162, 172, 178, 173,
|
||||
174, 176, 178, 178, 178, 178, 178, 178, 178, 178,
|
||||
130, 142, 131, 132, 133, 135, 143, 185, 144, 145,
|
||||
136, 146, 148, 137, 147, 149, 150, 154, 138, 139,
|
||||
151, 140, 141, 152, 155, 142, 156, 157, 135, 156,
|
||||
143, 144, 145, 158, 159, 146, 148, 147, 160, 149,
|
||||
150, 154, 161, 151, 162, 165, 152, 163, 155, 164,
|
||||
166, 157, 167, 168, 170, 167, 158, 159, 171, 156,
|
||||
172, 160, 156, 173, 174, 176, 161, 177, 162, 165,
|
||||
163, 167, 164, 166, 167, 178, 168, 170, 179, 180,
|
||||
169, 171, 181, 183, 172, 182, 173, 174, 182, 176,
|
||||
177, 182, 185, 185, 182, 185, 185, 175, 185, 178,
|
||||
|
||||
168, 41, 41, 178, 41, 41, 41, 50, 50, 84,
|
||||
84, 178, 178, 84, 84, 149, 178, 178, 178, 149,
|
||||
177, 178, 178, 178, 177, 3, 178, 178, 178, 178,
|
||||
178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
|
||||
178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
|
||||
178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
|
||||
178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
|
||||
178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
|
||||
178, 178, 178, 178, 178, 178
|
||||
185, 179, 185, 180, 169, 181, 183, 185, 185, 185,
|
||||
185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
|
||||
175, 41, 41, 185, 41, 41, 41, 50, 50, 85,
|
||||
85, 185, 185, 85, 85, 153, 185, 185, 185, 153,
|
||||
184, 185, 185, 185, 184, 3, 185, 185, 185, 185,
|
||||
185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
|
||||
185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
|
||||
185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
|
||||
185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
|
||||
185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
|
||||
|
||||
185, 185, 185, 185, 185, 185
|
||||
} ;
|
||||
|
||||
static yyconst flex_int16_t yy_chk[487] =
|
||||
static yyconst flex_int16_t yy_chk[507] =
|
||||
{ 0,
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
@ -554,50 +558,53 @@ static yyconst flex_int16_t yy_chk[487] =
|
||||
2, 13, 13, 2, 5, 5, 5, 5, 6, 6,
|
||||
6, 6, 7, 7, 7, 7, 8, 8, 8, 8,
|
||||
14, 14, 16, 18, 19, 6, 21, 23, 26, 7,
|
||||
85, 20, 22, 20, 23, 22, 24, 26, 27, 29,
|
||||
86, 20, 22, 20, 23, 22, 24, 26, 27, 29,
|
||||
|
||||
45, 21, 20, 36, 36, 16, 18, 19, 27, 6,
|
||||
21, 23, 26, 7, 20, 22, 20, 23, 22, 24,
|
||||
26, 30, 27, 29, 21, 20, 25, 31, 25, 51,
|
||||
25, 27, 28, 31, 30, 28, 32, 32, 41, 25,
|
||||
33, 33, 33, 33, 15, 30, 34, 34, 34, 34,
|
||||
25, 31, 25, 51, 25, 28, 31, 30, 28, 40,
|
||||
32, 32, 25, 35, 35, 35, 35, 37, 37, 37,
|
||||
37, 38, 46, 46, 38, 39, 39, 39, 39, 52,
|
||||
53, 54, 40, 55, 56, 57, 58, 64, 38, 12,
|
||||
59, 62, 39, 131, 63, 65, 131, 66, 67, 68,
|
||||
26, 40, 27, 29, 21, 20, 25, 30, 25, 51,
|
||||
25, 27, 28, 46, 46, 28, 52, 30, 53, 25,
|
||||
30, 31, 32, 32, 40, 54, 59, 31, 41, 15,
|
||||
25, 30, 25, 51, 25, 28, 12, 11, 28, 52,
|
||||
30, 53, 25, 30, 55, 31, 32, 32, 54, 59,
|
||||
31, 33, 33, 33, 33, 34, 34, 34, 34, 35,
|
||||
35, 35, 35, 37, 37, 37, 37, 38, 55, 56,
|
||||
38, 39, 39, 39, 39, 57, 58, 9, 62, 63,
|
||||
|
||||
69, 72, 52, 53, 54, 73, 74, 55, 56, 57,
|
||||
58, 64, 38, 59, 62, 75, 39, 63, 76, 65,
|
||||
66, 67, 68, 69, 77, 72, 79, 89, 73, 74,
|
||||
79, 11, 80, 81, 81, 81, 81, 83, 75, 87,
|
||||
88, 91, 76, 82, 82, 82, 82, 92, 77, 93,
|
||||
79, 89, 94, 99, 79, 80, 95, 9, 96, 97,
|
||||
83, 98, 87, 88, 91, 95, 100, 3, 101, 103,
|
||||
92, 105, 93, 107, 109, 108, 94, 99, 108, 110,
|
||||
95, 96, 97, 111, 98, 112, 113, 118, 95, 117,
|
||||
100, 101, 103, 119, 124, 105, 107, 109, 120, 123,
|
||||
64, 65, 134, 66, 38, 134, 67, 68, 39, 3,
|
||||
69, 72, 77, 56, 73, 74, 75, 76, 78, 57,
|
||||
58, 62, 63, 80, 64, 65, 66, 80, 38, 67,
|
||||
68, 81, 39, 69, 0, 72, 77, 73, 74, 75,
|
||||
76, 84, 78, 82, 82, 82, 82, 80, 88, 89,
|
||||
90, 80, 92, 93, 81, 83, 83, 83, 83, 94,
|
||||
95, 96, 0, 97, 84, 98, 99, 100, 101, 0,
|
||||
96, 88, 89, 102, 90, 92, 93, 104, 106, 108,
|
||||
110, 109, 94, 110, 95, 96, 97, 111, 98, 99,
|
||||
112, 100, 101, 96, 113, 114, 102, 115, 0, 119,
|
||||
|
||||
108, 125, 110, 126, 128, 129, 134, 111, 130, 112,
|
||||
113, 118, 117, 136, 137, 143, 136, 119, 124, 138,
|
||||
140, 120, 123, 108, 125, 141, 144, 126, 128, 129,
|
||||
134, 130, 146, 147, 148, 152, 153, 149, 137, 143,
|
||||
149, 151, 138, 140, 151, 155, 0, 156, 141, 158,
|
||||
144, 161, 162, 0, 161, 146, 147, 148, 152, 153,
|
||||
163, 165, 151, 173, 167, 168, 173, 171, 174, 155,
|
||||
156, 175, 158, 0, 175, 177, 162, 161, 177, 0,
|
||||
0, 0, 0, 163, 0, 165, 151, 167, 0, 168,
|
||||
171, 174, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
104, 120, 106, 108, 109, 110, 121, 0, 122, 125,
|
||||
111, 126, 128, 112, 127, 130, 131, 137, 113, 114,
|
||||
132, 115, 119, 133, 138, 120, 139, 140, 110, 139,
|
||||
121, 122, 125, 141, 143, 126, 128, 127, 144, 130,
|
||||
131, 137, 146, 132, 147, 151, 133, 149, 138, 150,
|
||||
152, 140, 153, 155, 157, 153, 141, 143, 158, 156,
|
||||
160, 144, 156, 161, 163, 169, 146, 170, 147, 151,
|
||||
149, 167, 150, 152, 167, 172, 155, 157, 174, 175,
|
||||
156, 158, 178, 181, 160, 180, 161, 163, 180, 169,
|
||||
170, 182, 184, 0, 182, 184, 0, 167, 0, 172,
|
||||
|
||||
161, 179, 179, 0, 179, 179, 179, 180, 180, 181,
|
||||
181, 0, 0, 181, 181, 182, 0, 0, 0, 182,
|
||||
183, 0, 0, 0, 183, 178, 178, 178, 178, 178,
|
||||
178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
|
||||
178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
|
||||
178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
|
||||
178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
|
||||
178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
|
||||
178, 178, 178, 178, 178, 178
|
||||
0, 174, 0, 175, 156, 178, 181, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
167, 186, 186, 0, 186, 186, 186, 187, 187, 188,
|
||||
188, 0, 0, 188, 188, 189, 0, 0, 0, 189,
|
||||
190, 0, 0, 0, 190, 185, 185, 185, 185, 185,
|
||||
185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
|
||||
185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
|
||||
185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
|
||||
185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
|
||||
185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
|
||||
|
||||
185, 185, 185, 185, 185, 185
|
||||
} ;
|
||||
|
||||
static yy_state_type yy_last_accepting_state;
|
||||
@ -662,7 +669,7 @@ static void countnl() {
|
||||
g_lingo->_colnumber = strlen(p);
|
||||
}
|
||||
|
||||
#line 666 "engines/director/lingo/lingo-lex.cpp"
|
||||
#line 673 "engines/director/lingo/lingo-lex.cpp"
|
||||
|
||||
#define INITIAL 0
|
||||
|
||||
@ -850,7 +857,7 @@ YY_DECL
|
||||
#line 60 "engines/director/lingo/lingo-lex.l"
|
||||
|
||||
|
||||
#line 854 "engines/director/lingo/lingo-lex.cpp"
|
||||
#line 861 "engines/director/lingo/lingo-lex.cpp"
|
||||
|
||||
if ( !(yy_init) )
|
||||
{
|
||||
@ -904,13 +911,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 >= 179 )
|
||||
if ( yy_current_state >= 186 )
|
||||
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] != 426 );
|
||||
while ( yy_base[yy_current_state] != 446 );
|
||||
|
||||
yy_find_action:
|
||||
yy_act = yy_accept[yy_current_state];
|
||||
@ -1181,41 +1188,51 @@ YY_RULE_SETUP
|
||||
case 38:
|
||||
YY_RULE_SETUP
|
||||
#line 157 "engines/director/lingo/lingo-lex.l"
|
||||
{ count(); return tWITH; }
|
||||
{ count(); return tSPRITE; }
|
||||
YY_BREAK
|
||||
case 39:
|
||||
YY_RULE_SETUP
|
||||
#line 158 "engines/director/lingo/lingo-lex.l"
|
||||
{ count(); return tWHEN; }
|
||||
{ count(); return tWITH; }
|
||||
YY_BREAK
|
||||
case 40:
|
||||
YY_RULE_SETUP
|
||||
#line 159 "engines/director/lingo/lingo-lex.l"
|
||||
{ count(); return tWHILE; }
|
||||
{ count(); return tWITHIN; }
|
||||
YY_BREAK
|
||||
case 41:
|
||||
YY_RULE_SETUP
|
||||
#line 161 "engines/director/lingo/lingo-lex.l"
|
||||
{ count(); return tNEQ; }
|
||||
#line 160 "engines/director/lingo/lingo-lex.l"
|
||||
{ count(); return tWHEN; }
|
||||
YY_BREAK
|
||||
case 42:
|
||||
YY_RULE_SETUP
|
||||
#line 162 "engines/director/lingo/lingo-lex.l"
|
||||
{ count(); return tGE; }
|
||||
#line 161 "engines/director/lingo/lingo-lex.l"
|
||||
{ count(); return tWHILE; }
|
||||
YY_BREAK
|
||||
case 43:
|
||||
YY_RULE_SETUP
|
||||
#line 163 "engines/director/lingo/lingo-lex.l"
|
||||
{ count(); return tLE; }
|
||||
{ count(); return tNEQ; }
|
||||
YY_BREAK
|
||||
case 44:
|
||||
YY_RULE_SETUP
|
||||
#line 164 "engines/director/lingo/lingo-lex.l"
|
||||
{ count(); return tCONCAT; }
|
||||
{ count(); return tGE; }
|
||||
YY_BREAK
|
||||
case 45:
|
||||
YY_RULE_SETUP
|
||||
#line 165 "engines/director/lingo/lingo-lex.l"
|
||||
{ count(); return tLE; }
|
||||
YY_BREAK
|
||||
case 46:
|
||||
YY_RULE_SETUP
|
||||
#line 166 "engines/director/lingo/lingo-lex.l"
|
||||
{ count(); return tCONCAT; }
|
||||
YY_BREAK
|
||||
case 47:
|
||||
YY_RULE_SETUP
|
||||
#line 168 "engines/director/lingo/lingo-lex.l"
|
||||
{
|
||||
count();
|
||||
yylval.s = new Common::String(yytext);
|
||||
@ -1230,43 +1247,43 @@ YY_RULE_SETUP
|
||||
return ID;
|
||||
}
|
||||
YY_BREAK
|
||||
case 46:
|
||||
YY_RULE_SETUP
|
||||
#line 179 "engines/director/lingo/lingo-lex.l"
|
||||
{ count(); yylval.f = atof(yytext); return FLOAT; }
|
||||
YY_BREAK
|
||||
case 47:
|
||||
YY_RULE_SETUP
|
||||
#line 180 "engines/director/lingo/lingo-lex.l"
|
||||
{ count(); yylval.i = strtol(yytext, NULL, 10); return INT; }
|
||||
YY_BREAK
|
||||
case 48:
|
||||
YY_RULE_SETUP
|
||||
#line 181 "engines/director/lingo/lingo-lex.l"
|
||||
{ count(); return *yytext; }
|
||||
{ count(); yylval.f = atof(yytext); return FLOAT; }
|
||||
YY_BREAK
|
||||
case 49:
|
||||
/* rule 49 can match eol */
|
||||
YY_RULE_SETUP
|
||||
#line 182 "engines/director/lingo/lingo-lex.l"
|
||||
{ return '\n'; }
|
||||
{ count(); yylval.i = strtol(yytext, NULL, 10); return INT; }
|
||||
YY_BREAK
|
||||
case 50:
|
||||
YY_RULE_SETUP
|
||||
#line 183 "engines/director/lingo/lingo-lex.l"
|
||||
{ count(); yylval.s = new Common::String(&yytext[1]); yylval.s->deleteLastChar(); return STRING; }
|
||||
{ count(); return *yytext; }
|
||||
YY_BREAK
|
||||
case 51:
|
||||
/* rule 51 can match eol */
|
||||
YY_RULE_SETUP
|
||||
#line 184 "engines/director/lingo/lingo-lex.l"
|
||||
|
||||
{ return '\n'; }
|
||||
YY_BREAK
|
||||
case 52:
|
||||
YY_RULE_SETUP
|
||||
#line 185 "engines/director/lingo/lingo-lex.l"
|
||||
{ count(); yylval.s = new Common::String(&yytext[1]); yylval.s->deleteLastChar(); return STRING; }
|
||||
YY_BREAK
|
||||
case 53:
|
||||
YY_RULE_SETUP
|
||||
#line 186 "engines/director/lingo/lingo-lex.l"
|
||||
|
||||
YY_BREAK
|
||||
case 54:
|
||||
YY_RULE_SETUP
|
||||
#line 188 "engines/director/lingo/lingo-lex.l"
|
||||
ECHO;
|
||||
YY_BREAK
|
||||
#line 1270 "engines/director/lingo/lingo-lex.cpp"
|
||||
#line 1287 "engines/director/lingo/lingo-lex.cpp"
|
||||
case YY_STATE_EOF(INITIAL):
|
||||
yyterminate();
|
||||
|
||||
@ -1559,7 +1576,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 >= 179 )
|
||||
if ( yy_current_state >= 186 )
|
||||
yy_c = yy_meta[(unsigned int) yy_c];
|
||||
}
|
||||
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
|
||||
@ -1587,11 +1604,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 >= 179 )
|
||||
if ( yy_current_state >= 186 )
|
||||
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 == 178);
|
||||
yy_is_jam = (yy_current_state == 185);
|
||||
|
||||
return yy_is_jam ? 0 : yy_current_state;
|
||||
}
|
||||
@ -2266,7 +2283,7 @@ void yyfree (void * ptr )
|
||||
|
||||
#define YYTABLES_NAME "yytables"
|
||||
|
||||
#line 186 "engines/director/lingo/lingo-lex.l"
|
||||
#line 188 "engines/director/lingo/lingo-lex.l"
|
||||
|
||||
|
||||
|
||||
|
@ -154,7 +154,9 @@ whitespace [\t ]
|
||||
}
|
||||
(?i:then) { count(); return tTHEN; }
|
||||
(?i:to) { count(); return tTO; }
|
||||
(?i:sprite) { count(); return tSPRITE; }
|
||||
(?i:with) { count(); return tWITH; }
|
||||
(?i:within) { count(); return tWITHIN; }
|
||||
(?i:when) { count(); return tWHEN; }
|
||||
(?i:while) { count(); return tWHILE; }
|
||||
|
||||
|
@ -204,6 +204,7 @@ public:
|
||||
static void c_starts();
|
||||
|
||||
static void c_intersects();
|
||||
static void c_within();
|
||||
|
||||
static void c_constpush();
|
||||
static void c_fconstpush();
|
||||
|
@ -37,12 +37,12 @@ method mAtFrame
|
||||
dontpassevent
|
||||
set the castnum of sprite 14 to bcast
|
||||
set the LocV of sprite 14 to (startV-stepV)
|
||||
-- if sprite 14 intersects 10 and (startV-6) <= targetV then
|
||||
if sprite 14 intersects 10 and (startV-6) <= targetV then
|
||||
set the castnum of sprite 14 to f16
|
||||
set the perframehook to false
|
||||
me(hit)
|
||||
exit
|
||||
-- end if
|
||||
end if
|
||||
if startV < targetV or bcast>g17 then
|
||||
set the perframehook to false
|
||||
set the locV of sprite 14 to 340
|
||||
|
Loading…
x
Reference in New Issue
Block a user