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 130
383 #define YY_END_OF_BUFFER 131
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[629] =
393 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
394 0, 0, 131, 130, 31, 127, 130, 127, 127, 127,
395 130, 127, 128, 126, 127, 127, 73, 127, 130, 130,
396 130, 75, 127, 127, 127, 125, 125, 126, 127, 125,
397 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
398 125, 125, 125, 125, 125, 125, 29, 127, 126, 130,
399 125, 129, 31, 127, 129, 127, 127, 127, 129, 127,
400 128, 126, 127, 127, 73, 127, 129, 129, 129, 75,
401 127, 127, 127, 125, 125, 126, 127, 125, 125, 125,
402 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
404 125, 125, 125, 125, 28, 127, 126, 129, 125, 29,
405 127, 127, 73, 127, 129, 129, 129, 17, 17, 19,
406 20, 18, 16, 16, 129, 12, 15, 11, 14, 13,
407 10, 49, 0, 6, 0, 125, 61, 47, 64, 0,
408 0, 62, 56, 57, 55, 59, 72, 0, 3, 0,
409 60, 34, 34, 0, 0, 0, 0, 74, 0, 68,
410 54, 52, 53, 70, 0, 125, 0, 125, 58, 125,
411 124, 125, 125, 125, 125, 125, 44, 125, 125, 125,
412 125, 125, 125, 125, 125, 125, 123, 125, 122, 121,
413 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
415 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
416 125, 63, 48, 0, 122, 0, 0, 0, 0, 0,
417 3, 23, 60, 0, 26, 26, 0, 0, 0, 0,
418 17, 0, 0, 9, 15, 0, 50, 125, 71, 35,
419 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
420 0, 0, 66, 51, 65, 69, 0, 0, 0, 0,
421 0, 36, 125, 125, 125, 125, 125, 125, 125, 125,
422 125, 125, 125, 125, 125, 125, 43, 125, 117, 125,
423 125, 125, 125, 125, 116, 125, 125, 125, 125, 125,
424 125, 125, 118, 125, 125, 125, 125, 125, 120, 125,
426 125, 115, 119, 125, 125, 125, 30, 125, 0, 26,
427 26, 0, 0, 27, 23, 0, 0, 0, 23, 0,
428 23, 23, 0, 0, 0, 0, 0, 0, 0, 15,
429 0, 0, 0, 2, 0, 33, 0, 32, 32, 0,
430 0, 67, 0, 0, 0, 0, 125, 125, 113, 125,
431 125, 125, 125, 125, 125, 125, 108, 112, 125, 125,
432 125, 125, 125, 125, 125, 125, 125, 125, 111, 125,
433 125, 125, 125, 125, 125, 125, 125, 125, 125, 110,
434 125, 125, 109, 125, 114, 125, 27, 0, 0, 0,
435 0, 23, 0, 23, 0, 0, 2, 0, 23, 23,
437 25, 0, 24, 24, 0, 0, 0, 0, 2, 37,
438 0, 39, 0, 0, 0, 125, 106, 103, 101, 102,
439 125, 125, 125, 125, 125, 105, 104, 125, 125, 125,
440 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
441 125, 107, 125, 100, 125, 125, 45, 125, 25, 0,
442 24, 24, 0, 0, 2, 0, 23, 23, 0, 0,
443 0, 0, 0, 0, 38, 0, 0, 125, 125, 125,
444 93, 125, 125, 125, 125, 125, 98, 125, 125, 125,
445 125, 96, 125, 125, 125, 125, 95, 94, 97, 46,
446 99, 125, 125, 23, 0, 0, 0, 0, 0, 0,
448 125, 125, 88, 91, 92, 87, 125, 125, 125, 125,
449 125, 125, 125, 89, 90, 125, 125, 125, 23, 8,
450 21, 0, 0, 0, 40, 125, 83, 0, 86, 125,
451 125, 125, 85, 125, 84, 125, 125, 0, 0, 0,
452 41, 82, 0, 125, 125, 78, 80, 79, 81, 0,
453 0, 0, 0, 0, 0, 0, 0, 77, 76, 0,
454 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,
455 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
456 0, 0, 42, 0, 4, 0, 0, 4, 0, 5,
457 0, 0, 0, 0, 0, 7, 0, 39, 5, 39,
459 39, 0, 0, 0, 22, 0, 7, 0, 38, 5,
460 38, 38, 0, 0, 22, 0, 0, 0, 0, 40,
461 5, 40, 40, 41, 5, 41, 41, 0
464 static yyconst flex_int32_t yy_ec[256] =
466 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
467 1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
468 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
469 1, 5, 6, 7, 8, 9, 10, 11, 12, 13,
470 14, 15, 16, 13, 17, 18, 19, 20, 21, 21,
471 22, 21, 21, 21, 21, 21, 21, 23, 13, 24,
472 25, 26, 13, 13, 27, 28, 29, 30, 28, 28,
473 28, 28, 28, 28, 28, 28, 28, 31, 28, 28,
474 28, 28, 28, 32, 28, 28, 28, 28, 28, 28,
475 33, 34, 35, 36, 37, 8, 38, 39, 40, 41,
477 42, 43, 44, 45, 46, 28, 47, 48, 49, 50,
478 51, 52, 28, 53, 54, 55, 56, 57, 58, 59,
479 60, 28, 61, 62, 63, 13, 8, 64, 64, 64,
480 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
481 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
482 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
483 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
484 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
485 64, 64, 64, 64, 64, 64, 65, 64, 64, 64,
486 66, 64, 64, 64, 64, 64, 64, 64, 64, 64,
488 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
489 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
490 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
491 64, 64, 64, 64, 64, 64, 64, 64, 67, 64,
492 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
496 static yyconst flex_int32_t yy_meta[68] =
498 1, 2, 3, 2, 2, 4, 4, 4, 4, 4,
499 4, 4, 4, 4, 4, 4, 4, 5, 4, 6,
500 6, 6, 7, 8, 4, 8, 9, 9, 9, 9,
501 9, 9, 4, 10, 4, 4, 11, 9, 9, 9,
502 9, 12, 9, 9, 9, 9, 9, 9, 9, 9,
503 9, 9, 9, 9, 9, 9, 9, 9, 13, 9,
504 8, 4, 4, 14, 14, 14, 14
507 static yyconst flex_int16_t yy_base[670] =
509 0, 927, 67, 925, 903, 89, 120, 127, 148, 151,
510 212, 0, 963, 3586, 3586, 937, 145, 0, 935, 142,
511 144, 3586, 3586, 934, 139, 140, 140, 144, 262, 267,
512 272, 935, 160, 931, 145, 187, 294, 3586, 929, 325,
513 331, 335, 145, 257, 264, 156, 312, 326, 308, 319,
514 343, 350, 342, 359, 366, 373, 3586, 256, 3586, 888,
515 377, 3586, 3586, 923, 161, 0, 914, 175, 168, 3586,
516 3586, 906, 414, 420, 323, 288, 426, 431, 436, 907,
517 437, 899, 275, 412, 421, 3586, 897, 426, 433, 0,
518 445, 450, 456, 468, 475, 479, 490, 495, 494, 502,
520 511, 525, 517, 532, 3586, 261, 3586, 854, 543, 3586,
521 181, 186, 331, 397, 567, 578, 583, 0, 0, 891,
522 3586, 3586, 3586, 3586, 885, 3586, 864, 3586, 3586, 3586,
523 3586, 859, 335, 3586, 879, 0, 3586, 3586, 3586, 421,
524 877, 3586, 3586, 3586, 3586, 3586, 858, 586, 612, 396,
525 3586, 3586, 590, 601, 445, 843, 805, 3586, 820, 820,
526 3586, 817, 3586, 450, 636, 596, 646, 614, 3586, 619,
527 618, 626, 637, 633, 645, 659, 660, 665, 661, 676,
528 680, 681, 688, 695, 699, 703, 704, 715, 721, 722,
529 730, 726, 742, 744, 749, 750, 764, 756, 768, 770,
531 776, 784, 788, 795, 796, 811, 812, 818, 819, 826,
532 830, 3586, 3586, 772, 835, 633, 873, 878, 881, 272,
533 906, 938, 463, 480, 3586, 884, 896, 658, 819, 475,
534 0, 498, 818, 3586, 794, 0, 3586, 0, 3586, 3586,
535 719, 932, 942, 794, 563, 3586, 907, 930, 998, 1065,
536 790, 780, 3586, 3586, 3586, 780, 1131, 748, 740, 725,
537 716, 1099, 1100, 1101, 1115, 1120, 1116, 1127, 1135, 1142,
538 1149, 1150, 1154, 1161, 1156, 1168, 1170, 1175, 1176, 1182,
539 1184, 1196, 1198, 1204, 1203, 1205, 1210, 1219, 1221, 1226,
540 1235, 1237, 1241, 1246, 1257, 1252, 1258, 1272, 1264, 1279,
542 1280, 1278, 1286, 1294, 1295, 1302, 3586, 1300, 1120, 3586,
543 1334, 891, 739, 3586, 0, 1356, 1362, 1382, 726, 1390,
544 0, 1406, 1347, 1358, 1466, 1533, 727, 723, 696, 0,
545 614, 1411, 1600, 698, 1605, 3586, 0, 3586, 0, 653,
546 675, 3586, 0, 641, 644, 640, 1369, 1381, 1301, 1578,
547 1574, 1579, 1360, 1593, 1595, 1604, 1597, 1609, 1613, 1620,
548 1618, 1627, 1632, 1638, 1639, 1646, 1647, 1654, 1655, 1662,
549 1666, 1670, 1674, 1681, 1682, 1688, 1690, 1702, 1706, 1707,
550 1708, 1722, 1723, 1724, 1729, 1730, 3586, 1401, 1617, 1786,
551 1853, 0, 1918, 1952, 2019, 2024, 657, 2029, 2063, 0,
553 3586, 0, 3586, 0, 655, 644, 628, 1921, 3586, 3586,
554 619, 3586, 0, 580, 582, 1890, 1731, 1891, 1896, 1897,
555 1999, 2003, 2004, 2093, 2094, 2095, 2099, 2110, 2111, 2115,
556 2117, 2126, 2133, 2140, 2141, 2142, 2156, 2157, 2158, 2162,
557 2176, 2177, 2181, 2182, 2193, 2197, 2199, 2201, 3586, 0,
558 3586, 0, 2252, 2257, 0, 2262, 0, 0, 607, 182,
559 601, 474, 575, 558, 3586, 544, 540, 2232, 2236, 2247,
560 2252, 2259, 2263, 2267, 2268, 2282, 2274, 2283, 2288, 2290,
561 2294, 2299, 2305, 2306, 2313, 2311, 2320, 2322, 2327, 2329,
562 2331, 2336, 2343, 555, 494, 535, 540, 542, 509, 0,
564 2345, 2350, 2400, 2359, 2361, 2368, 2370, 2375, 2386, 2391,
565 2379, 2395, 2402, 2407, 2409, 2414, 2421, 2471, 520, 3586,
566 3586, 510, 501, 0, 3586, 2416, 2430, 2480, 2439, 2441,
567 2450, 2457, 2456, 2464, 2462, 2473, 2479, 2529, 489, 468,
568 3586, 2478, 421, 2497, 2499, 2505, 2506, 2511, 2517, 1141,
569 369, 2568, 2572, 394, 354, 336, 299, 2540, 2541, 2057,
570 2579, 2591, 2595, 389, 2601, 321, 583, 2605, 2617, 2630,
571 2641, 2651, 2645, 2655, 2663, 2667, 2671, 2675, 2679, 284,
572 276, 647, 3586, 2687, 2723, 198, 2727, 2732, 2736, 2740,
573 2774, 2751, 2755, 2759, 730, 3586, 736, 2744, 2763, 2767,
575 2809, 2841, 2813, 2821, 3586, 794, 147, 805, 2817, 2825,
576 2829, 2868, 2876, 2880, 141, 853, 2884, 2929, 2996, 2888,
577 2892, 2896, 2907, 2915, 2921, 2954, 2964, 3586, 3063, 3077,
578 3083, 3096, 3110, 3123, 3136, 3150, 3164, 3178, 3187, 3196,
579 3209, 3223, 3237, 3247, 3260, 3274, 3288, 3298, 3306, 3320,
580 3334, 3344, 3349, 3362, 3376, 3390, 3404, 3418, 3432, 3446,
581 3460, 3474, 3488, 3502, 3515, 3529, 3543, 3557, 3571
584 static yyconst flex_int16_t yy_def[670] =
586 628, 1, 628, 3, 3, 3, 3, 3, 629, 629,
587 628, 11, 628, 628, 628, 628, 630, 631, 628, 628,
588 632, 628, 628, 628, 628, 628, 628, 628, 633, 633,
589 633, 628, 628, 628, 628, 634, 634, 628, 628, 634,
590 634, 634, 42, 42, 42, 42, 42, 42, 42, 42,
591 42, 42, 42, 42, 42, 42, 628, 628, 628, 628,
592 42, 628, 628, 628, 630, 631, 628, 628, 632, 628,
593 628, 628, 628, 628, 628, 635, 636, 636, 636, 628,
594 628, 628, 628, 42, 42, 628, 628, 42, 42, 42,
595 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
597 42, 42, 42, 42, 628, 628, 628, 628, 42, 628,
598 628, 628, 628, 628, 633, 633, 633, 637, 637, 628,
599 628, 628, 628, 628, 638, 628, 639, 628, 628, 628,
600 628, 628, 630, 628, 630, 640, 628, 628, 628, 632,
601 632, 628, 628, 628, 628, 628, 628, 641, 642, 643,
602 628, 628, 641, 633, 628, 644, 628, 628, 628, 628,
603 628, 628, 628, 628, 628, 42, 628, 42, 628, 42,
604 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
605 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
606 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
608 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
609 42, 628, 628, 628, 42, 628, 645, 645, 646, 635,
610 647, 643, 635, 635, 628, 646, 636, 628, 648, 628,
611 637, 628, 638, 628, 639, 649, 628, 640, 628, 628,
612 642, 642, 650, 628, 643, 628, 641, 641, 628, 628,
613 628, 628, 628, 628, 628, 628, 628, 628, 628, 628,
614 628, 42, 42, 42, 42, 42, 42, 42, 42, 42,
615 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
616 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
617 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
619 42, 42, 42, 42, 42, 42, 628, 42, 651, 628,
620 651, 628, 652, 628, 653, 647, 647, 654, 653, 647,
621 222, 635, 646, 646, 628, 628, 628, 628, 628, 649,
622 655, 642, 650, 628, 642, 628, 249, 628, 249, 628,
623 628, 628, 656, 628, 628, 628, 42, 42, 42, 42,
624 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
625 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
626 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
627 42, 42, 42, 42, 42, 42, 628, 651, 651, 628,
628 628, 653, 657, 628, 647, 654, 653, 647, 628, 322,
630 628, 325, 628, 325, 658, 659, 628, 642, 628, 628,
631 628, 628, 660, 628, 628, 42, 42, 42, 42, 42,
632 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
633 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
634 42, 42, 42, 42, 42, 42, 42, 42, 628, 390,
635 628, 390, 647, 647, 653, 647, 394, 399, 658, 658,
636 659, 659, 628, 628, 628, 628, 628, 42, 42, 42,
637 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
638 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
639 42, 42, 42, 322, 658, 659, 628, 628, 628, 661,
641 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
642 42, 42, 42, 42, 42, 42, 42, 42, 394, 628,
643 628, 628, 628, 662, 628, 42, 42, 628, 42, 42,
644 42, 42, 42, 42, 42, 42, 42, 663, 628, 664,
645 628, 42, 628, 42, 42, 42, 42, 42, 42, 665,
646 666, 667, 665, 668, 664, 664, 628, 42, 42, 628,
647 628, 665, 665, 666, 628, 666, 669, 669, 667, 667,
648 665, 667, 628, 628, 665, 665, 665, 665, 665, 668,
649 668, 664, 628, 628, 628, 669, 628, 628, 665, 669,
650 665, 665, 665, 665, 668, 628, 664, 628, 628, 665,
652 665, 665, 665, 665, 628, 668, 664, 664, 628, 628,
653 665, 665, 665, 665, 668, 668, 665, 665, 665, 628,
654 628, 665, 665, 628, 628, 665, 665, 0, 628, 628,
655 628, 628, 628, 628, 628, 628, 628, 628, 628, 628,
656 628, 628, 628, 628, 628, 628, 628, 628, 628, 628,
657 628, 628, 628, 628, 628, 628, 628, 628, 628, 628,
658 628, 628, 628, 628, 628, 628, 628, 628, 628
661 static yyconst flex_int16_t yy_nxt[3654] =
663 14, 15, 15, 15, 15, 16, 17, 14, 18, 19,
664 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
665 30, 31, 32, 33, 34, 35, 36, 36, 36, 36,
666 37, 36, 22, 14, 38, 39, 36, 40, 41, 42,
667 43, 44, 45, 46, 36, 47, 36, 36, 36, 48,
668 49, 50, 51, 52, 53, 54, 55, 56, 36, 36,
669 57, 58, 59, 14, 14, 14, 60, 62, 63, 15,
670 63, 63, 64, 65, 62, 66, 67, 68, 69, 70,
671 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
672 81, 82, 83, 84, 84, 84, 84, 85, 84, 70,
674 62, 86, 87, 84, 88, 89, 90, 91, 92, 93,
675 94, 84, 95, 84, 84, 84, 96, 97, 98, 99,
676 100, 101, 102, 103, 104, 84, 84, 105, 106, 107,
677 62, 62, 62, 108, 109, 111, 112, 113, 114, 115,
678 116, 117, 111, 112, 113, 114, 115, 116, 117, 110,
679 119, 134, 138, 119, 143, 134, 145, 147, 149, 148,
680 148, 148, 150, 144, 146, 159, 139, 134, 151, 163,
681 164, 120, 109, 121, 120, 581, 121, 141, 135, 134,
682 110, 556, 166, 160, 161, 138, 176, 110, 165, 165,
683 165, 165, 166, 166, 135, 177, 143, 186, 495, 139,
685 567, 141, 145, 166, 178, 144, 166, 628, 122, 167,
686 146, 122, 62, 123, 124, 123, 123, 62, 125, 62,
687 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
688 126, 127, 127, 127, 62, 128, 129, 130, 127, 127,
689 127, 127, 127, 127, 62, 62, 62, 62, 127, 127,
690 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
691 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
692 127, 127, 131, 62, 62, 127, 127, 127, 127, 153,
693 212, 154, 154, 154, 153, 212, 154, 154, 154, 153,
694 315, 154, 154, 154, 179, 165, 165, 165, 165, 163,
696 164, 182, 221, 155, 180, 224, 222, 166, 155, 183,
697 595, 166, 223, 155, 184, 181, 167, 213, 581, 185,
698 156, 224, 213, 564, 157, 628, 165, 165, 165, 165,
699 628, 168, 165, 165, 165, 165, 165, 165, 165, 165,
700 147, 134, 219, 219, 219, 166, 583, 167, 147, 166,
701 148, 148, 148, 167, 187, 166, 195, 167, 166, 166,
702 188, 189, 166, 191, 194, 190, 166, 192, 135, 166,
703 582, 196, 173, 166, 197, 565, 166, 170, 171, 166,
704 166, 193, 174, 172, 198, 175, 203, 166, 556, 166,
705 166, 199, 166, 166, 204, 565, 166, 166, 246, 246,
707 166, 205, 566, 208, 200, 201, 166, 202, 206, 166,
708 166, 149, 207, 166, 166, 150, 209, 210, 211, 187,
709 166, 151, 566, 166, 166, 188, 215, 166, 581, 143,
710 190, 216, 134, 217, 218, 218, 145, 216, 144, 217,
711 218, 218, 230, 226, 146, 227, 227, 227, 226, 166,
712 227, 227, 227, 226, 141, 227, 227, 227, 168, 166,
713 160, 161, 166, 166, 248, 248, 248, 228, 166, 557,
714 166, 166, 228, 166, 255, 256, 166, 228, 170, 171,
715 166, 315, 166, 166, 229, 172, 176, 179, 157, 628,
716 496, 327, 166, 182, 628, 177, 224, 180, 322, 628,
718 166, 183, 556, 166, 178, 166, 184, 252, 181, 186,
719 495, 185, 166, 224, 328, 166, 191, 187, 166, 520,
720 192, 554, 166, 188, 189, 166, 166, 166, 190, 166,
721 329, 166, 195, 540, 193, 198, 539, 166, 244, 166,
722 166, 166, 166, 199, 166, 166, 194, 196, 166, 166,
723 197, 496, 166, 524, 208, 203, 200, 201, 166, 202,
724 521, 166, 166, 204, 166, 246, 246, 209, 523, 166,
725 205, 522, 166, 519, 206, 166, 210, 211, 207, 166,
726 166, 500, 166, 499, 153, 187, 154, 154, 154, 498,
727 166, 188, 215, 166, 565, 153, 190, 154, 154, 154,
729 153, 497, 154, 154, 154, 148, 148, 148, 155, 247,
730 247, 247, 241, 241, 241, 241, 586, 462, 153, 155,
731 154, 154, 154, 460, 155, 156, 243, 155, 408, 467,
732 244, 155, 409, 166, 466, 157, 628, 165, 165, 165,
733 165, 628, 155, 166, 262, 464, 166, 257, 257, 257,
734 257, 166, 309, 309, 309, 166, 166, 463, 167, 628,
735 462, 166, 263, 166, 166, 166, 166, 264, 166, 166,
736 267, 460, 596, 166, 166, 335, 166, 324, 324, 324,
737 166, 597, 166, 166, 166, 415, 258, 166, 259, 414,
738 265, 266, 166, 413, 268, 166, 166, 166, 166, 260,
740 272, 269, 166, 261, 411, 410, 270, 166, 166, 166,
741 166, 166, 166, 166, 271, 166, 335, 166, 166, 241,
742 241, 241, 241, 166, 407, 166, 166, 166, 275, 273,
743 166, 166, 166, 331, 274, 166, 166, 276, 166, 406,
744 166, 166, 166, 405, 335, 166, 166, 277, 278, 166,
745 166, 166, 166, 166, 166, 605, 390, 279, 166, 166,
746 346, 607, 166, 166, 606, 166, 280, 166, 166, 166,
747 608, 166, 166, 166, 281, 282, 166, 166, 283, 166,
748 166, 166, 345, 285, 284, 287, 166, 166, 288, 286,
749 344, 166, 166, 166, 166, 289, 166, 166, 343, 166,
751 290, 166, 291, 166, 342, 166, 166, 294, 341, 340,
752 292, 166, 335, 166, 166, 166, 236, 166, 166, 615,
753 166, 166, 293, 166, 234, 166, 166, 295, 616, 296,
754 607, 166, 166, 166, 166, 166, 325, 307, 166, 582,
755 297, 254, 166, 166, 253, 166, 166, 300, 166, 166,
756 298, 301, 252, 302, 299, 166, 166, 251, 166, 166,
757 249, 166, 166, 166, 304, 166, 166, 166, 166, 166,
758 303, 305, 166, 166, 308, 239, 166, 166, 615, 140,
759 166, 133, 166, 237, 306, 166, 236, 595, 281, 282,
760 311, 234, 218, 218, 218, 311, 232, 218, 218, 218,
762 219, 219, 219, 323, 323, 323, 316, 316, 241, 316,
763 389, 389, 389, 226, 312, 227, 227, 227, 214, 312,
764 318, 169, 228, 162, 319, 228, 247, 247, 247, 158,
765 142, 313, 241, 241, 241, 241, 628, 228, 137, 320,
766 246, 246, 332, 332, 332, 332, 331, 132, 155, 248,
767 248, 248, 214, 169, 628, 162, 333, 158, 142, 137,
768 334, 132, 628, 110, 321, 321, 321, 321, 321, 321,
769 109, 628, 61, 628, 628, 321, 321, 321, 321, 321,
770 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
771 321, 321, 321, 321, 321, 321, 321, 321, 336, 336,
773 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
774 336, 336, 336, 336, 336, 336, 336, 337, 337, 337,
775 336, 336, 336, 336, 337, 337, 337, 337, 337, 337,
776 336, 628, 336, 336, 628, 337, 337, 337, 337, 337,
777 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
778 337, 337, 337, 337, 337, 337, 337, 337, 336, 336,
779 336, 336, 336, 336, 336, 338, 338, 338, 338, 338,
780 338, 338, 338, 338, 338, 338, 338, 338, 338, 338,
781 338, 338, 339, 338, 250, 250, 250, 338, 338, 338,
782 338, 250, 250, 250, 250, 250, 250, 338, 628, 338,
784 338, 628, 250, 250, 250, 250, 250, 250, 250, 250,
785 250, 250, 250, 250, 250, 250, 250, 250, 250, 250,
786 250, 250, 250, 250, 250, 338, 338, 338, 338, 338,
787 338, 338, 257, 257, 257, 257, 166, 166, 348, 309,
788 309, 309, 560, 561, 560, 562, 166, 166, 166, 166,
789 166, 166, 166, 166, 628, 347, 349, 166, 628, 350,
790 628, 312, 166, 166, 166, 166, 166, 166, 628, 351,
791 166, 258, 354, 259, 166, 628, 628, 166, 628, 166,
792 352, 353, 166, 355, 260, 166, 356, 166, 261, 166,
793 628, 166, 166, 166, 357, 358, 166, 166, 166, 166,
795 166, 166, 359, 166, 166, 361, 166, 166, 166, 360,
796 628, 166, 166, 166, 362, 166, 628, 166, 166, 166,
797 166, 166, 166, 166, 628, 166, 166, 628, 628, 363,
798 628, 166, 364, 166, 166, 166, 628, 366, 365, 367,
799 166, 166, 166, 166, 628, 166, 166, 166, 166, 368,
800 166, 166, 369, 166, 166, 166, 166, 166, 166, 628,
801 166, 628, 370, 166, 628, 371, 166, 628, 166, 166,
802 628, 166, 166, 166, 166, 628, 166, 372, 166, 628,
803 373, 628, 374, 166, 166, 166, 628, 166, 166, 166,
804 628, 166, 375, 166, 166, 166, 166, 628, 377, 166,
806 376, 166, 166, 628, 166, 166, 378, 166, 379, 166,
807 628, 166, 628, 380, 166, 166, 166, 166, 628, 166,
808 381, 382, 166, 166, 628, 166, 166, 166, 166, 166,
809 166, 166, 166, 166, 383, 628, 166, 166, 166, 166,
810 628, 166, 384, 628, 166, 166, 385, 386, 166, 166,
811 166, 166, 166, 388, 388, 388, 316, 316, 241, 316,
812 628, 628, 316, 316, 241, 316, 323, 323, 323, 628,
813 393, 628, 628, 628, 394, 312, 393, 324, 324, 324,
814 394, 628, 395, 395, 332, 395, 628, 628, 228, 320,
815 316, 316, 241, 316, 628, 320, 396, 166, 628, 628,
817 397, 628, 628, 628, 393, 421, 166, 166, 399, 628,
818 166, 241, 241, 241, 241, 398, 166, 416, 166, 166,
819 388, 388, 388, 320, 315, 331, 628, 417, 166, 628,
820 628, 166, 400, 400, 400, 400, 400, 400, 628, 224,
821 628, 628, 312, 400, 400, 400, 400, 400, 400, 400,
822 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
823 400, 400, 400, 400, 400, 400, 401, 401, 401, 401,
824 401, 401, 401, 401, 401, 401, 401, 401, 401, 401,
825 401, 401, 401, 401, 401, 402, 402, 402, 401, 401,
826 401, 401, 402, 402, 402, 402, 402, 402, 401, 628,
828 401, 401, 628, 402, 402, 402, 402, 402, 402, 402,
829 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
830 402, 402, 402, 402, 402, 402, 401, 401, 401, 401,
831 401, 401, 401, 403, 403, 403, 403, 403, 403, 403,
832 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
833 404, 403, 326, 326, 326, 403, 403, 403, 403, 326,
834 326, 326, 326, 326, 326, 403, 628, 403, 403, 628,
835 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
836 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
837 326, 326, 326, 403, 403, 403, 403, 403, 403, 403,
839 332, 332, 332, 332, 628, 241, 241, 241, 241, 628,
840 628, 166, 628, 628, 333, 166, 166, 628, 334, 331,
841 628, 166, 418, 244, 166, 166, 166, 419, 166, 166,
842 166, 628, 166, 420, 166, 628, 389, 389, 389, 628,
843 166, 166, 166, 166, 166, 166, 166, 166, 422, 423,
844 166, 166, 424, 628, 166, 166, 166, 166, 628, 166,
845 166, 426, 425, 166, 166, 427, 628, 166, 166, 166,
846 166, 628, 628, 429, 166, 166, 431, 166, 628, 166,
847 628, 428, 166, 166, 166, 166, 166, 628, 166, 166,
848 430, 166, 166, 166, 166, 628, 166, 166, 432, 166,
850 433, 166, 166, 436, 166, 166, 628, 437, 628, 166,
851 434, 166, 166, 166, 435, 438, 166, 166, 166, 166,
852 166, 166, 628, 628, 166, 166, 439, 166, 166, 166,
853 628, 166, 166, 441, 440, 166, 628, 166, 166, 166,
854 166, 443, 442, 166, 166, 166, 628, 628, 628, 166,
855 628, 628, 166, 166, 166, 166, 166, 166, 445, 166,
856 166, 166, 628, 444, 446, 447, 166, 166, 166, 166,
857 166, 166, 166, 166, 166, 628, 166, 166, 166, 166,
858 166, 166, 628, 628, 628, 448, 449, 449, 449, 449,
859 449, 449, 449, 449, 449, 449, 449, 449, 449, 449,
861 449, 449, 449, 449, 449, 450, 450, 450, 449, 449,
862 449, 449, 450, 450, 450, 450, 450, 450, 449, 628,
863 449, 449, 628, 450, 450, 450, 450, 450, 450, 450,
864 450, 450, 450, 450, 450, 450, 450, 450, 450, 450,
865 450, 450, 450, 450, 450, 450, 449, 449, 449, 449,
866 449, 449, 449, 451, 451, 451, 451, 451, 451, 451,
867 451, 451, 451, 451, 451, 451, 451, 451, 451, 451,
868 452, 451, 391, 391, 391, 451, 451, 451, 451, 391,
869 391, 391, 391, 391, 391, 451, 628, 451, 451, 628,
870 391, 391, 391, 391, 391, 391, 391, 391, 391, 391,
872 391, 391, 391, 391, 391, 391, 391, 391, 391, 391,
873 391, 391, 391, 451, 451, 451, 451, 451, 451, 451,
874 335, 241, 241, 241, 241, 628, 628, 166, 166, 628,
875 628, 468, 454, 166, 166, 331, 455, 166, 166, 334,
876 166, 166, 628, 166, 166, 628, 166, 166, 628, 628,
877 628, 456, 241, 241, 241, 241, 242, 242, 242, 242,
878 242, 242, 242, 242, 242, 242, 331, 242, 242, 242,
879 242, 242, 242, 242, 242, 242, 242, 242, 457, 457,
880 457, 457, 457, 457, 242, 242, 242, 242, 242, 457,
881 457, 457, 457, 457, 457, 457, 457, 457, 457, 457,
883 457, 457, 457, 457, 457, 457, 457, 457, 457, 457,
884 457, 457, 242, 242, 242, 242, 242, 242, 242, 316,
885 316, 241, 316, 628, 395, 395, 332, 395, 628, 316,
886 316, 241, 316, 393, 628, 628, 166, 394, 396, 628,
887 166, 166, 397, 393, 628, 471, 166, 399, 469, 166,
888 470, 166, 320, 166, 166, 628, 628, 398, 560, 561,
889 560, 560, 320, 316, 316, 241, 316, 317, 317, 317,
890 317, 317, 317, 317, 317, 317, 317, 393, 317, 317,
891 317, 394, 317, 317, 317, 317, 317, 317, 317, 458,
892 458, 458, 458, 458, 458, 317, 320, 317, 317, 317,
894 458, 458, 458, 458, 458, 458, 458, 458, 458, 458,
895 458, 458, 458, 458, 458, 458, 458, 458, 458, 458,
896 458, 458, 458, 317, 317, 317, 317, 317, 317, 317,
897 166, 166, 166, 628, 473, 628, 166, 628, 472, 628,
898 166, 166, 166, 166, 166, 166, 474, 166, 166, 166,
899 628, 628, 166, 628, 166, 475, 628, 166, 166, 476,
900 166, 166, 166, 166, 166, 166, 478, 166, 479, 477,
901 166, 628, 628, 166, 628, 480, 166, 166, 166, 166,
902 166, 482, 628, 166, 481, 484, 483, 166, 166, 166,
903 166, 166, 166, 166, 166, 166, 486, 487, 628, 166,
905 628, 628, 628, 166, 166, 166, 166, 166, 166, 166,
906 485, 488, 166, 166, 166, 489, 628, 628, 166, 166,
907 628, 628, 628, 166, 166, 490, 166, 166, 166, 166,
908 166, 166, 166, 628, 166, 491, 166, 628, 166, 628,
909 166, 493, 492, 166, 166, 628, 166, 166, 166, 166,
910 628, 166, 316, 316, 241, 316, 628, 316, 316, 241,
911 316, 628, 316, 316, 241, 316, 393, 628, 628, 166,
912 319, 393, 628, 166, 628, 397, 393, 628, 628, 166,
913 494, 501, 166, 166, 166, 320, 166, 628, 628, 166,
914 320, 502, 628, 628, 166, 320, 166, 166, 504, 166,
916 166, 503, 166, 628, 166, 166, 166, 628, 628, 166,
917 166, 166, 628, 166, 166, 166, 505, 166, 507, 166,
918 166, 166, 509, 508, 166, 510, 506, 511, 628, 166,
919 166, 512, 166, 166, 628, 166, 166, 166, 166, 628,
920 166, 166, 166, 166, 166, 513, 166, 514, 166, 166,
921 166, 628, 166, 166, 515, 166, 166, 166, 166, 166,
922 166, 166, 628, 166, 166, 516, 166, 166, 166, 166,
923 166, 628, 166, 166, 166, 628, 166, 166, 166, 166,
924 166, 166, 166, 166, 518, 517, 166, 166, 628, 628,
925 166, 527, 166, 166, 628, 166, 166, 166, 166, 526,
927 166, 528, 528, 528, 528, 166, 166, 166, 166, 166,
928 628, 166, 166, 628, 628, 166, 166, 166, 166, 529,
929 166, 628, 166, 166, 530, 166, 533, 531, 166, 166,
930 532, 628, 166, 166, 534, 628, 166, 166, 166, 166,
931 628, 166, 166, 535, 166, 166, 166, 166, 628, 166,
932 166, 166, 166, 166, 166, 536, 166, 166, 166, 166,
933 628, 166, 537, 166, 166, 628, 166, 166, 166, 542,
934 628, 166, 538, 538, 538, 538, 166, 166, 166, 628,
935 166, 165, 165, 165, 165, 628, 166, 166, 166, 166,
936 628, 166, 628, 166, 166, 544, 628, 166, 546, 166,
938 545, 166, 167, 166, 166, 547, 166, 166, 166, 166,
939 166, 166, 166, 548, 166, 166, 166, 628, 166, 549,
940 166, 166, 628, 166, 628, 166, 166, 628, 166, 166,
941 538, 538, 538, 538, 166, 551, 166, 628, 543, 628,
942 552, 559, 166, 166, 166, 628, 166, 166, 166, 166,
943 558, 553, 166, 166, 166, 166, 166, 628, 166, 628,
944 628, 166, 628, 628, 166, 628, 628, 166, 567, 568,
945 561, 568, 569, 573, 574, 573, 575, 166, 166, 571,
946 560, 561, 560, 560, 628, 628, 628, 166, 166, 628,
947 166, 166, 560, 561, 560, 562, 560, 561, 560, 562,
949 628, 572, 584, 585, 584, 584, 568, 561, 568, 568,
950 628, 628, 576, 628, 577, 628, 565, 567, 568, 561,
951 568, 569, 628, 628, 628, 578, 628, 628, 571, 579,
952 567, 568, 561, 568, 569, 628, 628, 628, 586, 628,
953 628, 571, 587, 588, 587, 589, 573, 574, 573, 573,
954 572, 567, 568, 590, 568, 569, 573, 574, 573, 573,
955 628, 628, 628, 572, 573, 574, 573, 575, 560, 561,
956 560, 562, 560, 561, 560, 562, 560, 561, 560, 562,
957 560, 561, 560, 562, 628, 258, 628, 259, 584, 585,
958 584, 584, 628, 628, 628, 258, 628, 259, 260, 628,
960 628, 628, 261, 576, 628, 577, 628, 628, 260, 628,
961 628, 628, 261, 628, 628, 628, 578, 591, 628, 628,
962 579, 592, 628, 594, 584, 585, 584, 584, 587, 588,
963 587, 587, 593, 587, 588, 587, 587, 587, 588, 587,
964 589, 568, 561, 568, 568, 560, 561, 560, 560, 628,
965 628, 565, 560, 561, 560, 562, 560, 561, 560, 562,
966 560, 561, 560, 562, 560, 561, 560, 560, 560, 561,
967 560, 562, 628, 586, 412, 598, 599, 598, 600, 601,
968 601, 601, 601, 601, 601, 601, 601, 601, 601, 601,
969 601, 601, 601, 628, 628, 628, 601, 601, 601, 601,
971 603, 628, 628, 602, 604, 628, 601, 628, 601, 601,
972 560, 561, 560, 562, 560, 561, 560, 562, 560, 561,
973 560, 560, 560, 561, 560, 562, 560, 561, 560, 560,
974 560, 561, 560, 562, 601, 601, 601, 601, 601, 601,
975 601, 465, 609, 610, 609, 611, 612, 612, 612, 612,
976 612, 612, 612, 612, 612, 612, 612, 612, 612, 612,
977 628, 628, 628, 612, 612, 612, 612, 613, 614, 560,
978 561, 560, 562, 612, 628, 612, 612, 560, 561, 560,
979 562, 560, 561, 560, 562, 560, 561, 560, 562, 560,
980 561, 560, 560, 560, 561, 560, 560, 560, 561, 560,
982 562, 612, 612, 612, 612, 612, 612, 612, 560, 561,
983 560, 562, 628, 628, 628, 617, 560, 561, 560, 560,
984 628, 618, 560, 561, 560, 560, 628, 628, 619, 525,
985 620, 621, 620, 622, 623, 623, 623, 623, 623, 623,
986 623, 623, 623, 623, 623, 623, 623, 623, 628, 628,
987 628, 623, 623, 623, 623, 560, 561, 560, 562, 628,
988 628, 623, 628, 623, 623, 560, 561, 560, 562, 628,
989 628, 628, 628, 628, 628, 628, 628, 628, 628, 628,
990 628, 628, 628, 628, 628, 628, 628, 628, 628, 623,
991 623, 623, 623, 623, 623, 623, 541, 624, 625, 624,
993 626, 627, 627, 627, 627, 627, 627, 627, 627, 627,
994 627, 627, 627, 627, 627, 628, 628, 628, 627, 627,
995 627, 627, 628, 628, 628, 628, 628, 628, 627, 628,
996 627, 627, 628, 628, 628, 628, 628, 628, 628, 628,
997 628, 628, 628, 628, 628, 628, 628, 628, 628, 628,
998 628, 628, 628, 628, 628, 628, 627, 627, 627, 627,
999 627, 627, 627, 118, 118, 118, 118, 118, 118, 118,
1000 118, 118, 118, 118, 118, 118, 118, 133, 133, 628,
1001 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
1002 133, 136, 628, 136, 136, 136, 140, 140, 628, 140,
1004 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
1005 152, 152, 152, 152, 152, 152, 152, 152, 628, 628,
1006 628, 152, 152, 152, 166, 166, 628, 628, 166, 166,
1007 628, 166, 166, 166, 166, 166, 220, 220, 628, 220,
1008 220, 220, 220, 220, 220, 220, 220, 220, 220, 220,
1009 225, 225, 225, 225, 225, 225, 225, 225, 628, 628,
1010 628, 225, 225, 225, 231, 231, 231, 231, 231, 231,
1011 231, 628, 231, 231, 231, 231, 231, 231, 233, 233,
1012 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
1013 233, 233, 235, 235, 628, 235, 628, 235, 235, 235,
1015 235, 238, 628, 628, 238, 238, 238, 238, 238, 240,
1016 240, 240, 240, 240, 240, 240, 240, 628, 628, 628,
1017 240, 628, 240, 242, 242, 242, 242, 242, 242, 242,
1018 242, 242, 242, 242, 242, 242, 242, 245, 245, 245,
1019 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
1020 245, 250, 250, 628, 628, 250, 628, 628, 250, 250,
1021 310, 310, 310, 310, 310, 310, 310, 310, 628, 628,
1022 628, 310, 310, 310, 314, 314, 314, 314, 314, 314,
1023 314, 314, 628, 628, 628, 314, 628, 314, 317, 317,
1024 317, 317, 317, 317, 317, 317, 317, 317, 317, 317,
1026 317, 317, 326, 326, 628, 628, 326, 628, 628, 326,
1027 326, 330, 628, 628, 330, 628, 330, 330, 330, 330,
1028 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
1029 241, 241, 241, 241, 387, 387, 387, 387, 387, 387,
1030 387, 387, 628, 628, 628, 387, 628, 387, 391, 391,
1031 628, 628, 391, 628, 628, 391, 391, 392, 628, 628,
1032 392, 392, 316, 316, 316, 316, 316, 316, 316, 316,
1033 316, 316, 316, 316, 316, 316, 335, 335, 335, 335,
1034 335, 335, 335, 335, 335, 335, 335, 335, 335, 335,
1035 412, 412, 412, 412, 412, 628, 412, 412, 628, 628,
1037 628, 628, 628, 412, 453, 453, 453, 453, 453, 453,
1038 453, 453, 453, 453, 453, 453, 453, 453, 459, 459,
1039 459, 459, 459, 459, 459, 459, 459, 459, 459, 459,
1040 459, 459, 461, 461, 461, 461, 461, 461, 461, 461,
1041 461, 461, 461, 461, 461, 461, 465, 465, 465, 465,
1042 465, 628, 465, 465, 628, 628, 628, 628, 628, 465,
1043 525, 525, 525, 525, 525, 628, 525, 525, 628, 628,
1044 628, 628, 628, 525, 541, 541, 541, 541, 541, 628,
1045 541, 541, 628, 628, 628, 628, 628, 541, 550, 550,
1046 550, 550, 550, 550, 550, 550, 550, 550, 550, 550,
1048 550, 550, 555, 555, 555, 555, 555, 555, 555, 555,
1049 555, 555, 555, 555, 555, 555, 563, 563, 563, 563,
1050 563, 563, 563, 563, 563, 563, 563, 563, 563, 564,
1051 564, 628, 564, 564, 564, 564, 564, 564, 564, 564,
1052 564, 564, 564, 570, 570, 570, 570, 570, 570, 570,
1053 570, 570, 570, 570, 570, 570, 570, 580, 580, 580,
1054 580, 580, 580, 580, 580, 580, 580, 580, 580, 580,
1055 580, 567, 567, 628, 567, 567, 567, 567, 567, 567,
1056 567, 567, 567, 567, 567, 13, 628, 628, 628, 628,
1057 628, 628, 628, 628, 628, 628, 628, 628, 628, 628,
1059 628, 628, 628, 628, 628, 628, 628, 628, 628, 628,
1060 628, 628, 628, 628, 628, 628, 628, 628, 628, 628,
1061 628, 628, 628, 628, 628, 628, 628, 628, 628, 628,
1062 628, 628, 628, 628, 628, 628, 628, 628, 628, 628,
1063 628, 628, 628, 628, 628, 628, 628, 628, 628, 628,
1067 static yyconst flex_int16_t yy_chk[3654] =
1069 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1070 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1071 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1072 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1073 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1074 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1075 1, 1, 1, 1, 1, 1, 1, 3, 3, 3,
1076 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1077 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1078 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1080 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1081 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1082 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1083 3, 3, 3, 3, 6, 7, 7, 7, 7, 7,
1084 7, 7, 8, 8, 8, 8, 8, 8, 8, 6,
1085 9, 17, 20, 10, 25, 21, 26, 27, 28, 27,
1086 27, 27, 28, 25, 26, 33, 20, 65, 28, 35,
1087 35, 9, 8, 9, 10, 615, 10, 21, 17, 69,
1088 7, 607, 43, 33, 33, 68, 43, 8, 36, 36,
1089 36, 36, 43, 46, 65, 43, 111, 46, 460, 68,
1091 586, 69, 112, 46, 43, 111, 46, 460, 9, 36,
1092 112, 10, 11, 11, 11, 11, 11, 11, 11, 11,
1093 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1094 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1095 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1096 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1097 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1098 11, 11, 11, 11, 11, 11, 11, 11, 11, 29,
1099 58, 29, 29, 29, 30, 106, 30, 30, 30, 31,
1100 220, 31, 31, 31, 44, 37, 37, 37, 37, 83,
1102 83, 45, 76, 29, 44, 220, 76, 44, 30, 45,
1103 581, 45, 76, 31, 45, 44, 37, 58, 580, 45,
1104 29, 76, 106, 566, 31, 30, 40, 40, 40, 40,
1105 31, 37, 41, 41, 41, 41, 42, 42, 42, 42,
1106 75, 133, 75, 75, 75, 49, 557, 40, 113, 47,
1107 113, 113, 113, 41, 47, 49, 50, 42, 49, 47,
1108 47, 47, 47, 48, 49, 47, 50, 48, 133, 50,
1109 556, 50, 42, 48, 50, 551, 48, 40, 40, 53,
1110 51, 48, 42, 41, 51, 42, 53, 52, 555, 53,
1111 51, 52, 53, 51, 53, 564, 54, 52, 150, 150,
1113 52, 53, 551, 55, 52, 52, 54, 52, 54, 54,
1114 56, 114, 54, 55, 61, 114, 55, 56, 56, 61,
1115 56, 114, 564, 56, 61, 61, 61, 61, 554, 73,
1116 61, 73, 140, 73, 73, 73, 74, 74, 73, 74,
1117 74, 74, 81, 77, 74, 77, 77, 77, 78, 84,
1118 78, 78, 78, 79, 140, 79, 79, 79, 85, 84,
1119 81, 81, 84, 88, 155, 155, 155, 77, 85, 543,
1120 89, 85, 78, 88, 164, 164, 88, 79, 88, 88,
1121 89, 223, 91, 89, 77, 89, 91, 92, 79, 78,
1122 462, 230, 91, 93, 79, 91, 223, 92, 224, 462,
1124 92, 93, 540, 93, 91, 94, 93, 230, 92, 94,
1125 495, 93, 95, 224, 232, 94, 96, 95, 94, 495,
1126 96, 539, 95, 95, 95, 95, 96, 97, 95, 96,
1127 232, 99, 98, 523, 96, 99, 522, 97, 519, 100,
1128 97, 99, 98, 100, 99, 98, 97, 98, 101, 100,
1129 98, 496, 100, 499, 103, 101, 100, 100, 101, 100,
1130 496, 101, 102, 101, 103, 245, 245, 103, 498, 104,
1131 101, 497, 102, 494, 102, 102, 104, 104, 102, 104,
1132 109, 467, 104, 466, 115, 109, 115, 115, 115, 464,
1133 109, 109, 109, 109, 567, 116, 109, 116, 116, 116,
1135 117, 463, 117, 117, 117, 148, 148, 148, 115, 153,
1136 153, 153, 149, 149, 149, 149, 567, 461, 154, 116,
1137 154, 154, 154, 459, 117, 115, 149, 148, 331, 415,
1138 149, 153, 331, 166, 414, 117, 116, 165, 165, 165,
1139 165, 117, 154, 166, 168, 411, 166, 167, 167, 167,
1140 167, 168, 216, 216, 216, 171, 170, 407, 165, 154,
1141 406, 168, 170, 172, 168, 171, 170, 172, 171, 170,
1142 174, 405, 582, 172, 173, 397, 172, 228, 228, 228,
1143 174, 582, 175, 174, 173, 346, 167, 173, 167, 345,
1144 173, 173, 175, 344, 175, 175, 176, 177, 179, 167,
1146 179, 176, 178, 167, 341, 340, 176, 177, 179, 176,
1147 177, 179, 178, 180, 178, 178, 334, 181, 182, 241,
1148 241, 241, 241, 180, 329, 183, 180, 181, 182, 180,
1149 181, 182, 184, 241, 181, 183, 185, 183, 183, 328,
1150 186, 187, 184, 327, 319, 184, 185, 184, 185, 185,
1151 186, 187, 188, 186, 187, 595, 313, 186, 189, 190,
1152 261, 597, 188, 192, 595, 188, 188, 191, 189, 190,
1153 597, 189, 190, 192, 189, 189, 192, 191, 191, 193,
1154 191, 194, 260, 192, 191, 194, 195, 196, 195, 193,
1155 259, 194, 193, 198, 194, 196, 195, 196, 258, 195,
1157 196, 197, 197, 198, 256, 199, 198, 200, 252, 251,
1158 198, 197, 244, 201, 197, 199, 235, 200, 199, 606,
1159 200, 202, 199, 201, 233, 203, 201, 201, 606, 202,
1160 608, 202, 204, 205, 202, 203, 229, 214, 203, 608,
1161 203, 162, 204, 205, 160, 204, 205, 205, 206, 207,
1162 204, 206, 159, 207, 204, 208, 209, 157, 206, 207,
1163 156, 206, 207, 210, 209, 208, 209, 211, 208, 209,
1164 208, 210, 215, 210, 215, 147, 210, 211, 616, 141,
1165 211, 135, 215, 132, 211, 215, 127, 616, 215, 215,
1166 217, 125, 217, 217, 217, 218, 120, 218, 218, 218,
1168 219, 219, 219, 226, 226, 226, 221, 221, 221, 221,
1169 312, 312, 312, 227, 217, 227, 227, 227, 108, 218,
1170 221, 87, 219, 82, 221, 226, 247, 247, 247, 80,
1171 72, 217, 242, 242, 242, 242, 218, 227, 67, 221,
1172 222, 222, 243, 243, 243, 243, 242, 64, 247, 248,
1173 248, 248, 60, 39, 227, 34, 243, 32, 24, 19,
1174 243, 16, 13, 5, 222, 222, 222, 222, 222, 222,
1175 4, 248, 2, 0, 0, 222, 222, 222, 222, 222,
1176 222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
1177 222, 222, 222, 222, 222, 222, 222, 222, 249, 249,
1179 249, 249, 249, 249, 249, 249, 249, 249, 249, 249,
1180 249, 249, 249, 249, 249, 249, 249, 249, 249, 249,
1181 249, 249, 249, 249, 249, 249, 249, 249, 249, 249,
1182 249, 0, 249, 249, 0, 249, 249, 249, 249, 249,
1183 249, 249, 249, 249, 249, 249, 249, 249, 249, 249,
1184 249, 249, 249, 249, 249, 249, 249, 249, 249, 249,
1185 249, 249, 249, 249, 249, 250, 250, 250, 250, 250,
1186 250, 250, 250, 250, 250, 250, 250, 250, 250, 250,
1187 250, 250, 250, 250, 250, 250, 250, 250, 250, 250,
1188 250, 250, 250, 250, 250, 250, 250, 250, 0, 250,
1190 250, 0, 250, 250, 250, 250, 250, 250, 250, 250,
1191 250, 250, 250, 250, 250, 250, 250, 250, 250, 250,
1192 250, 250, 250, 250, 250, 250, 250, 250, 250, 250,
1193 250, 250, 257, 257, 257, 257, 262, 263, 264, 309,
1194 309, 309, 550, 550, 550, 550, 262, 263, 264, 262,
1195 263, 264, 265, 267, 0, 263, 265, 266, 0, 266,
1196 0, 309, 265, 267, 268, 265, 267, 266, 0, 267,
1197 266, 257, 269, 257, 268, 0, 0, 268, 0, 270,
1198 268, 268, 269, 270, 257, 269, 271, 272, 257, 270,
1199 0, 273, 270, 275, 272, 273, 271, 272, 274, 271,
1201 272, 273, 274, 275, 273, 276, 275, 277, 274, 275,
1202 0, 274, 278, 279, 278, 276, 0, 277, 276, 280,
1203 277, 281, 278, 279, 0, 278, 279, 0, 0, 280,
1204 0, 281, 280, 282, 281, 283, 0, 282, 281, 283,
1205 285, 284, 286, 282, 0, 283, 282, 287, 283, 284,
1206 285, 284, 286, 285, 284, 286, 288, 287, 289, 0,
1207 287, 0, 287, 290, 0, 288, 288, 0, 289, 288,
1208 0, 289, 291, 290, 292, 0, 290, 289, 293, 0,
1209 290, 0, 291, 294, 292, 291, 0, 292, 293, 296,
1210 0, 293, 292, 294, 295, 297, 294, 0, 295, 296,
1212 294, 299, 296, 0, 295, 297, 296, 295, 297, 298,
1213 0, 299, 0, 298, 299, 302, 300, 301, 0, 298,
1214 300, 301, 298, 303, 0, 302, 300, 301, 302, 300,
1215 301, 304, 305, 303, 304, 0, 303, 308, 349, 306,
1216 0, 304, 305, 0, 304, 305, 306, 308, 349, 306,
1217 308, 349, 306, 311, 311, 311, 316, 316, 316, 316,
1218 0, 0, 317, 317, 317, 317, 323, 323, 323, 0,
1219 316, 0, 0, 0, 316, 311, 317, 324, 324, 324,
1220 317, 0, 318, 318, 318, 318, 0, 0, 323, 316,
1221 320, 320, 320, 320, 0, 317, 318, 353, 0, 324,
1223 318, 0, 0, 0, 320, 353, 347, 353, 320, 0,
1224 353, 332, 332, 332, 332, 318, 347, 347, 348, 347,
1225 388, 388, 388, 320, 322, 332, 0, 348, 348, 0,
1226 0, 348, 322, 322, 322, 322, 322, 322, 0, 322,
1227 0, 0, 388, 322, 322, 322, 322, 322, 322, 322,
1228 322, 322, 322, 322, 322, 322, 322, 322, 322, 322,
1229 322, 322, 322, 322, 322, 322, 325, 325, 325, 325,
1230 325, 325, 325, 325, 325, 325, 325, 325, 325, 325,
1231 325, 325, 325, 325, 325, 325, 325, 325, 325, 325,
1232 325, 325, 325, 325, 325, 325, 325, 325, 325, 0,
1234 325, 325, 0, 325, 325, 325, 325, 325, 325, 325,
1235 325, 325, 325, 325, 325, 325, 325, 325, 325, 325,
1236 325, 325, 325, 325, 325, 325, 325, 325, 325, 325,
1237 325, 325, 325, 326, 326, 326, 326, 326, 326, 326,
1238 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
1239 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
1240 326, 326, 326, 326, 326, 326, 0, 326, 326, 0,
1241 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
1242 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
1243 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
1245 333, 333, 333, 333, 0, 335, 335, 335, 335, 0,
1246 0, 351, 0, 0, 333, 350, 352, 0, 333, 335,
1247 0, 351, 350, 335, 351, 350, 352, 351, 350, 352,
1248 354, 0, 355, 352, 357, 0, 389, 389, 389, 0,
1249 354, 356, 355, 354, 357, 355, 358, 357, 354, 355,
1250 359, 356, 356, 0, 356, 361, 358, 360, 389, 358,
1251 359, 360, 359, 359, 362, 361, 0, 360, 361, 363,
1252 360, 0, 0, 363, 362, 364, 365, 362, 0, 363,
1253 0, 362, 363, 366, 367, 364, 365, 0, 364, 365,
1254 364, 368, 369, 366, 367, 0, 366, 367, 366, 370,
1256 367, 368, 369, 371, 368, 369, 0, 372, 0, 370,
1257 368, 373, 370, 371, 370, 373, 371, 372, 374, 375,
1258 372, 373, 0, 0, 373, 376, 374, 377, 374, 375,
1259 0, 374, 375, 376, 375, 376, 0, 377, 376, 378,
1260 377, 378, 377, 379, 380, 381, 0, 0, 0, 378,
1261 0, 0, 378, 379, 380, 381, 379, 380, 381, 382,
1262 383, 384, 0, 379, 382, 384, 385, 386, 417, 382,
1263 383, 384, 382, 383, 384, 0, 385, 386, 417, 385,
1264 386, 417, 0, 0, 0, 386, 390, 390, 390, 390,
1265 390, 390, 390, 390, 390, 390, 390, 390, 390, 390,
1267 390, 390, 390, 390, 390, 390, 390, 390, 390, 390,
1268 390, 390, 390, 390, 390, 390, 390, 390, 390, 0,
1269 390, 390, 0, 390, 390, 390, 390, 390, 390, 390,
1270 390, 390, 390, 390, 390, 390, 390, 390, 390, 390,
1271 390, 390, 390, 390, 390, 390, 390, 390, 390, 390,
1272 390, 390, 390, 391, 391, 391, 391, 391, 391, 391,
1273 391, 391, 391, 391, 391, 391, 391, 391, 391, 391,
1274 391, 391, 391, 391, 391, 391, 391, 391, 391, 391,
1275 391, 391, 391, 391, 391, 391, 0, 391, 391, 0,
1276 391, 391, 391, 391, 391, 391, 391, 391, 391, 391,
1278 391, 391, 391, 391, 391, 391, 391, 391, 391, 391,
1279 391, 391, 391, 391, 391, 391, 391, 391, 391, 391,
1280 393, 408, 408, 408, 408, 0, 0, 416, 418, 0,
1281 0, 416, 393, 419, 420, 408, 393, 416, 418, 408,
1282 416, 418, 0, 419, 420, 0, 419, 420, 0, 0,
1283 0, 393, 394, 394, 394, 394, 394, 394, 394, 394,
1284 394, 394, 394, 394, 394, 394, 394, 394, 394, 394,
1285 394, 394, 394, 394, 394, 394, 394, 394, 394, 394,
1286 394, 394, 394, 394, 394, 394, 394, 394, 394, 394,
1287 394, 394, 394, 394, 394, 394, 394, 394, 394, 394,
1289 394, 394, 394, 394, 394, 394, 394, 394, 394, 394,
1290 394, 394, 394, 394, 394, 394, 394, 394, 394, 395,
1291 395, 395, 395, 0, 396, 396, 396, 396, 0, 398,
1292 398, 398, 398, 395, 0, 0, 421, 395, 396, 0,
1293 422, 423, 396, 398, 0, 423, 421, 398, 421, 421,
1294 422, 423, 395, 422, 423, 0, 0, 396, 560, 560,
1295 560, 560, 398, 399, 399, 399, 399, 399, 399, 399,
1296 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
1297 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
1298 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
1300 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
1301 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
1302 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
1303 424, 425, 426, 0, 425, 0, 427, 0, 424, 0,
1304 424, 425, 426, 424, 425, 426, 427, 428, 429, 427,
1305 0, 0, 430, 0, 431, 428, 0, 428, 429, 429,
1306 428, 429, 430, 432, 431, 430, 431, 431, 432, 430,
1307 433, 0, 0, 432, 0, 432, 432, 434, 435, 436,
1308 433, 434, 0, 433, 433, 436, 435, 434, 435, 436,
1309 434, 435, 436, 437, 438, 439, 438, 439, 0, 440,
1311 0, 0, 0, 437, 438, 439, 437, 438, 439, 440,
1312 437, 440, 440, 441, 442, 441, 0, 0, 443, 444,
1313 0, 0, 0, 441, 442, 443, 441, 442, 443, 444,
1314 445, 443, 444, 0, 446, 445, 447, 0, 448, 0,
1315 445, 448, 446, 445, 446, 0, 447, 446, 448, 447,
1316 0, 448, 453, 453, 453, 453, 0, 454, 454, 454,
1317 454, 0, 456, 456, 456, 456, 453, 0, 0, 468,
1318 453, 454, 0, 469, 0, 454, 456, 0, 0, 468,
1319 456, 468, 468, 469, 470, 453, 469, 0, 0, 471,
1320 454, 469, 0, 0, 470, 456, 472, 470, 472, 471,
1322 473, 470, 471, 0, 474, 475, 472, 0, 0, 472,
1323 473, 477, 0, 473, 474, 475, 473, 474, 475, 476,
1324 478, 477, 478, 476, 477, 479, 474, 480, 0, 476,
1325 478, 481, 476, 478, 0, 479, 482, 480, 479, 0,
1326 480, 481, 483, 484, 481, 483, 482, 484, 486, 482,
1327 485, 0, 483, 484, 485, 483, 484, 487, 486, 488,
1328 485, 486, 0, 485, 489, 486, 490, 487, 491, 488,
1329 487, 0, 488, 492, 489, 0, 490, 489, 491, 490,
1330 493, 491, 501, 492, 493, 492, 492, 502, 0, 0,
1331 493, 502, 501, 493, 0, 501, 504, 502, 505, 501,
1333 502, 503, 503, 503, 503, 506, 504, 507, 505, 504,
1334 0, 505, 508, 0, 0, 506, 511, 507, 506, 507,
1335 507, 0, 508, 509, 508, 508, 511, 509, 510, 511,
1336 510, 0, 512, 509, 512, 0, 509, 503, 510, 513,
1337 0, 510, 512, 513, 514, 512, 515, 503, 0, 513,
1338 503, 516, 513, 526, 514, 516, 515, 514, 517, 515,
1339 0, 516, 517, 526, 516, 0, 526, 527, 517, 526,
1340 0, 517, 518, 518, 518, 518, 529, 527, 530, 0,
1341 527, 528, 528, 528, 528, 0, 529, 531, 530, 529,
1342 0, 530, 0, 533, 532, 530, 0, 531, 532, 535,
1344 531, 534, 528, 533, 532, 534, 533, 532, 518, 535,
1345 536, 534, 535, 536, 534, 542, 537, 0, 518, 537,
1346 536, 518, 0, 536, 0, 542, 537, 0, 542, 537,
1347 538, 538, 538, 538, 544, 538, 545, 0, 528, 0,
1348 538, 545, 546, 547, 544, 0, 545, 544, 548, 545,
1349 544, 538, 546, 547, 549, 546, 547, 0, 548, 0,
1350 0, 548, 0, 0, 549, 0, 0, 549, 552, 552,
1351 552, 552, 552, 553, 553, 553, 553, 558, 559, 552,
1352 561, 561, 561, 561, 0, 0, 0, 558, 559, 0,
1353 558, 559, 562, 562, 562, 562, 563, 563, 563, 563,
1355 0, 552, 565, 565, 565, 565, 568, 568, 568, 568,
1356 0, 0, 553, 0, 553, 0, 568, 569, 569, 569,
1357 569, 569, 0, 0, 0, 553, 0, 0, 569, 553,
1358 570, 570, 570, 570, 570, 0, 0, 0, 568, 0,
1359 0, 570, 571, 571, 571, 571, 573, 573, 573, 573,
1360 569, 572, 572, 572, 572, 572, 574, 574, 574, 574,
1361 0, 0, 0, 570, 575, 575, 575, 575, 576, 576,
1362 576, 576, 577, 577, 577, 577, 578, 578, 578, 578,
1363 579, 579, 579, 579, 0, 573, 0, 573, 584, 584,
1364 584, 584, 0, 0, 0, 574, 0, 574, 573, 0,
1366 0, 0, 573, 575, 0, 575, 0, 0, 574, 0,
1367 0, 0, 574, 0, 0, 0, 575, 576, 0, 0,
1368 575, 577, 0, 579, 585, 585, 585, 585, 587, 587,
1369 587, 587, 578, 588, 588, 588, 588, 589, 589, 589,
1370 589, 590, 590, 590, 590, 598, 598, 598, 598, 0,
1371 0, 590, 592, 592, 592, 592, 593, 593, 593, 593,
1372 594, 594, 594, 594, 599, 599, 599, 599, 600, 600,
1373 600, 600, 0, 590, 591, 591, 591, 591, 591, 591,
1374 591, 591, 591, 591, 591, 591, 591, 591, 591, 591,
1375 591, 591, 591, 0, 0, 0, 591, 591, 591, 591,
1377 593, 0, 0, 592, 594, 0, 591, 0, 591, 591,
1378 601, 601, 601, 601, 603, 603, 603, 603, 609, 609,
1379 609, 609, 604, 604, 604, 604, 610, 610, 610, 610,
1380 611, 611, 611, 611, 591, 591, 591, 591, 591, 591,
1381 591, 602, 602, 602, 602, 602, 602, 602, 602, 602,
1382 602, 602, 602, 602, 602, 602, 602, 602, 602, 602,
1383 0, 0, 0, 602, 602, 602, 602, 603, 604, 612,
1384 612, 612, 612, 602, 0, 602, 602, 613, 613, 613,
1385 613, 614, 614, 614, 614, 617, 617, 617, 617, 620,
1386 620, 620, 620, 621, 621, 621, 621, 622, 622, 622,
1388 622, 602, 602, 602, 602, 602, 602, 602, 623, 623,
1389 623, 623, 0, 0, 0, 613, 624, 624, 624, 624,
1390 0, 614, 625, 625, 625, 625, 0, 0, 617, 618,
1391 618, 618, 618, 618, 618, 618, 618, 618, 618, 618,
1392 618, 618, 618, 618, 618, 618, 618, 618, 0, 0,
1393 0, 618, 618, 618, 618, 626, 626, 626, 626, 0,
1394 0, 618, 0, 618, 618, 627, 627, 627, 627, 0,
1395 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1396 0, 0, 0, 0, 0, 0, 0, 0, 0, 618,
1397 618, 618, 618, 618, 618, 618, 619, 619, 619, 619,
1399 619, 619, 619, 619, 619, 619, 619, 619, 619, 619,
1400 619, 619, 619, 619, 619, 0, 0, 0, 619, 619,
1401 619, 619, 0, 0, 0, 0, 0, 0, 619, 0,
1402 619, 619, 0, 0, 0, 0, 0, 0, 0, 0,
1403 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1404 0, 0, 0, 0, 0, 0, 619, 619, 619, 619,
1405 619, 619, 619, 629, 629, 629, 629, 629, 629, 629,
1406 629, 629, 629, 629, 629, 629, 629, 630, 630, 0,
1407 630, 630, 630, 630, 630, 630, 630, 630, 630, 630,
1408 630, 631, 0, 631, 631, 631, 632, 632, 0, 632,
1410 632, 632, 632, 632, 632, 632, 632, 632, 632, 632,
1411 633, 633, 633, 633, 633, 633, 633, 633, 0, 0,
1412 0, 633, 633, 633, 634, 634, 0, 0, 634, 634,
1413 0, 634, 634, 634, 634, 634, 635, 635, 0, 635,
1414 635, 635, 635, 635, 635, 635, 635, 635, 635, 635,
1415 636, 636, 636, 636, 636, 636, 636, 636, 0, 0,
1416 0, 636, 636, 636, 637, 637, 637, 637, 637, 637,
1417 637, 0, 637, 637, 637, 637, 637, 637, 638, 638,
1418 638, 638, 638, 638, 638, 638, 638, 638, 638, 638,
1419 638, 638, 639, 639, 0, 639, 0, 639, 639, 639,
1421 639, 640, 0, 0, 640, 640, 640, 640, 640, 641,
1422 641, 641, 641, 641, 641, 641, 641, 0, 0, 0,
1423 641, 0, 641, 642, 642, 642, 642, 642, 642, 642,
1424 642, 642, 642, 642, 642, 642, 642, 643, 643, 643,
1425 643, 643, 643, 643, 643, 643, 643, 643, 643, 643,
1426 643, 644, 644, 0, 0, 644, 0, 0, 644, 644,
1427 645, 645, 645, 645, 645, 645, 645, 645, 0, 0,
1428 0, 645, 645, 645, 646, 646, 646, 646, 646, 646,
1429 646, 646, 0, 0, 0, 646, 0, 646, 647, 647,
1430 647, 647, 647, 647, 647, 647, 647, 647, 647, 647,
1432 647, 647, 648, 648, 0, 0, 648, 0, 0, 648,
1433 648, 649, 0, 0, 649, 0, 649, 649, 649, 649,
1434 650, 650, 650, 650, 650, 650, 650, 650, 650, 650,
1435 650, 650, 650, 650, 651, 651, 651, 651, 651, 651,
1436 651, 651, 0, 0, 0, 651, 0, 651, 652, 652,
1437 0, 0, 652, 0, 0, 652, 652, 653, 0, 0,
1438 653, 653, 654, 654, 654, 654, 654, 654, 654, 654,
1439 654, 654, 654, 654, 654, 654, 655, 655, 655, 655,
1440 655, 655, 655, 655, 655, 655, 655, 655, 655, 655,
1441 656, 656, 656, 656, 656, 0, 656, 656, 0, 0,
1443 0, 0, 0, 656, 657, 657, 657, 657, 657, 657,
1444 657, 657, 657, 657, 657, 657, 657, 657, 658, 658,
1445 658, 658, 658, 658, 658, 658, 658, 658, 658, 658,
1446 658, 658, 659, 659, 659, 659, 659, 659, 659, 659,
1447 659, 659, 659, 659, 659, 659, 660, 660, 660, 660,
1448 660, 0, 660, 660, 0, 0, 0, 0, 0, 660,
1449 661, 661, 661, 661, 661, 0, 661, 661, 0, 0,
1450 0, 0, 0, 661, 662, 662, 662, 662, 662, 0,
1451 662, 662, 0, 0, 0, 0, 0, 662, 663, 663,
1452 663, 663, 663, 663, 663, 663, 663, 663, 663, 663,
1454 663, 663, 664, 664, 664, 664, 664, 664, 664, 664,
1455 664, 664, 664, 664, 664, 664, 665, 665, 665, 665,
1456 665, 665, 665, 665, 665, 665, 665, 665, 665, 666,
1457 666, 0, 666, 666, 666, 666, 666, 666, 666, 666,
1458 666, 666, 666, 667, 667, 667, 667, 667, 667, 667,
1459 667, 667, 667, 667, 667, 667, 667, 668, 668, 668,
1460 668, 668, 668, 668, 668, 668, 668, 668, 668, 668,
1461 668, 669, 669, 0, 669, 669, 669, 669, 669, 669,
1462 669, 669, 669, 669, 669, 628, 628, 628, 628, 628,
1463 628, 628, 628, 628, 628, 628, 628, 628, 628, 628,
1465 628, 628, 628, 628, 628, 628, 628, 628, 628, 628,
1466 628, 628, 628, 628, 628, 628, 628, 628, 628, 628,
1467 628, 628, 628, 628, 628, 628, 628, 628, 628, 628,
1468 628, 628, 628, 628, 628, 628, 628, 628, 628, 628,
1469 628, 628, 628, 628, 628, 628, 628, 628, 628, 628,
1473 static yy_state_type yy_last_accepting_state;
1474 static char *yy_last_accepting_cpos;
1476 extern int as3__flex_debug;
1477 int as3__flex_debug = 0;
1479 /* The intent behind this definition is that it'll catch
1480 * any uses of REJECT which flex missed.
1482 #define REJECT reject_used_but_not_detected
1483 #define yymore() yymore_used_but_not_detected
1484 #define YY_MORE_ADJ 0
1485 #define YY_RESTORE_YY_MORE_OFFSET
1487 #line 1 "tokenizer.lex"
1490 Routines for compiling Flash2 AVM2 ABC Actionscript
1492 Extension module for the rfxswf library.
1493 Part of the swftools package.
1495 Copyright (c) 2008 Matthias Kramm <kramm@quiss.org>
1497 This program is free software; you can redistribute it and/or modify
1498 it under the terms of the GNU General Public License as published by
1499 the Free Software Foundation; either version 2 of the License, or
1500 (at your option) any later version.
1502 This program is distributed in the hope that it will be useful,
1503 but WITHOUT ANY WARRANTY; without even the implied warranty of
1504 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1505 GNU General Public License for more details.
1507 You should have received a copy of the GNU General Public License
1508 along with this program; if not, write to the Free Software
1509 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
1510 #line 24 "tokenizer.lex"
1517 #include "../utf8.h"
1519 #include "tokenizer.h"
1522 unsigned int as3_tokencount = 0;
1524 static void dbg(const char*format, ...)
1531 va_start(arglist, format);
1532 vsnprintf(buf, sizeof(buf)-1, format, arglist);
1535 while(l && buf[l-1]=='\n') {
1539 printf("(tokenizer) ");
1540 printf("%s\n", buf);
1544 #ifndef YY_CURRENT_BUFFER
1545 #define YY_CURRENT_BUFFER yy_current_buffer
1548 static void*as3_buffer=0;
1549 static int as3_buffer_pos=0;
1550 static int as3_buffer_len=0;
1551 void as3_file_input(FILE*fi)
1556 void as3_buffer_input(void*buffer, int len)
1559 syntaxerror("trying to parse zero bytearray");
1560 as3_buffer = buffer;
1561 as3_buffer_len = len;
1567 //#define BEGIN(x) {(yy_start) = 1 + 2 *x;dbg("entering state %d", x);}
1569 #define YY_INPUT(buf,result,max_size) { \
1572 while((result = fread(buf, 1, max_size, as3_in))==0 && ferror(as3_in)) \
1573 { if(errno != EINTR) {YY_FATAL_ERROR("input in flex scanner failed"); break;} \
1574 errno=0; clearerr(as3_in); \
1577 int to_read = max_size; \
1578 if(to_read + as3_buffer_pos > as3_buffer_len) \
1579 to_read = as3_buffer_len - as3_buffer_pos; \
1580 memcpy(buf, as3_buffer+as3_buffer_pos, to_read); \
1581 as3_buffer_pos += to_read; \
1586 void handleInclude(char*text, int len, char quotes)
1590 char*p1 = strchr(text, '"');
1591 char*p2 = strrchr(text, '"');
1592 if(!p1 || !p2 || p1==p2) {
1593 syntaxerror("Invalid include in line %d\n", current_line);
1596 filename = strdup(p1+1);
1600 while(!strchr(" \n\r\t", text[i1])) i1++;
1602 while(strchr(" \n\r\t", text[i1])) i1++;
1603 while(strchr(" \n\r\t", text[i2-1])) i2--;
1604 if(i2!=len) text[i2]=0;
1605 filename = strdup(&text[i1]);
1608 char*fullfilename = find_file(filename, 1);
1609 enter_file2(filename, fullfilename, YY_CURRENT_BUFFER);
1610 as3_in = fopen(fullfilename, "rb");
1612 syntaxerror("Couldn't open include file \"%s\"\n", fullfilename);
1615 as3__switch_to_buffer(as3__create_buffer(as3_in,YY_BUF_SIZE ) );
1616 //BEGIN(DEFAULT); keep context
1619 static int do_unescape(const char*s, const char*end, char*n)
1625 if(o) o[len] = *s;len++;
1629 s++; //skip past '\'
1630 if(s==end) syntaxerror("invalid \\ at end of string");
1632 /* handle the various line endings (mac, dos, unix) */
1645 case '\\': if(o) o[len] = '\\';s++;len++; break;
1646 case '"': if(o) o[len] = '"';s++;len++; break;
1647 case '\'': if(o) o[len] = '\'';s++;len++; break;
1648 case 'b': if(o) o[len] = '\b';s++;len++; break;
1649 case 'f': if(o) o[len] = '\f';s++;len++; break;
1650 case 'n': if(o) o[len] = '\n';s++;len++; break;
1651 case 'r': if(o) o[len] = '\r';s++;len++; break;
1652 case 't': if(o) o[len] = '\t';s++;len++; break;
1653 case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': {
1656 while(strchr("01234567", *s) && nr<3 && s<end) {
1663 syntaxerror("octal number out of range (0-255): %d", num);
1664 if(o) o[len] = num;len++;
1667 case 'x': case 'u': {
1676 if(s==end) syntaxerror("invalid \\u or \\x at end of string");
1679 if(s==end) syntaxerror("invalid \\u{ at end of string");
1684 while(strchr("0123456789abcdefABCDEF", *s) && (bracket || nr < max) && s<end) {
1686 if(*s>='0' && *s<='9') num |= *s - '0';
1687 if(*s>='a' && *s<='f') num |= *s - 'a' + 10;
1688 if(*s>='A' && *s<='F') num |= *s - 'A' + 10;
1693 if(*s=='}' && s<end) {
1696 syntaxerror("missing terminating '}'");
1700 char*utf8 = getUTF8(num);
1702 if(o) o[len] = *utf8;utf8++;len++;
1706 syntaxerror("byte out of range (0-255): %d", num);
1707 if(o) o[len] = num;len++;
1726 static string_t string_unescape(const char*in, int l)
1729 const char*end = &in[l];
1731 int len = do_unescape(s, end, 0);
1732 char*n = (char*)malloc(len+1);
1733 do_unescape(s, end, n);
1734 string_t out = string_new(n, len);
1738 static void handleCData(char*s, int len)
1740 a3_lval.str.str = s+9; // <![CDATA[
1741 a3_lval.str.len = len-9-3;// ]]>
1742 a3_lval.str.str = strdup_n(a3_lval.str.str, a3_lval.str.len);
1745 static void handleRaw(char*s, int len)
1747 a3_lval.str.len = len;
1748 a3_lval.str.str = strdup_n(s, a3_lval.str.len);
1751 static void handleString(char*s, int len)
1754 if(s[len-1]!='"') syntaxerror("String doesn't end with '\"'");
1757 else if(s[0]=='\'') {
1758 if(s[len-1]!='\'') syntaxerror("String doesn't end with '\"'");
1761 else syntaxerror("String incorrectly terminated");
1763 a3_lval.str = string_unescape(s, len);
1767 char start_of_expression;
1769 static inline int m(int type)
1771 a3_lval.token = type;
1775 static char numberbuf[64];
1778 if(as3_leng>sizeof(numberbuf)-1)
1779 syntaxerror("decimal number overflow");
1781 memcpy(s, as3_text, as3_leng);
1786 static inline int setint(int v)
1788 a3_lval.number_int = v;
1791 static inline int setfloat(double v)
1793 a3_lval.number_float = v;
1797 static inline int handlefloat()
1800 a3_lval.number_float = atof(s);
1804 static inline int handleint()
1807 char l = (as3_text[0]=='-');
1809 //char*max = l?"1073741824":"2147483647";
1810 char*max = l?"2147483648":"2147483647";
1813 as3_softwarning("integer overflow: %s (converted to Number)", s);
1814 return handlefloat();
1816 if(as3_leng-l==10) {
1818 for(t=0;t<as3_leng-l;t++) {
1819 if(as3_text[l+t]>max[t]) {
1820 as3_softwarning("integer overflow: %s (converted to Number)", s);
1821 return handlefloat();
1823 else if(as3_text[l+t]<max[t])
1827 if(as3_text[0]=='-') {
1833 for(t=0;t<as3_leng;t++) {
1841 static inline int handlehexfloat()
1843 char l = (as3_text[0]=='-')+2;
1848 for(t=l;t<as3_leng;t++) {
1849 char c = as3_text[t];
1859 if(c>='0' && c<='9')
1861 else if((c>='a' && c<='f') || (c>='A' && c<='F'))
1862 d+=((c&0x0f)+9)*base;
1866 static inline int handlehex()
1868 char l = (as3_text[0]=='-')+2;
1873 syntaxerror("integer overflow %s", s);
1878 for(t=l;t<len;t++) {
1880 char c = as3_text[t];
1881 if(c>='0' && c<='9')
1883 else if((c>='a' && c<='f') || (c>='A' && c<='F'))
1886 if(l && v>=0x80000000) {
1888 as3_softwarning("integer overflow: %s (converted to Number)", s);
1891 if(!l && v>0x7fffffff) {
1893 as3_softwarning("integer overflow: %s (converted to Number)", s);
1898 return setint(-(int)v);
1904 void handleLabel(char*text, int len)
1907 for(t=len-1;t>=0;--t) {
1912 char*s = malloc(t+1);
1913 memcpy(s, as3_text, t);
1918 static int handleregexp()
1920 char*s = malloc(as3_leng);
1922 memcpy(s, as3_text+1, len);
1925 for(t=len;t>=0;--t) {
1931 a3_lval.regexp.pattern = s;
1933 a3_lval.regexp.options = 0;
1935 a3_lval.regexp.options = s+t+1;
1940 void initialize_scanner();
1941 #define YY_USER_INIT initialize_scanner();
1943 /* count the number of lines+columns consumed by this token */
1944 static inline void l() {
1946 for(t=0;t<as3_leng;t++) {
1947 if(as3_text[t]=='\n') {
1955 /* count the number of columns consumed by this token */
1956 static inline void c() {
1957 current_column+=as3_leng;
1960 trie_t*active_namespaces = 0;
1961 /*void tokenizer_register_namespace(const char*id)
1963 trie_put(namespaces, id, 0);
1965 void tokenizer_unregister_namespace(const char*id)
1967 trie_remove(namespaces, id);
1969 static inline char tokenizer_is_namespace(const char*id)
1971 return trie_contains(active_namespaces, id);
1974 static inline int handleIdentifier()
1976 char*s = malloc(as3_leng+1);
1977 memcpy(s, as3_text, as3_leng);
1980 if(tokenizer_is_namespace(s))
1983 return T_IDENTIFIER;
1985 static int tokenerror();
1988 //Boolean {c();return m(KW_BOOLEAN);}
1989 //int {c();return m(KW_INT);}
1990 //uint {c();return m(KW_UINT);}
1991 //Number {c();return m(KW_NUMBER);}
1992 //XMLCOMMENT <!--([^->]|(-/[^-])|(--/[^>]))*-->
2000 #line 2001 "tokenizer.yy.c"
2009 #ifndef YY_NO_UNISTD_H
2010 /* Special case for "unistd.h", since it is non-ANSI. We include it way
2011 * down here because we want the user's section 1 to have been scanned first.
2012 * The user has a chance to override it with an option.
2017 #ifndef YY_EXTRA_TYPE
2018 #define YY_EXTRA_TYPE void *
2021 static int yy_init_globals (void );
2023 /* Accessor methods to globals.
2024 These are made visible to non-reentrant scanners for convenience. */
2026 int as3_lex_destroy (void );
2028 int as3_get_debug (void );
2030 void as3_set_debug (int debug_flag );
2032 YY_EXTRA_TYPE as3_get_extra (void );
2034 void as3_set_extra (YY_EXTRA_TYPE user_defined );
2036 FILE *as3_get_in (void );
2038 void as3_set_in (FILE * in_str );
2040 FILE *as3_get_out (void );
2042 void as3_set_out (FILE * out_str );
2044 int as3_get_leng (void );
2046 char *as3_get_text (void );
2048 int as3_get_lineno (void );
2050 void as3_set_lineno (int line_number );
2052 /* Macros after this point can all be overridden by user definitions in
2056 #ifndef YY_SKIP_YYWRAP
2058 extern "C" int as3_wrap (void );
2060 extern int as3_wrap (void );
2064 static void yyunput (int c,char *buf_ptr );
2067 static void yy_flex_strncpy (char *,yyconst char *,int );
2070 #ifdef YY_NEED_STRLEN
2071 static int yy_flex_strlen (yyconst char * );
2077 static int yyinput (void );
2079 static int input (void );
2084 /* Amount of stuff to slurp up with each read. */
2085 #ifndef YY_READ_BUF_SIZE
2086 #define YY_READ_BUF_SIZE 8192
2089 /* Copy whatever the last rule matched to the standard output. */
2091 /* This used to be an fputs(), but since the string might contain NUL's,
2092 * we now use fwrite().
2094 #define ECHO fwrite( as3_text, as3_leng, 1, as3_out )
2097 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
2098 * is returned in "result".
2101 #define YY_INPUT(buf,result,max_size) \
2102 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2106 for ( n = 0; n < max_size && \
2107 (c = getc( as3_in )) != EOF && c != '\n'; ++n ) \
2108 buf[n] = (char) c; \
2110 buf[n++] = (char) c; \
2111 if ( c == EOF && ferror( as3_in ) ) \
2112 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2118 while ( (result = fread(buf, 1, max_size, as3_in))==0 && ferror(as3_in)) \
2120 if( errno != EINTR) \
2122 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2133 /* No semi-colon after return; correct usage is to write "yyterminate();" -
2134 * we don't want an extra ';' after the "return" because that will cause
2135 * some compilers to complain about unreachable statements.
2138 #define yyterminate() return YY_NULL
2141 /* Number of entries by which start-condition stack grows. */
2142 #ifndef YY_START_STACK_INCR
2143 #define YY_START_STACK_INCR 25
2146 /* Report a fatal error. */
2147 #ifndef YY_FATAL_ERROR
2148 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2151 /* end tables serialization structures and prototypes */
2153 /* Default declaration of generated scanner - a define so the user can
2154 * easily add parameters.
2157 #define YY_DECL_IS_OURS 1
2159 extern int as3_lex (void);
2161 #define YY_DECL int as3_lex (void)
2162 #endif /* !YY_DECL */
2164 /* Code executed at the beginning of each rule, after as3_text and as3_leng
2167 #ifndef YY_USER_ACTION
2168 #define YY_USER_ACTION
2171 /* Code executed at the end of each rule. */
2173 #define YY_BREAK break;
2176 #define YY_RULE_SETUP \
2177 if ( as3_leng > 0 ) \
2178 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
2179 (as3_text[as3_leng - 1] == '\n'); \
2182 /** The main scanner function which does all the work.
2186 register yy_state_type yy_current_state;
2187 register char *yy_cp, *yy_bp;
2188 register int yy_act;
2190 #line 540 "tokenizer.lex"
2194 #line 2195 "tokenizer.yy.c"
2205 (yy_start) = 1; /* first start state */
2213 if ( ! YY_CURRENT_BUFFER ) {
2214 as3_ensure_buffer_stack ();
2215 YY_CURRENT_BUFFER_LVALUE =
2216 as3__create_buffer(as3_in,YY_BUF_SIZE );
2219 as3__load_buffer_state( );
2222 while ( 1 ) /* loops until end-of-file is reached */
2224 yy_cp = (yy_c_buf_p);
2226 /* Support of as3_text. */
2227 *yy_cp = (yy_hold_char);
2229 /* yy_bp points to the position in yy_ch_buf of the start of
2234 yy_current_state = (yy_start);
2235 yy_current_state += YY_AT_BOL();
2239 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
2240 if ( yy_accept[yy_current_state] )
2242 (yy_last_accepting_state) = yy_current_state;
2243 (yy_last_accepting_cpos) = yy_cp;
2245 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2247 yy_current_state = (int) yy_def[yy_current_state];
2248 if ( yy_current_state >= 629 )
2249 yy_c = yy_meta[(unsigned int) yy_c];
2251 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2254 while ( yy_current_state != 628 );
2255 yy_cp = (yy_last_accepting_cpos);
2256 yy_current_state = (yy_last_accepting_state);
2259 yy_act = yy_accept[yy_current_state];
2261 YY_DO_BEFORE_ACTION;
2263 do_action: /* This label is used only to access EOF actions. */
2266 { /* beginning of action switch */
2267 case 0: /* must back up */
2268 /* undo the effects of YY_DO_BEFORE_ACTION */
2269 *yy_cp = (yy_hold_char);
2270 yy_cp = (yy_last_accepting_cpos);
2271 yy_current_state = (yy_last_accepting_state);
2272 goto yy_find_action;
2275 /* rule 1 can match eol */
2277 #line 543 "tokenizer.lex"
2278 {l(); /* single line comment */}
2281 /* rule 2 can match eol */
2283 #line 544 "tokenizer.lex"
2284 {l(); /* multi line comment */}
2288 #line 545 "tokenizer.lex"
2289 {syntaxerror("syntax error: unterminated comment", as3_text);}
2292 /* rule 4 can match eol */
2293 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2294 (yy_c_buf_p) = yy_cp -= 1;
2295 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2297 #line 547 "tokenizer.lex"
2298 {l();handleInclude(as3_text, as3_leng, 1);}
2301 /* rule 5 can match eol */
2302 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2303 (yy_c_buf_p) = yy_cp -= 1;
2304 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2306 #line 548 "tokenizer.lex"
2307 {l();handleInclude(as3_text, as3_leng, 0);}
2310 /* rule 6 can match eol */
2312 #line 549 "tokenizer.lex"
2313 {l(); BEGIN(DEFAULT);handleString(as3_text, as3_leng);return T_STRING;}
2316 /* rule 7 can match eol */
2318 #line 550 "tokenizer.lex"
2319 {l(); BEGIN(DEFAULT);handleCData(as3_text, as3_leng);return T_STRING;}
2323 /* rule 8 can match eol */
2325 #line 553 "tokenizer.lex"
2326 {l(); BEGIN(DEFAULT);handleRaw(as3_text, as3_leng);return T_STRING;}
2331 /* rule 9 can match eol */
2333 #line 557 "tokenizer.lex"
2334 {l(); handleRaw(as3_text, as3_leng);return T_STRING;}
2338 #line 558 "tokenizer.lex"
2339 {c(); BEGIN(REGEXPOK);return m('{');}
2343 #line 559 "tokenizer.lex"
2344 {c(); return m('<');}
2348 #line 560 "tokenizer.lex"
2349 {c(); return m('/');}
2353 #line 561 "tokenizer.lex"
2354 {c(); return m('>');}
2358 #line 562 "tokenizer.lex"
2359 {c(); return m('=');}
2363 #line 563 "tokenizer.lex"
2364 {c(); handleRaw(as3_text, as3_leng);return T_IDENTIFIER;}
2367 /* rule 16 can match eol */
2369 #line 564 "tokenizer.lex"
2372 case YY_STATE_EOF(XML):
2373 #line 565 "tokenizer.lex"
2374 {syntaxerror("unexpected end of file");}
2379 /* rule 17 can match eol */
2381 #line 569 "tokenizer.lex"
2382 {l(); handleRaw(as3_text, as3_leng);return T_STRING;}
2386 #line 570 "tokenizer.lex"
2387 {c(); BEGIN(REGEXPOK);return m('{');}
2391 #line 571 "tokenizer.lex"
2392 {c(); BEGIN(XML);return m('<');}
2396 #line 572 "tokenizer.lex"
2397 {c(); return m('>');}
2400 /* rule 21 can match eol */
2402 #line 573 "tokenizer.lex"
2403 {l(); handleRaw(as3_text, as3_leng);return T_STRING;}
2406 /* rule 22 can match eol */
2408 #line 574 "tokenizer.lex"
2409 {l(); handleRaw(as3_text, as3_leng);return T_STRING;}
2411 case YY_STATE_EOF(XMLTEXT):
2412 #line 575 "tokenizer.lex"
2413 {syntaxerror("unexpected end of file");}
2419 #line 579 "tokenizer.lex"
2420 {c(); BEGIN(DEFAULT);return handleregexp();}
2423 /* rule 24 can match eol */
2424 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2425 (yy_c_buf_p) = yy_cp -= 1;
2426 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2428 #line 580 "tokenizer.lex"
2429 {c(); BEGIN(DEFAULT);return handlehex();}
2432 /* rule 25 can match eol */
2433 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2434 (yy_c_buf_p) = yy_cp -= 1;
2435 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2437 #line 581 "tokenizer.lex"
2438 {c(); BEGIN(DEFAULT);return handlehexfloat();}
2441 /* rule 26 can match eol */
2442 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2443 (yy_c_buf_p) = yy_cp -= 1;
2444 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2446 #line 582 "tokenizer.lex"
2447 {c(); BEGIN(DEFAULT);return handleint();}
2450 /* rule 27 can match eol */
2451 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2452 (yy_c_buf_p) = yy_cp -= 1;
2453 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2455 #line 583 "tokenizer.lex"
2456 {c(); BEGIN(DEFAULT);return handlefloat();}
2461 #line 586 "tokenizer.lex"
2462 {c(); BEGIN(REGEXPOK);return m(T_DICTSTART);}
2466 #line 587 "tokenizer.lex"
2467 {c(); BEGIN(DEFAULT); return m('{');}
2471 #line 589 "tokenizer.lex"
2475 /* rule 31 can match eol */
2477 #line 590 "tokenizer.lex"
2481 /* rule 32 can match eol */
2482 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2483 (yy_c_buf_p) = yy_cp -= 1;
2484 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2486 #line 592 "tokenizer.lex"
2487 {c(); BEGIN(DEFAULT);return handlehex();}
2490 /* rule 33 can match eol */
2491 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2492 (yy_c_buf_p) = yy_cp -= 1;
2493 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2495 #line 593 "tokenizer.lex"
2496 {c(); BEGIN(DEFAULT);return handlehexfloat();}
2499 /* rule 34 can match eol */
2500 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2501 (yy_c_buf_p) = yy_cp -= 1;
2502 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2504 #line 594 "tokenizer.lex"
2505 {c(); BEGIN(DEFAULT);return handleint();}
2508 /* rule 35 can match eol */
2509 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2510 (yy_c_buf_p) = yy_cp -= 1;
2511 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2513 #line 595 "tokenizer.lex"
2514 {c(); BEGIN(DEFAULT);return handlefloat();}
2518 #line 596 "tokenizer.lex"
2519 {c(); BEGIN(DEFAULT);return m(KW_NAN);}
2523 #line 598 "tokenizer.lex"
2524 {/* for debugging: generates a tokenizer-level error */
2525 syntaxerror("3rr0r");}
2528 /* rule 38 can match eol */
2529 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2530 (yy_c_buf_p) = yy_cp -= 1;
2531 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2533 #line 601 "tokenizer.lex"
2534 {l();BEGIN(DEFAULT);handleLabel(as3_text, as3_leng-3);return T_FOR;}
2537 /* rule 39 can match eol */
2538 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2539 (yy_c_buf_p) = yy_cp -= 1;
2540 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2542 #line 602 "tokenizer.lex"
2543 {l();BEGIN(DEFAULT);handleLabel(as3_text, as3_leng-2);return T_DO;}
2546 /* rule 40 can match eol */
2547 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2548 (yy_c_buf_p) = yy_cp -= 1;
2549 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2551 #line 603 "tokenizer.lex"
2552 {l();BEGIN(DEFAULT);handleLabel(as3_text, as3_leng-5);return T_WHILE;}
2555 /* rule 41 can match eol */
2556 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2557 (yy_c_buf_p) = yy_cp -= 1;
2558 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2560 #line 604 "tokenizer.lex"
2561 {l();BEGIN(DEFAULT);handleLabel(as3_text, as3_leng-6);return T_SWITCH;}
2564 /* rule 42 can match eol */
2566 #line 605 "tokenizer.lex"
2567 {l();BEGIN(DEFAULT);return m(KW_DEFAULT_XML);}
2571 #line 606 "tokenizer.lex"
2572 {c();BEGIN(DEFAULT);a3_lval.id="";return T_FOR;}
2576 #line 607 "tokenizer.lex"
2577 {c();BEGIN(DEFAULT);a3_lval.id="";return T_DO;}
2581 #line 608 "tokenizer.lex"
2582 {c();BEGIN(DEFAULT);a3_lval.id="";return T_WHILE;}
2586 #line 609 "tokenizer.lex"
2587 {c();BEGIN(DEFAULT);a3_lval.id="";return T_SWITCH;}
2591 #line 611 "tokenizer.lex"
2592 {c();BEGIN(REGEXPOK);return m(T_ANDAND);}
2596 #line 612 "tokenizer.lex"
2597 {c();BEGIN(REGEXPOK);return m(T_OROR);}
2601 #line 613 "tokenizer.lex"
2602 {c();BEGIN(REGEXPOK);return m(T_NE);}
2606 #line 614 "tokenizer.lex"
2607 {c();BEGIN(REGEXPOK);return m(T_NEE);}
2611 #line 615 "tokenizer.lex"
2612 {c();BEGIN(REGEXPOK);return m(T_EQEQEQ);}
2616 #line 616 "tokenizer.lex"
2617 {c();BEGIN(REGEXPOK);return m(T_EQEQ);}
2621 #line 617 "tokenizer.lex"
2622 {c();BEGIN(REGEXPOK);return m(T_GE);}
2626 #line 618 "tokenizer.lex"
2627 {c();BEGIN(REGEXPOK);return m(T_LE);}
2631 #line 619 "tokenizer.lex"
2632 {c();BEGIN(DEFAULT);return m(T_MINUSMINUS);}
2636 #line 620 "tokenizer.lex"
2637 {c();BEGIN(DEFAULT);return m(T_PLUSPLUS);}
2641 #line 621 "tokenizer.lex"
2642 {c();BEGIN(REGEXPOK);return m(T_PLUSBY);}
2646 #line 622 "tokenizer.lex"
2647 {c();BEGIN(REGEXPOK);return m(T_XORBY);}
2651 #line 623 "tokenizer.lex"
2652 {c();BEGIN(REGEXPOK);return m(T_MINUSBY);}
2656 #line 624 "tokenizer.lex"
2657 {c();BEGIN(REGEXPOK);return m(T_DIVBY);}
2661 #line 625 "tokenizer.lex"
2662 {c();BEGIN(REGEXPOK);return m(T_MODBY);}
2666 #line 626 "tokenizer.lex"
2667 {c();BEGIN(REGEXPOK);return m(T_MULBY);}
2671 #line 627 "tokenizer.lex"
2672 {c();BEGIN(REGEXPOK);return m(T_ORBY);}
2676 #line 628 "tokenizer.lex"
2677 {c();BEGIN(REGEXPOK);return m(T_ANDBY);}
2681 #line 629 "tokenizer.lex"
2682 {c();BEGIN(REGEXPOK);return m(T_SHRBY);}
2686 #line 630 "tokenizer.lex"
2687 {c();BEGIN(REGEXPOK);return m(T_SHLBY);}
2691 #line 631 "tokenizer.lex"
2692 {c();BEGIN(REGEXPOK);return m(T_USHRBY);}
2696 #line 632 "tokenizer.lex"
2697 {c();BEGIN(REGEXPOK);return m(T_SHL);}
2701 #line 633 "tokenizer.lex"
2702 {c();BEGIN(REGEXPOK);return m(T_USHR);}
2706 #line 634 "tokenizer.lex"
2707 {c();BEGIN(REGEXPOK);return m(T_SHR);}
2711 #line 635 "tokenizer.lex"
2712 {c();BEGIN(REGEXPOK);return m(T_DOTDOTDOT);}
2716 #line 636 "tokenizer.lex"
2717 {c();BEGIN(REGEXPOK);return m(T_DOTDOT);}
2721 #line 637 "tokenizer.lex"
2722 {c();BEGIN(REGEXPOK);return m('.');}
2726 #line 638 "tokenizer.lex"
2727 {c();BEGIN(REGEXPOK);return m(T_COLONCOLON);}
2731 #line 639 "tokenizer.lex"
2732 {c();BEGIN(REGEXPOK);return m(':');}
2736 #line 640 "tokenizer.lex"
2737 {c();BEGIN(REGEXPOK);return m(KW_INSTANCEOF);}
2741 #line 641 "tokenizer.lex"
2742 {c();BEGIN(REGEXPOK);return m(KW_IMPLEMENTS);}
2746 #line 642 "tokenizer.lex"
2747 {c();BEGIN(DEFAULT);return m(KW_INTERFACE);}
2751 #line 643 "tokenizer.lex"
2752 {c();BEGIN(DEFAULT);return m(KW_PROTECTED);}
2756 #line 644 "tokenizer.lex"
2757 {c();BEGIN(DEFAULT);return m(KW_NAMESPACE);}
2761 #line 645 "tokenizer.lex"
2762 {c();BEGIN(DEFAULT);return m(KW_UNDEFINED);}
2766 #line 646 "tokenizer.lex"
2767 {c();BEGIN(DEFAULT);return m(KW_ARGUMENTS);}
2771 #line 647 "tokenizer.lex"
2772 {c();BEGIN(DEFAULT);return m(KW_CONTINUE);}
2776 #line 648 "tokenizer.lex"
2777 {c();BEGIN(DEFAULT);return m(KW_OVERRIDE);}
2781 #line 649 "tokenizer.lex"
2782 {c();BEGIN(DEFAULT);return m(KW_INTERNAL);}
2786 #line 650 "tokenizer.lex"
2787 {c();BEGIN(DEFAULT);return m(KW_FUNCTION);}
2791 #line 651 "tokenizer.lex"
2792 {c();BEGIN(DEFAULT);return m(KW_FINALLY);}
2796 #line 652 "tokenizer.lex"
2797 {c();BEGIN(DEFAULT);return m(KW_DEFAULT);}
2801 #line 653 "tokenizer.lex"
2802 {c();BEGIN(DEFAULT);return m(KW_PACKAGE);}
2806 #line 654 "tokenizer.lex"
2807 {c();BEGIN(DEFAULT);return m(KW_PRIVATE);}
2811 #line 655 "tokenizer.lex"
2812 {c();BEGIN(DEFAULT);return m(KW_DYNAMIC);}
2816 #line 656 "tokenizer.lex"
2817 {c();BEGIN(DEFAULT);return m(KW_EXTENDS);}
2821 #line 657 "tokenizer.lex"
2822 {c();BEGIN(REGEXPOK);return m(KW_DELETE);}
2826 #line 658 "tokenizer.lex"
2827 {c();BEGIN(REGEXPOK);return m(KW_RETURN);}
2831 #line 659 "tokenizer.lex"
2832 {c();BEGIN(DEFAULT);return m(KW_PUBLIC);}
2836 #line 660 "tokenizer.lex"
2837 {c();BEGIN(DEFAULT);return m(KW_NATIVE);}
2841 #line 661 "tokenizer.lex"
2842 {c();BEGIN(DEFAULT);return m(KW_STATIC);}
2846 #line 662 "tokenizer.lex"
2847 {c();BEGIN(REGEXPOK);return m(KW_IMPORT);}
2851 #line 663 "tokenizer.lex"
2852 {c();BEGIN(REGEXPOK);return m(KW_TYPEOF);}
2856 #line 664 "tokenizer.lex"
2857 {c();BEGIN(REGEXPOK);return m(KW_THROW);}
2861 #line 665 "tokenizer.lex"
2862 {c();BEGIN(DEFAULT);return m(KW_CLASS);}
2866 #line 666 "tokenizer.lex"
2867 {c();BEGIN(DEFAULT);return m(KW_CONST);}
2871 #line 667 "tokenizer.lex"
2872 {c();BEGIN(DEFAULT);return m(KW_CATCH);}
2876 #line 668 "tokenizer.lex"
2877 {c();BEGIN(DEFAULT);return m(KW_FINAL);}
2881 #line 669 "tokenizer.lex"
2882 {c();BEGIN(DEFAULT);return m(KW_FALSE);}
2886 #line 670 "tokenizer.lex"
2887 {c();BEGIN(DEFAULT);return m(KW_BREAK);}
2891 #line 671 "tokenizer.lex"
2892 {c();BEGIN(DEFAULT);return m(KW_SUPER);}
2896 #line 672 "tokenizer.lex"
2897 {c();BEGIN(DEFAULT);return m(KW_EACH);}
2901 #line 673 "tokenizer.lex"
2902 {c();BEGIN(DEFAULT);return m(KW_VOID);}
2906 #line 674 "tokenizer.lex"
2907 {c();BEGIN(DEFAULT);return m(KW_TRUE);}
2911 #line 675 "tokenizer.lex"
2912 {c();BEGIN(DEFAULT);return m(KW_NULL);}
2916 #line 676 "tokenizer.lex"
2917 {c();BEGIN(DEFAULT);return m(KW_ELSE);}
2921 #line 677 "tokenizer.lex"
2922 {c();BEGIN(REGEXPOK);return m(KW_CASE);}
2926 #line 678 "tokenizer.lex"
2927 {c();BEGIN(REGEXPOK);return m(KW_WITH);}
2931 #line 679 "tokenizer.lex"
2932 {c();BEGIN(REGEXPOK);return m(KW_USE);}
2936 #line 680 "tokenizer.lex"
2937 {c();BEGIN(REGEXPOK);return m(KW_NEW);}
2941 #line 681 "tokenizer.lex"
2942 {c();BEGIN(DEFAULT);return m(KW_GET);}
2946 #line 682 "tokenizer.lex"
2947 {c();BEGIN(DEFAULT);return m(KW_SET);}
2951 #line 683 "tokenizer.lex"
2952 {c();BEGIN(DEFAULT);return m(KW_VAR);}
2956 #line 684 "tokenizer.lex"
2957 {c();BEGIN(DEFAULT);return m(KW_TRY);}
2961 #line 685 "tokenizer.lex"
2962 {c();BEGIN(REGEXPOK);return m(KW_IS) ;}
2966 #line 686 "tokenizer.lex"
2967 {c();BEGIN(REGEXPOK);return m(KW_IN) ;}
2971 #line 687 "tokenizer.lex"
2972 {c();BEGIN(DEFAULT);return m(KW_IF) ;}
2976 #line 688 "tokenizer.lex"
2977 {c();BEGIN(REGEXPOK);return m(KW_AS);}
2981 #line 689 "tokenizer.lex"
2982 {c();BEGIN(DEFAULT);return handleIdentifier();}
2986 #line 691 "tokenizer.lex"
2987 {c();BEGIN(DEFAULT);return m(as3_text[0]);}
2991 #line 692 "tokenizer.lex"
2992 {c();BEGIN(REGEXPOK);return m(as3_text[0]);}
2996 #line 693 "tokenizer.lex"
2997 {c();BEGIN(DEFAULT);return m(as3_text[0]);}
3002 #line 696 "tokenizer.lex"
3006 case YY_STATE_EOF(INITIAL):
3007 case YY_STATE_EOF(REGEXPOK):
3008 case YY_STATE_EOF(BEGINNING):
3009 case YY_STATE_EOF(DEFAULT):
3010 #line 698 "tokenizer.lex"
3012 void*b = leave_file();
3015 as3__delete_buffer(YY_CURRENT_BUFFER);
3018 as3__delete_buffer(YY_CURRENT_BUFFER);
3019 as3__switch_to_buffer(b);
3025 #line 710 "tokenizer.lex"
3028 #line 3029 "tokenizer.yy.c"
3030 case YY_END_OF_BUFFER:
3032 /* Amount of text matched not including the EOB char. */
3033 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
3035 /* Undo the effects of YY_DO_BEFORE_ACTION. */
3036 *yy_cp = (yy_hold_char);
3037 YY_RESTORE_YY_MORE_OFFSET
3039 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
3041 /* We're scanning a new file or input source. It's
3042 * possible that this happened because the user
3043 * just pointed as3_in at a new source and called
3044 * as3_lex(). If so, then we have to assure
3045 * consistency between YY_CURRENT_BUFFER and our
3046 * globals. Here is the right place to do so, because
3047 * this is the first action (other than possibly a
3048 * back-up) that will match for the new input source.
3050 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3051 YY_CURRENT_BUFFER_LVALUE->yy_input_file = as3_in;
3052 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
3055 /* Note that here we test for yy_c_buf_p "<=" to the position
3056 * of the first EOB in the buffer, since yy_c_buf_p will
3057 * already have been incremented past the NUL character
3058 * (since all states make transitions on EOB to the
3059 * end-of-buffer state). Contrast this with the test
3062 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3063 { /* This was really a NUL. */
3064 yy_state_type yy_next_state;
3066 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
3068 yy_current_state = yy_get_previous_state( );
3070 /* Okay, we're now positioned to make the NUL
3071 * transition. We couldn't have
3072 * yy_get_previous_state() go ahead and do it
3073 * for us because it doesn't know how to deal
3074 * with the possibility of jamming (and we don't
3075 * want to build jamming into it because then it
3076 * will run more slowly).
3079 yy_next_state = yy_try_NUL_trans( yy_current_state );
3081 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3083 if ( yy_next_state )
3085 /* Consume the NUL. */
3086 yy_cp = ++(yy_c_buf_p);
3087 yy_current_state = yy_next_state;
3093 yy_cp = (yy_last_accepting_cpos);
3094 yy_current_state = (yy_last_accepting_state);
3095 goto yy_find_action;
3099 else switch ( yy_get_next_buffer( ) )
3101 case EOB_ACT_END_OF_FILE:
3103 (yy_did_buffer_switch_on_eof) = 0;
3107 /* Note: because we've taken care in
3108 * yy_get_next_buffer() to have set up
3109 * as3_text, we can now set up
3110 * yy_c_buf_p so that if some total
3111 * hoser (like flex itself) wants to
3112 * call the scanner after we return the
3113 * YY_NULL, it'll still work - another
3114 * YY_NULL will get returned.
3116 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
3118 yy_act = YY_STATE_EOF(YY_START);
3124 if ( ! (yy_did_buffer_switch_on_eof) )
3130 case EOB_ACT_CONTINUE_SCAN:
3132 (yytext_ptr) + yy_amount_of_matched_text;
3134 yy_current_state = yy_get_previous_state( );
3136 yy_cp = (yy_c_buf_p);
3137 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3140 case EOB_ACT_LAST_MATCH:
3142 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
3144 yy_current_state = yy_get_previous_state( );
3146 yy_cp = (yy_c_buf_p);
3147 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3148 goto yy_find_action;
3155 "fatal flex scanner internal error--no action found" );
3156 } /* end of action switch */
3157 } /* end of scanning one token */
3158 } /* end of as3_lex */
3160 /* yy_get_next_buffer - try to read in a new buffer
3162 * Returns a code representing an action:
3163 * EOB_ACT_LAST_MATCH -
3164 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3165 * EOB_ACT_END_OF_FILE - end of file
3167 static int yy_get_next_buffer (void)
3169 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
3170 register char *source = (yytext_ptr);
3171 register int number_to_move, i;
3174 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
3176 "fatal flex scanner internal error--end of buffer missed" );
3178 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
3179 { /* Don't try to fill the buffer, so this is an EOF. */
3180 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
3182 /* We matched a single character, the EOB, so
3183 * treat this as a final EOF.
3185 return EOB_ACT_END_OF_FILE;
3190 /* We matched some text prior to the EOB, first
3193 return EOB_ACT_LAST_MATCH;
3197 /* Try to read more data. */
3199 /* First move last chars to start of buffer. */
3200 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
3202 for ( i = 0; i < number_to_move; ++i )
3203 *(dest++) = *(source++);
3205 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
3206 /* don't do the read, it's not guaranteed to return an EOF,
3209 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
3214 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
3216 while ( num_to_read <= 0 )
3217 { /* Not enough room in the buffer - grow it. */
3219 /* just a shorter name for the current buffer */
3220 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
3222 int yy_c_buf_p_offset =
3223 (int) ((yy_c_buf_p) - b->yy_ch_buf);
3225 if ( b->yy_is_our_buffer )
3227 int new_size = b->yy_buf_size * 2;
3229 if ( new_size <= 0 )
3230 b->yy_buf_size += b->yy_buf_size / 8;
3232 b->yy_buf_size *= 2;
3234 b->yy_ch_buf = (char *)
3235 /* Include room in for 2 EOB chars. */
3236 as3_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
3239 /* Can't grow it, we don't own it. */
3242 if ( ! b->yy_ch_buf )
3244 "fatal error - scanner input buffer overflow" );
3246 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
3248 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
3253 if ( num_to_read > YY_READ_BUF_SIZE )
3254 num_to_read = YY_READ_BUF_SIZE;
3256 /* Read in more data. */
3257 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
3258 (yy_n_chars), (size_t) num_to_read );
3260 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3263 if ( (yy_n_chars) == 0 )
3265 if ( number_to_move == YY_MORE_ADJ )
3267 ret_val = EOB_ACT_END_OF_FILE;
3268 as3_restart(as3_in );
3273 ret_val = EOB_ACT_LAST_MATCH;
3274 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
3275 YY_BUFFER_EOF_PENDING;
3280 ret_val = EOB_ACT_CONTINUE_SCAN;
3282 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
3283 /* Extend the array by 50%, plus the number we really need. */
3284 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
3285 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) as3_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
3286 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3287 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
3290 (yy_n_chars) += number_to_move;
3291 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
3292 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
3294 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
3299 /* yy_get_previous_state - get the state just before the EOB char was reached */
3301 static yy_state_type yy_get_previous_state (void)
3303 register yy_state_type yy_current_state;
3304 register char *yy_cp;
3306 yy_current_state = (yy_start);
3307 yy_current_state += YY_AT_BOL();
3309 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
3311 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3312 if ( yy_accept[yy_current_state] )
3314 (yy_last_accepting_state) = yy_current_state;
3315 (yy_last_accepting_cpos) = yy_cp;
3317 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3319 yy_current_state = (int) yy_def[yy_current_state];
3320 if ( yy_current_state >= 629 )
3321 yy_c = yy_meta[(unsigned int) yy_c];
3323 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3326 return yy_current_state;
3329 /* yy_try_NUL_trans - try to make a transition on the NUL character
3332 * next_state = yy_try_NUL_trans( current_state );
3334 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
3336 register int yy_is_jam;
3337 register char *yy_cp = (yy_c_buf_p);
3339 register YY_CHAR yy_c = 1;
3340 if ( yy_accept[yy_current_state] )
3342 (yy_last_accepting_state) = yy_current_state;
3343 (yy_last_accepting_cpos) = yy_cp;
3345 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3347 yy_current_state = (int) yy_def[yy_current_state];
3348 if ( yy_current_state >= 629 )
3349 yy_c = yy_meta[(unsigned int) yy_c];
3351 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3352 yy_is_jam = (yy_current_state == 628);
3354 return yy_is_jam ? 0 : yy_current_state;
3357 static void yyunput (int c, register char * yy_bp )
3359 register char *yy_cp;
3361 yy_cp = (yy_c_buf_p);
3363 /* undo effects of setting up as3_text */
3364 *yy_cp = (yy_hold_char);
3366 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
3367 { /* need to shift things up to make room */
3368 /* +2 for EOB chars. */
3369 register int number_to_move = (yy_n_chars) + 2;
3370 register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
3371 YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
3372 register char *source =
3373 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
3375 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3376 *--dest = *--source;
3378 yy_cp += (int) (dest - source);
3379 yy_bp += (int) (dest - source);
3380 YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
3381 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
3383 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
3384 YY_FATAL_ERROR( "flex scanner push-back overflow" );
3387 *--yy_cp = (char) c;
3389 (yytext_ptr) = yy_bp;
3390 (yy_hold_char) = *yy_cp;
3391 (yy_c_buf_p) = yy_cp;
3396 static int yyinput (void)
3398 static int input (void)
3404 *(yy_c_buf_p) = (yy_hold_char);
3406 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
3408 /* yy_c_buf_p now points to the character we want to return.
3409 * If this occurs *before* the EOB characters, then it's a
3410 * valid NUL; if not, then we've hit the end of the buffer.
3412 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3413 /* This was really a NUL. */
3414 *(yy_c_buf_p) = '\0';
3417 { /* need more input */
3418 int offset = (yy_c_buf_p) - (yytext_ptr);
3421 switch ( yy_get_next_buffer( ) )
3423 case EOB_ACT_LAST_MATCH:
3424 /* This happens because yy_g_n_b()
3425 * sees that we've accumulated a
3426 * token and flags that we need to
3427 * try matching the token before
3428 * proceeding. But for input(),
3429 * there's no matching to consider.
3430 * So convert the EOB_ACT_LAST_MATCH
3431 * to EOB_ACT_END_OF_FILE.
3434 /* Reset buffer status. */
3435 as3_restart(as3_in );
3439 case EOB_ACT_END_OF_FILE:
3444 if ( ! (yy_did_buffer_switch_on_eof) )
3453 case EOB_ACT_CONTINUE_SCAN:
3454 (yy_c_buf_p) = (yytext_ptr) + offset;
3460 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
3461 *(yy_c_buf_p) = '\0'; /* preserve as3_text */
3462 (yy_hold_char) = *++(yy_c_buf_p);
3464 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
3468 #endif /* ifndef YY_NO_INPUT */
3470 /** Immediately switch to a different input stream.
3471 * @param input_file A readable stream.
3473 * @note This function does not reset the start condition to @c INITIAL .
3475 void as3_restart (FILE * input_file )
3478 if ( ! YY_CURRENT_BUFFER ){
3479 as3_ensure_buffer_stack ();
3480 YY_CURRENT_BUFFER_LVALUE =
3481 as3__create_buffer(as3_in,YY_BUF_SIZE );
3484 as3__init_buffer(YY_CURRENT_BUFFER,input_file );
3485 as3__load_buffer_state( );
3488 /** Switch to a different input buffer.
3489 * @param new_buffer The new input buffer.
3492 void as3__switch_to_buffer (YY_BUFFER_STATE new_buffer )
3495 /* TODO. We should be able to replace this entire function body
3497 * as3_pop_buffer_state();
3498 * as3_push_buffer_state(new_buffer);
3500 as3_ensure_buffer_stack ();
3501 if ( YY_CURRENT_BUFFER == new_buffer )
3504 if ( YY_CURRENT_BUFFER )
3506 /* Flush out information for old buffer. */
3507 *(yy_c_buf_p) = (yy_hold_char);
3508 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3509 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3512 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3513 as3__load_buffer_state( );
3515 /* We don't actually know whether we did this switch during
3516 * EOF (as3_wrap()) processing, but the only time this flag
3517 * is looked at is after as3_wrap() is called, so it's safe
3518 * to go ahead and always set it.
3520 (yy_did_buffer_switch_on_eof) = 1;
3523 static void as3__load_buffer_state (void)
3525 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3526 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
3527 as3_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
3528 (yy_hold_char) = *(yy_c_buf_p);
3531 /** Allocate and initialize an input buffer state.
3532 * @param file A readable stream.
3533 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
3535 * @return the allocated buffer state.
3537 YY_BUFFER_STATE as3__create_buffer (FILE * file, int size )
3541 b = (YY_BUFFER_STATE) as3_alloc(sizeof( struct yy_buffer_state ) );
3543 YY_FATAL_ERROR( "out of dynamic memory in as3__create_buffer()" );
3545 b->yy_buf_size = size;
3547 /* yy_ch_buf has to be 2 characters longer than the size given because
3548 * we need to put in 2 end-of-buffer characters.
3550 b->yy_ch_buf = (char *) as3_alloc(b->yy_buf_size + 2 );
3551 if ( ! b->yy_ch_buf )
3552 YY_FATAL_ERROR( "out of dynamic memory in as3__create_buffer()" );
3554 b->yy_is_our_buffer = 1;
3556 as3__init_buffer(b,file );
3561 /** Destroy the buffer.
3562 * @param b a buffer created with as3__create_buffer()
3565 void as3__delete_buffer (YY_BUFFER_STATE b )
3571 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
3572 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
3574 if ( b->yy_is_our_buffer )
3575 as3_free((void *) b->yy_ch_buf );
3577 as3_free((void *) b );
3580 #ifndef _UNISTD_H /* assume unistd.h has isatty() for us */
3584 #ifdef __THROW /* this is a gnuism */
3585 extern int isatty (int ) __THROW;
3587 extern int isatty (int );
3594 /* Initializes or reinitializes a buffer.
3595 * This function is sometimes called more than once on the same buffer,
3596 * such as during a as3_restart() or at EOF.
3598 static void as3__init_buffer (YY_BUFFER_STATE b, FILE * file )
3603 as3__flush_buffer(b );
3605 b->yy_input_file = file;
3606 b->yy_fill_buffer = 1;
3608 /* If b is the current buffer, then as3__init_buffer was _probably_
3609 * called from as3_restart() or through yy_get_next_buffer.
3610 * In that case, we don't want to reset the lineno or column.
3612 if (b != YY_CURRENT_BUFFER){
3613 b->yy_bs_lineno = 1;
3614 b->yy_bs_column = 0;
3617 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
3622 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
3623 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
3626 void as3__flush_buffer (YY_BUFFER_STATE b )
3633 /* We always need two end-of-buffer characters. The first causes
3634 * a transition to the end-of-buffer state. The second causes
3635 * a jam in that state.
3637 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3638 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3640 b->yy_buf_pos = &b->yy_ch_buf[0];
3643 b->yy_buffer_status = YY_BUFFER_NEW;
3645 if ( b == YY_CURRENT_BUFFER )
3646 as3__load_buffer_state( );
3649 /** Pushes the new state onto the stack. The new state becomes
3650 * the current state. This function will allocate the stack
3652 * @param new_buffer The new state.
3655 void as3_push_buffer_state (YY_BUFFER_STATE new_buffer )
3657 if (new_buffer == NULL)
3660 as3_ensure_buffer_stack();
3662 /* This block is copied from as3__switch_to_buffer. */
3663 if ( YY_CURRENT_BUFFER )
3665 /* Flush out information for old buffer. */
3666 *(yy_c_buf_p) = (yy_hold_char);
3667 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3668 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3671 /* Only push if top exists. Otherwise, replace top. */
3672 if (YY_CURRENT_BUFFER)
3673 (yy_buffer_stack_top)++;
3674 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3676 /* copied from as3__switch_to_buffer. */
3677 as3__load_buffer_state( );
3678 (yy_did_buffer_switch_on_eof) = 1;
3681 /** Removes and deletes the top of the stack, if present.
3682 * The next element becomes the new top.
3685 void as3_pop_buffer_state (void)
3687 if (!YY_CURRENT_BUFFER)
3690 as3__delete_buffer(YY_CURRENT_BUFFER );
3691 YY_CURRENT_BUFFER_LVALUE = NULL;
3692 if ((yy_buffer_stack_top) > 0)
3693 --(yy_buffer_stack_top);
3695 if (YY_CURRENT_BUFFER) {
3696 as3__load_buffer_state( );
3697 (yy_did_buffer_switch_on_eof) = 1;
3701 /* Allocates the stack if it does not exist.
3702 * Guarantees space for at least one push.
3704 static void as3_ensure_buffer_stack (void)
3708 if (!(yy_buffer_stack)) {
3710 /* First allocation is just for 2 elements, since we don't know if this
3711 * scanner will even need a stack. We use 2 instead of 1 to avoid an
3712 * immediate realloc on the next call.
3715 (yy_buffer_stack) = (struct yy_buffer_state**)as3_alloc
3716 (num_to_alloc * sizeof(struct yy_buffer_state*)
3718 if ( ! (yy_buffer_stack) )
3719 YY_FATAL_ERROR( "out of dynamic memory in as3_ensure_buffer_stack()" );
3721 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
3723 (yy_buffer_stack_max) = num_to_alloc;
3724 (yy_buffer_stack_top) = 0;
3728 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
3730 /* Increase the buffer to prepare for a possible push. */
3731 int grow_size = 8 /* arbitrary grow size */;
3733 num_to_alloc = (yy_buffer_stack_max) + grow_size;
3734 (yy_buffer_stack) = (struct yy_buffer_state**)as3_realloc
3736 num_to_alloc * sizeof(struct yy_buffer_state*)
3738 if ( ! (yy_buffer_stack) )
3739 YY_FATAL_ERROR( "out of dynamic memory in as3_ensure_buffer_stack()" );
3741 /* zero only the new slots.*/
3742 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
3743 (yy_buffer_stack_max) = num_to_alloc;
3747 /** Setup the input buffer state to scan directly from a user-specified character buffer.
3748 * @param base the character buffer
3749 * @param size the size in bytes of the character buffer
3751 * @return the newly allocated buffer state object.
3753 YY_BUFFER_STATE as3__scan_buffer (char * base, yy_size_t size )
3758 base[size-2] != YY_END_OF_BUFFER_CHAR ||
3759 base[size-1] != YY_END_OF_BUFFER_CHAR )
3760 /* They forgot to leave room for the EOB's. */
3763 b = (YY_BUFFER_STATE) as3_alloc(sizeof( struct yy_buffer_state ) );
3765 YY_FATAL_ERROR( "out of dynamic memory in as3__scan_buffer()" );
3767 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
3768 b->yy_buf_pos = b->yy_ch_buf = base;
3769 b->yy_is_our_buffer = 0;
3770 b->yy_input_file = 0;
3771 b->yy_n_chars = b->yy_buf_size;
3772 b->yy_is_interactive = 0;
3774 b->yy_fill_buffer = 0;
3775 b->yy_buffer_status = YY_BUFFER_NEW;
3777 as3__switch_to_buffer(b );
3782 /** Setup the input buffer state to scan a string. The next call to as3_lex() will
3783 * scan from a @e copy of @a str.
3784 * @param yystr a NUL-terminated string to scan
3786 * @return the newly allocated buffer state object.
3787 * @note If you want to scan bytes that may contain NUL values, then use
3788 * as3__scan_bytes() instead.
3790 YY_BUFFER_STATE as3__scan_string (yyconst char * yystr )
3793 return as3__scan_bytes(yystr,strlen(yystr) );
3796 /** Setup the input buffer state to scan the given bytes. The next call to as3_lex() will
3797 * scan from a @e copy of @a bytes.
3798 * @param bytes the byte buffer to scan
3799 * @param len the number of bytes in the buffer pointed to by @a bytes.
3801 * @return the newly allocated buffer state object.
3803 YY_BUFFER_STATE as3__scan_bytes (yyconst char * yybytes, int _yybytes_len )
3810 /* Get memory for full buffer, including space for trailing EOB's. */
3811 n = _yybytes_len + 2;
3812 buf = (char *) as3_alloc(n );
3814 YY_FATAL_ERROR( "out of dynamic memory in as3__scan_bytes()" );
3816 for ( i = 0; i < _yybytes_len; ++i )
3817 buf[i] = yybytes[i];
3819 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
3821 b = as3__scan_buffer(buf,n );
3823 YY_FATAL_ERROR( "bad buffer in as3__scan_bytes()" );
3825 /* It's okay to grow etc. this buffer, and we should throw it
3826 * away when we're done.
3828 b->yy_is_our_buffer = 1;
3833 #ifndef YY_EXIT_FAILURE
3834 #define YY_EXIT_FAILURE 2
3837 static void yy_fatal_error (yyconst char* msg )
3839 (void) fprintf( stderr, "%s\n", msg );
3840 exit( YY_EXIT_FAILURE );
3843 /* Redefine yyless() so it works in section 3 code. */
3849 /* Undo effects of setting up as3_text. */ \
3850 int yyless_macro_arg = (n); \
3851 YY_LESS_LINENO(yyless_macro_arg);\
3852 as3_text[as3_leng] = (yy_hold_char); \
3853 (yy_c_buf_p) = as3_text + yyless_macro_arg; \
3854 (yy_hold_char) = *(yy_c_buf_p); \
3855 *(yy_c_buf_p) = '\0'; \
3856 as3_leng = yyless_macro_arg; \
3860 /* Accessor methods (get/set functions) to struct members. */
3862 /** Get the current line number.
3865 int as3_get_lineno (void)
3871 /** Get the input stream.
3874 FILE *as3_get_in (void)
3879 /** Get the output stream.
3882 FILE *as3_get_out (void)
3887 /** Get the length of the current token.
3890 int as3_get_leng (void)
3895 /** Get the current token.
3899 char *as3_get_text (void)
3904 /** Set the current line number.
3905 * @param line_number
3908 void as3_set_lineno (int line_number )
3911 as3_lineno = line_number;
3914 /** Set the input stream. This does not discard the current
3916 * @param in_str A readable stream.
3918 * @see as3__switch_to_buffer
3920 void as3_set_in (FILE * in_str )
3925 void as3_set_out (FILE * out_str )
3930 int as3_get_debug (void)
3932 return as3__flex_debug;
3935 void as3_set_debug (int bdebug )
3937 as3__flex_debug = bdebug ;
3940 static int yy_init_globals (void)
3942 /* Initialization is the same as for the non-reentrant scanner.
3943 * This function is called from as3_lex_destroy(), so don't allocate here.
3946 (yy_buffer_stack) = 0;
3947 (yy_buffer_stack_top) = 0;
3948 (yy_buffer_stack_max) = 0;
3949 (yy_c_buf_p) = (char *) 0;
3953 /* Defined in main.c */
3958 as3_in = (FILE *) 0;
3959 as3_out = (FILE *) 0;
3962 /* For future reference: Set errno on error, since we are called by
3968 /* as3_lex_destroy is for both reentrant and non-reentrant scanners. */
3969 int as3_lex_destroy (void)
3972 /* Pop the buffer stack, destroying each element. */
3973 while(YY_CURRENT_BUFFER){
3974 as3__delete_buffer(YY_CURRENT_BUFFER );
3975 YY_CURRENT_BUFFER_LVALUE = NULL;
3976 as3_pop_buffer_state();
3979 /* Destroy the stack itself. */
3980 as3_free((yy_buffer_stack) );
3981 (yy_buffer_stack) = NULL;
3983 /* Reset the globals. This is important in a non-reentrant scanner so the next time
3984 * as3_lex() is called, initialization will occur. */
3991 * Internal utility routines.
3995 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
3998 for ( i = 0; i < n; ++i )
4003 #ifdef YY_NEED_STRLEN
4004 static int yy_flex_strlen (yyconst char * s )
4007 for ( n = 0; s[n]; ++n )
4014 void *as3_alloc (yy_size_t size )
4016 return (void *) malloc( size );
4019 void *as3_realloc (void * ptr, yy_size_t size )
4021 /* The cast to (char *) in the following accommodates both
4022 * implementations that use char* generic pointers, and those
4023 * that use void* generic pointers. It works with the latter
4024 * because both ANSI C and C++ allow castless assignment from
4025 * any pointer type to void*, and deal with argument conversions
4026 * as though doing an assignment.
4028 return (void *) realloc( (char *) ptr, size );
4031 void as3_free (void * ptr )
4033 free( (char *) ptr ); /* see as3_realloc() for (char *) cast */
4036 #define YYTABLES_NAME "yytables"
4038 #line 710 "tokenizer.lex"
4047 static int tokenerror()
4049 char c1=as3_text[0];
4051 buf[0] = as3_text[0];
4053 for(t=1;t<128;t++) {
4054 char c = buf[t]=input();
4055 if(c=='\n' || c==EOF) {
4060 if(c1>='0' && c1<='9')
4061 syntaxerror("syntax error: %s (identifiers must not start with a digit)");
4063 syntaxerror("syntax error [%d]: %s", (yy_start-1)/2, buf);
4070 static char mbuf[256];
4071 char*token2string(enum yytokentype nr, YYSTYPE v)
4074 char*s = malloc(v.str.len+10);
4075 strcpy(s, "<string>");
4076 memcpy(s+8, v.str.str, v.str.len);
4077 sprintf(s+8+v.str.len, " (%d bytes)", v.str.len);
4080 else if(nr==T_REGEXP) {
4081 char*s = malloc(strlen(v.regexp.pattern)+10);
4082 sprintf(s, "<regexp>%s", v.regexp.pattern);
4085 else if(nr==T_IDENTIFIER) {
4086 char*s = malloc(strlen(v.id)+10);
4087 sprintf(s, "<ID>%s", v.id);
4090 else if(nr==T_INT) return "<int>";
4091 else if(nr==T_UINT) return "<uint>";
4092 else if(nr==T_FLOAT) return "<float>";
4093 else if(nr==T_EOF) return "***END***";
4094 else if(nr==T_GE) return ">=";
4095 else if(nr==T_LE) return "<=";
4096 else if(nr==T_MINUSMINUS) return "--";
4097 else if(nr==T_PLUSPLUS) return "++";
4098 else if(nr==KW_IMPLEMENTS) return "implements";
4099 else if(nr==KW_INTERFACE) return "interface";
4100 else if(nr==KW_NAMESPACE) return "namespace";
4101 else if(nr==KW_PROTECTED) return "protected";
4102 else if(nr==KW_OVERRIDE) return "override";
4103 else if(nr==KW_INTERNAL) return "internal";
4104 else if(nr==KW_FUNCTION) return "function";
4105 else if(nr==KW_PACKAGE) return "package";
4106 else if(nr==KW_PRIVATE) return "private";
4107 else if(nr==KW_BOOLEAN) return "Boolean";
4108 else if(nr==KW_DYNAMIC) return "dynamic";
4109 else if(nr==KW_EXTENDS) return "extends";
4110 else if(nr==KW_PUBLIC) return "public";
4111 else if(nr==KW_NATIVE) return "native";
4112 else if(nr==KW_STATIC) return "static";
4113 else if(nr==KW_IMPORT) return "import";
4114 else if(nr==KW_NUMBER) return "number";
4115 else if(nr==KW_CLASS) return "class";
4116 else if(nr==KW_CONST) return "const";
4117 else if(nr==KW_FINAL) return "final";
4118 else if(nr==KW_FALSE) return "False";
4119 else if(nr==KW_TRUE) return "True";
4120 else if(nr==KW_UINT) return "uint";
4121 else if(nr==KW_NULL) return "null";
4122 else if(nr==KW_ELSE) return "else";
4123 else if(nr==KW_USE) return "use";
4124 else if(nr==KW_INT) return "int";
4125 else if(nr==KW_NEW) return "new";
4126 else if(nr==KW_GET) return "get";
4127 else if(nr==KW_SET) return "set";
4128 else if(nr==KW_VAR) return "var";
4129 else if(nr==KW_IS) return "is";
4130 else if(nr==KW_AS) return "as";
4132 sprintf(mbuf, "%d", nr);
4137 void tokenizer_begin_xml()
4139 dbg("begin reading xml");
4142 void tokenizer_begin_xmltext()
4144 dbg("begin reading xml text");
4147 void tokenizer_end_xmltext()
4149 dbg("end reading xml text");
4152 void tokenizer_end_xml()
4154 dbg("end reading xml");
4158 void initialize_scanner()