2 #define YY_INT_ALIGNED short int
4 /* A lexical scanner generated by flex */
6 #define yy_create_buffer dax__create_buffer
7 #define yy_delete_buffer dax__delete_buffer
8 #define yy_scan_buffer dax__scan_buffer
9 #define yy_scan_string dax__scan_string
10 #define yy_scan_bytes dax__scan_bytes
11 #define yy_init_buffer dax__init_buffer
12 #define yy_flush_buffer dax__flush_buffer
13 #define yy_load_buffer_state dax__load_buffer_state
14 #define yy_switch_to_buffer dax__switch_to_buffer
15 #define yypush_buffer_state dax_push_buffer_state
16 #define yypop_buffer_state dax_pop_buffer_state
17 #define yyensure_buffer_stack dax_ensure_buffer_stack
18 #define yy_flex_debug dax__flex_debug
20 #define yyleng dax_leng
22 #define yylineno dax_lineno
24 #define yyrestart dax_restart
25 #define yytext dax_text
26 #define yywrap dax_wrap
27 #define yyalloc dax_alloc
28 #define yyrealloc dax_realloc
29 #define yyfree dax_free
32 #define YY_FLEX_MAJOR_VERSION 2
33 #define YY_FLEX_MINOR_VERSION 6
34 #define YY_FLEX_SUBMINOR_VERSION 4
35 #if YY_FLEX_SUBMINOR_VERSION > 0
39 #ifdef yy_create_buffer
40 #define dax__create_buffer_ALREADY_DEFINED
42 #define yy_create_buffer dax__create_buffer
45 #ifdef yy_delete_buffer
46 #define dax__delete_buffer_ALREADY_DEFINED
48 #define yy_delete_buffer dax__delete_buffer
52 #define dax__scan_buffer_ALREADY_DEFINED
54 #define yy_scan_buffer dax__scan_buffer
58 #define dax__scan_string_ALREADY_DEFINED
60 #define yy_scan_string dax__scan_string
64 #define dax__scan_bytes_ALREADY_DEFINED
66 #define yy_scan_bytes dax__scan_bytes
70 #define dax__init_buffer_ALREADY_DEFINED
72 #define yy_init_buffer dax__init_buffer
75 #ifdef yy_flush_buffer
76 #define dax__flush_buffer_ALREADY_DEFINED
78 #define yy_flush_buffer dax__flush_buffer
81 #ifdef yy_load_buffer_state
82 #define dax__load_buffer_state_ALREADY_DEFINED
84 #define yy_load_buffer_state dax__load_buffer_state
87 #ifdef yy_switch_to_buffer
88 #define dax__switch_to_buffer_ALREADY_DEFINED
90 #define yy_switch_to_buffer dax__switch_to_buffer
93 #ifdef yypush_buffer_state
94 #define dax_push_buffer_state_ALREADY_DEFINED
96 #define yypush_buffer_state dax_push_buffer_state
99 #ifdef yypop_buffer_state
100 #define dax_pop_buffer_state_ALREADY_DEFINED
102 #define yypop_buffer_state dax_pop_buffer_state
105 #ifdef yyensure_buffer_stack
106 #define dax_ensure_buffer_stack_ALREADY_DEFINED
108 #define yyensure_buffer_stack dax_ensure_buffer_stack
112 #define dax_lex_ALREADY_DEFINED
114 #define yylex dax_lex
118 #define dax_restart_ALREADY_DEFINED
120 #define yyrestart dax_restart
124 #define dax_lex_init_ALREADY_DEFINED
126 #define yylex_init dax_lex_init
129 #ifdef yylex_init_extra
130 #define dax_lex_init_extra_ALREADY_DEFINED
132 #define yylex_init_extra dax_lex_init_extra
136 #define dax_lex_destroy_ALREADY_DEFINED
138 #define yylex_destroy dax_lex_destroy
142 #define dax_get_debug_ALREADY_DEFINED
144 #define yyget_debug dax_get_debug
148 #define dax_set_debug_ALREADY_DEFINED
150 #define yyset_debug dax_set_debug
154 #define dax_get_extra_ALREADY_DEFINED
156 #define yyget_extra dax_get_extra
160 #define dax_set_extra_ALREADY_DEFINED
162 #define yyset_extra dax_set_extra
166 #define dax_get_in_ALREADY_DEFINED
168 #define yyget_in dax_get_in
172 #define dax_set_in_ALREADY_DEFINED
174 #define yyset_in dax_set_in
178 #define dax_get_out_ALREADY_DEFINED
180 #define yyget_out dax_get_out
184 #define dax_set_out_ALREADY_DEFINED
186 #define yyset_out dax_set_out
190 #define dax_get_leng_ALREADY_DEFINED
192 #define yyget_leng dax_get_leng
196 #define dax_get_text_ALREADY_DEFINED
198 #define yyget_text dax_get_text
202 #define dax_get_lineno_ALREADY_DEFINED
204 #define yyget_lineno dax_get_lineno
208 #define dax_set_lineno_ALREADY_DEFINED
210 #define yyset_lineno dax_set_lineno
214 #define dax_wrap_ALREADY_DEFINED
216 #define yywrap dax_wrap
220 #define dax_alloc_ALREADY_DEFINED
222 #define yyalloc dax_alloc
226 #define dax_realloc_ALREADY_DEFINED
228 #define yyrealloc dax_realloc
232 #define dax_free_ALREADY_DEFINED
234 #define yyfree dax_free
238 #define dax_text_ALREADY_DEFINED
240 #define yytext dax_text
244 #define dax_leng_ALREADY_DEFINED
246 #define yyleng dax_leng
250 #define dax_in_ALREADY_DEFINED
256 #define dax_out_ALREADY_DEFINED
258 #define yyout dax_out
262 #define dax__flex_debug_ALREADY_DEFINED
264 #define yy_flex_debug dax__flex_debug
268 #define dax_lineno_ALREADY_DEFINED
270 #define yylineno dax_lineno
273 /* First, we deal with platform-specific or compiler-specific issues. */
275 /* begin standard C headers. */
281 /* end standard C headers. */
283 /* flex integer type definitions */
288 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
290 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
292 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
293 * if you want the limit (max/min) macros for int types.
295 #ifndef __STDC_LIMIT_MACROS
296 #define __STDC_LIMIT_MACROS 1
299 #include <inttypes.h>
300 typedef int8_t flex_int8_t;
301 typedef uint8_t flex_uint8_t;
302 typedef int16_t flex_int16_t;
303 typedef uint16_t flex_uint16_t;
304 typedef int32_t flex_int32_t;
305 typedef uint32_t flex_uint32_t;
307 typedef signed char flex_int8_t;
308 typedef short int flex_int16_t;
309 typedef int flex_int32_t;
310 typedef unsigned char flex_uint8_t;
311 typedef unsigned short int flex_uint16_t;
312 typedef unsigned int flex_uint32_t;
314 /* Limits of integral types. */
316 #define INT8_MIN (-128)
319 #define INT16_MIN (-32767-1)
322 #define INT32_MIN (-2147483647-1)
325 #define INT8_MAX (127)
328 #define INT16_MAX (32767)
331 #define INT32_MAX (2147483647)
334 #define UINT8_MAX (255U)
337 #define UINT16_MAX (65535U)
340 #define UINT32_MAX (4294967295U)
344 #define SIZE_MAX (~(size_t)0)
349 #endif /* ! FLEXINT_H */
351 /* begin standard C++ headers. */
353 /* TODO: this is always defined, so inline it */
354 #define yyconst const
356 #if defined(__GNUC__) && __GNUC__ >= 3
357 #define yynoreturn __attribute__((__noreturn__))
362 /* Returned upon end-of-file. */
365 /* Promotes a possibly negative, possibly signed char to an
366 * integer in range [0..255] for use as an array index.
368 #define YY_SC_TO_UI(c) ((YY_CHAR) (c))
370 /* Enter a start condition. This macro really ought to take a parameter,
371 * but we do it the disgusting crufty way forced on us by the ()-less
372 * definition of BEGIN.
374 #define BEGIN (yy_start) = 1 + 2 *
375 /* Translate the current start state into a value that can be later handed
376 * to BEGIN to return to the state. The YYSTATE alias is for lex
379 #define YY_START (((yy_start) - 1) / 2)
380 #define YYSTATE YY_START
381 /* Action number for EOF rule of a given start state. */
382 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
383 /* Special action meaning "start processing a new file". */
384 #define YY_NEW_FILE yyrestart( yyin )
385 #define YY_END_OF_BUFFER_CHAR 0
387 /* Size of default input buffer. */
390 /* On IA-64, the buffer size is 16k, not 8k.
391 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
392 * Ditto for the __ia64__ case accordingly.
394 #define YY_BUF_SIZE 32768
396 #define YY_BUF_SIZE 16384
397 #endif /* __ia64__ */
400 /* The state buf must be large enough to hold one state per character in the main buffer.
402 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
404 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
405 #define YY_TYPEDEF_YY_BUFFER_STATE
406 typedef struct yy_buffer_state *YY_BUFFER_STATE;
409 #ifndef YY_TYPEDEF_YY_SIZE_T
410 #define YY_TYPEDEF_YY_SIZE_T
411 typedef size_t yy_size_t;
416 extern FILE *yyin, *yyout;
418 #define EOB_ACT_CONTINUE_SCAN 0
419 #define EOB_ACT_END_OF_FILE 1
420 #define EOB_ACT_LAST_MATCH 2
422 /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
423 * access to the local variable yy_act. Since yyless() is a macro, it would break
424 * existing scanners that call yyless() from OUTSIDE yylex.
425 * One obvious solution it to make yy_act a global. I tried that, and saw
426 * a 5% performance hit in a non-yylineno scanner, because yy_act is
427 * normally declared as a register variable-- so it is not worth it.
429 #define YY_LESS_LINENO(n) \
432 for ( yyl = n; yyl < yyleng; ++yyl )\
433 if ( yytext[yyl] == '\n' )\
436 #define YY_LINENO_REWIND_TO(dst) \
439 for ( p = yy_cp-1; p >= (dst); --p)\
444 /* Return all but the first "n" matched characters back to the input stream. */
448 /* Undo effects of setting up yytext. */ \
449 int yyless_macro_arg = (n); \
450 YY_LESS_LINENO(yyless_macro_arg);\
451 *yy_cp = (yy_hold_char); \
452 YY_RESTORE_YY_MORE_OFFSET \
453 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
454 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
457 #define unput(c) yyunput( c, (yytext_ptr) )
459 #ifndef YY_STRUCT_YY_BUFFER_STATE
460 #define YY_STRUCT_YY_BUFFER_STATE
461 struct yy_buffer_state
465 char *yy_ch_buf; /* input buffer */
466 char *yy_buf_pos; /* current position in input buffer */
468 /* Size of input buffer in bytes, not including room for EOB
473 /* Number of characters read into yy_ch_buf, not including EOB
478 /* Whether we "own" the buffer - i.e., we know we created it,
479 * and can realloc() it to grow it, and should free() it to
482 int yy_is_our_buffer;
484 /* Whether this is an "interactive" input source; if so, and
485 * if we're using stdio for input, then we want to use getc()
486 * instead of fread(), to make sure we stop fetching input after
489 int yy_is_interactive;
491 /* Whether we're considered to be at the beginning of a line.
492 * If so, '^' rules will be active on the next match, otherwise
497 int yy_bs_lineno; /**< The line count. */
498 int yy_bs_column; /**< The column count. */
500 /* Whether to try to fill the input buffer when we reach the
505 int yy_buffer_status;
507 #define YY_BUFFER_NEW 0
508 #define YY_BUFFER_NORMAL 1
509 /* When an EOF's been seen but there's still some text to process
510 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
511 * shouldn't try reading from the input source any more. We might
512 * still have a bunch of tokens to match, though, because of
513 * possible backing-up.
515 * When we actually see the EOF, we change the status to "new"
516 * (via yyrestart()), so that the user can continue scanning by
517 * just pointing yyin at a new input file.
519 #define YY_BUFFER_EOF_PENDING 2
522 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
524 /* Stack of input buffers. */
525 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
526 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
527 static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
529 /* We provide macros for accessing buffer states in case in the
530 * future we want to put the buffer states in a more general
533 * Returns the top of the stack, or NULL.
535 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
536 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
538 /* Same as previous macro, but useful when we know that the buffer stack is not
539 * NULL or when we need an lvalue. For internal use only.
541 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
543 /* yy_hold_char holds the character lost when yytext is formed. */
544 static char yy_hold_char;
545 static int yy_n_chars; /* number of characters read into yy_ch_buf */
548 /* Points to current character in buffer. */
549 static char *yy_c_buf_p = NULL;
550 static int yy_init = 0; /* whether we need to initialize */
551 static int yy_start = 0; /* start state number */
553 /* Flag which is used to allow yywrap()'s to do buffer switches
554 * instead of setting up a fresh yyin. A bit of a hack ...
556 static int yy_did_buffer_switch_on_eof;
558 void yyrestart ( FILE *input_file );
559 void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer );
560 YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size );
561 void yy_delete_buffer ( YY_BUFFER_STATE b );
562 void yy_flush_buffer ( YY_BUFFER_STATE b );
563 void yypush_buffer_state ( YY_BUFFER_STATE new_buffer );
564 void yypop_buffer_state ( void );
566 static void yyensure_buffer_stack ( void );
567 static void yy_load_buffer_state ( void );
568 static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file );
569 #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
571 YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size );
572 YY_BUFFER_STATE yy_scan_string ( const char *yy_str );
573 YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len );
575 void *yyalloc ( yy_size_t );
576 void *yyrealloc ( void *, yy_size_t );
577 void yyfree ( void * );
579 #define yy_new_buffer yy_create_buffer
580 #define yy_set_interactive(is_interactive) \
582 if ( ! YY_CURRENT_BUFFER ){ \
583 yyensure_buffer_stack (); \
584 YY_CURRENT_BUFFER_LVALUE = \
585 yy_create_buffer( yyin, YY_BUF_SIZE ); \
587 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
589 #define yy_set_bol(at_bol) \
591 if ( ! YY_CURRENT_BUFFER ){\
592 yyensure_buffer_stack (); \
593 YY_CURRENT_BUFFER_LVALUE = \
594 yy_create_buffer( yyin, YY_BUF_SIZE ); \
596 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
598 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
600 /* Begin user sect3 */
602 #define dax_wrap() (/*CONSTCOND*/1)
603 #define YY_SKIP_YYWRAP
604 typedef flex_uint8_t YY_CHAR;
606 FILE *yyin = NULL, *yyout = NULL;
608 typedef int yy_state_type;
617 #define yytext_ptr yytext
619 static yy_state_type yy_get_previous_state ( void );
620 static yy_state_type yy_try_NUL_trans ( yy_state_type current_state );
621 static int yy_get_next_buffer ( void );
622 static void yynoreturn yy_fatal_error ( const char* msg );
624 /* Done after the current pattern has been matched and before the
625 * corresponding action - sets up yytext.
627 #define YY_DO_BEFORE_ACTION \
628 (yytext_ptr) = yy_bp; \
629 yyleng = (int) (yy_cp - yy_bp); \
630 (yy_hold_char) = *yy_cp; \
632 (yy_c_buf_p) = yy_cp;
633 #define YY_NUM_RULES 140
634 #define YY_END_OF_BUFFER 141
635 /* This struct is not used in this scanner,
636 but its presence is necessary. */
639 flex_int32_t yy_verify;
642 static const flex_int16_t yy_accept[775] = {
643 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
644 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
645 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
646 0, 0, 0, 0, 141, 139, 15, 10, 10, 15, 15, 119, 10, 119, 5, 6, 5, 8, 9, 8, 135,
647 127, 128, 136, 133, 136, 134, 138, 127, 128, 138, 139, 40, 10, 40, 40, 40, 38,
649 40, 40, 40, 40, 40, 40, 40, 44, 10, 44, 44, 139, 139, 44, 61, 10, 61, 61, 61, 59, 61,
650 61, 61, 61, 61, 65, 10, 65, 139, 65, 92, 10, 92, 92, 92, 90, 92, 92, 92, 92, 92, 92,
651 96, 10, 96, 103, 10, 103, 103, 103, 101, 103, 107, 10, 107, 139, 107, 114, 10, 114, 114, 114, 112,
652 114, 118, 10, 118, 136, 135, 10, 0, 2, 2, 0, 4, 7, 130, 129, 0, 0, 0, 0, 0, 0,
653 0, 39, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 0, 0,
655 0, 0, 0, 0, 60, 62, 62, 62, 62, 62, 62, 0, 0, 91, 93, 93, 93, 93, 93, 93, 93,
656 93, 0, 102, 104, 104, 0, 0, 113, 115, 115, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
657 0, 0, 0, 0, 137, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 0, 0, 0, 0,
658 0, 0, 0, 0, 0, 62, 62, 62, 62, 0, 0, 0, 93, 93, 93, 93, 93, 93, 93, 0, 0,
659 104, 0, 0, 0, 115, 0, 0, 0, 132, 0, 14, 1, 0, 0, 125, 0,
661 0, 0, 122, 121, 0, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 43, 0, 0, 0,
662 46, 0, 0, 45, 0, 0, 48, 47, 62, 62, 62, 62, 0, 0, 64, 0, 0, 93, 93, 93, 93,
663 93, 93, 93, 0, 0, 95, 0, 0, 0, 0, 0, 106, 0, 0, 0, 0, 0, 0, 117, 0, 0,
664 0, 0, 126, 120, 0, 0, 17, 41, 41, 41, 41, 41, 0, 0, 41, 41, 41, 0, 16, 0, 46,
665 0, 66, 45, 0, 62, 0, 0, 62, 62, 62, 0, 67, 0, 0, 0, 0,
667 93, 93, 0, 0, 93, 0, 0, 0, 0, 100, 99, 0, 0, 0, 111, 110, 0, 0, 0, 0, 0,
668 12, 0, 123, 124, 17, 41, 0, 0, 41, 0, 0, 41, 0, 31, 30, 41, 0, 41, 0, 41, 0,
669 16, 98, 0, 66, 97, 0, 0, 0, 52, 51, 62, 62, 62, 0, 63, 67, 0, 69, 68, 0, 0,
670 0, 93, 93, 0, 89, 88, 93, 0, 87, 86, 0, 0, 0, 0, 0, 0, 0, 0, 11, 41, 0,
671 27, 26, 41, 0, 29, 28, 41, 41, 41, 0, 19, 18, 41, 0, 42, 98,
673 108, 97, 0, 58, 57, 62, 62, 62, 0, 0, 0, 0, 93, 93, 93, 0, 94, 0, 109, 0, 0,
674 0, 0, 0, 41, 41, 41, 0, 0, 41, 41, 108, 62, 0, 0, 0, 0, 0, 0, 0, 0, 93,
675 93, 93, 0, 105, 109, 0, 0, 0, 0, 0, 41, 41, 0, 0, 0, 25, 24, 41, 41, 62, 0,
676 56, 55, 0, 54, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 116, 131, 0, 0, 0,
677 41, 0, 0, 0, 33, 32, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0,
679 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 34, 0, 21, 20, 41, 0,
680 50, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
681 0, 37, 36, 41, 71, 0, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
682 0, 0, 41, 73, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
683 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
685 0, 0, 0, 41, 0, 85, 0, 84, 0, 77, 0, 76, 0, 81, 0, 80, 0, 0, 0, 0, 0,
686 0, 41, 83, 82, 75, 74, 79, 78, 0, 0, 0, 12, 0, 12, 0, 41, 0, 0, 0, 0, 0,
687 41, 0, 0, 0, 0, 0, 11, 0, 23, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
688 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0};
690 static const YY_CHAR yy_ec[256] = {
691 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 2, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
692 1, 1, 1, 1, 1, 1, 2, 5, 6, 7, 1, 1, 8, 9, 1, 1, 1, 1, 1, 10, 11, 12, 13, 13, 13, 13,
693 13, 13, 13, 13, 13, 13, 14, 15, 16, 17, 18, 19, 1, 20, 21, 22, 23, 24, 21, 25, 25, 25, 25, 25, 26, 27,
694 25, 28, 29, 25, 25, 30, 31, 25, 25, 25, 25, 32, 25, 33, 1, 34, 1, 25, 1, 35, 36, 37, 38,
696 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 25, 57, 58, 59, 1, 1, 1, 1,
697 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
698 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
699 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
701 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
702 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
705 static const YY_CHAR yy_meta[60] = {0, 1, 2, 2, 2, 1, 1, 1, 1, 1, 3, 3, 1, 4, 5, 1, 1, 1, 6, 1,
706 7, 7, 7, 7, 7, 5, 5, 5, 5, 5, 5, 5, 5, 1, 1, 7, 7, 7, 7, 7,
707 7, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5};
709 static const flex_int16_t yy_base[814] = {
710 0, 0, 0, 0, 3, 6, 9, 24, 27, 11, 14, 15, 17, 29, 38, 45, 52,
711 59, 61, 67, 70, 95, 0, 73, 76, 153, 156, 159, 162, 177, 180, 183, 186, 201,
712 204, 207, 210, 226, 0, 284, 287, 290, 293, 308, 311, 314, 317, 333, 0, 391, 394,
713 410, 462, 429, 432, 435, 438, 481, 484, 487, 490, 514, 566, 533, 536, 585, 587, 1886,
714 2164, 2164, 397, 400, 47, 62, 2164, 453, 172, 2164, 2164, 1875, 2164, 2164, 1865, 2164, 1866,
715 1863, 551, 2164, 2164, 2164, 2164, 1861, 1861, 1829, 441, 2164, 505, 1844, 0, 196, 2164,
717 8, 1818, 1812, 1810, 1823, 1813, 35, 2164, 508, 593, 601, 589, 622, 630, 2164, 539, 1833,
718 0, 303, 2164, 1811, 1809, 1793, 1772, 1786, 2164, 542, 649, 657, 676, 2164, 551, 1798, 0,
719 442, 2164, 1772, 1770, 1750, 1760, 1751, 32, 2164, 557, 545, 2164, 607, 1775, 0, 494, 2164,
720 1752, 2164, 612, 684, 703, 711, 2164, 667, 1764, 0, 546, 2164, 1722, 2164, 733, 641, 1752,
721 1721, 739, 594, 1690, 2164, 1735, 1723, 2164, 2164, 2164, 2, 44, 1685, 1684, 1675, 1711, 1689,
722 2164, 0, 1678, 1663, 1670, 1677, 1676, 1664, 1658, 1650, 1652, 1658, 1650, 1645, 1636,
724 1645, 1626, 1628, 1630, 2164, 0, 747, 1615, 1618, 1615, 1610, 1616, 1599, 2164, 0, 1605, 1601,
725 1590, 1602, 1582, 1601, 1585, 1578, 2164, 0, 1588, 1590, 1590, 2164, 0, 1584, 1572, 1584, 1594,
726 1593, 1599, 431, 1554, 2164, 72, 0, 1549, 1549, 1581, 1576, 1541, 2164, 1553, 1540, 1535, 1533,
727 1528, 1544, 1525, 1503, 1507, 1539, 765, 768, 1517, 1507, 1509, 1488, 1500, 1501, 1486, 771, 775,
728 1489, 1487, 1467, 1467, 787, 790, 1479, 1477, 1470, 1470, 1459, 1462, 1445, 1429, 793, 796, 799,
729 815, 818, 1415, 821, 824, 827, 1443, 2164, 1446, 2164, 2164, 17, 1400, 2164, 1428,
731 1426, 1384, 2164, 2164, 1381, 1389, 1391, 1373, 1394, 1358, 1364, 844, 1368, 1357, 1344, 848, 851,
732 2164, 854, 1355, 1344, 861, 1350, 1318, 871, 1324, 874, 2164, 2164, 1322, 882, 1317, 1316, 888,
733 891, 2164, 894, 1301, 898, 901, 1304, 1295, 917, 1290, 920, 923, 929, 2164, 936, 940, 946,
734 956, 959, 2164, 962, 1301, 965, 981, 968, 989, 2164, 992, 1309, 616, 995, 2164, 2164, 1316,
735 1314, 998, 1302, 1013, 1274, 1016, 1266, 1019, 1022, 1269, 1035, 1279, 1038, 1043, 1274, 1051, 1253,
736 1055, 1058, 1262, 1061, 1064, 1067, 1248, 1246, 1243, 1080, 1083, 1086, 1090, 1098, 1102,
738 1242, 1231, 1110, 1114, 1244, 1122, 1126, 1134, 1138, 2164, 2164, 1146, 1234, 1151, 2164, 2164, 1159,
739 1257, 632, 1258, 1163, 2164, 1256, 2164, 2164, 1166, 1224, 1169, 1176, 1216, 1172, 1191, 1212, 1201,
740 2164, 2164, 1211, 1209, 1196, 1212, 1209, 1220, 1225, 1228, 1196, 1231, 1237, 1240, 1243, 1252, 2164,
741 2164, 1213, 1198, 1188, 1260, 2164, 1263, 1266, 2164, 2164, 1277, 124, 125, 1190, 1181, 1285, 2164,
742 2164, 1178, 1293, 2164, 2164, 1301, 1304, 1155, 1307, 1177, 578, 152, 5, 2164, 1151, 1311, 2164,
743 2164, 1153, 1324, 2164, 2164, 1145, 1332, 1143, 1335, 2164, 2164, 1152, 1343, 2164, 1348,
745 1354, 1360, 1363, 2164, 2164, 1153, 1371, 1374, 1140, 1129, 1135, 1104, 1112, 1104, 1099, 1377, 2164,
746 1380, 1383, 1390, 1126, 174, 158, 280, 1097, 1089, 1397, 1400, 1403, 1091, 1086, 1416, 1092, 1419,
747 1422, 1430, 1436, 1072, 1067, 1069, 1056, 1446, 1449, 1452, 1455, 2164, 1458, 1468, 1076, 1472, 176,
748 510, 1053, 1475, 1478, 1485, 1494, 2164, 2164, 1502, 1062, 1505, 1508, 2164, 2164, 1521, 2164, 2164,
749 1040, 1041, 1025, 1027, 1529, 1532, 1540, 1545, 1556, 1559, 1481, 2164, 2164, 1567, 287, 179, 1572,
750 1575, 1578, 1591, 2164, 2164, 1601, 1604, 1049, 1612, 1617, 1020, 1017, 997, 995, 1628,
752 633, 643, 1636, 651, 660, 1644, 670, 675, 412, 283, 538, 1652, 1655, 1664, 2164, 2164, 1672,
753 2164, 2164, 999, 1680, 2164, 2164, 1037, 981, 1025, 978, 994, 975, 977, 959, 974, 956, 971,
754 952, 968, 937, 953, 929, 605, 281, 434, 1688, 2164, 2164, 942, 2164, 972, 2164, 967, 927,
755 901, 907, 896, 900, 890, 890, 874, 882, 859, 867, 856, 611, 614, 1696, 875, 2164, 2164,
756 855, 820, 760, 773, 757, 770, 732, 713, 674, 686, 664, 670, 1699, 1702, 1705, 1722, 652,
757 659, 673, 619, 616, 541, 556, 495, 496, 463, 495, 419, 444, 1730, 1733, 1740,
759 1750, 1768, 1802, 381, 403, 2164, 399, 2164, 400, 2164, 396, 2164, 325, 2164, 319, 2164, 700,
760 1820, 657, 613, 1838, 1872, 274, 2164, 2164, 2164, 2164, 2164, 2164, 660, 727, 200, 301, 745,
761 295, 1760, 254, 726, 218, 202, 207, 1794, 1865, 480, 153, 1890, 1786, 738, 2164, 1828, 2164,
762 2164, 1763, 1893, 664, 742, 741, 769, 814, 822, 823, 826, 744, 797, 789, 863, 849, 850,
763 864, 898, 1906, 1910, 2164, 2164, 1928, 1935, 1942, 1949, 1956, 1963, 1970, 1977, 1984, 1991, 1998,
764 2005, 2012, 2019, 2024, 2029, 2034, 2039, 2044, 2051, 2054, 2057, 2060, 2063, 2066, 2073,
766 2077, 2083, 2089, 2095, 2101, 2107, 2114, 2121, 2128, 2135, 2142, 2149, 2156};
768 static const flex_int16_t yy_def[814] = {
769 0, 775, 775, 776, 776, 776, 776, 777, 777, 778, 778, 779, 779, 780, 780, 780, 780, 781, 781, 775, 775,
770 774, 21, 782, 782, 782, 782, 775, 775, 782, 782, 775, 775, 782, 782, 782, 782, 774, 37, 783, 783, 775,
771 775, 783, 783, 783, 783, 774, 47, 784, 784, 785, 785, 786, 786, 775, 775, 786, 786, 786, 786, 787, 787,
772 788, 788, 780, 780, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
773 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 789, 774, 774,
775 789, 789, 789, 789, 789, 789, 789, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 790, 774, 774, 790,
776 790, 790, 790, 790, 774, 774, 774, 774, 774, 774, 774, 774, 791, 774, 774, 791, 791, 791, 791, 791, 791,
777 774, 774, 774, 774, 774, 774, 792, 774, 774, 792, 774, 774, 774, 774, 774, 774, 774, 774, 793, 774, 774,
778 793, 774, 774, 774, 774, 774, 774, 794, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
779 774, 774, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 795, 774, 774, 774,
781 774, 774, 774, 774, 774, 790, 790, 790, 790, 790, 790, 796, 774, 774, 791, 791, 791, 791, 791, 791, 791,
782 791, 797, 774, 792, 792, 798, 774, 774, 793, 793, 799, 774, 774, 800, 774, 800, 774, 774, 774, 801, 774,
783 774, 774, 774, 774, 774, 774, 789, 789, 789, 789, 789, 789, 789, 789, 789, 802, 802, 774, 774, 774, 774,
784 774, 774, 774, 774, 774, 790, 790, 790, 790, 803, 803, 774, 791, 791, 791, 791, 791, 791, 791, 804, 804,
785 792, 805, 805, 774, 793, 806, 806, 774, 774, 800, 774, 774, 800, 774, 774, 801,
787 774, 774, 774, 774, 774, 774, 789, 789, 789, 789, 789, 789, 789, 789, 789, 774, 802, 774, 802, 774, 774,
788 774, 774, 774, 774, 774, 774, 774, 774, 790, 790, 790, 790, 774, 803, 774, 803, 774, 791, 791, 791, 791,
789 791, 791, 791, 774, 804, 774, 804, 774, 774, 774, 805, 774, 805, 774, 774, 774, 774, 806, 774, 806, 774,
790 800, 807, 774, 774, 774, 774, 774, 789, 789, 789, 789, 789, 774, 774, 789, 789, 789, 802, 774, 774, 774,
791 774, 774, 774, 774, 790, 774, 774, 790, 790, 790, 803, 774, 774, 774, 774, 774,
793 791, 791, 774, 774, 791, 774, 774, 804, 774, 774, 774, 805, 774, 774, 774, 774, 806, 774, 800, 807, 807,
794 774, 807, 774, 774, 774, 789, 774, 774, 789, 774, 774, 789, 774, 774, 774, 789, 774, 789, 774, 789, 802,
795 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 790, 790, 790, 774, 774, 774, 774, 774, 774, 774, 774,
796 774, 791, 791, 774, 774, 774, 791, 774, 774, 774, 804, 805, 774, 806, 774, 800, 807, 807, 774, 789, 774,
797 774, 774, 789, 774, 774, 774, 789, 789, 789, 774, 774, 774, 789, 774, 774, 774,
799 774, 774, 774, 774, 774, 790, 790, 790, 774, 774, 774, 774, 791, 791, 791, 774, 774, 805, 774, 806, 774,
800 800, 807, 807, 789, 789, 789, 774, 774, 789, 789, 774, 790, 774, 774, 774, 774, 774, 774, 774, 774, 791,
801 791, 791, 774, 774, 774, 806, 774, 800, 807, 807, 789, 789, 774, 774, 774, 774, 774, 789, 789, 790, 774,
802 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 800, 807, 807,
803 789, 774, 774, 774, 774, 774, 774, 774, 789, 774, 774, 774, 774, 774, 774, 774,
805 774, 774, 774, 774, 774, 774, 774, 774, 800, 807, 807, 774, 774, 774, 774, 774, 774, 774, 774, 789, 774,
806 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 800, 807, 807,
807 774, 774, 774, 789, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 800,
808 807, 807, 789, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 800, 807, 807, 807,
809 789, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 800, 807, 807,
811 807, 808, 809, 789, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 800, 807, 810, 811, 808,
812 809, 789, 774, 774, 774, 774, 774, 774, 800, 810, 807, 812, 811, 813, 807, 789, 800, 812, 774, 813, 807,
813 789, 800, 774, 774, 774, 800, 774, 774, 774, 774, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800,
814 800, 800, 800, 800, 800, 800, 800, 800, 800, 774, 0, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
815 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
817 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774};
819 static const flex_int16_t yy_nxt[2224] = {
820 0, 774, 70, 71, 70, 70, 71, 70, 70, 71, 70, 70, 71, 70, 78, 240, 72, 78, 81, 72, 81,
821 79, 73, 422, 79, 73, 75, 71, 75, 75, 71, 75, 84, 85, 82, 295, 82, 86, 87, 364, 76, 84,
822 85, 76, 524, 88, 86, 87, 84, 85, 188, 89, 171, 86, 88, 84, 85, 189, 89, 241, 86, 88, 91,
823 92, 91, 92, 172, 171, 88, 71, 71, 71, 71, 71, 71, 109, 71, 109, 109, 71, 109, 173, 195, 94,
824 221, 240, 94, 299, 196, 110, 222, 242, 110, 93, 243, 93, 95, 96, 71, 96, 95,
826 95, 95, 95, 95, 95, 95, 97, 95, 98, 95, 99, 95, 100, 95, 98, 98, 98, 98, 98, 98, 98,
827 98, 98, 98, 98, 98, 98, 95, 95, 98, 98, 101, 98, 98, 102, 98, 98, 103, 104, 98, 98, 98,
828 105, 98, 98, 98, 98, 98, 98, 98, 106, 107, 98, 98, 109, 71, 109, 109, 71, 109, 71, 71, 71,
829 71, 71, 71, 509, 511, 111, 422, 749, 111, 510, 512, 112, 422, 174, 112, 109, 71, 109, 109, 71, 109,
830 71, 71, 71, 71, 71, 71, 173, 295, 110, 422, 551, 110, 422, 550, 113, 523,
832 174, 113, 109, 71, 109, 109, 71, 109, 109, 71, 109, 109, 71, 109, 173, 740, 111, 422, 423, 111, 745,
833 611, 114, 740, 583, 114, 115, 116, 71, 116, 115, 115, 115, 115, 115, 115, 115, 117, 115, 118, 115, 119,
834 115, 120, 115, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 115, 115, 118, 118, 118,
835 118, 118, 118, 118, 118, 121, 118, 118, 122, 118, 123, 118, 118, 118, 124, 118, 118, 118, 125, 118, 118,
836 118, 127, 71, 127, 127, 71, 127, 71, 71, 71, 71, 71, 71, 422, 422, 128,
838 422, 743, 128, 740, 422, 129, 740, 174, 129, 127, 71, 127, 127, 71, 127, 127, 71, 127, 127, 71, 127,
839 173, 737, 128, 610, 641, 128, 729, 664, 130, 728, 552, 130, 131, 132, 71, 132, 131, 131, 131, 131, 131,
840 131, 131, 133, 131, 134, 131, 135, 131, 136, 131, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
841 134, 134, 131, 131, 134, 134, 134, 134, 134, 137, 134, 134, 134, 134, 134, 138, 134, 134, 139, 134, 134,
842 140, 141, 142, 134, 134, 134, 134, 134, 144, 71, 144, 144, 71, 144, 170, 170,
844 170, 170, 170, 170, 727, 726, 145, 725, 724, 145, 146, 147, 71, 147, 146, 146, 146, 146, 146, 146, 146,
845 148, 146, 723, 146, 150, 146, 151, 146, 295, 154, 71, 154, 154, 71, 154, 71, 71, 71, 71, 71, 71,
846 146, 146, 155, 174, 174, 155, 295, 640, 156, 422, 716, 156, 170, 170, 170, 715, 297, 173, 173, 152, 146,
847 147, 71, 147, 146, 146, 146, 146, 146, 146, 146, 148, 146, 185, 146, 150, 146, 151, 146, 665, 154, 71,
848 154, 154, 71, 154, 154, 71, 154, 154, 71, 154, 146, 146, 155, 295, 174, 155,
850 714, 713, 157, 748, 712, 157, 170, 170, 170, 170, 170, 170, 173, 152, 158, 159, 71, 159, 158, 158, 158,
851 158, 158, 158, 158, 160, 158, 422, 158, 162, 158, 163, 158, 711, 166, 71, 166, 166, 71, 166, 170, 170,
852 170, 170, 170, 170, 158, 158, 167, 174, 174, 167, 170, 170, 170, 422, 223, 179, 170, 170, 170, 710, 584,
853 173, 173, 164, 158, 159, 71, 159, 158, 158, 158, 158, 158, 158, 158, 160, 158, 709, 158, 162, 158, 163,
854 158, 180, 642, 84, 85, 84, 85, 181, 86, 174, 86, 295, 182, 174, 158, 158,
856 168, 183, 168, 236, 197, 174, 522, 173, 170, 170, 170, 173, 197, 170, 170, 170, 237, 164, 169, 173, 169,
857 732, 295, 198, 708, 204, 174, 198, 295, 199, 735, 422, 200, 295, 174, 198, 200, 199, 201, 663, 173, 197,
858 201, 202, 203, 174, 419, 202, 173, 295, 201, 681, 232, 174, 682, 202, 198, 707, 199, 173, 212, 174, 732,
859 479, 198, 203, 204, 173, 170, 170, 170, 201, 628, 203, 733, 173, 202, 295, 706, 201, 174, 295, 630, 198,
860 202, 204, 629, 212, 174, 738, 632, 198, 203, 204, 173, 227, 631, 705, 201, 634,
862 203, 757, 173, 213, 633, 704, 201, 174, 697, 636, 198, 213, 204, 635, 638, 174, 696, 295, 198, 203, 204,
863 173, 227, 637, 695, 201, 694, 203, 639, 173, 202, 730, 732, 228, 170, 170, 170, 198, 202, 204, 170, 170,
864 170, 295, 733, 198, 203, 204, 267, 267, 267, 693, 228, 732, 203, 295, 744, 202, 295, 295, 201, 295, 735,
865 268, 753, 202, 316, 316, 316, 316, 316, 316, 267, 267, 267, 759, 327, 327, 327, 758, 328, 765, 318, 329,
866 692, 318, 295, 268, 334, 334, 334, 334, 334, 334, 346, 346, 346, 346, 346, 346,
868 350, 350, 350, 760, 336, 319, 295, 336, 691, 690, 348, 689, 688, 348, 295, 351, 352, 352, 352, 352, 352,
869 352, 357, 357, 357, 359, 359, 359, 359, 359, 359, 295, 354, 763, 766, 354, 764, 358, 337, 295, 295, 361,
870 767, 295, 361, 376, 376, 376, 349, 316, 316, 316, 316, 316, 316, 316, 316, 316, 687, 355, 377, 362, 384,
871 384, 384, 318, 295, 295, 318, 771, 761, 318, 387, 387, 387, 327, 327, 327, 762, 328, 295, 295, 329, 390,
872 390, 390, 769, 770, 381, 334, 334, 334, 334, 334, 334, 334, 334, 334, 391, 397,
874 397, 397, 399, 399, 399, 336, 771, 686, 336, 685, 680, 336, 679, 678, 398, 295, 768, 400, 403, 403, 403,
875 406, 406, 406, 346, 346, 346, 677, 676, 395, 346, 346, 346, 404, 392, 675, 407, 346, 346, 346, 348, 350,
876 350, 350, 674, 673, 348, 409, 409, 409, 672, 410, 671, 348, 411, 670, 351, 352, 352, 352, 352, 352, 352,
877 352, 352, 352, 357, 357, 357, 359, 359, 359, 669, 354, 408, 668, 354, 667, 666, 354, 662, 358, 414, 414,
878 414, 361, 415, 661, 660, 416, 359, 359, 359, 359, 359, 359, 421, 421, 421, 426,
880 426, 426, 659, 658, 412, 657, 361, 656, 655, 361, 654, 653, 422, 423, 428, 428, 428, 431, 431, 431, 376,
881 376, 376, 434, 434, 434, 652, 435, 651, 429, 436, 650, 432, 649, 648, 377, 438, 438, 438, 316, 316, 316,
882 647, 417, 443, 443, 443, 646, 439, 627, 626, 440, 384, 384, 384, 318, 446, 446, 446, 387, 387, 387, 448,
883 448, 448, 390, 390, 390, 450, 450, 450, 625, 451, 624, 620, 452, 599, 449, 442, 598, 391, 456, 456, 456,
884 458, 458, 458, 397, 397, 397, 597, 459, 459, 459, 596, 460, 593, 457, 461, 399,
886 399, 399, 398, 462, 462, 462, 585, 463, 581, 572, 464, 403, 403, 403, 400, 467, 467, 467, 571, 468, 570,
887 569, 469, 406, 406, 406, 404, 471, 471, 471, 562, 472, 561, 560, 473, 346, 346, 346, 407, 409, 409, 409,
888 554, 410, 553, 549, 411, 352, 352, 352, 544, 348, 414, 414, 414, 543, 415, 542, 541, 416, 359, 359, 359,
889 354, 421, 421, 421, 426, 426, 426, 428, 428, 428, 431, 431, 431, 361, 484, 484, 484, 422, 485, 540, 539,
890 486, 429, 474, 538, 432, 533, 531, 475, 488, 488, 488, 530, 489, 477, 527, 490,
892 526, 480, 434, 434, 434, 525, 435, 521, 519, 436, 438, 438, 438, 494, 494, 494, 515, 495, 481, 514, 496,
893 498, 498, 498, 513, 440, 443, 443, 443, 500, 500, 500, 446, 446, 446, 508, 507, 499, 502, 502, 502, 448,
894 448, 448, 503, 503, 503, 506, 504, 501, 497, 505, 493, 450, 450, 450, 449, 451, 492, 491, 452, 456, 456,
895 456, 458, 458, 458, 459, 459, 459, 487, 460, 483, 482, 461, 422, 478, 457, 462, 462, 462, 476, 463, 470,
896 466, 464, 467, 467, 467, 465, 468, 455, 454, 469, 471, 471, 471, 453, 472, 447,
898 445, 473, 516, 516, 516, 352, 352, 352, 359, 359, 359, 444, 484, 484, 484, 441, 485, 437, 517, 486, 433,
899 354, 430, 427, 361, 488, 488, 488, 425, 489, 424, 418, 490, 528, 528, 528, 494, 494, 494, 413, 495, 518,
900 405, 496, 498, 498, 498, 402, 529, 500, 500, 500, 401, 396, 520, 532, 532, 532, 394, 393, 499, 502, 502,
901 502, 503, 503, 503, 389, 504, 388, 386, 505, 534, 534, 534, 536, 536, 536, 516, 516, 516, 545, 545, 545,
902 547, 547, 547, 535, 385, 383, 537, 359, 359, 359, 517, 382, 380, 546, 555, 555,
904 555, 528, 528, 528, 557, 557, 557, 361, 558, 379, 378, 559, 375, 556, 374, 373, 529, 532, 532, 532, 534,
905 534, 534, 563, 563, 563, 372, 564, 371, 370, 565, 536, 536, 536, 369, 535, 368, 566, 566, 566, 367, 567,
906 366, 548, 568, 365, 537, 573, 573, 573, 575, 575, 575, 577, 577, 577, 545, 545, 545, 547, 547, 547, 574,
907 295, 363, 576, 356, 345, 578, 579, 579, 579, 546, 582, 582, 582, 586, 586, 586, 555, 555, 555, 579, 579,
908 579, 580, 588, 588, 588, 295, 589, 587, 344, 590, 556, 557, 557, 557, 580, 558,
910 343, 342, 559, 591, 591, 591, 594, 594, 594, 563, 563, 563, 341, 564, 340, 339, 565, 338, 592, 333, 332,
911 595, 566, 566, 566, 331, 567, 330, 326, 568, 573, 573, 573, 600, 600, 600, 325, 601, 324, 323, 602, 575,
912 575, 575, 322, 574, 603, 603, 603, 321, 604, 320, 315, 605, 314, 313, 576, 577, 577, 577, 606, 606, 606,
913 312, 607, 311, 310, 608, 582, 582, 582, 309, 578, 612, 612, 612, 586, 586, 586, 614, 614, 614, 308, 615,
914 295, 307, 616, 306, 613, 305, 304, 587, 588, 588, 588, 303, 589, 302, 301, 590,
916 298, 609, 591, 591, 591, 617, 617, 617, 296, 618, 295, 293, 619, 594, 594, 594, 292, 592, 621, 621, 621,
917 291, 622, 289, 288, 623, 287, 285, 595, 600, 600, 600, 284, 601, 282, 281, 602, 603, 603, 603, 280, 604,
918 279, 278, 605, 606, 606, 606, 277, 607, 276, 275, 608, 612, 612, 612, 643, 643, 643, 274, 644, 272, 271,
919 645, 270, 614, 614, 614, 613, 615, 269, 266, 616, 617, 617, 617, 265, 618, 264, 263, 619, 621, 621, 621,
920 262, 622, 261, 260, 623, 643, 643, 643, 259, 644, 257, 256, 645, 683, 683, 683,
922 698, 698, 698, 699, 699, 699, 683, 683, 683, 255, 254, 253, 684, 422, 252, 251, 295, 250, 700, 422, 249,
923 684, 422, 701, 701, 701, 248, 702, 247, 246, 703, 698, 698, 698, 699, 699, 699, 245, 244, 422, 239, 718,
924 718, 718, 236, 719, 238, 295, 720, 700, 422, 701, 701, 701, 234, 702, 233, 422, 703, 717, 231, 742, 742,
925 742, 754, 754, 754, 422, 420, 420, 420, 420, 420, 420, 420, 420, 420, 422, 423, 420, 295, 229, 420, 420,
926 420, 422, 420, 750, 750, 750, 226, 751, 224, 220, 752, 742, 742, 742, 219, 218,
928 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 422, 217, 420, 216, 214, 420, 420, 420, 422, 420,
929 718, 718, 718, 211, 719, 210, 209, 720, 750, 750, 750, 480, 751, 420, 420, 752, 422, 420, 420, 420, 420,
930 420, 736, 420, 420, 420, 208, 207, 420, 205, 194, 420, 420, 420, 422, 420, 193, 192, 191, 190, 186, 184,
931 178, 177, 178, 746, 746, 746, 177, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 736, 747, 176, 420,
932 175, 774, 420, 420, 420, 422, 420, 746, 746, 746, 754, 754, 754, 774, 755, 774,
934 774, 756, 774, 774, 420, 420, 747, 772, 772, 772, 295, 772, 772, 772, 774, 774, 774, 774, 774, 774, 774,
935 774, 774, 773, 774, 774, 774, 773, 68, 68, 68, 68, 68, 68, 68, 69, 69, 69, 69, 69, 69, 69,
936 74, 74, 74, 74, 74, 74, 74, 77, 77, 77, 77, 77, 77, 77, 80, 80, 80, 80, 80, 80, 80,
937 83, 83, 83, 83, 83, 83, 83, 90, 90, 90, 90, 90, 90, 90, 108, 108, 108, 108, 108, 108, 108,
938 126, 126, 126, 126, 126, 126, 126, 143, 143, 143, 143, 143, 143, 143, 149, 149,
940 149, 149, 149, 149, 149, 153, 153, 153, 153, 153, 153, 153, 161, 161, 161, 161, 161, 161, 161, 165, 165,
941 165, 165, 165, 165, 165, 187, 187, 187, 774, 187, 206, 206, 206, 774, 206, 215, 215, 215, 774, 215, 225,
942 225, 225, 774, 225, 230, 230, 230, 774, 230, 235, 235, 235, 235, 235, 774, 235, 258, 774, 258, 273, 774,
943 273, 283, 774, 283, 286, 774, 286, 290, 774, 290, 294, 294, 294, 294, 294, 294, 294, 300, 774, 774, 300,
944 317, 317, 317, 317, 317, 317, 335, 335, 335, 335, 335, 335, 347, 347, 347, 347,
946 347, 347, 353, 353, 353, 353, 353, 353, 360, 360, 360, 360, 360, 360, 420, 420, 420, 420, 420, 420, 420,
947 721, 721, 721, 721, 721, 721, 721, 722, 722, 722, 722, 722, 722, 722, 731, 731, 731, 731, 731, 731, 731,
948 734, 734, 734, 734, 734, 734, 734, 739, 739, 739, 739, 739, 739, 739, 741, 741, 741, 741, 741, 741, 741,
949 67, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
950 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
952 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
955 static const flex_int16_t yy_chk[2224] = {
956 0, 0, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 9, 179, 3, 10, 11, 4, 12,
957 9, 5, 481, 10, 6, 7, 7, 7, 8, 8, 8, 13, 13, 11, 297, 12, 13, 13, 297, 7, 14,
958 14, 8, 481, 13, 14, 14, 15, 15, 101, 15, 72, 15, 14, 16, 16, 101, 16, 179, 16, 15, 17,
959 17, 18, 18, 72, 73, 16, 19, 19, 19, 20, 20, 20, 23, 23, 23, 24, 24, 24, 73, 107, 19,
960 142, 240, 20, 240, 107, 23, 142, 180, 24, 17, 180, 18, 21, 21, 21, 21, 21,
962 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
963 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
964 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 25, 25, 25, 26, 26, 26, 27, 27, 27,
965 28, 28, 28, 463, 464, 25, 480, 745, 26, 463, 464, 27, 523, 76, 28, 29, 29, 29, 30, 30, 30,
966 31, 31, 31, 32, 32, 32, 76, 522, 29, 551, 523, 30, 584, 522, 31, 480,
968 99, 32, 33, 33, 33, 34, 34, 34, 35, 35, 35, 36, 36, 36, 99, 741, 33, 732, 732, 34, 740,
969 584, 35, 739, 551, 36, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
970 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
971 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
972 37, 39, 39, 39, 40, 40, 40, 41, 41, 41, 42, 42, 42, 524, 641, 39,
974 610, 737, 40, 735, 583, 41, 733, 119, 42, 43, 43, 43, 44, 44, 44, 45, 45, 45, 46, 46, 46,
975 119, 723, 43, 583, 610, 44, 715, 641, 45, 713, 524, 46, 47, 47, 47, 47, 47, 47, 47, 47, 47,
976 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
977 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
978 47, 47, 47, 47, 47, 47, 47, 47, 49, 49, 49, 50, 50, 50, 70, 70,
980 70, 71, 71, 71, 711, 709, 49, 707, 705, 50, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
981 51, 51, 704, 51, 51, 51, 51, 51, 609, 53, 53, 53, 54, 54, 54, 55, 55, 55, 56, 56, 56,
982 51, 51, 53, 94, 135, 54, 237, 609, 55, 642, 697, 56, 75, 75, 75, 696, 237, 94, 135, 51, 52,
983 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 94, 52, 52, 52, 52, 52, 642, 57, 57,
984 57, 58, 58, 58, 59, 59, 59, 60, 60, 60, 52, 52, 57, 744, 150, 58,
986 695, 694, 59, 744, 693, 60, 96, 96, 96, 109, 109, 109, 150, 52, 61, 61, 61, 61, 61, 61, 61,
987 61, 61, 61, 61, 61, 61, 552, 61, 61, 61, 61, 61, 692, 63, 63, 63, 64, 64, 64, 116, 116,
988 116, 127, 127, 127, 61, 61, 63, 145, 162, 64, 132, 132, 132, 611, 145, 86, 144, 144, 144, 691, 552,
989 145, 162, 61, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 690, 62, 62, 62, 62,
990 62, 86, 611, 65, 65, 66, 66, 86, 65, 112, 66, 479, 86, 110, 62, 62,
992 65, 86, 66, 171, 110, 111, 479, 112, 147, 147, 147, 110, 111, 154, 154, 154, 171, 62, 65, 111, 66,
993 720, 640, 112, 689, 112, 113, 110, 663, 110, 720, 664, 112, 364, 114, 111, 110, 111, 112, 640, 113, 114,
994 110, 112, 111, 167, 364, 110, 114, 419, 111, 663, 167, 128, 664, 111, 113, 688, 113, 167, 128, 129, 719,
995 419, 114, 113, 114, 128, 159, 159, 159, 113, 601, 114, 719, 129, 113, 730, 687, 114, 130, 755, 602, 128,
996 114, 128, 601, 130, 155, 730, 604, 129, 128, 129, 130, 155, 602, 686, 128, 605,
998 129, 755, 155, 128, 604, 685, 129, 156, 680, 607, 130, 129, 130, 605, 608, 157, 679, 717, 155, 130, 155,
999 156, 157, 607, 678, 130, 677, 155, 608, 157, 130, 717, 731, 155, 166, 166, 166, 156, 155, 156, 170, 170,
1000 170, 738, 731, 157, 156, 157, 207, 207, 207, 676, 156, 734, 157, 748, 738, 156, 757, 756, 157, 763, 734,
1001 207, 748, 157, 258, 258, 258, 259, 259, 259, 267, 267, 267, 757, 268, 268, 268, 756, 268, 763, 258, 268,
1002 675, 259, 758, 267, 273, 273, 273, 274, 274, 274, 283, 283, 283, 284, 284, 284,
1004 285, 285, 285, 758, 273, 259, 765, 274, 674, 673, 283, 672, 671, 284, 764, 285, 286, 286, 286, 287, 287,
1005 287, 289, 289, 289, 290, 290, 290, 291, 291, 291, 759, 286, 761, 764, 287, 762, 289, 274, 760, 761, 290,
1006 765, 762, 291, 312, 312, 312, 284, 316, 316, 316, 317, 317, 317, 319, 319, 319, 670, 287, 312, 291, 322,
1007 322, 322, 316, 767, 768, 317, 769, 759, 319, 325, 325, 325, 327, 327, 327, 760, 327, 766, 769, 327, 331,
1008 331, 331, 767, 768, 319, 334, 334, 334, 335, 335, 335, 337, 337, 337, 331, 339,
1010 339, 339, 340, 340, 340, 334, 770, 669, 335, 666, 662, 337, 661, 660, 339, 770, 766, 340, 343, 343, 343,
1011 345, 345, 345, 346, 346, 346, 659, 658, 337, 347, 347, 347, 343, 331, 657, 345, 349, 349, 349, 346, 350,
1012 350, 350, 656, 655, 347, 351, 351, 351, 654, 351, 653, 349, 351, 652, 350, 352, 352, 352, 353, 353, 353,
1013 355, 355, 355, 357, 357, 357, 359, 359, 359, 651, 352, 349, 650, 353, 648, 646, 355, 639, 357, 358, 358,
1014 358, 359, 358, 638, 637, 358, 360, 360, 360, 362, 362, 362, 365, 365, 365, 370,
1016 370, 370, 636, 635, 355, 634, 360, 633, 632, 362, 631, 630, 365, 365, 372, 372, 372, 374, 374, 374, 376,
1017 376, 376, 377, 377, 377, 629, 377, 628, 372, 377, 627, 374, 626, 625, 376, 379, 379, 379, 381, 381, 381,
1018 624, 362, 382, 382, 382, 620, 379, 599, 598, 379, 384, 384, 384, 381, 386, 386, 386, 387, 387, 387, 389,
1019 389, 389, 390, 390, 390, 391, 391, 391, 597, 391, 596, 593, 391, 572, 389, 381, 571, 390, 395, 395, 395,
1020 396, 396, 396, 397, 397, 397, 570, 398, 398, 398, 569, 398, 561, 395, 398, 399,
1022 399, 399, 397, 400, 400, 400, 553, 400, 549, 541, 400, 403, 403, 403, 399, 404, 404, 404, 540, 404, 539,
1023 538, 404, 406, 406, 406, 403, 407, 407, 407, 533, 407, 531, 530, 407, 408, 408, 408, 406, 409, 409, 409,
1024 526, 409, 525, 521, 409, 412, 412, 412, 515, 408, 414, 414, 414, 514, 414, 513, 512, 414, 417, 417, 417,
1025 412, 421, 421, 421, 426, 426, 426, 428, 428, 428, 431, 431, 431, 417, 429, 429, 429, 421, 429, 511, 510,
1026 429, 428, 408, 509, 431, 506, 497, 412, 432, 432, 432, 493, 432, 417, 491, 432,
1028 487, 421, 434, 434, 434, 483, 434, 478, 476, 434, 438, 438, 438, 440, 440, 440, 470, 440, 421, 466, 440,
1029 442, 442, 442, 465, 438, 443, 443, 443, 444, 444, 444, 446, 446, 446, 455, 454, 442, 447, 447, 447, 448,
1030 448, 448, 449, 449, 449, 453, 449, 445, 441, 449, 439, 450, 450, 450, 448, 450, 437, 433, 450, 456, 456,
1031 456, 458, 458, 458, 459, 459, 459, 430, 459, 427, 423, 459, 420, 418, 456, 462, 462, 462, 413, 462, 405,
1032 402, 462, 467, 467, 467, 401, 467, 394, 393, 467, 471, 471, 471, 392, 471, 388,
1034 385, 471, 474, 474, 474, 475, 475, 475, 477, 477, 477, 383, 484, 484, 484, 380, 484, 378, 474, 484, 375,
1035 475, 373, 371, 477, 488, 488, 488, 369, 488, 368, 363, 488, 492, 492, 492, 494, 494, 494, 356, 494, 475,
1036 344, 494, 498, 498, 498, 342, 492, 500, 500, 500, 341, 338, 477, 501, 501, 501, 333, 332, 498, 502, 502,
1037 502, 503, 503, 503, 330, 503, 326, 324, 503, 507, 507, 507, 508, 508, 508, 516, 516, 516, 518, 518, 518,
1038 519, 519, 519, 507, 323, 321, 508, 520, 520, 520, 516, 320, 315, 518, 527, 527,
1040 527, 528, 528, 528, 529, 529, 529, 520, 529, 314, 313, 529, 311, 527, 310, 309, 528, 532, 532, 532, 534,
1041 534, 534, 535, 535, 535, 308, 535, 307, 306, 535, 536, 536, 536, 305, 534, 302, 537, 537, 537, 301, 537,
1042 300, 520, 537, 298, 536, 542, 542, 542, 543, 543, 543, 544, 544, 544, 545, 545, 545, 547, 547, 547, 542,
1043 294, 292, 543, 288, 282, 544, 548, 548, 548, 545, 550, 550, 550, 554, 554, 554, 555, 555, 555, 579, 579,
1044 579, 548, 556, 556, 556, 550, 556, 554, 281, 556, 555, 557, 557, 557, 579, 557,
1046 280, 279, 557, 560, 560, 560, 562, 562, 562, 563, 563, 563, 278, 563, 277, 276, 563, 275, 560, 272, 271,
1047 562, 566, 566, 566, 270, 566, 269, 266, 566, 573, 573, 573, 574, 574, 574, 265, 574, 264, 263, 574, 575,
1048 575, 575, 262, 573, 576, 576, 576, 261, 576, 260, 257, 576, 256, 255, 575, 577, 577, 577, 578, 578, 578,
1049 254, 578, 253, 252, 578, 582, 582, 582, 251, 577, 585, 585, 585, 586, 586, 586, 587, 587, 587, 250, 587,
1050 582, 249, 587, 248, 585, 246, 245, 586, 588, 588, 588, 244, 588, 243, 242, 588,
1052 238, 582, 591, 591, 591, 592, 592, 592, 236, 592, 235, 234, 592, 594, 594, 594, 233, 591, 595, 595, 595,
1053 232, 595, 231, 228, 595, 227, 226, 594, 600, 600, 600, 223, 600, 222, 221, 600, 603, 603, 603, 220, 603,
1054 219, 218, 603, 606, 606, 606, 217, 606, 216, 213, 606, 612, 612, 612, 613, 613, 613, 212, 613, 211, 210,
1055 613, 209, 614, 614, 614, 612, 614, 208, 204, 614, 617, 617, 617, 203, 617, 202, 201, 617, 621, 621, 621,
1056 200, 621, 199, 198, 621, 643, 643, 643, 197, 643, 196, 195, 643, 665, 665, 665,
1058 681, 681, 681, 682, 682, 682, 683, 683, 683, 194, 193, 192, 665, 665, 191, 190, 681, 189, 682, 682, 188,
1059 683, 683, 684, 684, 684, 185, 684, 184, 183, 684, 698, 698, 698, 699, 699, 699, 182, 181, 684, 175, 700,
1060 700, 700, 174, 700, 172, 698, 700, 699, 699, 701, 701, 701, 169, 701, 168, 700, 701, 698, 164, 736, 736,
1061 736, 753, 753, 753, 701, 702, 702, 702, 702, 702, 702, 702, 702, 702, 736, 736, 702, 753, 160, 702, 702,
1062 702, 702, 702, 747, 747, 747, 152, 747, 148, 141, 747, 742, 742, 742, 140, 139,
1064 702, 702, 703, 703, 703, 703, 703, 703, 703, 703, 703, 742, 138, 703, 137, 133, 703, 703, 703, 703, 703,
1065 718, 718, 718, 125, 718, 124, 123, 718, 750, 750, 750, 742, 750, 703, 703, 750, 718, 721, 721, 721, 721,
1066 721, 721, 721, 721, 721, 122, 121, 721, 117, 106, 721, 721, 721, 721, 721, 105, 104, 103, 102, 97, 93,
1067 92, 91, 85, 743, 743, 743, 84, 721, 721, 722, 722, 722, 722, 722, 722, 722, 722, 722, 743, 82, 722,
1068 79, 67, 722, 722, 722, 722, 722, 746, 746, 746, 754, 754, 754, 0, 754, 0,
1070 0, 754, 0, 0, 722, 722, 746, 771, 771, 771, 754, 772, 772, 772, 0, 0, 0, 0, 0, 0, 0,
1071 0, 0, 771, 0, 0, 0, 772, 775, 775, 775, 775, 775, 775, 775, 776, 776, 776, 776, 776, 776, 776,
1072 777, 777, 777, 777, 777, 777, 777, 778, 778, 778, 778, 778, 778, 778, 779, 779, 779, 779, 779, 779, 779,
1073 780, 780, 780, 780, 780, 780, 780, 781, 781, 781, 781, 781, 781, 781, 782, 782, 782, 782, 782, 782, 782,
1074 783, 783, 783, 783, 783, 783, 783, 784, 784, 784, 784, 784, 784, 784, 785, 785,
1076 785, 785, 785, 785, 785, 786, 786, 786, 786, 786, 786, 786, 787, 787, 787, 787, 787, 787, 787, 788, 788,
1077 788, 788, 788, 788, 788, 789, 789, 789, 0, 789, 790, 790, 790, 0, 790, 791, 791, 791, 0, 791, 792,
1078 792, 792, 0, 792, 793, 793, 793, 0, 793, 794, 794, 794, 794, 794, 0, 794, 795, 0, 795, 796, 0,
1079 796, 797, 0, 797, 798, 0, 798, 799, 0, 799, 800, 800, 800, 800, 800, 800, 800, 801, 0, 0, 801,
1080 802, 802, 802, 802, 802, 802, 803, 803, 803, 803, 803, 803, 804, 804, 804, 804,
1082 804, 804, 805, 805, 805, 805, 805, 805, 806, 806, 806, 806, 806, 806, 807, 807, 807, 807, 807, 807, 807,
1083 808, 808, 808, 808, 808, 808, 808, 809, 809, 809, 809, 809, 809, 809, 810, 810, 810, 810, 810, 810, 810,
1084 811, 811, 811, 811, 811, 811, 811, 812, 812, 812, 812, 812, 812, 812, 813, 813, 813, 813, 813, 813, 813,
1085 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
1086 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
1088 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
1091 /* Table of booleans, true if rule could match eol. */
1092 static const flex_int32_t yy_rule_can_match_eol[141] = {
1093 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1094 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1,
1095 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0,
1096 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0,
1099 static yy_state_type yy_last_accepting_state;
1100 static char* yy_last_accepting_cpos;
1102 extern int yy_flex_debug;
1103 int yy_flex_debug = 0;
1105 /* The intent behind this definition is that it'll catch
1106 * any uses of REJECT which flex missed.
1108 #define REJECT reject_used_but_not_detected
1109 #define yymore() yymore_used_but_not_detected
1110 #define YY_MORE_ADJ 0
1111 #define YY_RESTORE_YY_MORE_OFFSET
1113 /* Validating XML processor for src/simdag/dax.dtd.
1115 * This program was generated with the FleXML XML processor generator.
1116 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
1117 * FleXML is Copyright (C) 2003-2013 Martin Quinson. All rights reserved.
1120 * There are two, intertwined parts to this program, part A and part B.
1125 * Some parts, here collectively called "Part A", are found in the
1126 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
1127 * and Copyright (C) 2003-2013 Martin Quinson. All rights reserved.
1129 * You can redistribute, use, perform, display and/or modify "Part A"
1130 * provided the following two conditions hold:
1132 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
1133 * FleXML; without even the implied warranty of MERCHANTABILITY or
1134 * FITNESS FOR A PARTICULAR PURPOSE.
1136 * 2. The program distribution conditions do not in any way affect the
1137 * distribution conditions of the FleXML system used to generate this
1138 * file or any version of FleXML derived from that system.
1140 * Notice that these are explicit rights granted to you for files
1141 * generated by the FleXML system. For your rights in connection with
1142 * the FleXML system itself please consult the GNU General Public License.
1147 * The other parts, here collectively called "Part B", and which came
1148 * from the DTD used by FleXML to generate this program, can be
1149 * distributed (or not, as the case may be) under the terms of whoever
1150 * wrote them, provided these terms respect and obey the two conditions
1151 * above under the heading "Part A".
1153 * The author of and contributors to FleXML specifically disclaim
1154 * any copyright interest in "Part B", unless "Part B" was written
1155 * by the author of or contributors to FleXML.
1159 /* Version strings. */
1160 const char dax__flexml_version[] = "1.9.6";
1163 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
1170 #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
1171 # ifndef __STRICT_ANSI__
1173 # include <process.h>
1176 # include <unistd.h>
1179 #ifndef FLEXML_INDEXSTACKSIZE
1180 #define FLEXML_INDEXSTACKSIZE 1000
1183 /* Generated definitions. */
1184 #define FLEXML_yylineno
1185 #ifndef FLEXML_BUFFERSTACKSIZE
1186 #define FLEXML_BUFFERSTACKSIZE 1000000
1188 #define FLEXML_NEED_BUFFERLIT
1190 /* XML processor api. */
1191 /* FleXML-provided data. */
1193 extern char *dax__bufferstack;
1194 #define dax__pcdata (dax__bufferstack + dax__pcdata_ix)
1195 AT_dax__job_name AX_dax__job_name;
1196 #define A_dax__job_name (dax__bufferstack + AX_dax__job_name)
1197 short int dax__job_name_isset;
1198 AT_dax__uses_link AX_dax__uses_link;
1199 #define A_dax__uses_link AX_dax__uses_link
1200 short int dax__uses_link_isset;
1201 AT_dax__uses_transfer AX_dax__uses_transfer;
1202 #define A_dax__uses_transfer AX_dax__uses_transfer
1203 short int dax__uses_transfer_isset;
1204 AT_dax__adag_xmlns_c_xsi AX_dax__adag_xmlns_c_xsi;
1205 #define A_dax__adag_xmlns_c_xsi (dax__bufferstack + AX_dax__adag_xmlns_c_xsi)
1206 short int dax__adag_xmlns_c_xsi_isset;
1207 AT_dax__uses_optional AX_dax__uses_optional;
1208 #define A_dax__uses_optional AX_dax__uses_optional
1209 short int dax__uses_optional_isset;
1210 AT_dax__parent_ref AX_dax__parent_ref;
1211 #define A_dax__parent_ref (dax__bufferstack + AX_dax__parent_ref)
1212 short int dax__parent_ref_isset;
1213 AT_dax__uses_register AX_dax__uses_register;
1214 #define A_dax__uses_register AX_dax__uses_register
1215 short int dax__uses_register_isset;
1216 AT_dax__uses_file AX_dax__uses_file;
1217 #define A_dax__uses_file (dax__bufferstack + AX_dax__uses_file)
1218 short int dax__uses_file_isset;
1219 AT_dax__uses_type AX_dax__uses_type;
1220 #define A_dax__uses_type (dax__bufferstack + AX_dax__uses_type)
1221 short int dax__uses_type_isset;
1222 AT_dax__adag_xmlns AX_dax__adag_xmlns;
1223 #define A_dax__adag_xmlns (dax__bufferstack + AX_dax__adag_xmlns)
1224 short int dax__adag_xmlns_isset;
1225 AT_dax__adag_fileCount AX_dax__adag_fileCount;
1226 #define A_dax__adag_fileCount (dax__bufferstack + AX_dax__adag_fileCount)
1227 short int dax__adag_fileCount_isset;
1228 AT_dax__job_version AX_dax__job_version;
1229 #define A_dax__job_version (dax__bufferstack + AX_dax__job_version)
1230 short int dax__job_version_isset;
1231 AT_dax__adag_count AX_dax__adag_count;
1232 #define A_dax__adag_count (dax__bufferstack + AX_dax__adag_count)
1233 short int dax__adag_count_isset;
1234 AT_dax__child_ref AX_dax__child_ref;
1235 #define A_dax__child_ref (dax__bufferstack + AX_dax__child_ref)
1236 short int dax__child_ref_isset;
1237 AT_dax__adag_xsi_c_schemaLocation AX_dax__adag_xsi_c_schemaLocation;
1238 #define A_dax__adag_xsi_c_schemaLocation (dax__bufferstack + AX_dax__adag_xsi_c_schemaLocation)
1239 short int dax__adag_xsi_c_schemaLocation_isset;
1240 AT_dax__job_runtime AX_dax__job_runtime;
1241 #define A_dax__job_runtime (dax__bufferstack + AX_dax__job_runtime)
1242 short int dax__job_runtime_isset;
1243 AT_dax__adag_childCount AX_dax__adag_childCount;
1244 #define A_dax__adag_childCount (dax__bufferstack + AX_dax__adag_childCount)
1245 short int dax__adag_childCount_isset;
1246 AT_dax__uses_size AX_dax__uses_size;
1247 #define A_dax__uses_size (dax__bufferstack + AX_dax__uses_size)
1248 short int dax__uses_size_isset;
1249 AT_dax__job_namespace AX_dax__job_namespace;
1250 #define A_dax__job_namespace (dax__bufferstack + AX_dax__job_namespace)
1251 short int dax__job_namespace_isset;
1252 AT_dax__adag_jobCount AX_dax__adag_jobCount;
1253 #define A_dax__adag_jobCount (dax__bufferstack + AX_dax__adag_jobCount)
1254 short int dax__adag_jobCount_isset;
1255 AT_dax__job_id AX_dax__job_id;
1256 #define A_dax__job_id (dax__bufferstack + AX_dax__job_id)
1257 short int dax__job_id_isset;
1258 AT_dax__job_level AX_dax__job_level;
1259 #define A_dax__job_level (dax__bufferstack + AX_dax__job_level)
1260 short int dax__job_level_isset;
1261 AT_dax__adag_index AX_dax__adag_index;
1262 #define A_dax__adag_index (dax__bufferstack + AX_dax__adag_index)
1263 short int dax__adag_index_isset;
1264 AT_dax__adag_name AX_dax__adag_name;
1265 #define A_dax__adag_name (dax__bufferstack + AX_dax__adag_name)
1266 short int dax__adag_name_isset;
1267 AT_dax__adag_version AX_dax__adag_version;
1268 #define A_dax__adag_version (dax__bufferstack + AX_dax__adag_version)
1269 short int dax__adag_version_isset;
1273 # define ENTER(state) debug_enter(state,#state)
1274 # define LEAVE debug_leave()
1275 # define SET(state) debug_set(state,#state)
1276 static void debug_enter(int, const char*);
1277 static void debug_leave(void);
1278 static void debug_set(int, const char*);
1280 # define ENTER(state) (yy_push_state(state))
1281 # define LEAVE (yy_pop_state())
1282 # define SET(state) BEGIN(state)
1285 /* Generic actions. */
1286 #define SKIP /*skip*/
1287 #define SUCCEED CLEANUP; return 0
1289 #define FAIL return fail
1290 static int fail(const char*, ...);
1292 enum {flexml_max_err_msg_size = 512};
1293 static char flexml_err_msg[flexml_max_err_msg_size];
1294 const char * dax__parse_err_msg()
1296 return flexml_err_msg;
1298 static void reset_dax__parse_err_msg()
1300 flexml_err_msg[0] = '\0';
1304 static void cleanup(void);
1305 #define CLEANUP cleanup()
1307 /* Text buffer stack handling. */
1308 char *dax__bufferstack = NULL;
1309 static int blimit = FLEXML_BUFFERSTACKSIZE;
1310 static int bnext = 1;
1312 static int *indexstack = NULL;
1313 static int ilimit = FLEXML_INDEXSTACKSIZE;
1314 static int inext = 1;
1316 #define BUFFERSET(P) (P = bnext)
1317 #define BUFFERPUTC(C) (ck_blimit(), dax__bufferstack[bnext++] = (C))
1318 #define BUFFERDONE (BUFFERPUTC('\0'))
1320 #define BUFFERLITERAL(C, P) dax__bufferliteral(C, &(P), yytext)
1322 /* after this is called, there are at least 2 slots left in the stack */
1323 static int ck_blimit()
1325 if (bnext >= blimit) {
1326 blimit += FLEXML_BUFFERSTACKSIZE + 2;
1328 char *temp = (char *) realloc(dax__bufferstack, blimit);
1330 dax__bufferstack = temp;
1336 /* after this is called, there are at least 2 slots left in the stack */
1337 static int ck_ilimit()
1339 if (inext >= ilimit) {
1340 ilimit += FLEXML_INDEXSTACKSIZE + 2;
1342 int *temp = (int *) realloc(indexstack, ilimit);
1350 #ifdef FLEXML_NEED_BUFFERLIT
1351 static void dax__bufferliteral(char c, int* pp, const char* text)
1355 const char *s = strchr(text, c), *e = strrchr(text, c);
1356 assert(s && e && s <= e);
1361 do ++s; while (s < e && isspace(*s));
1366 const char *s = text;
1374 static void pushbuffer(int p)
1377 indexstack[inext++] = p;
1378 indexstack[inext++] = bnext;
1381 static int popbuffer(void)
1384 bnext = indexstack[--inext];
1385 return indexstack[--inext];
1388 /* General internal entities are `unput' back onto the input stream... */
1389 #define ENTITYTEXT(T) \
1390 { char *s = (T), *e = s+strlen(s);\
1391 while (--e >= s) { unput(*e); }}
1393 /* Flex standard options. */
1394 #define YY_NO_INPUT 1
1395 /* Flex user-requested options. */
1396 /* XML character classes (currently restricted to ASCII). */
1397 /* "Common syntactic structures." */
1398 /* "Names and Tokens." */
1399 /* Miscellaneous. */
1400 /* Parser states (flex `exclusive start conditions'):
1402 * PROLOG the XML prolog of the document before <?xml...>
1403 * DOCTYPE the XML prolog of the document after <?xml...>
1404 * EPILOG after the root element
1405 * INCOMMENT inside an XML comment <!--....-->
1406 * INPI inside an XML PI <?...?>
1407 * VALUE1 inside a '...'-delimited literal
1408 * VALUE2 inside a "..."-delimited literal
1409 * CDATA inside a <![CDATA[...] ]> section.
1410 * ROOT_<tag> expect root element <tag>
1411 * AL_<tag> inside the attribute list for <tag>
1412 * IN_<tag> inside a <tag> with element contents (ready for end tag)
1413 * IMPOSSIBLE dummy to permit disabling rules; must be last
1417 const char* *dax__statenames=NULL;
1428 #define ROOT_dax__adag 9
1429 #define AL_dax__adag 10
1430 #define S_dax__adag 11
1431 #define S_dax__adag_1 12
1432 #define S_dax__adag_2 13
1433 #define S_dax__adag_3 14
1434 #define S_dax__adag_4 15
1435 #define S_dax__adag_5 16
1436 #define E_dax__adag 17
1437 #define AL_dax__job 18
1438 #define S_dax__job 19
1439 #define S_dax__job_1 20
1440 #define S_dax__job_2 21
1441 #define E_dax__job 22
1442 #define AL_dax__uses 23
1443 #define E_dax__uses 24
1444 #define AL_dax__child 25
1445 #define S_dax__child 26
1446 #define S_dax__child_1 27
1447 #define S_dax__child_2 28
1448 #define E_dax__child 29
1449 #define AL_dax__parent 30
1450 #define E_dax__parent 31
1451 #define IMPOSSIBLE 32
1453 #ifndef YY_NO_UNISTD_H
1454 /* Special case for "unistd.h", since it is non-ANSI. We include it way
1455 * down here because we want the user's section 1 to have been scanned first.
1456 * The user has a chance to override it with an option.
1459 # ifndef __STRICT_ANSI__
1461 # include <process.h>
1464 # include <unistd.h>
1468 #ifndef YY_EXTRA_TYPE
1469 #define YY_EXTRA_TYPE void *
1472 static int yy_init_globals ( void );
1474 /* Accessor methods to globals.
1475 These are made visible to non-reentrant scanners for convenience. */
1477 int yylex_destroy ( void );
1479 int yyget_debug ( void );
1481 void yyset_debug ( int debug_flag );
1483 YY_EXTRA_TYPE yyget_extra ( void );
1485 void yyset_extra ( YY_EXTRA_TYPE user_defined );
1487 FILE *yyget_in ( void );
1489 void yyset_in ( FILE * _in_str );
1491 FILE *yyget_out ( void );
1493 void yyset_out ( FILE * _out_str );
1495 int yyget_leng ( void );
1497 char *yyget_text ( void );
1499 int yyget_lineno ( void );
1501 void yyset_lineno ( int _line_number );
1503 /* Macros after this point can all be overridden by user definitions in
1507 #ifndef YY_SKIP_YYWRAP
1509 extern "C" int yywrap ( void );
1511 extern int yywrap ( void );
1520 static void yy_flex_strncpy ( char *, const char *, int );
1523 #ifdef YY_NEED_STRLEN
1524 static int yy_flex_strlen ( const char * );
1529 static int yyinput ( void );
1531 static int input ( void );
1536 static int yy_start_stack_ptr = 0;
1537 static int yy_start_stack_depth = 0;
1538 static int *yy_start_stack = NULL;
1540 static void yy_push_state ( int _new_state );
1542 static void yy_pop_state ( void );
1544 /* Amount of stuff to slurp up with each read. */
1545 #ifndef YY_READ_BUF_SIZE
1547 /* On IA-64, the buffer size is 16k, not 8k */
1548 #define YY_READ_BUF_SIZE 16384
1550 #define YY_READ_BUF_SIZE 8192
1551 #endif /* __ia64__ */
1554 /* Copy whatever the last rule matched to the standard output. */
1556 /* This used to be an fputs(), but since the string might contain NUL's,
1557 * we now use fwrite().
1559 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
1562 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1563 * is returned in "result".
1566 #define YY_INPUT(buf,result,max_size) \
1567 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1571 for ( n = 0; n < max_size && \
1572 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1573 buf[n] = (char) c; \
1575 buf[n++] = (char) c; \
1576 if ( c == EOF && ferror( yyin ) ) \
1577 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1583 while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
1585 if( errno != EINTR) \
1587 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1598 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1599 * we don't want an extra ';' after the "return" because that will cause
1600 * some compilers to complain about unreachable statements.
1603 #define yyterminate() return YY_NULL
1606 /* Number of entries by which start-condition stack grows. */
1607 #ifndef YY_START_STACK_INCR
1608 #define YY_START_STACK_INCR 25
1611 /* Report a fatal error. */
1612 #ifndef YY_FATAL_ERROR
1613 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1616 /* end tables serialization structures and prototypes */
1618 /* Default declaration of generated scanner - a define so the user can
1619 * easily add parameters.
1622 #define YY_DECL_IS_OURS 1
1624 extern int yylex (void);
1626 #define YY_DECL int yylex (void)
1627 #endif /* !YY_DECL */
1629 /* Code executed at the beginning of each rule, after yytext and yyleng
1632 #ifndef YY_USER_ACTION
1633 #define YY_USER_ACTION
1636 /* Code executed at the end of each rule. */
1638 #define YY_BREAK /*LINTED*/break;
1641 #define YY_RULE_SETUP \
1644 /** The main scanner function which does all the work.
1648 yy_state_type yy_current_state;
1649 char *yy_cp, *yy_bp;
1661 (yy_start) = 1; /* first start state */
1669 if ( ! YY_CURRENT_BUFFER ) {
1670 yyensure_buffer_stack ();
1671 YY_CURRENT_BUFFER_LVALUE =
1672 yy_create_buffer( yyin, YY_BUF_SIZE );
1675 yy_load_buffer_state( );
1680 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
1682 reset_dax__parse_err_msg();
1683 dax__bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
1684 assert(dax__bufferstack);
1688 for (i = 0; i < blimit; i++) {
1689 dax__bufferstack[i] = '\377';
1693 dax__bufferstack[0] = '\0';
1694 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
1700 dax__bufferliteral('\0', &bnext, "http://pegasus.isi.edu/schema/DAX");
1701 dax__bufferliteral('\0', &bnext, "http://www.w3.org/2001/XMLSchema-instance");
1702 dax__bufferliteral('\0', &bnext, "http://pegasus.isi.edu/schema/DAX http://pegasus.isi.edu/schema/dax-2.1.xsd");
1703 dax__bufferliteral('\0', &bnext, "1.0");
1704 dax__bufferliteral('\0', &bnext, "0.0");
1705 dax__bufferliteral('\0', &bnext, "data");
1706 if(!dax__statenames) {dax__statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
1707 dax__statenames[PROLOG] = NULL;
1708 dax__statenames[DOCTYPE] = NULL;
1709 dax__statenames[EPILOG] = NULL;
1710 dax__statenames[INCOMMENT] = NULL;
1711 dax__statenames[INPI] = NULL;
1712 dax__statenames[VALUE1] = NULL;
1713 dax__statenames[VALUE2] = NULL;
1714 dax__statenames[CDATA] = NULL;
1715 dax__statenames[ROOT_dax__adag] = NULL;
1716 dax__statenames[AL_dax__adag] = NULL;
1717 dax__statenames[S_dax__adag] = "adag";
1718 dax__statenames[S_dax__adag_1] = "adag";
1719 dax__statenames[S_dax__adag_2] = "adag";
1720 dax__statenames[S_dax__adag_3] = "adag";
1721 dax__statenames[S_dax__adag_4] = "adag";
1722 dax__statenames[S_dax__adag_5] = "adag";
1723 dax__statenames[E_dax__adag] = "adag";
1724 dax__statenames[AL_dax__job] = NULL;
1725 dax__statenames[S_dax__job] = "job";
1726 dax__statenames[S_dax__job_1] = "job";
1727 dax__statenames[S_dax__job_2] = "job";
1728 dax__statenames[E_dax__job] = "job";
1729 dax__statenames[AL_dax__uses] = NULL;
1730 dax__statenames[E_dax__uses] = "uses";
1731 dax__statenames[AL_dax__child] = NULL;
1732 dax__statenames[S_dax__child] = "child";
1733 dax__statenames[S_dax__child_1] = "child";
1734 dax__statenames[S_dax__child_2] = "child";
1735 dax__statenames[E_dax__child] = "child";
1736 dax__statenames[AL_dax__parent] = NULL;
1737 dax__statenames[E_dax__parent] = "parent";
1740 /* COMMENTS and PIs: handled uniformly for efficiency. */
1742 while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
1744 yy_cp = (yy_c_buf_p);
1746 /* Support of yytext. */
1747 *yy_cp = (yy_hold_char);
1749 /* yy_bp points to the position in yy_ch_buf of the start of
1754 yy_current_state = (yy_start);
1758 YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
1759 if ( yy_accept[yy_current_state] )
1761 (yy_last_accepting_state) = yy_current_state;
1762 (yy_last_accepting_cpos) = yy_cp;
1764 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1766 yy_current_state = (int) yy_def[yy_current_state];
1767 if ( yy_current_state >= 775 )
1768 yy_c = yy_meta[yy_c];
1770 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
1772 } while (yy_base[yy_current_state] != 2164);
1775 yy_act = yy_accept[yy_current_state];
1777 { /* have to back up */
1778 yy_cp = (yy_last_accepting_cpos);
1779 yy_current_state = (yy_last_accepting_state);
1780 yy_act = yy_accept[yy_current_state];
1783 YY_DO_BEFORE_ACTION;
1785 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
1788 for ( yyl = 0; yyl < yyleng; ++yyl )
1789 if ( yytext[yyl] == '\n' )
1795 do_action: /* This label is used only to access EOF actions. */
1798 { /* beginning of action switch */
1799 case 0: /* must back up */
1800 /* undo the effects of YY_DO_BEFORE_ACTION */
1801 *yy_cp = (yy_hold_char);
1802 yy_cp = (yy_last_accepting_cpos);
1803 yy_current_state = (yy_last_accepting_state);
1804 goto yy_find_action;
1822 /* rule 6 can match eol */
1826 case YY_STATE_EOF(INCOMMENT):
1827 FAIL("EOF in comment.");
1836 /* rule 9 can match eol */
1840 case YY_STATE_EOF(INPI):
1841 FAIL("EOF in PI (processing instruction).");
1844 /* SPACES: skipped uniformly */
1846 /* rule 10 can match eol */
1850 /* PROLOG: determine root element and process it. */
1853 /* rule 11 can match eol */
1855 SET(ROOT_dax__adag);
1858 /* rule 12 can match eol */
1860 FAIL("Bad declaration %s.",yytext);
1864 /* rule 13 can match eol */
1866 SET(ROOT_dax__adag);
1869 /* rule 14 can match eol */
1871 FAIL("Bad declaration %s.",yytext);
1875 FAIL("Unexpected character `%c' in prolog.", yytext[0]);
1877 case YY_STATE_EOF(PROLOG):
1878 case YY_STATE_EOF(DOCTYPE):
1879 FAIL("EOF in prolog.");
1882 /* RULES DERIVED FROM DTD. */
1883 /* <!-- Small DTD for DAX files. --> */
1885 /* rule 16 can match eol */
1887 FAIL("Starting tag <adag> is not allowed here.");
1890 /* rule 17 can match eol */
1893 AX_dax__adag_xmlns = 1;
1894 dax__adag_xmlns_isset = 0;
1895 AX_dax__adag_xmlns_c_xsi = 35;
1896 dax__adag_xmlns_c_xsi_isset = 0;
1897 AX_dax__adag_xsi_c_schemaLocation = 77;
1898 dax__adag_xsi_c_schemaLocation_isset = 0;
1899 AX_dax__adag_version = 153;
1900 dax__adag_version_isset = 0;
1901 AX_dax__adag_count = 0;
1902 dax__adag_count_isset = 0;
1903 AX_dax__adag_index = 0;
1904 dax__adag_index_isset = 0;
1905 AX_dax__adag_name = 0;
1906 dax__adag_name_isset = 0;
1907 AX_dax__adag_jobCount = 0;
1908 dax__adag_jobCount_isset = 0;
1909 AX_dax__adag_fileCount = 0;
1910 dax__adag_fileCount_isset = 0;
1911 AX_dax__adag_childCount = 0;
1912 dax__adag_childCount_isset = 0;
1913 ENTER(AL_dax__adag); pushbuffer(0);
1918 /* rule 18 can match eol */
1920 if (dax__adag_xmlns_isset != 0) {
1921 FAIL("Multiple definition of attribute xmlns in <dax__adag>");
1923 dax__adag_xmlns_isset = 1;
1925 BUFFERSET(AX_dax__adag_xmlns);
1928 /* rule 19 can match eol */
1930 if (dax__adag_xmlns_isset != 0) {
1931 FAIL("Multiple definition of attribute xmlns in <dax__adag>");
1933 dax__adag_xmlns_isset = 1;
1935 BUFFERSET(AX_dax__adag_xmlns);
1938 /* rule 20 can match eol */
1940 if (dax__adag_xmlns_c_xsi_isset != 0) {
1941 FAIL("Multiple definition of attribute xmlns:xsi in <dax__adag>");
1943 dax__adag_xmlns_c_xsi_isset = 1;
1945 BUFFERSET(AX_dax__adag_xmlns_c_xsi);
1948 /* rule 21 can match eol */
1950 if (dax__adag_xmlns_c_xsi_isset != 0) {
1951 FAIL("Multiple definition of attribute xmlns:xsi in <dax__adag>");
1953 dax__adag_xmlns_c_xsi_isset = 1;
1955 BUFFERSET(AX_dax__adag_xmlns_c_xsi);
1958 /* rule 22 can match eol */
1960 if (dax__adag_xsi_c_schemaLocation_isset != 0) {
1961 FAIL("Multiple definition of attribute xsi:schemaLocation in <dax__adag>");
1963 dax__adag_xsi_c_schemaLocation_isset = 1;
1965 BUFFERSET(AX_dax__adag_xsi_c_schemaLocation);
1968 /* rule 23 can match eol */
1970 if (dax__adag_xsi_c_schemaLocation_isset != 0) {
1971 FAIL("Multiple definition of attribute xsi:schemaLocation in <dax__adag>");
1973 dax__adag_xsi_c_schemaLocation_isset = 1;
1975 BUFFERSET(AX_dax__adag_xsi_c_schemaLocation);
1978 /* rule 24 can match eol */
1980 if (dax__adag_version_isset != 0) {
1981 FAIL("Multiple definition of attribute version in <dax__adag>");
1983 dax__adag_version_isset = 1;
1985 BUFFERSET(AX_dax__adag_version);
1988 /* rule 25 can match eol */
1990 if (dax__adag_version_isset != 0) {
1991 FAIL("Multiple definition of attribute version in <dax__adag>");
1993 dax__adag_version_isset = 1;
1995 BUFFERSET(AX_dax__adag_version);
1998 /* rule 26 can match eol */
2000 if (dax__adag_count_isset != 0) {
2001 FAIL("Multiple definition of attribute count in <dax__adag>");
2003 dax__adag_count_isset = 1;
2005 BUFFERSET(AX_dax__adag_count);
2008 /* rule 27 can match eol */
2010 if (dax__adag_count_isset != 0) {
2011 FAIL("Multiple definition of attribute count in <dax__adag>");
2013 dax__adag_count_isset = 1;
2015 BUFFERSET(AX_dax__adag_count);
2018 /* rule 28 can match eol */
2020 if (dax__adag_index_isset != 0) {
2021 FAIL("Multiple definition of attribute index in <dax__adag>");
2023 dax__adag_index_isset = 1;
2025 BUFFERSET(AX_dax__adag_index);
2028 /* rule 29 can match eol */
2030 if (dax__adag_index_isset != 0) {
2031 FAIL("Multiple definition of attribute index in <dax__adag>");
2033 dax__adag_index_isset = 1;
2035 BUFFERSET(AX_dax__adag_index);
2038 /* rule 30 can match eol */
2040 if (dax__adag_name_isset != 0) {
2041 FAIL("Multiple definition of attribute name in <dax__adag>");
2043 dax__adag_name_isset = 1;
2045 BUFFERSET(AX_dax__adag_name);
2048 /* rule 31 can match eol */
2050 if (dax__adag_name_isset != 0) {
2051 FAIL("Multiple definition of attribute name in <dax__adag>");
2053 dax__adag_name_isset = 1;
2055 BUFFERSET(AX_dax__adag_name);
2058 /* rule 32 can match eol */
2060 if (dax__adag_jobCount_isset != 0) {
2061 FAIL("Multiple definition of attribute jobCount in <dax__adag>");
2063 dax__adag_jobCount_isset = 1;
2065 BUFFERSET(AX_dax__adag_jobCount);
2068 /* rule 33 can match eol */
2070 if (dax__adag_jobCount_isset != 0) {
2071 FAIL("Multiple definition of attribute jobCount in <dax__adag>");
2073 dax__adag_jobCount_isset = 1;
2075 BUFFERSET(AX_dax__adag_jobCount);
2078 /* rule 34 can match eol */
2080 if (dax__adag_fileCount_isset != 0) {
2081 FAIL("Multiple definition of attribute fileCount in <dax__adag>");
2083 dax__adag_fileCount_isset = 1;
2085 BUFFERSET(AX_dax__adag_fileCount);
2088 /* rule 35 can match eol */
2090 if (dax__adag_fileCount_isset != 0) {
2091 FAIL("Multiple definition of attribute fileCount in <dax__adag>");
2093 dax__adag_fileCount_isset = 1;
2095 BUFFERSET(AX_dax__adag_fileCount);
2098 /* rule 36 can match eol */
2100 if (dax__adag_childCount_isset != 0) {
2101 FAIL("Multiple definition of attribute childCount in <dax__adag>");
2103 dax__adag_childCount_isset = 1;
2105 BUFFERSET(AX_dax__adag_childCount);
2108 /* rule 37 can match eol */
2110 if (dax__adag_childCount_isset != 0) {
2111 FAIL("Multiple definition of attribute childCount in <dax__adag>");
2113 dax__adag_childCount_isset = 1;
2115 BUFFERSET(AX_dax__adag_childCount);
2120 LEAVE; STag_dax__adag();dax__pcdata_ix = 0; ENTER(S_dax__adag);
2126 LEAVE; STag_dax__adag(); dax__pcdata_ix = 0; ETag_dax__adag(); popbuffer(); /* attribute */
2128 case ROOT_dax__adag: SET(EPILOG); break;
2134 FAIL("Unexpected character `%c' in attribute list of adag element.", yytext[0]);
2138 FAIL("Bad attribute `%s' in `adag' element start tag.",yytext);
2140 case YY_STATE_EOF(AL_dax__adag):
2141 FAIL("EOF in attribute list of `adag' element.");
2145 /* rule 42 can match eol */
2150 popbuffer(); /* attribute */
2152 case ROOT_dax__adag: SET(EPILOG); break;
2157 /* rule 43 can match eol */
2159 FAIL("Unexpected end-tag `%s': `</adag>' expected.",yytext);
2163 FAIL("Unexpected character `%c': `</adag>' expected.",yytext[0]);
2165 case YY_STATE_EOF(S_dax__adag_1):
2166 case YY_STATE_EOF(S_dax__adag_3):
2167 case YY_STATE_EOF(S_dax__adag_5):
2168 case YY_STATE_EOF(S_dax__adag):
2169 case YY_STATE_EOF(E_dax__adag):
2170 FAIL("Premature EOF: `</adag>' expected.");
2174 /* rule 45 can match eol */
2176 FAIL("Starting tag <job> is not allowed here.");
2179 /* rule 46 can match eol */
2183 dax__job_id_isset = 0;
2184 AX_dax__job_namespace = 0;
2185 dax__job_namespace_isset = 0;
2186 AX_dax__job_name = 0;
2187 dax__job_name_isset = 0;
2188 AX_dax__job_version = 157;
2189 dax__job_version_isset = 0;
2190 AX_dax__job_runtime = 0;
2191 dax__job_runtime_isset = 0;
2192 AX_dax__job_level = 0;
2193 dax__job_level_isset = 0;
2200 /* rule 47 can match eol */
2202 if (dax__job_id_isset != 0) {
2203 FAIL("Multiple definition of attribute id in <dax__job>");
2205 dax__job_id_isset = 1;
2207 BUFFERSET(AX_dax__job_id);
2210 /* rule 48 can match eol */
2212 if (dax__job_id_isset != 0) {
2213 FAIL("Multiple definition of attribute id in <dax__job>");
2215 dax__job_id_isset = 1;
2217 BUFFERSET(AX_dax__job_id);
2220 /* rule 49 can match eol */
2222 if (dax__job_namespace_isset != 0) {
2223 FAIL("Multiple definition of attribute namespace in <dax__job>");
2225 dax__job_namespace_isset = 1;
2227 BUFFERSET(AX_dax__job_namespace);
2230 /* rule 50 can match eol */
2232 if (dax__job_namespace_isset != 0) {
2233 FAIL("Multiple definition of attribute namespace in <dax__job>");
2235 dax__job_namespace_isset = 1;
2237 BUFFERSET(AX_dax__job_namespace);
2240 /* rule 51 can match eol */
2242 if (dax__job_name_isset != 0) {
2243 FAIL("Multiple definition of attribute name in <dax__job>");
2245 dax__job_name_isset = 1;
2247 BUFFERSET(AX_dax__job_name);
2250 /* rule 52 can match eol */
2252 if (dax__job_name_isset != 0) {
2253 FAIL("Multiple definition of attribute name in <dax__job>");
2255 dax__job_name_isset = 1;
2257 BUFFERSET(AX_dax__job_name);
2260 /* rule 53 can match eol */
2262 if (dax__job_version_isset != 0) {
2263 FAIL("Multiple definition of attribute version in <dax__job>");
2265 dax__job_version_isset = 1;
2267 BUFFERSET(AX_dax__job_version);
2270 /* rule 54 can match eol */
2272 if (dax__job_version_isset != 0) {
2273 FAIL("Multiple definition of attribute version in <dax__job>");
2275 dax__job_version_isset = 1;
2277 BUFFERSET(AX_dax__job_version);
2280 /* rule 55 can match eol */
2282 if (dax__job_runtime_isset != 0) {
2283 FAIL("Multiple definition of attribute runtime in <dax__job>");
2285 dax__job_runtime_isset = 1;
2287 BUFFERSET(AX_dax__job_runtime);
2290 /* rule 56 can match eol */
2292 if (dax__job_runtime_isset != 0) {
2293 FAIL("Multiple definition of attribute runtime in <dax__job>");
2295 dax__job_runtime_isset = 1;
2297 BUFFERSET(AX_dax__job_runtime);
2300 /* rule 57 can match eol */
2302 if (dax__job_level_isset != 0) {
2303 FAIL("Multiple definition of attribute level in <dax__job>");
2305 dax__job_level_isset = 1;
2307 BUFFERSET(AX_dax__job_level);
2310 /* rule 58 can match eol */
2312 if (dax__job_level_isset != 0) {
2313 FAIL("Multiple definition of attribute level in <dax__job>");
2315 dax__job_level_isset = 1;
2317 BUFFERSET(AX_dax__job_level);
2322 if (!AX_dax__job_id)
2323 FAIL("Required attribute `id' not set for `job' element.");
2324 if (!AX_dax__job_name)
2325 FAIL("Required attribute `name' not set for `job' element.");
2326 if (!AX_dax__job_runtime)
2327 FAIL("Required attribute `runtime' not set for `job' element.");
2337 if (!AX_dax__job_id)
2338 FAIL("Required attribute `id' not set for `job' element.");
2339 if (!AX_dax__job_name)
2340 FAIL("Required attribute `name' not set for `job' element.");
2341 if (!AX_dax__job_runtime)
2342 FAIL("Required attribute `runtime' not set for `job' element.");
2347 popbuffer(); /* attribute */
2359 FAIL("Unexpected character `%c' in attribute list of job element.", yytext[0]);
2363 FAIL("Bad attribute `%s' in `job' element start tag.", yytext);
2365 case YY_STATE_EOF(AL_dax__job):
2366 FAIL("EOF in attribute list of `job' element.");
2370 /* rule 63 can match eol */
2375 popbuffer(); /* attribute */
2386 /* rule 64 can match eol */
2388 FAIL("Unexpected end-tag `%s': `</job>' expected.", yytext);
2392 FAIL("Unexpected character `%c': `</job>' expected.", yytext[0]);
2394 case YY_STATE_EOF(S_dax__job_2):
2395 case YY_STATE_EOF(S_dax__job):
2396 case YY_STATE_EOF(E_dax__job):
2397 FAIL("Premature EOF: `</job>' expected.");
2401 * <!-- ignored --> */
2403 /* rule 66 can match eol */
2405 FAIL("Starting tag <uses> is not allowed here.");
2408 /* rule 67 can match eol */
2411 AX_dax__uses_file = 0;
2412 dax__uses_file_isset = 0;
2413 AX_dax__uses_link = AU_dax__uses_link;
2414 dax__uses_link_isset = 0;
2415 AX_dax__uses_register = A_dax__uses_register_true;
2416 dax__uses_register_isset = 0;
2417 AX_dax__uses_transfer = A_dax__uses_transfer_true;
2418 dax__uses_transfer_isset = 0;
2419 AX_dax__uses_optional = A_dax__uses_optional_false;
2420 dax__uses_optional_isset = 0;
2421 AX_dax__uses_type = 161;
2422 dax__uses_type_isset = 0;
2423 AX_dax__uses_size = 0;
2424 dax__uses_size_isset = 0;
2425 ENTER(AL_dax__uses);
2431 /* rule 68 can match eol */
2433 if (dax__uses_file_isset != 0) {
2434 FAIL("Multiple definition of attribute file in <dax__uses>");
2436 dax__uses_file_isset = 1;
2438 BUFFERSET(AX_dax__uses_file);
2441 /* rule 69 can match eol */
2443 if (dax__uses_file_isset != 0) {
2444 FAIL("Multiple definition of attribute file in <dax__uses>");
2446 dax__uses_file_isset = 1;
2448 BUFFERSET(AX_dax__uses_file);
2451 /* rule 70 can match eol */
2453 /* rule 71 can match eol */
2455 A_dax__uses_link = A_dax__uses_link_input;
2458 /* rule 72 can match eol */
2460 /* rule 73 can match eol */
2462 A_dax__uses_link = A_dax__uses_link_output;
2465 /* rule 74 can match eol */
2467 /* rule 75 can match eol */
2469 A_dax__uses_register = A_dax__uses_register_false;
2472 /* rule 76 can match eol */
2474 /* rule 77 can match eol */
2476 A_dax__uses_register = A_dax__uses_register_true;
2479 /* rule 78 can match eol */
2481 /* rule 79 can match eol */
2483 A_dax__uses_transfer = A_dax__uses_transfer_false;
2486 /* rule 80 can match eol */
2488 /* rule 81 can match eol */
2490 A_dax__uses_transfer = A_dax__uses_transfer_true;
2493 /* rule 82 can match eol */
2495 /* rule 83 can match eol */
2497 A_dax__uses_optional = A_dax__uses_optional_false;
2500 /* rule 84 can match eol */
2502 /* rule 85 can match eol */
2504 A_dax__uses_optional = A_dax__uses_optional_true;
2507 /* rule 86 can match eol */
2509 if (dax__uses_type_isset != 0) {
2510 FAIL("Multiple definition of attribute type in <dax__uses>");
2512 dax__uses_type_isset = 1;
2514 BUFFERSET(AX_dax__uses_type);
2517 /* rule 87 can match eol */
2519 if (dax__uses_type_isset != 0) {
2520 FAIL("Multiple definition of attribute type in <dax__uses>");
2522 dax__uses_type_isset = 1;
2524 BUFFERSET(AX_dax__uses_type);
2527 /* rule 88 can match eol */
2529 if (dax__uses_size_isset != 0) {
2530 FAIL("Multiple definition of attribute size in <dax__uses>");
2532 dax__uses_size_isset = 1;
2534 BUFFERSET(AX_dax__uses_size);
2537 /* rule 89 can match eol */
2539 if (dax__uses_size_isset != 0) {
2540 FAIL("Multiple definition of attribute size in <dax__uses>");
2542 dax__uses_size_isset = 1;
2544 BUFFERSET(AX_dax__uses_size);
2549 if (!AX_dax__uses_file)
2550 FAIL("Required attribute `file' not set for `uses' element.");
2551 if (!AX_dax__uses_size)
2552 FAIL("Required attribute `size' not set for `uses' element.");
2562 if (!AX_dax__uses_file)
2563 FAIL("Required attribute `file' not set for `uses' element.");
2564 if (!AX_dax__uses_size)
2565 FAIL("Required attribute `size' not set for `uses' element.");
2570 popbuffer(); /* attribute */
2582 FAIL("Unexpected character `%c' in attribute list of uses element.", yytext[0]);
2586 FAIL("Bad attribute `%s' in `uses' element start tag.", yytext);
2588 case YY_STATE_EOF(AL_dax__uses):
2589 FAIL("EOF in attribute list of `uses' element.");
2593 /* rule 94 can match eol */
2598 popbuffer(); /* attribute */
2609 /* rule 95 can match eol */
2611 FAIL("Unexpected end-tag `%s': `</uses>' expected.", yytext);
2615 FAIL("Unexpected character `%c': `</uses>' expected.", yytext[0]);
2617 case YY_STATE_EOF(E_dax__uses):
2618 FAIL("Premature EOF: `</uses>' expected.");
2622 /* rule 97 can match eol */
2624 FAIL("Starting tag <child> is not allowed here.");
2627 /* rule 98 can match eol */
2630 AX_dax__child_ref = 0;
2631 dax__child_ref_isset = 0;
2632 ENTER(AL_dax__child);
2638 /* rule 99 can match eol */
2640 if (dax__child_ref_isset != 0) {
2641 FAIL("Multiple definition of attribute ref in <dax__child>");
2643 dax__child_ref_isset = 1;
2645 BUFFERSET(AX_dax__child_ref);
2648 /* rule 100 can match eol */
2650 if (dax__child_ref_isset != 0) {
2651 FAIL("Multiple definition of attribute ref in <dax__child>");
2653 dax__child_ref_isset = 1;
2655 BUFFERSET(AX_dax__child_ref);
2660 if (!AX_dax__child_ref)
2661 FAIL("Required attribute `ref' not set for `child' element.");
2665 ENTER(S_dax__child);
2671 if (!AX_dax__child_ref)
2672 FAIL("Required attribute `ref' not set for `child' element.");
2677 popbuffer(); /* attribute */
2691 FAIL("Unexpected character `%c' in attribute list of child element.", yytext[0]);
2695 FAIL("Bad attribute `%s' in `child' element start tag.", yytext);
2697 case YY_STATE_EOF(AL_dax__child):
2698 FAIL("EOF in attribute list of `child' element.");
2702 /* rule 105 can match eol */
2707 popbuffer(); /* attribute */
2720 /* rule 106 can match eol */
2722 FAIL("Unexpected end-tag `%s': `</child>' expected.", yytext);
2726 FAIL("Unexpected character `%c': `</child>' expected.", yytext[0]);
2728 case YY_STATE_EOF(S_dax__child_2):
2729 case YY_STATE_EOF(S_dax__child):
2730 case YY_STATE_EOF(E_dax__child):
2731 FAIL("Premature EOF: `</child>' expected.");
2735 /* rule 108 can match eol */
2737 FAIL("Starting tag <parent> is not allowed here.");
2740 /* rule 109 can match eol */
2743 AX_dax__parent_ref = 0;
2744 dax__parent_ref_isset = 0;
2745 ENTER(AL_dax__parent);
2751 /* rule 110 can match eol */
2753 if (dax__parent_ref_isset != 0) {
2754 FAIL("Multiple definition of attribute ref in <dax__parent>");
2756 dax__parent_ref_isset = 1;
2758 BUFFERSET(AX_dax__parent_ref);
2761 /* rule 111 can match eol */
2763 if (dax__parent_ref_isset != 0) {
2764 FAIL("Multiple definition of attribute ref in <dax__parent>");
2766 dax__parent_ref_isset = 1;
2768 BUFFERSET(AX_dax__parent_ref);
2773 if (!AX_dax__parent_ref)
2774 FAIL("Required attribute `ref' not set for `parent' element.");
2778 ENTER(E_dax__parent);
2784 if (!AX_dax__parent_ref)
2785 FAIL("Required attribute `ref' not set for `parent' element.");
2790 popbuffer(); /* attribute */
2793 case S_dax__child_1:
2794 case S_dax__child_2:
2795 SET(S_dax__child_2);
2802 FAIL("Unexpected character `%c' in attribute list of parent element.", yytext[0]);
2806 FAIL("Bad attribute `%s' in `parent' element start tag.", yytext);
2808 case YY_STATE_EOF(AL_dax__parent):
2809 FAIL("EOF in attribute list of `parent' element.");
2813 /* rule 116 can match eol */
2818 popbuffer(); /* attribute */
2821 case S_dax__child_1:
2822 case S_dax__child_2:
2823 SET(S_dax__child_2);
2829 /* rule 117 can match eol */
2831 FAIL("Unexpected end-tag `%s': `</parent>' expected.", yytext);
2835 FAIL("Unexpected character `%c': `</parent>' expected.", yytext[0]);
2837 case YY_STATE_EOF(E_dax__parent):
2838 FAIL("Premature EOF: `</parent>' expected.");
2841 /* EPILOG: after the root element. */
2845 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
2847 case YY_STATE_EOF(EPILOG):
2851 /* CHARACTER DATA. */
2853 /* Non-defined standard entities... */
2874 /* Character entities. */
2877 BUFFERPUTC((unsigned char)atoi(yytext+2));
2881 BUFFERPUTC((unsigned char)strtol(yytext+3,NULL,16));
2885 /* rule 127 can match eol */
2887 /* rule 128 can match eol */
2889 /* rule 129 can match eol */
2891 /* rule 130 can match eol */
2902 FAIL("Unexpected `]""]>' in character data.");
2909 case YY_STATE_EOF(VALUE1):
2910 FAIL("EOF in literal (\"'\" expected).");
2917 case YY_STATE_EOF(VALUE2):
2918 FAIL("EOF in literal (`\"' expected).");
2922 /* rule 135 can match eol */
2924 BUFFERPUTC(yytext[0]);
2928 FAIL("Spurious `%c' in character data.",yytext[0]);
2935 /* "]""]" BUFFERPUTC(yytext[0]); BUFFERPUTC(yytext[1]); */
2938 BUFFERPUTC(yytext[0]);
2940 case YY_STATE_EOF(CDATA):
2941 FAIL("EOF in CDATA section.");
2944 /* Impossible rules to avoid warnings from flex(1). */
2945 /* Ideally, this should be replaced by code in flexml.pl that
2946 generates just the states not covered by other rules. */
2949 /* rule 139 can match eol */
2951 FAIL("Syntax error on character `%c'.", yytext[0]);
2958 case YY_STATE_EOF(INITIAL):
2959 case YY_STATE_EOF(ROOT_dax__adag):
2960 case YY_STATE_EOF(S_dax__adag_2):
2961 case YY_STATE_EOF(S_dax__adag_4):
2962 case YY_STATE_EOF(S_dax__job_1):
2963 case YY_STATE_EOF(S_dax__child_1):
2964 case YY_STATE_EOF(IMPOSSIBLE):
2967 case YY_END_OF_BUFFER:
2969 /* Amount of text matched not including the EOB char. */
2970 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
2972 /* Undo the effects of YY_DO_BEFORE_ACTION. */
2973 *yy_cp = (yy_hold_char);
2974 YY_RESTORE_YY_MORE_OFFSET
2976 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
2978 /* We're scanning a new file or input source. It's
2979 * possible that this happened because the user
2980 * just pointed yyin at a new source and called
2981 * yylex(). If so, then we have to assure
2982 * consistency between YY_CURRENT_BUFFER and our
2983 * globals. Here is the right place to do so, because
2984 * this is the first action (other than possibly a
2985 * back-up) that will match for the new input source.
2987 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2988 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
2989 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
2992 /* Note that here we test for yy_c_buf_p "<=" to the position
2993 * of the first EOB in the buffer, since yy_c_buf_p will
2994 * already have been incremented past the NUL character
2995 * (since all states make transitions on EOB to the
2996 * end-of-buffer state). Contrast this with the test
2999 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3000 { /* This was really a NUL. */
3001 yy_state_type yy_next_state;
3003 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
3005 yy_current_state = yy_get_previous_state( );
3007 /* Okay, we're now positioned to make the NUL
3008 * transition. We couldn't have
3009 * yy_get_previous_state() go ahead and do it
3010 * for us because it doesn't know how to deal
3011 * with the possibility of jamming (and we don't
3012 * want to build jamming into it because then it
3013 * will run more slowly).
3016 yy_next_state = yy_try_NUL_trans( yy_current_state );
3018 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3020 if ( yy_next_state )
3022 /* Consume the NUL. */
3023 yy_cp = ++(yy_c_buf_p);
3024 yy_current_state = yy_next_state;
3030 yy_cp = (yy_c_buf_p);
3031 goto yy_find_action;
3035 else switch ( yy_get_next_buffer( ) )
3037 case EOB_ACT_END_OF_FILE:
3039 (yy_did_buffer_switch_on_eof) = 0;
3043 /* Note: because we've taken care in
3044 * yy_get_next_buffer() to have set up
3045 * yytext, we can now set up
3046 * yy_c_buf_p so that if some total
3047 * hoser (like flex itself) wants to
3048 * call the scanner after we return the
3049 * YY_NULL, it'll still work - another
3050 * YY_NULL will get returned.
3052 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
3054 yy_act = YY_STATE_EOF(YY_START);
3060 if ( ! (yy_did_buffer_switch_on_eof) )
3066 case EOB_ACT_CONTINUE_SCAN:
3068 (yytext_ptr) + yy_amount_of_matched_text;
3070 yy_current_state = yy_get_previous_state( );
3072 yy_cp = (yy_c_buf_p);
3073 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3076 case EOB_ACT_LAST_MATCH:
3078 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
3080 yy_current_state = yy_get_previous_state( );
3082 yy_cp = (yy_c_buf_p);
3083 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3084 goto yy_find_action;
3091 "fatal flex scanner internal error--no action found" );
3092 } /* end of action switch */
3093 } /* end of scanning one token */
3094 } /* end of user's declarations */
3095 } /* end of yylex */
3097 /* yy_get_next_buffer - try to read in a new buffer
3099 * Returns a code representing an action:
3100 * EOB_ACT_LAST_MATCH -
3101 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3102 * EOB_ACT_END_OF_FILE - end of file
3104 static int yy_get_next_buffer (void)
3106 char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
3107 char *source = (yytext_ptr);
3108 int number_to_move, i;
3111 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
3113 "fatal flex scanner internal error--end of buffer missed" );
3115 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
3116 { /* Don't try to fill the buffer, so this is an EOF. */
3117 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
3119 /* We matched a single character, the EOB, so
3120 * treat this as a final EOF.
3122 return EOB_ACT_END_OF_FILE;
3127 /* We matched some text prior to the EOB, first
3130 return EOB_ACT_LAST_MATCH;
3134 /* Try to read more data. */
3136 /* First move last chars to start of buffer. */
3137 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
3139 for ( i = 0; i < number_to_move; ++i )
3140 *(dest++) = *(source++);
3142 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
3143 /* don't do the read, it's not guaranteed to return an EOF,
3146 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
3151 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
3153 while ( num_to_read <= 0 )
3154 { /* Not enough room in the buffer - grow it. */
3156 /* just a shorter name for the current buffer */
3157 YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
3159 int yy_c_buf_p_offset =
3160 (int) ((yy_c_buf_p) - b->yy_ch_buf);
3162 if ( b->yy_is_our_buffer )
3164 int new_size = b->yy_buf_size * 2;
3166 if ( new_size <= 0 )
3167 b->yy_buf_size += b->yy_buf_size / 8;
3169 b->yy_buf_size *= 2;
3171 b->yy_ch_buf = (char *)
3172 /* Include room in for 2 EOB chars. */
3173 yyrealloc( (void *) b->yy_ch_buf,
3174 (yy_size_t) (b->yy_buf_size + 2) );
3177 /* Can't grow it, we don't own it. */
3178 b->yy_ch_buf = NULL;
3180 if ( ! b->yy_ch_buf )
3182 "fatal error - scanner input buffer overflow" );
3184 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
3186 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
3191 if ( num_to_read > YY_READ_BUF_SIZE )
3192 num_to_read = YY_READ_BUF_SIZE;
3194 /* Read in more data. */
3195 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
3196 (yy_n_chars), num_to_read );
3198 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3201 if ( (yy_n_chars) == 0 )
3203 if ( number_to_move == YY_MORE_ADJ )
3205 ret_val = EOB_ACT_END_OF_FILE;
3211 ret_val = EOB_ACT_LAST_MATCH;
3212 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
3213 YY_BUFFER_EOF_PENDING;
3218 ret_val = EOB_ACT_CONTINUE_SCAN;
3220 if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
3221 /* Extend the array by 50%, plus the number we really need. */
3222 int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
3223 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
3224 (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size );
3225 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3226 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
3227 /* "- 2" to take care of EOB's */
3228 YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
3231 (yy_n_chars) += number_to_move;
3232 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
3233 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
3235 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
3240 /* yy_get_previous_state - get the state just before the EOB char was reached */
3242 static yy_state_type yy_get_previous_state (void)
3244 yy_state_type yy_current_state;
3247 yy_current_state = (yy_start);
3249 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
3251 YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3252 if ( yy_accept[yy_current_state] )
3254 (yy_last_accepting_state) = yy_current_state;
3255 (yy_last_accepting_cpos) = yy_cp;
3257 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3259 yy_current_state = (int) yy_def[yy_current_state];
3260 if ( yy_current_state >= 775 )
3261 yy_c = yy_meta[yy_c];
3263 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
3266 return yy_current_state;
3269 /* yy_try_NUL_trans - try to make a transition on the NUL character
3272 * next_state = yy_try_NUL_trans( current_state );
3274 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
3277 char *yy_cp = (yy_c_buf_p);
3280 if ( yy_accept[yy_current_state] )
3282 (yy_last_accepting_state) = yy_current_state;
3283 (yy_last_accepting_cpos) = yy_cp;
3285 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3287 yy_current_state = (int) yy_def[yy_current_state];
3288 if ( yy_current_state >= 775 )
3289 yy_c = yy_meta[yy_c];
3291 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
3292 yy_is_jam = (yy_current_state == 774);
3294 return yy_is_jam ? 0 : yy_current_state;
3303 static int yyinput (void)
3305 static int input (void)
3311 *(yy_c_buf_p) = (yy_hold_char);
3313 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
3315 /* yy_c_buf_p now points to the character we want to return.
3316 * If this occurs *before* the EOB characters, then it's a
3317 * valid NUL; if not, then we've hit the end of the buffer.
3319 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3320 /* This was really a NUL. */
3321 *(yy_c_buf_p) = '\0';
3324 { /* need more input */
3325 int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
3328 switch ( yy_get_next_buffer( ) )
3330 case EOB_ACT_LAST_MATCH:
3331 /* This happens because yy_g_n_b()
3332 * sees that we've accumulated a
3333 * token and flags that we need to
3334 * try matching the token before
3335 * proceeding. But for input(),
3336 * there's no matching to consider.
3337 * So convert the EOB_ACT_LAST_MATCH
3338 * to EOB_ACT_END_OF_FILE.
3341 /* Reset buffer status. */
3346 case EOB_ACT_END_OF_FILE:
3351 if ( ! (yy_did_buffer_switch_on_eof) )
3360 case EOB_ACT_CONTINUE_SCAN:
3361 (yy_c_buf_p) = (yytext_ptr) + offset;
3367 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
3368 *(yy_c_buf_p) = '\0'; /* preserve yytext */
3369 (yy_hold_char) = *++(yy_c_buf_p);
3378 #endif /* ifndef YY_NO_INPUT */
3380 /** Immediately switch to a different input stream.
3381 * @param input_file A readable stream.
3383 * @note This function does not reset the start condition to @c INITIAL .
3385 void yyrestart (FILE * input_file )
3388 if ( ! YY_CURRENT_BUFFER ){
3389 yyensure_buffer_stack ();
3390 YY_CURRENT_BUFFER_LVALUE =
3391 yy_create_buffer( yyin, YY_BUF_SIZE );
3394 yy_init_buffer( YY_CURRENT_BUFFER, input_file );
3395 yy_load_buffer_state( );
3398 /** Switch to a different input buffer.
3399 * @param new_buffer The new input buffer.
3402 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
3405 /* TODO. We should be able to replace this entire function body
3407 * yypop_buffer_state();
3408 * yypush_buffer_state(new_buffer);
3410 yyensure_buffer_stack ();
3411 if ( YY_CURRENT_BUFFER == new_buffer )
3414 if ( YY_CURRENT_BUFFER )
3416 /* Flush out information for old buffer. */
3417 *(yy_c_buf_p) = (yy_hold_char);
3418 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3419 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3422 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3423 yy_load_buffer_state( );
3425 /* We don't actually know whether we did this switch during
3426 * EOF (yywrap()) processing, but the only time this flag
3427 * is looked at is after yywrap() is called, so it's safe
3428 * to go ahead and always set it.
3430 (yy_did_buffer_switch_on_eof) = 1;
3433 static void yy_load_buffer_state (void)
3435 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3436 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
3437 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
3438 (yy_hold_char) = *(yy_c_buf_p);
3441 /** Allocate and initialize an input buffer state.
3442 * @param file A readable stream.
3443 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
3445 * @return the allocated buffer state.
3447 YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )
3451 b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
3453 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3455 b->yy_buf_size = size;
3457 /* yy_ch_buf has to be 2 characters longer than the size given because
3458 * we need to put in 2 end-of-buffer characters.
3460 b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) );
3461 if ( ! b->yy_ch_buf )
3462 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3464 b->yy_is_our_buffer = 1;
3466 yy_init_buffer( b, file );
3471 /** Destroy the buffer.
3472 * @param b a buffer created with yy_create_buffer()
3475 void yy_delete_buffer (YY_BUFFER_STATE b )
3481 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
3482 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
3484 if ( b->yy_is_our_buffer )
3485 yyfree( (void *) b->yy_ch_buf );
3487 yyfree( (void *) b );
3490 /* Initializes or reinitializes a buffer.
3491 * This function is sometimes called more than once on the same buffer,
3492 * such as during a yyrestart() or at EOF.
3494 static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
3499 yy_flush_buffer( b );
3501 b->yy_input_file = file;
3502 b->yy_fill_buffer = 1;
3504 /* If b is the current buffer, then yy_init_buffer was _probably_
3505 * called from yyrestart() or through yy_get_next_buffer.
3506 * In that case, we don't want to reset the lineno or column.
3508 if (b != YY_CURRENT_BUFFER){
3509 b->yy_bs_lineno = 1;
3510 b->yy_bs_column = 0;
3513 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
3518 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
3519 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
3522 void yy_flush_buffer (YY_BUFFER_STATE b )
3529 /* We always need two end-of-buffer characters. The first causes
3530 * a transition to the end-of-buffer state. The second causes
3531 * a jam in that state.
3533 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3534 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3536 b->yy_buf_pos = &b->yy_ch_buf[0];
3539 b->yy_buffer_status = YY_BUFFER_NEW;
3541 if ( b == YY_CURRENT_BUFFER )
3542 yy_load_buffer_state( );
3545 /** Pushes the new state onto the stack. The new state becomes
3546 * the current state. This function will allocate the stack
3548 * @param new_buffer The new state.
3551 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
3553 if (new_buffer == NULL)
3556 yyensure_buffer_stack();
3558 /* This block is copied from yy_switch_to_buffer. */
3559 if ( YY_CURRENT_BUFFER )
3561 /* Flush out information for old buffer. */
3562 *(yy_c_buf_p) = (yy_hold_char);
3563 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3564 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3567 /* Only push if top exists. Otherwise, replace top. */
3568 if (YY_CURRENT_BUFFER)
3569 (yy_buffer_stack_top)++;
3570 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3572 /* copied from yy_switch_to_buffer. */
3573 yy_load_buffer_state( );
3574 (yy_did_buffer_switch_on_eof) = 1;
3577 /** Removes and deletes the top of the stack, if present.
3578 * The next element becomes the new top.
3581 void yypop_buffer_state (void)
3583 if (!YY_CURRENT_BUFFER)
3586 yy_delete_buffer(YY_CURRENT_BUFFER );
3587 YY_CURRENT_BUFFER_LVALUE = NULL;
3588 if ((yy_buffer_stack_top) > 0)
3589 --(yy_buffer_stack_top);
3591 if (YY_CURRENT_BUFFER) {
3592 yy_load_buffer_state( );
3593 (yy_did_buffer_switch_on_eof) = 1;
3597 /* Allocates the stack if it does not exist.
3598 * Guarantees space for at least one push.
3600 static void yyensure_buffer_stack (void)
3602 yy_size_t num_to_alloc;
3604 if (!(yy_buffer_stack)) {
3606 /* First allocation is just for 2 elements, since we don't know if this
3607 * scanner will even need a stack. We use 2 instead of 1 to avoid an
3608 * immediate realloc on the next call.
3610 num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
3611 (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
3612 (num_to_alloc * sizeof(struct yy_buffer_state*)
3614 if ( ! (yy_buffer_stack) )
3615 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3617 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
3619 (yy_buffer_stack_max) = num_to_alloc;
3620 (yy_buffer_stack_top) = 0;
3624 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
3626 /* Increase the buffer to prepare for a possible push. */
3627 yy_size_t grow_size = 8 /* arbitrary grow size */;
3629 num_to_alloc = (yy_buffer_stack_max) + grow_size;
3630 (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
3632 num_to_alloc * sizeof(struct yy_buffer_state*)
3634 if ( ! (yy_buffer_stack) )
3635 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3637 /* zero only the new slots.*/
3638 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
3639 (yy_buffer_stack_max) = num_to_alloc;
3643 /** Setup the input buffer state to scan directly from a user-specified character buffer.
3644 * @param base the character buffer
3645 * @param size the size in bytes of the character buffer
3647 * @return the newly allocated buffer state object.
3649 YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
3654 base[size-2] != YY_END_OF_BUFFER_CHAR ||
3655 base[size-1] != YY_END_OF_BUFFER_CHAR )
3656 /* They forgot to leave room for the EOB's. */
3659 b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
3661 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
3663 b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */
3664 b->yy_buf_pos = b->yy_ch_buf = base;
3665 b->yy_is_our_buffer = 0;
3666 b->yy_input_file = NULL;
3667 b->yy_n_chars = b->yy_buf_size;
3668 b->yy_is_interactive = 0;
3670 b->yy_fill_buffer = 0;
3671 b->yy_buffer_status = YY_BUFFER_NEW;
3673 yy_switch_to_buffer( b );
3678 /** Setup the input buffer state to scan a string. The next call to yylex() will
3679 * scan from a @e copy of @a str.
3680 * @param yystr a NUL-terminated string to scan
3682 * @return the newly allocated buffer state object.
3683 * @note If you want to scan bytes that may contain NUL values, then use
3684 * yy_scan_bytes() instead.
3686 YY_BUFFER_STATE yy_scan_string (const char * yystr )
3689 return yy_scan_bytes( yystr, (int) strlen(yystr) );
3692 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
3693 * scan from a @e copy of @a bytes.
3694 * @param yybytes the byte buffer to scan
3695 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
3697 * @return the newly allocated buffer state object.
3699 YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len )
3706 /* Get memory for full buffer, including space for trailing EOB's. */
3707 n = (yy_size_t) (_yybytes_len + 2);
3708 buf = (char *) yyalloc( n );
3710 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
3712 for ( i = 0; i < _yybytes_len; ++i )
3713 buf[i] = yybytes[i];
3715 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
3717 b = yy_scan_buffer( buf, n );
3719 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
3721 /* It's okay to grow etc. this buffer, and we should throw it
3722 * away when we're done.
3724 b->yy_is_our_buffer = 1;
3729 static void yy_push_state (int _new_state )
3731 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
3735 (yy_start_stack_depth) += YY_START_STACK_INCR;
3736 new_size = (yy_size_t) (yy_start_stack_depth) * sizeof( int );
3738 if ( ! (yy_start_stack) )
3739 (yy_start_stack) = (int *) yyalloc( new_size );
3742 (yy_start_stack) = (int *) yyrealloc(
3743 (void *) (yy_start_stack), new_size );
3745 if ( ! (yy_start_stack) )
3746 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
3749 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
3754 static void yy_pop_state (void)
3756 if ( --(yy_start_stack_ptr) < 0 )
3757 YY_FATAL_ERROR( "start-condition stack underflow" );
3759 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
3762 #ifndef YY_EXIT_FAILURE
3763 #define YY_EXIT_FAILURE 2
3766 static void yynoreturn yy_fatal_error (const char* msg )
3768 fprintf( stderr, "%s\n", msg );
3769 exit( YY_EXIT_FAILURE );
3772 /* Redefine yyless() so it works in section 3 code. */
3778 /* Undo effects of setting up yytext. */ \
3779 int yyless_macro_arg = (n); \
3780 YY_LESS_LINENO(yyless_macro_arg);\
3781 yytext[yyleng] = (yy_hold_char); \
3782 (yy_c_buf_p) = yytext + yyless_macro_arg; \
3783 (yy_hold_char) = *(yy_c_buf_p); \
3784 *(yy_c_buf_p) = '\0'; \
3785 yyleng = yyless_macro_arg; \
3789 /* Accessor methods (get/set functions) to struct members. */
3791 /** Get the current line number.
3794 int yyget_lineno (void)
3800 /** Get the input stream.
3803 FILE *yyget_in (void)
3808 /** Get the output stream.
3811 FILE *yyget_out (void)
3816 /** Get the length of the current token.
3819 int yyget_leng (void)
3824 /** Get the current token.
3828 char *yyget_text (void)
3833 /** Set the current line number.
3834 * @param _line_number line number
3837 void yyset_lineno (int _line_number )
3840 yylineno = _line_number;
3843 /** Set the input stream. This does not discard the current
3845 * @param _in_str A readable stream.
3847 * @see yy_switch_to_buffer
3849 void yyset_in (FILE * _in_str )
3854 void yyset_out (FILE * _out_str )
3859 int yyget_debug (void)
3861 return yy_flex_debug;
3864 void yyset_debug (int _bdebug )
3866 yy_flex_debug = _bdebug ;
3869 static int yy_init_globals (void)
3871 /* Initialization is the same as for the non-reentrant scanner.
3872 * This function is called from yylex_destroy(), so don't allocate here.
3875 /* We do not touch yylineno unless the option is enabled. */
3878 (yy_buffer_stack) = NULL;
3879 (yy_buffer_stack_top) = 0;
3880 (yy_buffer_stack_max) = 0;
3881 (yy_c_buf_p) = NULL;
3885 (yy_start_stack_ptr) = 0;
3886 (yy_start_stack_depth) = 0;
3887 (yy_start_stack) = NULL;
3889 /* Defined in main.c */
3898 /* For future reference: Set errno on error, since we are called by
3904 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
3905 int yylex_destroy (void)
3908 /* Pop the buffer stack, destroying each element. */
3909 while(YY_CURRENT_BUFFER){
3910 yy_delete_buffer( YY_CURRENT_BUFFER );
3911 YY_CURRENT_BUFFER_LVALUE = NULL;
3912 yypop_buffer_state();
3915 /* Destroy the stack itself. */
3916 yyfree((yy_buffer_stack) );
3917 (yy_buffer_stack) = NULL;
3919 /* Destroy the start condition stack. */
3920 yyfree( (yy_start_stack) );
3921 (yy_start_stack) = NULL;
3923 /* Reset the globals. This is important in a non-reentrant scanner so the next time
3924 * yylex() is called, initialization will occur. */
3931 * Internal utility routines.
3935 static void yy_flex_strncpy (char* s1, const char * s2, int n )
3939 for ( i = 0; i < n; ++i )
3944 #ifdef YY_NEED_STRLEN
3945 static int yy_flex_strlen (const char * s )
3948 for ( n = 0; s[n]; ++n )
3955 void *yyalloc (yy_size_t size )
3957 return malloc(size);
3960 void *yyrealloc (void * ptr, yy_size_t size )
3963 /* The cast to (char *) in the following accommodates both
3964 * implementations that use char* generic pointers, and those
3965 * that use void* generic pointers. It works with the latter
3966 * because both ANSI C and C++ allow castless assignment from
3967 * any pointer type to void*, and deal with argument conversions
3968 * as though doing an assignment.
3970 return realloc(ptr, size);
3973 void yyfree (void * ptr )
3975 free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
3978 #define YYTABLES_NAME "yytables"
3980 /* Element context stack lookup. */
3981 int dax__element_context(int i)
3983 return (0<i && i<yy_start_stack_depth
3984 ? yy_start_stack[yy_start_stack_ptr - i]
3989 void print_yy_stack(char* fmt, ...)
3991 int i = 0; va_list ap; va_start(ap, fmt);
3992 vfprintf(stderr, fmt, ap);
3993 if (dax__statenames) {
3994 for (i=1; i<yy_start_stack_ptr; i++) {
3995 fprintf(stderr, "%s/", dax__statenames[yy_start_stack[i] ]);
3997 fprintf(stderr,"%s\n", dax__statenames[YY_START]);
4002 void print_dax__bufferstack()
4005 fputs("Buffer: ", stderr);
4006 for (i = 0; i < blimit; i++) {
4007 if ( dax__bufferstack[i] == '\377' ) break;
4008 putc(dax__bufferstack[i], stderr);
4013 static void debug_enter(int state, const char* statename) {
4014 yy_push_state(state);
4015 if (yy_flex_debug) {
4016 print_yy_stack("--ENTER(%s) : ",statename);
4017 print_dax__bufferstack();
4021 static void debug_leave(void) {
4022 if (yy_flex_debug) {
4023 print_yy_stack("--LEAVE : ");
4024 print_dax__bufferstack();
4029 static void debug_set(int state, const char* statename) {
4031 if (yy_flex_debug) print_yy_stack("--SET(%s) : ",statename);
4035 static void cleanup(void)
4037 if (dax__statenames) {
4038 free(dax__statenames);
4039 dax__statenames = NULL;
4041 free(dax__bufferstack);
4042 dax__bufferstack = NULL;
4048 static int fail(const char* fmt, ...)
4050 int chars_left, used;
4051 va_list ap; va_start(ap, fmt);
4052 #ifdef FLEXML_yylineno
4053 used = sprintf(flexml_err_msg, "Invalid XML (XML input line %d, state %d): ", yylineno, YY_START);
4055 used = sprintf(flexml_err_msg, "Invalid XML (state %d): ", YY_START);
4057 chars_left = flexml_max_err_msg_size - used - 1;
4058 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
4061 #ifndef FLEXML_quiet_parser
4062 /* print directly to sdterr */
4063 fprintf(stderr, "%s\n", flexml_err_msg);
4064 flexml_err_msg[0] = '\0';