1 #line 2 "tokenizer.yy.c"
3 #line 4 "tokenizer.yy.c"
5 #define YY_INT_ALIGNED short int
7 /* A lexical scanner generated by flex */
9 #define yy_create_buffer as3__create_buffer
10 #define yy_delete_buffer as3__delete_buffer
11 #define yy_flex_debug as3__flex_debug
12 #define yy_init_buffer as3__init_buffer
13 #define yy_flush_buffer as3__flush_buffer
14 #define yy_load_buffer_state as3__load_buffer_state
15 #define yy_switch_to_buffer as3__switch_to_buffer
17 #define yyleng as3_leng
19 #define yylineno as3_lineno
21 #define yyrestart as3_restart
22 #define yytext as3_text
23 #define yywrap as3_wrap
24 #define yyalloc as3_alloc
25 #define yyrealloc as3_realloc
26 #define yyfree as3_free
29 #define YY_FLEX_MAJOR_VERSION 2
30 #define YY_FLEX_MINOR_VERSION 5
31 #define YY_FLEX_SUBMINOR_VERSION 35
32 #if YY_FLEX_SUBMINOR_VERSION > 0
36 /* First, we deal with platform-specific or compiler-specific issues. */
38 /* begin standard C headers. */
44 /* end standard C headers. */
46 /* flex integer type definitions */
51 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
53 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
55 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
56 * if you want the limit (max/min) macros for int types.
58 #ifndef __STDC_LIMIT_MACROS
59 #define __STDC_LIMIT_MACROS 1
63 typedef int8_t flex_int8_t;
64 typedef uint8_t flex_uint8_t;
65 typedef int16_t flex_int16_t;
66 typedef uint16_t flex_uint16_t;
67 typedef int32_t flex_int32_t;
68 typedef uint32_t flex_uint32_t;
70 typedef signed char flex_int8_t;
71 typedef short int flex_int16_t;
72 typedef int flex_int32_t;
73 typedef unsigned char flex_uint8_t;
74 typedef unsigned short int flex_uint16_t;
75 typedef unsigned int flex_uint32_t;
78 /* Limits of integral types. */
80 #define INT8_MIN (-128)
83 #define INT16_MIN (-32767-1)
86 #define INT32_MIN (-2147483647-1)
89 #define INT8_MAX (127)
92 #define INT16_MAX (32767)
95 #define INT32_MAX (2147483647)
98 #define UINT8_MAX (255U)
101 #define UINT16_MAX (65535U)
104 #define UINT32_MAX (4294967295U)
107 #endif /* ! FLEXINT_H */
111 /* The "const" storage-class-modifier is valid. */
114 #else /* ! __cplusplus */
116 /* C99 requires __STDC__ to be defined as 1. */
117 #if defined (__STDC__)
121 #endif /* defined (__STDC__) */
122 #endif /* ! __cplusplus */
125 #define yyconst const
130 /* Returned upon end-of-file. */
133 /* Promotes a possibly negative, possibly signed char to an unsigned
134 * integer for use as an array index. If the signed char is negative,
135 * we want to instead treat it as an 8-bit unsigned char, hence the
138 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
140 /* Enter a start condition. This macro really ought to take a parameter,
141 * but we do it the disgusting crufty way forced on us by the ()-less
142 * definition of BEGIN.
144 #define BEGIN (yy_start) = 1 + 2 *
146 /* Translate the current start state into a value that can be later handed
147 * to BEGIN to return to the state. The YYSTATE alias is for lex
150 #define YY_START (((yy_start) - 1) / 2)
151 #define YYSTATE YY_START
153 /* Action number for EOF rule of a given start state. */
154 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
156 /* Special action meaning "start processing a new file". */
157 #define YY_NEW_FILE as3_restart(as3_in )
159 #define YY_END_OF_BUFFER_CHAR 0
161 /* Size of default input buffer. */
163 #define YY_BUF_SIZE 16384
166 /* The state buf must be large enough to hold one state per character in the main buffer.
168 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
170 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
171 #define YY_TYPEDEF_YY_BUFFER_STATE
172 typedef struct yy_buffer_state *YY_BUFFER_STATE;
177 extern FILE *as3_in, *as3_out;
179 #define EOB_ACT_CONTINUE_SCAN 0
180 #define EOB_ACT_END_OF_FILE 1
181 #define EOB_ACT_LAST_MATCH 2
183 #define YY_LESS_LINENO(n)
185 /* Return all but the first "n" matched characters back to the input stream. */
189 /* Undo effects of setting up as3_text. */ \
190 int yyless_macro_arg = (n); \
191 YY_LESS_LINENO(yyless_macro_arg);\
192 *yy_cp = (yy_hold_char); \
193 YY_RESTORE_YY_MORE_OFFSET \
194 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
195 YY_DO_BEFORE_ACTION; /* set up as3_text again */ \
199 #define unput(c) yyunput( c, (yytext_ptr) )
201 #ifndef YY_TYPEDEF_YY_SIZE_T
202 #define YY_TYPEDEF_YY_SIZE_T
203 typedef size_t yy_size_t;
206 #ifndef YY_STRUCT_YY_BUFFER_STATE
207 #define YY_STRUCT_YY_BUFFER_STATE
208 struct yy_buffer_state
212 char *yy_ch_buf; /* input buffer */
213 char *yy_buf_pos; /* current position in input buffer */
215 /* Size of input buffer in bytes, not including room for EOB
218 yy_size_t yy_buf_size;
220 /* Number of characters read into yy_ch_buf, not including EOB
225 /* Whether we "own" the buffer - i.e., we know we created it,
226 * and can realloc() it to grow it, and should free() it to
229 int yy_is_our_buffer;
231 /* Whether this is an "interactive" input source; if so, and
232 * if we're using stdio for input, then we want to use getc()
233 * instead of fread(), to make sure we stop fetching input after
236 int yy_is_interactive;
238 /* Whether we're considered to be at the beginning of a line.
239 * If so, '^' rules will be active on the next match, otherwise
244 int yy_bs_lineno; /**< The line count. */
245 int yy_bs_column; /**< The column count. */
247 /* Whether to try to fill the input buffer when we reach the
252 int yy_buffer_status;
254 #define YY_BUFFER_NEW 0
255 #define YY_BUFFER_NORMAL 1
256 /* When an EOF's been seen but there's still some text to process
257 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
258 * shouldn't try reading from the input source any more. We might
259 * still have a bunch of tokens to match, though, because of
260 * possible backing-up.
262 * When we actually see the EOF, we change the status to "new"
263 * (via as3_restart()), so that the user can continue scanning by
264 * just pointing as3_in at a new input file.
266 #define YY_BUFFER_EOF_PENDING 2
269 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
271 /* Stack of input buffers. */
272 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
273 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
274 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
276 /* We provide macros for accessing buffer states in case in the
277 * future we want to put the buffer states in a more general
280 * Returns the top of the stack, or NULL.
282 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
283 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
286 /* Same as previous macro, but useful when we know that the buffer stack is not
287 * NULL or when we need an lvalue. For internal use only.
289 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
291 /* yy_hold_char holds the character lost when as3_text is formed. */
292 static char yy_hold_char;
293 static int yy_n_chars; /* number of characters read into yy_ch_buf */
296 /* Points to current character in buffer. */
297 static char *yy_c_buf_p = (char *) 0;
298 static int yy_init = 0; /* whether we need to initialize */
299 static int yy_start = 0; /* start state number */
301 /* Flag which is used to allow as3_wrap()'s to do buffer switches
302 * instead of setting up a fresh as3_in. A bit of a hack ...
304 static int yy_did_buffer_switch_on_eof;
306 void as3_restart (FILE *input_file );
307 void as3__switch_to_buffer (YY_BUFFER_STATE new_buffer );
308 YY_BUFFER_STATE as3__create_buffer (FILE *file,int size );
309 void as3__delete_buffer (YY_BUFFER_STATE b );
310 void as3__flush_buffer (YY_BUFFER_STATE b );
311 void as3_push_buffer_state (YY_BUFFER_STATE new_buffer );
312 void as3_pop_buffer_state (void );
314 static void as3_ensure_buffer_stack (void );
315 static void as3__load_buffer_state (void );
316 static void as3__init_buffer (YY_BUFFER_STATE b,FILE *file );
318 #define YY_FLUSH_BUFFER as3__flush_buffer(YY_CURRENT_BUFFER )
320 YY_BUFFER_STATE as3__scan_buffer (char *base,yy_size_t size );
321 YY_BUFFER_STATE as3__scan_string (yyconst char *yy_str );
322 YY_BUFFER_STATE as3__scan_bytes (yyconst char *bytes,int len );
324 void *as3_alloc (yy_size_t );
325 void *as3_realloc (void *,yy_size_t );
326 void as3_free (void * );
328 #define yy_new_buffer as3__create_buffer
330 #define yy_set_interactive(is_interactive) \
332 if ( ! YY_CURRENT_BUFFER ){ \
333 as3_ensure_buffer_stack (); \
334 YY_CURRENT_BUFFER_LVALUE = \
335 as3__create_buffer(as3_in,YY_BUF_SIZE ); \
337 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
340 #define yy_set_bol(at_bol) \
342 if ( ! YY_CURRENT_BUFFER ){\
343 as3_ensure_buffer_stack (); \
344 YY_CURRENT_BUFFER_LVALUE = \
345 as3__create_buffer(as3_in,YY_BUF_SIZE ); \
347 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
350 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
352 /* Begin user sect3 */
354 typedef unsigned char YY_CHAR;
356 FILE *as3_in = (FILE *) 0, *as3_out = (FILE *) 0;
358 typedef int yy_state_type;
360 extern int as3_lineno;
364 extern char *as3_text;
365 #define yytext_ptr as3_text
367 static yy_state_type yy_get_previous_state (void );
368 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
369 static int yy_get_next_buffer (void );
370 static void yy_fatal_error (yyconst char msg[] );
372 /* Done after the current pattern has been matched and before the
373 * corresponding action - sets up as3_text.
375 #define YY_DO_BEFORE_ACTION \
376 (yytext_ptr) = yy_bp; \
377 as3_leng = (size_t) (yy_cp - yy_bp); \
378 (yy_hold_char) = *yy_cp; \
380 (yy_c_buf_p) = yy_cp;
382 #define YY_NUM_RULES 130
383 #define YY_END_OF_BUFFER 131
384 /* This struct is not used in this scanner,
385 but its presence is necessary. */
388 flex_int32_t yy_verify;
391 static yyconst flex_int16_t yy_accept[675] =
393 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
394 0, 0, 131, 130, 31, 127, 130, 127, 127, 127,
395 130, 127, 128, 126, 127, 127, 73, 127, 130, 130,
396 130, 75, 127, 127, 127, 125, 125, 126, 127, 125,
397 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
398 125, 125, 125, 125, 125, 125, 29, 127, 126, 130,
399 130, 125, 129, 31, 127, 129, 127, 127, 127, 129,
400 127, 128, 126, 127, 127, 73, 127, 129, 129, 129,
401 75, 127, 127, 127, 125, 125, 126, 127, 125, 125,
402 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
404 125, 125, 125, 125, 125, 28, 127, 126, 129, 129,
405 125, 29, 127, 127, 73, 127, 129, 129, 129, 17,
406 17, 19, 20, 18, 16, 16, 129, 12, 15, 11,
407 14, 13, 10, 15, 15, 49, 0, 6, 0, 125,
408 61, 47, 64, 0, 0, 62, 56, 57, 55, 59,
409 72, 0, 3, 0, 60, 34, 34, 0, 0, 0,
410 0, 74, 0, 68, 54, 52, 53, 70, 0, 125,
411 0, 0, 125, 58, 125, 124, 125, 125, 125, 125,
412 125, 44, 125, 125, 125, 125, 125, 125, 125, 125,
413 125, 123, 125, 122, 121, 125, 125, 125, 125, 125,
415 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
416 125, 125, 125, 125, 125, 125, 63, 48, 31, 0,
417 122, 0, 0, 0, 0, 0, 3, 23, 60, 0,
418 26, 26, 0, 0, 0, 0, 17, 0, 0, 9,
419 15, 0, 15, 50, 125, 71, 35, 0, 0, 0,
420 0, 0, 1, 0, 0, 0, 0, 0, 0, 66,
421 51, 65, 69, 0, 0, 0, 0, 0, 0, 36,
422 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
423 125, 125, 125, 125, 43, 125, 117, 125, 125, 125,
424 125, 125, 116, 125, 125, 125, 125, 125, 125, 125,
426 118, 125, 125, 125, 125, 125, 120, 125, 125, 115,
427 119, 125, 125, 125, 30, 125, 0, 26, 26, 0,
428 0, 27, 23, 0, 0, 0, 23, 0, 23, 23,
429 0, 0, 0, 0, 0, 0, 0, 15, 0, 0,
430 0, 2, 0, 33, 0, 32, 32, 0, 0, 67,
431 0, 0, 0, 0, 125, 125, 113, 125, 125, 125,
432 125, 125, 125, 125, 108, 112, 125, 125, 125, 125,
433 125, 125, 125, 125, 125, 125, 111, 125, 125, 125,
434 125, 125, 125, 125, 125, 125, 125, 110, 125, 125,
435 109, 125, 114, 125, 27, 0, 0, 0, 0, 23,
437 0, 23, 0, 0, 2, 0, 23, 23, 25, 0,
438 24, 24, 0, 0, 0, 0, 2, 37, 0, 39,
439 0, 0, 0, 125, 106, 103, 101, 102, 125, 125,
440 125, 125, 125, 105, 104, 125, 125, 125, 125, 125,
441 125, 125, 125, 125, 125, 125, 125, 125, 125, 107,
442 125, 100, 125, 125, 45, 125, 25, 0, 24, 24,
443 0, 0, 2, 0, 23, 23, 0, 0, 0, 0,
444 0, 0, 38, 0, 0, 125, 125, 125, 93, 125,
445 125, 125, 125, 125, 98, 125, 125, 125, 125, 96,
446 125, 125, 125, 125, 95, 94, 97, 46, 99, 125,
448 125, 23, 0, 0, 0, 0, 0, 0, 125, 125,
449 88, 91, 92, 87, 125, 125, 125, 125, 125, 125,
450 125, 89, 90, 125, 125, 125, 23, 8, 21, 0,
451 0, 0, 40, 125, 83, 0, 0, 86, 125, 125,
452 125, 85, 125, 84, 125, 125, 0, 0, 0, 0,
453 41, 82, 0, 125, 125, 78, 80, 79, 81, 0,
454 0, 0, 0, 0, 0, 0, 0, 0, 77, 76,
455 0, 5, 0, 0, 0, 0, 0, 0, 0, 0,
456 0, 0, 0, 0, 0, 0, 5, 0, 0, 0,
457 0, 0, 0, 0, 0, 0, 0, 42, 0, 0,
459 0, 4, 0, 0, 0, 0, 4, 0, 0, 5,
460 0, 0, 0, 0, 0, 0, 0, 0, 5, 0,
461 0, 0, 0, 0, 0, 7, 0, 0, 0, 39,
462 5, 39, 39, 39, 0, 0, 0, 0, 0, 0,
463 0, 0, 0, 0, 22, 0, 7, 0, 38, 5,
464 38, 38, 38, 0, 0, 0, 5, 0, 22, 0,
465 0, 0, 0, 40, 5, 40, 40, 40, 41, 5,
469 static yyconst flex_int32_t yy_ec[256] =
471 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
472 1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
473 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
474 1, 5, 6, 7, 8, 9, 10, 11, 12, 13,
475 14, 15, 16, 13, 17, 18, 19, 20, 21, 21,
476 22, 21, 21, 21, 21, 21, 21, 23, 13, 24,
477 25, 26, 13, 13, 27, 28, 29, 30, 28, 28,
478 28, 28, 28, 28, 28, 28, 28, 31, 28, 28,
479 28, 28, 28, 32, 28, 28, 28, 28, 28, 28,
480 33, 34, 35, 36, 37, 8, 38, 39, 40, 41,
482 42, 43, 44, 45, 46, 28, 47, 48, 49, 50,
483 51, 52, 28, 53, 54, 55, 56, 57, 58, 59,
484 60, 28, 61, 62, 63, 13, 8, 64, 64, 64,
485 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
486 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
487 64, 64, 64, 64, 64, 64, 64, 64, 64, 65,
488 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
489 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
490 64, 64, 64, 64, 64, 64, 66, 64, 64, 64,
491 67, 64, 64, 68, 64, 64, 64, 64, 64, 64,
493 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
494 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
495 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
496 64, 64, 64, 64, 64, 64, 64, 64, 69, 64,
497 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
501 static yyconst flex_int32_t yy_meta[70] =
503 1, 2, 3, 2, 2, 4, 4, 4, 4, 4,
504 4, 4, 4, 4, 4, 4, 4, 5, 4, 6,
505 6, 6, 7, 8, 4, 8, 9, 9, 9, 9,
506 9, 9, 4, 10, 4, 4, 11, 9, 9, 9,
507 9, 12, 9, 9, 9, 9, 9, 9, 9, 9,
508 9, 9, 9, 9, 9, 9, 9, 9, 13, 9,
509 8, 4, 4, 14, 15, 14, 14, 15, 14
512 static yyconst flex_int16_t yy_base[718] =
514 0, 2119, 69, 2117, 2062, 93, 124, 131, 152, 155,
515 216, 0, 2120, 3953, 3953, 2089, 149, 0, 2087, 146,
516 148, 3953, 3953, 2084, 143, 144, 144, 148, 268, 273,
517 278, 2077, 164, 2064, 149, 299, 303, 3953, 2057, 331,
518 133, 142, 149, 271, 302, 152, 158, 307, 259, 290,
519 297, 320, 312, 264, 339, 334, 3953, 267, 3953, 2001,
520 1978, 348, 3953, 3953, 2016, 165, 0, 1998, 173, 335,
521 3953, 3953, 1980, 387, 393, 399, 407, 407, 413, 418,
522 1966, 418, 1949, 189, 328, 392, 3953, 1929, 0, 341,
523 399, 414, 410, 432, 437, 444, 454, 427, 461, 447,
525 467, 458, 452, 475, 485, 3953, 327, 3953, 1886, 1863,
526 491, 3953, 457, 434, 515, 527, 529, 535, 540, 0,
527 0, 1911, 3953, 3953, 3953, 3953, 1874, 3953, 1855, 3953,
528 3953, 3953, 3953, 1779, 439, 1749, 304, 3953, 1732, 0,
529 3953, 3953, 3953, 442, 1715, 3953, 3953, 3953, 3953, 3953,
530 1667, 543, 565, 569, 3953, 3953, 554, 569, 580, 1661,
531 1592, 3953, 1609, 1551, 3953, 1548, 3953, 553, 601, 544,
532 605, 1472, 561, 3953, 568, 563, 576, 572, 581, 583,
533 596, 578, 588, 600, 598, 602, 614, 611, 618, 624,
534 626, 622, 630, 632, 635, 641, 639, 650, 657, 660,
536 655, 663, 665, 668, 674, 672, 683, 677, 679, 688,
537 693, 696, 690, 699, 702, 704, 3953, 3953, 3953, 1468,
538 711, 740, 749, 754, 757, 624, 782, 814, 626, 754,
539 3953, 760, 772, 783, 1494, 353, 0, 383, 1500, 3953,
540 1477, 0, 1469, 3953, 0, 3953, 3953, 808, 818, 874,
541 1467, 803, 3953, 805, 808, 893, 962, 1423, 1350, 3953,
542 3953, 3953, 1351, 1030, 1259, 1256, 1188, 1194, 1153, 781,
543 783, 998, 837, 1000, 795, 827, 1003, 995, 1005, 993,
544 1008, 1013, 830, 1022, 832, 1024, 834, 991, 1015, 1032,
545 1037, 1043, 1027, 1039, 1029, 1047, 1049, 1054, 1051, 1057,
547 1061, 1063, 1070, 1066, 1074, 1080, 1076, 1084, 1089, 1082,
548 1086, 1091, 1093, 1103, 3953, 1101, 1130, 3953, 1138, 1141,
549 1192, 3953, 0, 1163, 1172, 1192, 1173, 1197, 0, 1213,
550 1148, 1163, 1273, 1342, 1164, 1162, 1142, 0, 442, 1218,
551 1411, 1134, 1416, 3953, 0, 3953, 0, 1012, 969, 3953,
552 0, 943, 884, 881, 1155, 1170, 1135, 1182, 1149, 1160,
553 1184, 1368, 1195, 1374, 1175, 1379, 1384, 1387, 1391, 1393,
554 1400, 1396, 1398, 1402, 1404, 1406, 1408, 1411, 1428, 1430,
555 1425, 1423, 1417, 1434, 1419, 1445, 1436, 1421, 1442, 1448,
556 1450, 1455, 1452, 1457, 3953, 1494, 1497, 1539, 1608, 0,
558 1675, 1709, 1680, 1685, 873, 1769, 1803, 0, 3953, 0,
559 3953, 0, 834, 823, 808, 1519, 3953, 3953, 805, 3953,
560 0, 745, 747, 1638, 1471, 1473, 1475, 1477, 1643, 1653,
561 1663, 1669, 1667, 1479, 1677, 1680, 1649, 1674, 1692, 1732,
562 1724, 1690, 1737, 1743, 1726, 1833, 1835, 1739, 1837, 1741,
563 1829, 1745, 1841, 1839, 1747, 1855, 3953, 0, 3953, 0,
564 1896, 1901, 0, 1921, 0, 0, 770, 569, 751, 737,
565 688, 675, 3953, 665, 649, 1826, 1865, 1859, 1853, 1888,
566 1873, 1878, 1892, 1895, 1880, 1899, 1906, 1909, 1912, 1903,
567 1917, 1919, 1922, 1914, 1924, 1926, 1928, 1930, 1932, 1937,
569 1946, 628, 772, 798, 591, 593, 568, 0, 1939, 1953,
570 1999, 1943, 1955, 1957, 1962, 1964, 1971, 1979, 1973, 1982,
571 1986, 1976, 1984, 1989, 1992, 2045, 564, 3953, 3953, 554,
572 526, 0, 3953, 2001, 2003, 2056, 467, 2009, 2015, 2020,
573 2023, 2027, 2030, 2032, 2034, 2037, 2099, 459, 486, 460,
574 3953, 2039, 426, 2041, 2054, 2063, 2065, 2072, 2074, 2127,
575 509, 2132, 2136, 2143, 409, 388, 371, 356, 2089, 2096,
576 2149, 2153, 2157, 2166, 2170, 520, 2178, 380, 536, 2224,
577 2247, 2252, 2237, 2264, 2270, 2293, 2305, 2321, 2337, 2350,
578 2363, 2378, 2388, 2407, 324, 307, 1037, 3953, 258, 2392,
580 2422, 2430, 256, 294, 1986, 2434, 2445, 2459, 2463, 2474,
581 2480, 222, 2548, 2616, 2620, 2624, 2632, 2636, 2642, 2628,
582 2675, 2710, 2714, 2658, 1151, 3953, 1199, 145, 2725, 2729,
583 2733, 2743, 2747, 2756, 2824, 2892, 2896, 2900, 2904, 2911,
584 2918, 2925, 2932, 3000, 3953, 1390, 169, 1875, 2946, 2951,
585 3022, 3026, 3030, 3034, 3038, 2179, 3042, 3049, 162, 2070,
586 3055, 3123, 3192, 3260, 3264, 3268, 3272, 3276, 3280, 3284,
587 3288, 3292, 3296, 3953, 3364, 3379, 3386, 3399, 3414, 3428,
588 3443, 3458, 3473, 3488, 3498, 3508, 3521, 3536, 3551, 3562,
589 3575, 3590, 3605, 3616, 3624, 3639, 3654, 3665, 3670, 3683,
591 3698, 3713, 3728, 3743, 3758, 3773, 3788, 3803, 3818, 3833,
592 3847, 3862, 3877, 3892, 3907, 3922, 3937
595 static yyconst flex_int16_t yy_def[718] =
597 674, 1, 674, 3, 3, 3, 3, 3, 675, 675,
598 674, 11, 674, 674, 674, 674, 676, 677, 674, 674,
599 678, 674, 674, 674, 674, 674, 674, 674, 679, 679,
600 679, 674, 674, 674, 674, 680, 680, 674, 674, 680,
601 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
602 40, 40, 40, 40, 40, 40, 674, 674, 674, 674,
603 674, 40, 674, 674, 674, 676, 677, 674, 674, 678,
604 674, 674, 674, 674, 674, 674, 681, 682, 682, 682,
605 674, 674, 674, 674, 40, 40, 674, 674, 40, 40,
606 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
608 40, 40, 40, 40, 40, 674, 674, 674, 674, 674,
609 40, 674, 674, 674, 674, 674, 679, 679, 679, 683,
610 683, 674, 674, 674, 674, 674, 684, 674, 685, 674,
611 674, 674, 674, 685, 685, 674, 676, 674, 676, 686,
612 674, 674, 674, 678, 678, 674, 674, 674, 674, 674,
613 674, 687, 688, 689, 674, 674, 687, 679, 674, 690,
614 674, 674, 674, 674, 674, 674, 674, 674, 674, 40,
615 674, 674, 40, 674, 40, 40, 40, 40, 40, 40,
616 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
617 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
619 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
620 40, 40, 40, 40, 40, 40, 674, 674, 674, 674,
621 40, 674, 691, 691, 692, 681, 693, 689, 681, 681,
622 674, 692, 682, 674, 694, 674, 683, 674, 684, 674,
623 685, 695, 685, 674, 686, 674, 674, 688, 688, 696,
624 674, 689, 674, 687, 687, 674, 674, 674, 674, 674,
625 674, 674, 674, 674, 674, 674, 674, 674, 674, 40,
626 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
627 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
628 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
630 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
631 40, 40, 40, 40, 674, 40, 697, 674, 697, 674,
632 698, 674, 699, 693, 693, 700, 699, 693, 228, 681,
633 692, 692, 674, 674, 674, 674, 674, 695, 701, 688,
634 696, 674, 688, 674, 256, 674, 256, 674, 674, 674,
635 702, 674, 674, 674, 40, 40, 40, 40, 40, 40,
636 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
637 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
638 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
639 40, 40, 40, 40, 674, 697, 697, 674, 674, 699,
641 703, 688, 693, 700, 699, 693, 674, 330, 674, 333,
642 674, 333, 704, 705, 674, 688, 674, 674, 674, 674,
643 706, 674, 674, 40, 40, 40, 40, 40, 40, 40,
644 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
645 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
646 40, 40, 40, 40, 40, 40, 674, 398, 674, 398,
647 693, 693, 699, 693, 402, 407, 704, 704, 705, 705,
648 674, 674, 674, 674, 674, 40, 40, 40, 40, 40,
649 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
650 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
652 40, 330, 704, 705, 674, 674, 674, 707, 40, 40,
653 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
654 40, 40, 40, 40, 40, 40, 402, 674, 674, 674,
655 674, 708, 674, 40, 40, 674, 674, 40, 40, 40,
656 40, 40, 40, 40, 40, 40, 709, 674, 674, 710,
657 674, 40, 674, 40, 40, 40, 40, 40, 40, 711,
658 712, 713, 711, 711, 714, 710, 710, 674, 40, 40,
659 674, 674, 711, 711, 711, 712, 674, 712, 715, 715,
660 713, 713, 711, 713, 713, 674, 674, 711, 711, 711,
661 711, 711, 711, 716, 714, 714, 710, 674, 674, 711,
663 674, 674, 674, 715, 715, 674, 674, 711, 711, 715,
664 713, 674, 674, 711, 711, 711, 711, 709, 709, 711,
665 717, 713, 711, 711, 714, 674, 710, 674, 711, 674,
666 674, 711, 711, 711, 674, 711, 711, 711, 712, 717,
667 717, 717, 717, 716, 674, 714, 710, 710, 674, 674,
668 711, 711, 711, 711, 711, 712, 712, 717, 714, 714,
669 711, 674, 674, 674, 674, 711, 711, 711, 674, 674,
670 711, 711, 711, 0, 674, 674, 674, 674, 674, 674,
671 674, 674, 674, 674, 674, 674, 674, 674, 674, 674,
672 674, 674, 674, 674, 674, 674, 674, 674, 674, 674,
674 674, 674, 674, 674, 674, 674, 674, 674, 674, 674,
675 674, 674, 674, 674, 674, 674, 674
678 static yyconst flex_int16_t yy_nxt[4023] =
680 14, 15, 15, 15, 15, 16, 17, 14, 18, 19,
681 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
682 30, 31, 32, 33, 34, 35, 36, 36, 36, 36,
683 37, 36, 22, 14, 38, 39, 36, 40, 41, 42,
684 43, 44, 45, 46, 36, 47, 36, 36, 36, 48,
685 49, 50, 51, 52, 53, 54, 55, 56, 36, 36,
686 57, 58, 59, 14, 15, 14, 14, 60, 61, 63,
687 64, 15, 64, 64, 65, 66, 63, 67, 68, 69,
688 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
689 80, 81, 82, 83, 84, 85, 85, 85, 85, 86,
691 85, 71, 63, 87, 88, 85, 89, 90, 91, 92,
692 93, 94, 95, 85, 96, 85, 85, 85, 97, 98,
693 99, 100, 101, 102, 103, 104, 105, 85, 85, 106,
694 107, 108, 63, 64, 63, 63, 109, 110, 111, 113,
695 114, 115, 116, 117, 118, 119, 113, 114, 115, 116,
696 117, 118, 119, 112, 121, 138, 142, 121, 147, 138,
697 149, 151, 153, 152, 152, 152, 154, 148, 150, 163,
698 143, 138, 155, 167, 168, 122, 111, 123, 122, 178,
699 123, 145, 139, 142, 112, 177, 170, 164, 165, 179,
700 181, 112, 180, 191, 170, 170, 596, 143, 139, 182,
702 192, 170, 170, 567, 170, 170, 193, 194, 183, 606,
703 170, 195, 124, 167, 168, 124, 63, 125, 126, 125,
704 125, 63, 127, 63, 63, 63, 63, 63, 63, 63,
705 63, 63, 63, 63, 128, 129, 129, 129, 63, 130,
706 131, 132, 129, 129, 129, 129, 129, 129, 63, 63,
707 63, 63, 129, 129, 129, 129, 129, 129, 129, 129,
708 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
709 129, 129, 129, 129, 129, 129, 133, 63, 63, 129,
710 134, 129, 129, 135, 129, 157, 586, 158, 158, 158,
711 157, 217, 158, 158, 158, 157, 579, 158, 158, 158,
713 169, 169, 169, 169, 169, 169, 169, 169, 184, 159,
714 138, 170, 170, 211, 159, 199, 170, 212, 185, 159,
715 601, 171, 571, 170, 170, 171, 160, 200, 218, 186,
716 161, 674, 169, 169, 169, 169, 674, 139, 203, 187,
717 173, 625, 201, 170, 196, 202, 138, 188, 197, 170,
718 170, 217, 189, 171, 170, 170, 208, 190, 596, 170,
719 170, 204, 198, 169, 209, 170, 172, 169, 145, 335,
720 172, 210, 170, 170, 205, 206, 213, 207, 215, 216,
721 170, 170, 576, 175, 176, 259, 170, 170, 218, 214,
722 192, 170, 170, 177, 170, 169, 193, 221, 172, 336,
724 170, 195, 147, 598, 222, 597, 223, 224, 224, 149,
725 222, 148, 223, 224, 224, 337, 151, 150, 225, 225,
726 225, 227, 567, 236, 232, 228, 233, 233, 233, 173,
727 232, 229, 233, 233, 233, 232, 178, 233, 233, 233,
728 230, 164, 165, 596, 170, 170, 179, 184, 234, 180,
729 149, 170, 170, 138, 234, 181, 416, 185, 150, 234,
730 417, 242, 170, 170, 182, 235, 170, 170, 186, 187,
731 161, 674, 147, 183, 568, 145, 674, 188, 191, 170,
732 170, 148, 189, 199, 170, 170, 192, 190, 203, 170,
733 170, 196, 193, 194, 567, 197, 170, 195, 200, 170,
735 170, 211, 208, 243, 170, 212, 170, 170, 204, 198,
736 209, 170, 213, 201, 170, 577, 202, 210, 565, 170,
737 170, 205, 206, 547, 207, 214, 577, 170, 170, 215,
738 216, 536, 151, 192, 152, 152, 152, 170, 170, 193,
739 221, 153, 578, 170, 195, 154, 157, 577, 158, 158,
740 158, 155, 157, 578, 158, 158, 158, 157, 550, 158,
741 158, 158, 152, 152, 152, 248, 248, 248, 248, 604,
742 159, 253, 253, 254, 254, 254, 159, 262, 263, 250,
743 549, 159, 251, 251, 159, 503, 157, 160, 158, 158,
744 158, 270, 161, 674, 674, 159, 170, 170, 674, 255,
746 255, 255, 169, 169, 169, 169, 264, 264, 264, 264,
747 159, 271, 532, 170, 170, 170, 170, 272, 275, 531,
748 170, 170, 530, 171, 170, 273, 274, 674, 170, 170,
749 170, 170, 276, 170, 170, 170, 170, 279, 277, 280,
750 170, 170, 323, 278, 323, 265, 527, 266, 170, 170,
751 170, 281, 170, 170, 170, 170, 282, 230, 267, 230,
752 284, 283, 268, 170, 170, 169, 170, 170, 172, 264,
753 285, 170, 269, 286, 170, 170, 170, 170, 170, 170,
754 287, 288, 170, 170, 170, 289, 290, 170, 170, 291,
755 508, 170, 170, 170, 170, 292, 293, 294, 295, 296,
757 297, 299, 170, 170, 507, 298, 506, 170, 170, 170,
758 170, 302, 170, 170, 505, 170, 170, 170, 170, 300,
759 170, 170, 301, 303, 170, 170, 170, 170, 304, 305,
760 170, 170, 170, 309, 306, 170, 170, 310, 307, 308,
761 170, 170, 311, 170, 312, 170, 170, 313, 170, 170,
762 316, 170, 170, 504, 170, 170, 170, 170, 314, 317,
763 317, 317, 674, 170, 289, 290, 319, 470, 224, 224,
764 224, 319, 330, 224, 224, 224, 225, 225, 225, 331,
765 331, 331, 324, 324, 248, 324, 468, 230, 503, 232,
766 320, 233, 233, 233, 475, 320, 326, 528, 234, 474,
768 327, 234, 332, 332, 332, 253, 253, 321, 248, 248,
769 248, 248, 674, 234, 504, 328, 253, 253, 248, 248,
770 248, 248, 339, 529, 254, 254, 254, 255, 255, 255,
771 674, 472, 339, 170, 170, 170, 170, 471, 355, 470,
772 329, 329, 329, 329, 329, 329, 159, 170, 359, 674,
773 468, 329, 329, 329, 329, 329, 329, 329, 329, 329,
774 329, 329, 329, 329, 329, 329, 329, 329, 329, 329,
775 329, 329, 329, 329, 340, 340, 340, 340, 357, 170,
776 360, 361, 170, 368, 170, 170, 170, 170, 341, 170,
777 170, 343, 342, 344, 344, 344, 344, 344, 344, 344,
779 344, 344, 344, 344, 344, 344, 344, 344, 344, 344,
780 344, 344, 345, 345, 345, 344, 344, 344, 344, 345,
781 345, 345, 345, 345, 345, 344, 423, 344, 344, 422,
782 345, 345, 345, 345, 345, 345, 345, 345, 345, 345,
783 345, 345, 345, 345, 345, 345, 345, 345, 345, 345,
784 345, 345, 345, 344, 344, 344, 344, 344, 344, 344,
785 344, 344, 346, 346, 346, 346, 346, 346, 346, 346,
786 346, 346, 346, 346, 346, 346, 346, 346, 346, 347,
787 346, 257, 257, 257, 346, 346, 346, 346, 257, 257,
788 257, 257, 257, 257, 346, 421, 346, 346, 419, 257,
790 257, 257, 257, 257, 257, 257, 257, 257, 257, 257,
791 257, 257, 257, 257, 257, 257, 257, 257, 257, 257,
792 257, 257, 346, 346, 346, 346, 346, 346, 346, 346,
793 346, 264, 264, 264, 264, 356, 363, 365, 371, 358,
794 362, 372, 364, 170, 170, 170, 170, 170, 170, 366,
795 170, 170, 170, 170, 367, 170, 170, 170, 170, 369,
796 170, 170, 626, 370, 418, 170, 170, 170, 170, 373,
797 265, 627, 266, 374, 170, 170, 170, 170, 375, 170,
798 170, 378, 170, 267, 170, 170, 377, 268, 376, 170,
799 170, 170, 170, 379, 264, 170, 170, 269, 382, 170,
801 170, 170, 170, 170, 170, 380, 170, 170, 381, 170,
802 170, 385, 383, 170, 170, 170, 170, 384, 170, 170,
803 386, 388, 170, 170, 387, 389, 170, 170, 170, 170,
804 390, 391, 170, 170, 170, 170, 170, 170, 170, 170,
805 392, 170, 170, 170, 170, 170, 170, 393, 394, 317,
806 317, 317, 343, 170, 170, 170, 170, 396, 396, 396,
807 397, 397, 397, 324, 324, 248, 324, 331, 331, 331,
808 415, 320, 324, 324, 248, 324, 645, 401, 414, 320,
809 413, 402, 332, 332, 332, 646, 401, 170, 170, 234,
810 402, 343, 403, 403, 340, 403, 328, 324, 324, 248,
812 324, 170, 427, 424, 674, 328, 404, 170, 170, 398,
813 405, 401, 170, 170, 428, 407, 425, 264, 248, 248,
814 248, 248, 170, 170, 647, 406, 426, 170, 170, 429,
815 328, 323, 339, 648, 170, 170, 170, 170, 354, 408,
816 408, 408, 408, 408, 408, 353, 230, 170, 170, 431,
817 408, 408, 408, 408, 408, 408, 408, 408, 408, 408,
818 408, 408, 408, 408, 408, 408, 408, 408, 408, 408,
819 408, 408, 408, 409, 409, 409, 409, 409, 409, 409,
820 409, 409, 409, 409, 409, 409, 409, 409, 409, 409,
821 409, 409, 410, 410, 410, 409, 409, 409, 409, 410,
823 410, 410, 410, 410, 410, 409, 352, 409, 409, 351,
824 410, 410, 410, 410, 410, 410, 410, 410, 410, 410,
825 410, 410, 410, 410, 410, 410, 410, 410, 410, 410,
826 410, 410, 410, 409, 409, 409, 409, 409, 409, 409,
827 409, 409, 411, 411, 411, 411, 411, 411, 411, 411,
828 411, 411, 411, 411, 411, 411, 411, 411, 411, 412,
829 411, 334, 334, 334, 411, 411, 411, 411, 334, 334,
830 334, 334, 334, 334, 411, 350, 411, 411, 349, 334,
831 334, 334, 334, 334, 334, 334, 334, 334, 334, 334,
832 334, 334, 334, 334, 334, 334, 334, 334, 334, 334,
834 334, 334, 411, 411, 411, 411, 411, 411, 411, 411,
835 411, 340, 340, 340, 340, 659, 248, 248, 248, 248,
836 170, 170, 432, 430, 660, 341, 170, 170, 434, 342,
837 339, 170, 170, 433, 251, 439, 170, 170, 435, 170,
838 170, 437, 348, 170, 170, 170, 170, 436, 438, 170,
839 170, 170, 170, 170, 440, 170, 170, 441, 170, 170,
840 170, 170, 442, 443, 170, 444, 446, 445, 447, 448,
841 170, 450, 170, 170, 170, 170, 170, 170, 170, 449,
842 170, 170, 170, 170, 451, 343, 170, 170, 170, 170,
843 454, 242, 453, 452, 170, 170, 455, 170, 170, 242,
845 170, 170, 170, 170, 170, 170, 240, 170, 170, 170,
846 170, 333, 456, 396, 396, 396, 397, 397, 397, 248,
847 248, 248, 248, 170, 170, 170, 170, 170, 170, 170,
848 170, 170, 170, 339, 315, 320, 169, 342, 674, 457,
849 457, 457, 457, 457, 457, 457, 457, 457, 457, 457,
850 457, 457, 457, 457, 457, 457, 457, 457, 458, 458,
851 458, 457, 457, 457, 457, 458, 458, 458, 458, 458,
852 458, 457, 261, 457, 457, 260, 458, 458, 458, 458,
853 458, 458, 458, 458, 458, 458, 458, 458, 458, 458,
854 458, 458, 458, 458, 458, 458, 458, 458, 458, 457,
856 457, 457, 457, 457, 457, 457, 457, 457, 459, 459,
857 459, 459, 459, 459, 459, 459, 459, 459, 459, 459,
858 459, 459, 459, 459, 459, 460, 459, 399, 399, 399,
859 459, 459, 459, 459, 399, 399, 399, 399, 399, 399,
860 459, 259, 459, 459, 258, 399, 399, 399, 399, 399,
861 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
862 399, 399, 399, 399, 399, 399, 399, 399, 459, 459,
863 459, 459, 459, 459, 459, 459, 459, 343, 256, 476,
864 324, 324, 248, 324, 246, 403, 403, 340, 403, 462,
865 170, 170, 477, 463, 401, 170, 170, 484, 402, 404,
867 478, 170, 170, 405, 479, 170, 170, 481, 464, 248,
868 248, 248, 248, 328, 480, 170, 170, 144, 406, 170,
869 170, 170, 170, 339, 482, 483, 170, 170, 485, 170,
870 170, 490, 170, 170, 137, 465, 465, 465, 465, 465,
871 465, 486, 170, 170, 170, 170, 465, 465, 465, 465,
872 465, 465, 465, 465, 465, 465, 465, 465, 465, 465,
873 465, 465, 465, 465, 465, 465, 465, 465, 465, 324,
874 324, 248, 324, 244, 487, 489, 170, 170, 170, 170,
875 493, 488, 491, 401, 170, 170, 492, 407, 496, 170,
876 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
878 170, 242, 328, 324, 324, 248, 324, 325, 325, 325,
879 325, 325, 325, 325, 325, 325, 325, 401, 325, 325,
880 325, 402, 325, 325, 325, 325, 325, 325, 325, 466,
881 466, 466, 466, 466, 466, 325, 328, 325, 325, 325,
882 466, 466, 466, 466, 466, 466, 466, 466, 466, 466,
883 466, 466, 466, 466, 466, 466, 466, 466, 466, 466,
884 466, 466, 466, 325, 325, 325, 325, 325, 325, 325,
885 325, 325, 494, 498, 495, 509, 497, 242, 170, 170,
886 240, 170, 170, 499, 500, 170, 170, 170, 170, 170,
887 170, 170, 170, 170, 170, 501, 324, 324, 248, 324,
889 647, 324, 324, 248, 324, 170, 170, 170, 170, 597,
890 401, 170, 170, 511, 327, 401, 238, 170, 170, 405,
891 510, 324, 324, 248, 324, 170, 513, 512, 220, 328,
892 170, 170, 170, 170, 328, 401, 516, 514, 517, 502,
893 170, 170, 515, 518, 170, 170, 519, 170, 170, 520,
894 219, 170, 170, 174, 328, 170, 170, 521, 170, 170,
895 522, 170, 170, 523, 170, 170, 170, 170, 524, 170,
896 170, 170, 170, 166, 170, 170, 170, 170, 170, 170,
897 170, 170, 170, 170, 170, 170, 525, 526, 162, 170,
898 170, 170, 170, 534, 535, 170, 170, 577, 170, 170,
900 536, 536, 536, 536, 146, 170, 170, 170, 170, 170,
901 170, 538, 540, 539, 170, 170, 170, 170, 541, 604,
902 542, 543, 141, 170, 170, 170, 170, 544, 170, 170,
903 545, 170, 170, 546, 170, 170, 170, 170, 170, 170,
904 136, 170, 170, 220, 170, 170, 547, 547, 547, 547,
905 580, 170, 170, 170, 552, 170, 170, 169, 169, 169,
906 169, 170, 170, 536, 556, 219, 537, 170, 170, 554,
907 555, 557, 170, 170, 558, 170, 170, 559, 171, 170,
908 170, 174, 170, 170, 170, 170, 170, 170, 166, 170,
909 170, 170, 170, 170, 569, 659, 570, 170, 170, 162,
911 547, 547, 547, 547, 625, 561, 170, 170, 146, 547,
912 562, 141, 548, 136, 553, 170, 170, 170, 170, 674,
913 169, 563, 112, 172, 170, 170, 170, 170, 571, 572,
914 571, 573, 579, 580, 572, 580, 581, 586, 587, 586,
915 588, 170, 170, 583, 571, 572, 571, 573, 170, 170,
916 571, 572, 571, 571, 571, 572, 571, 571, 571, 572,
917 571, 573, 111, 547, 62, 584, 564, 571, 572, 571,
918 573, 571, 572, 571, 573, 674, 589, 674, 590, 601,
919 602, 601, 601, 674, 674, 577, 674, 674, 674, 591,
920 674, 573, 674, 592, 575, 674, 581, 674, 674, 585,
922 588, 674, 674, 593, 674, 674, 674, 594, 674, 674,
923 575, 674, 578, 571, 674, 674, 599, 571, 674, 674,
924 599, 573, 674, 674, 575, 580, 572, 580, 580, 674,
925 573, 674, 674, 575, 600, 577, 674, 575, 606, 607,
926 606, 608, 601, 639, 674, 603, 674, 579, 580, 572,
927 580, 581, 579, 580, 572, 580, 581, 604, 583, 674,
928 674, 674, 674, 583, 579, 580, 610, 580, 581, 674,
929 579, 580, 572, 580, 581, 674, 674, 674, 674, 674,
930 584, 583, 674, 674, 674, 584, 674, 674, 580, 674,
931 674, 605, 674, 674, 586, 587, 586, 586, 674, 674,
933 674, 608, 674, 584, 609, 674, 586, 587, 586, 586,
934 674, 581, 674, 674, 585, 674, 581, 674, 674, 585,
935 674, 674, 586, 587, 586, 588, 674, 674, 581, 674,
936 674, 585, 674, 265, 611, 266, 674, 585, 571, 572,
937 571, 573, 674, 674, 674, 265, 267, 266, 674, 674,
938 268, 571, 572, 571, 573, 674, 674, 586, 267, 674,
939 612, 589, 268, 590, 571, 572, 571, 573, 674, 586,
940 674, 674, 612, 674, 591, 674, 674, 674, 592, 571,
941 572, 571, 573, 674, 674, 588, 674, 613, 593, 571,
942 572, 571, 573, 571, 572, 571, 573, 674, 674, 674,
944 614, 573, 674, 674, 575, 674, 674, 560, 618, 619,
945 618, 594, 674, 621, 573, 674, 674, 575, 622, 674,
946 615, 674, 616, 601, 602, 601, 601, 573, 674, 623,
947 575, 601, 602, 601, 601, 606, 607, 606, 606, 674,
948 674, 674, 573, 674, 674, 575, 606, 607, 606, 606,
949 674, 674, 617, 674, 674, 575, 573, 674, 674, 575,
950 606, 607, 606, 608, 571, 572, 571, 573, 674, 674,
951 674, 594, 674, 674, 624, 580, 572, 580, 580, 674,
952 579, 580, 572, 580, 581, 577, 601, 674, 674, 603,
953 674, 583, 674, 674, 601, 674, 674, 603, 606, 674,
955 674, 628, 674, 674, 674, 674, 674, 604, 674, 606,
956 674, 674, 628, 584, 674, 674, 674, 674, 674, 674,
957 674, 674, 674, 608, 674, 674, 609, 629, 674, 674,
958 575, 674, 674, 674, 674, 674, 674, 674, 580, 674,
959 674, 605, 674, 674, 581, 674, 674, 585, 420, 630,
960 631, 630, 632, 633, 633, 633, 633, 633, 633, 633,
961 633, 633, 633, 633, 633, 633, 633, 574, 574, 574,
962 633, 633, 633, 633, 574, 574, 574, 574, 574, 574,
963 633, 574, 633, 633, 574, 574, 574, 574, 574, 574,
964 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
966 574, 574, 574, 574, 574, 574, 574, 574, 633, 633,
967 633, 633, 632, 633, 633, 634, 633, 571, 572, 571,
968 573, 571, 572, 571, 573, 571, 572, 571, 573, 571,
969 572, 571, 573, 586, 587, 586, 588, 618, 619, 618,
970 618, 674, 561, 618, 619, 618, 618, 562, 561, 674,
971 674, 674, 674, 562, 674, 674, 674, 674, 563, 571,
972 572, 571, 573, 674, 563, 636, 674, 674, 635, 637,
973 674, 674, 589, 674, 590, 576, 639, 572, 639, 640,
974 573, 583, 674, 575, 573, 591, 674, 575, 573, 592,
975 674, 575, 573, 674, 674, 575, 588, 674, 674, 593,
977 618, 674, 674, 638, 674, 674, 618, 674, 642, 638,
978 579, 580, 572, 580, 581, 586, 587, 586, 588, 674,
979 674, 583, 644, 674, 674, 575, 606, 607, 606, 608,
980 571, 572, 571, 571, 571, 572, 571, 571, 674, 640,
981 674, 674, 643, 584, 571, 572, 571, 573, 571, 572,
982 571, 573, 674, 674, 589, 674, 590, 571, 572, 571,
983 573, 674, 674, 674, 674, 674, 674, 591, 674, 674,
984 674, 592, 674, 674, 581, 674, 674, 585, 588, 674,
985 674, 593, 674, 674, 674, 674, 674, 674, 674, 608,
986 674, 674, 609, 571, 674, 674, 599, 571, 674, 674,
988 599, 674, 674, 674, 674, 674, 674, 573, 674, 674,
989 575, 573, 674, 674, 575, 674, 674, 674, 674, 674,
990 600, 674, 674, 575, 473, 649, 650, 649, 651, 652,
991 652, 652, 652, 652, 652, 652, 652, 652, 652, 652,
992 652, 652, 652, 574, 574, 574, 652, 652, 652, 652,
993 574, 574, 574, 574, 574, 574, 652, 574, 652, 652,
994 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
995 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
996 574, 574, 574, 574, 652, 652, 652, 652, 651, 652,
997 652, 653, 652, 571, 572, 571, 573, 571, 572, 571,
999 573, 571, 572, 571, 573, 639, 572, 639, 639, 674,
1000 577, 576, 639, 572, 639, 640, 674, 583, 576, 639,
1001 572, 639, 640, 674, 583, 576, 639, 657, 639, 640,
1002 674, 674, 576, 639, 572, 639, 640, 578, 583, 674,
1003 674, 674, 674, 655, 642, 674, 654, 571, 572, 571,
1004 571, 642, 571, 572, 571, 571, 573, 674, 674, 575,
1005 573, 674, 674, 575, 644, 642, 674, 575, 639, 674,
1006 674, 656, 674, 674, 674, 640, 674, 674, 643, 674,
1007 674, 674, 640, 674, 674, 643, 674, 674, 674, 640,
1008 674, 674, 643, 674, 674, 674, 658, 674, 674, 643,
1010 560, 618, 619, 618, 594, 674, 621, 674, 674, 674,
1011 571, 622, 674, 599, 674, 571, 674, 674, 599, 674,
1012 674, 674, 623, 571, 572, 571, 573, 571, 572, 571,
1013 573, 571, 572, 571, 573, 571, 572, 571, 573, 571,
1014 572, 571, 573, 639, 572, 639, 639, 674, 577, 576,
1015 639, 572, 639, 640, 674, 583, 571, 572, 571, 573,
1016 674, 674, 674, 674, 594, 674, 674, 624, 674, 674,
1017 674, 674, 674, 661, 674, 578, 674, 674, 674, 662,
1018 674, 674, 642, 674, 674, 674, 573, 674, 674, 575,
1019 573, 674, 674, 575, 600, 674, 674, 575, 573, 663,
1021 674, 575, 573, 674, 674, 575, 639, 674, 674, 656,
1022 674, 674, 674, 640, 674, 674, 643, 674, 674, 573,
1023 674, 674, 575, 533, 664, 665, 664, 666, 667, 667,
1024 667, 667, 667, 667, 667, 667, 667, 667, 667, 667,
1025 667, 667, 574, 574, 574, 667, 667, 667, 667, 574,
1026 574, 574, 574, 574, 574, 667, 574, 667, 667, 574,
1027 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
1028 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
1029 574, 574, 574, 667, 667, 667, 667, 666, 667, 667,
1030 668, 667, 551, 669, 670, 669, 671, 672, 672, 672,
1032 672, 672, 672, 672, 672, 672, 672, 672, 672, 672,
1033 672, 574, 574, 574, 672, 672, 672, 672, 574, 574,
1034 574, 574, 574, 574, 672, 574, 672, 672, 574, 574,
1035 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
1036 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
1037 574, 574, 672, 672, 672, 672, 671, 672, 672, 673,
1038 672, 571, 572, 571, 571, 571, 572, 571, 571, 571,
1039 572, 571, 573, 571, 572, 571, 573, 571, 572, 571,
1040 573, 571, 572, 571, 571, 571, 572, 571, 571, 571,
1041 572, 571, 573, 571, 572, 571, 573, 571, 572, 571,
1043 573, 674, 674, 674, 674, 674, 674, 674, 674, 674,
1044 674, 674, 674, 674, 674, 674, 674, 674, 674, 674,
1045 674, 674, 674, 674, 571, 674, 674, 599, 571, 674,
1046 674, 599, 573, 674, 674, 575, 573, 674, 674, 575,
1047 600, 674, 674, 575, 571, 674, 674, 599, 571, 674,
1048 674, 599, 573, 674, 674, 575, 573, 674, 674, 575,
1049 600, 674, 674, 575, 120, 120, 120, 120, 120, 120,
1050 120, 120, 120, 120, 120, 120, 120, 120, 120, 137,
1051 137, 674, 137, 137, 137, 137, 137, 137, 137, 137,
1052 137, 137, 137, 137, 140, 674, 140, 140, 140, 144,
1054 144, 674, 144, 144, 144, 144, 144, 144, 144, 144,
1055 144, 144, 144, 144, 156, 156, 156, 156, 156, 156,
1056 156, 156, 674, 674, 674, 156, 156, 156, 156, 170,
1057 170, 674, 674, 170, 170, 674, 170, 170, 170, 170,
1058 170, 674, 170, 226, 226, 674, 226, 226, 226, 226,
1059 226, 226, 226, 226, 226, 226, 226, 226, 231, 231,
1060 231, 231, 231, 231, 231, 231, 674, 674, 674, 231,
1061 231, 231, 231, 237, 237, 237, 237, 237, 237, 237,
1062 674, 237, 237, 237, 237, 237, 237, 237, 239, 239,
1063 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
1065 239, 239, 239, 241, 241, 674, 241, 674, 241, 241,
1066 241, 241, 241, 245, 674, 674, 245, 245, 245, 245,
1067 245, 247, 247, 247, 247, 247, 247, 247, 247, 674,
1068 674, 674, 247, 674, 247, 247, 249, 249, 249, 249,
1069 249, 249, 249, 249, 249, 249, 249, 249, 249, 249,
1070 249, 252, 252, 252, 252, 252, 252, 252, 252, 252,
1071 252, 252, 252, 252, 252, 252, 257, 257, 674, 674,
1072 257, 674, 674, 257, 257, 318, 318, 318, 318, 318,
1073 318, 318, 318, 674, 674, 674, 318, 318, 318, 318,
1074 322, 322, 322, 322, 322, 322, 322, 322, 674, 674,
1076 674, 322, 674, 322, 322, 325, 325, 325, 325, 325,
1077 325, 325, 325, 325, 325, 325, 325, 325, 325, 325,
1078 334, 334, 674, 674, 334, 674, 674, 334, 334, 338,
1079 674, 674, 338, 674, 338, 338, 338, 338, 338, 248,
1080 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
1081 248, 248, 248, 248, 395, 395, 395, 395, 395, 395,
1082 395, 395, 674, 674, 674, 395, 674, 395, 395, 399,
1083 399, 674, 674, 399, 674, 674, 399, 399, 400, 674,
1084 674, 400, 400, 324, 324, 324, 324, 324, 324, 324,
1085 324, 324, 324, 324, 324, 324, 324, 324, 343, 343,
1087 343, 343, 343, 343, 343, 343, 343, 343, 343, 343,
1088 343, 343, 343, 420, 420, 420, 420, 420, 674, 420,
1089 420, 674, 674, 674, 674, 674, 420, 420, 461, 461,
1090 461, 461, 461, 461, 461, 461, 461, 461, 461, 461,
1091 461, 461, 461, 467, 467, 467, 467, 467, 467, 467,
1092 467, 467, 467, 467, 467, 467, 467, 467, 469, 469,
1093 469, 469, 469, 469, 469, 469, 469, 469, 469, 469,
1094 469, 469, 469, 473, 473, 473, 473, 473, 674, 473,
1095 473, 674, 674, 674, 674, 674, 473, 473, 533, 533,
1096 533, 533, 533, 674, 533, 533, 674, 674, 674, 674,
1098 674, 533, 533, 551, 551, 551, 551, 551, 674, 551,
1099 551, 674, 674, 674, 674, 674, 551, 551, 560, 560,
1100 560, 560, 560, 560, 560, 560, 560, 560, 560, 560,
1101 560, 560, 560, 566, 566, 566, 566, 566, 566, 566,
1102 566, 566, 566, 566, 566, 566, 566, 566, 574, 574,
1103 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
1104 574, 574, 576, 576, 674, 576, 576, 576, 576, 576,
1105 576, 576, 576, 576, 576, 576, 576, 582, 582, 582,
1106 582, 582, 582, 582, 582, 582, 582, 582, 582, 582,
1107 582, 582, 595, 595, 595, 595, 595, 595, 595, 595,
1109 595, 595, 595, 595, 595, 595, 595, 579, 579, 674,
1110 579, 579, 579, 579, 579, 579, 579, 579, 579, 579,
1111 579, 579, 620, 620, 620, 620, 620, 620, 620, 620,
1112 620, 620, 620, 620, 620, 620, 620, 641, 641, 641,
1113 641, 641, 641, 641, 641, 641, 641, 641, 641, 641,
1114 641, 641, 13, 674, 674, 674, 674, 674, 674, 674,
1115 674, 674, 674, 674, 674, 674, 674, 674, 674, 674,
1116 674, 674, 674, 674, 674, 674, 674, 674, 674, 674,
1117 674, 674, 674, 674, 674, 674, 674, 674, 674, 674,
1118 674, 674, 674, 674, 674, 674, 674, 674, 674, 674,
1120 674, 674, 674, 674, 674, 674, 674, 674, 674, 674,
1121 674, 674, 674, 674, 674, 674, 674, 674, 674, 674,
1125 static yyconst flex_int16_t yy_chk[4023] =
1127 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1128 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1129 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1130 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1131 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1132 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1133 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
1134 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1135 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1136 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1138 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1139 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1140 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1141 3, 3, 3, 3, 3, 3, 3, 3, 6, 7,
1142 7, 7, 7, 7, 7, 7, 8, 8, 8, 8,
1143 8, 8, 8, 6, 9, 17, 20, 10, 25, 21,
1144 26, 27, 28, 27, 27, 27, 28, 25, 26, 33,
1145 20, 66, 28, 35, 35, 9, 8, 9, 10, 42,
1146 10, 21, 17, 69, 7, 41, 41, 33, 33, 42,
1147 43, 8, 42, 46, 42, 42, 659, 69, 66, 43,
1149 47, 43, 43, 647, 46, 46, 47, 47, 43, 628,
1150 47, 47, 9, 84, 84, 10, 11, 11, 11, 11,
1151 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1152 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1153 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1154 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1155 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1156 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1157 11, 11, 11, 11, 11, 29, 612, 29, 29, 29,
1158 30, 58, 30, 30, 30, 31, 604, 31, 31, 31,
1160 36, 36, 36, 36, 37, 37, 37, 37, 44, 29,
1161 137, 49, 49, 54, 30, 49, 54, 54, 44, 31,
1162 603, 36, 599, 44, 44, 37, 29, 50, 58, 44,
1163 31, 30, 40, 40, 40, 40, 31, 137, 51, 45,
1164 37, 596, 50, 50, 48, 50, 70, 45, 48, 51,
1165 51, 107, 45, 40, 45, 45, 53, 45, 595, 48,
1166 48, 52, 48, 36, 53, 53, 36, 37, 70, 236,
1167 37, 53, 52, 52, 52, 52, 55, 52, 56, 56,
1168 85, 85, 578, 40, 40, 236, 56, 56, 107, 55,
1169 62, 55, 55, 90, 90, 40, 62, 62, 40, 238,
1171 62, 62, 74, 568, 74, 567, 74, 74, 74, 75,
1172 75, 74, 75, 75, 75, 238, 76, 75, 76, 76,
1173 76, 77, 566, 82, 78, 77, 78, 78, 78, 86,
1174 79, 77, 79, 79, 79, 80, 91, 80, 80, 80,
1175 77, 82, 82, 565, 86, 86, 91, 93, 78, 91,
1176 114, 91, 91, 144, 79, 92, 339, 93, 114, 80,
1177 339, 135, 93, 93, 92, 78, 92, 92, 93, 94,
1178 80, 79, 113, 92, 553, 144, 80, 94, 95, 98,
1179 98, 113, 94, 98, 94, 94, 96, 94, 100, 95,
1180 95, 97, 96, 96, 550, 97, 96, 96, 99, 100,
1182 100, 103, 102, 135, 103, 103, 97, 97, 101, 97,
1183 102, 102, 104, 99, 99, 561, 99, 102, 549, 101,
1184 101, 101, 101, 548, 101, 104, 576, 104, 104, 105,
1185 105, 537, 115, 111, 115, 115, 115, 105, 105, 111,
1186 111, 116, 561, 111, 111, 116, 117, 579, 117, 117,
1187 117, 116, 118, 576, 118, 118, 118, 119, 531, 119,
1188 119, 119, 152, 152, 152, 153, 153, 153, 153, 579,
1189 117, 154, 154, 157, 157, 157, 118, 168, 168, 153,
1190 530, 119, 527, 153, 152, 468, 158, 117, 158, 158,
1191 158, 173, 119, 118, 468, 157, 170, 170, 119, 159,
1193 159, 159, 169, 169, 169, 169, 171, 171, 171, 171,
1194 158, 175, 507, 173, 173, 176, 176, 177, 179, 506,
1195 175, 175, 505, 169, 178, 178, 178, 158, 177, 177,
1196 182, 182, 180, 179, 179, 180, 180, 183, 181, 184,
1197 183, 183, 226, 181, 229, 171, 502, 171, 181, 181,
1198 185, 185, 184, 184, 186, 186, 186, 226, 171, 229,
1199 188, 187, 171, 188, 188, 169, 187, 187, 169, 171,
1200 189, 189, 171, 190, 192, 192, 190, 190, 191, 191,
1201 191, 193, 193, 193, 194, 194, 194, 195, 195, 196,
1202 475, 197, 197, 196, 196, 196, 197, 198, 199, 200,
1204 201, 202, 198, 198, 474, 201, 472, 201, 201, 199,
1205 199, 205, 200, 200, 471, 202, 202, 203, 203, 203,
1206 204, 204, 204, 206, 206, 206, 205, 205, 207, 208,
1207 208, 209, 209, 211, 209, 207, 207, 212, 209, 210,
1208 210, 210, 213, 213, 214, 211, 211, 215, 212, 212,
1209 221, 214, 214, 470, 215, 215, 216, 216, 216, 222,
1210 222, 222, 470, 221, 221, 221, 223, 469, 223, 223,
1211 223, 224, 230, 224, 224, 224, 225, 225, 225, 232,
1212 232, 232, 227, 227, 227, 227, 467, 230, 503, 233,
1213 223, 233, 233, 233, 423, 224, 227, 503, 225, 422,
1215 227, 232, 234, 234, 234, 252, 252, 223, 248, 248,
1216 248, 248, 224, 233, 504, 227, 228, 228, 249, 249,
1217 249, 249, 248, 504, 254, 254, 254, 255, 255, 255,
1218 233, 419, 249, 270, 270, 271, 271, 415, 271, 414,
1219 228, 228, 228, 228, 228, 228, 254, 275, 275, 255,
1220 413, 228, 228, 228, 228, 228, 228, 228, 228, 228,
1221 228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
1222 228, 228, 228, 228, 250, 250, 250, 250, 273, 276,
1223 276, 276, 283, 283, 285, 285, 287, 287, 250, 273,
1224 273, 405, 250, 256, 256, 256, 256, 256, 256, 256,
1226 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
1227 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
1228 256, 256, 256, 256, 256, 256, 354, 256, 256, 353,
1229 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
1230 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
1231 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
1232 256, 256, 257, 257, 257, 257, 257, 257, 257, 257,
1233 257, 257, 257, 257, 257, 257, 257, 257, 257, 257,
1234 257, 257, 257, 257, 257, 257, 257, 257, 257, 257,
1235 257, 257, 257, 257, 257, 352, 257, 257, 349, 257,
1237 257, 257, 257, 257, 257, 257, 257, 257, 257, 257,
1238 257, 257, 257, 257, 257, 257, 257, 257, 257, 257,
1239 257, 257, 257, 257, 257, 257, 257, 257, 257, 257,
1240 257, 264, 264, 264, 264, 272, 278, 280, 288, 274,
1241 277, 288, 279, 288, 288, 280, 280, 278, 278, 281,
1242 272, 272, 274, 274, 282, 277, 277, 279, 279, 284,
1243 281, 281, 597, 286, 348, 282, 282, 289, 289, 289,
1244 264, 597, 264, 290, 284, 284, 286, 286, 291, 293,
1245 293, 295, 295, 264, 290, 290, 294, 264, 292, 291,
1246 291, 294, 294, 296, 264, 292, 292, 264, 299, 296,
1248 296, 297, 297, 299, 299, 297, 298, 298, 298, 300,
1249 300, 303, 300, 301, 301, 302, 302, 302, 304, 304,
1250 304, 306, 303, 303, 305, 308, 305, 305, 307, 307,
1251 309, 312, 306, 306, 310, 310, 308, 308, 311, 311,
1252 313, 309, 309, 312, 312, 313, 313, 314, 316, 317,
1253 317, 317, 342, 316, 316, 314, 314, 319, 319, 319,
1254 320, 320, 320, 324, 324, 324, 324, 331, 331, 331,
1255 337, 317, 325, 325, 325, 325, 625, 324, 336, 319,
1256 335, 324, 332, 332, 332, 625, 325, 357, 357, 331,
1257 325, 327, 326, 326, 326, 326, 324, 328, 328, 328,
1259 328, 359, 359, 355, 332, 325, 326, 355, 355, 321,
1260 326, 328, 360, 360, 360, 328, 356, 269, 340, 340,
1261 340, 340, 356, 356, 627, 326, 358, 365, 365, 361,
1262 328, 330, 340, 627, 358, 358, 361, 361, 268, 330,
1263 330, 330, 330, 330, 330, 267, 330, 363, 363, 363,
1264 330, 330, 330, 330, 330, 330, 330, 330, 330, 330,
1265 330, 330, 330, 330, 330, 330, 330, 330, 330, 330,
1266 330, 330, 330, 333, 333, 333, 333, 333, 333, 333,
1267 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
1268 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
1270 333, 333, 333, 333, 333, 333, 266, 333, 333, 265,
1271 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
1272 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
1273 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
1274 333, 333, 334, 334, 334, 334, 334, 334, 334, 334,
1275 334, 334, 334, 334, 334, 334, 334, 334, 334, 334,
1276 334, 334, 334, 334, 334, 334, 334, 334, 334, 334,
1277 334, 334, 334, 334, 334, 263, 334, 334, 259, 334,
1278 334, 334, 334, 334, 334, 334, 334, 334, 334, 334,
1279 334, 334, 334, 334, 334, 334, 334, 334, 334, 334,
1281 334, 334, 334, 334, 334, 334, 334, 334, 334, 334,
1282 334, 341, 341, 341, 341, 646, 343, 343, 343, 343,
1283 362, 362, 364, 362, 646, 341, 364, 364, 368, 341,
1284 343, 366, 366, 367, 343, 373, 367, 367, 369, 368,
1285 368, 371, 258, 369, 369, 370, 370, 370, 372, 372,
1286 373, 373, 371, 371, 374, 374, 375, 375, 376, 376,
1287 377, 377, 376, 378, 378, 379, 381, 380, 382, 383,
1288 383, 385, 385, 388, 388, 382, 382, 381, 381, 384,
1289 379, 379, 380, 380, 386, 251, 384, 384, 387, 387,
1290 390, 243, 389, 387, 389, 389, 392, 386, 386, 241,
1292 390, 390, 391, 391, 393, 393, 239, 392, 392, 394,
1293 394, 235, 394, 396, 396, 396, 397, 397, 397, 416,
1294 416, 416, 416, 425, 425, 426, 426, 427, 427, 428,
1295 428, 434, 434, 416, 220, 396, 172, 416, 397, 398,
1296 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
1297 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
1298 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
1299 398, 398, 166, 398, 398, 164, 398, 398, 398, 398,
1300 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
1301 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
1303 398, 398, 398, 398, 398, 398, 398, 398, 399, 399,
1304 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
1305 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
1306 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
1307 399, 163, 399, 399, 161, 399, 399, 399, 399, 399,
1308 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
1309 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
1310 399, 399, 399, 399, 399, 399, 399, 401, 160, 424,
1311 403, 403, 403, 403, 151, 404, 404, 404, 404, 401,
1312 424, 424, 429, 401, 403, 429, 429, 437, 403, 404,
1314 430, 437, 437, 404, 431, 430, 430, 433, 401, 402,
1315 402, 402, 402, 403, 432, 431, 431, 145, 404, 433,
1316 433, 432, 432, 402, 435, 436, 438, 438, 438, 435,
1317 435, 442, 436, 436, 139, 402, 402, 402, 402, 402,
1318 402, 439, 442, 442, 439, 439, 402, 402, 402, 402,
1319 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
1320 402, 402, 402, 402, 402, 402, 402, 402, 402, 406,
1321 406, 406, 406, 136, 440, 441, 441, 441, 445, 445,
1322 445, 440, 443, 406, 440, 440, 444, 406, 448, 443,
1323 443, 448, 448, 450, 450, 444, 444, 452, 452, 455,
1325 455, 134, 406, 407, 407, 407, 407, 407, 407, 407,
1326 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
1327 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
1328 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
1329 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
1330 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
1331 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
1332 407, 407, 446, 451, 447, 476, 449, 129, 476, 476,
1333 127, 451, 451, 453, 454, 446, 446, 447, 447, 449,
1334 449, 454, 454, 453, 453, 456, 461, 461, 461, 461,
1336 648, 462, 462, 462, 462, 479, 479, 456, 456, 648,
1337 461, 478, 478, 478, 461, 462, 122, 477, 477, 462,
1338 477, 464, 464, 464, 464, 481, 481, 480, 110, 461,
1339 482, 482, 485, 485, 462, 464, 484, 482, 486, 464,
1340 480, 480, 483, 487, 483, 483, 488, 484, 484, 489,
1341 109, 486, 486, 88, 464, 490, 490, 491, 487, 487,
1342 492, 488, 488, 493, 489, 489, 494, 494, 494, 491,
1343 491, 492, 492, 83, 493, 493, 495, 495, 496, 496,
1344 497, 497, 498, 498, 499, 499, 500, 501, 81, 500,
1345 500, 509, 509, 509, 510, 512, 512, 605, 501, 501,
1347 511, 511, 511, 511, 73, 510, 510, 513, 513, 514,
1348 514, 515, 517, 516, 515, 515, 516, 516, 518, 605,
1349 519, 520, 68, 517, 517, 519, 519, 521, 522, 522,
1350 524, 518, 518, 525, 520, 520, 523, 523, 521, 521,
1351 65, 524, 524, 61, 525, 525, 526, 526, 526, 526,
1352 605, 511, 511, 534, 534, 535, 535, 536, 536, 536,
1353 536, 538, 538, 511, 541, 60, 511, 539, 539, 539,
1354 540, 543, 540, 540, 545, 541, 541, 546, 536, 542,
1355 542, 39, 543, 543, 544, 544, 545, 545, 34, 546,
1356 546, 552, 552, 554, 554, 660, 555, 526, 526, 32,
1358 547, 547, 547, 547, 660, 547, 555, 555, 24, 526,
1359 547, 19, 526, 16, 536, 556, 556, 557, 557, 13,
1360 536, 547, 5, 536, 558, 558, 559, 559, 560, 560,
1361 560, 560, 562, 562, 562, 562, 562, 563, 563, 563,
1362 563, 569, 569, 562, 564, 564, 564, 564, 570, 570,
1363 571, 571, 571, 571, 572, 572, 572, 572, 573, 573,
1364 573, 573, 4, 547, 2, 562, 547, 574, 574, 574,
1365 574, 575, 575, 575, 575, 0, 563, 0, 563, 577,
1366 577, 577, 577, 0, 0, 656, 0, 0, 0, 563,
1367 0, 560, 0, 563, 560, 0, 562, 0, 0, 562,
1369 563, 0, 0, 563, 0, 0, 0, 564, 0, 0,
1370 564, 0, 656, 571, 0, 0, 571, 572, 0, 0,
1371 572, 573, 0, 0, 573, 580, 580, 580, 580, 0,
1372 574, 0, 0, 574, 575, 580, 0, 575, 583, 583,
1373 583, 583, 577, 656, 0, 577, 0, 581, 581, 581,
1374 581, 581, 582, 582, 582, 582, 582, 580, 581, 0,
1375 0, 0, 0, 582, 584, 584, 584, 584, 584, 0,
1376 585, 585, 585, 585, 585, 0, 0, 0, 0, 0,
1377 581, 585, 0, 0, 0, 582, 0, 0, 580, 0,
1378 0, 580, 0, 0, 586, 586, 586, 586, 0, 0,
1380 0, 583, 0, 585, 583, 0, 587, 587, 587, 587,
1381 0, 581, 0, 0, 581, 0, 582, 0, 0, 582,
1382 0, 0, 588, 588, 588, 588, 0, 0, 584, 0,
1383 0, 584, 0, 586, 585, 586, 0, 585, 589, 589,
1384 589, 589, 0, 0, 0, 587, 586, 587, 0, 0,
1385 586, 590, 590, 590, 590, 0, 0, 586, 587, 0,
1386 586, 588, 587, 588, 591, 591, 591, 591, 0, 587,
1387 0, 0, 587, 0, 588, 0, 0, 0, 588, 592,
1388 592, 592, 592, 0, 0, 588, 0, 589, 588, 593,
1389 593, 593, 593, 600, 600, 600, 600, 0, 0, 0,
1391 590, 589, 0, 0, 589, 0, 0, 594, 594, 594,
1392 594, 594, 0, 594, 590, 0, 0, 590, 594, 0,
1393 591, 0, 592, 601, 601, 601, 601, 591, 0, 594,
1394 591, 602, 602, 602, 602, 606, 606, 606, 606, 0,
1395 0, 0, 592, 0, 0, 592, 607, 607, 607, 607,
1396 0, 0, 593, 0, 0, 593, 600, 0, 0, 600,
1397 608, 608, 608, 608, 609, 609, 609, 609, 0, 0,
1398 0, 594, 0, 0, 594, 610, 610, 610, 610, 0,
1399 611, 611, 611, 611, 611, 610, 601, 0, 0, 601,
1400 0, 611, 0, 0, 602, 0, 0, 602, 606, 0,
1402 0, 606, 0, 0, 0, 0, 0, 610, 0, 607,
1403 0, 0, 607, 611, 0, 0, 0, 0, 0, 0,
1404 0, 0, 0, 608, 0, 0, 608, 609, 0, 0,
1405 609, 0, 0, 0, 0, 0, 0, 0, 610, 0,
1406 0, 610, 0, 0, 611, 0, 0, 611, 613, 613,
1407 613, 613, 613, 613, 613, 613, 613, 613, 613, 613,
1408 613, 613, 613, 613, 613, 613, 613, 613, 613, 613,
1409 613, 613, 613, 613, 613, 613, 613, 613, 613, 613,
1410 613, 613, 613, 613, 613, 613, 613, 613, 613, 613,
1411 613, 613, 613, 613, 613, 613, 613, 613, 613, 613,
1413 613, 613, 613, 613, 613, 613, 613, 613, 613, 613,
1414 613, 613, 613, 613, 613, 613, 613, 614, 614, 614,
1415 614, 615, 615, 615, 615, 616, 616, 616, 616, 620,
1416 620, 620, 620, 617, 617, 617, 617, 618, 618, 618,
1417 618, 0, 618, 619, 619, 619, 619, 618, 619, 0,
1418 0, 0, 0, 619, 0, 0, 0, 0, 618, 624,
1419 624, 624, 624, 0, 619, 615, 0, 0, 614, 616,
1420 0, 0, 617, 0, 617, 621, 621, 621, 621, 621,
1421 614, 621, 0, 614, 615, 617, 0, 615, 616, 617,
1422 0, 616, 620, 0, 0, 620, 617, 0, 0, 617,
1424 618, 0, 0, 618, 0, 0, 619, 0, 621, 619,
1425 622, 622, 622, 622, 622, 623, 623, 623, 623, 0,
1426 0, 622, 624, 0, 0, 624, 629, 629, 629, 629,
1427 630, 630, 630, 630, 631, 631, 631, 631, 0, 621,
1428 0, 0, 621, 622, 632, 632, 632, 632, 633, 633,
1429 633, 633, 0, 0, 623, 0, 623, 634, 634, 634,
1430 634, 0, 0, 0, 0, 0, 0, 623, 0, 0,
1431 0, 623, 0, 0, 622, 0, 0, 622, 623, 0,
1432 0, 623, 0, 0, 0, 0, 0, 0, 0, 629,
1433 0, 0, 629, 630, 0, 0, 630, 631, 0, 0,
1435 631, 0, 0, 0, 0, 0, 0, 632, 0, 0,
1436 632, 633, 0, 0, 633, 0, 0, 0, 0, 0,
1437 634, 0, 0, 634, 635, 635, 635, 635, 635, 635,
1438 635, 635, 635, 635, 635, 635, 635, 635, 635, 635,
1439 635, 635, 635, 635, 635, 635, 635, 635, 635, 635,
1440 635, 635, 635, 635, 635, 635, 635, 635, 635, 635,
1441 635, 635, 635, 635, 635, 635, 635, 635, 635, 635,
1442 635, 635, 635, 635, 635, 635, 635, 635, 635, 635,
1443 635, 635, 635, 635, 635, 635, 635, 635, 635, 635,
1444 635, 635, 635, 636, 636, 636, 636, 637, 637, 637,
1446 637, 638, 638, 638, 638, 639, 639, 639, 639, 0,
1447 639, 640, 640, 640, 640, 640, 0, 640, 641, 641,
1448 641, 641, 641, 0, 641, 642, 642, 642, 642, 642,
1449 0, 0, 643, 643, 643, 643, 643, 639, 643, 0,
1450 0, 0, 0, 637, 640, 0, 636, 649, 649, 649,
1451 649, 641, 650, 650, 650, 650, 636, 0, 0, 636,
1452 637, 0, 0, 637, 638, 643, 0, 638, 639, 0,
1453 0, 639, 0, 0, 0, 640, 0, 0, 640, 0,
1454 0, 0, 641, 0, 0, 641, 0, 0, 0, 642,
1455 0, 0, 642, 0, 0, 0, 643, 0, 0, 643,
1457 644, 644, 644, 644, 644, 0, 644, 0, 0, 0,
1458 649, 644, 0, 649, 0, 650, 0, 0, 650, 0,
1459 0, 0, 644, 651, 651, 651, 651, 652, 652, 652,
1460 652, 653, 653, 653, 653, 654, 654, 654, 654, 655,
1461 655, 655, 655, 657, 657, 657, 657, 0, 657, 658,
1462 658, 658, 658, 658, 0, 658, 661, 661, 661, 661,
1463 0, 0, 0, 0, 644, 0, 0, 644, 0, 0,
1464 0, 0, 0, 654, 0, 657, 0, 0, 0, 655,
1465 0, 0, 658, 0, 0, 0, 651, 0, 0, 651,
1466 652, 0, 0, 652, 653, 0, 0, 653, 654, 661,
1468 0, 654, 655, 0, 0, 655, 657, 0, 0, 657,
1469 0, 0, 0, 658, 0, 0, 658, 0, 0, 661,
1470 0, 0, 661, 662, 662, 662, 662, 662, 662, 662,
1471 662, 662, 662, 662, 662, 662, 662, 662, 662, 662,
1472 662, 662, 662, 662, 662, 662, 662, 662, 662, 662,
1473 662, 662, 662, 662, 662, 662, 662, 662, 662, 662,
1474 662, 662, 662, 662, 662, 662, 662, 662, 662, 662,
1475 662, 662, 662, 662, 662, 662, 662, 662, 662, 662,
1476 662, 662, 662, 662, 662, 662, 662, 662, 662, 662,
1477 662, 662, 663, 663, 663, 663, 663, 663, 663, 663,
1479 663, 663, 663, 663, 663, 663, 663, 663, 663, 663,
1480 663, 663, 663, 663, 663, 663, 663, 663, 663, 663,
1481 663, 663, 663, 663, 663, 663, 663, 663, 663, 663,
1482 663, 663, 663, 663, 663, 663, 663, 663, 663, 663,
1483 663, 663, 663, 663, 663, 663, 663, 663, 663, 663,
1484 663, 663, 663, 663, 663, 663, 663, 663, 663, 663,
1485 663, 664, 664, 664, 664, 665, 665, 665, 665, 666,
1486 666, 666, 666, 667, 667, 667, 667, 668, 668, 668,
1487 668, 669, 669, 669, 669, 670, 670, 670, 670, 671,
1488 671, 671, 671, 672, 672, 672, 672, 673, 673, 673,
1490 673, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1491 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1492 0, 0, 0, 0, 664, 0, 0, 664, 665, 0,
1493 0, 665, 666, 0, 0, 666, 667, 0, 0, 667,
1494 668, 0, 0, 668, 669, 0, 0, 669, 670, 0,
1495 0, 670, 671, 0, 0, 671, 672, 0, 0, 672,
1496 673, 0, 0, 673, 675, 675, 675, 675, 675, 675,
1497 675, 675, 675, 675, 675, 675, 675, 675, 675, 676,
1498 676, 0, 676, 676, 676, 676, 676, 676, 676, 676,
1499 676, 676, 676, 676, 677, 0, 677, 677, 677, 678,
1501 678, 0, 678, 678, 678, 678, 678, 678, 678, 678,
1502 678, 678, 678, 678, 679, 679, 679, 679, 679, 679,
1503 679, 679, 0, 0, 0, 679, 679, 679, 679, 680,
1504 680, 0, 0, 680, 680, 0, 680, 680, 680, 680,
1505 680, 0, 680, 681, 681, 0, 681, 681, 681, 681,
1506 681, 681, 681, 681, 681, 681, 681, 681, 682, 682,
1507 682, 682, 682, 682, 682, 682, 0, 0, 0, 682,
1508 682, 682, 682, 683, 683, 683, 683, 683, 683, 683,
1509 0, 683, 683, 683, 683, 683, 683, 683, 684, 684,
1510 684, 684, 684, 684, 684, 684, 684, 684, 684, 684,
1512 684, 684, 684, 685, 685, 0, 685, 0, 685, 685,
1513 685, 685, 685, 686, 0, 0, 686, 686, 686, 686,
1514 686, 687, 687, 687, 687, 687, 687, 687, 687, 0,
1515 0, 0, 687, 0, 687, 687, 688, 688, 688, 688,
1516 688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
1517 688, 689, 689, 689, 689, 689, 689, 689, 689, 689,
1518 689, 689, 689, 689, 689, 689, 690, 690, 0, 0,
1519 690, 0, 0, 690, 690, 691, 691, 691, 691, 691,
1520 691, 691, 691, 0, 0, 0, 691, 691, 691, 691,
1521 692, 692, 692, 692, 692, 692, 692, 692, 0, 0,
1523 0, 692, 0, 692, 692, 693, 693, 693, 693, 693,
1524 693, 693, 693, 693, 693, 693, 693, 693, 693, 693,
1525 694, 694, 0, 0, 694, 0, 0, 694, 694, 695,
1526 0, 0, 695, 0, 695, 695, 695, 695, 695, 696,
1527 696, 696, 696, 696, 696, 696, 696, 696, 696, 696,
1528 696, 696, 696, 696, 697, 697, 697, 697, 697, 697,
1529 697, 697, 0, 0, 0, 697, 0, 697, 697, 698,
1530 698, 0, 0, 698, 0, 0, 698, 698, 699, 0,
1531 0, 699, 699, 700, 700, 700, 700, 700, 700, 700,
1532 700, 700, 700, 700, 700, 700, 700, 700, 701, 701,
1534 701, 701, 701, 701, 701, 701, 701, 701, 701, 701,
1535 701, 701, 701, 702, 702, 702, 702, 702, 0, 702,
1536 702, 0, 0, 0, 0, 0, 702, 702, 703, 703,
1537 703, 703, 703, 703, 703, 703, 703, 703, 703, 703,
1538 703, 703, 703, 704, 704, 704, 704, 704, 704, 704,
1539 704, 704, 704, 704, 704, 704, 704, 704, 705, 705,
1540 705, 705, 705, 705, 705, 705, 705, 705, 705, 705,
1541 705, 705, 705, 706, 706, 706, 706, 706, 0, 706,
1542 706, 0, 0, 0, 0, 0, 706, 706, 707, 707,
1543 707, 707, 707, 0, 707, 707, 0, 0, 0, 0,
1545 0, 707, 707, 708, 708, 708, 708, 708, 0, 708,
1546 708, 0, 0, 0, 0, 0, 708, 708, 709, 709,
1547 709, 709, 709, 709, 709, 709, 709, 709, 709, 709,
1548 709, 709, 709, 710, 710, 710, 710, 710, 710, 710,
1549 710, 710, 710, 710, 710, 710, 710, 710, 711, 711,
1550 711, 711, 711, 711, 711, 711, 711, 711, 711, 711,
1551 711, 711, 712, 712, 0, 712, 712, 712, 712, 712,
1552 712, 712, 712, 712, 712, 712, 712, 713, 713, 713,
1553 713, 713, 713, 713, 713, 713, 713, 713, 713, 713,
1554 713, 713, 714, 714, 714, 714, 714, 714, 714, 714,
1556 714, 714, 714, 714, 714, 714, 714, 715, 715, 0,
1557 715, 715, 715, 715, 715, 715, 715, 715, 715, 715,
1558 715, 715, 716, 716, 716, 716, 716, 716, 716, 716,
1559 716, 716, 716, 716, 716, 716, 716, 717, 717, 717,
1560 717, 717, 717, 717, 717, 717, 717, 717, 717, 717,
1561 717, 717, 674, 674, 674, 674, 674, 674, 674, 674,
1562 674, 674, 674, 674, 674, 674, 674, 674, 674, 674,
1563 674, 674, 674, 674, 674, 674, 674, 674, 674, 674,
1564 674, 674, 674, 674, 674, 674, 674, 674, 674, 674,
1565 674, 674, 674, 674, 674, 674, 674, 674, 674, 674,
1567 674, 674, 674, 674, 674, 674, 674, 674, 674, 674,
1568 674, 674, 674, 674, 674, 674, 674, 674, 674, 674,
1572 static yy_state_type yy_last_accepting_state;
1573 static char *yy_last_accepting_cpos;
1575 extern int as3__flex_debug;
1576 int as3__flex_debug = 0;
1578 /* The intent behind this definition is that it'll catch
1579 * any uses of REJECT which flex missed.
1581 #define REJECT reject_used_but_not_detected
1582 #define yymore() yymore_used_but_not_detected
1583 #define YY_MORE_ADJ 0
1584 #define YY_RESTORE_YY_MORE_OFFSET
1586 #line 1 "tokenizer.lex"
1589 Routines for compiling Flash2 AVM2 ABC Actionscript
1591 Extension module for the rfxswf library.
1592 Part of the swftools package.
1594 Copyright (c) 2008 Matthias Kramm <kramm@quiss.org>
1596 This program is free software; you can redistribute it and/or modify
1597 it under the terms of the GNU General Public License as published by
1598 the Free Software Foundation; either version 2 of the License, or
1599 (at your option) any later version.
1601 This program is distributed in the hope that it will be useful,
1602 but WITHOUT ANY WARRANTY; without even the implied warranty of
1603 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1604 GNU General Public License for more details.
1606 You should have received a copy of the GNU General Public License
1607 along with this program; if not, write to the Free Software
1608 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
1609 #line 24 "tokenizer.lex"
1616 #include "../utf8.h"
1618 #include "tokenizer.h"
1621 unsigned int as3_tokencount = 0;
1623 static void dbg(const char*format, ...)
1630 va_start(arglist, format);
1631 vsnprintf(buf, sizeof(buf)-1, format, arglist);
1634 while(l && buf[l-1]=='\n') {
1638 printf("(tokenizer) ");
1639 printf("%s\n", buf);
1643 #ifndef YY_CURRENT_BUFFER
1644 #define YY_CURRENT_BUFFER yy_current_buffer
1647 static void*as3_buffer=0;
1648 static int as3_buffer_pos=0;
1649 static int as3_buffer_len=0;
1650 void as3_file_input(FILE*fi)
1655 void as3_buffer_input(void*buffer, int len)
1658 syntaxerror("trying to parse zero bytearray");
1659 as3_buffer = buffer;
1660 as3_buffer_len = len;
1666 //#define BEGIN(x) {(yy_start) = 1 + 2 *x;dbg("entering state %d", x);}
1668 #define YY_INPUT(buf,result,max_size) { \
1671 while((result = fread(buf, 1, max_size, as3_in))==0 && ferror(as3_in)) \
1672 { if(errno != EINTR) {YY_FATAL_ERROR("input in flex scanner failed"); break;} \
1673 errno=0; clearerr(as3_in); \
1676 int to_read = max_size; \
1677 if(to_read + as3_buffer_pos > as3_buffer_len) \
1678 to_read = as3_buffer_len - as3_buffer_pos; \
1679 memcpy(buf, as3_buffer+as3_buffer_pos, to_read); \
1680 as3_buffer_pos += to_read; \
1685 void handleInclude(char*text, int len, char quotes)
1689 char*p1 = strchr(text, '"');
1690 char*p2 = strrchr(text, '"');
1691 if(!p1 || !p2 || p1==p2) {
1692 syntaxerror("Invalid include in line %d\n", current_line);
1695 filename = strdup(p1+1);
1699 while(!strchr(" \n\r\t\xa0", text[i1])) i1++;
1701 while(strchr(" \n\r\t\xa0", text[i1])) i1++;
1702 while(strchr(" \n\r\t\xa0", text[i2-1])) i2--;
1703 if(i2!=len) text[i2]=0;
1704 filename = strdup(&text[i1]);
1707 char*fullfilename = find_file(filename, 1);
1708 enter_file2(filename, fullfilename, YY_CURRENT_BUFFER);
1709 as3_in = fopen(fullfilename, "rb");
1711 syntaxerror("Couldn't open include file \"%s\"\n", fullfilename);
1714 as3__switch_to_buffer(as3__create_buffer(as3_in,YY_BUF_SIZE ) );
1715 //BEGIN(DEFAULT); keep context
1718 static int do_unescape(const char*s, const char*end, char*n)
1724 if(o) o[len] = *s;len++;
1728 s++; //skip past '\'
1729 if(s==end) syntaxerror("invalid \\ at end of string");
1731 /* handle the various line endings (mac, dos, unix) */
1744 case '\\': if(o) o[len] = '\\';s++;len++; break;
1745 case '"': if(o) o[len] = '"';s++;len++; break;
1746 case '\'': if(o) o[len] = '\'';s++;len++; break;
1747 case 'b': if(o) o[len] = '\b';s++;len++; break;
1748 case 'f': if(o) o[len] = '\f';s++;len++; break;
1749 case 'n': if(o) o[len] = '\n';s++;len++; break;
1750 case 'r': if(o) o[len] = '\r';s++;len++; break;
1751 case 't': if(o) o[len] = '\t';s++;len++; break;
1752 case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': {
1755 while(strchr("01234567", *s) && nr<3 && s<end) {
1762 syntaxerror("octal number out of range (0-255): %d", num);
1763 if(o) o[len] = num;len++;
1766 case 'x': case 'u': {
1775 if(s==end) syntaxerror("invalid \\u or \\x at end of string");
1778 if(s==end) syntaxerror("invalid \\u{ at end of string");
1783 while(strchr("0123456789abcdefABCDEF", *s) && (bracket || nr < max) && s<end) {
1785 if(*s>='0' && *s<='9') num |= *s - '0';
1786 if(*s>='a' && *s<='f') num |= *s - 'a' + 10;
1787 if(*s>='A' && *s<='F') num |= *s - 'A' + 10;
1792 if(*s=='}' && s<end) {
1795 syntaxerror("missing terminating '}'");
1799 char*utf8 = getUTF8(num);
1801 if(o) o[len] = *utf8;utf8++;len++;
1805 syntaxerror("byte out of range (0-255): %d", num);
1806 if(o) o[len] = num;len++;
1825 static string_t string_unescape(const char*in, int l)
1828 const char*end = &in[l];
1830 int len = do_unescape(s, end, 0);
1831 char*n = (char*)malloc(len+1);
1832 do_unescape(s, end, n);
1833 string_t out = string_new(n, len);
1837 static void handleCData(char*s, int len)
1839 a3_lval.str.str = s+9; // <![CDATA[
1840 a3_lval.str.len = len-9-3;// ]]>
1841 a3_lval.str.str = strdup_n(a3_lval.str.str, a3_lval.str.len);
1844 static void handleRaw(char*s, int len)
1846 a3_lval.str.len = len;
1847 a3_lval.str.str = strdup_n(s, a3_lval.str.len);
1850 static void handleString(char*s, int len)
1853 if(s[len-1]!='"') syntaxerror("String doesn't end with '\"'");
1856 else if(s[0]=='\'') {
1857 if(s[len-1]!='\'') syntaxerror("String doesn't end with '\"'");
1860 else syntaxerror("String incorrectly terminated");
1862 a3_lval.str = string_unescape(s, len);
1866 char start_of_expression;
1868 static inline int m(int type)
1870 a3_lval.token = type;
1874 static char numberbuf[64];
1877 if(as3_leng>sizeof(numberbuf)-1)
1878 syntaxerror("decimal number overflow");
1880 memcpy(s, as3_text, as3_leng);
1885 static inline int setint(int v)
1887 a3_lval.number_int = v;
1890 static inline int setfloat(double v)
1892 a3_lval.number_float = v;
1896 static inline int handlefloat()
1899 a3_lval.number_float = atof(s);
1903 static inline int handleint()
1906 char l = (as3_text[0]=='-');
1908 //char*max = l?"1073741824":"2147483647";
1909 char*max = l?"2147483648":"2147483647";
1912 as3_softwarning("integer overflow: %s (converted to Number)", s);
1913 return handlefloat();
1915 if(as3_leng-l==10) {
1917 for(t=0;t<as3_leng-l;t++) {
1918 if(as3_text[l+t]>max[t]) {
1919 as3_softwarning("integer overflow: %s (converted to Number)", s);
1920 return handlefloat();
1922 else if(as3_text[l+t]<max[t])
1926 if(as3_text[0]=='-') {
1932 for(t=0;t<as3_leng;t++) {
1940 static inline int handlehexfloat()
1942 char l = (as3_text[0]=='-')+2;
1947 for(t=l;t<as3_leng;t++) {
1948 char c = as3_text[t];
1958 if(c>='0' && c<='9')
1960 else if((c>='a' && c<='f') || (c>='A' && c<='F'))
1961 d+=((c&0x0f)+9)*base;
1965 static inline int handlehex()
1967 char l = (as3_text[0]=='-')+2;
1972 syntaxerror("integer overflow %s", s);
1977 for(t=l;t<len;t++) {
1979 char c = as3_text[t];
1980 if(c>='0' && c<='9')
1982 else if((c>='a' && c<='f') || (c>='A' && c<='F'))
1985 if(l && v>=0x80000000) {
1987 as3_softwarning("integer overflow: %s (converted to Number)", s);
1990 if(!l && v>0x7fffffff) {
1992 as3_softwarning("integer overflow: %s (converted to Number)", s);
1997 return setint(-(int)v);
2003 void handleLabel(char*text, int len)
2006 for(t=len-1;t>=0;--t) {
2011 char*s = malloc(t+1);
2012 memcpy(s, as3_text, t);
2017 static int handleregexp()
2019 char*s = malloc(as3_leng);
2021 memcpy(s, as3_text+1, len);
2024 for(t=len;t>=0;--t) {
2030 a3_lval.regexp.pattern = s;
2032 a3_lval.regexp.options = 0;
2034 a3_lval.regexp.options = s+t+1;
2039 void initialize_scanner();
2040 #define YY_USER_INIT initialize_scanner();
2042 /* count the number of lines+columns consumed by this token */
2043 static inline void l() {
2045 for(t=0;t<as3_leng;t++) {
2046 if(as3_text[t]=='\n') {
2054 /* count the number of columns consumed by this token */
2055 static inline void c() {
2056 current_column+=as3_leng;
2059 trie_t*active_namespaces = 0;
2060 /*void tokenizer_register_namespace(const char*id)
2062 trie_put(namespaces, id, 0);
2064 void tokenizer_unregister_namespace(const char*id)
2066 trie_remove(namespaces, id);
2068 static inline char tokenizer_is_namespace(const char*id)
2070 return trie_contains(active_namespaces, (const unsigned char*)id);
2073 static inline int handleIdentifier()
2075 char*s = malloc(as3_leng+1);
2076 memcpy(s, as3_text, as3_leng);
2079 if(tokenizer_is_namespace(s))
2082 return T_IDENTIFIER;
2084 static int tokenerror();
2087 //Boolean {c();return m(KW_BOOLEAN);}
2088 //int {c();return m(KW_INT);}
2089 //uint {c();return m(KW_UINT);}
2090 //Number {c();return m(KW_NUMBER);}
2091 //XMLCOMMENT <!--([^->]|(-/[^-])|(--/[^>]))*-->
2100 #line 2101 "tokenizer.yy.c"
2109 #ifndef YY_NO_UNISTD_H
2110 /* Special case for "unistd.h", since it is non-ANSI. We include it way
2111 * down here because we want the user's section 1 to have been scanned first.
2112 * The user has a chance to override it with an option.
2117 #ifndef YY_EXTRA_TYPE
2118 #define YY_EXTRA_TYPE void *
2121 static int yy_init_globals (void );
2123 /* Accessor methods to globals.
2124 These are made visible to non-reentrant scanners for convenience. */
2126 int as3_lex_destroy (void );
2128 int as3_get_debug (void );
2130 void as3_set_debug (int debug_flag );
2132 YY_EXTRA_TYPE as3_get_extra (void );
2134 void as3_set_extra (YY_EXTRA_TYPE user_defined );
2136 FILE *as3_get_in (void );
2138 void as3_set_in (FILE * in_str );
2140 FILE *as3_get_out (void );
2142 void as3_set_out (FILE * out_str );
2144 int as3_get_leng (void );
2146 char *as3_get_text (void );
2148 int as3_get_lineno (void );
2150 void as3_set_lineno (int line_number );
2152 /* Macros after this point can all be overridden by user definitions in
2156 #ifndef YY_SKIP_YYWRAP
2158 extern "C" int as3_wrap (void );
2160 extern int as3_wrap (void );
2164 static void yyunput (int c,char *buf_ptr );
2167 static void yy_flex_strncpy (char *,yyconst char *,int );
2170 #ifdef YY_NEED_STRLEN
2171 static int yy_flex_strlen (yyconst char * );
2177 static int yyinput (void );
2179 static int input (void );
2184 /* Amount of stuff to slurp up with each read. */
2185 #ifndef YY_READ_BUF_SIZE
2186 #define YY_READ_BUF_SIZE 8192
2189 /* Copy whatever the last rule matched to the standard output. */
2191 /* This used to be an fputs(), but since the string might contain NUL's,
2192 * we now use fwrite().
2194 #define ECHO fwrite( as3_text, as3_leng, 1, as3_out )
2197 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
2198 * is returned in "result".
2201 #define YY_INPUT(buf,result,max_size) \
2202 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2206 for ( n = 0; n < max_size && \
2207 (c = getc( as3_in )) != EOF && c != '\n'; ++n ) \
2208 buf[n] = (char) c; \
2210 buf[n++] = (char) c; \
2211 if ( c == EOF && ferror( as3_in ) ) \
2212 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2218 while ( (result = fread(buf, 1, max_size, as3_in))==0 && ferror(as3_in)) \
2220 if( errno != EINTR) \
2222 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2233 /* No semi-colon after return; correct usage is to write "yyterminate();" -
2234 * we don't want an extra ';' after the "return" because that will cause
2235 * some compilers to complain about unreachable statements.
2238 #define yyterminate() return YY_NULL
2241 /* Number of entries by which start-condition stack grows. */
2242 #ifndef YY_START_STACK_INCR
2243 #define YY_START_STACK_INCR 25
2246 /* Report a fatal error. */
2247 #ifndef YY_FATAL_ERROR
2248 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2251 /* end tables serialization structures and prototypes */
2253 /* Default declaration of generated scanner - a define so the user can
2254 * easily add parameters.
2257 #define YY_DECL_IS_OURS 1
2259 extern int as3_lex (void);
2261 #define YY_DECL int as3_lex (void)
2262 #endif /* !YY_DECL */
2264 /* Code executed at the beginning of each rule, after as3_text and as3_leng
2267 #ifndef YY_USER_ACTION
2268 #define YY_USER_ACTION
2271 /* Code executed at the end of each rule. */
2273 #define YY_BREAK break;
2276 #define YY_RULE_SETUP \
2277 if ( as3_leng > 0 ) \
2278 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
2279 (as3_text[as3_leng - 1] == '\n'); \
2282 /** The main scanner function which does all the work.
2286 register yy_state_type yy_current_state;
2287 register char *yy_cp, *yy_bp;
2288 register int yy_act;
2290 #line 541 "tokenizer.lex"
2294 #line 2295 "tokenizer.yy.c"
2305 (yy_start) = 1; /* first start state */
2313 if ( ! YY_CURRENT_BUFFER ) {
2314 as3_ensure_buffer_stack ();
2315 YY_CURRENT_BUFFER_LVALUE =
2316 as3__create_buffer(as3_in,YY_BUF_SIZE );
2319 as3__load_buffer_state( );
2322 while ( 1 ) /* loops until end-of-file is reached */
2324 yy_cp = (yy_c_buf_p);
2326 /* Support of as3_text. */
2327 *yy_cp = (yy_hold_char);
2329 /* yy_bp points to the position in yy_ch_buf of the start of
2334 yy_current_state = (yy_start);
2335 yy_current_state += YY_AT_BOL();
2339 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
2340 if ( yy_accept[yy_current_state] )
2342 (yy_last_accepting_state) = yy_current_state;
2343 (yy_last_accepting_cpos) = yy_cp;
2345 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2347 yy_current_state = (int) yy_def[yy_current_state];
2348 if ( yy_current_state >= 675 )
2349 yy_c = yy_meta[(unsigned int) yy_c];
2351 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2354 while ( yy_current_state != 674 );
2355 yy_cp = (yy_last_accepting_cpos);
2356 yy_current_state = (yy_last_accepting_state);
2359 yy_act = yy_accept[yy_current_state];
2361 YY_DO_BEFORE_ACTION;
2363 do_action: /* This label is used only to access EOF actions. */
2366 { /* beginning of action switch */
2367 case 0: /* must back up */
2368 /* undo the effects of YY_DO_BEFORE_ACTION */
2369 *yy_cp = (yy_hold_char);
2370 yy_cp = (yy_last_accepting_cpos);
2371 yy_current_state = (yy_last_accepting_state);
2372 goto yy_find_action;
2375 /* rule 1 can match eol */
2377 #line 544 "tokenizer.lex"
2378 {l(); /* single line comment */}
2381 /* rule 2 can match eol */
2383 #line 545 "tokenizer.lex"
2384 {l(); /* multi line comment */}
2388 #line 546 "tokenizer.lex"
2389 {syntaxerror("syntax error: unterminated comment", as3_text);}
2392 /* rule 4 can match eol */
2393 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2394 (yy_c_buf_p) = yy_cp -= 1;
2395 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2397 #line 548 "tokenizer.lex"
2398 {l();handleInclude(as3_text, as3_leng, 1);}
2401 /* rule 5 can match eol */
2402 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2403 (yy_c_buf_p) = yy_cp -= 1;
2404 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2406 #line 549 "tokenizer.lex"
2407 {l();handleInclude(as3_text, as3_leng, 0);}
2410 /* rule 6 can match eol */
2412 #line 550 "tokenizer.lex"
2413 {l(); BEGIN(DEFAULT);handleString(as3_text, as3_leng);return T_STRING;}
2416 /* rule 7 can match eol */
2418 #line 551 "tokenizer.lex"
2419 {l(); BEGIN(DEFAULT);handleCData(as3_text, as3_leng);return T_STRING;}
2423 /* rule 8 can match eol */
2425 #line 554 "tokenizer.lex"
2426 {l(); BEGIN(DEFAULT);handleRaw(as3_text, as3_leng);return T_STRING;}
2431 /* rule 9 can match eol */
2433 #line 558 "tokenizer.lex"
2434 {l(); handleRaw(as3_text, as3_leng);return T_STRING;}
2438 #line 559 "tokenizer.lex"
2439 {c(); BEGIN(REGEXPOK);return m('{');}
2443 #line 560 "tokenizer.lex"
2444 {c(); return m('<');}
2448 #line 561 "tokenizer.lex"
2449 {c(); return m('/');}
2453 #line 562 "tokenizer.lex"
2454 {c(); return m('>');}
2458 #line 563 "tokenizer.lex"
2459 {c(); return m('=');}
2463 #line 564 "tokenizer.lex"
2464 {c(); handleRaw(as3_text, as3_leng);return T_IDENTIFIER;}
2467 /* rule 16 can match eol */
2469 #line 565 "tokenizer.lex"
2472 case YY_STATE_EOF(XML):
2473 #line 566 "tokenizer.lex"
2474 {syntaxerror("unexpected end of file");}
2479 /* rule 17 can match eol */
2481 #line 570 "tokenizer.lex"
2482 {l(); handleRaw(as3_text, as3_leng);return T_STRING;}
2486 #line 571 "tokenizer.lex"
2487 {c(); BEGIN(REGEXPOK);return m('{');}
2491 #line 572 "tokenizer.lex"
2492 {c(); BEGIN(XML);return m('<');}
2496 #line 573 "tokenizer.lex"
2497 {c(); return m('>');}
2500 /* rule 21 can match eol */
2502 #line 574 "tokenizer.lex"
2503 {l(); handleRaw(as3_text, as3_leng);return T_STRING;}
2506 /* rule 22 can match eol */
2508 #line 575 "tokenizer.lex"
2509 {l(); handleRaw(as3_text, as3_leng);return T_STRING;}
2511 case YY_STATE_EOF(XMLTEXT):
2512 #line 576 "tokenizer.lex"
2513 {syntaxerror("unexpected end of file");}
2519 #line 580 "tokenizer.lex"
2520 {c(); BEGIN(DEFAULT);return handleregexp();}
2523 /* rule 24 can match eol */
2524 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2525 (yy_c_buf_p) = yy_cp -= 1;
2526 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2528 #line 581 "tokenizer.lex"
2529 {c(); BEGIN(DEFAULT);return handlehex();}
2532 /* rule 25 can match eol */
2533 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2534 (yy_c_buf_p) = yy_cp -= 1;
2535 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2537 #line 582 "tokenizer.lex"
2538 {c(); BEGIN(DEFAULT);return handlehexfloat();}
2541 /* rule 26 can match eol */
2542 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2543 (yy_c_buf_p) = yy_cp -= 1;
2544 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2546 #line 583 "tokenizer.lex"
2547 {c(); BEGIN(DEFAULT);return handleint();}
2550 /* rule 27 can match eol */
2551 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2552 (yy_c_buf_p) = yy_cp -= 1;
2553 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2555 #line 584 "tokenizer.lex"
2556 {c(); BEGIN(DEFAULT);return handlefloat();}
2561 #line 587 "tokenizer.lex"
2562 {c(); BEGIN(REGEXPOK);return m(T_DICTSTART);}
2566 #line 588 "tokenizer.lex"
2567 {c(); BEGIN(DEFAULT); return m('{');}
2571 #line 590 "tokenizer.lex"
2575 /* rule 31 can match eol */
2577 #line 591 "tokenizer.lex"
2581 /* rule 32 can match eol */
2582 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2583 (yy_c_buf_p) = yy_cp -= 1;
2584 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2586 #line 593 "tokenizer.lex"
2587 {c(); BEGIN(DEFAULT);return handlehex();}
2590 /* rule 33 can match eol */
2591 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2592 (yy_c_buf_p) = yy_cp -= 1;
2593 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2595 #line 594 "tokenizer.lex"
2596 {c(); BEGIN(DEFAULT);return handlehexfloat();}
2599 /* rule 34 can match eol */
2600 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2601 (yy_c_buf_p) = yy_cp -= 1;
2602 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2604 #line 595 "tokenizer.lex"
2605 {c(); BEGIN(DEFAULT);return handleint();}
2608 /* rule 35 can match eol */
2609 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2610 (yy_c_buf_p) = yy_cp -= 1;
2611 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2613 #line 596 "tokenizer.lex"
2614 {c(); BEGIN(DEFAULT);return handlefloat();}
2618 #line 597 "tokenizer.lex"
2619 {c(); BEGIN(DEFAULT);return m(KW_NAN);}
2623 #line 599 "tokenizer.lex"
2624 {/* for debugging: generates a tokenizer-level error */
2625 syntaxerror("3rr0r");}
2628 /* rule 38 can match eol */
2629 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2630 (yy_c_buf_p) = yy_cp -= 1;
2631 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2633 #line 602 "tokenizer.lex"
2634 {l();BEGIN(DEFAULT);handleLabel(as3_text, as3_leng-3);return T_FOR;}
2637 /* rule 39 can match eol */
2638 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2639 (yy_c_buf_p) = yy_cp -= 1;
2640 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2642 #line 603 "tokenizer.lex"
2643 {l();BEGIN(DEFAULT);handleLabel(as3_text, as3_leng-2);return T_DO;}
2646 /* rule 40 can match eol */
2647 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2648 (yy_c_buf_p) = yy_cp -= 1;
2649 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2651 #line 604 "tokenizer.lex"
2652 {l();BEGIN(DEFAULT);handleLabel(as3_text, as3_leng-5);return T_WHILE;}
2655 /* rule 41 can match eol */
2656 *yy_cp = (yy_hold_char); /* undo effects of setting up as3_text */
2657 (yy_c_buf_p) = yy_cp -= 1;
2658 YY_DO_BEFORE_ACTION; /* set up as3_text again */
2660 #line 605 "tokenizer.lex"
2661 {l();BEGIN(DEFAULT);handleLabel(as3_text, as3_leng-6);return T_SWITCH;}
2664 /* rule 42 can match eol */
2666 #line 606 "tokenizer.lex"
2667 {l();BEGIN(DEFAULT);return m(KW_DEFAULT_XML);}
2671 #line 607 "tokenizer.lex"
2672 {c();BEGIN(DEFAULT);a3_lval.id="";return T_FOR;}
2676 #line 608 "tokenizer.lex"
2677 {c();BEGIN(DEFAULT);a3_lval.id="";return T_DO;}
2681 #line 609 "tokenizer.lex"
2682 {c();BEGIN(DEFAULT);a3_lval.id="";return T_WHILE;}
2686 #line 610 "tokenizer.lex"
2687 {c();BEGIN(DEFAULT);a3_lval.id="";return T_SWITCH;}
2691 #line 612 "tokenizer.lex"
2692 {c();BEGIN(REGEXPOK);return m(T_ANDAND);}
2696 #line 613 "tokenizer.lex"
2697 {c();BEGIN(REGEXPOK);return m(T_OROR);}
2701 #line 614 "tokenizer.lex"
2702 {c();BEGIN(REGEXPOK);return m(T_NE);}
2706 #line 615 "tokenizer.lex"
2707 {c();BEGIN(REGEXPOK);return m(T_NEE);}
2711 #line 616 "tokenizer.lex"
2712 {c();BEGIN(REGEXPOK);return m(T_EQEQEQ);}
2716 #line 617 "tokenizer.lex"
2717 {c();BEGIN(REGEXPOK);return m(T_EQEQ);}
2721 #line 618 "tokenizer.lex"
2722 {c();BEGIN(REGEXPOK);return m(T_GE);}
2726 #line 619 "tokenizer.lex"
2727 {c();BEGIN(REGEXPOK);return m(T_LE);}
2731 #line 620 "tokenizer.lex"
2732 {c();BEGIN(DEFAULT);return m(T_MINUSMINUS);}
2736 #line 621 "tokenizer.lex"
2737 {c();BEGIN(DEFAULT);return m(T_PLUSPLUS);}
2741 #line 622 "tokenizer.lex"
2742 {c();BEGIN(REGEXPOK);return m(T_PLUSBY);}
2746 #line 623 "tokenizer.lex"
2747 {c();BEGIN(REGEXPOK);return m(T_XORBY);}
2751 #line 624 "tokenizer.lex"
2752 {c();BEGIN(REGEXPOK);return m(T_MINUSBY);}
2756 #line 625 "tokenizer.lex"
2757 {c();BEGIN(REGEXPOK);return m(T_DIVBY);}
2761 #line 626 "tokenizer.lex"
2762 {c();BEGIN(REGEXPOK);return m(T_MODBY);}
2766 #line 627 "tokenizer.lex"
2767 {c();BEGIN(REGEXPOK);return m(T_MULBY);}
2771 #line 628 "tokenizer.lex"
2772 {c();BEGIN(REGEXPOK);return m(T_ORBY);}
2776 #line 629 "tokenizer.lex"
2777 {c();BEGIN(REGEXPOK);return m(T_ANDBY);}
2781 #line 630 "tokenizer.lex"
2782 {c();BEGIN(REGEXPOK);return m(T_SHRBY);}
2786 #line 631 "tokenizer.lex"
2787 {c();BEGIN(REGEXPOK);return m(T_SHLBY);}
2791 #line 632 "tokenizer.lex"
2792 {c();BEGIN(REGEXPOK);return m(T_USHRBY);}
2796 #line 633 "tokenizer.lex"
2797 {c();BEGIN(REGEXPOK);return m(T_SHL);}
2801 #line 634 "tokenizer.lex"
2802 {c();BEGIN(REGEXPOK);return m(T_USHR);}
2806 #line 635 "tokenizer.lex"
2807 {c();BEGIN(REGEXPOK);return m(T_SHR);}
2811 #line 636 "tokenizer.lex"
2812 {c();BEGIN(REGEXPOK);return m(T_DOTDOTDOT);}
2816 #line 637 "tokenizer.lex"
2817 {c();BEGIN(REGEXPOK);return m(T_DOTDOT);}
2821 #line 638 "tokenizer.lex"
2822 {c();BEGIN(REGEXPOK);return m('.');}
2826 #line 639 "tokenizer.lex"
2827 {c();BEGIN(REGEXPOK);return m(T_COLONCOLON);}
2831 #line 640 "tokenizer.lex"
2832 {c();BEGIN(REGEXPOK);return m(':');}
2836 #line 641 "tokenizer.lex"
2837 {c();BEGIN(REGEXPOK);return m(KW_INSTANCEOF);}
2841 #line 642 "tokenizer.lex"
2842 {c();BEGIN(REGEXPOK);return m(KW_IMPLEMENTS);}
2846 #line 643 "tokenizer.lex"
2847 {c();BEGIN(DEFAULT);return m(KW_INTERFACE);}
2851 #line 644 "tokenizer.lex"
2852 {c();BEGIN(DEFAULT);return m(KW_PROTECTED);}
2856 #line 645 "tokenizer.lex"
2857 {c();BEGIN(DEFAULT);return m(KW_NAMESPACE);}
2861 #line 646 "tokenizer.lex"
2862 {c();BEGIN(DEFAULT);return m(KW_UNDEFINED);}
2866 #line 647 "tokenizer.lex"
2867 {c();BEGIN(DEFAULT);return m(KW_ARGUMENTS);}
2871 #line 648 "tokenizer.lex"
2872 {c();BEGIN(DEFAULT);return m(KW_CONTINUE);}
2876 #line 649 "tokenizer.lex"
2877 {c();BEGIN(DEFAULT);return m(KW_OVERRIDE);}
2881 #line 650 "tokenizer.lex"
2882 {c();BEGIN(DEFAULT);return m(KW_INTERNAL);}
2886 #line 651 "tokenizer.lex"
2887 {c();BEGIN(DEFAULT);return m(KW_FUNCTION);}
2891 #line 652 "tokenizer.lex"
2892 {c();BEGIN(DEFAULT);return m(KW_FINALLY);}
2896 #line 653 "tokenizer.lex"
2897 {c();BEGIN(DEFAULT);return m(KW_DEFAULT);}
2901 #line 654 "tokenizer.lex"
2902 {c();BEGIN(DEFAULT);return m(KW_PACKAGE);}
2906 #line 655 "tokenizer.lex"
2907 {c();BEGIN(DEFAULT);return m(KW_PRIVATE);}
2911 #line 656 "tokenizer.lex"
2912 {c();BEGIN(DEFAULT);return m(KW_DYNAMIC);}
2916 #line 657 "tokenizer.lex"
2917 {c();BEGIN(DEFAULT);return m(KW_EXTENDS);}
2921 #line 658 "tokenizer.lex"
2922 {c();BEGIN(REGEXPOK);return m(KW_DELETE);}
2926 #line 659 "tokenizer.lex"
2927 {c();BEGIN(REGEXPOK);return m(KW_RETURN);}
2931 #line 660 "tokenizer.lex"
2932 {c();BEGIN(DEFAULT);return m(KW_PUBLIC);}
2936 #line 661 "tokenizer.lex"
2937 {c();BEGIN(DEFAULT);return m(KW_NATIVE);}
2941 #line 662 "tokenizer.lex"
2942 {c();BEGIN(DEFAULT);return m(KW_STATIC);}
2946 #line 663 "tokenizer.lex"
2947 {c();BEGIN(REGEXPOK);return m(KW_IMPORT);}
2951 #line 664 "tokenizer.lex"
2952 {c();BEGIN(REGEXPOK);return m(KW_TYPEOF);}
2956 #line 665 "tokenizer.lex"
2957 {c();BEGIN(REGEXPOK);return m(KW_THROW);}
2961 #line 666 "tokenizer.lex"
2962 {c();BEGIN(DEFAULT);return m(KW_CLASS);}
2966 #line 667 "tokenizer.lex"
2967 {c();BEGIN(DEFAULT);return m(KW_CONST);}
2971 #line 668 "tokenizer.lex"
2972 {c();BEGIN(DEFAULT);return m(KW_CATCH);}
2976 #line 669 "tokenizer.lex"
2977 {c();BEGIN(DEFAULT);return m(KW_FINAL);}
2981 #line 670 "tokenizer.lex"
2982 {c();BEGIN(DEFAULT);return m(KW_FALSE);}
2986 #line 671 "tokenizer.lex"
2987 {c();BEGIN(DEFAULT);return m(KW_BREAK);}
2991 #line 672 "tokenizer.lex"
2992 {c();BEGIN(DEFAULT);return m(KW_SUPER);}
2996 #line 673 "tokenizer.lex"
2997 {c();BEGIN(DEFAULT);return m(KW_EACH);}
3001 #line 674 "tokenizer.lex"
3002 {c();BEGIN(DEFAULT);return m(KW_VOID);}
3006 #line 675 "tokenizer.lex"
3007 {c();BEGIN(DEFAULT);return m(KW_TRUE);}
3011 #line 676 "tokenizer.lex"
3012 {c();BEGIN(DEFAULT);return m(KW_NULL);}
3016 #line 677 "tokenizer.lex"
3017 {c();BEGIN(DEFAULT);return m(KW_ELSE);}
3021 #line 678 "tokenizer.lex"
3022 {c();BEGIN(REGEXPOK);return m(KW_CASE);}
3026 #line 679 "tokenizer.lex"
3027 {c();BEGIN(REGEXPOK);return m(KW_WITH);}
3031 #line 680 "tokenizer.lex"
3032 {c();BEGIN(REGEXPOK);return m(KW_USE);}
3036 #line 681 "tokenizer.lex"
3037 {c();BEGIN(REGEXPOK);return m(KW_NEW);}
3041 #line 682 "tokenizer.lex"
3042 {c();BEGIN(DEFAULT);return m(KW_GET);}
3046 #line 683 "tokenizer.lex"
3047 {c();BEGIN(DEFAULT);return m(KW_SET);}
3051 #line 684 "tokenizer.lex"
3052 {c();BEGIN(DEFAULT);return m(KW_VAR);}
3056 #line 685 "tokenizer.lex"
3057 {c();BEGIN(DEFAULT);return m(KW_TRY);}
3061 #line 686 "tokenizer.lex"
3062 {c();BEGIN(REGEXPOK);return m(KW_IS) ;}
3066 #line 687 "tokenizer.lex"
3067 {c();BEGIN(REGEXPOK);return m(KW_IN) ;}
3071 #line 688 "tokenizer.lex"
3072 {c();BEGIN(DEFAULT);return m(KW_IF) ;}
3076 #line 689 "tokenizer.lex"
3077 {c();BEGIN(REGEXPOK);return m(KW_AS);}
3081 #line 690 "tokenizer.lex"
3082 {c();BEGIN(DEFAULT);return handleIdentifier();}
3086 #line 692 "tokenizer.lex"
3087 {c();BEGIN(DEFAULT);return m(as3_text[0]);}
3091 #line 693 "tokenizer.lex"
3092 {c();BEGIN(REGEXPOK);return m(as3_text[0]);}
3096 #line 694 "tokenizer.lex"
3097 {c();BEGIN(DEFAULT);return m(as3_text[0]);}
3102 #line 697 "tokenizer.lex"
3106 case YY_STATE_EOF(INITIAL):
3107 case YY_STATE_EOF(REGEXPOK):
3108 case YY_STATE_EOF(BEGINNING):
3109 case YY_STATE_EOF(DEFAULT):
3110 #line 699 "tokenizer.lex"
3112 void*b = leave_file();
3115 as3__delete_buffer(YY_CURRENT_BUFFER);
3118 as3__delete_buffer(YY_CURRENT_BUFFER);
3119 as3__switch_to_buffer(b);
3125 #line 711 "tokenizer.lex"
3128 #line 3129 "tokenizer.yy.c"
3130 case YY_END_OF_BUFFER:
3132 /* Amount of text matched not including the EOB char. */
3133 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
3135 /* Undo the effects of YY_DO_BEFORE_ACTION. */
3136 *yy_cp = (yy_hold_char);
3137 YY_RESTORE_YY_MORE_OFFSET
3139 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
3141 /* We're scanning a new file or input source. It's
3142 * possible that this happened because the user
3143 * just pointed as3_in at a new source and called
3144 * as3_lex(). If so, then we have to assure
3145 * consistency between YY_CURRENT_BUFFER and our
3146 * globals. Here is the right place to do so, because
3147 * this is the first action (other than possibly a
3148 * back-up) that will match for the new input source.
3150 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3151 YY_CURRENT_BUFFER_LVALUE->yy_input_file = as3_in;
3152 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
3155 /* Note that here we test for yy_c_buf_p "<=" to the position
3156 * of the first EOB in the buffer, since yy_c_buf_p will
3157 * already have been incremented past the NUL character
3158 * (since all states make transitions on EOB to the
3159 * end-of-buffer state). Contrast this with the test
3162 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3163 { /* This was really a NUL. */
3164 yy_state_type yy_next_state;
3166 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
3168 yy_current_state = yy_get_previous_state( );
3170 /* Okay, we're now positioned to make the NUL
3171 * transition. We couldn't have
3172 * yy_get_previous_state() go ahead and do it
3173 * for us because it doesn't know how to deal
3174 * with the possibility of jamming (and we don't
3175 * want to build jamming into it because then it
3176 * will run more slowly).
3179 yy_next_state = yy_try_NUL_trans( yy_current_state );
3181 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3183 if ( yy_next_state )
3185 /* Consume the NUL. */
3186 yy_cp = ++(yy_c_buf_p);
3187 yy_current_state = yy_next_state;
3193 yy_cp = (yy_last_accepting_cpos);
3194 yy_current_state = (yy_last_accepting_state);
3195 goto yy_find_action;
3199 else switch ( yy_get_next_buffer( ) )
3201 case EOB_ACT_END_OF_FILE:
3203 (yy_did_buffer_switch_on_eof) = 0;
3207 /* Note: because we've taken care in
3208 * yy_get_next_buffer() to have set up
3209 * as3_text, we can now set up
3210 * yy_c_buf_p so that if some total
3211 * hoser (like flex itself) wants to
3212 * call the scanner after we return the
3213 * YY_NULL, it'll still work - another
3214 * YY_NULL will get returned.
3216 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
3218 yy_act = YY_STATE_EOF(YY_START);
3224 if ( ! (yy_did_buffer_switch_on_eof) )
3230 case EOB_ACT_CONTINUE_SCAN:
3232 (yytext_ptr) + yy_amount_of_matched_text;
3234 yy_current_state = yy_get_previous_state( );
3236 yy_cp = (yy_c_buf_p);
3237 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3240 case EOB_ACT_LAST_MATCH:
3242 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
3244 yy_current_state = yy_get_previous_state( );
3246 yy_cp = (yy_c_buf_p);
3247 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3248 goto yy_find_action;
3255 "fatal flex scanner internal error--no action found" );
3256 } /* end of action switch */
3257 } /* end of scanning one token */
3258 } /* end of as3_lex */
3260 /* yy_get_next_buffer - try to read in a new buffer
3262 * Returns a code representing an action:
3263 * EOB_ACT_LAST_MATCH -
3264 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3265 * EOB_ACT_END_OF_FILE - end of file
3267 static int yy_get_next_buffer (void)
3269 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
3270 register char *source = (yytext_ptr);
3271 register int number_to_move, i;
3274 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
3276 "fatal flex scanner internal error--end of buffer missed" );
3278 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
3279 { /* Don't try to fill the buffer, so this is an EOF. */
3280 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
3282 /* We matched a single character, the EOB, so
3283 * treat this as a final EOF.
3285 return EOB_ACT_END_OF_FILE;
3290 /* We matched some text prior to the EOB, first
3293 return EOB_ACT_LAST_MATCH;
3297 /* Try to read more data. */
3299 /* First move last chars to start of buffer. */
3300 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
3302 for ( i = 0; i < number_to_move; ++i )
3303 *(dest++) = *(source++);
3305 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
3306 /* don't do the read, it's not guaranteed to return an EOF,
3309 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
3314 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
3316 while ( num_to_read <= 0 )
3317 { /* Not enough room in the buffer - grow it. */
3319 /* just a shorter name for the current buffer */
3320 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
3322 int yy_c_buf_p_offset =
3323 (int) ((yy_c_buf_p) - b->yy_ch_buf);
3325 if ( b->yy_is_our_buffer )
3327 int new_size = b->yy_buf_size * 2;
3329 if ( new_size <= 0 )
3330 b->yy_buf_size += b->yy_buf_size / 8;
3332 b->yy_buf_size *= 2;
3334 b->yy_ch_buf = (char *)
3335 /* Include room in for 2 EOB chars. */
3336 as3_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
3339 /* Can't grow it, we don't own it. */
3342 if ( ! b->yy_ch_buf )
3344 "fatal error - scanner input buffer overflow" );
3346 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
3348 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
3353 if ( num_to_read > YY_READ_BUF_SIZE )
3354 num_to_read = YY_READ_BUF_SIZE;
3356 /* Read in more data. */
3357 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
3358 (yy_n_chars), (size_t) num_to_read );
3360 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3363 if ( (yy_n_chars) == 0 )
3365 if ( number_to_move == YY_MORE_ADJ )
3367 ret_val = EOB_ACT_END_OF_FILE;
3368 as3_restart(as3_in );
3373 ret_val = EOB_ACT_LAST_MATCH;
3374 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
3375 YY_BUFFER_EOF_PENDING;
3380 ret_val = EOB_ACT_CONTINUE_SCAN;
3382 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
3383 /* Extend the array by 50%, plus the number we really need. */
3384 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
3385 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) as3_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
3386 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3387 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
3390 (yy_n_chars) += number_to_move;
3391 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
3392 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
3394 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
3399 /* yy_get_previous_state - get the state just before the EOB char was reached */
3401 static yy_state_type yy_get_previous_state (void)
3403 register yy_state_type yy_current_state;
3404 register char *yy_cp;
3406 yy_current_state = (yy_start);
3407 yy_current_state += YY_AT_BOL();
3409 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
3411 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3412 if ( yy_accept[yy_current_state] )
3414 (yy_last_accepting_state) = yy_current_state;
3415 (yy_last_accepting_cpos) = yy_cp;
3417 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3419 yy_current_state = (int) yy_def[yy_current_state];
3420 if ( yy_current_state >= 675 )
3421 yy_c = yy_meta[(unsigned int) yy_c];
3423 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3426 return yy_current_state;
3429 /* yy_try_NUL_trans - try to make a transition on the NUL character
3432 * next_state = yy_try_NUL_trans( current_state );
3434 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
3436 register int yy_is_jam;
3437 register char *yy_cp = (yy_c_buf_p);
3439 register YY_CHAR yy_c = 1;
3440 if ( yy_accept[yy_current_state] )
3442 (yy_last_accepting_state) = yy_current_state;
3443 (yy_last_accepting_cpos) = yy_cp;
3445 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3447 yy_current_state = (int) yy_def[yy_current_state];
3448 if ( yy_current_state >= 675 )
3449 yy_c = yy_meta[(unsigned int) yy_c];
3451 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3452 yy_is_jam = (yy_current_state == 674);
3454 return yy_is_jam ? 0 : yy_current_state;
3457 static void yyunput (int c, register char * yy_bp )
3459 register char *yy_cp;
3461 yy_cp = (yy_c_buf_p);
3463 /* undo effects of setting up as3_text */
3464 *yy_cp = (yy_hold_char);
3466 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
3467 { /* need to shift things up to make room */
3468 /* +2 for EOB chars. */
3469 register int number_to_move = (yy_n_chars) + 2;
3470 register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
3471 YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
3472 register char *source =
3473 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
3475 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3476 *--dest = *--source;
3478 yy_cp += (int) (dest - source);
3479 yy_bp += (int) (dest - source);
3480 YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
3481 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
3483 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
3484 YY_FATAL_ERROR( "flex scanner push-back overflow" );
3487 *--yy_cp = (char) c;
3489 (yytext_ptr) = yy_bp;
3490 (yy_hold_char) = *yy_cp;
3491 (yy_c_buf_p) = yy_cp;
3496 static int yyinput (void)
3498 static int input (void)
3504 *(yy_c_buf_p) = (yy_hold_char);
3506 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
3508 /* yy_c_buf_p now points to the character we want to return.
3509 * If this occurs *before* the EOB characters, then it's a
3510 * valid NUL; if not, then we've hit the end of the buffer.
3512 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3513 /* This was really a NUL. */
3514 *(yy_c_buf_p) = '\0';
3517 { /* need more input */
3518 int offset = (yy_c_buf_p) - (yytext_ptr);
3521 switch ( yy_get_next_buffer( ) )
3523 case EOB_ACT_LAST_MATCH:
3524 /* This happens because yy_g_n_b()
3525 * sees that we've accumulated a
3526 * token and flags that we need to
3527 * try matching the token before
3528 * proceeding. But for input(),
3529 * there's no matching to consider.
3530 * So convert the EOB_ACT_LAST_MATCH
3531 * to EOB_ACT_END_OF_FILE.
3534 /* Reset buffer status. */
3535 as3_restart(as3_in );
3539 case EOB_ACT_END_OF_FILE:
3544 if ( ! (yy_did_buffer_switch_on_eof) )
3553 case EOB_ACT_CONTINUE_SCAN:
3554 (yy_c_buf_p) = (yytext_ptr) + offset;
3560 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
3561 *(yy_c_buf_p) = '\0'; /* preserve as3_text */
3562 (yy_hold_char) = *++(yy_c_buf_p);
3564 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
3568 #endif /* ifndef YY_NO_INPUT */
3570 /** Immediately switch to a different input stream.
3571 * @param input_file A readable stream.
3573 * @note This function does not reset the start condition to @c INITIAL .
3575 void as3_restart (FILE * input_file )
3578 if ( ! YY_CURRENT_BUFFER ){
3579 as3_ensure_buffer_stack ();
3580 YY_CURRENT_BUFFER_LVALUE =
3581 as3__create_buffer(as3_in,YY_BUF_SIZE );
3584 as3__init_buffer(YY_CURRENT_BUFFER,input_file );
3585 as3__load_buffer_state( );
3588 /** Switch to a different input buffer.
3589 * @param new_buffer The new input buffer.
3592 void as3__switch_to_buffer (YY_BUFFER_STATE new_buffer )
3595 /* TODO. We should be able to replace this entire function body
3597 * as3_pop_buffer_state();
3598 * as3_push_buffer_state(new_buffer);
3600 as3_ensure_buffer_stack ();
3601 if ( YY_CURRENT_BUFFER == new_buffer )
3604 if ( YY_CURRENT_BUFFER )
3606 /* Flush out information for old buffer. */
3607 *(yy_c_buf_p) = (yy_hold_char);
3608 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3609 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3612 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3613 as3__load_buffer_state( );
3615 /* We don't actually know whether we did this switch during
3616 * EOF (as3_wrap()) processing, but the only time this flag
3617 * is looked at is after as3_wrap() is called, so it's safe
3618 * to go ahead and always set it.
3620 (yy_did_buffer_switch_on_eof) = 1;
3623 static void as3__load_buffer_state (void)
3625 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3626 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
3627 as3_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
3628 (yy_hold_char) = *(yy_c_buf_p);
3631 /** Allocate and initialize an input buffer state.
3632 * @param file A readable stream.
3633 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
3635 * @return the allocated buffer state.
3637 YY_BUFFER_STATE as3__create_buffer (FILE * file, int size )
3641 b = (YY_BUFFER_STATE) as3_alloc(sizeof( struct yy_buffer_state ) );
3643 YY_FATAL_ERROR( "out of dynamic memory in as3__create_buffer()" );
3645 b->yy_buf_size = size;
3647 /* yy_ch_buf has to be 2 characters longer than the size given because
3648 * we need to put in 2 end-of-buffer characters.
3650 b->yy_ch_buf = (char *) as3_alloc(b->yy_buf_size + 2 );
3651 if ( ! b->yy_ch_buf )
3652 YY_FATAL_ERROR( "out of dynamic memory in as3__create_buffer()" );
3654 b->yy_is_our_buffer = 1;
3656 as3__init_buffer(b,file );
3661 /** Destroy the buffer.
3662 * @param b a buffer created with as3__create_buffer()
3665 void as3__delete_buffer (YY_BUFFER_STATE b )
3671 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
3672 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
3674 if ( b->yy_is_our_buffer )
3675 as3_free((void *) b->yy_ch_buf );
3677 as3_free((void *) b );
3681 extern int isatty (int );
3682 #endif /* __cplusplus */
3684 /* Initializes or reinitializes a buffer.
3685 * This function is sometimes called more than once on the same buffer,
3686 * such as during a as3_restart() or at EOF.
3688 static void as3__init_buffer (YY_BUFFER_STATE b, FILE * file )
3693 as3__flush_buffer(b );
3695 b->yy_input_file = file;
3696 b->yy_fill_buffer = 1;
3698 /* If b is the current buffer, then as3__init_buffer was _probably_
3699 * called from as3_restart() or through yy_get_next_buffer.
3700 * In that case, we don't want to reset the lineno or column.
3702 if (b != YY_CURRENT_BUFFER){
3703 b->yy_bs_lineno = 1;
3704 b->yy_bs_column = 0;
3707 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
3712 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
3713 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
3716 void as3__flush_buffer (YY_BUFFER_STATE b )
3723 /* We always need two end-of-buffer characters. The first causes
3724 * a transition to the end-of-buffer state. The second causes
3725 * a jam in that state.
3727 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3728 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3730 b->yy_buf_pos = &b->yy_ch_buf[0];
3733 b->yy_buffer_status = YY_BUFFER_NEW;
3735 if ( b == YY_CURRENT_BUFFER )
3736 as3__load_buffer_state( );
3739 /** Pushes the new state onto the stack. The new state becomes
3740 * the current state. This function will allocate the stack
3742 * @param new_buffer The new state.
3745 void as3_push_buffer_state (YY_BUFFER_STATE new_buffer )
3747 if (new_buffer == NULL)
3750 as3_ensure_buffer_stack();
3752 /* This block is copied from as3__switch_to_buffer. */
3753 if ( YY_CURRENT_BUFFER )
3755 /* Flush out information for old buffer. */
3756 *(yy_c_buf_p) = (yy_hold_char);
3757 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3758 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3761 /* Only push if top exists. Otherwise, replace top. */
3762 if (YY_CURRENT_BUFFER)
3763 (yy_buffer_stack_top)++;
3764 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3766 /* copied from as3__switch_to_buffer. */
3767 as3__load_buffer_state( );
3768 (yy_did_buffer_switch_on_eof) = 1;
3771 /** Removes and deletes the top of the stack, if present.
3772 * The next element becomes the new top.
3775 void as3_pop_buffer_state (void)
3777 if (!YY_CURRENT_BUFFER)
3780 as3__delete_buffer(YY_CURRENT_BUFFER );
3781 YY_CURRENT_BUFFER_LVALUE = NULL;
3782 if ((yy_buffer_stack_top) > 0)
3783 --(yy_buffer_stack_top);
3785 if (YY_CURRENT_BUFFER) {
3786 as3__load_buffer_state( );
3787 (yy_did_buffer_switch_on_eof) = 1;
3791 /* Allocates the stack if it does not exist.
3792 * Guarantees space for at least one push.
3794 static void as3_ensure_buffer_stack (void)
3798 if (!(yy_buffer_stack)) {
3800 /* First allocation is just for 2 elements, since we don't know if this
3801 * scanner will even need a stack. We use 2 instead of 1 to avoid an
3802 * immediate realloc on the next call.
3805 (yy_buffer_stack) = (struct yy_buffer_state**)as3_alloc
3806 (num_to_alloc * sizeof(struct yy_buffer_state*)
3808 if ( ! (yy_buffer_stack) )
3809 YY_FATAL_ERROR( "out of dynamic memory in as3_ensure_buffer_stack()" );
3811 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
3813 (yy_buffer_stack_max) = num_to_alloc;
3814 (yy_buffer_stack_top) = 0;
3818 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
3820 /* Increase the buffer to prepare for a possible push. */
3821 int grow_size = 8 /* arbitrary grow size */;
3823 num_to_alloc = (yy_buffer_stack_max) + grow_size;
3824 (yy_buffer_stack) = (struct yy_buffer_state**)as3_realloc
3826 num_to_alloc * sizeof(struct yy_buffer_state*)
3828 if ( ! (yy_buffer_stack) )
3829 YY_FATAL_ERROR( "out of dynamic memory in as3_ensure_buffer_stack()" );
3831 /* zero only the new slots.*/
3832 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
3833 (yy_buffer_stack_max) = num_to_alloc;
3837 /** Setup the input buffer state to scan directly from a user-specified character buffer.
3838 * @param base the character buffer
3839 * @param size the size in bytes of the character buffer
3841 * @return the newly allocated buffer state object.
3843 YY_BUFFER_STATE as3__scan_buffer (char * base, yy_size_t size )
3848 base[size-2] != YY_END_OF_BUFFER_CHAR ||
3849 base[size-1] != YY_END_OF_BUFFER_CHAR )
3850 /* They forgot to leave room for the EOB's. */
3853 b = (YY_BUFFER_STATE) as3_alloc(sizeof( struct yy_buffer_state ) );
3855 YY_FATAL_ERROR( "out of dynamic memory in as3__scan_buffer()" );
3857 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
3858 b->yy_buf_pos = b->yy_ch_buf = base;
3859 b->yy_is_our_buffer = 0;
3860 b->yy_input_file = 0;
3861 b->yy_n_chars = b->yy_buf_size;
3862 b->yy_is_interactive = 0;
3864 b->yy_fill_buffer = 0;
3865 b->yy_buffer_status = YY_BUFFER_NEW;
3867 as3__switch_to_buffer(b );
3872 /** Setup the input buffer state to scan a string. The next call to as3_lex() will
3873 * scan from a @e copy of @a str.
3874 * @param yystr a NUL-terminated string to scan
3876 * @return the newly allocated buffer state object.
3877 * @note If you want to scan bytes that may contain NUL values, then use
3878 * as3__scan_bytes() instead.
3880 YY_BUFFER_STATE as3__scan_string (yyconst char * yystr )
3883 return as3__scan_bytes(yystr,strlen(yystr) );
3886 /** Setup the input buffer state to scan the given bytes. The next call to as3_lex() will
3887 * scan from a @e copy of @a bytes.
3888 * @param bytes the byte buffer to scan
3889 * @param len the number of bytes in the buffer pointed to by @a bytes.
3891 * @return the newly allocated buffer state object.
3893 YY_BUFFER_STATE as3__scan_bytes (yyconst char * yybytes, int _yybytes_len )
3900 /* Get memory for full buffer, including space for trailing EOB's. */
3901 n = _yybytes_len + 2;
3902 buf = (char *) as3_alloc(n );
3904 YY_FATAL_ERROR( "out of dynamic memory in as3__scan_bytes()" );
3906 for ( i = 0; i < _yybytes_len; ++i )
3907 buf[i] = yybytes[i];
3909 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
3911 b = as3__scan_buffer(buf,n );
3913 YY_FATAL_ERROR( "bad buffer in as3__scan_bytes()" );
3915 /* It's okay to grow etc. this buffer, and we should throw it
3916 * away when we're done.
3918 b->yy_is_our_buffer = 1;
3923 #ifndef YY_EXIT_FAILURE
3924 #define YY_EXIT_FAILURE 2
3927 static void yy_fatal_error (yyconst char* msg )
3929 (void) fprintf( stderr, "%s\n", msg );
3930 exit( YY_EXIT_FAILURE );
3933 /* Redefine yyless() so it works in section 3 code. */
3939 /* Undo effects of setting up as3_text. */ \
3940 int yyless_macro_arg = (n); \
3941 YY_LESS_LINENO(yyless_macro_arg);\
3942 as3_text[as3_leng] = (yy_hold_char); \
3943 (yy_c_buf_p) = as3_text + yyless_macro_arg; \
3944 (yy_hold_char) = *(yy_c_buf_p); \
3945 *(yy_c_buf_p) = '\0'; \
3946 as3_leng = yyless_macro_arg; \
3950 /* Accessor methods (get/set functions) to struct members. */
3952 /** Get the current line number.
3955 int as3_get_lineno (void)
3961 /** Get the input stream.
3964 FILE *as3_get_in (void)
3969 /** Get the output stream.
3972 FILE *as3_get_out (void)
3977 /** Get the length of the current token.
3980 int as3_get_leng (void)
3985 /** Get the current token.
3989 char *as3_get_text (void)
3994 /** Set the current line number.
3995 * @param line_number
3998 void as3_set_lineno (int line_number )
4001 as3_lineno = line_number;
4004 /** Set the input stream. This does not discard the current
4006 * @param in_str A readable stream.
4008 * @see as3__switch_to_buffer
4010 void as3_set_in (FILE * in_str )
4015 void as3_set_out (FILE * out_str )
4020 int as3_get_debug (void)
4022 return as3__flex_debug;
4025 void as3_set_debug (int bdebug )
4027 as3__flex_debug = bdebug ;
4030 static int yy_init_globals (void)
4032 /* Initialization is the same as for the non-reentrant scanner.
4033 * This function is called from as3_lex_destroy(), so don't allocate here.
4036 (yy_buffer_stack) = 0;
4037 (yy_buffer_stack_top) = 0;
4038 (yy_buffer_stack_max) = 0;
4039 (yy_c_buf_p) = (char *) 0;
4043 /* Defined in main.c */
4048 as3_in = (FILE *) 0;
4049 as3_out = (FILE *) 0;
4052 /* For future reference: Set errno on error, since we are called by
4058 /* as3_lex_destroy is for both reentrant and non-reentrant scanners. */
4059 int as3_lex_destroy (void)
4062 /* Pop the buffer stack, destroying each element. */
4063 while(YY_CURRENT_BUFFER){
4064 as3__delete_buffer(YY_CURRENT_BUFFER );
4065 YY_CURRENT_BUFFER_LVALUE = NULL;
4066 as3_pop_buffer_state();
4069 /* Destroy the stack itself. */
4070 as3_free((yy_buffer_stack) );
4071 (yy_buffer_stack) = NULL;
4073 /* Reset the globals. This is important in a non-reentrant scanner so the next time
4074 * as3_lex() is called, initialization will occur. */
4081 * Internal utility routines.
4085 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
4088 for ( i = 0; i < n; ++i )
4093 #ifdef YY_NEED_STRLEN
4094 static int yy_flex_strlen (yyconst char * s )
4097 for ( n = 0; s[n]; ++n )
4104 void *as3_alloc (yy_size_t size )
4106 return (void *) malloc( size );
4109 void *as3_realloc (void * ptr, yy_size_t size )
4111 /* The cast to (char *) in the following accommodates both
4112 * implementations that use char* generic pointers, and those
4113 * that use void* generic pointers. It works with the latter
4114 * because both ANSI C and C++ allow castless assignment from
4115 * any pointer type to void*, and deal with argument conversions
4116 * as though doing an assignment.
4118 return (void *) realloc( (char *) ptr, size );
4121 void as3_free (void * ptr )
4123 free( (char *) ptr ); /* see as3_realloc() for (char *) cast */
4126 #define YYTABLES_NAME "yytables"
4128 #line 711 "tokenizer.lex"
4137 static int tokenerror()
4139 char c1=as3_text[0];
4141 buf[0] = as3_text[0];
4143 for(t=1;t<128;t++) {
4144 char c = buf[t]=input();
4145 if(c=='\n' || c==EOF) {
4150 if(c1>='0' && c1<='9')
4151 syntaxerror("syntax error: %s (identifiers must not start with a digit)");
4153 syntaxerror("syntax error [state=%d]: %s", (yy_start-1)/2, buf);
4160 static char mbuf[256];
4161 char*token2string(enum yytokentype nr, YYSTYPE v)
4164 char*s = malloc(v.str.len+10);
4165 strcpy(s, "<string>");
4166 memcpy(s+8, v.str.str, v.str.len);
4167 sprintf(s+8+v.str.len, " (%d bytes)", v.str.len);
4170 else if(nr==T_REGEXP) {
4171 char*s = malloc(strlen(v.regexp.pattern)+10);
4172 sprintf(s, "<regexp>%s", v.regexp.pattern);
4175 else if(nr==T_IDENTIFIER) {
4176 char*s = malloc(strlen(v.id)+10);
4177 sprintf(s, "<ID>%s", v.id);
4180 else if(nr==T_INT) return "<int>";
4181 else if(nr==T_UINT) return "<uint>";
4182 else if(nr==T_FLOAT) return "<float>";
4183 else if(nr==T_EOF) return "***END***";
4184 else if(nr==T_GE) return ">=";
4185 else if(nr==T_LE) return "<=";
4186 else if(nr==T_MINUSMINUS) return "--";
4187 else if(nr==T_PLUSPLUS) return "++";
4188 else if(nr==KW_IMPLEMENTS) return "implements";
4189 else if(nr==KW_INTERFACE) return "interface";
4190 else if(nr==KW_NAMESPACE) return "namespace";
4191 else if(nr==KW_PROTECTED) return "protected";
4192 else if(nr==KW_OVERRIDE) return "override";
4193 else if(nr==KW_INTERNAL) return "internal";
4194 else if(nr==KW_FUNCTION) return "function";
4195 else if(nr==KW_PACKAGE) return "package";
4196 else if(nr==KW_PRIVATE) return "private";
4197 else if(nr==KW_BOOLEAN) return "Boolean";
4198 else if(nr==KW_DYNAMIC) return "dynamic";
4199 else if(nr==KW_EXTENDS) return "extends";
4200 else if(nr==KW_PUBLIC) return "public";
4201 else if(nr==KW_NATIVE) return "native";
4202 else if(nr==KW_STATIC) return "static";
4203 else if(nr==KW_IMPORT) return "import";
4204 else if(nr==KW_NUMBER) return "number";
4205 else if(nr==KW_CLASS) return "class";
4206 else if(nr==KW_CONST) return "const";
4207 else if(nr==KW_FINAL) return "final";
4208 else if(nr==KW_FALSE) return "False";
4209 else if(nr==KW_TRUE) return "True";
4210 else if(nr==KW_UINT) return "uint";
4211 else if(nr==KW_NULL) return "null";
4212 else if(nr==KW_ELSE) return "else";
4213 else if(nr==KW_USE) return "use";
4214 else if(nr==KW_INT) return "int";
4215 else if(nr==KW_NEW) return "new";
4216 else if(nr==KW_GET) return "get";
4217 else if(nr==KW_SET) return "set";
4218 else if(nr==KW_VAR) return "var";
4219 else if(nr==KW_IS) return "is";
4220 else if(nr==KW_AS) return "as";
4222 sprintf(mbuf, "%d", nr);
4227 void tokenizer_begin_xml()
4229 dbg("begin reading xml");
4232 void tokenizer_begin_xmltext()
4234 dbg("begin reading xml text");
4237 void tokenizer_end_xmltext()
4239 dbg("end reading xml text");
4242 void tokenizer_end_xml()
4244 dbg("end reading xml");
4248 void initialize_scanner()