1 #line 2 "tokenizer.yy.c"
3 #line 4 "tokenizer.yy.c"
5 #define YY_INT_ALIGNED short int
7 /* A lexical scanner generated by flex */
9 #define yy_create_buffer as3__create_buffer
10 #define yy_delete_buffer as3__delete_buffer
11 #define yy_flex_debug as3__flex_debug
12 #define yy_init_buffer as3__init_buffer
13 #define yy_flush_buffer as3__flush_buffer
14 #define yy_load_buffer_state as3__load_buffer_state
15 #define yy_switch_to_buffer as3__switch_to_buffer
17 #define yyleng as3_leng
19 #define yylineno as3_lineno
21 #define yyrestart as3_restart
22 #define yytext as3_text
23 #define yywrap as3_wrap
24 #define yyalloc as3_alloc
25 #define yyrealloc as3_realloc
26 #define yyfree as3_free
29 #define YY_FLEX_MAJOR_VERSION 2
30 #define YY_FLEX_MINOR_VERSION 5
31 #define YY_FLEX_SUBMINOR_VERSION 35
32 #if YY_FLEX_SUBMINOR_VERSION > 0
36 /* First, we deal with platform-specific or compiler-specific issues. */
38 /* begin standard C headers. */
44 /* end standard C headers. */
46 /* flex integer type definitions */
51 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
53 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
55 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
56 * if you want the limit (max/min) macros for int types.
58 #ifndef __STDC_LIMIT_MACROS
59 #define __STDC_LIMIT_MACROS 1
63 typedef int8_t flex_int8_t;
64 typedef uint8_t flex_uint8_t;
65 typedef int16_t flex_int16_t;
66 typedef uint16_t flex_uint16_t;
67 typedef int32_t flex_int32_t;
68 typedef uint32_t flex_uint32_t;
70 typedef signed char flex_int8_t;
71 typedef short int flex_int16_t;
72 typedef int flex_int32_t;
73 typedef unsigned char flex_uint8_t;
74 typedef unsigned short int flex_uint16_t;
75 typedef unsigned int flex_uint32_t;
78 /* Limits of integral types. */
80 #define INT8_MIN (-128)
83 #define INT16_MIN (-32767-1)
86 #define INT32_MIN (-2147483647-1)
89 #define INT8_MAX (127)
92 #define INT16_MAX (32767)
95 #define INT32_MAX (2147483647)
98 #define UINT8_MAX (255U)
101 #define UINT16_MAX (65535U)
104 #define UINT32_MAX (4294967295U)
107 #endif /* ! FLEXINT_H */
111 /* The "const" storage-class-modifier is valid. */
114 #else /* ! __cplusplus */
116 /* C99 requires __STDC__ to be defined as 1. */
117 #if defined (__STDC__)
121 #endif /* defined (__STDC__) */
122 #endif /* ! __cplusplus */
125 #define yyconst const
130 /* Returned upon end-of-file. */
133 /* Promotes a possibly negative, possibly signed char to an unsigned
134 * integer for use as an array index. If the signed char is negative,
135 * we want to instead treat it as an 8-bit unsigned char, hence the
138 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
140 /* Enter a start condition. This macro really ought to take a parameter,
141 * but we do it the disgusting crufty way forced on us by the ()-less
142 * definition of BEGIN.
144 #define BEGIN (yy_start) = 1 + 2 *
146 /* Translate the current start state into a value that can be later handed
147 * to BEGIN to return to the state. The YYSTATE alias is for lex
150 #define YY_START (((yy_start) - 1) / 2)
151 #define YYSTATE YY_START
153 /* Action number for EOF rule of a given start state. */
154 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
156 /* Special action meaning "start processing a new file". */
157 #define YY_NEW_FILE as3_restart(as3_in )
159 #define YY_END_OF_BUFFER_CHAR 0
161 /* Size of default input buffer. */
163 #define YY_BUF_SIZE 16384
166 /* The state buf must be large enough to hold one state per character in the main buffer.
168 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
170 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
171 #define YY_TYPEDEF_YY_BUFFER_STATE
172 typedef struct yy_buffer_state *YY_BUFFER_STATE;
177 extern FILE *as3_in, *as3_out;
179 #define EOB_ACT_CONTINUE_SCAN 0
180 #define EOB_ACT_END_OF_FILE 1
181 #define EOB_ACT_LAST_MATCH 2
183 #define YY_LESS_LINENO(n)
185 /* Return all but the first "n" matched characters back to the input stream. */
189 /* Undo effects of setting up as3_text. */ \
190 int yyless_macro_arg = (n); \
191 YY_LESS_LINENO(yyless_macro_arg);\
192 *yy_cp = (yy_hold_char); \
193 YY_RESTORE_YY_MORE_OFFSET \
194 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
195 YY_DO_BEFORE_ACTION; /* set up as3_text again */ \
199 #define unput(c) yyunput( c, (yytext_ptr) )
201 #ifndef YY_TYPEDEF_YY_SIZE_T
202 #define YY_TYPEDEF_YY_SIZE_T
203 typedef size_t yy_size_t;
206 #ifndef YY_STRUCT_YY_BUFFER_STATE
207 #define YY_STRUCT_YY_BUFFER_STATE
208 struct yy_buffer_state
212 char *yy_ch_buf; /* input buffer */
213 char *yy_buf_pos; /* current position in input buffer */
215 /* Size of input buffer in bytes, not including room for EOB
218 yy_size_t yy_buf_size;
220 /* Number of characters read into yy_ch_buf, not including EOB
225 /* Whether we "own" the buffer - i.e., we know we created it,
226 * and can realloc() it to grow it, and should free() it to
229 int yy_is_our_buffer;
231 /* Whether this is an "interactive" input source; if so, and
232 * if we're using stdio for input, then we want to use getc()
233 * instead of fread(), to make sure we stop fetching input after
236 int yy_is_interactive;
238 /* Whether we're considered to be at the beginning of a line.
239 * If so, '^' rules will be active on the next match, otherwise
244 int yy_bs_lineno; /**< The line count. */
245 int yy_bs_column; /**< The column count. */
247 /* Whether to try to fill the input buffer when we reach the
252 int yy_buffer_status;
254 #define YY_BUFFER_NEW 0
255 #define YY_BUFFER_NORMAL 1
256 /* When an EOF's been seen but there's still some text to process
257 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
258 * shouldn't try reading from the input source any more. We might
259 * still have a bunch of tokens to match, though, because of
260 * possible backing-up.
262 * When we actually see the EOF, we change the status to "new"
263 * (via as3_restart()), so that the user can continue scanning by
264 * just pointing as3_in at a new input file.
266 #define YY_BUFFER_EOF_PENDING 2
269 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
271 /* Stack of input buffers. */
272 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
273 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
274 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
276 /* We provide macros for accessing buffer states in case in the
277 * future we want to put the buffer states in a more general
280 * Returns the top of the stack, or NULL.
282 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
283 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
286 /* Same as previous macro, but useful when we know that the buffer stack is not
287 * NULL or when we need an lvalue. For internal use only.
289 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
291 /* yy_hold_char holds the character lost when as3_text is formed. */
292 static char yy_hold_char;
293 static int yy_n_chars; /* number of characters read into yy_ch_buf */
296 /* Points to current character in buffer. */
297 static char *yy_c_buf_p = (char *) 0;
298 static int yy_init = 0; /* whether we need to initialize */
299 static int yy_start = 0; /* start state number */
301 /* Flag which is used to allow as3_wrap()'s to do buffer switches
302 * instead of setting up a fresh as3_in. A bit of a hack ...
304 static int yy_did_buffer_switch_on_eof;
306 void as3_restart (FILE *input_file );
307 void as3__switch_to_buffer (YY_BUFFER_STATE new_buffer );
308 YY_BUFFER_STATE as3__create_buffer (FILE *file,int size );
309 void as3__delete_buffer (YY_BUFFER_STATE b );
310 void as3__flush_buffer (YY_BUFFER_STATE b );
311 void as3_push_buffer_state (YY_BUFFER_STATE new_buffer );
312 void as3_pop_buffer_state (void );
314 static void as3_ensure_buffer_stack (void );
315 static void as3__load_buffer_state (void );
316 static void as3__init_buffer (YY_BUFFER_STATE b,FILE *file );
318 #define YY_FLUSH_BUFFER as3__flush_buffer(YY_CURRENT_BUFFER )
320 YY_BUFFER_STATE as3__scan_buffer (char *base,yy_size_t size );
321 YY_BUFFER_STATE as3__scan_string (yyconst char *yy_str );
322 YY_BUFFER_STATE as3__scan_bytes (yyconst char *bytes,int len );
324 void *as3_alloc (yy_size_t );
325 void *as3_realloc (void *,yy_size_t );
326 void as3_free (void * );
328 #define yy_new_buffer as3__create_buffer
330 #define yy_set_interactive(is_interactive) \
332 if ( ! YY_CURRENT_BUFFER ){ \
333 as3_ensure_buffer_stack (); \
334 YY_CURRENT_BUFFER_LVALUE = \
335 as3__create_buffer(as3_in,YY_BUF_SIZE ); \
337 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
340 #define yy_set_bol(at_bol) \
342 if ( ! YY_CURRENT_BUFFER ){\
343 as3_ensure_buffer_stack (); \
344 YY_CURRENT_BUFFER_LVALUE = \
345 as3__create_buffer(as3_in,YY_BUF_SIZE ); \
347 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
350 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
352 /* Begin user sect3 */
354 typedef unsigned char YY_CHAR;
356 FILE *as3_in = (FILE *) 0, *as3_out = (FILE *) 0;
358 typedef int yy_state_type;
360 extern int as3_lineno;
364 extern char *as3_text;
365 #define yytext_ptr as3_text
367 static yy_state_type yy_get_previous_state (void );
368 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
369 static int yy_get_next_buffer (void );
370 static void yy_fatal_error (yyconst char msg[] );
372 /* Done after the current pattern has been matched and before the
373 * corresponding action - sets up as3_text.
375 #define YY_DO_BEFORE_ACTION \
376 (yytext_ptr) = yy_bp; \
377 as3_leng = (size_t) (yy_cp - yy_bp); \
378 (yy_hold_char) = *yy_cp; \
380 (yy_c_buf_p) = yy_cp;
382 #define YY_NUM_RULES 111
383 #define YY_END_OF_BUFFER 112
384 /* This struct is not used in this scanner,
385 but its presence is necessary. */
388 flex_int32_t yy_verify;
391 static yyconst flex_int16_t yy_accept[509] =
393 0, 0, 0, 0, 0, 0, 112, 110, 16, 16,
394 108, 110, 108, 108, 108, 110, 109, 107, 108, 108,
395 55, 108, 110, 110, 110, 57, 108, 108, 108, 106,
396 107, 108, 106, 106, 106, 106, 106, 106, 106, 106,
397 106, 106, 106, 106, 106, 106, 106, 106, 106, 14,
398 108, 107, 110, 106, 108, 108, 55, 108, 110, 110,
399 110, 13, 32, 0, 6, 0, 44, 30, 0, 0,
400 45, 39, 40, 38, 42, 54, 0, 3, 0, 43,
401 19, 19, 0, 0, 0, 0, 56, 0, 50, 37,
402 35, 36, 52, 0, 106, 0, 41, 105, 106, 106,
404 106, 106, 106, 27, 106, 106, 106, 106, 106, 106,
405 106, 106, 106, 104, 106, 103, 102, 106, 106, 106,
406 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
407 106, 106, 106, 106, 106, 106, 106, 106, 46, 31,
408 0, 103, 0, 0, 0, 0, 0, 3, 8, 43,
409 0, 11, 11, 0, 0, 0, 33, 53, 20, 0,
410 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
411 0, 48, 34, 47, 51, 0, 0, 0, 0, 0,
412 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
413 106, 106, 106, 26, 106, 98, 106, 106, 106, 106,
415 106, 97, 106, 106, 106, 106, 106, 106, 106, 99,
416 106, 106, 106, 106, 106, 101, 106, 106, 96, 100,
417 106, 106, 106, 15, 106, 0, 11, 11, 0, 0,
418 12, 8, 0, 0, 0, 8, 0, 8, 8, 0,
419 0, 0, 0, 0, 0, 0, 2, 0, 18, 0,
420 17, 17, 0, 0, 49, 0, 0, 0, 0, 106,
421 94, 106, 106, 106, 106, 106, 106, 106, 89, 93,
422 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
423 92, 106, 106, 106, 106, 106, 106, 106, 106, 106,
424 106, 91, 106, 106, 90, 106, 95, 106, 12, 0,
426 0, 0, 0, 8, 0, 8, 0, 0, 2, 0,
427 8, 8, 10, 0, 9, 9, 0, 2, 21, 0,
428 23, 0, 0, 0, 87, 84, 82, 83, 106, 106,
429 106, 106, 106, 86, 85, 106, 106, 106, 106, 106,
430 106, 106, 106, 106, 106, 106, 106, 106, 106, 88,
431 106, 81, 106, 106, 28, 106, 10, 0, 9, 9,
432 0, 0, 2, 0, 8, 8, 0, 22, 0, 0,
433 106, 106, 74, 106, 106, 106, 106, 106, 79, 106,
434 106, 106, 106, 77, 106, 106, 106, 106, 76, 75,
435 78, 29, 80, 106, 106, 8, 0, 0, 0, 106,
437 69, 72, 73, 68, 106, 106, 106, 106, 106, 106,
438 106, 70, 71, 106, 106, 106, 8, 0, 0, 24,
439 64, 67, 106, 106, 106, 66, 106, 65, 106, 106,
440 0, 0, 25, 106, 106, 60, 61, 62, 63, 0,
441 0, 0, 0, 0, 0, 59, 58, 0, 5, 0,
442 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
443 0, 5, 0, 0, 0, 0, 0, 0, 0, 4,
444 0, 0, 4, 0, 5, 0, 0, 0, 0, 7,
445 0, 23, 5, 23, 23, 0, 0, 0, 7, 0,
446 22, 5, 22, 22, 0, 0, 0, 0, 0, 24,
448 5, 24, 24, 25, 5, 25, 25, 0
451 static yyconst flex_int32_t yy_ec[256] =
453 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
454 1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
455 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
456 1, 5, 6, 7, 8, 9, 10, 11, 12, 9,
457 13, 14, 15, 9, 16, 17, 18, 19, 20, 20,
458 21, 20, 20, 20, 20, 20, 20, 22, 9, 23,
459 24, 25, 9, 9, 26, 27, 28, 29, 27, 27,
460 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
461 27, 27, 27, 30, 27, 27, 27, 27, 27, 27,
462 31, 32, 33, 34, 35, 8, 36, 37, 38, 39,
464 40, 41, 42, 43, 44, 27, 45, 46, 47, 48,
465 49, 50, 27, 51, 52, 53, 54, 55, 56, 57,
466 58, 27, 59, 60, 61, 9, 8, 8, 8, 8,
467 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
468 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
469 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
470 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
471 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
472 8, 8, 8, 8, 8, 8, 62, 8, 8, 8,
473 63, 8, 8, 8, 8, 8, 8, 8, 8, 8,
475 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
476 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
477 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
478 8, 8, 8, 8, 8, 8, 8, 8, 64, 8,
479 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
483 static yyconst flex_int32_t yy_meta[65] =
485 1, 2, 3, 2, 2, 4, 4, 4, 4, 4,
486 4, 4, 4, 4, 4, 4, 5, 4, 6, 6,
487 6, 2, 4, 4, 4, 7, 7, 7, 7, 7,
488 4, 8, 4, 4, 8, 7, 7, 7, 7, 9,
489 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
490 7, 7, 7, 7, 7, 7, 10, 7, 4, 4,
494 static yyconst flex_int16_t yy_base[540] =
496 0, 530, 50, 57, 64, 71, 573, 2854, 2854, 2854,
497 546, 86, 2854, 544, 555, 82, 2854, 541, 80, 81,
498 79, 88, 100, 105, 110, 540, 128, 523, 83, 133,
499 2854, 520, 144, 166, 170, 140, 107, 141, 161, 177,
500 191, 145, 184, 163, 203, 212, 198, 205, 228, 2854,
501 79, 2854, 477, 232, 268, 274, 280, 190, 285, 290,
502 295, 2854, 507, 126, 2854, 525, 2854, 2854, 147, 523,
503 2854, 2854, 2854, 2854, 2854, 507, 246, 318, 107, 2854,
504 2854, 308, 320, 163, 506, 466, 2854, 484, 487, 2854,
505 482, 2854, 117, 351, 277, 359, 2854, 321, 329, 330,
507 322, 338, 344, 345, 353, 359, 360, 367, 368, 382,
508 383, 387, 391, 402, 403, 409, 410, 418, 414, 430,
509 432, 437, 438, 452, 444, 456, 458, 464, 472, 476,
510 483, 484, 499, 500, 506, 507, 514, 518, 2854, 2854,
511 433, 523, 324, 560, 565, 568, 210, 589, 620, 244,
512 264, 2854, 575, 662, 330, 468, 2854, 2854, 2854, 624,
513 628, 683, 439, 314, 2854, 578, 593, 719, 783, 428,
514 415, 2854, 2854, 2854, 418, 816, 392, 373, 365, 367,
515 570, 605, 654, 658, 659, 660, 786, 766, 787, 788,
516 812, 804, 805, 813, 827, 828, 833, 834, 835, 849,
518 842, 854, 856, 858, 865, 870, 877, 872, 886, 888,
519 892, 893, 900, 908, 912, 914, 919, 926, 928, 933,
520 934, 935, 942, 2854, 940, 615, 2854, 973, 405, 390,
521 2854, 0, 994, 1000, 1019, 370, 1026, 0, 1041, 996,
522 1022, 1099, 1163, 114, 1046, 1188, 341, 1197, 2854, 0,
523 2854, 0, 287, 305, 2854, 0, 280, 280, 259, 989,
524 1017, 1167, 1168, 1159, 1185, 1192, 1194, 1203, 1196, 1208,
525 1212, 1219, 1217, 1226, 1231, 1237, 1238, 1245, 1246, 1253,
526 1254, 1261, 1265, 1269, 1273, 1280, 1281, 1287, 1289, 1301,
527 1305, 1306, 1307, 1321, 1322, 1323, 1328, 1329, 2854, 1035,
529 1216, 1383, 1447, 0, 1465, 1511, 1472, 1575, 257, 1580,
530 1612, 0, 2854, 0, 2854, 0, 1676, 2854, 2854, 243,
531 2854, 0, 207, 207, 1330, 1446, 1452, 1453, 1551, 1555,
532 1556, 1647, 1646, 1651, 1652, 1663, 1667, 1669, 1675, 1684,
533 1690, 1695, 1701, 1706, 1707, 1713, 1725, 1718, 1732, 1733,
534 1737, 1739, 1748, 1754, 1755, 1756, 2854, 0, 2854, 0,
535 1805, 1810, 0, 1829, 0, 0, 202, 2854, 183, 175,
536 1780, 1799, 1800, 1817, 1805, 1822, 1823, 1824, 1829, 1838,
537 1843, 1845, 1847, 1849, 1861, 1863, 1865, 1870, 1872, 1879,
538 1881, 1886, 1888, 1890, 1904, 187, 176, 150, 0, 1905,
540 1897, 1906, 1911, 1912, 1920, 1926, 1927, 1941, 1934, 1946,
541 1945, 1950, 1952, 1957, 1964, 2012, 160, 134, 0, 2854,
542 1972, 1973, 1984, 1989, 1996, 1995, 2003, 2004, 2018, 2020,
543 2068, 130, 2854, 2032, 2046, 2040, 2047, 2052, 2058, 711,
544 204, 2107, 2111, 127, 121, 2081, 2082, 1606, 2024, 2118,
545 2130, 301, 2138, 141, 360, 2142, 2154, 2167, 2173, 2179,
546 2185, 2190, 2199, 2203, 2207, 2211, 2215, 444, 2230, 2245,
547 120, 2257, 2261, 2266, 2270, 2302, 2281, 2285, 2290, 2854,
548 466, 2274, 2294, 2335, 2339, 2366, 2343, 2347, 80, 470,
549 2351, 2355, 2399, 2403, 2407, 2411, 2415, 2458, 2522, 2419,
551 2429, 2433, 2437, 2444, 2450, 2482, 2491, 2854, 2586, 2596,
552 2606, 2615, 2625, 2635, 2645, 2654, 2664, 2670, 2680, 2690,
553 2699, 2705, 2715, 2725, 2730, 2734, 2744, 2754, 2764, 2769,
554 2779, 2784, 2789, 2794, 2804, 2813, 2823, 2833, 2843
557 static yyconst flex_int16_t yy_def[540] =
559 508, 1, 1, 1, 1, 1, 508, 508, 508, 508,
560 508, 509, 508, 508, 508, 510, 508, 508, 508, 508,
561 508, 508, 511, 511, 511, 508, 508, 508, 508, 512,
562 508, 508, 512, 512, 512, 35, 35, 35, 35, 35,
563 35, 35, 35, 35, 35, 35, 35, 35, 35, 508,
564 508, 508, 508, 35, 508, 508, 508, 513, 514, 514,
565 514, 508, 508, 509, 508, 509, 508, 508, 510, 510,
566 508, 508, 508, 508, 508, 508, 515, 516, 517, 508,
567 508, 515, 511, 508, 518, 508, 508, 508, 508, 508,
568 508, 508, 508, 508, 35, 508, 508, 35, 35, 35,
570 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
571 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
572 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
573 35, 35, 35, 35, 35, 35, 35, 35, 508, 508,
574 508, 35, 508, 519, 519, 520, 513, 521, 517, 513,
575 513, 508, 520, 514, 508, 522, 508, 508, 508, 516,
576 516, 523, 508, 517, 508, 515, 515, 508, 518, 508,
577 508, 508, 508, 508, 508, 508, 508, 508, 508, 508,
578 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
579 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
581 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
582 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
583 35, 35, 35, 508, 35, 524, 508, 524, 508, 525,
584 508, 526, 521, 521, 527, 526, 521, 149, 513, 520,
585 520, 508, 522, 528, 516, 523, 508, 516, 508, 168,
586 508, 168, 508, 508, 508, 529, 508, 508, 508, 35,
587 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
588 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
589 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
590 35, 35, 35, 35, 35, 35, 35, 35, 508, 524,
592 524, 508, 525, 526, 530, 508, 521, 527, 526, 521,
593 508, 239, 508, 242, 508, 242, 516, 508, 508, 508,
594 508, 531, 508, 508, 35, 35, 35, 35, 35, 35,
595 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
596 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
597 35, 35, 35, 35, 35, 35, 508, 302, 508, 302,
598 521, 521, 526, 521, 306, 311, 508, 508, 508, 508,
599 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
600 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
601 35, 35, 35, 35, 35, 239, 508, 508, 532, 35,
603 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
604 35, 35, 35, 35, 35, 35, 306, 508, 533, 508,
605 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
606 534, 535, 508, 35, 35, 35, 35, 35, 35, 536,
607 537, 538, 536, 535, 535, 35, 35, 508, 508, 536,
608 536, 537, 508, 537, 539, 539, 538, 538, 536, 538,
609 508, 508, 536, 536, 536, 536, 536, 535, 508, 508,
610 539, 508, 508, 536, 539, 536, 536, 536, 536, 508,
611 535, 508, 508, 536, 536, 536, 536, 536, 535, 535,
612 508, 508, 536, 536, 536, 536, 536, 536, 536, 508,
614 508, 536, 536, 508, 508, 536, 536, 0, 508, 508,
615 508, 508, 508, 508, 508, 508, 508, 508, 508, 508,
616 508, 508, 508, 508, 508, 508, 508, 508, 508, 508,
617 508, 508, 508, 508, 508, 508, 508, 508, 508
620 static yyconst flex_int16_t yy_nxt[2919] =
622 8, 9, 10, 9, 9, 11, 12, 8, 13, 14,
623 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
624 25, 26, 27, 28, 29, 30, 30, 30, 30, 30,
625 13, 8, 31, 32, 30, 33, 34, 35, 36, 37,
626 38, 39, 30, 40, 30, 30, 30, 41, 42, 43,
627 44, 45, 46, 47, 48, 49, 30, 30, 50, 51,
628 52, 8, 8, 53, 55, 56, 57, 58, 59, 60,
629 61, 55, 56, 57, 58, 59, 60, 61, 55, 56,
630 57, 58, 59, 60, 61, 55, 56, 57, 58, 59,
631 60, 61, 65, 65, 72, 76, 74, 77, 77, 77,
633 54, 78, 139, 73, 75, 79, 92, 93, 62, 165,
634 165, 80, 445, 70, 54, 62, 82, 66, 83, 83,
635 83, 82, 455, 83, 83, 83, 82, 317, 83, 83,
636 83, 318, 65, 88, 94, 94, 94, 94, 140, 84,
637 174, 175, 106, 452, 84, 94, 94, 94, 94, 84,
638 89, 90, 107, 468, 96, 95, 85, 66, 65, 445,
639 86, 508, 445, 108, 432, 96, 508, 94, 94, 94,
640 94, 94, 94, 94, 94, 95, 109, 163, 70, 103,
641 95, 167, 167, 167, 110, 95, 95, 96, 104, 111,
642 95, 96, 419, 95, 112, 98, 95, 105, 95, 121,
644 113, 418, 125, 148, 417, 100, 95, 149, 95, 95,
645 453, 95, 95, 150, 399, 101, 99, 114, 102, 122,
646 398, 151, 95, 115, 116, 95, 118, 232, 117, 95,
647 119, 397, 95, 95, 123, 454, 95, 124, 95, 95,
648 135, 151, 126, 95, 120, 133, 95, 95, 95, 134,
649 95, 95, 370, 136, 130, 127, 128, 95, 129, 369,
650 95, 232, 131, 95, 77, 77, 77, 95, 367, 132,
651 137, 138, 114, 95, 248, 151, 95, 95, 115, 142,
652 95, 239, 72, 117, 143, 84, 144, 145, 145, 74,
653 143, 73, 144, 145, 145, 151, 76, 75, 146, 146,
655 146, 153, 324, 154, 154, 154, 153, 453, 154, 154,
656 154, 153, 95, 154, 154, 154, 165, 165, 160, 160,
657 160, 160, 95, 323, 155, 95, 166, 166, 166, 155,
658 322, 162, 454, 320, 155, 163, 82, 319, 83, 83,
659 83, 156, 226, 226, 226, 86, 508, 84, 241, 241,
660 241, 508, 94, 94, 94, 94, 95, 184, 248, 84,
661 176, 176, 176, 176, 95, 95, 95, 95, 181, 95,
662 95, 453, 96, 95, 95, 95, 508, 95, 95, 95,
663 95, 182, 183, 95, 186, 185, 95, 248, 95, 187,
664 95, 471, 95, 95, 95, 95, 189, 177, 95, 178,
666 188, 95, 95, 95, 95, 95, 302, 95, 95, 259,
667 179, 190, 95, 192, 180, 95, 95, 95, 95, 191,
668 258, 257, 95, 301, 301, 301, 95, 95, 95, 193,
669 95, 95, 95, 194, 195, 95, 95, 95, 95, 95,
670 256, 255, 254, 196, 95, 95, 253, 95, 95, 95,
671 95, 95, 197, 95, 95, 95, 248, 95, 95, 95,
672 198, 199, 95, 95, 200, 95, 95, 95, 480, 202,
673 201, 204, 95, 95, 205, 203, 481, 95, 95, 95,
674 95, 206, 95, 95, 242, 95, 207, 95, 208, 95,
675 489, 95, 95, 211, 489, 224, 209, 95, 490, 95,
677 95, 95, 468, 95, 95, 173, 95, 95, 210, 95,
678 172, 95, 95, 212, 171, 213, 170, 95, 95, 95,
679 95, 95, 168, 158, 95, 69, 214, 64, 95, 95,
680 157, 95, 95, 217, 95, 95, 215, 218, 141, 219,
681 216, 95, 95, 97, 95, 95, 91, 95, 95, 95,
682 221, 95, 95, 95, 95, 95, 220, 222, 95, 95,
683 225, 87, 95, 95, 71, 68, 95, 67, 95, 63,
684 223, 95, 508, 54, 198, 199, 228, 508, 145, 145,
685 145, 228, 508, 145, 145, 145, 146, 146, 146, 233,
686 233, 160, 233, 240, 240, 240, 166, 166, 166, 229,
688 508, 508, 235, 508, 229, 260, 236, 155, 508, 508,
689 508, 167, 167, 167, 155, 95, 230, 84, 95, 508,
690 237, 508, 165, 165, 160, 160, 160, 160, 160, 160,
691 160, 160, 508, 226, 226, 226, 508, 244, 508, 508,
692 95, 244, 508, 508, 261, 238, 238, 238, 238, 238,
693 95, 508, 508, 95, 229, 238, 238, 238, 238, 238,
694 238, 238, 238, 238, 238, 238, 238, 238, 238, 238,
695 238, 238, 238, 238, 238, 238, 238, 238, 153, 508,
696 154, 154, 154, 245, 245, 245, 245, 508, 508, 95,
697 508, 262, 508, 95, 95, 266, 246, 508, 508, 95,
699 247, 155, 95, 95, 95, 95, 95, 95, 95, 263,
700 264, 265, 448, 449, 448, 450, 508, 508, 508, 249,
701 249, 249, 249, 249, 249, 249, 249, 249, 249, 249,
702 249, 249, 249, 249, 249, 249, 249, 250, 250, 250,
703 249, 249, 249, 249, 250, 250, 250, 250, 250, 249,
704 508, 249, 249, 508, 250, 250, 250, 250, 250, 250,
705 250, 250, 250, 250, 250, 250, 250, 250, 250, 250,
706 250, 250, 250, 250, 250, 250, 250, 249, 249, 249,
707 249, 249, 249, 251, 251, 251, 251, 251, 251, 251,
708 251, 251, 251, 251, 251, 251, 251, 251, 251, 252,
710 251, 268, 508, 508, 251, 251, 251, 251, 508, 508,
711 508, 95, 508, 251, 95, 251, 251, 176, 176, 176,
712 176, 95, 95, 95, 508, 267, 508, 270, 508, 269,
713 508, 95, 95, 95, 95, 95, 95, 508, 508, 95,
714 273, 251, 251, 251, 251, 251, 251, 95, 95, 95,
715 95, 271, 95, 95, 177, 272, 178, 95, 95, 508,
716 95, 95, 95, 95, 274, 508, 508, 179, 95, 95,
717 95, 180, 95, 95, 278, 95, 95, 95, 275, 95,
718 95, 276, 95, 95, 95, 280, 277, 95, 279, 95,
719 95, 95, 508, 95, 95, 508, 508, 95, 508, 95,
721 95, 281, 95, 95, 95, 95, 95, 95, 282, 283,
722 95, 508, 95, 95, 508, 95, 508, 286, 95, 508,
723 95, 95, 95, 95, 284, 95, 508, 95, 95, 285,
724 508, 95, 289, 95, 95, 95, 95, 95, 95, 287,
725 95, 95, 508, 95, 288, 95, 508, 95, 95, 95,
726 508, 292, 290, 95, 95, 508, 291, 95, 293, 95,
727 95, 95, 95, 95, 95, 294, 508, 95, 95, 95,
728 95, 95, 295, 95, 95, 95, 95, 95, 95, 95,
729 296, 95, 95, 95, 297, 298, 508, 95, 95, 508,
730 95, 300, 300, 300, 233, 233, 160, 233, 508, 508,
732 233, 233, 160, 233, 508, 508, 508, 305, 508, 508,
733 508, 306, 229, 305, 240, 240, 240, 306, 508, 307,
734 307, 245, 307, 508, 95, 237, 233, 233, 160, 233,
735 508, 237, 308, 325, 95, 155, 309, 95, 508, 305,
736 241, 241, 241, 311, 508, 508, 160, 160, 160, 160,
737 310, 508, 95, 300, 300, 300, 508, 237, 232, 244,
738 508, 508, 95, 508, 508, 95, 312, 312, 312, 312,
739 312, 508, 151, 508, 229, 508, 312, 312, 312, 312,
740 312, 312, 312, 312, 312, 312, 312, 312, 312, 312,
741 312, 312, 312, 312, 312, 312, 312, 312, 312, 313,
743 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
744 313, 313, 313, 313, 313, 313, 313, 314, 314, 314,
745 313, 313, 313, 313, 314, 314, 314, 314, 314, 313,
746 508, 313, 313, 508, 314, 314, 314, 314, 314, 314,
747 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
748 314, 314, 314, 314, 314, 314, 314, 313, 313, 313,
749 313, 313, 313, 315, 315, 315, 315, 315, 315, 315,
750 315, 315, 315, 315, 315, 315, 315, 315, 315, 316,
751 315, 508, 508, 508, 315, 315, 315, 315, 245, 245,
752 245, 245, 508, 315, 95, 315, 315, 160, 160, 160,
754 160, 246, 95, 95, 95, 247, 508, 95, 508, 326,
755 244, 328, 95, 95, 163, 95, 95, 508, 508, 327,
756 95, 315, 315, 315, 315, 315, 315, 95, 329, 95,
757 95, 95, 508, 95, 301, 301, 301, 95, 95, 95,
758 95, 95, 95, 95, 95, 330, 331, 95, 95, 332,
759 508, 95, 95, 95, 95, 508, 95, 95, 334, 333,
760 95, 95, 335, 508, 95, 95, 95, 95, 508, 508,
761 337, 95, 95, 339, 95, 508, 95, 508, 336, 95,
762 95, 95, 95, 95, 508, 95, 95, 338, 95, 95,
763 95, 95, 508, 95, 95, 340, 95, 341, 95, 95,
765 344, 95, 95, 508, 345, 508, 95, 342, 95, 95,
766 95, 343, 346, 95, 95, 95, 95, 95, 95, 508,
767 508, 95, 95, 347, 95, 95, 95, 508, 95, 95,
768 349, 348, 95, 508, 95, 95, 95, 95, 351, 350,
769 95, 95, 95, 508, 508, 508, 95, 508, 508, 95,
770 95, 95, 95, 95, 95, 353, 95, 95, 95, 508,
771 352, 354, 355, 95, 95, 95, 95, 95, 95, 95,
772 95, 95, 508, 95, 95, 95, 95, 95, 95, 508,
773 508, 508, 356, 357, 357, 357, 357, 357, 357, 357,
774 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
776 357, 358, 358, 358, 357, 357, 357, 357, 358, 358,
777 358, 358, 358, 357, 508, 357, 357, 508, 358, 358,
778 358, 358, 358, 358, 358, 358, 358, 358, 358, 358,
779 358, 358, 358, 358, 358, 358, 358, 358, 358, 358,
780 358, 357, 357, 357, 357, 357, 357, 359, 359, 359,
781 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
782 359, 359, 359, 360, 359, 508, 508, 248, 359, 359,
783 359, 359, 233, 233, 160, 233, 508, 359, 362, 359,
784 359, 95, 363, 508, 508, 305, 508, 95, 95, 306,
785 508, 95, 508, 508, 95, 508, 364, 95, 95, 508,
787 95, 95, 508, 237, 508, 359, 359, 359, 359, 359,
788 359, 160, 160, 160, 160, 161, 161, 161, 161, 161,
789 161, 161, 161, 161, 244, 161, 161, 161, 161, 161,
790 161, 161, 161, 161, 161, 161, 365, 365, 365, 365,
791 365, 161, 161, 161, 161, 161, 365, 365, 365, 365,
792 365, 365, 365, 365, 365, 365, 365, 365, 365, 365,
793 365, 365, 365, 365, 365, 365, 365, 365, 365, 161,
794 161, 161, 161, 161, 161, 307, 307, 245, 307, 508,
795 233, 233, 160, 233, 508, 508, 95, 508, 308, 508,
796 95, 95, 309, 305, 508, 373, 95, 311, 371, 95,
798 372, 95, 508, 95, 95, 508, 310, 448, 449, 448,
799 448, 237, 233, 233, 160, 233, 234, 234, 234, 234,
800 234, 234, 234, 234, 234, 305, 234, 234, 234, 306,
801 234, 234, 234, 234, 234, 234, 234, 366, 366, 366,
802 366, 366, 234, 237, 234, 234, 234, 366, 366, 366,
803 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
804 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
805 234, 234, 234, 234, 234, 234, 160, 160, 160, 160,
806 508, 95, 95, 508, 375, 508, 95, 95, 508, 244,
807 374, 95, 95, 247, 95, 95, 95, 376, 95, 95,
809 95, 508, 95, 508, 95, 508, 377, 508, 95, 508,
810 95, 95, 95, 378, 95, 95, 508, 95, 508, 95,
811 95, 379, 380, 95, 381, 95, 508, 508, 508, 95,
812 95, 382, 95, 508, 384, 95, 95, 508, 95, 383,
813 95, 95, 95, 95, 385, 508, 95, 386, 95, 95,
814 388, 95, 95, 95, 95, 95, 508, 508, 95, 387,
815 95, 95, 389, 95, 508, 390, 95, 95, 95, 391,
816 95, 508, 95, 95, 95, 508, 508, 95, 95, 392,
817 95, 95, 95, 95, 95, 95, 508, 95, 393, 95,
818 95, 95, 508, 95, 395, 508, 95, 394, 508, 95,
820 95, 95, 95, 95, 95, 233, 233, 160, 233, 508,
821 233, 233, 160, 233, 508, 95, 508, 508, 305, 508,
822 508, 508, 236, 305, 508, 95, 508, 309, 95, 233,
823 233, 160, 233, 400, 95, 95, 237, 508, 508, 508,
824 95, 237, 305, 508, 95, 95, 396, 95, 95, 508,
825 95, 401, 95, 95, 402, 508, 403, 95, 95, 95,
826 237, 508, 95, 406, 95, 95, 508, 95, 95, 95,
827 95, 405, 95, 95, 95, 407, 508, 95, 408, 404,
828 409, 508, 410, 95, 95, 508, 95, 508, 95, 508,
829 95, 95, 95, 95, 95, 95, 95, 95, 95, 411,
831 95, 508, 412, 508, 413, 95, 95, 95, 95, 95,
832 95, 95, 508, 95, 95, 95, 95, 95, 95, 508,
833 95, 95, 414, 95, 95, 95, 95, 95, 508, 95,
834 508, 95, 95, 95, 95, 95, 95, 415, 95, 95,
835 95, 95, 95, 416, 421, 95, 95, 95, 508, 95,
836 95, 95, 95, 95, 95, 95, 95, 95, 508, 95,
837 95, 95, 95, 508, 508, 95, 424, 422, 95, 95,
838 508, 95, 95, 423, 95, 95, 95, 508, 425, 426,
839 95, 95, 95, 427, 428, 95, 95, 95, 508, 95,
840 95, 95, 95, 95, 95, 95, 429, 95, 95, 95,
842 95, 508, 95, 430, 508, 95, 508, 95, 95, 95,
843 508, 508, 95, 431, 431, 431, 431, 95, 95, 95,
844 95, 95, 508, 508, 95, 448, 449, 448, 448, 95,
845 95, 95, 95, 508, 95, 436, 434, 435, 95, 95,
846 95, 95, 437, 95, 95, 508, 508, 95, 95, 95,
847 508, 95, 95, 95, 508, 95, 438, 95, 439, 508,
848 95, 508, 508, 95, 508, 95, 95, 95, 95, 431,
849 431, 431, 431, 508, 441, 95, 508, 95, 508, 442,
850 95, 95, 95, 446, 508, 95, 447, 95, 95, 443,
851 508, 95, 95, 95, 95, 95, 508, 95, 508, 508,
853 95, 508, 508, 95, 508, 508, 95, 455, 456, 449,
854 456, 457, 461, 462, 461, 463, 95, 95, 459, 448,
855 449, 448, 450, 508, 508, 508, 95, 95, 508, 95,
856 95, 448, 449, 448, 450, 508, 508, 508, 460, 469,
857 470, 469, 469, 456, 449, 456, 456, 508, 508, 464,
858 508, 465, 508, 453, 455, 456, 449, 456, 457, 508,
859 508, 508, 466, 508, 508, 459, 467, 455, 456, 449,
860 456, 457, 508, 471, 472, 473, 472, 474, 459, 455,
861 456, 475, 456, 457, 508, 460, 461, 462, 461, 461,
862 508, 461, 462, 461, 461, 508, 508, 508, 460, 508,
864 461, 462, 461, 463, 448, 449, 448, 450, 448, 449,
865 448, 450, 448, 449, 448, 450, 448, 449, 448, 450,
866 508, 508, 508, 177, 508, 178, 508, 508, 177, 508,
867 178, 469, 470, 469, 469, 508, 179, 464, 508, 465,
868 180, 179, 508, 508, 508, 180, 469, 470, 469, 469,
869 466, 476, 508, 508, 467, 477, 508, 479, 472, 473,
870 472, 472, 472, 473, 472, 472, 478, 472, 473, 472,
871 474, 456, 449, 456, 456, 448, 449, 448, 448, 508,
872 508, 453, 448, 449, 448, 450, 448, 449, 448, 450,
873 508, 448, 449, 448, 450, 448, 449, 448, 448, 508,
875 508, 471, 321, 482, 483, 482, 484, 485, 485, 485,
876 485, 485, 485, 485, 485, 485, 485, 485, 485, 485,
877 508, 508, 508, 485, 485, 485, 485, 508, 487, 508,
878 508, 486, 485, 488, 485, 485, 448, 449, 448, 450,
879 448, 449, 448, 450, 448, 449, 448, 450, 448, 449,
880 448, 450, 448, 449, 448, 448, 448, 449, 448, 448,
881 485, 485, 485, 485, 485, 485, 368, 491, 492, 491,
882 493, 494, 494, 494, 494, 494, 494, 494, 494, 494,
883 494, 494, 494, 494, 508, 508, 508, 494, 494, 494,
884 494, 508, 496, 508, 508, 495, 494, 508, 494, 494,
886 448, 449, 448, 450, 448, 449, 448, 450, 448, 449,
887 448, 450, 448, 449, 448, 450, 448, 449, 448, 450,
888 448, 449, 448, 448, 494, 494, 494, 494, 494, 494,
889 448, 449, 448, 448, 448, 449, 448, 450, 448, 449,
890 448, 450, 508, 508, 497, 448, 449, 448, 448, 508,
891 498, 448, 449, 448, 448, 508, 508, 499, 420, 500,
892 501, 500, 502, 503, 503, 503, 503, 503, 503, 503,
893 503, 503, 503, 503, 503, 503, 508, 508, 508, 503,
894 503, 503, 503, 448, 449, 448, 450, 508, 503, 508,
895 503, 503, 448, 449, 448, 450, 508, 508, 508, 508,
897 508, 508, 508, 508, 508, 508, 508, 508, 508, 508,
898 508, 508, 508, 508, 508, 508, 503, 503, 503, 503,
899 503, 503, 433, 504, 505, 504, 506, 507, 507, 507,
900 507, 507, 507, 507, 507, 507, 507, 507, 507, 507,
901 508, 508, 508, 507, 507, 507, 507, 508, 508, 508,
902 508, 508, 507, 508, 507, 507, 508, 508, 508, 508,
903 508, 508, 508, 508, 508, 508, 508, 508, 508, 508,
904 508, 508, 508, 508, 508, 508, 508, 508, 508, 508,
905 507, 507, 507, 507, 507, 507, 64, 64, 508, 64,
906 64, 64, 64, 64, 64, 64, 69, 69, 508, 69,
908 69, 69, 69, 69, 69, 69, 81, 81, 81, 81,
909 81, 81, 508, 508, 81, 81, 95, 95, 508, 508,
910 95, 95, 95, 95, 95, 147, 147, 508, 147, 147,
911 147, 147, 147, 147, 147, 152, 152, 152, 152, 152,
912 152, 508, 508, 152, 152, 159, 159, 159, 159, 159,
913 159, 508, 508, 159, 161, 161, 161, 161, 161, 161,
914 161, 161, 161, 161, 164, 164, 164, 164, 164, 164,
915 164, 164, 164, 164, 169, 169, 169, 508, 169, 169,
916 227, 227, 227, 227, 227, 227, 508, 508, 227, 227,
917 231, 231, 231, 231, 231, 231, 508, 508, 231, 234,
919 234, 234, 234, 234, 234, 234, 234, 234, 234, 243,
920 243, 243, 508, 243, 243, 160, 160, 160, 160, 160,
921 160, 160, 160, 160, 160, 299, 299, 299, 299, 299,
922 299, 508, 508, 299, 303, 303, 303, 508, 303, 303,
923 304, 508, 304, 304, 233, 233, 233, 233, 233, 233,
924 233, 233, 233, 233, 248, 248, 248, 248, 248, 248,
925 248, 248, 248, 248, 321, 321, 321, 321, 321, 361,
926 361, 361, 361, 361, 361, 361, 361, 361, 361, 368,
927 368, 368, 368, 368, 420, 420, 420, 420, 420, 433,
928 433, 433, 433, 433, 440, 440, 440, 440, 440, 440,
930 440, 440, 440, 440, 444, 444, 444, 444, 444, 444,
931 444, 444, 444, 444, 451, 451, 451, 451, 451, 451,
932 451, 451, 451, 452, 452, 508, 452, 452, 452, 452,
933 452, 452, 452, 458, 458, 458, 458, 458, 458, 458,
934 458, 458, 458, 455, 455, 508, 455, 455, 455, 455,
935 455, 455, 455, 7, 508, 508, 508, 508, 508, 508,
936 508, 508, 508, 508, 508, 508, 508, 508, 508, 508,
937 508, 508, 508, 508, 508, 508, 508, 508, 508, 508,
938 508, 508, 508, 508, 508, 508, 508, 508, 508, 508,
939 508, 508, 508, 508, 508, 508, 508, 508, 508, 508,
941 508, 508, 508, 508, 508, 508, 508, 508, 508, 508,
942 508, 508, 508, 508, 508, 508, 508, 508
945 static yyconst flex_int16_t yy_chk[2919] =
947 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
948 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
949 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
950 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
951 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
952 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
953 1, 1, 1, 1, 3, 3, 3, 3, 3, 3,
954 3, 4, 4, 4, 4, 4, 4, 4, 5, 5,
955 5, 5, 5, 5, 5, 6, 6, 6, 6, 6,
956 6, 6, 12, 16, 19, 21, 20, 21, 21, 21,
958 4, 22, 51, 19, 20, 22, 29, 29, 3, 79,
959 79, 22, 489, 16, 6, 4, 23, 12, 23, 23,
960 23, 24, 471, 24, 24, 24, 25, 244, 25, 25,
961 25, 244, 64, 27, 30, 30, 30, 30, 51, 23,
962 93, 93, 37, 454, 24, 33, 33, 33, 33, 25,
963 27, 27, 37, 445, 30, 37, 23, 64, 69, 444,
964 25, 24, 432, 37, 418, 33, 25, 34, 34, 34,
965 34, 35, 35, 35, 35, 36, 38, 417, 69, 36,
966 42, 84, 84, 84, 38, 36, 38, 34, 36, 38,
967 42, 35, 398, 42, 38, 33, 39, 36, 44, 42,
969 39, 397, 44, 58, 396, 35, 39, 58, 44, 39,
970 441, 44, 40, 58, 370, 35, 34, 40, 35, 43,
971 369, 58, 40, 40, 40, 40, 41, 147, 40, 43,
972 41, 367, 43, 47, 43, 441, 41, 43, 45, 41,
973 48, 147, 45, 47, 41, 47, 47, 46, 45, 47,
974 48, 45, 324, 48, 46, 45, 45, 46, 45, 323,
975 46, 150, 46, 49, 77, 77, 77, 54, 320, 46,
976 49, 49, 54, 49, 309, 150, 49, 54, 54, 54,
977 54, 151, 55, 54, 55, 77, 55, 55, 55, 56,
978 56, 55, 56, 56, 56, 151, 57, 56, 57, 57,
980 57, 59, 259, 59, 59, 59, 60, 452, 60, 60,
981 60, 61, 95, 61, 61, 61, 164, 164, 78, 78,
982 78, 78, 95, 258, 59, 95, 82, 82, 82, 60,
983 257, 78, 452, 254, 61, 78, 83, 253, 83, 83,
984 83, 59, 143, 143, 143, 61, 60, 82, 155, 155,
985 155, 61, 94, 94, 94, 94, 98, 101, 247, 83,
986 96, 96, 96, 96, 99, 100, 98, 101, 99, 98,
987 101, 455, 94, 102, 99, 100, 83, 99, 100, 103,
988 104, 100, 100, 102, 103, 102, 102, 236, 105, 103,
989 104, 455, 103, 104, 106, 107, 106, 96, 105, 96,
991 105, 105, 108, 109, 106, 107, 230, 106, 107, 180,
992 96, 107, 108, 109, 96, 108, 109, 110, 111, 108,
993 179, 178, 112, 229, 229, 229, 113, 110, 111, 110,
994 110, 111, 112, 111, 112, 112, 113, 114, 115, 113,
995 177, 175, 171, 113, 116, 117, 170, 114, 115, 119,
996 114, 115, 115, 118, 116, 117, 163, 116, 117, 119,
997 116, 116, 119, 118, 118, 120, 118, 121, 468, 119,
998 118, 121, 122, 123, 122, 120, 468, 121, 120, 125,
999 121, 123, 122, 123, 156, 122, 123, 124, 124, 125,
1000 481, 126, 125, 127, 490, 141, 125, 124, 481, 128,
1002 124, 126, 490, 127, 126, 91, 127, 129, 126, 128,
1003 89, 130, 128, 128, 88, 129, 86, 129, 131, 132,
1004 129, 130, 85, 76, 130, 70, 130, 66, 131, 132,
1005 63, 131, 132, 132, 133, 134, 131, 133, 53, 134,
1006 131, 135, 136, 32, 133, 134, 28, 133, 134, 137,
1007 136, 135, 136, 138, 135, 136, 135, 137, 142, 137,
1008 142, 26, 137, 138, 18, 15, 138, 14, 142, 11,
1009 138, 142, 7, 2, 142, 142, 144, 0, 144, 144,
1010 144, 145, 0, 145, 145, 145, 146, 146, 146, 148,
1011 148, 148, 148, 153, 153, 153, 166, 166, 166, 144,
1013 0, 0, 148, 0, 145, 181, 148, 146, 0, 0,
1014 0, 167, 167, 167, 153, 181, 144, 166, 181, 0,
1015 148, 145, 149, 149, 160, 160, 160, 160, 161, 161,
1016 161, 161, 167, 226, 226, 226, 0, 160, 0, 0,
1017 182, 161, 0, 0, 182, 149, 149, 149, 149, 149,
1018 182, 0, 0, 182, 226, 149, 149, 149, 149, 149,
1019 149, 149, 149, 149, 149, 149, 149, 149, 149, 149,
1020 149, 149, 149, 149, 149, 149, 149, 149, 154, 0,
1021 154, 154, 154, 162, 162, 162, 162, 0, 0, 183,
1022 0, 183, 0, 184, 185, 186, 162, 0, 0, 183,
1024 162, 154, 183, 184, 185, 186, 184, 185, 186, 184,
1025 185, 185, 440, 440, 440, 440, 0, 0, 154, 168,
1026 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
1027 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
1028 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
1029 0, 168, 168, 0, 168, 168, 168, 168, 168, 168,
1030 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
1031 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
1032 168, 168, 168, 169, 169, 169, 169, 169, 169, 169,
1033 169, 169, 169, 169, 169, 169, 169, 169, 169, 169,
1035 169, 188, 0, 0, 169, 169, 169, 169, 0, 0,
1036 0, 188, 0, 169, 188, 169, 169, 176, 176, 176,
1037 176, 187, 189, 190, 0, 187, 0, 190, 0, 189,
1038 0, 187, 189, 190, 187, 189, 190, 0, 0, 192,
1039 193, 169, 169, 169, 169, 169, 169, 191, 194, 192,
1040 193, 191, 192, 193, 176, 192, 176, 191, 194, 0,
1041 191, 194, 195, 196, 195, 0, 0, 176, 197, 198,
1042 199, 176, 195, 196, 199, 195, 196, 201, 197, 198,
1043 199, 197, 198, 199, 200, 201, 198, 201, 200, 202,
1044 201, 203, 0, 204, 200, 0, 0, 200, 0, 202,
1046 205, 203, 202, 204, 203, 206, 204, 208, 204, 205,
1047 205, 0, 207, 205, 0, 206, 0, 208, 206, 0,
1048 208, 209, 207, 210, 206, 207, 0, 211, 212, 207,
1049 0, 209, 212, 210, 209, 213, 210, 211, 212, 209,
1050 211, 212, 0, 214, 211, 213, 0, 215, 213, 216,
1051 0, 215, 213, 214, 217, 0, 214, 215, 217, 216,
1052 215, 218, 216, 219, 217, 218, 0, 217, 220, 221,
1053 222, 218, 221, 219, 218, 225, 219, 223, 220, 221,
1054 222, 220, 221, 222, 223, 225, 0, 223, 225, 0,
1055 223, 228, 228, 228, 233, 233, 233, 233, 0, 0,
1057 234, 234, 234, 234, 0, 0, 0, 233, 0, 0,
1058 0, 233, 228, 234, 240, 240, 240, 234, 0, 235,
1059 235, 235, 235, 0, 260, 233, 237, 237, 237, 237,
1060 0, 234, 235, 260, 260, 240, 235, 260, 0, 237,
1061 241, 241, 241, 237, 0, 0, 245, 245, 245, 245,
1062 235, 0, 261, 300, 300, 300, 0, 237, 239, 245,
1063 0, 241, 261, 0, 0, 261, 239, 239, 239, 239,
1064 239, 0, 239, 0, 300, 0, 239, 239, 239, 239,
1065 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
1066 239, 239, 239, 239, 239, 239, 239, 239, 239, 242,
1068 242, 242, 242, 242, 242, 242, 242, 242, 242, 242,
1069 242, 242, 242, 242, 242, 242, 242, 242, 242, 242,
1070 242, 242, 242, 242, 242, 242, 242, 242, 242, 242,
1071 0, 242, 242, 0, 242, 242, 242, 242, 242, 242,
1072 242, 242, 242, 242, 242, 242, 242, 242, 242, 242,
1073 242, 242, 242, 242, 242, 242, 242, 242, 242, 242,
1074 242, 242, 242, 243, 243, 243, 243, 243, 243, 243,
1075 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
1076 243, 0, 0, 0, 243, 243, 243, 243, 246, 246,
1077 246, 246, 0, 243, 264, 243, 243, 248, 248, 248,
1079 248, 246, 262, 263, 264, 246, 0, 264, 0, 262,
1080 248, 264, 262, 263, 248, 262, 263, 0, 0, 263,
1081 265, 243, 243, 243, 243, 243, 243, 266, 265, 267,
1082 265, 269, 0, 265, 301, 301, 301, 266, 268, 267,
1083 266, 269, 267, 270, 269, 266, 267, 271, 268, 268,
1084 0, 268, 273, 270, 272, 301, 270, 271, 272, 271,
1085 271, 274, 273, 0, 272, 273, 275, 272, 0, 0,
1086 275, 274, 276, 277, 274, 0, 275, 0, 274, 275,
1087 278, 279, 276, 277, 0, 276, 277, 276, 280, 281,
1088 278, 279, 0, 278, 279, 278, 282, 279, 280, 281,
1090 283, 280, 281, 0, 284, 0, 282, 280, 285, 282,
1091 283, 282, 285, 283, 284, 286, 287, 284, 285, 0,
1092 0, 285, 288, 286, 289, 286, 287, 0, 286, 287,
1093 288, 287, 288, 0, 289, 288, 290, 289, 290, 289,
1094 291, 292, 293, 0, 0, 0, 290, 0, 0, 290,
1095 291, 292, 293, 291, 292, 293, 294, 295, 296, 0,
1096 291, 294, 296, 297, 298, 325, 294, 295, 296, 294,
1097 295, 296, 0, 297, 298, 325, 297, 298, 325, 0,
1098 0, 0, 298, 302, 302, 302, 302, 302, 302, 302,
1099 302, 302, 302, 302, 302, 302, 302, 302, 302, 302,
1101 302, 302, 302, 302, 302, 302, 302, 302, 302, 302,
1102 302, 302, 302, 302, 0, 302, 302, 0, 302, 302,
1103 302, 302, 302, 302, 302, 302, 302, 302, 302, 302,
1104 302, 302, 302, 302, 302, 302, 302, 302, 302, 302,
1105 302, 302, 302, 302, 302, 302, 302, 303, 303, 303,
1106 303, 303, 303, 303, 303, 303, 303, 303, 303, 303,
1107 303, 303, 303, 303, 303, 0, 0, 305, 303, 303,
1108 303, 303, 307, 307, 307, 307, 0, 303, 305, 303,
1109 303, 326, 305, 0, 0, 307, 0, 327, 328, 307,
1110 0, 326, 0, 0, 326, 0, 305, 327, 328, 0,
1112 327, 328, 0, 307, 0, 303, 303, 303, 303, 303,
1113 303, 306, 306, 306, 306, 306, 306, 306, 306, 306,
1114 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
1115 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
1116 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
1117 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
1118 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
1119 306, 306, 306, 306, 306, 308, 308, 308, 308, 0,
1120 310, 310, 310, 310, 0, 0, 329, 0, 308, 0,
1121 330, 331, 308, 310, 0, 331, 329, 310, 329, 329,
1123 330, 331, 0, 330, 331, 0, 308, 448, 448, 448,
1124 448, 310, 311, 311, 311, 311, 311, 311, 311, 311,
1125 311, 311, 311, 311, 311, 311, 311, 311, 311, 311,
1126 311, 311, 311, 311, 311, 311, 311, 311, 311, 311,
1127 311, 311, 311, 311, 311, 311, 311, 311, 311, 311,
1128 311, 311, 311, 311, 311, 311, 311, 311, 311, 311,
1129 311, 311, 311, 311, 311, 311, 311, 311, 311, 311,
1130 311, 311, 311, 311, 311, 311, 317, 317, 317, 317,
1131 0, 333, 332, 0, 333, 0, 334, 335, 0, 317,
1132 332, 333, 332, 317, 333, 332, 334, 335, 336, 334,
1134 335, 0, 337, 0, 338, 0, 336, 0, 336, 0,
1135 339, 336, 337, 337, 338, 337, 0, 338, 0, 340,
1136 339, 338, 339, 339, 340, 341, 0, 0, 0, 340,
1137 342, 340, 340, 0, 342, 341, 343, 0, 341, 341,
1138 342, 344, 345, 342, 343, 0, 343, 344, 346, 343,
1139 346, 344, 345, 348, 344, 345, 0, 0, 346, 345,
1140 347, 346, 347, 348, 0, 348, 348, 349, 350, 349,
1141 347, 0, 351, 347, 352, 0, 0, 349, 350, 351,
1142 349, 350, 351, 353, 352, 351, 0, 352, 353, 354,
1143 355, 356, 0, 353, 356, 0, 353, 354, 0, 354,
1145 355, 356, 354, 355, 356, 361, 361, 361, 361, 0,
1146 362, 362, 362, 362, 0, 371, 0, 0, 361, 0,
1147 0, 0, 361, 362, 0, 371, 0, 362, 371, 364,
1148 364, 364, 364, 371, 372, 373, 361, 0, 0, 0,
1149 375, 362, 364, 0, 372, 373, 364, 372, 373, 0,
1150 375, 372, 374, 375, 374, 0, 375, 376, 377, 378,
1151 364, 0, 374, 378, 379, 374, 0, 376, 377, 378,
1152 376, 377, 378, 380, 379, 380, 0, 379, 381, 376,
1153 382, 0, 383, 380, 384, 0, 380, 0, 381, 0,
1154 382, 381, 383, 382, 384, 383, 385, 384, 386, 385,
1156 387, 0, 386, 0, 387, 388, 385, 389, 386, 385,
1157 387, 386, 0, 387, 390, 388, 391, 389, 388, 0,
1158 389, 392, 388, 393, 390, 394, 391, 390, 0, 391,
1159 0, 392, 401, 393, 392, 394, 393, 394, 394, 395,
1160 400, 402, 401, 395, 400, 401, 403, 404, 0, 395,
1161 400, 402, 395, 400, 402, 405, 403, 404, 0, 403,
1162 404, 406, 407, 0, 0, 405, 407, 405, 405, 409,
1163 0, 406, 407, 406, 406, 407, 408, 0, 408, 409,
1164 411, 410, 409, 410, 411, 412, 408, 413, 0, 408,
1165 411, 410, 414, 411, 410, 412, 414, 413, 412, 415,
1167 413, 0, 414, 415, 0, 414, 0, 421, 422, 415,
1168 0, 0, 415, 416, 416, 416, 416, 421, 422, 423,
1169 421, 422, 0, 0, 424, 449, 449, 449, 449, 423,
1170 426, 425, 423, 0, 424, 425, 423, 424, 427, 428,
1171 426, 425, 427, 426, 425, 0, 0, 416, 427, 428,
1172 0, 427, 428, 429, 0, 430, 429, 416, 430, 0,
1173 416, 0, 0, 429, 0, 430, 429, 434, 430, 431,
1174 431, 431, 431, 0, 431, 436, 0, 434, 0, 431,
1175 434, 435, 437, 434, 0, 436, 435, 438, 436, 431,
1176 0, 435, 437, 439, 435, 437, 0, 438, 0, 0,
1178 438, 0, 0, 439, 0, 0, 439, 442, 442, 442,
1179 442, 442, 443, 443, 443, 443, 446, 447, 442, 450,
1180 450, 450, 450, 0, 0, 0, 446, 447, 0, 446,
1181 447, 451, 451, 451, 451, 0, 0, 0, 442, 453,
1182 453, 453, 453, 456, 456, 456, 456, 0, 0, 443,
1183 0, 443, 0, 456, 457, 457, 457, 457, 457, 0,
1184 0, 0, 443, 0, 0, 457, 443, 458, 458, 458,
1185 458, 458, 0, 456, 459, 459, 459, 459, 458, 460,
1186 460, 460, 460, 460, 0, 457, 461, 461, 461, 461,
1187 0, 462, 462, 462, 462, 0, 0, 0, 458, 0,
1189 463, 463, 463, 463, 464, 464, 464, 464, 465, 465,
1190 465, 465, 466, 466, 466, 466, 467, 467, 467, 467,
1191 0, 0, 0, 461, 0, 461, 0, 0, 462, 0,
1192 462, 469, 469, 469, 469, 0, 461, 463, 0, 463,
1193 461, 462, 0, 0, 0, 462, 470, 470, 470, 470,
1194 463, 464, 0, 0, 463, 465, 0, 467, 472, 472,
1195 472, 472, 473, 473, 473, 473, 466, 474, 474, 474,
1196 474, 475, 475, 475, 475, 482, 482, 482, 482, 0,
1197 0, 475, 477, 477, 477, 477, 478, 478, 478, 478,
1198 0, 479, 479, 479, 479, 483, 483, 483, 483, 0,
1200 0, 475, 476, 476, 476, 476, 476, 476, 476, 476,
1201 476, 476, 476, 476, 476, 476, 476, 476, 476, 476,
1202 0, 0, 0, 476, 476, 476, 476, 0, 478, 0,
1203 0, 477, 476, 479, 476, 476, 484, 484, 484, 484,
1204 485, 485, 485, 485, 487, 487, 487, 487, 488, 488,
1205 488, 488, 491, 491, 491, 491, 492, 492, 492, 492,
1206 476, 476, 476, 476, 476, 476, 486, 486, 486, 486,
1207 486, 486, 486, 486, 486, 486, 486, 486, 486, 486,
1208 486, 486, 486, 486, 0, 0, 0, 486, 486, 486,
1209 486, 0, 488, 0, 0, 487, 486, 0, 486, 486,
1211 493, 493, 493, 493, 494, 494, 494, 494, 495, 495,
1212 495, 495, 496, 496, 496, 496, 497, 497, 497, 497,
1213 500, 500, 500, 500, 486, 486, 486, 486, 486, 486,
1214 501, 501, 501, 501, 502, 502, 502, 502, 503, 503,
1215 503, 503, 0, 0, 495, 504, 504, 504, 504, 0,
1216 496, 505, 505, 505, 505, 0, 0, 497, 498, 498,
1217 498, 498, 498, 498, 498, 498, 498, 498, 498, 498,
1218 498, 498, 498, 498, 498, 498, 0, 0, 0, 498,
1219 498, 498, 498, 506, 506, 506, 506, 0, 498, 0,
1220 498, 498, 507, 507, 507, 507, 0, 0, 0, 0,
1222 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1223 0, 0, 0, 0, 0, 0, 498, 498, 498, 498,
1224 498, 498, 499, 499, 499, 499, 499, 499, 499, 499,
1225 499, 499, 499, 499, 499, 499, 499, 499, 499, 499,
1226 0, 0, 0, 499, 499, 499, 499, 0, 0, 0,
1227 0, 0, 499, 0, 499, 499, 0, 0, 0, 0,
1228 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1229 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1230 499, 499, 499, 499, 499, 499, 509, 509, 0, 509,
1231 509, 509, 509, 509, 509, 509, 510, 510, 0, 510,
1233 510, 510, 510, 510, 510, 510, 511, 511, 511, 511,
1234 511, 511, 0, 0, 511, 511, 512, 512, 0, 0,
1235 512, 512, 512, 512, 512, 513, 513, 0, 513, 513,
1236 513, 513, 513, 513, 513, 514, 514, 514, 514, 514,
1237 514, 0, 0, 514, 514, 515, 515, 515, 515, 515,
1238 515, 0, 0, 515, 516, 516, 516, 516, 516, 516,
1239 516, 516, 516, 516, 517, 517, 517, 517, 517, 517,
1240 517, 517, 517, 517, 518, 518, 518, 0, 518, 518,
1241 519, 519, 519, 519, 519, 519, 0, 0, 519, 519,
1242 520, 520, 520, 520, 520, 520, 0, 0, 520, 521,
1244 521, 521, 521, 521, 521, 521, 521, 521, 521, 522,
1245 522, 522, 0, 522, 522, 523, 523, 523, 523, 523,
1246 523, 523, 523, 523, 523, 524, 524, 524, 524, 524,
1247 524, 0, 0, 524, 525, 525, 525, 0, 525, 525,
1248 526, 0, 526, 526, 527, 527, 527, 527, 527, 527,
1249 527, 527, 527, 527, 528, 528, 528, 528, 528, 528,
1250 528, 528, 528, 528, 529, 529, 529, 529, 529, 530,
1251 530, 530, 530, 530, 530, 530, 530, 530, 530, 531,
1252 531, 531, 531, 531, 532, 532, 532, 532, 532, 533,
1253 533, 533, 533, 533, 534, 534, 534, 534, 534, 534,
1255 534, 534, 534, 534, 535, 535, 535, 535, 535, 535,
1256 535, 535, 535, 535, 536, 536, 536, 536, 536, 536,
1257 536, 536, 536, 537, 537, 0, 537, 537, 537, 537,
1258 537, 537, 537, 538, 538, 538, 538, 538, 538, 538,
1259 538, 538, 538, 539, 539, 0, 539, 539, 539, 539,
1260 539, 539, 539, 508, 508, 508, 508, 508, 508, 508,
1261 508, 508, 508, 508, 508, 508, 508, 508, 508, 508,
1262 508, 508, 508, 508, 508, 508, 508, 508, 508, 508,
1263 508, 508, 508, 508, 508, 508, 508, 508, 508, 508,
1264 508, 508, 508, 508, 508, 508, 508, 508, 508, 508,
1266 508, 508, 508, 508, 508, 508, 508, 508, 508, 508,
1267 508, 508, 508, 508, 508, 508, 508, 508
1270 static yy_state_type yy_last_accepting_state;
1271 static char *yy_last_accepting_cpos;
1273 extern int as3__flex_debug;
1274 int as3__flex_debug = 0;
1276 /* The intent behind this definition is that it'll catch
1277 * any uses of REJECT which flex missed.
1279 #define REJECT reject_used_but_not_detected
1280 #define yymore() yymore_used_but_not_detected
1281 #define YY_MORE_ADJ 0
1282 #define YY_RESTORE_YY_MORE_OFFSET
1284 #line 1 "tokenizer.lex"
1287 Routines for compiling Flash2 AVM2 ABC Actionscript
1289 Extension module for the rfxswf library.
1290 Part of the swftools package.
1292 Copyright (c) 2008 Matthias Kramm <kramm@quiss.org>
1294 This program is free software; you can redistribute it and/or modify
1295 it under the terms of the GNU General Public License as published by
1296 the Free Software Foundation; either version 2 of the License, or
1297 (at your option) any later version.
1299 This program is distributed in the hope that it will be useful,
1300 but WITHOUT ANY WARRANTY; without even the implied warranty of
1301 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1302 GNU General Public License for more details.
1304 You should have received a copy of the GNU General Public License
1305 along with this program; if not, write to the Free Software
1306 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
1307 #line 24 "tokenizer.lex"
1314 #include "../utf8.h"
1315 #include "tokenizer.h"
1319 int as3_verbosity = 1;
1320 unsigned int as3_tokencount = 0;
1322 void as3_error(const char*format, ...)
1329 va_start(arglist, format);
1330 vsprintf(buf, format, arglist);
1332 fprintf(stderr, "%s:%d:%d: error: %s\n", current_filename_short, current_line, current_column, buf);
1336 void as3_warning(const char*format, ...)
1343 va_start(arglist, format);
1344 vsprintf(buf, format, arglist);
1346 fprintf(stderr, "%s:%d:%d: warning: %s\n", current_filename_short, current_line, current_column, buf);
1349 void as3_softwarning(const char*format, ...)
1356 va_start(arglist, format);
1357 vsprintf(buf, format, arglist);
1359 fprintf(stderr, "%s:%d:%d: warning: %s\n", current_filename_short, current_line, current_column, buf);
1362 static void dbg(const char*format, ...)
1369 va_start(arglist, format);
1370 vsprintf(buf, format, arglist);
1373 while(l && buf[l-1]=='\n') {
1377 printf("(tokenizer) ");
1378 printf("%s\n", buf);
1382 #ifndef YY_CURRENT_BUFFER
1383 #define YY_CURRENT_BUFFER yy_current_buffer
1386 static void*as3_buffer=0;
1387 static int as3_buffer_pos=0;
1388 static int as3_buffer_len=0;
1389 void as3_file_input(FILE*fi)
1394 void as3_buffer_input(void*buffer, int len)
1397 syntaxerror("trying to parse zero bytearray");
1398 as3_buffer = buffer;
1399 as3_buffer_len = len;
1404 #define YY_INPUT(buf,result,max_size) { \
1407 while((result = fread(buf, 1, max_size, as3_in))==0 && ferror(as3_in)) \
1408 { if(errno != EINTR) {YY_FATAL_ERROR("input in flex scanner failed"); break;} \
1409 errno=0; clearerr(as3_in); \
1412 int to_read = max_size; \
1413 if(to_read + as3_buffer_pos > as3_buffer_len) \
1414 to_read = as3_buffer_len - as3_buffer_pos; \
1415 memcpy(buf, as3_buffer+as3_buffer_pos, to_read); \
1416 as3_buffer_pos += to_read; \
1421 void handleInclude(char*text, int len, char quotes)
1425 char*p1 = strchr(text, '"');
1426 char*p2 = strrchr(text, '"');
1427 if(!p1 || !p2 || p1==p2) {
1428 syntaxerror("Invalid include in line %d\n", current_line);
1431 filename = strdup(p1+1);
1435 while(!strchr(" \n\r\t", text[i1])) i1++;
1437 while(strchr(" \n\r\t", text[i1])) i1++;
1438 while(strchr(" \n\r\t", text[i2-1])) i2--;
1439 if(i2!=len) text[i2]=0;
1440 filename = strdup(&text[i1]);
1443 char*fullfilename = find_file(filename);
1444 enter_file2(filename, fullfilename, YY_CURRENT_BUFFER);
1445 as3_in = fopen(fullfilename, "rb");
1447 syntaxerror("Couldn't open include file \"%s\"\n", fullfilename);
1450 as3__switch_to_buffer(as3__create_buffer(as3_in,YY_BUF_SIZE ) );
1451 //BEGIN(INITIAL); keep context
1454 static int do_unescape(const char*s, const char*end, char*n)
1460 if(o) o[len] = *s;len++;
1464 s++; //skip past '\'
1465 if(s==end) syntaxerror("invalid \\ at end of string");
1467 /* handle the various line endings (mac, dos, unix) */
1480 case '\\': if(o) o[len] = '\\';s++;len++; break;
1481 case '"': if(o) o[len] = '"';s++;len++; break;
1482 case '\'': if(o) o[len] = '\'';s++;len++; break;
1483 case 'b': if(o) o[len] = '\b';s++;len++; break;
1484 case 'f': if(o) o[len] = '\f';s++;len++; break;
1485 case 'n': if(o) o[len] = '\n';s++;len++; break;
1486 case 'r': if(o) o[len] = '\r';s++;len++; break;
1487 case 't': if(o) o[len] = '\t';s++;len++; break;
1488 case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': {
1491 while(strchr("01234567", *s) && nr<3 && s<end) {
1498 syntaxerror("octal number out of range (0-255): %d", num);
1499 if(o) o[len] = num;len++;
1502 case 'x': case 'u': {
1511 if(s==end) syntaxerror("invalid \\u or \\x at end of string");
1514 if(s==end) syntaxerror("invalid \\u{ at end of string");
1519 while(strchr("0123456789abcdefABCDEF", *s) && (bracket || nr < max) && s<end) {
1521 if(*s>='0' && *s<='9') num |= *s - '0';
1522 if(*s>='a' && *s<='f') num |= *s - 'a' + 10;
1523 if(*s>='A' && *s<='F') num |= *s - 'A' + 10;
1528 if(*s=='}' && s<end) {
1531 syntaxerror("missing terminating '}'");
1535 char*utf8 = getUTF8(num);
1537 if(o) o[len] = *utf8;utf8++;len++;
1541 syntaxerror("byte out of range (0-255): %d", num);
1542 if(o) o[len] = num;len++;
1547 syntaxerror("unknown escape sequence: \"\\%c\"", *s);
1554 static string_t string_unescape(const char*in, int l)
1557 const char*end = &in[l];
1559 int len = do_unescape(s, end, 0);
1560 char*n = (char*)malloc(len+1);
1561 do_unescape(s, end, n);
1562 string_t out = string_new(n, len);
1566 static void handleCData(char*s, int len)
1568 a3_lval.str.str = s+9; // <![CDATA[
1569 a3_lval.str.len = len-9-3;// ]]>
1570 a3_lval.str.str = strdup_n(a3_lval.str.str, a3_lval.str.len);
1573 static void handleString(char*s, int len)
1576 // don't bother decoding strings in pass 1
1577 memset(&a3_lval, 0, sizeof(a3_lval));
1582 if(s[len-1]!='"') syntaxerror("String doesn't end with '\"'");
1585 else if(s[0]=='\'') {
1586 if(s[len-1]!='\'') syntaxerror("String doesn't end with '\"'");
1589 else syntaxerror("String incorrectly terminated");
1592 a3_lval.str = string_unescape(s, len);
1596 char start_of_expression;
1598 static inline int m(int type)
1600 a3_lval.token = type;
1605 static char numberbuf[64];
1608 if(as3_leng>sizeof(numberbuf)-1)
1609 syntaxerror("decimal number overflow");
1611 memcpy(s, as3_text, as3_leng);
1616 static inline int setint(int v)
1618 a3_lval.number_int = v;
1626 static inline int setuint(unsigned int v)
1628 a3_lval.number_uint = v;
1636 static inline int setfloat(double v)
1638 a3_lval.number_float = v;
1642 static inline int handlefloat()
1645 a3_lval.number_float = atof(s);
1649 static inline int handleint()
1652 char l = (as3_text[0]=='-');
1654 char*max = l?"1073741824":"2147483647";
1656 as3_warning("integer overflow: %s (converted to Number)", s);
1657 return handlefloat();
1659 if(as3_leng-l==10) {
1661 for(t=0;t<as3_leng-l;t++) {
1662 if(as3_text[l+t]>max[t]) {
1663 as3_warning("integer overflow: %s (converted to Number)", s);
1664 return handlefloat();
1666 else if(as3_text[l+t]<max[t])
1670 if(as3_text[0]=='-') {
1676 for(t=0;t<as3_leng;t++) {
1684 static inline int handlehexfloat()
1686 char l = (as3_text[0]=='-')+2;
1691 for(t=l;t<as3_leng;t++) {
1692 char c = as3_text[t];
1702 if(c>='0' && c<='9')
1704 else if((c>='a' && c<='f') || (c>='A' && c<='F'))
1705 d+=((c&0x0f)+9)*base;
1709 static inline int handlehex()
1711 char l = (as3_text[0]=='-')+2;
1716 syntaxerror("integer overflow %s", s);
1721 for(t=l;t<len;t++) {
1723 char c = as3_text[t];
1724 if(c>='0' && c<='9')
1726 else if((c>='a' && c<='f') || (c>='A' && c<='F'))
1729 if(l && v>1073741824) {
1731 as3_warning("signed integer overflow: %s (converted to Number)", s);
1734 if(!l && v>2147483647) {
1736 as3_warning("unsigned integer overflow: %s (converted to Number)", s);
1741 return setint(-(int)v);
1747 void handleLabel(char*text, int len)
1750 for(t=len-1;t>=0;--t) {
1755 char*s = malloc(t+1);
1756 memcpy(s, as3_text, t);
1761 static int handleregexp()
1763 char*s = malloc(as3_leng);
1765 memcpy(s, as3_text+1, len);
1768 for(t=len;t>=0;--t) {
1774 a3_lval.regexp.pattern = s;
1776 a3_lval.regexp.options = 0;
1778 a3_lval.regexp.options = s+t+1;
1783 void initialize_scanner();
1784 #define YY_USER_INIT initialize_scanner();
1786 /* count the number of lines+columns consumed by this token */
1787 static inline void l() {
1789 for(t=0;t<as3_leng;t++) {
1790 if(as3_text[t]=='\n') {
1798 /* count the number of columns consumed by this token */
1799 static inline void c() {
1800 current_column+=as3_leng;
1803 static trie_t*namespaces = 0;
1804 void tokenizer_register_namespace(const char*id)
1806 trie_put(&namespaces, id);
1808 static inline tokenizer_is_namespace(const char*id)
1810 return trie_lookup(namespaces, id);
1813 static inline int handleIdentifier()
1815 char*s = malloc(as3_leng+1);
1816 memcpy(s, as3_text, as3_leng);
1819 if(tokenizer_is_namespace(s))
1822 return T_IDENTIFIER;
1826 //Boolean {c();return m(KW_BOOLEAN);}
1827 //int {c();return m(KW_INT);}
1828 //uint {c();return m(KW_UINT);}
1829 //Number {c();return m(KW_NUMBER);}
1833 #line 1834 "tokenizer.yy.c"
1839 #ifndef YY_NO_UNISTD_H
1840 /* Special case for "unistd.h", since it is non-ANSI. We include it way
1841 * down here because we want the user's section 1 to have been scanned first.
1842 * The user has a chance to override it with an option.
1847 #ifndef YY_EXTRA_TYPE
1848 #define YY_EXTRA_TYPE void *
1851 static int yy_init_globals (void );
1853 /* Accessor methods to globals.
1854 These are made visible to non-reentrant scanners for convenience. */
1856 int as3_lex_destroy (void );
1858 int as3_get_debug (void );
1860 void as3_set_debug (int debug_flag );
1862 YY_EXTRA_TYPE as3_get_extra (void );
1864 void as3_set_extra (YY_EXTRA_TYPE user_defined );
1866 FILE *as3_get_in (void );
1868 void as3_set_in (FILE * in_str );
1870 FILE *as3_get_out (void );
1872 void as3_set_out (FILE * out_str );
1874 int as3_get_leng (void );
1876 char *as3_get_text (void );
1878 int as3_get_lineno (void );
1880 void as3_set_lineno (int line_number );
1882 /* Macros after this point can all be overridden by user definitions in
1886 #ifndef YY_SKIP_YYWRAP
1888 extern "C" int as3_wrap (void );
1890 extern int as3_wrap (void );
1894 static void yyunput (int c,char *buf_ptr );
1897 static void yy_flex_strncpy (char *,yyconst char *,int );
1900 #ifdef YY_NEED_STRLEN
1901 static int yy_flex_strlen (yyconst char * );
1907 static int yyinput (void );
1909 static int input (void );
1914 /* Amount of stuff to slurp up with each read. */
1915 #ifndef YY_READ_BUF_SIZE
1916 #define YY_READ_BUF_SIZE 8192
1919 /* Copy whatever the last rule matched to the standard output. */
1921 /* This used to be an fputs(), but since the string might contain NUL's,
1922 * we now use fwrite().
1924 #define ECHO fwrite( as3_text, as3_leng, 1, as3_out )
1927 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1928 * is returned in "result".
1931 #define YY_INPUT(buf,result,max_size) \
1932 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1936 for ( n = 0; n < max_size && \
1937 (c = getc( as3_in )) != EOF && c != '\n'; ++n ) \
1938 buf[n] = (char) c; \
1940 buf[n++] = (char) c; \
1941 if ( c == EOF && ferror( as3_in ) ) \
1942 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1948 while ( (result = fread(buf, 1, max_size, as3_in))==0 && ferror(as3_in)) \
1950 if( errno != EINTR) \
1952 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1963 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1964 * we don't want an extra ';' after the "return" because that will cause
1965 * some compilers to complain about unreachable statements.
1968 #define yyterminate() return YY_NULL
1971 /* Number of entries by which start-condition stack grows. */
1972 #ifndef YY_START_STACK_INCR
1973 #define YY_START_STACK_INCR 25
1976 /* Report a fatal error. */
1977 #ifndef YY_FATAL_ERROR
1978 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1981 /* end tables serialization structures and prototypes */
1983 /* Default declaration of generated scanner - a define so the user can
1984 * easily add parameters.
1987 #define YY_DECL_IS_OURS 1
1989 extern int as3_lex (void);
1991 #define YY_DECL int as3_lex (void)
1992 #endif /* !YY_DECL */
1994 /* Code executed at the beginning of each rule, after as3_text and as3_leng
1997 #ifndef YY_USER_ACTION
1998 #define YY_USER_ACTION
2001 /* Code executed at the end of each rule. */
2003 #define YY_BREAK break;
2006 #define YY_RULE_SETUP \
2007 if ( as3_leng > 0 ) \
2008 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
2009 (as3_text[as3_leng - 1] == '\n'); \
2012 /** The main scanner function which does all the work.
2016 register yy_state_type yy_current_state;
2017 register char *yy_cp, *yy_bp;
2018 register int yy_act;
2020 #line 571 "tokenizer.lex"
2024 #line 2025 "tokenizer.yy.c"
2035 (yy_start) = 1; /* first start state */
2043 if ( ! YY_CURRENT_BUFFER ) {
2044 as3_ensure_buffer_stack ();
2045 YY_CURRENT_BUFFER_LVALUE =
2046 as3__create_buffer(as3_in,YY_BUF_SIZE );
2049 as3__load_buffer_state( );
2052 while ( 1 ) /* loops until end-of-file is reached */
2054 yy_cp = (yy_c_buf_p);
2056 /* Support of as3_text. */
2057 *yy_cp = (yy_hold_char);
2059 /* yy_bp points to the position in yy_ch_buf of the start of
2064 yy_current_state = (yy_start);
2065 yy_current_state += YY_AT_BOL();
2069 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
2070 if ( yy_accept[yy_current_state] )
2072 (yy_last_accepting_state) = yy_current_state;
2073 (yy_last_accepting_cpos) = yy_cp;
2075 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2077 yy_current_state = (int) yy_def[yy_current_state];
2078 if ( yy_current_state >= 509 )
2079 yy_c = yy_meta[(unsigned int) yy_c];
2081 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2084 while ( yy_current_state != 508 );
2085 yy_cp = (yy_last_accepting_cpos);
2086 yy_current_state = (yy_last_accepting_state);
2089 yy_act = yy_accept[yy_current_state];
2091 YY_DO_BEFORE_ACTION;
2093 do_action: /* This label is used only to access EOF actions. */
2096 { /* beginning of action switch */
2097 case 0: /* must back up */
2098 /* undo the effects of YY_DO_BEFORE_ACTION */
2099 *yy_cp = (yy_hold_char);
2100 yy_cp = (yy_last_accepting_cpos);
2101 yy_current_state = (yy_last_accepting_state);
2102 goto yy_find_action;
2105 /* rule 1 can match eol */
2107 #line 574 "tokenizer.lex"
2108 {l(); /* single line comment */}
2111 /* rule 2 can match eol */
2113 #line 575 "tokenizer.lex"
2114 {l(); /* multi line comment */}
2118 #line 576 "tokenizer.lex"
2119 {syntaxerror("syntax error: unterminated comment", as3_text);}
2122 /* rule 4 can match eol */
2123 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2124 (yy_c_buf_p) = yy_cp -= 1;
2125 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2127 #line 578 "tokenizer.lex"
2128 {l();handleInclude(as3_text, as3_leng, 1);}
2131 /* rule 5 can match eol */
2132 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2133 (yy_c_buf_p) = yy_cp -= 1;
2134 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2136 #line 579 "tokenizer.lex"
2137 {l();handleInclude(as3_text, as3_leng, 0);}
2140 /* rule 6 can match eol */
2142 #line 580 "tokenizer.lex"
2143 {l(); BEGIN(INITIAL);handleString(as3_text, as3_leng);return T_STRING;}
2146 /* rule 7 can match eol */
2148 #line 581 "tokenizer.lex"
2149 {l(); BEGIN(INITIAL);handleCData(as3_text, as3_leng);return T_STRING;}
2154 #line 584 "tokenizer.lex"
2155 {c(); BEGIN(INITIAL);return handleregexp();}
2158 /* rule 9 can match eol */
2159 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2160 (yy_c_buf_p) = yy_cp -= 1;
2161 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2163 #line 585 "tokenizer.lex"
2164 {c(); BEGIN(INITIAL);return handlehex();}
2167 /* rule 10 can match eol */
2168 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2169 (yy_c_buf_p) = yy_cp -= 1;
2170 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2172 #line 586 "tokenizer.lex"
2173 {c(); BEGIN(INITIAL);return handlehexfloat();}
2176 /* rule 11 can match eol */
2177 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2178 (yy_c_buf_p) = yy_cp -= 1;
2179 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2181 #line 587 "tokenizer.lex"
2182 {c(); BEGIN(INITIAL);return handleint();}
2185 /* rule 12 can match eol */
2186 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2187 (yy_c_buf_p) = yy_cp -= 1;
2188 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2190 #line 588 "tokenizer.lex"
2191 {c(); BEGIN(INITIAL);return handlefloat();}
2196 #line 591 "tokenizer.lex"
2197 {c(); BEGIN(REGEXPOK);return m(T_DICTSTART);}
2201 #line 592 "tokenizer.lex"
2202 {c(); BEGIN(INITIAL); return m('{');}
2206 #line 594 "tokenizer.lex"
2210 /* rule 16 can match eol */
2212 #line 595 "tokenizer.lex"
2216 /* rule 17 can match eol */
2217 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2218 (yy_c_buf_p) = yy_cp -= 1;
2219 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2221 #line 597 "tokenizer.lex"
2222 {c(); BEGIN(INITIAL);return handlehex();}
2225 /* rule 18 can match eol */
2226 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2227 (yy_c_buf_p) = yy_cp -= 1;
2228 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2230 #line 598 "tokenizer.lex"
2231 {c(); BEGIN(INITIAL);return handlehexfloat();}
2234 /* rule 19 can match eol */
2235 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2236 (yy_c_buf_p) = yy_cp -= 1;
2237 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2239 #line 599 "tokenizer.lex"
2240 {c(); BEGIN(INITIAL);return handleint();}
2243 /* rule 20 can match eol */
2244 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2245 (yy_c_buf_p) = yy_cp -= 1;
2246 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2248 #line 600 "tokenizer.lex"
2249 {c(); BEGIN(INITIAL);return handlefloat();}
2253 #line 602 "tokenizer.lex"
2254 {/* for debugging: generates a tokenizer-level error */
2255 syntaxerror("3rr0r");}
2258 /* rule 22 can match eol */
2259 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2260 (yy_c_buf_p) = yy_cp -= 1;
2261 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2263 #line 605 "tokenizer.lex"
2264 {l();BEGIN(INITIAL);handleLabel(as3_text, as3_leng-3);return T_FOR;}
2267 /* rule 23 can match eol */
2268 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2269 (yy_c_buf_p) = yy_cp -= 1;
2270 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2272 #line 606 "tokenizer.lex"
2273 {l();BEGIN(INITIAL);handleLabel(as3_text, as3_leng-2);return T_DO;}
2276 /* rule 24 can match eol */
2277 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2278 (yy_c_buf_p) = yy_cp -= 1;
2279 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2281 #line 607 "tokenizer.lex"
2282 {l();BEGIN(INITIAL);handleLabel(as3_text, as3_leng-5);return T_WHILE;}
2285 /* rule 25 can match eol */
2286 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2287 (yy_c_buf_p) = yy_cp -= 1;
2288 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2290 #line 608 "tokenizer.lex"
2291 {l();BEGIN(INITIAL);handleLabel(as3_text, as3_leng-6);return T_SWITCH;}
2295 #line 609 "tokenizer.lex"
2296 {c();BEGIN(INITIAL);a3_lval.id="";return T_FOR;}
2300 #line 610 "tokenizer.lex"
2301 {c();BEGIN(INITIAL);a3_lval.id="";return T_DO;}
2305 #line 611 "tokenizer.lex"
2306 {c();BEGIN(INITIAL);a3_lval.id="";return T_WHILE;}
2310 #line 612 "tokenizer.lex"
2311 {c();BEGIN(INITIAL);a3_lval.id="";return T_SWITCH;}
2315 #line 614 "tokenizer.lex"
2316 {c();BEGIN(REGEXPOK);return m(T_ANDAND);}
2320 #line 615 "tokenizer.lex"
2321 {c();BEGIN(REGEXPOK);return m(T_OROR);}
2325 #line 616 "tokenizer.lex"
2326 {c();BEGIN(REGEXPOK);return m(T_NE);}
2330 #line 617 "tokenizer.lex"
2331 {c();BEGIN(REGEXPOK);return m(T_NEE);}
2335 #line 618 "tokenizer.lex"
2336 {c();BEGIN(REGEXPOK);return m(T_EQEQEQ);}
2340 #line 619 "tokenizer.lex"
2341 {c();BEGIN(REGEXPOK);return m(T_EQEQ);}
2345 #line 620 "tokenizer.lex"
2346 {c();BEGIN(REGEXPOK);return m(T_GE);}
2350 #line 621 "tokenizer.lex"
2351 {c();BEGIN(REGEXPOK);return m(T_LE);}
2355 #line 622 "tokenizer.lex"
2356 {c();BEGIN(INITIAL);return m(T_MINUSMINUS);}
2360 #line 623 "tokenizer.lex"
2361 {c();BEGIN(INITIAL);return m(T_PLUSPLUS);}
2365 #line 624 "tokenizer.lex"
2366 {c();BEGIN(REGEXPOK);return m(T_PLUSBY);}
2370 #line 625 "tokenizer.lex"
2371 {c();BEGIN(REGEXPOK);return m(T_XORBY);}
2375 #line 626 "tokenizer.lex"
2376 {c();BEGIN(REGEXPOK);return m(T_MINUSBY);}
2380 #line 627 "tokenizer.lex"
2381 {c();BEGIN(REGEXPOK);return m(T_DIVBY);}
2385 #line 628 "tokenizer.lex"
2386 {c();BEGIN(REGEXPOK);return m(T_MODBY);}
2390 #line 629 "tokenizer.lex"
2391 {c();BEGIN(REGEXPOK);return m(T_MULBY);}
2395 #line 630 "tokenizer.lex"
2396 {c();BEGIN(REGEXPOK);return m(T_ORBY);}
2400 #line 631 "tokenizer.lex"
2401 {c();BEGIN(REGEXPOK);return m(T_SHRBY);}
2405 #line 632 "tokenizer.lex"
2406 {c();BEGIN(REGEXPOK);return m(T_SHLBY);}
2410 #line 633 "tokenizer.lex"
2411 {c();BEGIN(REGEXPOK);return m(T_USHRBY);}
2415 #line 634 "tokenizer.lex"
2416 {c();BEGIN(REGEXPOK);return m(T_SHL);}
2420 #line 635 "tokenizer.lex"
2421 {c();BEGIN(REGEXPOK);return m(T_USHR);}
2425 #line 636 "tokenizer.lex"
2426 {c();BEGIN(REGEXPOK);return m(T_SHR);}
2430 #line 637 "tokenizer.lex"
2431 {c();BEGIN(REGEXPOK);return m(T_DOTDOTDOT);}
2435 #line 638 "tokenizer.lex"
2436 {c();BEGIN(REGEXPOK);return m(T_DOTDOT);}
2440 #line 639 "tokenizer.lex"
2441 {c();BEGIN(REGEXPOK);return m('.');}
2445 #line 640 "tokenizer.lex"
2446 {c();BEGIN(REGEXPOK);return m(T_COLONCOLON);}
2450 #line 641 "tokenizer.lex"
2451 {c();BEGIN(INITIAL);return m(':');}
2455 #line 642 "tokenizer.lex"
2456 {c();BEGIN(REGEXPOK);return m(KW_INSTANCEOF);}
2460 #line 643 "tokenizer.lex"
2461 {c();BEGIN(REGEXPOK);return m(KW_IMPLEMENTS);}
2465 #line 644 "tokenizer.lex"
2466 {c();BEGIN(INITIAL);return m(KW_INTERFACE);}
2470 #line 645 "tokenizer.lex"
2471 {c();BEGIN(INITIAL);return m(KW_NAMESPACE);}
2475 #line 646 "tokenizer.lex"
2476 {c();BEGIN(INITIAL);return m(KW_PROTECTED);}
2480 #line 647 "tokenizer.lex"
2481 {c();BEGIN(INITIAL);return m(KW_UNDEFINED);}
2485 #line 648 "tokenizer.lex"
2486 {c();BEGIN(INITIAL);return m(KW_CONTINUE);}
2490 #line 649 "tokenizer.lex"
2491 {c();BEGIN(INITIAL);return m(KW_OVERRIDE);}
2495 #line 650 "tokenizer.lex"
2496 {c();BEGIN(INITIAL);return m(KW_INTERNAL);}
2500 #line 651 "tokenizer.lex"
2501 {c();BEGIN(INITIAL);return m(KW_FUNCTION);}
2505 #line 652 "tokenizer.lex"
2506 {c();BEGIN(INITIAL);return m(KW_FINALLY);}
2510 #line 653 "tokenizer.lex"
2511 {c();BEGIN(INITIAL);return m(KW_DEFAULT);}
2515 #line 654 "tokenizer.lex"
2516 {c();BEGIN(INITIAL);return m(KW_PACKAGE);}
2520 #line 655 "tokenizer.lex"
2521 {c();BEGIN(INITIAL);return m(KW_PRIVATE);}
2525 #line 656 "tokenizer.lex"
2526 {c();BEGIN(INITIAL);return m(KW_DYNAMIC);}
2530 #line 657 "tokenizer.lex"
2531 {c();BEGIN(INITIAL);return m(KW_EXTENDS);}
2535 #line 658 "tokenizer.lex"
2536 {c();BEGIN(REGEXPOK);return m(KW_DELETE);}
2540 #line 659 "tokenizer.lex"
2541 {c();BEGIN(REGEXPOK);return m(KW_RETURN);}
2545 #line 660 "tokenizer.lex"
2546 {c();BEGIN(INITIAL);return m(KW_PUBLIC);}
2550 #line 661 "tokenizer.lex"
2551 {c();BEGIN(INITIAL);return m(KW_NATIVE);}
2555 #line 662 "tokenizer.lex"
2556 {c();BEGIN(INITIAL);return m(KW_STATIC);}
2560 #line 663 "tokenizer.lex"
2561 {c();BEGIN(REGEXPOK);return m(KW_IMPORT);}
2565 #line 664 "tokenizer.lex"
2566 {c();BEGIN(REGEXPOK);return m(KW_TYPEOF);}
2570 #line 665 "tokenizer.lex"
2571 {c();BEGIN(REGEXPOK);return m(KW_THROW);}
2575 #line 666 "tokenizer.lex"
2576 {c();BEGIN(INITIAL);return m(KW_CLASS);}
2580 #line 667 "tokenizer.lex"
2581 {c();BEGIN(INITIAL);return m(KW_CONST);}
2585 #line 668 "tokenizer.lex"
2586 {c();BEGIN(INITIAL);return m(KW_CATCH);}
2590 #line 669 "tokenizer.lex"
2591 {c();BEGIN(INITIAL);return m(KW_FINAL);}
2595 #line 670 "tokenizer.lex"
2596 {c();BEGIN(INITIAL);return m(KW_FALSE);}
2600 #line 671 "tokenizer.lex"
2601 {c();BEGIN(INITIAL);return m(KW_BREAK);}
2605 #line 672 "tokenizer.lex"
2606 {c();BEGIN(INITIAL);return m(KW_SUPER);}
2610 #line 673 "tokenizer.lex"
2611 {c();BEGIN(INITIAL);return m(KW_EACH);}
2615 #line 674 "tokenizer.lex"
2616 {c();BEGIN(INITIAL);return m(KW_VOID);}
2620 #line 675 "tokenizer.lex"
2621 {c();BEGIN(INITIAL);return m(KW_TRUE);}
2625 #line 676 "tokenizer.lex"
2626 {c();BEGIN(INITIAL);return m(KW_NULL);}
2630 #line 677 "tokenizer.lex"
2631 {c();BEGIN(INITIAL);return m(KW_ELSE);}
2635 #line 678 "tokenizer.lex"
2636 {c();BEGIN(REGEXPOK);return m(KW_CASE);}
2640 #line 679 "tokenizer.lex"
2641 {c();BEGIN(REGEXPOK);return m(KW_WITH);}
2645 #line 680 "tokenizer.lex"
2646 {c();BEGIN(REGEXPOK);return m(KW_USE);}
2650 #line 681 "tokenizer.lex"
2651 {c();BEGIN(REGEXPOK);return m(KW_NEW);}
2655 #line 682 "tokenizer.lex"
2656 {c();BEGIN(INITIAL);return m(KW_GET);}
2660 #line 683 "tokenizer.lex"
2661 {c();BEGIN(INITIAL);return m(KW_SET);}
2665 #line 684 "tokenizer.lex"
2666 {c();BEGIN(INITIAL);return m(KW_VAR);}
2670 #line 685 "tokenizer.lex"
2671 {c();BEGIN(INITIAL);return m(KW_TRY);}
2675 #line 686 "tokenizer.lex"
2676 {c();BEGIN(REGEXPOK);return m(KW_IS) ;}
2680 #line 687 "tokenizer.lex"
2681 {c();BEGIN(REGEXPOK);return m(KW_IN) ;}
2685 #line 688 "tokenizer.lex"
2686 {c();BEGIN(INITIAL);return m(KW_IF) ;}
2690 #line 689 "tokenizer.lex"
2691 {c();BEGIN(REGEXPOK);return m(KW_AS);}
2695 #line 690 "tokenizer.lex"
2696 {c();BEGIN(INITIAL);return handleIdentifier();}
2700 #line 692 "tokenizer.lex"
2701 {c();BEGIN(INITIAL);return m(as3_text[0]);}
2705 #line 693 "tokenizer.lex"
2706 {c();BEGIN(REGEXPOK);return m(as3_text[0]);}
2710 #line 694 "tokenizer.lex"
2711 {c();BEGIN(INITIAL);return m(as3_text[0]);}
2715 #line 696 "tokenizer.lex"
2717 char c1=as3_text[0];
2719 buf[0] = as3_text[0];
2721 for(t=1;t<128;t++) {
2722 char c = buf[t]=input();
2723 if(c=='\n' || c==EOF) {
2728 if(c1>='0' && c1<='9')
2729 syntaxerror("syntax error: %s (identifiers must not start with a digit)");
2731 syntaxerror("syntax error: %s", buf);
2737 case YY_STATE_EOF(INITIAL):
2738 case YY_STATE_EOF(REGEXPOK):
2739 case YY_STATE_EOF(BEGINNING):
2740 #line 716 "tokenizer.lex"
2742 void*b = leave_file();
2745 as3__delete_buffer(YY_CURRENT_BUFFER);
2748 as3__delete_buffer(YY_CURRENT_BUFFER);
2749 as3__switch_to_buffer(b);
2755 #line 728 "tokenizer.lex"
2758 #line 2759 "tokenizer.yy.c"
2760 case YY_END_OF_BUFFER:
2762 /* Amount of text matched not including the EOB char. */
2763 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
2765 /* Undo the effects of YY_DO_BEFORE_ACTION. */
2766 *yy_cp = (yy_hold_char);
2767 YY_RESTORE_YY_MORE_OFFSET
2769 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
2771 /* We're scanning a new file or input source. It's
2772 * possible that this happened because the user
2773 * just pointed as3_in at a new source and called
2774 * as3_lex(). If so, then we have to assure
2775 * consistency between YY_CURRENT_BUFFER and our
2776 * globals. Here is the right place to do so, because
2777 * this is the first action (other than possibly a
2778 * back-up) that will match for the new input source.
2780 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2781 YY_CURRENT_BUFFER_LVALUE->yy_input_file = as3_in;
2782 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
2785 /* Note that here we test for yy_c_buf_p "<=" to the position
2786 * of the first EOB in the buffer, since yy_c_buf_p will
2787 * already have been incremented past the NUL character
2788 * (since all states make transitions on EOB to the
2789 * end-of-buffer state). Contrast this with the test
2792 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2793 { /* This was really a NUL. */
2794 yy_state_type yy_next_state;
2796 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
2798 yy_current_state = yy_get_previous_state( );
2800 /* Okay, we're now positioned to make the NUL
2801 * transition. We couldn't have
2802 * yy_get_previous_state() go ahead and do it
2803 * for us because it doesn't know how to deal
2804 * with the possibility of jamming (and we don't
2805 * want to build jamming into it because then it
2806 * will run more slowly).
2809 yy_next_state = yy_try_NUL_trans( yy_current_state );
2811 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2813 if ( yy_next_state )
2815 /* Consume the NUL. */
2816 yy_cp = ++(yy_c_buf_p);
2817 yy_current_state = yy_next_state;
2823 yy_cp = (yy_last_accepting_cpos);
2824 yy_current_state = (yy_last_accepting_state);
2825 goto yy_find_action;
2829 else switch ( yy_get_next_buffer( ) )
2831 case EOB_ACT_END_OF_FILE:
2833 (yy_did_buffer_switch_on_eof) = 0;
2837 /* Note: because we've taken care in
2838 * yy_get_next_buffer() to have set up
2839 * as3_text, we can now set up
2840 * yy_c_buf_p so that if some total
2841 * hoser (like flex itself) wants to
2842 * call the scanner after we return the
2843 * YY_NULL, it'll still work - another
2844 * YY_NULL will get returned.
2846 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
2848 yy_act = YY_STATE_EOF(YY_START);
2854 if ( ! (yy_did_buffer_switch_on_eof) )
2860 case EOB_ACT_CONTINUE_SCAN:
2862 (yytext_ptr) + yy_amount_of_matched_text;
2864 yy_current_state = yy_get_previous_state( );
2866 yy_cp = (yy_c_buf_p);
2867 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2870 case EOB_ACT_LAST_MATCH:
2872 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
2874 yy_current_state = yy_get_previous_state( );
2876 yy_cp = (yy_c_buf_p);
2877 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2878 goto yy_find_action;
2885 "fatal flex scanner internal error--no action found" );
2886 } /* end of action switch */
2887 } /* end of scanning one token */
2888 } /* end of as3_lex */
2890 /* yy_get_next_buffer - try to read in a new buffer
2892 * Returns a code representing an action:
2893 * EOB_ACT_LAST_MATCH -
2894 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2895 * EOB_ACT_END_OF_FILE - end of file
2897 static int yy_get_next_buffer (void)
2899 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
2900 register char *source = (yytext_ptr);
2901 register int number_to_move, i;
2904 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
2906 "fatal flex scanner internal error--end of buffer missed" );
2908 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
2909 { /* Don't try to fill the buffer, so this is an EOF. */
2910 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
2912 /* We matched a single character, the EOB, so
2913 * treat this as a final EOF.
2915 return EOB_ACT_END_OF_FILE;
2920 /* We matched some text prior to the EOB, first
2923 return EOB_ACT_LAST_MATCH;
2927 /* Try to read more data. */
2929 /* First move last chars to start of buffer. */
2930 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
2932 for ( i = 0; i < number_to_move; ++i )
2933 *(dest++) = *(source++);
2935 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2936 /* don't do the read, it's not guaranteed to return an EOF,
2939 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
2944 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
2946 while ( num_to_read <= 0 )
2947 { /* Not enough room in the buffer - grow it. */
2949 /* just a shorter name for the current buffer */
2950 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
2952 int yy_c_buf_p_offset =
2953 (int) ((yy_c_buf_p) - b->yy_ch_buf);
2955 if ( b->yy_is_our_buffer )
2957 int new_size = b->yy_buf_size * 2;
2959 if ( new_size <= 0 )
2960 b->yy_buf_size += b->yy_buf_size / 8;
2962 b->yy_buf_size *= 2;
2964 b->yy_ch_buf = (char *)
2965 /* Include room in for 2 EOB chars. */
2966 as3_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
2969 /* Can't grow it, we don't own it. */
2972 if ( ! b->yy_ch_buf )
2974 "fatal error - scanner input buffer overflow" );
2976 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
2978 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
2983 if ( num_to_read > YY_READ_BUF_SIZE )
2984 num_to_read = YY_READ_BUF_SIZE;
2986 /* Read in more data. */
2987 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
2988 (yy_n_chars), (size_t) num_to_read );
2990 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2993 if ( (yy_n_chars) == 0 )
2995 if ( number_to_move == YY_MORE_ADJ )
2997 ret_val = EOB_ACT_END_OF_FILE;
2998 as3_restart(as3_in );
3003 ret_val = EOB_ACT_LAST_MATCH;
3004 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
3005 YY_BUFFER_EOF_PENDING;
3010 ret_val = EOB_ACT_CONTINUE_SCAN;
3012 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
3013 /* Extend the array by 50%, plus the number we really need. */
3014 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
3015 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) as3_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
3016 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3017 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
3020 (yy_n_chars) += number_to_move;
3021 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
3022 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
3024 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
3029 /* yy_get_previous_state - get the state just before the EOB char was reached */
3031 static yy_state_type yy_get_previous_state (void)
3033 register yy_state_type yy_current_state;
3034 register char *yy_cp;
3036 yy_current_state = (yy_start);
3037 yy_current_state += YY_AT_BOL();
3039 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
3041 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3042 if ( yy_accept[yy_current_state] )
3044 (yy_last_accepting_state) = yy_current_state;
3045 (yy_last_accepting_cpos) = yy_cp;
3047 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3049 yy_current_state = (int) yy_def[yy_current_state];
3050 if ( yy_current_state >= 509 )
3051 yy_c = yy_meta[(unsigned int) yy_c];
3053 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3056 return yy_current_state;
3059 /* yy_try_NUL_trans - try to make a transition on the NUL character
3062 * next_state = yy_try_NUL_trans( current_state );
3064 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
3066 register int yy_is_jam;
3067 register char *yy_cp = (yy_c_buf_p);
3069 register YY_CHAR yy_c = 1;
3070 if ( yy_accept[yy_current_state] )
3072 (yy_last_accepting_state) = yy_current_state;
3073 (yy_last_accepting_cpos) = yy_cp;
3075 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3077 yy_current_state = (int) yy_def[yy_current_state];
3078 if ( yy_current_state >= 509 )
3079 yy_c = yy_meta[(unsigned int) yy_c];
3081 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3082 yy_is_jam = (yy_current_state == 508);
3084 return yy_is_jam ? 0 : yy_current_state;
3087 static void yyunput (int c, register char * yy_bp )
3089 register char *yy_cp;
3091 yy_cp = (yy_c_buf_p);
3093 /* undo effects of setting up as3_text */
3094 *yy_cp = (yy_hold_char);
3096 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
3097 { /* need to shift things up to make room */
3098 /* +2 for EOB chars. */
3099 register int number_to_move = (yy_n_chars) + 2;
3100 register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
3101 YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
3102 register char *source =
3103 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
3105 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3106 *--dest = *--source;
3108 yy_cp += (int) (dest - source);
3109 yy_bp += (int) (dest - source);
3110 YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
3111 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
3113 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
3114 YY_FATAL_ERROR( "flex scanner push-back overflow" );
3117 *--yy_cp = (char) c;
3119 (yytext_ptr) = yy_bp;
3120 (yy_hold_char) = *yy_cp;
3121 (yy_c_buf_p) = yy_cp;
3126 static int yyinput (void)
3128 static int input (void)
3134 *(yy_c_buf_p) = (yy_hold_char);
3136 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
3138 /* yy_c_buf_p now points to the character we want to return.
3139 * If this occurs *before* the EOB characters, then it's a
3140 * valid NUL; if not, then we've hit the end of the buffer.
3142 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3143 /* This was really a NUL. */
3144 *(yy_c_buf_p) = '\0';
3147 { /* need more input */
3148 int offset = (yy_c_buf_p) - (yytext_ptr);
3151 switch ( yy_get_next_buffer( ) )
3153 case EOB_ACT_LAST_MATCH:
3154 /* This happens because yy_g_n_b()
3155 * sees that we've accumulated a
3156 * token and flags that we need to
3157 * try matching the token before
3158 * proceeding. But for input(),
3159 * there's no matching to consider.
3160 * So convert the EOB_ACT_LAST_MATCH
3161 * to EOB_ACT_END_OF_FILE.
3164 /* Reset buffer status. */
3165 as3_restart(as3_in );
3169 case EOB_ACT_END_OF_FILE:
3174 if ( ! (yy_did_buffer_switch_on_eof) )
3183 case EOB_ACT_CONTINUE_SCAN:
3184 (yy_c_buf_p) = (yytext_ptr) + offset;
3190 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
3191 *(yy_c_buf_p) = '\0'; /* preserve as3_text */
3192 (yy_hold_char) = *++(yy_c_buf_p);
3194 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
3198 #endif /* ifndef YY_NO_INPUT */
3200 /** Immediately switch to a different input stream.
3201 * @param input_file A readable stream.
3203 * @note This function does not reset the start condition to @c INITIAL .
3205 void as3_restart (FILE * input_file )
3208 if ( ! YY_CURRENT_BUFFER ){
3209 as3_ensure_buffer_stack ();
3210 YY_CURRENT_BUFFER_LVALUE =
3211 as3__create_buffer(as3_in,YY_BUF_SIZE );
3214 as3__init_buffer(YY_CURRENT_BUFFER,input_file );
3215 as3__load_buffer_state( );
3218 /** Switch to a different input buffer.
3219 * @param new_buffer The new input buffer.
3222 void as3__switch_to_buffer (YY_BUFFER_STATE new_buffer )
3225 /* TODO. We should be able to replace this entire function body
3227 * as3_pop_buffer_state();
3228 * as3_push_buffer_state(new_buffer);
3230 as3_ensure_buffer_stack ();
3231 if ( YY_CURRENT_BUFFER == new_buffer )
3234 if ( YY_CURRENT_BUFFER )
3236 /* Flush out information for old buffer. */
3237 *(yy_c_buf_p) = (yy_hold_char);
3238 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3239 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3242 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3243 as3__load_buffer_state( );
3245 /* We don't actually know whether we did this switch during
3246 * EOF (as3_wrap()) processing, but the only time this flag
3247 * is looked at is after as3_wrap() is called, so it's safe
3248 * to go ahead and always set it.
3250 (yy_did_buffer_switch_on_eof) = 1;
3253 static void as3__load_buffer_state (void)
3255 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3256 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
3257 as3_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
3258 (yy_hold_char) = *(yy_c_buf_p);
3261 /** Allocate and initialize an input buffer state.
3262 * @param file A readable stream.
3263 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
3265 * @return the allocated buffer state.
3267 YY_BUFFER_STATE as3__create_buffer (FILE * file, int size )
3271 b = (YY_BUFFER_STATE) as3_alloc(sizeof( struct yy_buffer_state ) );
3273 YY_FATAL_ERROR( "out of dynamic memory in as3__create_buffer()" );
3275 b->yy_buf_size = size;
3277 /* yy_ch_buf has to be 2 characters longer than the size given because
3278 * we need to put in 2 end-of-buffer characters.
3280 b->yy_ch_buf = (char *) as3_alloc(b->yy_buf_size + 2 );
3281 if ( ! b->yy_ch_buf )
3282 YY_FATAL_ERROR( "out of dynamic memory in as3__create_buffer()" );
3284 b->yy_is_our_buffer = 1;
3286 as3__init_buffer(b,file );
3291 /** Destroy the buffer.
3292 * @param b a buffer created with as3__create_buffer()
3295 void as3__delete_buffer (YY_BUFFER_STATE b )
3301 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
3302 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
3304 if ( b->yy_is_our_buffer )
3305 as3_free((void *) b->yy_ch_buf );
3307 as3_free((void *) b );
3310 #ifndef _UNISTD_H /* assume unistd.h has isatty() for us */
3314 #ifdef __THROW /* this is a gnuism */
3315 extern int isatty (int ) __THROW;
3317 extern int isatty (int );
3324 /* Initializes or reinitializes a buffer.
3325 * This function is sometimes called more than once on the same buffer,
3326 * such as during a as3_restart() or at EOF.
3328 static void as3__init_buffer (YY_BUFFER_STATE b, FILE * file )
3333 as3__flush_buffer(b );
3335 b->yy_input_file = file;
3336 b->yy_fill_buffer = 1;
3338 /* If b is the current buffer, then as3__init_buffer was _probably_
3339 * called from as3_restart() or through yy_get_next_buffer.
3340 * In that case, we don't want to reset the lineno or column.
3342 if (b != YY_CURRENT_BUFFER){
3343 b->yy_bs_lineno = 1;
3344 b->yy_bs_column = 0;
3347 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
3352 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
3353 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
3356 void as3__flush_buffer (YY_BUFFER_STATE b )
3363 /* We always need two end-of-buffer characters. The first causes
3364 * a transition to the end-of-buffer state. The second causes
3365 * a jam in that state.
3367 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3368 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3370 b->yy_buf_pos = &b->yy_ch_buf[0];
3373 b->yy_buffer_status = YY_BUFFER_NEW;
3375 if ( b == YY_CURRENT_BUFFER )
3376 as3__load_buffer_state( );
3379 /** Pushes the new state onto the stack. The new state becomes
3380 * the current state. This function will allocate the stack
3382 * @param new_buffer The new state.
3385 void as3_push_buffer_state (YY_BUFFER_STATE new_buffer )
3387 if (new_buffer == NULL)
3390 as3_ensure_buffer_stack();
3392 /* This block is copied from as3__switch_to_buffer. */
3393 if ( YY_CURRENT_BUFFER )
3395 /* Flush out information for old buffer. */
3396 *(yy_c_buf_p) = (yy_hold_char);
3397 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3398 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3401 /* Only push if top exists. Otherwise, replace top. */
3402 if (YY_CURRENT_BUFFER)
3403 (yy_buffer_stack_top)++;
3404 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3406 /* copied from as3__switch_to_buffer. */
3407 as3__load_buffer_state( );
3408 (yy_did_buffer_switch_on_eof) = 1;
3411 /** Removes and deletes the top of the stack, if present.
3412 * The next element becomes the new top.
3415 void as3_pop_buffer_state (void)
3417 if (!YY_CURRENT_BUFFER)
3420 as3__delete_buffer(YY_CURRENT_BUFFER );
3421 YY_CURRENT_BUFFER_LVALUE = NULL;
3422 if ((yy_buffer_stack_top) > 0)
3423 --(yy_buffer_stack_top);
3425 if (YY_CURRENT_BUFFER) {
3426 as3__load_buffer_state( );
3427 (yy_did_buffer_switch_on_eof) = 1;
3431 /* Allocates the stack if it does not exist.
3432 * Guarantees space for at least one push.
3434 static void as3_ensure_buffer_stack (void)
3438 if (!(yy_buffer_stack)) {
3440 /* First allocation is just for 2 elements, since we don't know if this
3441 * scanner will even need a stack. We use 2 instead of 1 to avoid an
3442 * immediate realloc on the next call.
3445 (yy_buffer_stack) = (struct yy_buffer_state**)as3_alloc
3446 (num_to_alloc * sizeof(struct yy_buffer_state*)
3448 if ( ! (yy_buffer_stack) )
3449 YY_FATAL_ERROR( "out of dynamic memory in as3_ensure_buffer_stack()" );
3451 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
3453 (yy_buffer_stack_max) = num_to_alloc;
3454 (yy_buffer_stack_top) = 0;
3458 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
3460 /* Increase the buffer to prepare for a possible push. */
3461 int grow_size = 8 /* arbitrary grow size */;
3463 num_to_alloc = (yy_buffer_stack_max) + grow_size;
3464 (yy_buffer_stack) = (struct yy_buffer_state**)as3_realloc
3466 num_to_alloc * sizeof(struct yy_buffer_state*)
3468 if ( ! (yy_buffer_stack) )
3469 YY_FATAL_ERROR( "out of dynamic memory in as3_ensure_buffer_stack()" );
3471 /* zero only the new slots.*/
3472 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
3473 (yy_buffer_stack_max) = num_to_alloc;
3477 /** Setup the input buffer state to scan directly from a user-specified character buffer.
3478 * @param base the character buffer
3479 * @param size the size in bytes of the character buffer
3481 * @return the newly allocated buffer state object.
3483 YY_BUFFER_STATE as3__scan_buffer (char * base, yy_size_t size )
3488 base[size-2] != YY_END_OF_BUFFER_CHAR ||
3489 base[size-1] != YY_END_OF_BUFFER_CHAR )
3490 /* They forgot to leave room for the EOB's. */
3493 b = (YY_BUFFER_STATE) as3_alloc(sizeof( struct yy_buffer_state ) );
3495 YY_FATAL_ERROR( "out of dynamic memory in as3__scan_buffer()" );
3497 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
3498 b->yy_buf_pos = b->yy_ch_buf = base;
3499 b->yy_is_our_buffer = 0;
3500 b->yy_input_file = 0;
3501 b->yy_n_chars = b->yy_buf_size;
3502 b->yy_is_interactive = 0;
3504 b->yy_fill_buffer = 0;
3505 b->yy_buffer_status = YY_BUFFER_NEW;
3507 as3__switch_to_buffer(b );
3512 /** Setup the input buffer state to scan a string. The next call to as3_lex() will
3513 * scan from a @e copy of @a str.
3514 * @param yystr a NUL-terminated string to scan
3516 * @return the newly allocated buffer state object.
3517 * @note If you want to scan bytes that may contain NUL values, then use
3518 * as3__scan_bytes() instead.
3520 YY_BUFFER_STATE as3__scan_string (yyconst char * yystr )
3523 return as3__scan_bytes(yystr,strlen(yystr) );
3526 /** Setup the input buffer state to scan the given bytes. The next call to as3_lex() will
3527 * scan from a @e copy of @a bytes.
3528 * @param bytes the byte buffer to scan
3529 * @param len the number of bytes in the buffer pointed to by @a bytes.
3531 * @return the newly allocated buffer state object.
3533 YY_BUFFER_STATE as3__scan_bytes (yyconst char * yybytes, int _yybytes_len )
3540 /* Get memory for full buffer, including space for trailing EOB's. */
3541 n = _yybytes_len + 2;
3542 buf = (char *) as3_alloc(n );
3544 YY_FATAL_ERROR( "out of dynamic memory in as3__scan_bytes()" );
3546 for ( i = 0; i < _yybytes_len; ++i )
3547 buf[i] = yybytes[i];
3549 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
3551 b = as3__scan_buffer(buf,n );
3553 YY_FATAL_ERROR( "bad buffer in as3__scan_bytes()" );
3555 /* It's okay to grow etc. this buffer, and we should throw it
3556 * away when we're done.
3558 b->yy_is_our_buffer = 1;
3563 #ifndef YY_EXIT_FAILURE
3564 #define YY_EXIT_FAILURE 2
3567 static void yy_fatal_error (yyconst char* msg )
3569 (void) fprintf( stderr, "%s\n", msg );
3570 exit( YY_EXIT_FAILURE );
3573 /* Redefine yyless() so it works in section 3 code. */
3579 /* Undo effects of setting up as3_text. */ \
3580 int yyless_macro_arg = (n); \
3581 YY_LESS_LINENO(yyless_macro_arg);\
3582 as3_text[as3_leng] = (yy_hold_char); \
3583 (yy_c_buf_p) = as3_text + yyless_macro_arg; \
3584 (yy_hold_char) = *(yy_c_buf_p); \
3585 *(yy_c_buf_p) = '\0'; \
3586 as3_leng = yyless_macro_arg; \
3590 /* Accessor methods (get/set functions) to struct members. */
3592 /** Get the current line number.
3595 int as3_get_lineno (void)
3601 /** Get the input stream.
3604 FILE *as3_get_in (void)
3609 /** Get the output stream.
3612 FILE *as3_get_out (void)
3617 /** Get the length of the current token.
3620 int as3_get_leng (void)
3625 /** Get the current token.
3629 char *as3_get_text (void)
3634 /** Set the current line number.
3635 * @param line_number
3638 void as3_set_lineno (int line_number )
3641 as3_lineno = line_number;
3644 /** Set the input stream. This does not discard the current
3646 * @param in_str A readable stream.
3648 * @see as3__switch_to_buffer
3650 void as3_set_in (FILE * in_str )
3655 void as3_set_out (FILE * out_str )
3660 int as3_get_debug (void)
3662 return as3__flex_debug;
3665 void as3_set_debug (int bdebug )
3667 as3__flex_debug = bdebug ;
3670 static int yy_init_globals (void)
3672 /* Initialization is the same as for the non-reentrant scanner.
3673 * This function is called from as3_lex_destroy(), so don't allocate here.
3676 (yy_buffer_stack) = 0;
3677 (yy_buffer_stack_top) = 0;
3678 (yy_buffer_stack_max) = 0;
3679 (yy_c_buf_p) = (char *) 0;
3683 /* Defined in main.c */
3688 as3_in = (FILE *) 0;
3689 as3_out = (FILE *) 0;
3692 /* For future reference: Set errno on error, since we are called by
3698 /* as3_lex_destroy is for both reentrant and non-reentrant scanners. */
3699 int as3_lex_destroy (void)
3702 /* Pop the buffer stack, destroying each element. */
3703 while(YY_CURRENT_BUFFER){
3704 as3__delete_buffer(YY_CURRENT_BUFFER );
3705 YY_CURRENT_BUFFER_LVALUE = NULL;
3706 as3_pop_buffer_state();
3709 /* Destroy the stack itself. */
3710 as3_free((yy_buffer_stack) );
3711 (yy_buffer_stack) = NULL;
3713 /* Reset the globals. This is important in a non-reentrant scanner so the next time
3714 * as3_lex() is called, initialization will occur. */
3721 * Internal utility routines.
3725 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
3728 for ( i = 0; i < n; ++i )
3733 #ifdef YY_NEED_STRLEN
3734 static int yy_flex_strlen (yyconst char * s )
3737 for ( n = 0; s[n]; ++n )
3744 void *as3_alloc (yy_size_t size )
3746 return (void *) malloc( size );
3749 void *as3_realloc (void * ptr, yy_size_t size )
3751 /* The cast to (char *) in the following accommodates both
3752 * implementations that use char* generic pointers, and those
3753 * that use void* generic pointers. It works with the latter
3754 * because both ANSI C and C++ allow castless assignment from
3755 * any pointer type to void*, and deal with argument conversions
3756 * as though doing an assignment.
3758 return (void *) realloc( (char *) ptr, size );
3761 void as3_free (void * ptr )
3763 free( (char *) ptr ); /* see as3_realloc() for (char *) cast */
3766 #define YYTABLES_NAME "yytables"
3768 #line 728 "tokenizer.lex"
3777 static char mbuf[256];
3778 char*token2string(enum yytokentype nr, YYSTYPE v)
3781 char*s = malloc(v.str.len+10);
3782 strcpy(s, "<string>");
3783 memcpy(s+8, v.str.str, v.str.len);
3784 sprintf(s+8+v.str.len, " (%d bytes)", v.str.len);
3787 else if(nr==T_REGEXP) {
3788 char*s = malloc(strlen(v.regexp.pattern)+10);
3789 sprintf(s, "<regexp>%s", v.regexp.pattern);
3792 else if(nr==T_IDENTIFIER) {
3793 char*s = malloc(strlen(v.id)+10);
3794 sprintf(s, "<ID>%s", v.id);
3797 else if(nr==T_INT) return "<int>";
3798 else if(nr==T_UINT) return "<uint>";
3799 else if(nr==T_BYTE) return "<byte>";
3800 else if(nr==T_FLOAT) return "<float>";
3801 else if(nr==T_EOF) return "***END***";
3802 else if(nr==T_GE) return ">=";
3803 else if(nr==T_LE) return "<=";
3804 else if(nr==T_MINUSMINUS) return "--";
3805 else if(nr==T_PLUSPLUS) return "++";
3806 else if(nr==KW_IMPLEMENTS) return "implements";
3807 else if(nr==KW_INTERFACE) return "interface";
3808 else if(nr==KW_NAMESPACE) return "namespace";
3809 else if(nr==KW_PROTECTED) return "protected";
3810 else if(nr==KW_OVERRIDE) return "override";
3811 else if(nr==KW_INTERNAL) return "internal";
3812 else if(nr==KW_FUNCTION) return "function";
3813 else if(nr==KW_PACKAGE) return "package";
3814 else if(nr==KW_PRIVATE) return "private";
3815 else if(nr==KW_BOOLEAN) return "Boolean";
3816 else if(nr==KW_DYNAMIC) return "dynamic";
3817 else if(nr==KW_EXTENDS) return "extends";
3818 else if(nr==KW_PUBLIC) return "public";
3819 else if(nr==KW_NATIVE) return "native";
3820 else if(nr==KW_STATIC) return "static";
3821 else if(nr==KW_IMPORT) return "import";
3822 else if(nr==KW_NUMBER) return "number";
3823 else if(nr==KW_CLASS) return "class";
3824 else if(nr==KW_CONST) return "const";
3825 else if(nr==KW_FINAL) return "final";
3826 else if(nr==KW_FALSE) return "False";
3827 else if(nr==KW_TRUE) return "True";
3828 else if(nr==KW_UINT) return "uint";
3829 else if(nr==KW_NULL) return "null";
3830 else if(nr==KW_ELSE) return "else";
3831 else if(nr==KW_USE) return "use";
3832 else if(nr==KW_INT) return "int";
3833 else if(nr==KW_NEW) return "new";
3834 else if(nr==KW_GET) return "get";
3835 else if(nr==KW_SET) return "set";
3836 else if(nr==KW_VAR) return "var";
3837 else if(nr==KW_IS) return "is";
3838 else if(nr==KW_AS) return "as";
3840 sprintf(mbuf, "%d", nr);
3845 void initialize_scanner()