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 126
383 #define YY_END_OF_BUFFER 127
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[617] =
393 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
394 0, 0, 127, 126, 29, 123, 126, 123, 123, 123,
395 126, 123, 124, 122, 123, 123, 70, 123, 126, 126,
396 126, 72, 123, 123, 123, 121, 121, 122, 123, 121,
397 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
398 121, 121, 121, 121, 121, 121, 27, 123, 122, 126,
399 121, 125, 29, 123, 125, 123, 123, 123, 125, 123,
400 124, 122, 123, 123, 70, 123, 125, 125, 125, 72,
401 123, 123, 123, 121, 121, 122, 123, 121, 121, 121,
402 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
404 121, 121, 121, 121, 26, 123, 122, 125, 121, 27,
405 123, 123, 70, 123, 125, 125, 125, 16, 16, 17,
406 18, 15, 15, 125, 125, 11, 10, 13, 12, 14,
407 46, 0, 6, 0, 121, 58, 44, 61, 0, 0,
408 59, 53, 54, 52, 56, 69, 0, 3, 0, 57,
409 32, 32, 0, 0, 0, 0, 71, 0, 65, 51,
410 49, 50, 67, 0, 121, 0, 121, 55, 120, 121,
411 121, 121, 121, 121, 41, 121, 121, 121, 121, 121,
412 121, 121, 121, 121, 119, 121, 118, 117, 121, 121,
413 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
415 121, 121, 121, 121, 121, 121, 121, 121, 121, 60,
416 45, 0, 118, 0, 0, 0, 0, 0, 3, 21,
417 57, 0, 24, 24, 0, 0, 0, 0, 16, 0,
418 0, 9, 0, 0, 0, 14, 47, 121, 68, 33,
419 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
420 0, 0, 63, 48, 62, 66, 0, 0, 0, 0,
421 0, 34, 121, 121, 121, 121, 121, 121, 121, 121,
422 121, 121, 121, 121, 121, 40, 121, 113, 121, 121,
423 121, 121, 121, 112, 121, 121, 121, 121, 121, 121,
424 121, 114, 121, 121, 121, 121, 121, 116, 121, 121,
426 111, 115, 121, 121, 121, 28, 121, 0, 24, 24,
427 0, 0, 25, 21, 0, 0, 0, 21, 0, 21,
428 21, 0, 0, 0, 0, 0, 0, 0, 0, 0,
429 0, 2, 0, 31, 0, 30, 30, 0, 0, 64,
430 0, 0, 0, 0, 121, 109, 121, 121, 121, 121,
431 121, 121, 121, 104, 108, 121, 121, 121, 121, 121,
432 121, 121, 121, 121, 121, 107, 121, 121, 121, 121,
433 121, 121, 121, 121, 121, 121, 106, 121, 121, 105,
434 121, 110, 121, 25, 0, 0, 0, 0, 21, 0,
435 21, 0, 0, 2, 0, 21, 21, 23, 0, 22,
437 22, 0, 0, 0, 0, 2, 35, 0, 37, 0,
438 0, 0, 102, 99, 97, 98, 121, 121, 121, 121,
439 121, 101, 100, 121, 121, 121, 121, 121, 121, 121,
440 121, 121, 121, 121, 121, 121, 121, 103, 121, 96,
441 121, 121, 42, 121, 23, 0, 22, 22, 0, 0,
442 2, 0, 21, 21, 0, 0, 0, 0, 0, 0,
443 36, 0, 0, 121, 121, 89, 121, 121, 121, 121,
444 121, 94, 121, 121, 121, 121, 92, 121, 121, 121,
445 121, 91, 90, 93, 43, 95, 121, 121, 21, 0,
446 0, 0, 0, 0, 0, 121, 84, 87, 88, 83,
448 121, 121, 121, 121, 121, 121, 121, 85, 86, 121,
449 121, 121, 21, 8, 19, 0, 0, 0, 38, 79,
450 82, 121, 121, 121, 81, 121, 80, 121, 121, 0,
451 0, 0, 39, 121, 121, 75, 76, 77, 78, 0,
452 0, 0, 0, 0, 0, 0, 74, 73, 0, 5,
453 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
454 0, 0, 5, 0, 0, 0, 0, 0, 0, 0,
455 0, 0, 4, 0, 0, 4, 0, 5, 0, 0,
456 0, 0, 0, 7, 0, 37, 5, 37, 37, 0,
457 0, 0, 20, 0, 7, 0, 36, 5, 36, 36,
459 0, 0, 20, 0, 0, 0, 0, 38, 5, 38,
463 static yyconst flex_int32_t yy_ec[256] =
465 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
466 1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
467 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
468 1, 5, 6, 7, 8, 9, 10, 11, 12, 13,
469 14, 15, 16, 13, 17, 18, 19, 20, 21, 21,
470 22, 21, 21, 21, 21, 21, 21, 23, 13, 24,
471 25, 26, 13, 13, 27, 28, 29, 30, 28, 28,
472 28, 28, 28, 28, 28, 28, 28, 31, 28, 28,
473 28, 28, 28, 32, 28, 28, 28, 28, 28, 28,
474 33, 34, 35, 36, 37, 8, 38, 39, 40, 41,
476 42, 43, 44, 45, 46, 28, 47, 48, 49, 50,
477 51, 52, 28, 53, 54, 55, 56, 57, 58, 59,
478 60, 28, 61, 62, 63, 13, 8, 8, 8, 8,
479 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
480 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
481 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
482 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
483 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
484 8, 8, 8, 8, 8, 8, 64, 8, 8, 8,
485 65, 8, 8, 8, 8, 8, 8, 8, 8, 8,
487 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
488 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
489 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
490 8, 8, 8, 8, 8, 8, 8, 8, 66, 8,
491 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
495 static yyconst flex_int32_t yy_meta[67] =
497 1, 2, 3, 2, 2, 4, 4, 4, 4, 4,
498 4, 4, 4, 4, 4, 4, 4, 5, 4, 6,
499 6, 6, 2, 7, 4, 7, 8, 8, 8, 8,
500 8, 8, 4, 9, 4, 4, 10, 8, 8, 8,
501 8, 11, 8, 8, 8, 8, 8, 8, 8, 8,
502 8, 8, 8, 8, 8, 8, 8, 8, 12, 8,
506 static yyconst flex_int16_t yy_base[658] =
508 0, 1116, 66, 1104, 1076, 87, 118, 125, 146, 149,
509 186, 0, 1116, 3306, 3306, 1089, 143, 0, 1088, 140,
510 142, 3306, 3306, 1087, 137, 138, 138, 142, 235, 240,
511 245, 1087, 158, 1082, 143, 266, 270, 3306, 1056, 298,
512 307, 311, 280, 285, 240, 287, 307, 325, 269, 326,
513 327, 342, 351, 365, 303, 372, 3306, 265, 3306, 1016,
514 383, 3306, 3306, 1054, 247, 0, 1005, 155, 271, 3306,
515 3306, 1002, 420, 426, 350, 434, 365, 434, 442, 969,
516 318, 966, 159, 357, 374, 3306, 965, 419, 427, 0,
517 439, 423, 454, 456, 465, 479, 474, 485, 486, 501,
519 502, 494, 458, 520, 3306, 270, 3306, 924, 526, 3306,
520 260, 267, 561, 464, 566, 571, 576, 0, 0, 981,
521 3306, 3306, 3306, 272, 285, 3306, 3306, 3306, 3306, 0,
522 924, 332, 3306, 937, 0, 3306, 3306, 3306, 380, 936,
523 3306, 3306, 3306, 3306, 3306, 915, 408, 600, 343, 3306,
524 3306, 585, 602, 589, 906, 862, 3306, 867, 870, 3306,
525 866, 3306, 460, 629, 522, 634, 609, 3306, 603, 607,
526 608, 628, 630, 646, 634, 645, 660, 653, 661, 667,
527 672, 676, 683, 687, 688, 692, 699, 707, 708, 713,
528 714, 728, 729, 735, 736, 734, 740, 752, 754, 761,
530 760, 766, 772, 777, 789, 781, 795, 801, 800, 3306,
531 3306, 817, 816, 649, 839, 854, 857, 372, 882, 914,
532 375, 492, 3306, 867, 872, 882, 862, 247, 0, 320,
533 432, 3306, 870, 457, 866, 0, 3306, 0, 3306, 3306,
534 904, 919, 974, 849, 596, 3306, 890, 905, 993, 1059,
535 845, 833, 3306, 3306, 3306, 833, 1085, 799, 794, 784,
536 791, 815, 900, 1055, 1060, 1048, 1079, 1053, 1067, 1081,
537 1093, 1098, 1109, 1104, 1097, 1115, 1116, 1121, 1123, 1127,
538 1135, 1142, 1141, 1143, 1147, 1158, 1165, 1166, 1167, 1159,
539 1181, 1182, 1183, 1197, 1198, 1203, 1214, 1209, 1221, 1226,
541 1228, 1232, 1237, 1233, 1244, 3306, 1248, 908, 3306, 1280,
542 915, 798, 3306, 0, 1302, 1308, 1328, 782, 1336, 0,
543 1352, 1293, 1304, 1412, 1478, 780, 779, 765, 159, 1357,
544 1504, 774, 1514, 3306, 0, 3306, 0, 715, 730, 3306,
545 0, 696, 702, 671, 1306, 1318, 1483, 1484, 1498, 1327,
546 1499, 1510, 1461, 1326, 1516, 1518, 1532, 1524, 1533, 1544,
547 1525, 1539, 1551, 1555, 1559, 1560, 1567, 1574, 1575, 1579,
548 1586, 1590, 1598, 1597, 1591, 1609, 1613, 1614, 1615, 1621,
549 1632, 1630, 1637, 3306, 1634, 1669, 1711, 1777, 0, 1796,
550 1843, 1803, 1909, 694, 1914, 1948, 0, 3306, 0, 3306,
552 0, 689, 686, 672, 1919, 3306, 3306, 663, 3306, 0,
553 632, 638, 1644, 1646, 1648, 1776, 1778, 1783, 1888, 1889,
554 1977, 1785, 1893, 1978, 1982, 1984, 1996, 2000, 1894, 2007,
555 2014, 2015, 2016, 2030, 2034, 2038, 2039, 1989, 2046, 2045,
556 2057, 2061, 2063, 2065, 3306, 0, 3306, 0, 2116, 2121,
557 0, 2126, 0, 0, 650, 471, 636, 503, 623, 611,
558 3306, 602, 586, 2095, 2101, 2096, 2119, 2110, 2115, 2130,
559 2131, 2136, 2145, 2138, 2150, 2152, 2154, 2156, 2168, 2170,
560 2175, 2176, 2177, 2184, 2191, 2193, 2195, 2209, 597, 537,
561 595, 582, 568, 540, 0, 2210, 2202, 2211, 2216, 2217,
563 2225, 2231, 2232, 2246, 2239, 2251, 2250, 2255, 2257, 2262,
564 2269, 2319, 553, 3306, 3306, 540, 528, 0, 3306, 2277,
565 2278, 2289, 2294, 2301, 2300, 2308, 2315, 2317, 2323, 2373,
566 513, 483, 3306, 2335, 2344, 2343, 2350, 2352, 2359, 977,
567 544, 2410, 2414, 437, 423, 400, 2382, 2383, 981, 1197,
568 1222, 1522, 583, 1698, 424, 614, 2424, 2436, 2448, 1702,
569 2460, 2471, 2476, 2481, 2485, 2489, 2493, 2497, 366, 353,
570 638, 2331, 2501, 345, 2505, 2541, 2545, 2550, 2584, 2561,
571 2565, 2569, 639, 3306, 693, 2554, 2573, 2577, 2619, 2650,
572 2623, 2629, 3306, 706, 224, 795, 2633, 2637, 2677, 2685,
574 2689, 2693, 146, 809, 2697, 2742, 2808, 2701, 2705, 2715,
575 2719, 2723, 2728, 2734, 2767, 3306, 2874, 2886, 2891, 2903,
576 2915, 2926, 2938, 2950, 2962, 2974, 2986, 2993, 3000, 3012,
577 3023, 3035, 3043, 3055, 3067, 3078, 3086, 3098, 3110, 3117,
578 3122, 3134, 3146, 3158, 3165, 3177, 3189, 3201, 3208, 3215,
579 3222, 3234, 3245, 3257, 3269, 3281, 3293
582 static yyconst flex_int16_t yy_def[658] =
584 616, 1, 616, 3, 3, 3, 3, 3, 617, 617,
585 616, 11, 616, 616, 616, 616, 618, 619, 616, 616,
586 620, 616, 616, 616, 616, 616, 616, 616, 621, 621,
587 621, 616, 616, 616, 616, 622, 622, 616, 616, 622,
588 622, 622, 42, 42, 42, 42, 42, 42, 42, 42,
589 42, 42, 42, 42, 42, 42, 616, 616, 616, 616,
590 42, 616, 616, 616, 618, 619, 616, 616, 620, 616,
591 616, 616, 616, 616, 616, 623, 624, 624, 624, 616,
592 616, 616, 616, 42, 42, 616, 616, 42, 42, 42,
593 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
595 42, 42, 42, 42, 616, 616, 616, 616, 42, 616,
596 616, 616, 616, 616, 621, 621, 621, 625, 625, 616,
597 616, 616, 616, 626, 627, 616, 616, 616, 616, 628,
598 616, 618, 616, 618, 629, 616, 616, 616, 620, 620,
599 616, 616, 616, 616, 616, 616, 630, 631, 632, 616,
600 616, 630, 621, 616, 633, 616, 616, 616, 616, 616,
601 616, 616, 616, 616, 42, 616, 42, 616, 42, 42,
602 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
603 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
604 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
606 42, 42, 42, 42, 42, 42, 42, 42, 42, 616,
607 616, 616, 42, 616, 634, 634, 635, 623, 636, 632,
608 623, 623, 616, 635, 624, 616, 637, 616, 625, 616,
609 626, 616, 626, 627, 627, 628, 616, 629, 616, 616,
610 631, 631, 638, 616, 632, 616, 630, 630, 616, 633,
611 616, 616, 616, 616, 616, 616, 616, 616, 616, 616,
612 616, 42, 42, 42, 42, 42, 42, 42, 42, 42,
613 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
614 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
615 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
617 42, 42, 42, 42, 42, 616, 42, 639, 616, 639,
618 616, 640, 616, 641, 636, 636, 642, 641, 636, 220,
619 623, 635, 635, 616, 637, 616, 616, 616, 643, 631,
620 638, 616, 631, 616, 249, 616, 249, 616, 616, 616,
621 644, 616, 616, 616, 42, 42, 42, 42, 42, 42,
622 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
623 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
624 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
625 42, 42, 42, 616, 639, 639, 616, 640, 641, 645,
626 616, 636, 642, 641, 636, 616, 321, 616, 324, 616,
628 324, 646, 647, 616, 631, 616, 616, 616, 616, 648,
629 616, 616, 42, 42, 42, 42, 42, 42, 42, 42,
630 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
631 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
632 42, 42, 42, 42, 616, 387, 616, 387, 636, 636,
633 641, 636, 391, 396, 646, 646, 647, 647, 616, 616,
634 616, 616, 616, 42, 42, 42, 42, 42, 42, 42,
635 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
636 42, 42, 42, 42, 42, 42, 42, 42, 321, 646,
637 647, 616, 616, 616, 649, 42, 42, 42, 42, 42,
639 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
640 42, 42, 391, 616, 616, 616, 616, 650, 616, 42,
641 42, 42, 42, 42, 42, 42, 42, 42, 42, 651,
642 616, 652, 616, 42, 42, 42, 42, 42, 42, 653,
643 654, 655, 653, 656, 652, 652, 42, 42, 616, 616,
644 653, 653, 654, 616, 654, 657, 657, 655, 655, 653,
645 655, 616, 616, 653, 653, 653, 653, 653, 656, 656,
646 652, 616, 616, 657, 616, 616, 653, 657, 653, 653,
647 653, 653, 656, 616, 652, 616, 616, 653, 653, 653,
648 653, 653, 616, 656, 652, 652, 616, 616, 653, 653,
650 653, 653, 656, 656, 653, 653, 653, 616, 616, 653,
651 653, 616, 616, 653, 653, 0, 616, 616, 616, 616,
652 616, 616, 616, 616, 616, 616, 616, 616, 616, 616,
653 616, 616, 616, 616, 616, 616, 616, 616, 616, 616,
654 616, 616, 616, 616, 616, 616, 616, 616, 616, 616,
655 616, 616, 616, 616, 616, 616, 616
658 static yyconst flex_int16_t yy_nxt[3373] =
660 14, 15, 15, 15, 15, 16, 17, 14, 18, 19,
661 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
662 30, 31, 32, 33, 34, 35, 36, 36, 36, 36,
663 37, 36, 22, 14, 38, 39, 36, 40, 41, 42,
664 43, 44, 45, 46, 36, 47, 36, 36, 36, 48,
665 49, 50, 51, 52, 53, 54, 55, 56, 36, 36,
666 57, 58, 59, 14, 14, 60, 62, 63, 15, 63,
667 63, 64, 65, 62, 66, 67, 68, 69, 70, 71,
668 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
669 82, 83, 84, 84, 84, 84, 85, 84, 70, 62,
671 86, 87, 84, 88, 89, 90, 91, 92, 93, 94,
672 84, 95, 84, 84, 84, 96, 97, 98, 99, 100,
673 101, 102, 103, 104, 84, 84, 105, 106, 107, 62,
674 62, 108, 109, 111, 112, 113, 114, 115, 116, 117,
675 111, 112, 113, 114, 115, 116, 117, 110, 119, 133,
676 137, 119, 142, 133, 144, 146, 148, 147, 147, 147,
677 149, 143, 145, 158, 138, 137, 150, 162, 163, 120,
678 109, 121, 120, 405, 121, 140, 134, 406, 110, 138,
679 570, 159, 160, 162, 163, 110, 62, 122, 123, 122,
680 122, 62, 124, 62, 62, 62, 62, 125, 62, 62,
682 62, 62, 62, 62, 126, 62, 62, 62, 62, 127,
683 128, 129, 130, 130, 130, 130, 130, 130, 62, 62,
684 62, 62, 130, 130, 130, 130, 130, 130, 130, 130,
685 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
686 130, 130, 130, 130, 130, 130, 62, 62, 62, 62,
687 62, 62, 152, 133, 153, 153, 153, 152, 546, 153,
688 153, 153, 152, 326, 153, 153, 153, 164, 164, 164,
689 164, 164, 164, 164, 164, 142, 154, 180, 232, 252,
690 134, 154, 133, 144, 143, 181, 154, 165, 166, 210,
691 182, 145, 166, 155, 210, 183, 232, 156, 616, 164,
693 164, 164, 164, 616, 140, 233, 165, 167, 164, 164,
694 164, 164, 164, 164, 164, 164, 165, 165, 235, 165,
695 166, 174, 177, 228, 165, 192, 211, 165, 184, 166,
696 175, 211, 178, 166, 165, 165, 327, 165, 133, 176,
697 206, 159, 160, 179, 165, 246, 246, 556, 171, 185,
698 165, 169, 328, 207, 165, 186, 187, 165, 172, 170,
699 188, 173, 189, 193, 165, 134, 190, 146, 196, 217,
700 217, 217, 165, 165, 165, 165, 165, 165, 194, 165,
701 191, 195, 224, 197, 225, 225, 225, 583, 165, 165,
702 314, 133, 165, 314, 165, 201, 198, 199, 165, 200,
704 570, 165, 165, 202, 165, 222, 226, 165, 222, 165,
705 203, 167, 165, 140, 204, 165, 208, 209, 205, 165,
706 165, 165, 165, 227, 165, 185, 553, 147, 147, 147,
707 165, 186, 213, 165, 571, 142, 188, 214, 232, 215,
708 216, 216, 144, 214, 143, 215, 216, 216, 219, 154,
709 145, 224, 220, 225, 225, 225, 165, 546, 221, 224,
710 177, 225, 225, 225, 165, 233, 165, 222, 232, 165,
711 178, 570, 169, 165, 165, 226, 165, 165, 148, 170,
712 174, 179, 149, 226, 255, 256, 165, 490, 150, 175,
713 235, 180, 616, 165, 156, 206, 616, 184, 176, 181,
715 616, 165, 165, 165, 182, 165, 165, 185, 207, 183,
716 321, 165, 165, 186, 187, 165, 189, 546, 188, 491,
717 190, 165, 193, 165, 165, 222, 165, 196, 616, 165,
718 192, 165, 165, 165, 191, 165, 165, 194, 165, 165,
719 195, 165, 197, 204, 165, 544, 201, 205, 165, 165,
720 554, 165, 165, 490, 202, 198, 199, 165, 200, 165,
721 532, 203, 514, 165, 208, 209, 531, 165, 185, 165,
722 165, 244, 165, 165, 186, 213, 165, 555, 146, 188,
723 147, 147, 147, 152, 518, 153, 153, 153, 152, 554,
724 153, 153, 153, 152, 517, 153, 153, 153, 246, 246,
726 241, 241, 241, 241, 247, 247, 247, 154, 248, 248,
727 248, 491, 154, 516, 243, 513, 555, 154, 244, 152,
728 515, 153, 153, 153, 155, 554, 154, 495, 156, 616,
729 164, 164, 164, 164, 616, 257, 257, 257, 257, 262,
730 165, 494, 493, 154, 165, 165, 165, 574, 263, 492,
731 165, 166, 458, 165, 165, 165, 165, 165, 165, 165,
732 616, 264, 265, 584, 593, 266, 456, 165, 308, 308,
733 308, 165, 585, 594, 258, 165, 259, 165, 165, 267,
734 165, 165, 165, 165, 165, 463, 462, 260, 268, 460,
735 165, 261, 165, 269, 270, 165, 165, 165, 165, 271,
737 165, 459, 458, 165, 165, 456, 272, 165, 165, 165,
738 165, 165, 333, 165, 274, 273, 412, 165, 595, 165,
739 165, 275, 165, 165, 165, 165, 165, 596, 276, 165,
740 165, 603, 277, 165, 165, 165, 165, 165, 165, 165,
741 604, 278, 165, 279, 165, 165, 165, 411, 410, 165,
742 165, 165, 280, 281, 165, 165, 282, 165, 165, 408,
743 165, 285, 283, 165, 165, 165, 165, 407, 287, 286,
744 284, 165, 165, 165, 290, 165, 165, 165, 165, 165,
745 288, 165, 165, 165, 165, 289, 165, 165, 291, 293,
746 165, 165, 333, 404, 292, 403, 402, 165, 165, 165,
748 333, 165, 165, 165, 165, 294, 295, 165, 165, 165,
749 165, 165, 296, 165, 165, 387, 165, 300, 165, 165,
750 595, 297, 165, 299, 165, 298, 165, 165, 165, 571,
751 301, 165, 165, 302, 603, 344, 165, 165, 165, 165,
752 303, 343, 165, 583, 342, 165, 304, 165, 165, 341,
753 165, 165, 165, 165, 305, 307, 310, 340, 216, 216,
754 216, 339, 165, 165, 338, 165, 165, 333, 234, 280,
755 281, 310, 231, 216, 216, 216, 217, 217, 217, 324,
756 311, 306, 315, 315, 241, 315, 322, 322, 322, 224,
757 254, 225, 225, 225, 253, 311, 317, 312, 226, 252,
759 318, 323, 323, 323, 241, 241, 241, 241, 226, 247,
760 247, 247, 616, 226, 251, 319, 246, 246, 329, 241,
761 241, 241, 241, 249, 248, 248, 248, 308, 308, 308,
762 616, 154, 239, 329, 386, 386, 386, 345, 139, 132,
763 320, 320, 320, 320, 320, 320, 616, 165, 237, 311,
764 165, 320, 320, 320, 320, 320, 320, 320, 320, 320,
765 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
766 320, 320, 320, 320, 330, 330, 330, 330, 549, 550,
767 549, 551, 549, 550, 549, 549, 230, 212, 331, 168,
768 161, 157, 332, 334, 334, 334, 334, 334, 334, 334,
770 334, 334, 334, 334, 334, 334, 334, 334, 334, 334,
771 334, 334, 335, 335, 335, 334, 334, 334, 334, 335,
772 335, 335, 335, 335, 335, 334, 141, 334, 334, 136,
773 335, 335, 335, 335, 335, 335, 335, 335, 335, 335,
774 335, 335, 335, 335, 335, 335, 335, 335, 335, 335,
775 335, 335, 335, 334, 334, 334, 334, 334, 334, 336,
776 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
777 336, 336, 336, 336, 336, 336, 337, 336, 131, 212,
778 168, 336, 336, 336, 336, 165, 257, 257, 257, 257,
779 351, 336, 165, 336, 336, 165, 346, 165, 165, 347,
781 165, 348, 165, 165, 165, 165, 161, 165, 352, 157,
782 165, 141, 136, 131, 165, 616, 165, 165, 353, 336,
783 336, 336, 336, 336, 336, 258, 165, 259, 165, 165,
784 165, 165, 349, 350, 358, 165, 110, 354, 260, 355,
785 165, 165, 261, 165, 165, 165, 165, 165, 165, 109,
786 356, 165, 165, 165, 165, 359, 165, 357, 165, 165,
787 165, 61, 165, 165, 165, 165, 165, 616, 165, 616,
788 360, 165, 165, 361, 165, 616, 363, 165, 165, 165,
789 165, 362, 165, 364, 165, 165, 365, 616, 165, 165,
790 165, 165, 165, 165, 366, 165, 165, 165, 549, 550,
792 549, 549, 165, 165, 165, 165, 371, 616, 165, 165,
793 367, 368, 165, 165, 165, 165, 165, 165, 165, 165,
794 165, 370, 369, 549, 550, 549, 551, 616, 165, 165,
795 165, 165, 165, 165, 165, 165, 372, 373, 374, 616,
796 165, 616, 616, 616, 165, 165, 165, 165, 165, 616,
797 165, 165, 375, 376, 616, 377, 165, 616, 165, 165,
798 616, 165, 378, 165, 165, 165, 616, 379, 165, 165,
799 165, 165, 616, 165, 165, 165, 165, 380, 165, 165,
800 381, 165, 165, 165, 165, 165, 616, 165, 382, 616,
801 616, 165, 616, 616, 165, 383, 616, 616, 165, 385,
803 385, 385, 315, 315, 241, 315, 616, 616, 315, 315,
804 241, 315, 322, 322, 322, 616, 390, 616, 616, 616,
805 391, 311, 390, 323, 323, 323, 391, 616, 392, 392,
806 330, 392, 616, 616, 226, 319, 315, 315, 241, 315,
807 616, 319, 393, 165, 616, 616, 394, 616, 616, 616,
808 390, 616, 413, 165, 396, 165, 165, 241, 241, 241,
809 241, 395, 616, 165, 165, 165, 616, 616, 165, 319,
810 314, 329, 417, 165, 165, 616, 165, 165, 397, 397,
811 397, 397, 397, 397, 616, 222, 616, 616, 616, 397,
812 397, 397, 397, 397, 397, 397, 397, 397, 397, 397,
814 397, 397, 397, 397, 397, 397, 397, 397, 397, 397,
815 397, 397, 398, 398, 398, 398, 398, 398, 398, 398,
816 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
817 398, 399, 399, 399, 398, 398, 398, 398, 399, 399,
818 399, 399, 399, 399, 398, 616, 398, 398, 616, 399,
819 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
820 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
821 399, 399, 398, 398, 398, 398, 398, 398, 400, 400,
822 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
823 400, 400, 400, 400, 400, 401, 400, 616, 165, 616,
825 400, 400, 400, 400, 330, 330, 330, 330, 165, 420,
826 400, 165, 400, 400, 241, 241, 241, 241, 331, 616,
827 165, 165, 332, 549, 550, 549, 551, 414, 329, 616,
828 165, 165, 244, 165, 165, 165, 165, 415, 400, 400,
829 400, 400, 400, 400, 616, 165, 165, 165, 165, 165,
830 616, 616, 416, 165, 418, 165, 616, 165, 616, 616,
831 165, 165, 165, 165, 419, 165, 165, 421, 165, 165,
832 165, 423, 165, 422, 165, 165, 427, 426, 616, 165,
833 165, 165, 165, 165, 616, 425, 165, 424, 165, 165,
834 616, 165, 165, 616, 165, 616, 165, 165, 165, 616,
836 616, 165, 165, 428, 165, 165, 165, 165, 429, 165,
837 165, 432, 433, 616, 165, 430, 165, 165, 616, 431,
838 434, 165, 165, 165, 165, 165, 165, 165, 165, 165,
839 439, 435, 616, 165, 165, 165, 165, 165, 165, 616,
840 165, 165, 436, 437, 165, 165, 165, 165, 165, 438,
841 165, 165, 165, 385, 385, 385, 165, 442, 165, 165,
842 165, 165, 165, 165, 441, 165, 440, 165, 165, 165,
843 616, 165, 616, 443, 165, 311, 616, 165, 616, 165,
844 165, 165, 165, 165, 165, 165, 616, 165, 386, 386,
845 386, 165, 444, 165, 165, 165, 165, 616, 165, 572,
847 573, 572, 572, 575, 576, 575, 577, 616, 616, 616,
848 616, 445, 445, 445, 445, 445, 445, 445, 445, 445,
849 445, 445, 445, 445, 445, 445, 445, 445, 445, 445,
850 446, 446, 446, 445, 445, 445, 445, 446, 446, 446,
851 446, 446, 446, 445, 616, 445, 445, 616, 446, 446,
852 446, 446, 446, 446, 446, 446, 446, 446, 446, 446,
853 446, 446, 446, 446, 446, 446, 446, 446, 446, 446,
854 446, 445, 445, 445, 445, 445, 445, 447, 447, 447,
855 447, 447, 447, 447, 447, 447, 447, 447, 447, 447,
856 447, 447, 447, 447, 448, 447, 616, 616, 333, 447,
858 447, 447, 447, 315, 315, 241, 315, 616, 616, 447,
859 450, 447, 447, 165, 451, 165, 616, 390, 616, 616,
860 165, 391, 165, 165, 616, 165, 165, 464, 165, 452,
861 465, 616, 165, 165, 616, 165, 319, 447, 447, 447,
862 447, 447, 447, 241, 241, 241, 241, 242, 242, 242,
863 242, 242, 242, 242, 242, 242, 242, 329, 242, 242,
864 242, 242, 242, 242, 242, 242, 242, 242, 242, 453,
865 453, 453, 453, 453, 453, 242, 242, 242, 242, 242,
866 453, 453, 453, 453, 453, 453, 453, 453, 453, 453,
867 453, 453, 453, 453, 453, 453, 453, 453, 453, 453,
869 453, 453, 453, 242, 242, 242, 242, 242, 242, 392,
870 392, 330, 392, 616, 315, 315, 241, 315, 616, 241,
871 241, 241, 241, 393, 616, 165, 165, 394, 390, 466,
872 165, 165, 396, 329, 467, 165, 165, 332, 165, 165,
873 469, 165, 395, 165, 165, 476, 616, 319, 315, 315,
874 241, 315, 316, 316, 316, 316, 316, 316, 316, 316,
875 316, 316, 390, 316, 316, 316, 391, 316, 316, 316,
876 316, 316, 316, 316, 454, 454, 454, 454, 454, 454,
877 316, 319, 316, 316, 316, 454, 454, 454, 454, 454,
878 454, 454, 454, 454, 454, 454, 454, 454, 454, 454,
880 454, 454, 454, 454, 454, 454, 454, 454, 316, 316,
881 316, 316, 316, 316, 165, 165, 616, 468, 616, 165,
882 616, 165, 616, 470, 165, 165, 165, 165, 165, 165,
883 471, 165, 165, 165, 165, 616, 165, 165, 472, 165,
884 616, 616, 474, 165, 165, 473, 165, 165, 477, 475,
885 165, 165, 165, 165, 165, 616, 616, 165, 479, 478,
886 616, 165, 165, 165, 165, 165, 165, 165, 616, 481,
887 480, 165, 616, 482, 616, 165, 165, 165, 484, 616,
888 165, 165, 165, 165, 165, 165, 165, 483, 165, 165,
889 485, 616, 165, 165, 165, 165, 165, 616, 165, 486,
891 165, 616, 165, 616, 165, 488, 487, 165, 165, 616,
892 165, 165, 165, 165, 616, 165, 315, 315, 241, 315,
893 616, 315, 315, 241, 315, 616, 315, 315, 241, 315,
894 390, 616, 165, 165, 318, 390, 616, 616, 165, 394,
895 390, 616, 165, 165, 489, 165, 165, 165, 165, 319,
896 496, 165, 165, 616, 319, 497, 165, 165, 498, 319,
897 165, 616, 165, 499, 616, 165, 165, 165, 165, 165,
898 616, 616, 502, 165, 500, 504, 616, 165, 165, 616,
899 501, 165, 165, 165, 503, 165, 165, 505, 165, 506,
900 616, 165, 165, 165, 616, 165, 507, 165, 616, 165,
902 165, 165, 165, 165, 165, 165, 165, 165, 616, 508,
903 616, 509, 165, 165, 165, 165, 616, 165, 165, 616,
904 165, 165, 165, 165, 165, 165, 165, 165, 165, 510,
905 165, 165, 165, 616, 165, 616, 616, 616, 165, 165,
906 165, 165, 165, 165, 511, 165, 165, 165, 165, 165,
907 512, 520, 165, 165, 165, 616, 165, 165, 165, 165,
908 165, 165, 165, 165, 165, 616, 165, 165, 165, 165,
909 616, 616, 165, 523, 521, 165, 165, 616, 165, 165,
910 522, 165, 165, 165, 616, 524, 525, 165, 165, 165,
911 526, 527, 165, 165, 165, 616, 165, 165, 165, 165,
913 165, 165, 165, 528, 165, 165, 165, 165, 616, 165,
914 529, 616, 165, 616, 165, 165, 165, 616, 616, 165,
915 530, 530, 530, 530, 165, 165, 165, 165, 165, 616,
916 616, 165, 572, 573, 572, 572, 165, 165, 165, 165,
917 616, 165, 536, 534, 535, 165, 616, 165, 165, 537,
918 165, 165, 165, 616, 165, 165, 165, 538, 165, 616,
919 165, 616, 165, 539, 165, 165, 165, 165, 616, 165,
920 165, 616, 165, 165, 530, 530, 530, 530, 616, 541,
921 165, 165, 165, 616, 542, 165, 548, 165, 547, 165,
922 165, 165, 616, 165, 165, 543, 165, 165, 616, 165,
924 165, 616, 165, 616, 616, 616, 165, 616, 616, 165,
925 556, 557, 550, 557, 558, 562, 563, 562, 564, 165,
926 165, 560, 616, 616, 616, 557, 550, 557, 557, 165,
927 165, 616, 165, 165, 616, 554, 556, 557, 550, 557,
928 558, 616, 616, 561, 616, 616, 616, 560, 556, 557,
929 550, 557, 558, 616, 565, 616, 566, 574, 616, 560,
930 556, 557, 578, 557, 558, 616, 616, 567, 616, 561,
931 616, 568, 562, 563, 562, 562, 616, 562, 563, 562,
932 562, 561, 562, 563, 562, 564, 549, 550, 549, 551,
933 549, 550, 549, 551, 549, 550, 549, 551, 549, 550,
935 549, 551, 572, 573, 572, 572, 575, 576, 575, 575,
936 616, 258, 616, 259, 616, 616, 258, 616, 259, 616,
937 616, 565, 616, 566, 260, 616, 616, 616, 261, 260,
938 616, 616, 616, 261, 567, 579, 616, 616, 568, 580,
939 616, 582, 575, 576, 575, 575, 575, 576, 575, 577,
940 581, 557, 550, 557, 557, 549, 550, 549, 549, 616,
941 616, 554, 549, 550, 549, 551, 549, 550, 549, 551,
942 549, 550, 549, 551, 549, 550, 549, 549, 549, 550,
943 549, 551, 616, 574, 409, 586, 587, 586, 588, 589,
944 589, 589, 589, 589, 589, 589, 589, 589, 589, 589,
946 589, 589, 589, 616, 616, 616, 589, 589, 589, 589,
947 591, 616, 616, 590, 592, 616, 589, 616, 589, 589,
948 549, 550, 549, 551, 549, 550, 549, 551, 616, 616,
949 549, 550, 549, 551, 549, 550, 549, 549, 549, 550,
950 549, 549, 616, 616, 589, 589, 589, 589, 589, 589,
951 461, 597, 598, 597, 599, 600, 600, 600, 600, 600,
952 600, 600, 600, 600, 600, 600, 600, 600, 600, 616,
953 616, 616, 600, 600, 600, 600, 602, 601, 549, 550,
954 549, 551, 600, 616, 600, 600, 549, 550, 549, 551,
955 549, 550, 549, 551, 549, 550, 549, 551, 549, 550,
957 549, 551, 549, 550, 549, 549, 549, 550, 549, 549,
958 600, 600, 600, 600, 600, 600, 549, 550, 549, 551,
959 549, 550, 549, 551, 549, 550, 549, 549, 605, 549,
960 550, 549, 549, 616, 606, 549, 550, 549, 551, 616,
961 616, 607, 519, 608, 609, 608, 610, 611, 611, 611,
962 611, 611, 611, 611, 611, 611, 611, 611, 611, 611,
963 611, 616, 616, 616, 611, 611, 611, 611, 549, 550,
964 549, 551, 616, 616, 611, 616, 611, 611, 616, 616,
965 616, 616, 616, 616, 616, 616, 616, 616, 616, 616,
966 616, 616, 616, 616, 616, 616, 616, 616, 616, 616,
968 616, 616, 611, 611, 611, 611, 611, 611, 533, 612,
969 613, 612, 614, 615, 615, 615, 615, 615, 615, 615,
970 615, 615, 615, 615, 615, 615, 615, 616, 616, 616,
971 615, 615, 615, 615, 616, 616, 616, 616, 616, 616,
972 615, 616, 615, 615, 616, 616, 616, 616, 616, 616,
973 616, 616, 616, 616, 616, 616, 616, 616, 616, 616,
974 616, 616, 616, 616, 616, 616, 616, 616, 615, 615,
975 615, 615, 615, 615, 118, 118, 118, 118, 118, 118,
976 118, 118, 118, 118, 118, 118, 132, 132, 616, 132,
977 132, 132, 132, 132, 132, 132, 132, 132, 135, 616,
979 135, 135, 135, 139, 139, 616, 139, 139, 139, 139,
980 139, 139, 139, 139, 139, 151, 151, 151, 151, 151,
981 151, 151, 616, 616, 616, 151, 151, 165, 165, 616,
982 616, 165, 616, 165, 165, 165, 165, 165, 218, 218,
983 616, 218, 218, 218, 218, 218, 218, 218, 218, 218,
984 223, 223, 223, 223, 223, 223, 223, 616, 616, 616,
985 223, 223, 229, 229, 229, 229, 229, 229, 616, 229,
986 229, 229, 229, 229, 231, 231, 616, 231, 231, 231,
987 231, 231, 231, 231, 231, 231, 234, 234, 616, 234,
988 234, 234, 234, 234, 234, 234, 234, 234, 236, 616,
990 236, 236, 236, 236, 236, 238, 616, 238, 238, 238,
991 238, 238, 240, 240, 240, 240, 240, 240, 240, 616,
992 616, 616, 240, 242, 242, 242, 242, 242, 242, 242,
993 242, 242, 242, 242, 242, 245, 245, 245, 245, 245,
994 245, 245, 245, 245, 245, 245, 245, 250, 250, 616,
995 250, 616, 616, 250, 250, 309, 309, 309, 309, 309,
996 309, 309, 616, 616, 616, 309, 309, 313, 313, 313,
997 313, 313, 313, 313, 616, 616, 616, 313, 316, 316,
998 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
999 325, 325, 616, 325, 616, 616, 325, 325, 241, 241,
1001 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
1002 384, 384, 384, 384, 384, 384, 384, 616, 616, 616,
1003 384, 388, 388, 616, 388, 616, 616, 388, 388, 389,
1004 616, 616, 389, 389, 315, 315, 315, 315, 315, 315,
1005 315, 315, 315, 315, 315, 315, 333, 333, 333, 333,
1006 333, 333, 333, 333, 333, 333, 333, 333, 409, 409,
1007 409, 409, 409, 616, 409, 449, 449, 449, 449, 449,
1008 449, 449, 449, 449, 449, 449, 449, 455, 455, 455,
1009 455, 455, 455, 455, 455, 455, 455, 455, 455, 457,
1010 457, 457, 457, 457, 457, 457, 457, 457, 457, 457,
1012 457, 461, 461, 461, 461, 461, 616, 461, 519, 519,
1013 519, 519, 519, 616, 519, 533, 533, 533, 533, 533,
1014 616, 533, 540, 540, 540, 540, 540, 540, 540, 540,
1015 540, 540, 540, 540, 545, 545, 545, 545, 545, 545,
1016 545, 545, 545, 545, 545, 545, 552, 552, 552, 552,
1017 552, 552, 552, 552, 552, 552, 552, 553, 553, 616,
1018 553, 553, 553, 553, 553, 553, 553, 553, 553, 559,
1019 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
1020 559, 569, 569, 569, 569, 569, 569, 569, 569, 569,
1021 569, 569, 569, 556, 556, 616, 556, 556, 556, 556,
1023 556, 556, 556, 556, 556, 13, 616, 616, 616, 616,
1024 616, 616, 616, 616, 616, 616, 616, 616, 616, 616,
1025 616, 616, 616, 616, 616, 616, 616, 616, 616, 616,
1026 616, 616, 616, 616, 616, 616, 616, 616, 616, 616,
1027 616, 616, 616, 616, 616, 616, 616, 616, 616, 616,
1028 616, 616, 616, 616, 616, 616, 616, 616, 616, 616,
1029 616, 616, 616, 616, 616, 616, 616, 616, 616, 616,
1033 static yyconst flex_int16_t yy_chk[3373] =
1035 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1036 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1037 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1038 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1039 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1040 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1041 1, 1, 1, 1, 1, 1, 3, 3, 3, 3,
1042 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1043 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1044 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1046 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1047 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1048 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1049 3, 3, 6, 7, 7, 7, 7, 7, 7, 7,
1050 8, 8, 8, 8, 8, 8, 8, 6, 9, 17,
1051 20, 10, 25, 21, 26, 27, 28, 27, 27, 27,
1052 28, 25, 26, 33, 20, 68, 28, 35, 35, 9,
1053 8, 9, 10, 329, 10, 21, 17, 329, 7, 68,
1054 603, 33, 33, 83, 83, 8, 11, 11, 11, 11,
1055 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1057 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1058 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1059 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1060 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1061 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1062 11, 11, 29, 65, 29, 29, 29, 30, 595, 30,
1063 30, 30, 31, 228, 31, 31, 31, 36, 36, 36,
1064 36, 37, 37, 37, 37, 111, 29, 45, 124, 228,
1065 65, 30, 69, 112, 111, 45, 31, 45, 36, 58,
1066 45, 112, 37, 29, 106, 45, 125, 31, 30, 40,
1068 40, 40, 40, 31, 69, 124, 49, 37, 41, 41,
1069 41, 41, 42, 42, 42, 42, 49, 43, 125, 49,
1070 40, 43, 44, 81, 46, 49, 58, 43, 46, 41,
1071 43, 106, 44, 42, 46, 44, 230, 46, 132, 43,
1072 55, 81, 81, 44, 47, 149, 149, 574, 42, 47,
1073 55, 40, 230, 55, 47, 47, 47, 47, 42, 41,
1074 47, 42, 48, 50, 51, 132, 48, 75, 51, 75,
1075 75, 75, 48, 50, 51, 48, 50, 51, 50, 52,
1076 48, 50, 77, 52, 77, 77, 77, 570, 53, 52,
1077 218, 139, 52, 221, 84, 53, 52, 52, 53, 52,
1079 569, 53, 54, 53, 84, 218, 77, 84, 221, 56,
1080 53, 85, 54, 139, 54, 54, 56, 56, 54, 56,
1081 61, 85, 56, 77, 85, 61, 555, 147, 147, 147,
1082 61, 61, 61, 61, 546, 73, 61, 73, 231, 73,
1083 73, 73, 74, 74, 73, 74, 74, 74, 76, 147,
1084 74, 78, 76, 78, 78, 78, 88, 545, 76, 79,
1085 92, 79, 79, 79, 89, 231, 88, 76, 234, 88,
1086 92, 544, 88, 92, 89, 78, 91, 89, 114, 89,
1087 91, 92, 114, 79, 163, 163, 91, 456, 114, 91,
1088 234, 93, 78, 94, 79, 103, 456, 94, 91, 93,
1090 79, 93, 95, 94, 93, 103, 94, 95, 103, 93,
1091 222, 97, 95, 95, 95, 95, 96, 532, 95, 458,
1092 96, 97, 98, 99, 97, 222, 96, 99, 458, 96,
1093 97, 102, 98, 99, 96, 98, 99, 98, 100, 101,
1094 98, 102, 100, 102, 102, 531, 101, 102, 100, 101,
1095 541, 100, 101, 490, 101, 100, 100, 104, 100, 165,
1096 517, 101, 490, 109, 104, 104, 516, 104, 109, 165,
1097 104, 513, 165, 109, 109, 109, 109, 541, 113, 109,
1098 113, 113, 113, 115, 494, 115, 115, 115, 116, 553,
1099 116, 116, 116, 117, 493, 117, 117, 117, 245, 245,
1101 148, 148, 148, 148, 152, 152, 152, 115, 154, 154,
1102 154, 491, 116, 492, 148, 489, 553, 117, 148, 153,
1103 491, 153, 153, 153, 115, 556, 152, 463, 117, 116,
1104 164, 164, 164, 164, 117, 166, 166, 166, 166, 167,
1105 169, 462, 460, 153, 170, 171, 167, 556, 170, 459,
1106 169, 164, 457, 169, 170, 171, 167, 170, 171, 167,
1107 153, 171, 171, 571, 583, 172, 455, 173, 214, 214,
1108 214, 175, 571, 583, 166, 172, 166, 173, 172, 173,
1109 173, 175, 176, 174, 175, 412, 411, 166, 174, 408,
1110 178, 166, 176, 174, 176, 176, 174, 177, 179, 177,
1112 178, 404, 403, 178, 180, 402, 178, 177, 179, 181,
1113 177, 179, 394, 182, 180, 179, 344, 180, 585, 181,
1114 183, 181, 181, 182, 184, 185, 182, 585, 182, 186,
1115 183, 594, 183, 183, 184, 185, 187, 184, 185, 186,
1116 594, 184, 186, 186, 188, 189, 187, 343, 342, 187,
1117 190, 191, 187, 187, 188, 189, 189, 188, 189, 339,
1118 190, 191, 189, 190, 191, 192, 193, 338, 193, 192,
1119 190, 196, 194, 195, 195, 192, 193, 197, 192, 193,
1120 194, 196, 194, 195, 196, 194, 195, 197, 196, 198,
1121 197, 199, 332, 328, 197, 327, 326, 201, 200, 198,
1123 318, 199, 198, 202, 199, 199, 200, 201, 200, 203,
1124 201, 200, 201, 202, 204, 312, 202, 204, 206, 203,
1125 596, 202, 203, 203, 204, 202, 205, 204, 206, 596,
1126 205, 206, 207, 206, 604, 261, 205, 209, 208, 205,
1127 207, 260, 207, 604, 259, 207, 208, 209, 208, 258,
1128 209, 208, 262, 213, 209, 213, 215, 256, 215, 215,
1129 215, 252, 262, 213, 251, 262, 213, 244, 235, 213,
1130 213, 216, 233, 216, 216, 216, 217, 217, 217, 227,
1131 215, 212, 219, 219, 219, 219, 224, 224, 224, 225,
1132 161, 225, 225, 225, 159, 216, 219, 215, 217, 158,
1134 219, 226, 226, 226, 241, 241, 241, 241, 224, 247,
1135 247, 247, 216, 225, 156, 219, 220, 220, 241, 242,
1136 242, 242, 242, 155, 248, 248, 248, 308, 308, 308,
1137 225, 247, 146, 242, 311, 311, 311, 263, 140, 134,
1138 220, 220, 220, 220, 220, 220, 248, 263, 131, 308,
1139 263, 220, 220, 220, 220, 220, 220, 220, 220, 220,
1140 220, 220, 220, 220, 220, 220, 220, 220, 220, 220,
1141 220, 220, 220, 220, 243, 243, 243, 243, 540, 540,
1142 540, 540, 549, 549, 549, 549, 120, 108, 243, 87,
1143 82, 80, 243, 249, 249, 249, 249, 249, 249, 249,
1145 249, 249, 249, 249, 249, 249, 249, 249, 249, 249,
1146 249, 249, 249, 249, 249, 249, 249, 249, 249, 249,
1147 249, 249, 249, 249, 249, 249, 72, 249, 249, 67,
1148 249, 249, 249, 249, 249, 249, 249, 249, 249, 249,
1149 249, 249, 249, 249, 249, 249, 249, 249, 249, 249,
1150 249, 249, 249, 249, 249, 249, 249, 249, 249, 250,
1151 250, 250, 250, 250, 250, 250, 250, 250, 250, 250,
1152 250, 250, 250, 250, 250, 250, 250, 250, 64, 60,
1153 39, 250, 250, 250, 250, 266, 257, 257, 257, 257,
1154 268, 250, 264, 250, 250, 266, 264, 265, 266, 265,
1156 268, 266, 264, 268, 269, 264, 34, 265, 269, 32,
1157 265, 24, 19, 16, 269, 13, 267, 269, 270, 250,
1158 250, 250, 250, 250, 250, 257, 267, 257, 270, 267,
1159 271, 270, 267, 267, 275, 272, 5, 271, 257, 272,
1160 271, 274, 257, 271, 275, 272, 273, 275, 272, 4,
1161 273, 274, 276, 277, 274, 277, 273, 274, 278, 273,
1162 279, 2, 276, 277, 280, 276, 277, 0, 278, 0,
1163 279, 278, 281, 279, 280, 0, 281, 280, 283, 282,
1164 284, 280, 281, 282, 285, 281, 283, 0, 283, 282,
1165 284, 283, 282, 284, 285, 286, 290, 285, 550, 550,
1167 550, 550, 287, 288, 289, 286, 290, 0, 286, 290,
1168 286, 287, 287, 288, 289, 287, 288, 289, 291, 292,
1169 293, 289, 288, 551, 551, 551, 551, 0, 291, 292,
1170 293, 291, 292, 293, 294, 295, 291, 293, 294, 0,
1171 296, 0, 0, 0, 294, 295, 298, 294, 295, 0,
1172 296, 297, 295, 296, 0, 297, 298, 0, 299, 298,
1173 0, 297, 299, 300, 297, 301, 0, 300, 299, 302,
1174 304, 299, 0, 300, 303, 301, 300, 303, 301, 302,
1175 304, 305, 302, 304, 303, 307, 0, 303, 305, 0,
1176 0, 305, 0, 0, 305, 307, 0, 0, 307, 310,
1178 310, 310, 315, 315, 315, 315, 0, 0, 316, 316,
1179 316, 316, 322, 322, 322, 0, 315, 0, 0, 0,
1180 315, 310, 316, 323, 323, 323, 316, 0, 317, 317,
1181 317, 317, 0, 0, 322, 315, 319, 319, 319, 319,
1182 0, 316, 317, 345, 0, 323, 317, 0, 0, 0,
1183 319, 0, 345, 345, 319, 346, 345, 330, 330, 330,
1184 330, 317, 0, 354, 350, 346, 0, 0, 346, 319,
1185 321, 330, 350, 354, 350, 0, 354, 350, 321, 321,
1186 321, 321, 321, 321, 0, 321, 0, 0, 0, 321,
1187 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
1189 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
1190 321, 321, 324, 324, 324, 324, 324, 324, 324, 324,
1191 324, 324, 324, 324, 324, 324, 324, 324, 324, 324,
1192 324, 324, 324, 324, 324, 324, 324, 324, 324, 324,
1193 324, 324, 324, 324, 324, 0, 324, 324, 0, 324,
1194 324, 324, 324, 324, 324, 324, 324, 324, 324, 324,
1195 324, 324, 324, 324, 324, 324, 324, 324, 324, 324,
1196 324, 324, 324, 324, 324, 324, 324, 324, 325, 325,
1197 325, 325, 325, 325, 325, 325, 325, 325, 325, 325,
1198 325, 325, 325, 325, 325, 325, 325, 0, 353, 0,
1200 325, 325, 325, 325, 331, 331, 331, 331, 353, 353,
1201 325, 353, 325, 325, 333, 333, 333, 333, 331, 0,
1202 347, 348, 331, 552, 552, 552, 552, 347, 333, 0,
1203 347, 348, 333, 347, 348, 349, 351, 348, 325, 325,
1204 325, 325, 325, 325, 0, 349, 351, 352, 349, 351,
1205 0, 0, 349, 355, 351, 356, 0, 352, 0, 0,
1206 352, 358, 361, 355, 352, 356, 355, 356, 356, 357,
1207 359, 358, 361, 357, 358, 361, 362, 361, 0, 357,
1208 359, 360, 357, 359, 0, 360, 362, 359, 363, 362,
1209 0, 360, 364, 0, 360, 0, 365, 366, 363, 0,
1211 0, 363, 364, 363, 367, 364, 365, 366, 364, 365,
1212 366, 368, 369, 0, 367, 365, 370, 367, 0, 367,
1213 370, 368, 369, 371, 368, 369, 370, 372, 375, 370,
1214 375, 371, 0, 371, 374, 373, 371, 372, 375, 0,
1215 372, 375, 372, 373, 374, 373, 376, 374, 373, 374,
1216 377, 378, 379, 385, 385, 385, 376, 379, 380, 376,
1217 377, 378, 379, 377, 378, 379, 376, 382, 380, 381,
1218 0, 380, 0, 381, 383, 385, 0, 382, 0, 381,
1219 382, 413, 381, 414, 383, 415, 0, 383, 386, 386,
1220 386, 413, 383, 414, 413, 415, 414, 0, 415, 554,
1222 554, 554, 554, 560, 560, 560, 560, 0, 0, 0,
1223 386, 387, 387, 387, 387, 387, 387, 387, 387, 387,
1224 387, 387, 387, 387, 387, 387, 387, 387, 387, 387,
1225 387, 387, 387, 387, 387, 387, 387, 387, 387, 387,
1226 387, 387, 387, 387, 0, 387, 387, 0, 387, 387,
1227 387, 387, 387, 387, 387, 387, 387, 387, 387, 387,
1228 387, 387, 387, 387, 387, 387, 387, 387, 387, 387,
1229 387, 387, 387, 387, 387, 387, 387, 388, 388, 388,
1230 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
1231 388, 388, 388, 388, 388, 388, 0, 0, 390, 388,
1233 388, 388, 388, 392, 392, 392, 392, 0, 0, 388,
1234 390, 388, 388, 416, 390, 417, 0, 392, 0, 0,
1235 418, 392, 422, 416, 0, 417, 416, 417, 417, 390,
1236 418, 0, 422, 418, 0, 422, 392, 388, 388, 388,
1237 388, 388, 388, 391, 391, 391, 391, 391, 391, 391,
1238 391, 391, 391, 391, 391, 391, 391, 391, 391, 391,
1239 391, 391, 391, 391, 391, 391, 391, 391, 391, 391,
1240 391, 391, 391, 391, 391, 391, 391, 391, 391, 391,
1241 391, 391, 391, 391, 391, 391, 391, 391, 391, 391,
1242 391, 391, 391, 391, 391, 391, 391, 391, 391, 391,
1244 391, 391, 391, 391, 391, 391, 391, 391, 391, 393,
1245 393, 393, 393, 0, 395, 395, 395, 395, 0, 405,
1246 405, 405, 405, 393, 0, 419, 420, 393, 395, 419,
1247 423, 429, 395, 405, 420, 419, 420, 405, 419, 420,
1248 423, 429, 393, 423, 429, 429, 0, 395, 396, 396,
1249 396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
1250 396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
1251 396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
1252 396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
1253 396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
1255 396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
1256 396, 396, 396, 396, 421, 424, 0, 421, 0, 425,
1257 0, 426, 0, 424, 421, 424, 438, 421, 424, 425,
1258 425, 426, 425, 427, 426, 0, 438, 428, 426, 438,
1259 0, 0, 428, 427, 430, 427, 427, 428, 430, 428,
1260 428, 431, 432, 433, 430, 0, 0, 430, 432, 431,
1261 0, 431, 432, 433, 431, 432, 433, 434, 0, 434,
1262 433, 435, 0, 435, 0, 436, 437, 434, 437, 0,
1263 434, 435, 440, 439, 435, 436, 437, 436, 436, 437,
1264 439, 0, 440, 439, 441, 440, 439, 0, 442, 441,
1266 443, 0, 444, 0, 441, 444, 442, 441, 442, 0,
1267 443, 442, 444, 443, 0, 444, 449, 449, 449, 449,
1268 0, 450, 450, 450, 450, 0, 452, 452, 452, 452,
1269 449, 0, 464, 466, 449, 450, 0, 0, 465, 450,
1270 452, 0, 464, 466, 452, 464, 466, 468, 465, 449,
1271 464, 465, 469, 0, 450, 465, 467, 468, 467, 452,
1272 468, 0, 469, 468, 0, 469, 467, 470, 471, 467,
1273 0, 0, 471, 472, 469, 474, 0, 470, 471, 0,
1274 470, 471, 473, 472, 473, 474, 472, 475, 474, 476,
1275 0, 477, 473, 478, 0, 473, 478, 475, 0, 476,
1277 475, 477, 476, 478, 477, 479, 478, 480, 0, 479,
1278 0, 480, 481, 482, 483, 479, 0, 480, 479, 0,
1279 480, 484, 481, 482, 483, 481, 482, 483, 485, 481,
1280 486, 484, 487, 0, 484, 0, 0, 0, 485, 497,
1281 486, 485, 487, 486, 487, 487, 488, 496, 498, 497,
1282 488, 496, 497, 499, 500, 0, 488, 496, 498, 488,
1283 496, 498, 501, 499, 500, 0, 499, 500, 502, 503,
1284 0, 0, 501, 503, 501, 501, 505, 0, 502, 503,
1285 502, 502, 503, 504, 0, 504, 505, 507, 506, 505,
1286 506, 507, 508, 504, 509, 0, 504, 507, 506, 510,
1288 507, 506, 508, 510, 509, 508, 511, 509, 0, 510,
1289 511, 0, 510, 0, 520, 521, 511, 0, 0, 511,
1290 512, 512, 512, 512, 520, 521, 522, 520, 521, 0,
1291 0, 523, 572, 572, 572, 572, 522, 525, 524, 522,
1292 0, 523, 524, 522, 523, 526, 0, 525, 524, 526,
1293 525, 524, 527, 0, 528, 526, 512, 528, 526, 0,
1294 529, 0, 527, 529, 528, 527, 512, 528, 0, 512,
1295 529, 0, 534, 529, 530, 530, 530, 530, 0, 530,
1296 536, 535, 534, 0, 530, 534, 535, 537, 534, 538,
1297 536, 535, 0, 536, 535, 530, 539, 537, 0, 538,
1299 537, 0, 538, 0, 0, 0, 539, 0, 0, 539,
1300 542, 542, 542, 542, 542, 543, 543, 543, 543, 547,
1301 548, 542, 0, 0, 0, 557, 557, 557, 557, 547,
1302 548, 0, 547, 548, 0, 557, 558, 558, 558, 558,
1303 558, 0, 0, 542, 0, 0, 0, 558, 559, 559,
1304 559, 559, 559, 0, 543, 0, 543, 557, 0, 559,
1305 561, 561, 561, 561, 561, 0, 0, 543, 0, 558,
1306 0, 543, 562, 562, 562, 562, 0, 563, 563, 563,
1307 563, 559, 564, 564, 564, 564, 565, 565, 565, 565,
1308 566, 566, 566, 566, 567, 567, 567, 567, 568, 568,
1310 568, 568, 573, 573, 573, 573, 575, 575, 575, 575,
1311 0, 562, 0, 562, 0, 0, 563, 0, 563, 0,
1312 0, 564, 0, 564, 562, 0, 0, 0, 562, 563,
1313 0, 0, 0, 563, 564, 565, 0, 0, 564, 566,
1314 0, 568, 576, 576, 576, 576, 577, 577, 577, 577,
1315 567, 578, 578, 578, 578, 586, 586, 586, 586, 0,
1316 0, 578, 580, 580, 580, 580, 581, 581, 581, 581,
1317 582, 582, 582, 582, 587, 587, 587, 587, 588, 588,
1318 588, 588, 0, 578, 579, 579, 579, 579, 579, 579,
1319 579, 579, 579, 579, 579, 579, 579, 579, 579, 579,
1321 579, 579, 579, 0, 0, 0, 579, 579, 579, 579,
1322 581, 0, 0, 580, 582, 0, 579, 0, 579, 579,
1323 589, 589, 589, 589, 591, 591, 591, 591, 0, 0,
1324 592, 592, 592, 592, 597, 597, 597, 597, 598, 598,
1325 598, 598, 0, 0, 579, 579, 579, 579, 579, 579,
1326 590, 590, 590, 590, 590, 590, 590, 590, 590, 590,
1327 590, 590, 590, 590, 590, 590, 590, 590, 590, 0,
1328 0, 0, 590, 590, 590, 590, 592, 591, 599, 599,
1329 599, 599, 590, 0, 590, 590, 600, 600, 600, 600,
1330 601, 601, 601, 601, 602, 602, 602, 602, 605, 605,
1332 605, 605, 608, 608, 608, 608, 609, 609, 609, 609,
1333 590, 590, 590, 590, 590, 590, 610, 610, 610, 610,
1334 611, 611, 611, 611, 612, 612, 612, 612, 601, 613,
1335 613, 613, 613, 0, 602, 614, 614, 614, 614, 0,
1336 0, 605, 606, 606, 606, 606, 606, 606, 606, 606,
1337 606, 606, 606, 606, 606, 606, 606, 606, 606, 606,
1338 606, 0, 0, 0, 606, 606, 606, 606, 615, 615,
1339 615, 615, 0, 0, 606, 0, 606, 606, 0, 0,
1340 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1341 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1343 0, 0, 606, 606, 606, 606, 606, 606, 607, 607,
1344 607, 607, 607, 607, 607, 607, 607, 607, 607, 607,
1345 607, 607, 607, 607, 607, 607, 607, 0, 0, 0,
1346 607, 607, 607, 607, 0, 0, 0, 0, 0, 0,
1347 607, 0, 607, 607, 0, 0, 0, 0, 0, 0,
1348 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1349 0, 0, 0, 0, 0, 0, 0, 0, 607, 607,
1350 607, 607, 607, 607, 617, 617, 617, 617, 617, 617,
1351 617, 617, 617, 617, 617, 617, 618, 618, 0, 618,
1352 618, 618, 618, 618, 618, 618, 618, 618, 619, 0,
1354 619, 619, 619, 620, 620, 0, 620, 620, 620, 620,
1355 620, 620, 620, 620, 620, 621, 621, 621, 621, 621,
1356 621, 621, 0, 0, 0, 621, 621, 622, 622, 0,
1357 0, 622, 0, 622, 622, 622, 622, 622, 623, 623,
1358 0, 623, 623, 623, 623, 623, 623, 623, 623, 623,
1359 624, 624, 624, 624, 624, 624, 624, 0, 0, 0,
1360 624, 624, 625, 625, 625, 625, 625, 625, 0, 625,
1361 625, 625, 625, 625, 626, 626, 0, 626, 626, 626,
1362 626, 626, 626, 626, 626, 626, 627, 627, 0, 627,
1363 627, 627, 627, 627, 627, 627, 627, 627, 628, 0,
1365 628, 628, 628, 628, 628, 629, 0, 629, 629, 629,
1366 629, 629, 630, 630, 630, 630, 630, 630, 630, 0,
1367 0, 0, 630, 631, 631, 631, 631, 631, 631, 631,
1368 631, 631, 631, 631, 631, 632, 632, 632, 632, 632,
1369 632, 632, 632, 632, 632, 632, 632, 633, 633, 0,
1370 633, 0, 0, 633, 633, 634, 634, 634, 634, 634,
1371 634, 634, 0, 0, 0, 634, 634, 635, 635, 635,
1372 635, 635, 635, 635, 0, 0, 0, 635, 636, 636,
1373 636, 636, 636, 636, 636, 636, 636, 636, 636, 636,
1374 637, 637, 0, 637, 0, 0, 637, 637, 638, 638,
1376 638, 638, 638, 638, 638, 638, 638, 638, 638, 638,
1377 639, 639, 639, 639, 639, 639, 639, 0, 0, 0,
1378 639, 640, 640, 0, 640, 0, 0, 640, 640, 641,
1379 0, 0, 641, 641, 642, 642, 642, 642, 642, 642,
1380 642, 642, 642, 642, 642, 642, 643, 643, 643, 643,
1381 643, 643, 643, 643, 643, 643, 643, 643, 644, 644,
1382 644, 644, 644, 0, 644, 645, 645, 645, 645, 645,
1383 645, 645, 645, 645, 645, 645, 645, 646, 646, 646,
1384 646, 646, 646, 646, 646, 646, 646, 646, 646, 647,
1385 647, 647, 647, 647, 647, 647, 647, 647, 647, 647,
1387 647, 648, 648, 648, 648, 648, 0, 648, 649, 649,
1388 649, 649, 649, 0, 649, 650, 650, 650, 650, 650,
1389 0, 650, 651, 651, 651, 651, 651, 651, 651, 651,
1390 651, 651, 651, 651, 652, 652, 652, 652, 652, 652,
1391 652, 652, 652, 652, 652, 652, 653, 653, 653, 653,
1392 653, 653, 653, 653, 653, 653, 653, 654, 654, 0,
1393 654, 654, 654, 654, 654, 654, 654, 654, 654, 655,
1394 655, 655, 655, 655, 655, 655, 655, 655, 655, 655,
1395 655, 656, 656, 656, 656, 656, 656, 656, 656, 656,
1396 656, 656, 656, 657, 657, 0, 657, 657, 657, 657,
1398 657, 657, 657, 657, 657, 616, 616, 616, 616, 616,
1399 616, 616, 616, 616, 616, 616, 616, 616, 616, 616,
1400 616, 616, 616, 616, 616, 616, 616, 616, 616, 616,
1401 616, 616, 616, 616, 616, 616, 616, 616, 616, 616,
1402 616, 616, 616, 616, 616, 616, 616, 616, 616, 616,
1403 616, 616, 616, 616, 616, 616, 616, 616, 616, 616,
1404 616, 616, 616, 616, 616, 616, 616, 616, 616, 616,
1408 static yy_state_type yy_last_accepting_state;
1409 static char *yy_last_accepting_cpos;
1411 extern int as3__flex_debug;
1412 int as3__flex_debug = 0;
1414 /* The intent behind this definition is that it'll catch
1415 * any uses of REJECT which flex missed.
1417 #define REJECT reject_used_but_not_detected
1418 #define yymore() yymore_used_but_not_detected
1419 #define YY_MORE_ADJ 0
1420 #define YY_RESTORE_YY_MORE_OFFSET
1422 #line 1 "tokenizer.lex"
1425 Routines for compiling Flash2 AVM2 ABC Actionscript
1427 Extension module for the rfxswf library.
1428 Part of the swftools package.
1430 Copyright (c) 2008 Matthias Kramm <kramm@quiss.org>
1432 This program is free software; you can redistribute it and/or modify
1433 it under the terms of the GNU General Public License as published by
1434 the Free Software Foundation; either version 2 of the License, or
1435 (at your option) any later version.
1437 This program is distributed in the hope that it will be useful,
1438 but WITHOUT ANY WARRANTY; without even the implied warranty of
1439 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1440 GNU General Public License for more details.
1442 You should have received a copy of the GNU General Public License
1443 along with this program; if not, write to the Free Software
1444 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
1445 #line 24 "tokenizer.lex"
1452 #include "../utf8.h"
1454 #include "tokenizer.h"
1457 unsigned int as3_tokencount = 0;
1459 static void dbg(const char*format, ...)
1466 va_start(arglist, format);
1467 vsnprintf(buf, sizeof(buf)-1, format, arglist);
1470 while(l && buf[l-1]=='\n') {
1474 printf("(tokenizer) ");
1475 printf("%s\n", buf);
1479 #ifndef YY_CURRENT_BUFFER
1480 #define YY_CURRENT_BUFFER yy_current_buffer
1483 static void*as3_buffer=0;
1484 static int as3_buffer_pos=0;
1485 static int as3_buffer_len=0;
1486 void as3_file_input(FILE*fi)
1491 void as3_buffer_input(void*buffer, int len)
1494 syntaxerror("trying to parse zero bytearray");
1495 as3_buffer = buffer;
1496 as3_buffer_len = len;
1501 #define YY_INPUT(buf,result,max_size) { \
1504 while((result = fread(buf, 1, max_size, as3_in))==0 && ferror(as3_in)) \
1505 { if(errno != EINTR) {YY_FATAL_ERROR("input in flex scanner failed"); break;} \
1506 errno=0; clearerr(as3_in); \
1509 int to_read = max_size; \
1510 if(to_read + as3_buffer_pos > as3_buffer_len) \
1511 to_read = as3_buffer_len - as3_buffer_pos; \
1512 memcpy(buf, as3_buffer+as3_buffer_pos, to_read); \
1513 as3_buffer_pos += to_read; \
1518 void handleInclude(char*text, int len, char quotes)
1522 char*p1 = strchr(text, '"');
1523 char*p2 = strrchr(text, '"');
1524 if(!p1 || !p2 || p1==p2) {
1525 syntaxerror("Invalid include in line %d\n", current_line);
1528 filename = strdup(p1+1);
1532 while(!strchr(" \n\r\t", text[i1])) i1++;
1534 while(strchr(" \n\r\t", text[i1])) i1++;
1535 while(strchr(" \n\r\t", text[i2-1])) i2--;
1536 if(i2!=len) text[i2]=0;
1537 filename = strdup(&text[i1]);
1540 char*fullfilename = find_file(filename, 1);
1541 enter_file2(filename, fullfilename, YY_CURRENT_BUFFER);
1542 as3_in = fopen(fullfilename, "rb");
1544 syntaxerror("Couldn't open include file \"%s\"\n", fullfilename);
1547 as3__switch_to_buffer(as3__create_buffer(as3_in,YY_BUF_SIZE ) );
1548 //BEGIN(DEFAULT); keep context
1551 static int do_unescape(const char*s, const char*end, char*n)
1557 if(o) o[len] = *s;len++;
1561 s++; //skip past '\'
1562 if(s==end) syntaxerror("invalid \\ at end of string");
1564 /* handle the various line endings (mac, dos, unix) */
1577 case '\\': if(o) o[len] = '\\';s++;len++; break;
1578 case '"': if(o) o[len] = '"';s++;len++; break;
1579 case '\'': if(o) o[len] = '\'';s++;len++; break;
1580 case 'b': if(o) o[len] = '\b';s++;len++; break;
1581 case 'f': if(o) o[len] = '\f';s++;len++; break;
1582 case 'n': if(o) o[len] = '\n';s++;len++; break;
1583 case 'r': if(o) o[len] = '\r';s++;len++; break;
1584 case 't': if(o) o[len] = '\t';s++;len++; break;
1585 case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': {
1588 while(strchr("01234567", *s) && nr<3 && s<end) {
1595 syntaxerror("octal number out of range (0-255): %d", num);
1596 if(o) o[len] = num;len++;
1599 case 'x': case 'u': {
1608 if(s==end) syntaxerror("invalid \\u or \\x at end of string");
1611 if(s==end) syntaxerror("invalid \\u{ at end of string");
1616 while(strchr("0123456789abcdefABCDEF", *s) && (bracket || nr < max) && s<end) {
1618 if(*s>='0' && *s<='9') num |= *s - '0';
1619 if(*s>='a' && *s<='f') num |= *s - 'a' + 10;
1620 if(*s>='A' && *s<='F') num |= *s - 'A' + 10;
1625 if(*s=='}' && s<end) {
1628 syntaxerror("missing terminating '}'");
1632 char*utf8 = getUTF8(num);
1634 if(o) o[len] = *utf8;utf8++;len++;
1638 syntaxerror("byte out of range (0-255): %d", num);
1639 if(o) o[len] = num;len++;
1658 static string_t string_unescape(const char*in, int l)
1661 const char*end = &in[l];
1663 int len = do_unescape(s, end, 0);
1664 char*n = (char*)malloc(len+1);
1665 do_unescape(s, end, n);
1666 string_t out = string_new(n, len);
1670 static void handleCData(char*s, int len)
1672 a3_lval.str.str = s+9; // <![CDATA[
1673 a3_lval.str.len = len-9-3;// ]]>
1674 a3_lval.str.str = strdup_n(a3_lval.str.str, a3_lval.str.len);
1677 static void handleRaw(char*s, int len)
1679 a3_lval.str.len = len;
1680 a3_lval.str.str = strdup_n(s, a3_lval.str.len);
1683 static void handleString(char*s, int len)
1686 if(s[len-1]!='"') syntaxerror("String doesn't end with '\"'");
1689 else if(s[0]=='\'') {
1690 if(s[len-1]!='\'') syntaxerror("String doesn't end with '\"'");
1693 else syntaxerror("String incorrectly terminated");
1695 a3_lval.str = string_unescape(s, len);
1699 char start_of_expression;
1701 static inline int m(int type)
1703 a3_lval.token = type;
1707 static char numberbuf[64];
1710 if(as3_leng>sizeof(numberbuf)-1)
1711 syntaxerror("decimal number overflow");
1713 memcpy(s, as3_text, as3_leng);
1718 static inline int setint(int v)
1720 a3_lval.number_int = v;
1723 static inline int setfloat(double v)
1725 a3_lval.number_float = v;
1729 static inline int handlefloat()
1732 a3_lval.number_float = atof(s);
1736 static inline int handleint()
1739 char l = (as3_text[0]=='-');
1741 //char*max = l?"1073741824":"2147483647";
1742 char*max = l?"2147483648":"2147483647";
1745 as3_softwarning("integer overflow: %s (converted to Number)", s);
1746 return handlefloat();
1748 if(as3_leng-l==10) {
1750 for(t=0;t<as3_leng-l;t++) {
1751 if(as3_text[l+t]>max[t]) {
1752 as3_softwarning("integer overflow: %s (converted to Number)", s);
1753 return handlefloat();
1755 else if(as3_text[l+t]<max[t])
1759 if(as3_text[0]=='-') {
1765 for(t=0;t<as3_leng;t++) {
1773 static inline int handlehexfloat()
1775 char l = (as3_text[0]=='-')+2;
1780 for(t=l;t<as3_leng;t++) {
1781 char c = as3_text[t];
1791 if(c>='0' && c<='9')
1793 else if((c>='a' && c<='f') || (c>='A' && c<='F'))
1794 d+=((c&0x0f)+9)*base;
1798 static inline int handlehex()
1800 char l = (as3_text[0]=='-')+2;
1805 syntaxerror("integer overflow %s", s);
1810 for(t=l;t<len;t++) {
1812 char c = as3_text[t];
1813 if(c>='0' && c<='9')
1815 else if((c>='a' && c<='f') || (c>='A' && c<='F'))
1818 if(l && v>=0x80000000) {
1820 as3_softwarning("integer overflow: %s (converted to Number)", s);
1823 if(!l && v>0x7fffffff) {
1825 as3_softwarning("integer overflow: %s (converted to Number)", s);
1830 return setint(-(int)v);
1836 void handleLabel(char*text, int len)
1839 for(t=len-1;t>=0;--t) {
1844 char*s = malloc(t+1);
1845 memcpy(s, as3_text, t);
1850 static int handleregexp()
1852 char*s = malloc(as3_leng);
1854 memcpy(s, as3_text+1, len);
1857 for(t=len;t>=0;--t) {
1863 a3_lval.regexp.pattern = s;
1865 a3_lval.regexp.options = 0;
1867 a3_lval.regexp.options = s+t+1;
1872 void initialize_scanner();
1873 #define YY_USER_INIT initialize_scanner();
1875 /* count the number of lines+columns consumed by this token */
1876 static inline void l() {
1878 for(t=0;t<as3_leng;t++) {
1879 if(as3_text[t]=='\n') {
1887 /* count the number of columns consumed by this token */
1888 static inline void c() {
1889 current_column+=as3_leng;
1892 trie_t*active_namespaces = 0;
1893 /*void tokenizer_register_namespace(const char*id)
1895 trie_put(namespaces, id, 0);
1897 void tokenizer_unregister_namespace(const char*id)
1899 trie_remove(namespaces, id);
1901 static inline char tokenizer_is_namespace(const char*id)
1903 return trie_contains(active_namespaces, id);
1906 static inline int handleIdentifier()
1908 char*s = malloc(as3_leng+1);
1909 memcpy(s, as3_text, as3_leng);
1912 if(tokenizer_is_namespace(s))
1915 return T_IDENTIFIER;
1917 static int tokenerror();
1920 //Boolean {c();return m(KW_BOOLEAN);}
1921 //int {c();return m(KW_INT);}
1922 //uint {c();return m(KW_UINT);}
1923 //Number {c();return m(KW_NUMBER);}
1924 //XMLCOMMENT <!--([^->]|(-/[^-])|(--/[^>]))*-->
1932 #line 1933 "tokenizer.yy.c"
1941 #ifndef YY_NO_UNISTD_H
1942 /* Special case for "unistd.h", since it is non-ANSI. We include it way
1943 * down here because we want the user's section 1 to have been scanned first.
1944 * The user has a chance to override it with an option.
1949 #ifndef YY_EXTRA_TYPE
1950 #define YY_EXTRA_TYPE void *
1953 static int yy_init_globals (void );
1955 /* Accessor methods to globals.
1956 These are made visible to non-reentrant scanners for convenience. */
1958 int as3_lex_destroy (void );
1960 int as3_get_debug (void );
1962 void as3_set_debug (int debug_flag );
1964 YY_EXTRA_TYPE as3_get_extra (void );
1966 void as3_set_extra (YY_EXTRA_TYPE user_defined );
1968 FILE *as3_get_in (void );
1970 void as3_set_in (FILE * in_str );
1972 FILE *as3_get_out (void );
1974 void as3_set_out (FILE * out_str );
1976 int as3_get_leng (void );
1978 char *as3_get_text (void );
1980 int as3_get_lineno (void );
1982 void as3_set_lineno (int line_number );
1984 /* Macros after this point can all be overridden by user definitions in
1988 #ifndef YY_SKIP_YYWRAP
1990 extern "C" int as3_wrap (void );
1992 extern int as3_wrap (void );
1996 static void yyunput (int c,char *buf_ptr );
1999 static void yy_flex_strncpy (char *,yyconst char *,int );
2002 #ifdef YY_NEED_STRLEN
2003 static int yy_flex_strlen (yyconst char * );
2009 static int yyinput (void );
2011 static int input (void );
2016 /* Amount of stuff to slurp up with each read. */
2017 #ifndef YY_READ_BUF_SIZE
2018 #define YY_READ_BUF_SIZE 8192
2021 /* Copy whatever the last rule matched to the standard output. */
2023 /* This used to be an fputs(), but since the string might contain NUL's,
2024 * we now use fwrite().
2026 #define ECHO fwrite( as3_text, as3_leng, 1, as3_out )
2029 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
2030 * is returned in "result".
2033 #define YY_INPUT(buf,result,max_size) \
2034 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2038 for ( n = 0; n < max_size && \
2039 (c = getc( as3_in )) != EOF && c != '\n'; ++n ) \
2040 buf[n] = (char) c; \
2042 buf[n++] = (char) c; \
2043 if ( c == EOF && ferror( as3_in ) ) \
2044 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2050 while ( (result = fread(buf, 1, max_size, as3_in))==0 && ferror(as3_in)) \
2052 if( errno != EINTR) \
2054 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2065 /* No semi-colon after return; correct usage is to write "yyterminate();" -
2066 * we don't want an extra ';' after the "return" because that will cause
2067 * some compilers to complain about unreachable statements.
2070 #define yyterminate() return YY_NULL
2073 /* Number of entries by which start-condition stack grows. */
2074 #ifndef YY_START_STACK_INCR
2075 #define YY_START_STACK_INCR 25
2078 /* Report a fatal error. */
2079 #ifndef YY_FATAL_ERROR
2080 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2083 /* end tables serialization structures and prototypes */
2085 /* Default declaration of generated scanner - a define so the user can
2086 * easily add parameters.
2089 #define YY_DECL_IS_OURS 1
2091 extern int as3_lex (void);
2093 #define YY_DECL int as3_lex (void)
2094 #endif /* !YY_DECL */
2096 /* Code executed at the beginning of each rule, after as3_text and as3_leng
2099 #ifndef YY_USER_ACTION
2100 #define YY_USER_ACTION
2103 /* Code executed at the end of each rule. */
2105 #define YY_BREAK break;
2108 #define YY_RULE_SETUP \
2109 if ( as3_leng > 0 ) \
2110 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
2111 (as3_text[as3_leng - 1] == '\n'); \
2114 /** The main scanner function which does all the work.
2118 register yy_state_type yy_current_state;
2119 register char *yy_cp, *yy_bp;
2120 register int yy_act;
2122 #line 535 "tokenizer.lex"
2126 #line 2127 "tokenizer.yy.c"
2137 (yy_start) = 1; /* first start state */
2145 if ( ! YY_CURRENT_BUFFER ) {
2146 as3_ensure_buffer_stack ();
2147 YY_CURRENT_BUFFER_LVALUE =
2148 as3__create_buffer(as3_in,YY_BUF_SIZE );
2151 as3__load_buffer_state( );
2154 while ( 1 ) /* loops until end-of-file is reached */
2156 yy_cp = (yy_c_buf_p);
2158 /* Support of as3_text. */
2159 *yy_cp = (yy_hold_char);
2161 /* yy_bp points to the position in yy_ch_buf of the start of
2166 yy_current_state = (yy_start);
2167 yy_current_state += YY_AT_BOL();
2171 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
2172 if ( yy_accept[yy_current_state] )
2174 (yy_last_accepting_state) = yy_current_state;
2175 (yy_last_accepting_cpos) = yy_cp;
2177 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2179 yy_current_state = (int) yy_def[yy_current_state];
2180 if ( yy_current_state >= 617 )
2181 yy_c = yy_meta[(unsigned int) yy_c];
2183 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2186 while ( yy_current_state != 616 );
2187 yy_cp = (yy_last_accepting_cpos);
2188 yy_current_state = (yy_last_accepting_state);
2191 yy_act = yy_accept[yy_current_state];
2193 YY_DO_BEFORE_ACTION;
2195 do_action: /* This label is used only to access EOF actions. */
2198 { /* beginning of action switch */
2199 case 0: /* must back up */
2200 /* undo the effects of YY_DO_BEFORE_ACTION */
2201 *yy_cp = (yy_hold_char);
2202 yy_cp = (yy_last_accepting_cpos);
2203 yy_current_state = (yy_last_accepting_state);
2204 goto yy_find_action;
2207 /* rule 1 can match eol */
2209 #line 538 "tokenizer.lex"
2210 {l(); /* single line comment */}
2213 /* rule 2 can match eol */
2215 #line 539 "tokenizer.lex"
2216 {l(); /* multi line comment */}
2220 #line 540 "tokenizer.lex"
2221 {syntaxerror("syntax error: unterminated comment", as3_text);}
2224 /* rule 4 can match eol */
2225 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2226 (yy_c_buf_p) = yy_cp -= 1;
2227 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2229 #line 542 "tokenizer.lex"
2230 {l();handleInclude(as3_text, as3_leng, 1);}
2233 /* rule 5 can match eol */
2234 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2235 (yy_c_buf_p) = yy_cp -= 1;
2236 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2238 #line 543 "tokenizer.lex"
2239 {l();handleInclude(as3_text, as3_leng, 0);}
2242 /* rule 6 can match eol */
2244 #line 544 "tokenizer.lex"
2245 {l(); BEGIN(DEFAULT);handleString(as3_text, as3_leng);return T_STRING;}
2248 /* rule 7 can match eol */
2250 #line 545 "tokenizer.lex"
2251 {l(); BEGIN(DEFAULT);handleCData(as3_text, as3_leng);return T_STRING;}
2255 /* rule 8 can match eol */
2257 #line 548 "tokenizer.lex"
2258 {l(); BEGIN(DEFAULT);handleRaw(as3_text, as3_leng);return T_STRING;}
2263 /* rule 9 can match eol */
2265 #line 552 "tokenizer.lex"
2266 {l(); handleString(as3_text, as3_leng);return T_STRING;}
2270 #line 553 "tokenizer.lex"
2271 {c(); return m('<');}
2275 #line 554 "tokenizer.lex"
2276 {c(); return m('/');}
2280 #line 555 "tokenizer.lex"
2281 {c(); return m('>');}
2285 #line 556 "tokenizer.lex"
2286 {c(); return m('=');}
2290 #line 557 "tokenizer.lex"
2291 {c(); handleRaw(as3_text, as3_leng);return T_IDENTIFIER;}
2294 /* rule 15 can match eol */
2296 #line 558 "tokenizer.lex"
2299 case YY_STATE_EOF(XML):
2300 #line 559 "tokenizer.lex"
2301 {syntaxerror("unexpected end of file");}
2306 /* rule 16 can match eol */
2308 #line 563 "tokenizer.lex"
2309 {l(); BEGIN(DEFAULT);handleRaw(as3_text, as3_leng);return T_STRING;}
2313 #line 564 "tokenizer.lex"
2314 {c(); BEGIN(XML);return m('<');}
2318 #line 565 "tokenizer.lex"
2319 {c(); return m('>');}
2322 /* rule 19 can match eol */
2324 #line 566 "tokenizer.lex"
2325 {l(); handleRaw(as3_text, as3_leng);return T_STRING;}
2328 /* rule 20 can match eol */
2330 #line 567 "tokenizer.lex"
2331 {l(); handleRaw(as3_text, as3_leng);return T_STRING;}
2333 case YY_STATE_EOF(XMLTEXT):
2334 #line 568 "tokenizer.lex"
2335 {syntaxerror("unexpected end of file");}
2341 #line 572 "tokenizer.lex"
2342 {c(); BEGIN(DEFAULT);return handleregexp();}
2345 /* rule 22 can match eol */
2346 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2347 (yy_c_buf_p) = yy_cp -= 1;
2348 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2350 #line 573 "tokenizer.lex"
2351 {c(); BEGIN(DEFAULT);return handlehex();}
2354 /* rule 23 can match eol */
2355 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2356 (yy_c_buf_p) = yy_cp -= 1;
2357 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2359 #line 574 "tokenizer.lex"
2360 {c(); BEGIN(DEFAULT);return handlehexfloat();}
2363 /* rule 24 can match eol */
2364 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2365 (yy_c_buf_p) = yy_cp -= 1;
2366 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2368 #line 575 "tokenizer.lex"
2369 {c(); BEGIN(DEFAULT);return handleint();}
2372 /* rule 25 can match eol */
2373 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2374 (yy_c_buf_p) = yy_cp -= 1;
2375 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2377 #line 576 "tokenizer.lex"
2378 {c(); BEGIN(DEFAULT);return handlefloat();}
2383 #line 579 "tokenizer.lex"
2384 {c(); BEGIN(REGEXPOK);return m(T_DICTSTART);}
2388 #line 580 "tokenizer.lex"
2389 {c(); BEGIN(DEFAULT); return m('{');}
2393 #line 582 "tokenizer.lex"
2397 /* rule 29 can match eol */
2399 #line 583 "tokenizer.lex"
2403 /* rule 30 can match eol */
2404 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2405 (yy_c_buf_p) = yy_cp -= 1;
2406 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2408 #line 585 "tokenizer.lex"
2409 {c(); BEGIN(DEFAULT);return handlehex();}
2412 /* rule 31 can match eol */
2413 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2414 (yy_c_buf_p) = yy_cp -= 1;
2415 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2417 #line 586 "tokenizer.lex"
2418 {c(); BEGIN(DEFAULT);return handlehexfloat();}
2421 /* rule 32 can match eol */
2422 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2423 (yy_c_buf_p) = yy_cp -= 1;
2424 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2426 #line 587 "tokenizer.lex"
2427 {c(); BEGIN(DEFAULT);return handleint();}
2430 /* rule 33 can match eol */
2431 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2432 (yy_c_buf_p) = yy_cp -= 1;
2433 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2435 #line 588 "tokenizer.lex"
2436 {c(); BEGIN(DEFAULT);return handlefloat();}
2440 #line 589 "tokenizer.lex"
2441 {c(); BEGIN(DEFAULT);return m(KW_NAN);}
2445 #line 591 "tokenizer.lex"
2446 {/* for debugging: generates a tokenizer-level error */
2447 syntaxerror("3rr0r");}
2450 /* rule 36 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 594 "tokenizer.lex"
2456 {l();BEGIN(DEFAULT);handleLabel(as3_text, as3_leng-3);return T_FOR;}
2459 /* rule 37 can match eol */
2460 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2461 (yy_c_buf_p) = yy_cp -= 1;
2462 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2464 #line 595 "tokenizer.lex"
2465 {l();BEGIN(DEFAULT);handleLabel(as3_text, as3_leng-2);return T_DO;}
2468 /* rule 38 can match eol */
2469 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2470 (yy_c_buf_p) = yy_cp -= 1;
2471 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2473 #line 596 "tokenizer.lex"
2474 {l();BEGIN(DEFAULT);handleLabel(as3_text, as3_leng-5);return T_WHILE;}
2477 /* rule 39 can match eol */
2478 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2479 (yy_c_buf_p) = yy_cp -= 1;
2480 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2482 #line 597 "tokenizer.lex"
2483 {l();BEGIN(DEFAULT);handleLabel(as3_text, as3_leng-6);return T_SWITCH;}
2487 #line 598 "tokenizer.lex"
2488 {c();BEGIN(DEFAULT);a3_lval.id="";return T_FOR;}
2492 #line 599 "tokenizer.lex"
2493 {c();BEGIN(DEFAULT);a3_lval.id="";return T_DO;}
2497 #line 600 "tokenizer.lex"
2498 {c();BEGIN(DEFAULT);a3_lval.id="";return T_WHILE;}
2502 #line 601 "tokenizer.lex"
2503 {c();BEGIN(DEFAULT);a3_lval.id="";return T_SWITCH;}
2507 #line 603 "tokenizer.lex"
2508 {c();BEGIN(REGEXPOK);return m(T_ANDAND);}
2512 #line 604 "tokenizer.lex"
2513 {c();BEGIN(REGEXPOK);return m(T_OROR);}
2517 #line 605 "tokenizer.lex"
2518 {c();BEGIN(REGEXPOK);return m(T_NE);}
2522 #line 606 "tokenizer.lex"
2523 {c();BEGIN(REGEXPOK);return m(T_NEE);}
2527 #line 607 "tokenizer.lex"
2528 {c();BEGIN(REGEXPOK);return m(T_EQEQEQ);}
2532 #line 608 "tokenizer.lex"
2533 {c();BEGIN(REGEXPOK);return m(T_EQEQ);}
2537 #line 609 "tokenizer.lex"
2538 {c();BEGIN(REGEXPOK);return m(T_GE);}
2542 #line 610 "tokenizer.lex"
2543 {c();BEGIN(REGEXPOK);return m(T_LE);}
2547 #line 611 "tokenizer.lex"
2548 {c();BEGIN(DEFAULT);return m(T_MINUSMINUS);}
2552 #line 612 "tokenizer.lex"
2553 {c();BEGIN(DEFAULT);return m(T_PLUSPLUS);}
2557 #line 613 "tokenizer.lex"
2558 {c();BEGIN(REGEXPOK);return m(T_PLUSBY);}
2562 #line 614 "tokenizer.lex"
2563 {c();BEGIN(REGEXPOK);return m(T_XORBY);}
2567 #line 615 "tokenizer.lex"
2568 {c();BEGIN(REGEXPOK);return m(T_MINUSBY);}
2572 #line 616 "tokenizer.lex"
2573 {c();BEGIN(REGEXPOK);return m(T_DIVBY);}
2577 #line 617 "tokenizer.lex"
2578 {c();BEGIN(REGEXPOK);return m(T_MODBY);}
2582 #line 618 "tokenizer.lex"
2583 {c();BEGIN(REGEXPOK);return m(T_MULBY);}
2587 #line 619 "tokenizer.lex"
2588 {c();BEGIN(REGEXPOK);return m(T_ORBY);}
2592 #line 620 "tokenizer.lex"
2593 {c();BEGIN(REGEXPOK);return m(T_ANDBY);}
2597 #line 621 "tokenizer.lex"
2598 {c();BEGIN(REGEXPOK);return m(T_SHRBY);}
2602 #line 622 "tokenizer.lex"
2603 {c();BEGIN(REGEXPOK);return m(T_SHLBY);}
2607 #line 623 "tokenizer.lex"
2608 {c();BEGIN(REGEXPOK);return m(T_USHRBY);}
2612 #line 624 "tokenizer.lex"
2613 {c();BEGIN(REGEXPOK);return m(T_SHL);}
2617 #line 625 "tokenizer.lex"
2618 {c();BEGIN(REGEXPOK);return m(T_USHR);}
2622 #line 626 "tokenizer.lex"
2623 {c();BEGIN(REGEXPOK);return m(T_SHR);}
2627 #line 627 "tokenizer.lex"
2628 {c();BEGIN(REGEXPOK);return m(T_DOTDOTDOT);}
2632 #line 628 "tokenizer.lex"
2633 {c();BEGIN(REGEXPOK);return m(T_DOTDOT);}
2637 #line 629 "tokenizer.lex"
2638 {c();BEGIN(REGEXPOK);return m('.');}
2642 #line 630 "tokenizer.lex"
2643 {c();BEGIN(REGEXPOK);return m(T_COLONCOLON);}
2647 #line 631 "tokenizer.lex"
2648 {c();BEGIN(REGEXPOK);return m(':');}
2652 #line 632 "tokenizer.lex"
2653 {c();BEGIN(REGEXPOK);return m(KW_INSTANCEOF);}
2657 #line 633 "tokenizer.lex"
2658 {c();BEGIN(REGEXPOK);return m(KW_IMPLEMENTS);}
2662 #line 634 "tokenizer.lex"
2663 {c();BEGIN(DEFAULT);return m(KW_INTERFACE);}
2667 #line 635 "tokenizer.lex"
2668 {c();BEGIN(DEFAULT);return m(KW_NAMESPACE);}
2672 #line 636 "tokenizer.lex"
2673 {c();BEGIN(DEFAULT);return m(KW_PROTECTED);}
2677 #line 637 "tokenizer.lex"
2678 {c();BEGIN(DEFAULT);return m(KW_UNDEFINED);}
2682 #line 638 "tokenizer.lex"
2683 {c();BEGIN(DEFAULT);return m(KW_CONTINUE);}
2687 #line 639 "tokenizer.lex"
2688 {c();BEGIN(DEFAULT);return m(KW_OVERRIDE);}
2692 #line 640 "tokenizer.lex"
2693 {c();BEGIN(DEFAULT);return m(KW_INTERNAL);}
2697 #line 641 "tokenizer.lex"
2698 {c();BEGIN(DEFAULT);return m(KW_FUNCTION);}
2702 #line 642 "tokenizer.lex"
2703 {c();BEGIN(DEFAULT);return m(KW_FINALLY);}
2707 #line 643 "tokenizer.lex"
2708 {c();BEGIN(DEFAULT);return m(KW_DEFAULT);}
2712 #line 644 "tokenizer.lex"
2713 {c();BEGIN(DEFAULT);return m(KW_PACKAGE);}
2717 #line 645 "tokenizer.lex"
2718 {c();BEGIN(DEFAULT);return m(KW_PRIVATE);}
2722 #line 646 "tokenizer.lex"
2723 {c();BEGIN(DEFAULT);return m(KW_DYNAMIC);}
2727 #line 647 "tokenizer.lex"
2728 {c();BEGIN(DEFAULT);return m(KW_EXTENDS);}
2732 #line 648 "tokenizer.lex"
2733 {c();BEGIN(REGEXPOK);return m(KW_DELETE);}
2737 #line 649 "tokenizer.lex"
2738 {c();BEGIN(REGEXPOK);return m(KW_RETURN);}
2742 #line 650 "tokenizer.lex"
2743 {c();BEGIN(DEFAULT);return m(KW_PUBLIC);}
2747 #line 651 "tokenizer.lex"
2748 {c();BEGIN(DEFAULT);return m(KW_NATIVE);}
2752 #line 652 "tokenizer.lex"
2753 {c();BEGIN(DEFAULT);return m(KW_STATIC);}
2757 #line 653 "tokenizer.lex"
2758 {c();BEGIN(REGEXPOK);return m(KW_IMPORT);}
2762 #line 654 "tokenizer.lex"
2763 {c();BEGIN(REGEXPOK);return m(KW_TYPEOF);}
2767 #line 655 "tokenizer.lex"
2768 {c();BEGIN(REGEXPOK);return m(KW_THROW);}
2772 #line 656 "tokenizer.lex"
2773 {c();BEGIN(DEFAULT);return m(KW_CLASS);}
2777 #line 657 "tokenizer.lex"
2778 {c();BEGIN(DEFAULT);return m(KW_CONST);}
2782 #line 658 "tokenizer.lex"
2783 {c();BEGIN(DEFAULT);return m(KW_CATCH);}
2787 #line 659 "tokenizer.lex"
2788 {c();BEGIN(DEFAULT);return m(KW_FINAL);}
2792 #line 660 "tokenizer.lex"
2793 {c();BEGIN(DEFAULT);return m(KW_FALSE);}
2797 #line 661 "tokenizer.lex"
2798 {c();BEGIN(DEFAULT);return m(KW_BREAK);}
2802 #line 662 "tokenizer.lex"
2803 {c();BEGIN(DEFAULT);return m(KW_SUPER);}
2807 #line 663 "tokenizer.lex"
2808 {c();BEGIN(DEFAULT);return m(KW_EACH);}
2812 #line 664 "tokenizer.lex"
2813 {c();BEGIN(DEFAULT);return m(KW_VOID);}
2817 #line 665 "tokenizer.lex"
2818 {c();BEGIN(DEFAULT);return m(KW_TRUE);}
2822 #line 666 "tokenizer.lex"
2823 {c();BEGIN(DEFAULT);return m(KW_NULL);}
2827 #line 667 "tokenizer.lex"
2828 {c();BEGIN(DEFAULT);return m(KW_ELSE);}
2832 #line 668 "tokenizer.lex"
2833 {c();BEGIN(REGEXPOK);return m(KW_CASE);}
2837 #line 669 "tokenizer.lex"
2838 {c();BEGIN(REGEXPOK);return m(KW_WITH);}
2842 #line 670 "tokenizer.lex"
2843 {c();BEGIN(REGEXPOK);return m(KW_USE);}
2847 #line 671 "tokenizer.lex"
2848 {c();BEGIN(REGEXPOK);return m(KW_NEW);}
2852 #line 672 "tokenizer.lex"
2853 {c();BEGIN(DEFAULT);return m(KW_GET);}
2857 #line 673 "tokenizer.lex"
2858 {c();BEGIN(DEFAULT);return m(KW_SET);}
2862 #line 674 "tokenizer.lex"
2863 {c();BEGIN(DEFAULT);return m(KW_VAR);}
2867 #line 675 "tokenizer.lex"
2868 {c();BEGIN(DEFAULT);return m(KW_TRY);}
2872 #line 676 "tokenizer.lex"
2873 {c();BEGIN(REGEXPOK);return m(KW_IS) ;}
2877 #line 677 "tokenizer.lex"
2878 {c();BEGIN(REGEXPOK);return m(KW_IN) ;}
2882 #line 678 "tokenizer.lex"
2883 {c();BEGIN(DEFAULT);return m(KW_IF) ;}
2887 #line 679 "tokenizer.lex"
2888 {c();BEGIN(REGEXPOK);return m(KW_AS);}
2892 #line 680 "tokenizer.lex"
2893 {c();BEGIN(DEFAULT);return handleIdentifier();}
2897 #line 682 "tokenizer.lex"
2898 {c();BEGIN(DEFAULT);return m(as3_text[0]);}
2902 #line 683 "tokenizer.lex"
2903 {c();BEGIN(REGEXPOK);return m(as3_text[0]);}
2907 #line 684 "tokenizer.lex"
2908 {c();BEGIN(DEFAULT);return m(as3_text[0]);}
2913 #line 687 "tokenizer.lex"
2917 case YY_STATE_EOF(INITIAL):
2918 case YY_STATE_EOF(REGEXPOK):
2919 case YY_STATE_EOF(BEGINNING):
2920 case YY_STATE_EOF(DEFAULT):
2921 #line 689 "tokenizer.lex"
2923 void*b = leave_file();
2926 as3__delete_buffer(YY_CURRENT_BUFFER);
2929 as3__delete_buffer(YY_CURRENT_BUFFER);
2930 as3__switch_to_buffer(b);
2936 #line 701 "tokenizer.lex"
2939 #line 2940 "tokenizer.yy.c"
2941 case YY_END_OF_BUFFER:
2943 /* Amount of text matched not including the EOB char. */
2944 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
2946 /* Undo the effects of YY_DO_BEFORE_ACTION. */
2947 *yy_cp = (yy_hold_char);
2948 YY_RESTORE_YY_MORE_OFFSET
2950 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
2952 /* We're scanning a new file or input source. It's
2953 * possible that this happened because the user
2954 * just pointed as3_in at a new source and called
2955 * as3_lex(). If so, then we have to assure
2956 * consistency between YY_CURRENT_BUFFER and our
2957 * globals. Here is the right place to do so, because
2958 * this is the first action (other than possibly a
2959 * back-up) that will match for the new input source.
2961 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2962 YY_CURRENT_BUFFER_LVALUE->yy_input_file = as3_in;
2963 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
2966 /* Note that here we test for yy_c_buf_p "<=" to the position
2967 * of the first EOB in the buffer, since yy_c_buf_p will
2968 * already have been incremented past the NUL character
2969 * (since all states make transitions on EOB to the
2970 * end-of-buffer state). Contrast this with the test
2973 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2974 { /* This was really a NUL. */
2975 yy_state_type yy_next_state;
2977 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
2979 yy_current_state = yy_get_previous_state( );
2981 /* Okay, we're now positioned to make the NUL
2982 * transition. We couldn't have
2983 * yy_get_previous_state() go ahead and do it
2984 * for us because it doesn't know how to deal
2985 * with the possibility of jamming (and we don't
2986 * want to build jamming into it because then it
2987 * will run more slowly).
2990 yy_next_state = yy_try_NUL_trans( yy_current_state );
2992 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2994 if ( yy_next_state )
2996 /* Consume the NUL. */
2997 yy_cp = ++(yy_c_buf_p);
2998 yy_current_state = yy_next_state;
3004 yy_cp = (yy_last_accepting_cpos);
3005 yy_current_state = (yy_last_accepting_state);
3006 goto yy_find_action;
3010 else switch ( yy_get_next_buffer( ) )
3012 case EOB_ACT_END_OF_FILE:
3014 (yy_did_buffer_switch_on_eof) = 0;
3018 /* Note: because we've taken care in
3019 * yy_get_next_buffer() to have set up
3020 * as3_text, we can now set up
3021 * yy_c_buf_p so that if some total
3022 * hoser (like flex itself) wants to
3023 * call the scanner after we return the
3024 * YY_NULL, it'll still work - another
3025 * YY_NULL will get returned.
3027 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
3029 yy_act = YY_STATE_EOF(YY_START);
3035 if ( ! (yy_did_buffer_switch_on_eof) )
3041 case EOB_ACT_CONTINUE_SCAN:
3043 (yytext_ptr) + yy_amount_of_matched_text;
3045 yy_current_state = yy_get_previous_state( );
3047 yy_cp = (yy_c_buf_p);
3048 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3051 case EOB_ACT_LAST_MATCH:
3053 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
3055 yy_current_state = yy_get_previous_state( );
3057 yy_cp = (yy_c_buf_p);
3058 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3059 goto yy_find_action;
3066 "fatal flex scanner internal error--no action found" );
3067 } /* end of action switch */
3068 } /* end of scanning one token */
3069 } /* end of as3_lex */
3071 /* yy_get_next_buffer - try to read in a new buffer
3073 * Returns a code representing an action:
3074 * EOB_ACT_LAST_MATCH -
3075 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3076 * EOB_ACT_END_OF_FILE - end of file
3078 static int yy_get_next_buffer (void)
3080 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
3081 register char *source = (yytext_ptr);
3082 register int number_to_move, i;
3085 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
3087 "fatal flex scanner internal error--end of buffer missed" );
3089 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
3090 { /* Don't try to fill the buffer, so this is an EOF. */
3091 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
3093 /* We matched a single character, the EOB, so
3094 * treat this as a final EOF.
3096 return EOB_ACT_END_OF_FILE;
3101 /* We matched some text prior to the EOB, first
3104 return EOB_ACT_LAST_MATCH;
3108 /* Try to read more data. */
3110 /* First move last chars to start of buffer. */
3111 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
3113 for ( i = 0; i < number_to_move; ++i )
3114 *(dest++) = *(source++);
3116 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
3117 /* don't do the read, it's not guaranteed to return an EOF,
3120 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
3125 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
3127 while ( num_to_read <= 0 )
3128 { /* Not enough room in the buffer - grow it. */
3130 /* just a shorter name for the current buffer */
3131 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
3133 int yy_c_buf_p_offset =
3134 (int) ((yy_c_buf_p) - b->yy_ch_buf);
3136 if ( b->yy_is_our_buffer )
3138 int new_size = b->yy_buf_size * 2;
3140 if ( new_size <= 0 )
3141 b->yy_buf_size += b->yy_buf_size / 8;
3143 b->yy_buf_size *= 2;
3145 b->yy_ch_buf = (char *)
3146 /* Include room in for 2 EOB chars. */
3147 as3_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
3150 /* Can't grow it, we don't own it. */
3153 if ( ! b->yy_ch_buf )
3155 "fatal error - scanner input buffer overflow" );
3157 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
3159 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
3164 if ( num_to_read > YY_READ_BUF_SIZE )
3165 num_to_read = YY_READ_BUF_SIZE;
3167 /* Read in more data. */
3168 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
3169 (yy_n_chars), (size_t) num_to_read );
3171 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3174 if ( (yy_n_chars) == 0 )
3176 if ( number_to_move == YY_MORE_ADJ )
3178 ret_val = EOB_ACT_END_OF_FILE;
3179 as3_restart(as3_in );
3184 ret_val = EOB_ACT_LAST_MATCH;
3185 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
3186 YY_BUFFER_EOF_PENDING;
3191 ret_val = EOB_ACT_CONTINUE_SCAN;
3193 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
3194 /* Extend the array by 50%, plus the number we really need. */
3195 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
3196 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) as3_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
3197 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3198 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
3201 (yy_n_chars) += number_to_move;
3202 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
3203 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
3205 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
3210 /* yy_get_previous_state - get the state just before the EOB char was reached */
3212 static yy_state_type yy_get_previous_state (void)
3214 register yy_state_type yy_current_state;
3215 register char *yy_cp;
3217 yy_current_state = (yy_start);
3218 yy_current_state += YY_AT_BOL();
3220 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
3222 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3223 if ( yy_accept[yy_current_state] )
3225 (yy_last_accepting_state) = yy_current_state;
3226 (yy_last_accepting_cpos) = yy_cp;
3228 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3230 yy_current_state = (int) yy_def[yy_current_state];
3231 if ( yy_current_state >= 617 )
3232 yy_c = yy_meta[(unsigned int) yy_c];
3234 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3237 return yy_current_state;
3240 /* yy_try_NUL_trans - try to make a transition on the NUL character
3243 * next_state = yy_try_NUL_trans( current_state );
3245 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
3247 register int yy_is_jam;
3248 register char *yy_cp = (yy_c_buf_p);
3250 register YY_CHAR yy_c = 1;
3251 if ( yy_accept[yy_current_state] )
3253 (yy_last_accepting_state) = yy_current_state;
3254 (yy_last_accepting_cpos) = yy_cp;
3256 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3258 yy_current_state = (int) yy_def[yy_current_state];
3259 if ( yy_current_state >= 617 )
3260 yy_c = yy_meta[(unsigned int) yy_c];
3262 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3263 yy_is_jam = (yy_current_state == 616);
3265 return yy_is_jam ? 0 : yy_current_state;
3268 static void yyunput (int c, register char * yy_bp )
3270 register char *yy_cp;
3272 yy_cp = (yy_c_buf_p);
3274 /* undo effects of setting up as3_text */
3275 *yy_cp = (yy_hold_char);
3277 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
3278 { /* need to shift things up to make room */
3279 /* +2 for EOB chars. */
3280 register int number_to_move = (yy_n_chars) + 2;
3281 register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
3282 YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
3283 register char *source =
3284 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
3286 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3287 *--dest = *--source;
3289 yy_cp += (int) (dest - source);
3290 yy_bp += (int) (dest - source);
3291 YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
3292 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
3294 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
3295 YY_FATAL_ERROR( "flex scanner push-back overflow" );
3298 *--yy_cp = (char) c;
3300 (yytext_ptr) = yy_bp;
3301 (yy_hold_char) = *yy_cp;
3302 (yy_c_buf_p) = yy_cp;
3307 static int yyinput (void)
3309 static int input (void)
3315 *(yy_c_buf_p) = (yy_hold_char);
3317 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
3319 /* yy_c_buf_p now points to the character we want to return.
3320 * If this occurs *before* the EOB characters, then it's a
3321 * valid NUL; if not, then we've hit the end of the buffer.
3323 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3324 /* This was really a NUL. */
3325 *(yy_c_buf_p) = '\0';
3328 { /* need more input */
3329 int offset = (yy_c_buf_p) - (yytext_ptr);
3332 switch ( yy_get_next_buffer( ) )
3334 case EOB_ACT_LAST_MATCH:
3335 /* This happens because yy_g_n_b()
3336 * sees that we've accumulated a
3337 * token and flags that we need to
3338 * try matching the token before
3339 * proceeding. But for input(),
3340 * there's no matching to consider.
3341 * So convert the EOB_ACT_LAST_MATCH
3342 * to EOB_ACT_END_OF_FILE.
3345 /* Reset buffer status. */
3346 as3_restart(as3_in );
3350 case EOB_ACT_END_OF_FILE:
3355 if ( ! (yy_did_buffer_switch_on_eof) )
3364 case EOB_ACT_CONTINUE_SCAN:
3365 (yy_c_buf_p) = (yytext_ptr) + offset;
3371 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
3372 *(yy_c_buf_p) = '\0'; /* preserve as3_text */
3373 (yy_hold_char) = *++(yy_c_buf_p);
3375 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
3379 #endif /* ifndef YY_NO_INPUT */
3381 /** Immediately switch to a different input stream.
3382 * @param input_file A readable stream.
3384 * @note This function does not reset the start condition to @c INITIAL .
3386 void as3_restart (FILE * input_file )
3389 if ( ! YY_CURRENT_BUFFER ){
3390 as3_ensure_buffer_stack ();
3391 YY_CURRENT_BUFFER_LVALUE =
3392 as3__create_buffer(as3_in,YY_BUF_SIZE );
3395 as3__init_buffer(YY_CURRENT_BUFFER,input_file );
3396 as3__load_buffer_state( );
3399 /** Switch to a different input buffer.
3400 * @param new_buffer The new input buffer.
3403 void as3__switch_to_buffer (YY_BUFFER_STATE new_buffer )
3406 /* TODO. We should be able to replace this entire function body
3408 * as3_pop_buffer_state();
3409 * as3_push_buffer_state(new_buffer);
3411 as3_ensure_buffer_stack ();
3412 if ( YY_CURRENT_BUFFER == new_buffer )
3415 if ( YY_CURRENT_BUFFER )
3417 /* Flush out information for old buffer. */
3418 *(yy_c_buf_p) = (yy_hold_char);
3419 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3420 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3423 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3424 as3__load_buffer_state( );
3426 /* We don't actually know whether we did this switch during
3427 * EOF (as3_wrap()) processing, but the only time this flag
3428 * is looked at is after as3_wrap() is called, so it's safe
3429 * to go ahead and always set it.
3431 (yy_did_buffer_switch_on_eof) = 1;
3434 static void as3__load_buffer_state (void)
3436 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3437 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
3438 as3_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
3439 (yy_hold_char) = *(yy_c_buf_p);
3442 /** Allocate and initialize an input buffer state.
3443 * @param file A readable stream.
3444 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
3446 * @return the allocated buffer state.
3448 YY_BUFFER_STATE as3__create_buffer (FILE * file, int size )
3452 b = (YY_BUFFER_STATE) as3_alloc(sizeof( struct yy_buffer_state ) );
3454 YY_FATAL_ERROR( "out of dynamic memory in as3__create_buffer()" );
3456 b->yy_buf_size = size;
3458 /* yy_ch_buf has to be 2 characters longer than the size given because
3459 * we need to put in 2 end-of-buffer characters.
3461 b->yy_ch_buf = (char *) as3_alloc(b->yy_buf_size + 2 );
3462 if ( ! b->yy_ch_buf )
3463 YY_FATAL_ERROR( "out of dynamic memory in as3__create_buffer()" );
3465 b->yy_is_our_buffer = 1;
3467 as3__init_buffer(b,file );
3472 /** Destroy the buffer.
3473 * @param b a buffer created with as3__create_buffer()
3476 void as3__delete_buffer (YY_BUFFER_STATE b )
3482 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
3483 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
3485 if ( b->yy_is_our_buffer )
3486 as3_free((void *) b->yy_ch_buf );
3488 as3_free((void *) b );
3491 #ifndef _UNISTD_H /* assume unistd.h has isatty() for us */
3495 #ifdef __THROW /* this is a gnuism */
3496 extern int isatty (int ) __THROW;
3498 extern int isatty (int );
3505 /* Initializes or reinitializes a buffer.
3506 * This function is sometimes called more than once on the same buffer,
3507 * such as during a as3_restart() or at EOF.
3509 static void as3__init_buffer (YY_BUFFER_STATE b, FILE * file )
3514 as3__flush_buffer(b );
3516 b->yy_input_file = file;
3517 b->yy_fill_buffer = 1;
3519 /* If b is the current buffer, then as3__init_buffer was _probably_
3520 * called from as3_restart() or through yy_get_next_buffer.
3521 * In that case, we don't want to reset the lineno or column.
3523 if (b != YY_CURRENT_BUFFER){
3524 b->yy_bs_lineno = 1;
3525 b->yy_bs_column = 0;
3528 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
3533 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
3534 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
3537 void as3__flush_buffer (YY_BUFFER_STATE b )
3544 /* We always need two end-of-buffer characters. The first causes
3545 * a transition to the end-of-buffer state. The second causes
3546 * a jam in that state.
3548 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3549 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3551 b->yy_buf_pos = &b->yy_ch_buf[0];
3554 b->yy_buffer_status = YY_BUFFER_NEW;
3556 if ( b == YY_CURRENT_BUFFER )
3557 as3__load_buffer_state( );
3560 /** Pushes the new state onto the stack. The new state becomes
3561 * the current state. This function will allocate the stack
3563 * @param new_buffer The new state.
3566 void as3_push_buffer_state (YY_BUFFER_STATE new_buffer )
3568 if (new_buffer == NULL)
3571 as3_ensure_buffer_stack();
3573 /* This block is copied from as3__switch_to_buffer. */
3574 if ( YY_CURRENT_BUFFER )
3576 /* Flush out information for old buffer. */
3577 *(yy_c_buf_p) = (yy_hold_char);
3578 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3579 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3582 /* Only push if top exists. Otherwise, replace top. */
3583 if (YY_CURRENT_BUFFER)
3584 (yy_buffer_stack_top)++;
3585 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3587 /* copied from as3__switch_to_buffer. */
3588 as3__load_buffer_state( );
3589 (yy_did_buffer_switch_on_eof) = 1;
3592 /** Removes and deletes the top of the stack, if present.
3593 * The next element becomes the new top.
3596 void as3_pop_buffer_state (void)
3598 if (!YY_CURRENT_BUFFER)
3601 as3__delete_buffer(YY_CURRENT_BUFFER );
3602 YY_CURRENT_BUFFER_LVALUE = NULL;
3603 if ((yy_buffer_stack_top) > 0)
3604 --(yy_buffer_stack_top);
3606 if (YY_CURRENT_BUFFER) {
3607 as3__load_buffer_state( );
3608 (yy_did_buffer_switch_on_eof) = 1;
3612 /* Allocates the stack if it does not exist.
3613 * Guarantees space for at least one push.
3615 static void as3_ensure_buffer_stack (void)
3619 if (!(yy_buffer_stack)) {
3621 /* First allocation is just for 2 elements, since we don't know if this
3622 * scanner will even need a stack. We use 2 instead of 1 to avoid an
3623 * immediate realloc on the next call.
3626 (yy_buffer_stack) = (struct yy_buffer_state**)as3_alloc
3627 (num_to_alloc * sizeof(struct yy_buffer_state*)
3629 if ( ! (yy_buffer_stack) )
3630 YY_FATAL_ERROR( "out of dynamic memory in as3_ensure_buffer_stack()" );
3632 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
3634 (yy_buffer_stack_max) = num_to_alloc;
3635 (yy_buffer_stack_top) = 0;
3639 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
3641 /* Increase the buffer to prepare for a possible push. */
3642 int grow_size = 8 /* arbitrary grow size */;
3644 num_to_alloc = (yy_buffer_stack_max) + grow_size;
3645 (yy_buffer_stack) = (struct yy_buffer_state**)as3_realloc
3647 num_to_alloc * sizeof(struct yy_buffer_state*)
3649 if ( ! (yy_buffer_stack) )
3650 YY_FATAL_ERROR( "out of dynamic memory in as3_ensure_buffer_stack()" );
3652 /* zero only the new slots.*/
3653 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
3654 (yy_buffer_stack_max) = num_to_alloc;
3658 /** Setup the input buffer state to scan directly from a user-specified character buffer.
3659 * @param base the character buffer
3660 * @param size the size in bytes of the character buffer
3662 * @return the newly allocated buffer state object.
3664 YY_BUFFER_STATE as3__scan_buffer (char * base, yy_size_t size )
3669 base[size-2] != YY_END_OF_BUFFER_CHAR ||
3670 base[size-1] != YY_END_OF_BUFFER_CHAR )
3671 /* They forgot to leave room for the EOB's. */
3674 b = (YY_BUFFER_STATE) as3_alloc(sizeof( struct yy_buffer_state ) );
3676 YY_FATAL_ERROR( "out of dynamic memory in as3__scan_buffer()" );
3678 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
3679 b->yy_buf_pos = b->yy_ch_buf = base;
3680 b->yy_is_our_buffer = 0;
3681 b->yy_input_file = 0;
3682 b->yy_n_chars = b->yy_buf_size;
3683 b->yy_is_interactive = 0;
3685 b->yy_fill_buffer = 0;
3686 b->yy_buffer_status = YY_BUFFER_NEW;
3688 as3__switch_to_buffer(b );
3693 /** Setup the input buffer state to scan a string. The next call to as3_lex() will
3694 * scan from a @e copy of @a str.
3695 * @param yystr a NUL-terminated string to scan
3697 * @return the newly allocated buffer state object.
3698 * @note If you want to scan bytes that may contain NUL values, then use
3699 * as3__scan_bytes() instead.
3701 YY_BUFFER_STATE as3__scan_string (yyconst char * yystr )
3704 return as3__scan_bytes(yystr,strlen(yystr) );
3707 /** Setup the input buffer state to scan the given bytes. The next call to as3_lex() will
3708 * scan from a @e copy of @a bytes.
3709 * @param bytes the byte buffer to scan
3710 * @param len the number of bytes in the buffer pointed to by @a bytes.
3712 * @return the newly allocated buffer state object.
3714 YY_BUFFER_STATE as3__scan_bytes (yyconst char * yybytes, int _yybytes_len )
3721 /* Get memory for full buffer, including space for trailing EOB's. */
3722 n = _yybytes_len + 2;
3723 buf = (char *) as3_alloc(n );
3725 YY_FATAL_ERROR( "out of dynamic memory in as3__scan_bytes()" );
3727 for ( i = 0; i < _yybytes_len; ++i )
3728 buf[i] = yybytes[i];
3730 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
3732 b = as3__scan_buffer(buf,n );
3734 YY_FATAL_ERROR( "bad buffer in as3__scan_bytes()" );
3736 /* It's okay to grow etc. this buffer, and we should throw it
3737 * away when we're done.
3739 b->yy_is_our_buffer = 1;
3744 #ifndef YY_EXIT_FAILURE
3745 #define YY_EXIT_FAILURE 2
3748 static void yy_fatal_error (yyconst char* msg )
3750 (void) fprintf( stderr, "%s\n", msg );
3751 exit( YY_EXIT_FAILURE );
3754 /* Redefine yyless() so it works in section 3 code. */
3760 /* Undo effects of setting up as3_text. */ \
3761 int yyless_macro_arg = (n); \
3762 YY_LESS_LINENO(yyless_macro_arg);\
3763 as3_text[as3_leng] = (yy_hold_char); \
3764 (yy_c_buf_p) = as3_text + yyless_macro_arg; \
3765 (yy_hold_char) = *(yy_c_buf_p); \
3766 *(yy_c_buf_p) = '\0'; \
3767 as3_leng = yyless_macro_arg; \
3771 /* Accessor methods (get/set functions) to struct members. */
3773 /** Get the current line number.
3776 int as3_get_lineno (void)
3782 /** Get the input stream.
3785 FILE *as3_get_in (void)
3790 /** Get the output stream.
3793 FILE *as3_get_out (void)
3798 /** Get the length of the current token.
3801 int as3_get_leng (void)
3806 /** Get the current token.
3810 char *as3_get_text (void)
3815 /** Set the current line number.
3816 * @param line_number
3819 void as3_set_lineno (int line_number )
3822 as3_lineno = line_number;
3825 /** Set the input stream. This does not discard the current
3827 * @param in_str A readable stream.
3829 * @see as3__switch_to_buffer
3831 void as3_set_in (FILE * in_str )
3836 void as3_set_out (FILE * out_str )
3841 int as3_get_debug (void)
3843 return as3__flex_debug;
3846 void as3_set_debug (int bdebug )
3848 as3__flex_debug = bdebug ;
3851 static int yy_init_globals (void)
3853 /* Initialization is the same as for the non-reentrant scanner.
3854 * This function is called from as3_lex_destroy(), so don't allocate here.
3857 (yy_buffer_stack) = 0;
3858 (yy_buffer_stack_top) = 0;
3859 (yy_buffer_stack_max) = 0;
3860 (yy_c_buf_p) = (char *) 0;
3864 /* Defined in main.c */
3869 as3_in = (FILE *) 0;
3870 as3_out = (FILE *) 0;
3873 /* For future reference: Set errno on error, since we are called by
3879 /* as3_lex_destroy is for both reentrant and non-reentrant scanners. */
3880 int as3_lex_destroy (void)
3883 /* Pop the buffer stack, destroying each element. */
3884 while(YY_CURRENT_BUFFER){
3885 as3__delete_buffer(YY_CURRENT_BUFFER );
3886 YY_CURRENT_BUFFER_LVALUE = NULL;
3887 as3_pop_buffer_state();
3890 /* Destroy the stack itself. */
3891 as3_free((yy_buffer_stack) );
3892 (yy_buffer_stack) = NULL;
3894 /* Reset the globals. This is important in a non-reentrant scanner so the next time
3895 * as3_lex() is called, initialization will occur. */
3902 * Internal utility routines.
3906 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
3909 for ( i = 0; i < n; ++i )
3914 #ifdef YY_NEED_STRLEN
3915 static int yy_flex_strlen (yyconst char * s )
3918 for ( n = 0; s[n]; ++n )
3925 void *as3_alloc (yy_size_t size )
3927 return (void *) malloc( size );
3930 void *as3_realloc (void * ptr, yy_size_t size )
3932 /* The cast to (char *) in the following accommodates both
3933 * implementations that use char* generic pointers, and those
3934 * that use void* generic pointers. It works with the latter
3935 * because both ANSI C and C++ allow castless assignment from
3936 * any pointer type to void*, and deal with argument conversions
3937 * as though doing an assignment.
3939 return (void *) realloc( (char *) ptr, size );
3942 void as3_free (void * ptr )
3944 free( (char *) ptr ); /* see as3_realloc() for (char *) cast */
3947 #define YYTABLES_NAME "yytables"
3949 #line 701 "tokenizer.lex"
3958 static int tokenerror()
3960 char c1=as3_text[0];
3962 buf[0] = as3_text[0];
3964 for(t=1;t<128;t++) {
3965 char c = buf[t]=input();
3966 if(c=='\n' || c==EOF) {
3971 if(c1>='0' && c1<='9')
3972 syntaxerror("syntax error: %s (identifiers must not start with a digit)");
3974 syntaxerror("syntax error: %s", buf);
3981 static char mbuf[256];
3982 char*token2string(enum yytokentype nr, YYSTYPE v)
3985 char*s = malloc(v.str.len+10);
3986 strcpy(s, "<string>");
3987 memcpy(s+8, v.str.str, v.str.len);
3988 sprintf(s+8+v.str.len, " (%d bytes)", v.str.len);
3991 else if(nr==T_REGEXP) {
3992 char*s = malloc(strlen(v.regexp.pattern)+10);
3993 sprintf(s, "<regexp>%s", v.regexp.pattern);
3996 else if(nr==T_IDENTIFIER) {
3997 char*s = malloc(strlen(v.id)+10);
3998 sprintf(s, "<ID>%s", v.id);
4001 else if(nr==T_INT) return "<int>";
4002 else if(nr==T_UINT) return "<uint>";
4003 else if(nr==T_FLOAT) return "<float>";
4004 else if(nr==T_EOF) return "***END***";
4005 else if(nr==T_GE) return ">=";
4006 else if(nr==T_LE) return "<=";
4007 else if(nr==T_MINUSMINUS) return "--";
4008 else if(nr==T_PLUSPLUS) return "++";
4009 else if(nr==KW_IMPLEMENTS) return "implements";
4010 else if(nr==KW_INTERFACE) return "interface";
4011 else if(nr==KW_NAMESPACE) return "namespace";
4012 else if(nr==KW_PROTECTED) return "protected";
4013 else if(nr==KW_OVERRIDE) return "override";
4014 else if(nr==KW_INTERNAL) return "internal";
4015 else if(nr==KW_FUNCTION) return "function";
4016 else if(nr==KW_PACKAGE) return "package";
4017 else if(nr==KW_PRIVATE) return "private";
4018 else if(nr==KW_BOOLEAN) return "Boolean";
4019 else if(nr==KW_DYNAMIC) return "dynamic";
4020 else if(nr==KW_EXTENDS) return "extends";
4021 else if(nr==KW_PUBLIC) return "public";
4022 else if(nr==KW_NATIVE) return "native";
4023 else if(nr==KW_STATIC) return "static";
4024 else if(nr==KW_IMPORT) return "import";
4025 else if(nr==KW_NUMBER) return "number";
4026 else if(nr==KW_CLASS) return "class";
4027 else if(nr==KW_CONST) return "const";
4028 else if(nr==KW_FINAL) return "final";
4029 else if(nr==KW_FALSE) return "False";
4030 else if(nr==KW_TRUE) return "True";
4031 else if(nr==KW_UINT) return "uint";
4032 else if(nr==KW_NULL) return "null";
4033 else if(nr==KW_ELSE) return "else";
4034 else if(nr==KW_USE) return "use";
4035 else if(nr==KW_INT) return "int";
4036 else if(nr==KW_NEW) return "new";
4037 else if(nr==KW_GET) return "get";
4038 else if(nr==KW_SET) return "set";
4039 else if(nr==KW_VAR) return "var";
4040 else if(nr==KW_IS) return "is";
4041 else if(nr==KW_AS) return "as";
4043 sprintf(mbuf, "%d", nr);
4048 void tokenizer_begin_xml()
4052 void tokenizer_begin_xmltext()
4056 void tokenizer_end_xmltext()
4060 void tokenizer_end_xml()
4065 void initialize_scanner()