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] =
644 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
645 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
646 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
647 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
648 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
649 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
650 0, 0, 0, 0, 0, 0, 141, 139, 15, 10,
651 10, 15, 15, 119, 10, 119, 5, 6, 5, 8,
652 9, 8, 135, 127, 128, 136, 133, 136, 134, 138,
653 127, 128, 138, 139, 40, 10, 40, 40, 40, 38,
655 40, 40, 40, 40, 40, 40, 40, 44, 10, 44,
656 44, 139, 139, 44, 51, 10, 51, 51, 51, 49,
657 51, 55, 10, 55, 139, 55, 72, 10, 72, 72,
658 72, 70, 72, 72, 72, 72, 72, 76, 10, 76,
659 139, 76, 83, 10, 83, 83, 83, 81, 83, 87,
660 10, 87, 114, 10, 114, 114, 114, 112, 114, 114,
661 114, 114, 114, 114, 118, 10, 118, 136, 135, 10,
662 0, 2, 2, 0, 4, 7, 130, 129, 0, 0,
663 0, 0, 0, 0, 0, 39, 41, 41, 41, 41,
664 41, 41, 41, 41, 41, 41, 0, 0, 0, 0,
666 0, 0, 0, 0, 50, 52, 52, 0, 0, 71,
667 73, 73, 73, 73, 73, 73, 0, 0, 82, 84,
668 84, 0, 113, 115, 115, 115, 115, 115, 115, 115,
669 115, 0, 0, 0, 0, 0, 0, 0, 3, 0,
670 0, 0, 0, 0, 0, 0, 137, 0, 41, 41,
671 41, 41, 41, 41, 41, 41, 41, 0, 0, 0,
672 0, 0, 0, 0, 0, 0, 52, 0, 0, 0,
673 0, 0, 73, 73, 73, 73, 0, 0, 0, 84,
674 0, 0, 115, 115, 115, 115, 115, 115, 115, 0,
675 0, 0, 132, 0, 14, 1, 0, 0, 125, 0,
677 0, 0, 122, 121, 0, 0, 41, 41, 41, 41,
678 41, 41, 41, 41, 41, 0, 0, 43, 0, 0,
679 0, 57, 0, 0, 56, 0, 0, 0, 0, 0,
680 54, 0, 0, 0, 59, 58, 73, 73, 73, 73,
681 0, 0, 75, 0, 0, 0, 0, 0, 0, 86,
682 0, 115, 115, 115, 115, 115, 115, 115, 0, 0,
683 117, 0, 0, 0, 0, 126, 120, 0, 0, 17,
684 41, 41, 41, 41, 41, 0, 0, 41, 41, 41,
685 0, 16, 0, 57, 0, 88, 56, 0, 0, 48,
686 47, 0, 0, 73, 0, 0, 73, 73, 73, 0,
688 89, 0, 80, 79, 0, 0, 0, 0, 0, 115,
689 115, 0, 0, 115, 0, 0, 0, 0, 0, 0,
690 0, 12, 0, 123, 124, 17, 41, 0, 0, 41,
691 0, 0, 41, 0, 29, 28, 41, 0, 41, 0,
692 41, 0, 16, 46, 0, 88, 45, 0, 0, 0,
693 0, 0, 63, 62, 73, 73, 73, 0, 74, 89,
694 0, 0, 91, 90, 0, 0, 0, 115, 115, 0,
695 105, 104, 115, 0, 111, 110, 0, 0, 0, 0,
696 0, 11, 41, 0, 21, 20, 41, 0, 25, 24,
697 41, 41, 41, 0, 33, 32, 41, 0, 42, 46,
699 77, 45, 0, 78, 0, 61, 60, 73, 73, 73,
700 0, 0, 0, 0, 0, 115, 115, 115, 0, 116,
701 0, 0, 0, 0, 41, 41, 41, 0, 0, 41,
702 41, 77, 0, 53, 78, 73, 0, 0, 0, 0,
703 0, 0, 0, 0, 0, 115, 115, 115, 0, 0,
704 0, 0, 41, 41, 0, 0, 0, 31, 30, 41,
705 41, 73, 0, 67, 66, 0, 69, 68, 0, 85,
706 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
707 131, 0, 0, 0, 41, 0, 0, 0, 27, 26,
708 0, 0, 41, 0, 0, 0, 0, 0, 0, 0,
710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
711 0, 0, 0, 0, 23, 22, 0, 35, 34, 41,
712 0, 65, 64, 0, 0, 0, 0, 0, 0, 0,
713 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
714 0, 0, 0, 19, 18, 41, 93, 0, 92, 0,
715 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
716 0, 0, 0, 0, 0, 41, 95, 94, 0, 0,
717 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
718 0, 0, 0, 0, 41, 0, 0, 0, 0, 0,
719 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
721 0, 0, 0, 41, 0, 99, 0, 98, 0, 103,
722 0, 102, 0, 109, 0, 108, 0, 0, 0, 0,
723 0, 0, 41, 97, 96, 101, 100, 107, 106, 0,
724 0, 0, 12, 0, 12, 0, 41, 0, 0, 0,
725 0, 0, 41, 0, 0, 0, 0, 0, 11, 0,
726 37, 36, 0, 0, 0, 0, 0, 0, 0, 0,
727 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
731 static const YY_CHAR yy_ec[256] =
733 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
734 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
735 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
736 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
737 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
738 13, 13, 13, 13, 13, 13, 13, 14, 15, 16,
739 17, 18, 19, 1, 20, 21, 22, 23, 24, 21,
740 25, 25, 25, 25, 25, 26, 27, 25, 28, 29,
741 25, 25, 30, 31, 25, 25, 25, 25, 32, 25,
742 33, 1, 34, 1, 25, 1, 35, 36, 37, 38,
744 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
745 49, 50, 51, 52, 53, 54, 55, 56, 25, 57,
746 58, 59, 1, 1, 1, 1, 1, 1, 1, 1,
747 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
748 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
749 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
750 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
751 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
752 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
753 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
755 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
756 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
757 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
758 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
759 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
763 static const YY_CHAR yy_meta[60] =
765 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
766 3, 1, 4, 5, 1, 1, 1, 6, 1, 7,
767 7, 7, 7, 7, 5, 5, 5, 5, 5, 5,
768 5, 5, 1, 1, 7, 7, 7, 7, 7, 7,
769 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
770 5, 5, 5, 5, 5, 5, 5, 5, 5
773 static const flex_int16_t yy_base[814] =
775 0, 0, 0, 3, 6, 9, 24, 27, 11, 14,
776 15, 17, 29, 38, 45, 52, 59, 61, 67, 70,
777 95, 0, 73, 76, 153, 156, 159, 162, 177, 180,
778 183, 186, 201, 204, 207, 210, 226, 278, 245, 248,
779 251, 254, 297, 300, 303, 306, 330, 0, 388, 391,
780 394, 397, 412, 415, 418, 421, 437, 489, 456, 459,
781 541, 0, 462, 465, 598, 600, 2053, 2135, 2135, 269,
782 272, 47, 62, 2135, 321, 172, 2135, 2135, 2033, 2135,
783 2135, 2022, 2135, 2033, 2031, 475, 2135, 2135, 2135, 2135,
784 2027, 2025, 1987, 468, 2135, 324, 1998, 0, 196, 2135,
786 8, 1968, 1958, 1952, 1863, 1858, 35, 2135, 481, 600,
787 608, 604, 612, 641, 2135, 509, 1878, 0, 258, 2135,
788 1855, 2135, 515, 660, 663, 682, 2135, 525, 1875, 0,
789 310, 2135, 1854, 1852, 1855, 1834, 1849, 2135, 528, 704,
790 701, 723, 2135, 531, 1869, 0, 407, 2135, 1847, 2135,
791 534, 606, 2135, 626, 1857, 0, 469, 2135, 1831, 1829,
792 1821, 1830, 1814, 32, 2135, 667, 621, 1851, 1820, 671,
793 628, 1784, 2135, 1827, 1818, 2135, 2135, 2135, 2, 44,
794 1781, 1780, 1778, 1814, 1793, 2135, 0, 1787, 1774, 1777,
795 1784, 1784, 1772, 1747, 1752, 1753, 1752, 1748, 1742, 1722,
797 1735, 1712, 1715, 1720, 2135, 0, 1713, 1695, 1693, 2135,
798 0, 686, 1670, 1671, 1668, 1660, 1666, 1656, 2135, 0,
799 1661, 1650, 2135, 0, 1652, 1644, 1635, 1646, 1627, 1648,
800 1632, 1626, 1634, 1648, 1646, 1649, 458, 1611, 2135, 72,
801 0, 1606, 1602, 1635, 1633, 1594, 2135, 1607, 1590, 1586,
802 1594, 1592, 1601, 1583, 1567, 1567, 1600, 759, 762, 1577,
803 1564, 1570, 1547, 1559, 1560, 1544, 727, 766, 772, 1534,
804 779, 783, 1545, 1536, 1520, 1519, 791, 795, 1528, 799,
805 802, 808, 1527, 1517, 1517, 1513, 1506, 1496, 1503, 815,
806 819, 1519, 2135, 1521, 2135, 2135, 17, 1488, 2135, 1514,
808 1513, 1473, 2135, 2135, 1464, 1475, 1477, 1459, 1490, 1453,
809 1450, 825, 1455, 1443, 1438, 828, 832, 2135, 836, 1449,
810 1442, 845, 1447, 1432, 849, 1437, 853, 856, 864, 871,
811 2135, 874, 1433, 877, 2135, 2135, 1425, 891, 1426, 1421,
812 894, 897, 2135, 900, 1410, 903, 907, 919, 922, 2135,
813 925, 928, 931, 1411, 1406, 947, 1404, 950, 953, 956,
814 2135, 966, 1422, 646, 976, 2135, 2135, 1429, 1427, 959,
815 1419, 979, 1386, 983, 1379, 986, 995, 1374, 1004, 1381,
816 1007, 989, 1379, 1010, 1367, 1013, 1020, 1369, 1024, 2135,
817 2135, 1032, 1357, 1035, 1038, 1054, 1352, 1353, 1347, 1041,
819 1062, 1065, 2135, 2135, 1073, 1077, 1080, 1093, 1096, 1333,
820 1325, 1104, 1111, 1334, 1120, 1123, 1131, 1352, 507, 1353,
821 1136, 2135, 1347, 2135, 2135, 1139, 1315, 1142, 1149, 1291,
822 1159, 1162, 1297, 1176, 2135, 2135, 1295, 1170, 1285, 1187,
823 1298, 1195, 1198, 1201, 1275, 1204, 1207, 1212, 1274, 1215,
824 1218, 1231, 2135, 2135, 1282, 1273, 1263, 1239, 2135, 1242,
825 1245, 1249, 2135, 2135, 1258, 124, 125, 1274, 1262, 1266,
826 2135, 2135, 1259, 1274, 2135, 2135, 1282, 1261, 491, 152,
827 5, 2135, 1235, 1285, 2135, 2135, 1234, 1293, 2135, 2135,
828 1227, 1301, 1226, 1304, 2135, 2135, 1235, 1312, 2135, 1317,
830 1320, 1323, 1329, 1332, 1335, 2135, 2135, 1236, 1346, 1349,
831 1352, 1223, 1211, 1217, 1204, 1210, 1202, 1187, 1355, 2135,
832 1218, 174, 158, 384, 1188, 1177, 1358, 1365, 1374, 1186,
833 1181, 1382, 1385, 2135, 1388, 1187, 1391, 1395, 1407, 1410,
834 1418, 1175, 1169, 1162, 1141, 1423, 1426, 1429, 1161, 1435,
835 176, 461, 1134, 1445, 1448, 1452, 1464, 2135, 2135, 1472,
836 1151, 1475, 1478, 2135, 2135, 1491, 2135, 2135, 1499, 2135,
837 1128, 1131, 1122, 1120, 1502, 1505, 1518, 1521, 1529, 1534,
838 2135, 1545, 228, 179, 1548, 1551, 1555, 1567, 2135, 2135,
839 1575, 1579, 1143, 1587, 1591, 1113, 1105, 1103, 1101, 1599,
841 567, 570, 1607, 582, 626, 1615, 668, 671, 280, 222,
842 643, 1623, 1626, 1635, 2135, 2135, 1643, 2135, 2135, 1101,
843 1651, 2135, 2135, 1142, 1093, 1127, 1077, 1095, 1076, 1084,
844 1066, 1081, 1059, 1074, 1052, 1068, 1049, 1058, 1040, 715,
845 244, 385, 1659, 2135, 2135, 1053, 2135, 1082, 2135, 1078,
846 1026, 1015, 1016, 1006, 1008, 992, 1000, 974, 973, 921,
847 929, 918, 388, 391, 1667, 937, 2135, 2135, 912, 907,
848 889, 902, 861, 851, 835, 848, 832, 830, 792, 776,
849 1670, 1673, 1676, 1693, 753, 714, 746, 695, 712, 666,
850 678, 644, 648, 603, 609, 501, 471, 1701, 1704, 1711,
852 1721, 1739, 1773, 408, 429, 2135, 421, 2135, 421, 2135,
853 402, 2135, 402, 2135, 396, 2135, 725, 1791, 675, 506,
854 1809, 1843, 272, 2135, 2135, 2135, 2135, 2135, 2135, 684,
855 706, 200, 311, 731, 260, 1731, 220, 668, 218, 202,
856 207, 1765, 1836, 296, 153, 1861, 1757, 728, 2135, 1799,
857 2135, 2135, 1734, 1864, 439, 709, 753, 773, 806, 807,
858 761, 873, 823, 901, 948, 1031, 1013, 1035, 1014, 929,
859 1877, 1881, 2135, 2135, 1899, 1906, 1913, 1920, 1927, 1934,
860 1941, 1948, 1955, 1962, 1969, 1976, 1983, 1990, 1995, 2000,
861 2005, 2010, 2015, 2022, 2025, 2028, 2031, 2034, 2037, 2044,
863 2048, 2054, 2060, 2066, 2072, 2078, 2085, 2092, 2099, 2106,
867 static const flex_int16_t yy_def[814] =
869 775, 775, 776, 776, 776, 776, 777, 777, 778, 778,
870 779, 779, 780, 780, 780, 780, 781, 781, 775, 775,
871 774, 21, 782, 782, 782, 782, 775, 775, 782, 782,
872 775, 775, 782, 782, 782, 782, 783, 783, 784, 784,
873 775, 775, 784, 784, 784, 784, 774, 47, 785, 785,
874 775, 775, 785, 785, 785, 785, 786, 786, 787, 787,
875 774, 61, 788, 788, 780, 780, 774, 774, 774, 774,
876 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
877 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
878 774, 774, 774, 774, 774, 774, 774, 789, 774, 774,
880 789, 789, 789, 789, 789, 789, 789, 774, 774, 774,
881 774, 774, 774, 774, 774, 774, 774, 790, 774, 774,
882 790, 774, 774, 774, 774, 774, 774, 774, 774, 791,
883 774, 774, 791, 791, 791, 791, 791, 774, 774, 774,
884 774, 774, 774, 774, 774, 792, 774, 774, 792, 774,
885 774, 774, 774, 774, 774, 793, 774, 774, 793, 793,
886 793, 793, 793, 793, 774, 774, 774, 774, 774, 774,
887 794, 774, 774, 774, 774, 774, 774, 774, 774, 774,
888 774, 774, 774, 774, 774, 774, 789, 789, 789, 789,
889 789, 789, 789, 789, 789, 789, 795, 774, 774, 774,
891 774, 774, 774, 774, 774, 790, 790, 796, 774, 774,
892 791, 791, 791, 791, 791, 791, 797, 774, 774, 792,
893 792, 798, 774, 793, 793, 793, 793, 793, 793, 793,
894 793, 799, 774, 774, 800, 774, 800, 774, 774, 774,
895 801, 774, 774, 774, 774, 774, 774, 774, 789, 789,
896 789, 789, 789, 789, 789, 789, 789, 802, 802, 774,
897 774, 774, 774, 774, 774, 774, 790, 803, 803, 774,
898 774, 774, 791, 791, 791, 791, 804, 804, 774, 792,
899 805, 805, 793, 793, 793, 793, 793, 793, 793, 806,
900 806, 774, 774, 800, 774, 774, 800, 774, 774, 801,
902 774, 774, 774, 774, 774, 774, 789, 789, 789, 789,
903 789, 789, 789, 789, 789, 774, 802, 774, 802, 774,
904 774, 774, 774, 774, 774, 774, 774, 774, 774, 803,
905 774, 803, 774, 774, 774, 774, 791, 791, 791, 791,
906 774, 804, 774, 804, 774, 774, 774, 774, 805, 774,
907 805, 793, 793, 793, 793, 793, 793, 793, 774, 806,
908 774, 806, 774, 800, 807, 774, 774, 774, 774, 774,
909 789, 789, 789, 789, 789, 774, 774, 789, 789, 789,
910 802, 774, 774, 774, 774, 774, 774, 774, 774, 774,
911 774, 803, 774, 791, 774, 774, 791, 791, 791, 804,
913 774, 774, 774, 774, 805, 774, 774, 774, 774, 793,
914 793, 774, 774, 793, 774, 774, 806, 774, 800, 807,
915 807, 774, 807, 774, 774, 774, 789, 774, 774, 789,
916 774, 774, 789, 774, 774, 774, 789, 774, 789, 774,
917 789, 802, 774, 774, 774, 774, 774, 803, 774, 774,
918 774, 774, 774, 774, 791, 791, 791, 774, 774, 774,
919 805, 774, 774, 774, 774, 774, 774, 793, 793, 774,
920 774, 774, 793, 774, 774, 774, 806, 774, 800, 807,
921 807, 774, 789, 774, 774, 774, 789, 774, 774, 774,
922 789, 789, 789, 774, 774, 774, 789, 774, 774, 774,
924 774, 774, 803, 774, 774, 774, 774, 791, 791, 791,
925 805, 774, 774, 774, 774, 793, 793, 793, 774, 774,
926 774, 800, 807, 807, 789, 789, 789, 774, 774, 789,
927 789, 774, 774, 774, 774, 791, 774, 774, 774, 774,
928 805, 774, 774, 774, 774, 793, 793, 793, 774, 800,
929 807, 807, 789, 789, 774, 774, 774, 774, 774, 789,
930 789, 791, 774, 774, 774, 774, 774, 774, 774, 774,
931 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
932 774, 800, 807, 807, 789, 774, 774, 774, 774, 774,
933 774, 774, 789, 774, 774, 774, 774, 774, 774, 774,
935 774, 774, 774, 774, 774, 774, 774, 774, 800, 807,
936 807, 774, 774, 774, 774, 774, 774, 774, 774, 789,
937 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
938 774, 774, 774, 774, 774, 774, 774, 774, 774, 800,
939 807, 807, 774, 774, 774, 789, 774, 774, 774, 774,
940 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
941 774, 774, 800, 807, 807, 789, 774, 774, 774, 774,
942 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
943 800, 807, 807, 807, 789, 774, 774, 774, 774, 774,
944 774, 774, 774, 774, 774, 774, 774, 800, 807, 807,
946 807, 808, 809, 789, 774, 774, 774, 774, 774, 774,
947 774, 774, 774, 774, 774, 774, 800, 807, 810, 811,
948 808, 809, 789, 774, 774, 774, 774, 774, 774, 800,
949 810, 807, 812, 811, 813, 807, 789, 800, 812, 774,
950 813, 807, 789, 800, 774, 774, 774, 800, 774, 774,
951 774, 774, 800, 800, 800, 800, 800, 800, 800, 800,
952 800, 800, 800, 800, 800, 800, 800, 800, 800, 800,
953 800, 800, 774, 0, 774, 774, 774, 774, 774, 774,
954 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
955 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
957 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
961 static const flex_int16_t yy_nxt[2195] =
963 774, 70, 71, 70, 70, 71, 70, 70, 71, 70,
964 70, 71, 70, 78, 240, 72, 78, 81, 72, 81,
965 79, 73, 422, 79, 73, 75, 71, 75, 75, 71,
966 75, 84, 85, 82, 295, 82, 86, 87, 364, 76,
967 84, 85, 76, 524, 88, 86, 87, 84, 85, 188,
968 89, 171, 86, 88, 84, 85, 189, 89, 241, 86,
969 88, 91, 92, 91, 92, 172, 171, 88, 71, 71,
970 71, 71, 71, 71, 109, 71, 109, 109, 71, 109,
971 173, 195, 94, 230, 240, 94, 299, 196, 110, 231,
972 242, 110, 93, 243, 93, 95, 96, 71, 96, 95,
974 95, 95, 95, 95, 95, 95, 97, 95, 98, 95,
975 99, 95, 100, 95, 98, 98, 98, 98, 98, 98,
976 98, 98, 98, 98, 98, 98, 98, 95, 95, 98,
977 98, 101, 98, 98, 102, 98, 98, 103, 104, 98,
978 98, 98, 105, 98, 98, 98, 98, 98, 98, 98,
979 106, 107, 98, 98, 109, 71, 109, 109, 71, 109,
980 71, 71, 71, 71, 71, 71, 512, 514, 111, 422,
981 749, 111, 513, 515, 112, 422, 174, 112, 109, 71,
982 109, 109, 71, 109, 71, 71, 71, 71, 71, 71,
983 173, 295, 110, 422, 551, 110, 422, 550, 113, 523,
985 174, 113, 109, 71, 109, 109, 71, 109, 109, 71,
986 109, 109, 71, 109, 173, 740, 111, 422, 423, 111,
987 745, 611, 114, 740, 583, 114, 115, 116, 71, 116,
988 115, 115, 115, 115, 115, 115, 115, 117, 115, 422,
989 115, 119, 115, 120, 115, 422, 123, 71, 123, 123,
990 71, 123, 71, 71, 71, 71, 71, 71, 115, 115,
991 124, 422, 174, 124, 641, 610, 125, 743, 740, 125,
992 170, 170, 170, 170, 170, 170, 173, 121, 115, 116,
993 71, 116, 115, 115, 115, 115, 115, 115, 115, 117,
994 115, 664, 115, 119, 115, 120, 115, 295, 123, 71,
996 123, 123, 71, 123, 123, 71, 123, 123, 71, 123,
997 115, 115, 124, 295, 174, 124, 740, 640, 126, 748,
998 737, 126, 170, 170, 170, 170, 170, 170, 173, 121,
999 127, 128, 71, 128, 127, 127, 127, 127, 127, 127,
1000 127, 129, 127, 130, 127, 131, 127, 132, 127, 130,
1001 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
1002 130, 130, 127, 127, 130, 130, 130, 130, 130, 130,
1003 130, 130, 133, 130, 130, 134, 130, 135, 130, 130,
1004 130, 136, 130, 130, 130, 137, 130, 130, 130, 139,
1005 71, 139, 139, 71, 139, 71, 71, 71, 71, 71,
1007 71, 422, 422, 140, 729, 295, 140, 728, 422, 141,
1008 727, 174, 141, 139, 71, 139, 139, 71, 139, 139,
1009 71, 139, 139, 71, 139, 173, 726, 140, 681, 725,
1010 140, 682, 665, 142, 724, 552, 142, 143, 144, 71,
1011 144, 143, 143, 143, 143, 143, 143, 143, 145, 143,
1012 723, 143, 147, 143, 148, 143, 295, 151, 71, 151,
1013 151, 71, 151, 166, 71, 166, 166, 71, 166, 143,
1014 143, 152, 174, 174, 152, 295, 757, 167, 422, 716,
1015 167, 179, 170, 170, 170, 297, 173, 173, 149, 143,
1016 144, 71, 144, 143, 143, 143, 143, 143, 143, 143,
1018 145, 143, 185, 143, 147, 143, 148, 143, 295, 180,
1019 170, 170, 170, 584, 732, 181, 170, 170, 170, 522,
1020 182, 143, 143, 735, 295, 183, 170, 170, 170, 170,
1021 170, 170, 170, 170, 170, 170, 170, 170, 479, 715,
1022 149, 153, 154, 71, 154, 153, 153, 153, 153, 153,
1023 153, 153, 155, 153, 156, 153, 157, 153, 158, 153,
1024 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
1025 156, 156, 156, 153, 153, 156, 156, 156, 156, 156,
1026 159, 156, 156, 156, 156, 156, 160, 156, 156, 161,
1027 156, 156, 162, 163, 164, 156, 156, 156, 156, 156,
1029 84, 85, 84, 85, 174, 86, 628, 86, 174, 630,
1030 174, 197, 174, 168, 714, 168, 174, 222, 173, 197,
1031 629, 632, 173, 631, 173, 174, 173, 170, 170, 170,
1032 173, 169, 232, 169, 198, 633, 199, 236, 198, 173,
1033 204, 713, 198, 200, 199, 174, 198, 200, 199, 201,
1034 237, 203, 197, 201, 202, 203, 712, 201, 202, 173,
1035 422, 201, 202, 295, 174, 634, 202, 174, 170, 170,
1036 170, 208, 170, 170, 170, 198, 419, 204, 173, 635,
1037 732, 173, 711, 710, 203, 295, 174, 271, 271, 271,
1038 201, 642, 733, 208, 198, 202, 204, 198, 744, 204,
1040 173, 295, 272, 203, 709, 174, 203, 636, 174, 209,
1041 638, 732, 209, 738, 202, 217, 198, 202, 204, 173,
1042 708, 637, 173, 733, 639, 203, 295, 174, 327, 327,
1043 327, 201, 295, 707, 217, 198, 202, 204, 198, 732,
1044 204, 173, 295, 328, 203, 295, 758, 203, 735, 663,
1045 201, 706, 705, 201, 753, 218, 730, 198, 218, 204,
1046 316, 316, 316, 316, 316, 316, 203, 329, 329, 329,
1047 295, 763, 201, 329, 329, 329, 318, 202, 295, 318,
1048 271, 271, 271, 331, 334, 334, 334, 759, 335, 331,
1049 295, 336, 341, 341, 341, 272, 341, 341, 341, 319,
1051 346, 346, 346, 348, 348, 348, 704, 760, 343, 348,
1052 348, 348, 343, 332, 697, 347, 359, 359, 359, 350,
1053 359, 359, 359, 295, 295, 350, 376, 376, 376, 316,
1054 316, 316, 361, 316, 316, 316, 361, 316, 316, 316,
1055 295, 377, 351, 344, 696, 318, 384, 384, 384, 318,
1056 387, 387, 387, 318, 327, 327, 327, 389, 389, 389,
1057 765, 390, 761, 762, 391, 329, 329, 329, 695, 328,
1058 381, 362, 329, 329, 329, 329, 329, 329, 334, 334,
1059 334, 331, 335, 764, 694, 336, 693, 692, 331, 691,
1060 295, 331, 395, 395, 395, 341, 341, 341, 341, 341,
1062 341, 341, 341, 341, 346, 346, 346, 396, 402, 402,
1063 402, 343, 403, 690, 343, 404, 392, 343, 295, 347,
1064 348, 348, 348, 348, 348, 348, 348, 348, 348, 406,
1065 406, 406, 408, 408, 408, 400, 350, 771, 766, 350,
1066 689, 688, 350, 397, 407, 687, 295, 409, 412, 412,
1067 412, 415, 415, 415, 359, 359, 359, 359, 359, 359,
1068 426, 426, 426, 413, 686, 295, 416, 359, 359, 359,
1069 361, 685, 680, 361, 679, 678, 405, 421, 421, 421,
1070 428, 428, 428, 361, 431, 431, 431, 376, 376, 376,
1071 443, 443, 443, 422, 423, 429, 434, 434, 434, 432,
1073 435, 767, 377, 436, 417, 438, 438, 438, 316, 316,
1074 316, 384, 384, 384, 446, 446, 446, 439, 677, 771,
1075 440, 387, 387, 387, 318, 389, 389, 389, 676, 390,
1076 295, 295, 391, 329, 329, 329, 450, 450, 450, 395,
1077 395, 395, 458, 458, 458, 675, 674, 442, 295, 331,
1078 769, 451, 295, 673, 396, 452, 452, 452, 459, 453,
1079 672, 671, 454, 460, 460, 460, 402, 402, 402, 670,
1080 403, 669, 770, 404, 348, 348, 348, 448, 406, 406,
1081 406, 462, 462, 462, 768, 463, 668, 667, 464, 666,
1082 350, 662, 661, 407, 408, 408, 408, 465, 465, 465,
1084 660, 466, 659, 658, 467, 412, 412, 412, 657, 409,
1085 656, 461, 470, 470, 470, 655, 471, 654, 653, 472,
1086 413, 415, 415, 415, 474, 474, 474, 652, 475, 651,
1087 650, 476, 359, 359, 359, 649, 416, 421, 421, 421,
1088 426, 426, 426, 428, 428, 428, 648, 647, 361, 646,
1089 484, 484, 484, 422, 485, 627, 626, 486, 429, 625,
1090 431, 431, 431, 488, 488, 488, 624, 489, 620, 599,
1091 490, 438, 438, 438, 480, 432, 598, 434, 434, 434,
1092 597, 435, 596, 477, 436, 593, 440, 585, 494, 494,
1093 494, 481, 495, 581, 574, 496, 498, 498, 498, 443,
1095 443, 443, 500, 500, 500, 446, 446, 446, 502, 502,
1096 502, 573, 499, 329, 329, 329, 450, 450, 450, 505,
1097 505, 505, 572, 506, 571, 562, 507, 561, 560, 331,
1098 554, 451, 452, 452, 452, 553, 453, 549, 548, 454,
1099 458, 458, 458, 460, 460, 460, 348, 348, 348, 503,
1100 462, 462, 462, 547, 463, 546, 459, 464, 545, 465,
1101 465, 465, 350, 466, 544, 543, 467, 470, 470, 470,
1102 542, 471, 536, 531, 472, 474, 474, 474, 530, 475,
1103 527, 526, 476, 519, 519, 519, 484, 484, 484, 525,
1104 485, 521, 511, 486, 488, 488, 488, 518, 489, 520,
1106 517, 490, 528, 528, 528, 494, 494, 494, 516, 495,
1107 510, 509, 496, 498, 498, 498, 508, 529, 500, 500,
1108 500, 532, 532, 532, 502, 502, 502, 504, 501, 499,
1109 533, 533, 533, 535, 535, 535, 505, 505, 505, 497,
1110 506, 493, 492, 507, 491, 487, 534, 537, 537, 537,
1111 539, 539, 539, 348, 348, 348, 519, 519, 519, 555,
1112 555, 555, 538, 483, 482, 540, 528, 528, 528, 350,
1113 422, 478, 520, 473, 556, 557, 557, 557, 469, 558,
1114 468, 529, 559, 532, 532, 532, 533, 533, 533, 535,
1115 535, 535, 537, 537, 537, 457, 563, 563, 563, 456,
1117 564, 455, 534, 565, 449, 541, 447, 538, 539, 539,
1118 539, 566, 566, 566, 445, 567, 444, 441, 568, 569,
1119 569, 569, 437, 540, 575, 575, 575, 577, 577, 577,
1120 579, 579, 579, 433, 430, 570, 582, 582, 582, 576,
1121 427, 425, 578, 424, 418, 580, 586, 586, 586, 555,
1122 555, 555, 295, 588, 588, 588, 414, 589, 411, 410,
1123 590, 587, 401, 399, 556, 557, 557, 557, 398, 558,
1124 394, 393, 559, 591, 591, 591, 594, 594, 594, 563,
1125 563, 563, 388, 564, 386, 385, 565, 383, 592, 382,
1126 380, 595, 566, 566, 566, 379, 567, 378, 375, 568,
1128 569, 569, 569, 575, 575, 575, 600, 600, 600, 374,
1129 601, 373, 372, 602, 371, 370, 570, 369, 576, 577,
1130 577, 577, 603, 603, 603, 368, 604, 367, 366, 605,
1131 579, 579, 579, 365, 578, 606, 606, 606, 295, 607,
1132 363, 358, 608, 357, 356, 580, 582, 582, 582, 612,
1133 612, 612, 586, 586, 586, 355, 614, 614, 614, 354,
1134 615, 353, 295, 616, 613, 352, 345, 587, 588, 588,
1135 588, 340, 589, 339, 338, 590, 591, 591, 591, 609,
1136 617, 617, 617, 337, 618, 333, 326, 619, 594, 594,
1137 594, 592, 621, 621, 621, 325, 622, 324, 323, 623,
1139 600, 600, 600, 595, 601, 322, 321, 602, 603, 603,
1140 603, 320, 604, 315, 314, 605, 606, 606, 606, 313,
1141 607, 312, 311, 608, 612, 612, 612, 643, 643, 643,
1142 310, 644, 309, 308, 645, 307, 614, 614, 614, 613,
1143 615, 306, 305, 616, 617, 617, 617, 304, 618, 303,
1144 302, 619, 621, 621, 621, 301, 622, 298, 296, 623,
1145 643, 643, 643, 295, 644, 293, 292, 645, 683, 683,
1146 683, 698, 698, 698, 699, 699, 699, 683, 683, 683,
1147 291, 289, 288, 684, 422, 287, 286, 295, 285, 700,
1148 422, 284, 684, 422, 701, 701, 701, 283, 702, 282,
1150 280, 703, 698, 698, 698, 699, 699, 699, 279, 278,
1151 422, 276, 718, 718, 718, 275, 719, 274, 295, 720,
1152 700, 422, 701, 701, 701, 273, 702, 270, 422, 703,
1153 717, 269, 742, 742, 742, 754, 754, 754, 422, 420,
1154 420, 420, 420, 420, 420, 420, 420, 420, 422, 423,
1155 420, 295, 267, 420, 420, 420, 422, 420, 750, 750,
1156 750, 266, 751, 265, 264, 752, 742, 742, 742, 263,
1157 262, 420, 420, 420, 420, 420, 420, 420, 420, 420,
1158 420, 420, 422, 261, 420, 260, 259, 420, 420, 420,
1159 422, 420, 718, 718, 718, 257, 719, 256, 255, 720,
1161 750, 750, 750, 480, 751, 420, 420, 752, 422, 420,
1162 420, 420, 420, 420, 736, 420, 420, 420, 254, 253,
1163 420, 252, 251, 420, 420, 420, 422, 420, 250, 249,
1164 248, 247, 246, 245, 244, 239, 236, 746, 746, 746,
1165 238, 420, 420, 420, 420, 420, 420, 420, 420, 420,
1166 420, 736, 747, 234, 420, 233, 229, 420, 420, 420,
1167 422, 420, 746, 746, 746, 754, 754, 754, 228, 755,
1168 227, 226, 756, 225, 223, 420, 420, 747, 772, 772,
1169 772, 295, 772, 772, 772, 221, 219, 216, 215, 214,
1170 213, 212, 210, 207, 773, 205, 194, 193, 773, 68,
1172 68, 68, 68, 68, 68, 68, 69, 69, 69, 69,
1173 69, 69, 69, 74, 74, 74, 74, 74, 74, 74,
1174 77, 77, 77, 77, 77, 77, 77, 80, 80, 80,
1175 80, 80, 80, 80, 83, 83, 83, 83, 83, 83,
1176 83, 90, 90, 90, 90, 90, 90, 90, 108, 108,
1177 108, 108, 108, 108, 108, 118, 118, 118, 118, 118,
1178 118, 118, 122, 122, 122, 122, 122, 122, 122, 138,
1179 138, 138, 138, 138, 138, 138, 146, 146, 146, 146,
1180 146, 146, 146, 150, 150, 150, 150, 150, 150, 150,
1181 165, 165, 165, 165, 165, 165, 165, 187, 187, 187,
1183 192, 187, 206, 206, 206, 191, 206, 211, 211, 211,
1184 190, 211, 220, 220, 220, 186, 220, 224, 224, 224,
1185 184, 224, 235, 235, 235, 235, 235, 178, 235, 258,
1186 177, 258, 268, 178, 268, 277, 177, 277, 281, 176,
1187 281, 290, 175, 290, 294, 294, 294, 294, 294, 294,
1188 294, 300, 774, 774, 300, 317, 317, 317, 317, 317,
1189 317, 330, 330, 330, 330, 330, 330, 342, 342, 342,
1190 342, 342, 342, 349, 349, 349, 349, 349, 349, 360,
1191 360, 360, 360, 360, 360, 420, 420, 420, 420, 420,
1192 420, 420, 721, 721, 721, 721, 721, 721, 721, 722,
1194 722, 722, 722, 722, 722, 722, 731, 731, 731, 731,
1195 731, 731, 731, 734, 734, 734, 734, 734, 734, 734,
1196 739, 739, 739, 739, 739, 739, 739, 741, 741, 741,
1197 741, 741, 741, 741, 67, 774, 774, 774, 774, 774,
1198 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
1199 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
1200 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
1201 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
1202 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
1207 static const flex_int16_t yy_chk[2195] =
1209 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
1210 6, 6, 6, 9, 179, 3, 10, 11, 4, 12,
1211 9, 5, 481, 10, 6, 7, 7, 7, 8, 8,
1212 8, 13, 13, 11, 297, 12, 13, 13, 297, 7,
1213 14, 14, 8, 481, 13, 14, 14, 15, 15, 101,
1214 15, 72, 15, 14, 16, 16, 101, 16, 179, 16,
1215 15, 17, 17, 18, 18, 72, 73, 16, 19, 19,
1216 19, 20, 20, 20, 23, 23, 23, 24, 24, 24,
1217 73, 107, 19, 164, 240, 20, 240, 107, 23, 164,
1218 180, 24, 17, 180, 18, 21, 21, 21, 21, 21,
1220 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1221 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1222 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1223 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1224 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1225 21, 21, 21, 21, 25, 25, 25, 26, 26, 26,
1226 27, 27, 27, 28, 28, 28, 466, 467, 25, 480,
1227 745, 26, 466, 467, 27, 523, 76, 28, 29, 29,
1228 29, 30, 30, 30, 31, 31, 31, 32, 32, 32,
1229 76, 522, 29, 551, 523, 30, 584, 522, 31, 480,
1231 99, 32, 33, 33, 33, 34, 34, 34, 35, 35,
1232 35, 36, 36, 36, 99, 741, 33, 732, 732, 34,
1233 740, 584, 35, 739, 551, 36, 37, 37, 37, 37,
1234 37, 37, 37, 37, 37, 37, 37, 37, 37, 610,
1235 37, 37, 37, 37, 37, 583, 39, 39, 39, 40,
1236 40, 40, 41, 41, 41, 42, 42, 42, 37, 37,
1237 39, 641, 119, 40, 610, 583, 41, 737, 735, 42,
1238 70, 70, 70, 71, 71, 71, 119, 37, 38, 38,
1239 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
1240 38, 641, 38, 38, 38, 38, 38, 609, 43, 43,
1242 43, 44, 44, 44, 45, 45, 45, 46, 46, 46,
1243 38, 38, 43, 744, 131, 44, 733, 609, 45, 744,
1244 723, 46, 75, 75, 75, 96, 96, 96, 131, 38,
1245 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
1246 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
1247 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
1248 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
1249 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
1250 47, 47, 47, 47, 47, 47, 47, 47, 47, 49,
1251 49, 49, 50, 50, 50, 51, 51, 51, 52, 52,
1253 52, 524, 642, 49, 715, 663, 50, 713, 664, 51,
1254 711, 147, 52, 53, 53, 53, 54, 54, 54, 55,
1255 55, 55, 56, 56, 56, 147, 709, 53, 663, 707,
1256 54, 664, 642, 55, 705, 524, 56, 57, 57, 57,
1257 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
1258 704, 57, 57, 57, 57, 57, 755, 59, 59, 59,
1259 60, 60, 60, 63, 63, 63, 64, 64, 64, 57,
1260 57, 59, 94, 157, 60, 237, 755, 63, 552, 697,
1261 64, 86, 109, 109, 109, 237, 94, 157, 57, 58,
1262 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1264 58, 58, 94, 58, 58, 58, 58, 58, 479, 86,
1265 116, 116, 116, 552, 720, 86, 123, 123, 123, 479,
1266 86, 58, 58, 720, 419, 86, 128, 128, 128, 139,
1267 139, 139, 144, 144, 144, 151, 151, 151, 419, 696,
1268 58, 61, 61, 61, 61, 61, 61, 61, 61, 61,
1269 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
1270 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
1271 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
1272 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
1273 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
1275 65, 65, 66, 66, 110, 65, 601, 66, 112, 602,
1276 152, 110, 111, 65, 695, 66, 113, 152, 110, 111,
1277 601, 604, 112, 602, 152, 167, 111, 154, 154, 154,
1278 113, 65, 167, 66, 110, 604, 110, 171, 112, 167,
1279 112, 694, 111, 110, 111, 114, 113, 112, 113, 110,
1280 171, 111, 114, 112, 110, 113, 693, 111, 112, 114,
1281 611, 113, 111, 364, 124, 605, 113, 125, 166, 166,
1282 166, 124, 170, 170, 170, 114, 364, 114, 124, 605,
1283 719, 125, 692, 691, 114, 738, 126, 212, 212, 212,
1284 114, 611, 719, 126, 124, 114, 124, 125, 738, 125,
1286 126, 730, 212, 124, 690, 141, 125, 607, 140, 124,
1287 608, 731, 125, 730, 124, 140, 126, 125, 126, 141,
1288 689, 607, 140, 731, 608, 126, 756, 142, 267, 267,
1289 267, 126, 640, 688, 142, 141, 126, 141, 140, 734,
1290 140, 142, 717, 267, 141, 748, 756, 140, 734, 640,
1291 141, 687, 686, 140, 748, 141, 717, 142, 140, 142,
1292 258, 258, 258, 259, 259, 259, 142, 268, 268, 268,
1293 757, 761, 142, 269, 269, 269, 258, 142, 761, 259,
1294 271, 271, 271, 268, 272, 272, 272, 757, 272, 269,
1295 758, 272, 277, 277, 277, 271, 278, 278, 278, 259,
1297 280, 280, 280, 281, 281, 281, 685, 758, 277, 282,
1298 282, 282, 278, 269, 680, 280, 290, 290, 290, 281,
1299 291, 291, 291, 759, 760, 282, 312, 312, 312, 316,
1300 316, 316, 290, 317, 317, 317, 291, 319, 319, 319,
1301 763, 312, 282, 278, 679, 316, 322, 322, 322, 317,
1302 325, 325, 325, 319, 327, 327, 327, 328, 328, 328,
1303 763, 328, 759, 760, 328, 329, 329, 329, 678, 327,
1304 319, 291, 330, 330, 330, 332, 332, 332, 334, 334,
1305 334, 329, 334, 762, 677, 334, 676, 675, 330, 674,
1306 762, 332, 338, 338, 338, 341, 341, 341, 342, 342,
1308 342, 344, 344, 344, 346, 346, 346, 338, 347, 347,
1309 347, 341, 347, 673, 342, 347, 332, 344, 764, 346,
1310 348, 348, 348, 349, 349, 349, 351, 351, 351, 352,
1311 352, 352, 353, 353, 353, 344, 348, 770, 764, 349,
1312 672, 671, 351, 338, 352, 670, 770, 353, 356, 356,
1313 356, 358, 358, 358, 359, 359, 359, 360, 360, 360,
1314 370, 370, 370, 356, 669, 765, 358, 362, 362, 362,
1315 359, 666, 662, 360, 661, 660, 351, 365, 365, 365,
1316 372, 372, 372, 362, 374, 374, 374, 376, 376, 376,
1317 382, 382, 382, 365, 365, 372, 377, 377, 377, 374,
1319 377, 765, 376, 377, 362, 379, 379, 379, 381, 381,
1320 381, 384, 384, 384, 386, 386, 386, 379, 659, 769,
1321 379, 387, 387, 387, 381, 389, 389, 389, 658, 389,
1322 767, 769, 389, 392, 392, 392, 394, 394, 394, 395,
1323 395, 395, 400, 400, 400, 657, 656, 381, 766, 392,
1324 767, 394, 768, 655, 395, 396, 396, 396, 400, 396,
1325 654, 653, 396, 401, 401, 401, 402, 402, 402, 652,
1326 402, 651, 768, 402, 405, 405, 405, 392, 406, 406,
1327 406, 407, 407, 407, 766, 407, 650, 648, 407, 646,
1328 405, 639, 638, 406, 408, 408, 408, 409, 409, 409,
1330 637, 409, 636, 635, 409, 412, 412, 412, 634, 408,
1331 633, 405, 413, 413, 413, 632, 413, 631, 630, 413,
1332 412, 415, 415, 415, 416, 416, 416, 629, 416, 628,
1333 627, 416, 417, 417, 417, 626, 415, 421, 421, 421,
1334 426, 426, 426, 428, 428, 428, 625, 624, 417, 620,
1335 429, 429, 429, 421, 429, 599, 598, 429, 428, 597,
1336 431, 431, 431, 432, 432, 432, 596, 432, 593, 574,
1337 432, 438, 438, 438, 421, 431, 573, 434, 434, 434,
1338 572, 434, 571, 417, 434, 561, 438, 553, 440, 440,
1339 440, 421, 440, 549, 545, 440, 442, 442, 442, 443,
1341 443, 443, 444, 444, 444, 446, 446, 446, 447, 447,
1342 447, 544, 442, 448, 448, 448, 450, 450, 450, 451,
1343 451, 451, 543, 451, 542, 536, 451, 531, 530, 448,
1344 526, 450, 452, 452, 452, 525, 452, 521, 518, 452,
1345 458, 458, 458, 460, 460, 460, 461, 461, 461, 448,
1346 462, 462, 462, 517, 462, 516, 458, 462, 515, 465,
1347 465, 465, 461, 465, 514, 513, 465, 470, 470, 470,
1348 512, 470, 508, 497, 470, 474, 474, 474, 493, 474,
1349 491, 487, 474, 477, 477, 477, 484, 484, 484, 483,
1350 484, 478, 461, 484, 488, 488, 488, 473, 488, 477,
1352 469, 488, 492, 492, 492, 494, 494, 494, 468, 494,
1353 457, 456, 494, 498, 498, 498, 455, 492, 500, 500,
1354 500, 501, 501, 501, 502, 502, 502, 449, 445, 498,
1355 503, 503, 503, 504, 504, 504, 505, 505, 505, 441,
1356 505, 439, 437, 505, 433, 430, 503, 509, 509, 509,
1357 510, 510, 510, 511, 511, 511, 519, 519, 519, 527,
1358 527, 527, 509, 427, 423, 510, 528, 528, 528, 511,
1359 420, 418, 519, 414, 527, 529, 529, 529, 411, 529,
1360 410, 528, 529, 532, 532, 532, 533, 533, 533, 535,
1361 535, 535, 537, 537, 537, 399, 538, 538, 538, 398,
1363 538, 397, 533, 538, 393, 511, 388, 537, 539, 539,
1364 539, 540, 540, 540, 385, 540, 383, 380, 540, 541,
1365 541, 541, 378, 539, 546, 546, 546, 547, 547, 547,
1366 548, 548, 548, 375, 373, 541, 550, 550, 550, 546,
1367 371, 369, 547, 368, 363, 548, 554, 554, 554, 555,
1368 555, 555, 550, 556, 556, 556, 357, 556, 355, 354,
1369 556, 554, 345, 340, 555, 557, 557, 557, 339, 557,
1370 337, 333, 557, 560, 560, 560, 562, 562, 562, 563,
1371 563, 563, 326, 563, 324, 323, 563, 321, 560, 320,
1372 315, 562, 566, 566, 566, 314, 566, 313, 311, 566,
1374 569, 569, 569, 575, 575, 575, 576, 576, 576, 310,
1375 576, 309, 308, 576, 307, 306, 569, 305, 575, 577,
1376 577, 577, 578, 578, 578, 302, 578, 301, 300, 578,
1377 579, 579, 579, 298, 577, 580, 580, 580, 294, 580,
1378 292, 289, 580, 288, 287, 579, 582, 582, 582, 585,
1379 585, 585, 586, 586, 586, 286, 587, 587, 587, 285,
1380 587, 284, 582, 587, 585, 283, 279, 586, 588, 588,
1381 588, 276, 588, 275, 274, 588, 591, 591, 591, 582,
1382 592, 592, 592, 273, 592, 270, 266, 592, 594, 594,
1383 594, 591, 595, 595, 595, 265, 595, 264, 263, 595,
1385 600, 600, 600, 594, 600, 262, 261, 600, 603, 603,
1386 603, 260, 603, 257, 256, 603, 606, 606, 606, 255,
1387 606, 254, 253, 606, 612, 612, 612, 613, 613, 613,
1388 252, 613, 251, 250, 613, 249, 614, 614, 614, 612,
1389 614, 248, 246, 614, 617, 617, 617, 245, 617, 244,
1390 243, 617, 621, 621, 621, 242, 621, 238, 236, 621,
1391 643, 643, 643, 235, 643, 234, 233, 643, 665, 665,
1392 665, 681, 681, 681, 682, 682, 682, 683, 683, 683,
1393 232, 231, 230, 665, 665, 229, 228, 681, 227, 682,
1394 682, 226, 683, 683, 684, 684, 684, 225, 684, 222,
1396 221, 684, 698, 698, 698, 699, 699, 699, 218, 217,
1397 684, 216, 700, 700, 700, 215, 700, 214, 698, 700,
1398 699, 699, 701, 701, 701, 213, 701, 209, 700, 701,
1399 698, 208, 736, 736, 736, 753, 753, 753, 701, 702,
1400 702, 702, 702, 702, 702, 702, 702, 702, 736, 736,
1401 702, 753, 207, 702, 702, 702, 702, 702, 747, 747,
1402 747, 204, 747, 203, 202, 747, 742, 742, 742, 201,
1403 200, 702, 702, 703, 703, 703, 703, 703, 703, 703,
1404 703, 703, 742, 199, 703, 198, 197, 703, 703, 703,
1405 703, 703, 718, 718, 718, 196, 718, 195, 194, 718,
1407 750, 750, 750, 742, 750, 703, 703, 750, 718, 721,
1408 721, 721, 721, 721, 721, 721, 721, 721, 193, 192,
1409 721, 191, 190, 721, 721, 721, 721, 721, 189, 188,
1410 185, 184, 183, 182, 181, 175, 174, 743, 743, 743,
1411 172, 721, 721, 722, 722, 722, 722, 722, 722, 722,
1412 722, 722, 743, 169, 722, 168, 163, 722, 722, 722,
1413 722, 722, 746, 746, 746, 754, 754, 754, 162, 754,
1414 161, 160, 754, 159, 155, 722, 722, 746, 771, 771,
1415 771, 754, 772, 772, 772, 149, 145, 137, 136, 135,
1416 134, 133, 129, 121, 771, 117, 106, 105, 772, 775,
1418 775, 775, 775, 775, 775, 775, 776, 776, 776, 776,
1419 776, 776, 776, 777, 777, 777, 777, 777, 777, 777,
1420 778, 778, 778, 778, 778, 778, 778, 779, 779, 779,
1421 779, 779, 779, 779, 780, 780, 780, 780, 780, 780,
1422 780, 781, 781, 781, 781, 781, 781, 781, 782, 782,
1423 782, 782, 782, 782, 782, 783, 783, 783, 783, 783,
1424 783, 783, 784, 784, 784, 784, 784, 784, 784, 785,
1425 785, 785, 785, 785, 785, 785, 786, 786, 786, 786,
1426 786, 786, 786, 787, 787, 787, 787, 787, 787, 787,
1427 788, 788, 788, 788, 788, 788, 788, 789, 789, 789,
1429 104, 789, 790, 790, 790, 103, 790, 791, 791, 791,
1430 102, 791, 792, 792, 792, 97, 792, 793, 793, 793,
1431 93, 793, 794, 794, 794, 794, 794, 92, 794, 795,
1432 91, 795, 796, 85, 796, 797, 84, 797, 798, 82,
1433 798, 799, 79, 799, 800, 800, 800, 800, 800, 800,
1434 800, 801, 67, 0, 801, 802, 802, 802, 802, 802,
1435 802, 803, 803, 803, 803, 803, 803, 804, 804, 804,
1436 804, 804, 804, 805, 805, 805, 805, 805, 805, 806,
1437 806, 806, 806, 806, 806, 807, 807, 807, 807, 807,
1438 807, 807, 808, 808, 808, 808, 808, 808, 808, 809,
1440 809, 809, 809, 809, 809, 809, 810, 810, 810, 810,
1441 810, 810, 810, 811, 811, 811, 811, 811, 811, 811,
1442 812, 812, 812, 812, 812, 812, 812, 813, 813, 813,
1443 813, 813, 813, 813, 774, 774, 774, 774, 774, 774,
1444 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
1445 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
1446 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
1447 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
1448 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
1453 /* Table of booleans, true if rule could match eol. */
1454 static const flex_int32_t yy_rule_can_match_eol[141] =
1456 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
1457 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
1458 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1,
1459 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1,
1460 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1461 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0,
1462 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1,
1465 static yy_state_type yy_last_accepting_state;
1466 static char *yy_last_accepting_cpos;
1468 extern int yy_flex_debug;
1469 int yy_flex_debug = 0;
1471 /* The intent behind this definition is that it'll catch
1472 * any uses of REJECT which flex missed.
1474 #define REJECT reject_used_but_not_detected
1475 #define yymore() yymore_used_but_not_detected
1476 #define YY_MORE_ADJ 0
1477 #define YY_RESTORE_YY_MORE_OFFSET
1479 /* Validating XML processor for src/dag/dax.dtd.
1481 * This program was generated with the FleXML XML processor generator.
1482 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
1483 * FleXML is Copyright (C) 2003-2013 Martin Quinson. All rights reserved.
1486 * There are two, intertwined parts to this program, part A and part B.
1491 * Some parts, here collectively called "Part A", are found in the
1492 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
1493 * and Copyright (C) 2003-2013 Martin Quinson. All rights reserved.
1495 * You can redistribute, use, perform, display and/or modify "Part A"
1496 * provided the following two conditions hold:
1498 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
1499 * FleXML; without even the implied warranty of MERCHANTABILITY or
1500 * FITNESS FOR A PARTICULAR PURPOSE.
1502 * 2. The program distribution conditions do not in any way affect the
1503 * distribution conditions of the FleXML system used to generate this
1504 * file or any version of FleXML derived from that system.
1506 * Notice that these are explicit rights granted to you for files
1507 * generated by the FleXML system. For your rights in connection with
1508 * the FleXML system itself please consult the GNU General Public License.
1513 * The other parts, here collectively called "Part B", and which came
1514 * from the DTD used by FleXML to generate this program, can be
1515 * distributed (or not, as the case may be) under the terms of whoever
1516 * wrote them, provided these terms respect and obey the two conditions
1517 * above under the heading "Part A".
1519 * The author of and contributors to FleXML specifically disclaim
1520 * any copyright interest in "Part B", unless "Part B" was written
1521 * by the author of or contributors to FleXML.
1525 /* Version strings. */
1526 const char dax__flexml_version[] = "1.9.6";
1529 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
1536 #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
1537 # ifndef __STRICT_ANSI__
1539 # include <process.h>
1542 # include <unistd.h>
1545 #ifndef FLEXML_INDEXSTACKSIZE
1546 #define FLEXML_INDEXSTACKSIZE 1000
1549 /* Generated definitions. */
1550 #define FLEXML_yylineno
1551 #ifndef FLEXML_BUFFERSTACKSIZE
1552 #define FLEXML_BUFFERSTACKSIZE 1000000
1554 #define FLEXML_NEED_BUFFERLIT
1556 /* XML processor api. */
1557 /* FleXML-provided data. */
1559 extern char *dax__bufferstack;
1560 #define dax__pcdata (dax__bufferstack + dax__pcdata_ix)
1561 AT_dax__adag_childCount AX_dax__adag_childCount;
1562 #define A_dax__adag_childCount (dax__bufferstack + AX_dax__adag_childCount)
1563 short int dax__adag_childCount_isset;
1564 AT_dax__adag_count AX_dax__adag_count;
1565 #define A_dax__adag_count (dax__bufferstack + AX_dax__adag_count)
1566 short int dax__adag_count_isset;
1567 AT_dax__adag_fileCount AX_dax__adag_fileCount;
1568 #define A_dax__adag_fileCount (dax__bufferstack + AX_dax__adag_fileCount)
1569 short int dax__adag_fileCount_isset;
1570 AT_dax__adag_index AX_dax__adag_index;
1571 #define A_dax__adag_index (dax__bufferstack + AX_dax__adag_index)
1572 short int dax__adag_index_isset;
1573 AT_dax__adag_jobCount AX_dax__adag_jobCount;
1574 #define A_dax__adag_jobCount (dax__bufferstack + AX_dax__adag_jobCount)
1575 short int dax__adag_jobCount_isset;
1576 AT_dax__adag_name AX_dax__adag_name;
1577 #define A_dax__adag_name (dax__bufferstack + AX_dax__adag_name)
1578 short int dax__adag_name_isset;
1579 AT_dax__adag_version AX_dax__adag_version;
1580 #define A_dax__adag_version (dax__bufferstack + AX_dax__adag_version)
1581 short int dax__adag_version_isset;
1582 AT_dax__adag_xmlns AX_dax__adag_xmlns;
1583 #define A_dax__adag_xmlns (dax__bufferstack + AX_dax__adag_xmlns)
1584 short int dax__adag_xmlns_isset;
1585 AT_dax__adag_xmlns_c_xsi AX_dax__adag_xmlns_c_xsi;
1586 #define A_dax__adag_xmlns_c_xsi (dax__bufferstack + AX_dax__adag_xmlns_c_xsi)
1587 short int dax__adag_xmlns_c_xsi_isset;
1588 AT_dax__adag_xsi_c_schemaLocation AX_dax__adag_xsi_c_schemaLocation;
1589 #define A_dax__adag_xsi_c_schemaLocation (dax__bufferstack + AX_dax__adag_xsi_c_schemaLocation)
1590 short int dax__adag_xsi_c_schemaLocation_isset;
1591 AT_dax__child_ref AX_dax__child_ref;
1592 #define A_dax__child_ref (dax__bufferstack + AX_dax__child_ref)
1593 short int dax__child_ref_isset;
1594 AT_dax__job_id AX_dax__job_id;
1595 #define A_dax__job_id (dax__bufferstack + AX_dax__job_id)
1596 short int dax__job_id_isset;
1597 AT_dax__job_level AX_dax__job_level;
1598 #define A_dax__job_level (dax__bufferstack + AX_dax__job_level)
1599 short int dax__job_level_isset;
1600 AT_dax__job_name AX_dax__job_name;
1601 #define A_dax__job_name (dax__bufferstack + AX_dax__job_name)
1602 short int dax__job_name_isset;
1603 AT_dax__job_namespace AX_dax__job_namespace;
1604 #define A_dax__job_namespace (dax__bufferstack + AX_dax__job_namespace)
1605 short int dax__job_namespace_isset;
1606 AT_dax__job_runtime AX_dax__job_runtime;
1607 #define A_dax__job_runtime (dax__bufferstack + AX_dax__job_runtime)
1608 short int dax__job_runtime_isset;
1609 AT_dax__job_version AX_dax__job_version;
1610 #define A_dax__job_version (dax__bufferstack + AX_dax__job_version)
1611 short int dax__job_version_isset;
1612 AT_dax__parent_ref AX_dax__parent_ref;
1613 #define A_dax__parent_ref (dax__bufferstack + AX_dax__parent_ref)
1614 short int dax__parent_ref_isset;
1615 AT_dax__uses_file AX_dax__uses_file;
1616 #define A_dax__uses_file (dax__bufferstack + AX_dax__uses_file)
1617 short int dax__uses_file_isset;
1618 AT_dax__uses_link AX_dax__uses_link;
1619 #define A_dax__uses_link AX_dax__uses_link
1620 short int dax__uses_link_isset;
1621 AT_dax__uses_optional AX_dax__uses_optional;
1622 #define A_dax__uses_optional AX_dax__uses_optional
1623 short int dax__uses_optional_isset;
1624 AT_dax__uses_register AX_dax__uses_register;
1625 #define A_dax__uses_register AX_dax__uses_register
1626 short int dax__uses_register_isset;
1627 AT_dax__uses_size AX_dax__uses_size;
1628 #define A_dax__uses_size (dax__bufferstack + AX_dax__uses_size)
1629 short int dax__uses_size_isset;
1630 AT_dax__uses_transfer AX_dax__uses_transfer;
1631 #define A_dax__uses_transfer AX_dax__uses_transfer
1632 short int dax__uses_transfer_isset;
1633 AT_dax__uses_type AX_dax__uses_type;
1634 #define A_dax__uses_type (dax__bufferstack + AX_dax__uses_type)
1635 short int dax__uses_type_isset;
1639 # define ENTER(state) debug_enter(state,#state)
1640 # define LEAVE debug_leave()
1641 # define SET(state) debug_set(state,#state)
1642 static void debug_enter(int, const char*);
1643 static void debug_leave(void);
1644 static void debug_set(int, const char*);
1646 # define ENTER(state) (yy_push_state(state))
1647 # define LEAVE (yy_pop_state())
1648 # define SET(state) BEGIN(state)
1651 /* Generic actions. */
1652 #define SKIP /*skip*/
1653 #define SUCCEED CLEANUP; return 0
1655 #define FAIL return fail
1656 static int fail(const char*, ...);
1658 enum {flexml_max_err_msg_size = 512};
1659 static char flexml_err_msg[flexml_max_err_msg_size];
1660 const char * dax__parse_err_msg()
1662 return flexml_err_msg;
1664 static void reset_dax__parse_err_msg()
1666 flexml_err_msg[0] = '\0';
1670 static void cleanup(void);
1671 #define CLEANUP cleanup()
1673 /* Text buffer stack handling. */
1674 char *dax__bufferstack = NULL;
1675 static int blimit = FLEXML_BUFFERSTACKSIZE;
1676 static int bnext = 1;
1678 static int *indexstack = NULL;
1679 static int ilimit = FLEXML_INDEXSTACKSIZE;
1680 static int inext = 1;
1682 #define BUFFERSET(P) (P = bnext)
1683 #define BUFFERPUTC(C) (ck_blimit(), dax__bufferstack[bnext++] = (C))
1684 #define BUFFERDONE (BUFFERPUTC('\0'))
1686 #define BUFFERLITERAL(C, P) dax__bufferliteral(C, &(P), yytext)
1688 /* after this is called, there are at least 2 slots left in the stack */
1689 static int ck_blimit()
1691 if (bnext >= blimit) {
1692 blimit += FLEXML_BUFFERSTACKSIZE + 2;
1694 char *temp = (char *) realloc(dax__bufferstack, blimit);
1696 dax__bufferstack = temp;
1702 /* after this is called, there are at least 2 slots left in the stack */
1703 static int ck_ilimit()
1705 if (inext >= ilimit) {
1706 ilimit += FLEXML_INDEXSTACKSIZE + 2;
1708 int *temp = (int *) realloc(indexstack, ilimit);
1716 #ifdef FLEXML_NEED_BUFFERLIT
1717 static void dax__bufferliteral(char c, int* pp, const char* text)
1721 const char *s = strchr(text, c), *e = strrchr(text, c);
1722 assert(s && e && s <= e);
1727 do ++s; while (s < e && isspace(*s));
1732 const char *s = text;
1740 static void pushbuffer(int p)
1743 indexstack[inext++] = p;
1744 indexstack[inext++] = bnext;
1747 static int popbuffer(void)
1750 bnext = indexstack[--inext];
1751 return indexstack[--inext];
1754 /* General internal entities are `unput' back onto the input stream... */
1755 #define ENTITYTEXT(T) \
1756 { char *s = (T), *e = s+strlen(s);\
1757 while (--e >= s) { unput(*e); }}
1759 /* Flex standard options. */
1760 #define YY_NO_INPUT 1
1761 /* Flex user-requested options. */
1762 /* XML character classes (currently restricted to ASCII). */
1763 /* "Common syntactic structures." */
1764 /* "Names and Tokens." */
1765 /* Miscellaneous. */
1766 /* Parser states (flex `exclusive start conditions'):
1768 * PROLOG the XML prolog of the document before <?xml...>
1769 * DOCTYPE the XML prolog of the document after <?xml...>
1770 * EPILOG after the root element
1771 * INCOMMENT inside an XML comment <!--....-->
1772 * INPI inside an XML PI <?...?>
1773 * VALUE1 inside a '...'-delimited literal
1774 * VALUE2 inside a "..."-delimited literal
1775 * CDATA inside a <![CDATA[...] ]> section.
1776 * ROOT_<tag> expect root element <tag>
1777 * AL_<tag> inside the attribute list for <tag>
1778 * IN_<tag> inside a <tag> with element contents (ready for end tag)
1779 * IMPOSSIBLE dummy to permit disabling rules; must be last
1783 const char* *dax__statenames=NULL;
1794 #define ROOT_dax__adag 9
1795 #define AL_dax__adag 10
1796 #define S_dax__adag 11
1797 #define S_dax__adag_1 12
1798 #define S_dax__adag_2 13
1799 #define S_dax__adag_3 14
1800 #define S_dax__adag_4 15
1801 #define S_dax__adag_5 16
1802 #define E_dax__adag 17
1803 #define AL_dax__child 18
1804 #define S_dax__child 19
1805 #define S_dax__child_1 20
1806 #define S_dax__child_2 21
1807 #define E_dax__child 22
1808 #define AL_dax__job 23
1809 #define S_dax__job 24
1810 #define S_dax__job_1 25
1811 #define S_dax__job_2 26
1812 #define E_dax__job 27
1813 #define AL_dax__parent 28
1814 #define E_dax__parent 29
1815 #define AL_dax__uses 30
1816 #define E_dax__uses 31
1817 #define IMPOSSIBLE 32
1819 #ifndef YY_NO_UNISTD_H
1820 /* Special case for "unistd.h", since it is non-ANSI. We include it way
1821 * down here because we want the user's section 1 to have been scanned first.
1822 * The user has a chance to override it with an option.
1827 #ifndef YY_EXTRA_TYPE
1828 #define YY_EXTRA_TYPE void *
1831 static int yy_init_globals ( void );
1833 /* Accessor methods to globals.
1834 These are made visible to non-reentrant scanners for convenience. */
1836 int yylex_destroy ( void );
1838 int yyget_debug ( void );
1840 void yyset_debug ( int debug_flag );
1842 YY_EXTRA_TYPE yyget_extra ( void );
1844 void yyset_extra ( YY_EXTRA_TYPE user_defined );
1846 FILE *yyget_in ( void );
1848 void yyset_in ( FILE * _in_str );
1850 FILE *yyget_out ( void );
1852 void yyset_out ( FILE * _out_str );
1854 int yyget_leng ( void );
1856 char *yyget_text ( void );
1858 int yyget_lineno ( void );
1860 void yyset_lineno ( int _line_number );
1862 /* Macros after this point can all be overridden by user definitions in
1866 #ifndef YY_SKIP_YYWRAP
1868 extern "C" int yywrap ( void );
1870 extern int yywrap ( void );
1879 static void yy_flex_strncpy ( char *, const char *, int );
1882 #ifdef YY_NEED_STRLEN
1883 static int yy_flex_strlen ( const char * );
1888 static int yyinput ( void );
1890 static int input ( void );
1895 static int yy_start_stack_ptr = 0;
1896 static int yy_start_stack_depth = 0;
1897 static int *yy_start_stack = NULL;
1899 static void yy_push_state ( int _new_state );
1901 static void yy_pop_state ( void );
1903 /* Amount of stuff to slurp up with each read. */
1904 #ifndef YY_READ_BUF_SIZE
1906 /* On IA-64, the buffer size is 16k, not 8k */
1907 #define YY_READ_BUF_SIZE 16384
1909 #define YY_READ_BUF_SIZE 8192
1910 #endif /* __ia64__ */
1913 /* Copy whatever the last rule matched to the standard output. */
1915 /* This used to be an fputs(), but since the string might contain NUL's,
1916 * we now use fwrite().
1918 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
1921 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1922 * is returned in "result".
1925 #define YY_INPUT(buf,result,max_size) \
1926 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1930 for ( n = 0; n < max_size && \
1931 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1932 buf[n] = (char) c; \
1934 buf[n++] = (char) c; \
1935 if ( c == EOF && ferror( yyin ) ) \
1936 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1942 while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
1944 if( errno != EINTR) \
1946 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1957 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1958 * we don't want an extra ';' after the "return" because that will cause
1959 * some compilers to complain about unreachable statements.
1962 #define yyterminate() return YY_NULL
1965 /* Number of entries by which start-condition stack grows. */
1966 #ifndef YY_START_STACK_INCR
1967 #define YY_START_STACK_INCR 25
1970 /* Report a fatal error. */
1971 #ifndef YY_FATAL_ERROR
1972 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1975 /* end tables serialization structures and prototypes */
1977 /* Default declaration of generated scanner - a define so the user can
1978 * easily add parameters.
1981 #define YY_DECL_IS_OURS 1
1983 extern int yylex (void);
1985 #define YY_DECL int yylex (void)
1986 #endif /* !YY_DECL */
1988 /* Code executed at the beginning of each rule, after yytext and yyleng
1991 #ifndef YY_USER_ACTION
1992 #define YY_USER_ACTION
1995 /* Code executed at the end of each rule. */
1997 #define YY_BREAK /*LINTED*/break;
2000 #define YY_RULE_SETUP \
2003 /** The main scanner function which does all the work.
2007 yy_state_type yy_current_state;
2008 char *yy_cp, *yy_bp;
2020 (yy_start) = 1; /* first start state */
2028 if ( ! YY_CURRENT_BUFFER ) {
2029 yyensure_buffer_stack ();
2030 YY_CURRENT_BUFFER_LVALUE =
2031 yy_create_buffer( yyin, YY_BUF_SIZE );
2034 yy_load_buffer_state( );
2039 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
2041 reset_dax__parse_err_msg();
2042 dax__bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
2043 assert(dax__bufferstack);
2047 for (i = 0; i < blimit; i++) {
2048 dax__bufferstack[i] = '\377';
2052 dax__bufferstack[0] = '\0';
2053 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
2059 dax__bufferliteral('\0', &bnext, "http://pegasus.isi.edu/schema/DAX");
2060 dax__bufferliteral('\0', &bnext, "http://www.w3.org/2001/XMLSchema-instance");
2061 dax__bufferliteral('\0', &bnext, "http://pegasus.isi.edu/schema/DAX http://pegasus.isi.edu/schema/dax-2.1.xsd");
2062 dax__bufferliteral('\0', &bnext, "1.0");
2063 dax__bufferliteral('\0', &bnext, "0.0");
2064 dax__bufferliteral('\0', &bnext, "data");
2065 if(!dax__statenames) {dax__statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
2066 dax__statenames[PROLOG] = NULL;
2067 dax__statenames[DOCTYPE] = NULL;
2068 dax__statenames[EPILOG] = NULL;
2069 dax__statenames[INCOMMENT] = NULL;
2070 dax__statenames[INPI] = NULL;
2071 dax__statenames[VALUE1] = NULL;
2072 dax__statenames[VALUE2] = NULL;
2073 dax__statenames[CDATA] = NULL;
2074 dax__statenames[ROOT_dax__adag] = NULL;
2075 dax__statenames[AL_dax__adag] = NULL;
2076 dax__statenames[S_dax__adag] = "adag";
2077 dax__statenames[S_dax__adag_1] = "adag";
2078 dax__statenames[S_dax__adag_2] = "adag";
2079 dax__statenames[S_dax__adag_3] = "adag";
2080 dax__statenames[S_dax__adag_4] = "adag";
2081 dax__statenames[S_dax__adag_5] = "adag";
2082 dax__statenames[E_dax__adag] = "adag";
2083 dax__statenames[AL_dax__child] = NULL;
2084 dax__statenames[S_dax__child] = "child";
2085 dax__statenames[S_dax__child_1] = "child";
2086 dax__statenames[S_dax__child_2] = "child";
2087 dax__statenames[E_dax__child] = "child";
2088 dax__statenames[AL_dax__job] = NULL;
2089 dax__statenames[S_dax__job] = "job";
2090 dax__statenames[S_dax__job_1] = "job";
2091 dax__statenames[S_dax__job_2] = "job";
2092 dax__statenames[E_dax__job] = "job";
2093 dax__statenames[AL_dax__parent] = NULL;
2094 dax__statenames[E_dax__parent] = "parent";
2095 dax__statenames[AL_dax__uses] = NULL;
2096 dax__statenames[E_dax__uses] = "uses";
2099 /* COMMENTS and PIs: handled uniformly for efficiency. */
2101 while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
2103 yy_cp = (yy_c_buf_p);
2105 /* Support of yytext. */
2106 *yy_cp = (yy_hold_char);
2108 /* yy_bp points to the position in yy_ch_buf of the start of
2113 yy_current_state = (yy_start);
2117 YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
2118 if ( yy_accept[yy_current_state] )
2120 (yy_last_accepting_state) = yy_current_state;
2121 (yy_last_accepting_cpos) = yy_cp;
2123 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2125 yy_current_state = (int) yy_def[yy_current_state];
2126 if ( yy_current_state >= 775 )
2127 yy_c = yy_meta[yy_c];
2129 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2132 while ( yy_base[yy_current_state] != 2135 );
2135 yy_act = yy_accept[yy_current_state];
2137 { /* have to back up */
2138 yy_cp = (yy_last_accepting_cpos);
2139 yy_current_state = (yy_last_accepting_state);
2140 yy_act = yy_accept[yy_current_state];
2143 YY_DO_BEFORE_ACTION;
2145 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
2148 for ( yyl = 0; yyl < yyleng; ++yyl )
2149 if ( yytext[yyl] == '\n' )
2155 do_action: /* This label is used only to access EOF actions. */
2158 { /* beginning of action switch */
2159 case 0: /* must back up */
2160 /* undo the effects of YY_DO_BEFORE_ACTION */
2161 *yy_cp = (yy_hold_char);
2162 yy_cp = (yy_last_accepting_cpos);
2163 yy_current_state = (yy_last_accepting_state);
2164 goto yy_find_action;
2182 /* rule 6 can match eol */
2186 case YY_STATE_EOF(INCOMMENT):
2187 FAIL("EOF in comment.");
2196 /* rule 9 can match eol */
2200 case YY_STATE_EOF(INPI):
2201 FAIL("EOF in PI (processing instruction).");
2204 /* SPACES: skipped uniformly */
2206 /* rule 10 can match eol */
2210 /* PROLOG: determine root element and process it. */
2213 /* rule 11 can match eol */
2215 SET(ROOT_dax__adag);
2218 /* rule 12 can match eol */
2220 FAIL("Bad declaration %s.",yytext);
2224 /* rule 13 can match eol */
2226 SET(ROOT_dax__adag);
2229 /* rule 14 can match eol */
2231 FAIL("Bad declaration %s.",yytext);
2235 FAIL("Unexpected character `%c' in prolog.", yytext[0]);
2237 case YY_STATE_EOF(PROLOG):
2238 case YY_STATE_EOF(DOCTYPE):
2239 FAIL("EOF in prolog.");
2242 /* RULES DERIVED FROM DTD. */
2243 /* <!-- Small DTD for DAX files. --> */
2245 /* rule 16 can match eol */
2247 FAIL("Starting tag <adag> is not allowed here.");
2250 /* rule 17 can match eol */
2253 AX_dax__adag_childCount = 0;
2254 dax__adag_childCount_isset = 0;
2255 AX_dax__adag_count = 0;
2256 dax__adag_count_isset = 0;
2257 AX_dax__adag_fileCount = 0;
2258 dax__adag_fileCount_isset = 0;
2259 AX_dax__adag_index = 0;
2260 dax__adag_index_isset = 0;
2261 AX_dax__adag_jobCount = 0;
2262 dax__adag_jobCount_isset = 0;
2263 AX_dax__adag_name = 0;
2264 dax__adag_name_isset = 0;
2265 AX_dax__adag_version = 153;
2266 dax__adag_version_isset = 0;
2267 AX_dax__adag_xmlns = 1;
2268 dax__adag_xmlns_isset = 0;
2269 AX_dax__adag_xmlns_c_xsi = 35;
2270 dax__adag_xmlns_c_xsi_isset = 0;
2271 AX_dax__adag_xsi_c_schemaLocation = 77;
2272 dax__adag_xsi_c_schemaLocation_isset = 0;
2273 ENTER(AL_dax__adag); pushbuffer(0);
2278 /* rule 18 can match eol */
2280 if (dax__adag_childCount_isset != 0) {FAIL("Multiple definition of attribute childCount in <dax__adag>");} dax__adag_childCount_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__adag_childCount);
2283 /* rule 19 can match eol */
2285 if (dax__adag_childCount_isset != 0) {FAIL("Multiple definition of attribute childCount in <dax__adag>");} dax__adag_childCount_isset = 1; ENTER(VALUE2); BUFFERSET(AX_dax__adag_childCount);
2288 /* rule 20 can match eol */
2290 if (dax__adag_count_isset != 0) {FAIL("Multiple definition of attribute count in <dax__adag>");} dax__adag_count_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__adag_count);
2293 /* rule 21 can match eol */
2295 if (dax__adag_count_isset != 0) {FAIL("Multiple definition of attribute count in <dax__adag>");} dax__adag_count_isset = 1; ENTER(VALUE2); BUFFERSET(AX_dax__adag_count);
2298 /* rule 22 can match eol */
2300 if (dax__adag_fileCount_isset != 0) {FAIL("Multiple definition of attribute fileCount in <dax__adag>");} dax__adag_fileCount_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__adag_fileCount);
2303 /* rule 23 can match eol */
2305 if (dax__adag_fileCount_isset != 0) {FAIL("Multiple definition of attribute fileCount in <dax__adag>");} dax__adag_fileCount_isset = 1; ENTER(VALUE2); BUFFERSET(AX_dax__adag_fileCount);
2308 /* rule 24 can match eol */
2310 if (dax__adag_index_isset != 0) {FAIL("Multiple definition of attribute index in <dax__adag>");} dax__adag_index_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__adag_index);
2313 /* rule 25 can match eol */
2315 if (dax__adag_index_isset != 0) {FAIL("Multiple definition of attribute index in <dax__adag>");} dax__adag_index_isset = 1; ENTER(VALUE2); BUFFERSET(AX_dax__adag_index);
2318 /* rule 26 can match eol */
2320 if (dax__adag_jobCount_isset != 0) {FAIL("Multiple definition of attribute jobCount in <dax__adag>");} dax__adag_jobCount_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__adag_jobCount);
2323 /* rule 27 can match eol */
2325 if (dax__adag_jobCount_isset != 0) {FAIL("Multiple definition of attribute jobCount in <dax__adag>");} dax__adag_jobCount_isset = 1; ENTER(VALUE2); BUFFERSET(AX_dax__adag_jobCount);
2328 /* rule 28 can match eol */
2330 if (dax__adag_name_isset != 0) {FAIL("Multiple definition of attribute name in <dax__adag>");} dax__adag_name_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__adag_name);
2333 /* rule 29 can match eol */
2335 if (dax__adag_name_isset != 0) {FAIL("Multiple definition of attribute name in <dax__adag>");} dax__adag_name_isset = 1; ENTER(VALUE2); BUFFERSET(AX_dax__adag_name);
2338 /* rule 30 can match eol */
2340 if (dax__adag_version_isset != 0) {FAIL("Multiple definition of attribute version in <dax__adag>");} dax__adag_version_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__adag_version);
2343 /* rule 31 can match eol */
2345 if (dax__adag_version_isset != 0) {FAIL("Multiple definition of attribute version in <dax__adag>");} dax__adag_version_isset = 1; ENTER(VALUE2); BUFFERSET(AX_dax__adag_version);
2348 /* rule 32 can match eol */
2350 if (dax__adag_xmlns_isset != 0) {FAIL("Multiple definition of attribute xmlns in <dax__adag>");} dax__adag_xmlns_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__adag_xmlns);
2353 /* rule 33 can match eol */
2355 if (dax__adag_xmlns_isset != 0) {FAIL("Multiple definition of attribute xmlns in <dax__adag>");} dax__adag_xmlns_isset = 1; ENTER(VALUE2); BUFFERSET(AX_dax__adag_xmlns);
2358 /* rule 34 can match eol */
2360 if (dax__adag_xmlns_c_xsi_isset != 0) {FAIL("Multiple definition of attribute xmlns:xsi in <dax__adag>");} dax__adag_xmlns_c_xsi_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__adag_xmlns_c_xsi);
2363 /* rule 35 can match eol */
2365 if (dax__adag_xmlns_c_xsi_isset != 0) {FAIL("Multiple definition of attribute xmlns:xsi in <dax__adag>");} dax__adag_xmlns_c_xsi_isset = 1; ENTER(VALUE2); BUFFERSET(AX_dax__adag_xmlns_c_xsi);
2368 /* rule 36 can match eol */
2370 if (dax__adag_xsi_c_schemaLocation_isset != 0) {FAIL("Multiple definition of attribute xsi:schemaLocation in <dax__adag>");} dax__adag_xsi_c_schemaLocation_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__adag_xsi_c_schemaLocation);
2373 /* rule 37 can match eol */
2375 if (dax__adag_xsi_c_schemaLocation_isset != 0) {FAIL("Multiple definition of attribute xsi:schemaLocation in <dax__adag>");} dax__adag_xsi_c_schemaLocation_isset = 1; ENTER(VALUE2); BUFFERSET(AX_dax__adag_xsi_c_schemaLocation);
2380 LEAVE; STag_dax__adag();dax__pcdata_ix = 0; ENTER(S_dax__adag);
2386 LEAVE; STag_dax__adag(); dax__pcdata_ix = 0; ETag_dax__adag(); popbuffer(); /* attribute */
2388 case ROOT_dax__adag: SET(EPILOG); break;
2394 FAIL("Unexpected character `%c' in attribute list of adag element.", yytext[0]);
2398 FAIL("Bad attribute `%s' in `adag' element start tag.",yytext);
2400 case YY_STATE_EOF(AL_dax__adag):
2401 FAIL("EOF in attribute list of `adag' element.");
2405 /* rule 42 can match eol */
2410 popbuffer(); /* attribute */
2412 case ROOT_dax__adag: SET(EPILOG); break;
2417 /* rule 43 can match eol */
2419 FAIL("Unexpected end-tag `%s': `</adag>' expected.",yytext);
2423 FAIL("Unexpected character `%c': `</adag>' expected.",yytext[0]);
2425 case YY_STATE_EOF(E_dax__adag):
2426 case YY_STATE_EOF(S_dax__adag):
2427 case YY_STATE_EOF(S_dax__adag_1):
2428 case YY_STATE_EOF(S_dax__adag_3):
2429 case YY_STATE_EOF(S_dax__adag_5):
2430 FAIL("Premature EOF: `</adag>' expected.");
2434 /* rule 45 can match eol */
2436 FAIL("Starting tag <child> is not allowed here.");
2439 /* rule 46 can match eol */
2442 AX_dax__child_ref = 0;
2443 dax__child_ref_isset = 0;
2444 ENTER(AL_dax__child); pushbuffer(0);
2449 /* rule 47 can match eol */
2451 if (dax__child_ref_isset != 0) {FAIL("Multiple definition of attribute ref in <dax__child>");} dax__child_ref_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__child_ref);
2454 /* rule 48 can match eol */
2456 if (dax__child_ref_isset != 0) {FAIL("Multiple definition of attribute ref in <dax__child>");} dax__child_ref_isset = 1; ENTER(VALUE2); BUFFERSET(AX_dax__child_ref);
2461 if (!AX_dax__child_ref) FAIL("Required attribute `ref' not set for `child' element.");
2462 LEAVE; STag_dax__child();dax__pcdata_ix = 0; ENTER(S_dax__child);
2468 if (!AX_dax__child_ref) FAIL("Required attribute `ref' not set for `child' element.");
2469 LEAVE; STag_dax__child(); dax__pcdata_ix = 0; ETag_dax__child(); popbuffer(); /* attribute */
2471 case S_dax__adag: case S_dax__adag_1: case S_dax__adag_3: case S_dax__adag_4: case S_dax__adag_5: SET(S_dax__adag_5); break;
2477 FAIL("Unexpected character `%c' in attribute list of child element.", yytext[0]);
2481 FAIL("Bad attribute `%s' in `child' element start tag.",yytext);
2483 case YY_STATE_EOF(AL_dax__child):
2484 FAIL("EOF in attribute list of `child' element.");
2488 /* rule 53 can match eol */
2493 popbuffer(); /* attribute */
2495 case S_dax__adag: case S_dax__adag_1: case S_dax__adag_3: case S_dax__adag_4: case S_dax__adag_5: SET(S_dax__adag_5); break;
2500 /* rule 54 can match eol */
2502 FAIL("Unexpected end-tag `%s': `</child>' expected.",yytext);
2506 FAIL("Unexpected character `%c': `</child>' expected.",yytext[0]);
2508 case YY_STATE_EOF(E_dax__child):
2509 case YY_STATE_EOF(S_dax__child):
2510 case YY_STATE_EOF(S_dax__child_2):
2511 FAIL("Premature EOF: `</child>' expected.");
2515 /* rule 56 can match eol */
2517 FAIL("Starting tag <job> is not allowed here.");
2520 /* rule 57 can match eol */
2524 dax__job_id_isset = 0;
2525 AX_dax__job_level = 0;
2526 dax__job_level_isset = 0;
2527 AX_dax__job_name = 0;
2528 dax__job_name_isset = 0;
2529 AX_dax__job_namespace = 0;
2530 dax__job_namespace_isset = 0;
2531 AX_dax__job_runtime = 0;
2532 dax__job_runtime_isset = 0;
2533 AX_dax__job_version = 157;
2534 dax__job_version_isset = 0;
2535 ENTER(AL_dax__job); pushbuffer(0);
2540 /* rule 58 can match eol */
2542 if (dax__job_id_isset != 0) {FAIL("Multiple definition of attribute id in <dax__job>");} dax__job_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__job_id);
2545 /* rule 59 can match eol */
2547 if (dax__job_id_isset != 0) {FAIL("Multiple definition of attribute id in <dax__job>");} dax__job_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_dax__job_id);
2550 /* rule 60 can match eol */
2552 if (dax__job_level_isset != 0) {FAIL("Multiple definition of attribute level in <dax__job>");} dax__job_level_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__job_level);
2555 /* rule 61 can match eol */
2557 if (dax__job_level_isset != 0) {FAIL("Multiple definition of attribute level in <dax__job>");} dax__job_level_isset = 1; ENTER(VALUE2); BUFFERSET(AX_dax__job_level);
2560 /* rule 62 can match eol */
2562 if (dax__job_name_isset != 0) {FAIL("Multiple definition of attribute name in <dax__job>");} dax__job_name_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__job_name);
2565 /* rule 63 can match eol */
2567 if (dax__job_name_isset != 0) {FAIL("Multiple definition of attribute name in <dax__job>");} dax__job_name_isset = 1; ENTER(VALUE2); BUFFERSET(AX_dax__job_name);
2570 /* rule 64 can match eol */
2572 if (dax__job_namespace_isset != 0) {FAIL("Multiple definition of attribute namespace in <dax__job>");} dax__job_namespace_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__job_namespace);
2575 /* rule 65 can match eol */
2577 if (dax__job_namespace_isset != 0) {FAIL("Multiple definition of attribute namespace in <dax__job>");} dax__job_namespace_isset = 1; ENTER(VALUE2); BUFFERSET(AX_dax__job_namespace);
2580 /* rule 66 can match eol */
2582 if (dax__job_runtime_isset != 0) {FAIL("Multiple definition of attribute runtime in <dax__job>");} dax__job_runtime_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__job_runtime);
2585 /* rule 67 can match eol */
2587 if (dax__job_runtime_isset != 0) {FAIL("Multiple definition of attribute runtime in <dax__job>");} dax__job_runtime_isset = 1; ENTER(VALUE2); BUFFERSET(AX_dax__job_runtime);
2590 /* rule 68 can match eol */
2592 if (dax__job_version_isset != 0) {FAIL("Multiple definition of attribute version in <dax__job>");} dax__job_version_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__job_version);
2595 /* rule 69 can match eol */
2597 if (dax__job_version_isset != 0) {FAIL("Multiple definition of attribute version in <dax__job>");} dax__job_version_isset = 1; ENTER(VALUE2); BUFFERSET(AX_dax__job_version);
2602 if (!AX_dax__job_id) FAIL("Required attribute `id' not set for `job' element.");
2603 if (!AX_dax__job_name) FAIL("Required attribute `name' not set for `job' element.");
2604 if (!AX_dax__job_runtime) FAIL("Required attribute `runtime' not set for `job' element.");
2605 LEAVE; STag_dax__job();dax__pcdata_ix = 0; ENTER(S_dax__job);
2611 if (!AX_dax__job_id) FAIL("Required attribute `id' not set for `job' element.");
2612 if (!AX_dax__job_name) FAIL("Required attribute `name' not set for `job' element.");
2613 if (!AX_dax__job_runtime) FAIL("Required attribute `runtime' not set for `job' element.");
2614 LEAVE; STag_dax__job(); dax__pcdata_ix = 0; ETag_dax__job(); popbuffer(); /* attribute */
2616 case S_dax__adag: case S_dax__adag_2: case S_dax__adag_3: SET(S_dax__adag_3); break;
2622 FAIL("Unexpected character `%c' in attribute list of job element.", yytext[0]);
2626 FAIL("Bad attribute `%s' in `job' element start tag.",yytext);
2628 case YY_STATE_EOF(AL_dax__job):
2629 FAIL("EOF in attribute list of `job' element.");
2633 /* rule 74 can match eol */
2638 popbuffer(); /* attribute */
2640 case S_dax__adag: case S_dax__adag_2: case S_dax__adag_3: SET(S_dax__adag_3); break;
2645 /* rule 75 can match eol */
2647 FAIL("Unexpected end-tag `%s': `</job>' expected.",yytext);
2651 FAIL("Unexpected character `%c': `</job>' expected.",yytext[0]);
2653 case YY_STATE_EOF(E_dax__job):
2654 case YY_STATE_EOF(S_dax__job):
2655 case YY_STATE_EOF(S_dax__job_2):
2656 FAIL("Premature EOF: `</job>' expected.");
2660 /* rule 77 can match eol */
2662 FAIL("Starting tag <parent> is not allowed here.");
2665 /* rule 78 can match eol */
2668 AX_dax__parent_ref = 0;
2669 dax__parent_ref_isset = 0;
2670 ENTER(AL_dax__parent); pushbuffer(0);
2675 /* rule 79 can match eol */
2677 if (dax__parent_ref_isset != 0) {FAIL("Multiple definition of attribute ref in <dax__parent>");} dax__parent_ref_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__parent_ref);
2680 /* rule 80 can match eol */
2682 if (dax__parent_ref_isset != 0) {FAIL("Multiple definition of attribute ref in <dax__parent>");} dax__parent_ref_isset = 1; ENTER(VALUE2); BUFFERSET(AX_dax__parent_ref);
2687 if (!AX_dax__parent_ref) FAIL("Required attribute `ref' not set for `parent' element.");
2688 LEAVE; STag_dax__parent();dax__pcdata_ix = 0; ENTER(E_dax__parent);
2694 if (!AX_dax__parent_ref) FAIL("Required attribute `ref' not set for `parent' element.");
2695 LEAVE; STag_dax__parent(); dax__pcdata_ix = 0; ETag_dax__parent(); popbuffer(); /* attribute */
2697 case S_dax__child: case S_dax__child_1: case S_dax__child_2: SET(S_dax__child_2); break;
2703 FAIL("Unexpected character `%c' in attribute list of parent element.", yytext[0]);
2707 FAIL("Bad attribute `%s' in `parent' element start tag.",yytext);
2709 case YY_STATE_EOF(AL_dax__parent):
2710 FAIL("EOF in attribute list of `parent' element.");
2714 /* rule 85 can match eol */
2719 popbuffer(); /* attribute */
2721 case S_dax__child: case S_dax__child_1: case S_dax__child_2: SET(S_dax__child_2); break;
2726 /* rule 86 can match eol */
2728 FAIL("Unexpected end-tag `%s': `</parent>' expected.",yytext);
2732 FAIL("Unexpected character `%c': `</parent>' expected.",yytext[0]);
2734 case YY_STATE_EOF(E_dax__parent):
2735 FAIL("Premature EOF: `</parent>' expected.");
2739 * <!-- ignored --> */
2741 /* rule 88 can match eol */
2743 FAIL("Starting tag <uses> is not allowed here.");
2746 /* rule 89 can match eol */
2749 AX_dax__uses_file = 0;
2750 dax__uses_file_isset = 0;
2751 AX_dax__uses_link = AU_dax__uses_link;
2752 dax__uses_link_isset = 0;
2753 AX_dax__uses_optional = A_dax__uses_optional_false;
2754 dax__uses_optional_isset = 0;
2755 AX_dax__uses_register = A_dax__uses_register_true;
2756 dax__uses_register_isset = 0;
2757 AX_dax__uses_size = 0;
2758 dax__uses_size_isset = 0;
2759 AX_dax__uses_transfer = A_dax__uses_transfer_true;
2760 dax__uses_transfer_isset = 0;
2761 AX_dax__uses_type = 161;
2762 dax__uses_type_isset = 0;
2763 ENTER(AL_dax__uses); pushbuffer(0);
2768 /* rule 90 can match eol */
2770 if (dax__uses_file_isset != 0) {FAIL("Multiple definition of attribute file in <dax__uses>");} dax__uses_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__uses_file);
2773 /* rule 91 can match eol */
2775 if (dax__uses_file_isset != 0) {FAIL("Multiple definition of attribute file in <dax__uses>");} dax__uses_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_dax__uses_file);
2778 /* rule 92 can match eol */
2780 /* rule 93 can match eol */
2782 A_dax__uses_link = A_dax__uses_link_input;
2785 /* rule 94 can match eol */
2787 /* rule 95 can match eol */
2789 A_dax__uses_link = A_dax__uses_link_output;
2792 /* rule 96 can match eol */
2794 /* rule 97 can match eol */
2796 A_dax__uses_optional = A_dax__uses_optional_false;
2799 /* rule 98 can match eol */
2801 /* rule 99 can match eol */
2803 A_dax__uses_optional = A_dax__uses_optional_true;
2806 /* rule 100 can match eol */
2808 /* rule 101 can match eol */
2810 A_dax__uses_register = A_dax__uses_register_false;
2813 /* rule 102 can match eol */
2815 /* rule 103 can match eol */
2817 A_dax__uses_register = A_dax__uses_register_true;
2820 /* rule 104 can match eol */
2822 if (dax__uses_size_isset != 0) {FAIL("Multiple definition of attribute size in <dax__uses>");} dax__uses_size_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__uses_size);
2825 /* rule 105 can match eol */
2827 if (dax__uses_size_isset != 0) {FAIL("Multiple definition of attribute size in <dax__uses>");} dax__uses_size_isset = 1; ENTER(VALUE2); BUFFERSET(AX_dax__uses_size);
2830 /* rule 106 can match eol */
2832 /* rule 107 can match eol */
2834 A_dax__uses_transfer = A_dax__uses_transfer_false;
2837 /* rule 108 can match eol */
2839 /* rule 109 can match eol */
2841 A_dax__uses_transfer = A_dax__uses_transfer_true;
2844 /* rule 110 can match eol */
2846 if (dax__uses_type_isset != 0) {FAIL("Multiple definition of attribute type in <dax__uses>");} dax__uses_type_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__uses_type);
2849 /* rule 111 can match eol */
2851 if (dax__uses_type_isset != 0) {FAIL("Multiple definition of attribute type in <dax__uses>");} dax__uses_type_isset = 1; ENTER(VALUE2); BUFFERSET(AX_dax__uses_type);
2856 if (!AX_dax__uses_file) FAIL("Required attribute `file' not set for `uses' element.");
2857 if (!AX_dax__uses_size) FAIL("Required attribute `size' not set for `uses' element.");
2858 LEAVE; STag_dax__uses();dax__pcdata_ix = 0; ENTER(E_dax__uses);
2864 if (!AX_dax__uses_file) FAIL("Required attribute `file' not set for `uses' element.");
2865 if (!AX_dax__uses_size) FAIL("Required attribute `size' not set for `uses' element.");
2866 LEAVE; STag_dax__uses(); dax__pcdata_ix = 0; ETag_dax__uses(); popbuffer(); /* attribute */
2868 case S_dax__job: case S_dax__job_1: case S_dax__job_2: SET(S_dax__job_2); break;
2874 FAIL("Unexpected character `%c' in attribute list of uses element.", yytext[0]);
2878 FAIL("Bad attribute `%s' in `uses' element start tag.",yytext);
2880 case YY_STATE_EOF(AL_dax__uses):
2881 FAIL("EOF in attribute list of `uses' element.");
2885 /* rule 116 can match eol */
2890 popbuffer(); /* attribute */
2892 case S_dax__job: case S_dax__job_1: case S_dax__job_2: SET(S_dax__job_2); break;
2897 /* rule 117 can match eol */
2899 FAIL("Unexpected end-tag `%s': `</uses>' expected.",yytext);
2903 FAIL("Unexpected character `%c': `</uses>' expected.",yytext[0]);
2905 case YY_STATE_EOF(E_dax__uses):
2906 FAIL("Premature EOF: `</uses>' expected.");
2909 /* EPILOG: after the root element. */
2913 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
2915 case YY_STATE_EOF(EPILOG):
2919 /* CHARACTER DATA. */
2921 /* Non-defined standard entities... */
2942 /* Character entities. */
2945 BUFFERPUTC((unsigned char)atoi(yytext+2));
2949 BUFFERPUTC((unsigned char)strtol(yytext+3,NULL,16));
2953 /* rule 127 can match eol */
2955 /* rule 128 can match eol */
2957 /* rule 129 can match eol */
2959 /* rule 130 can match eol */
2970 FAIL("Unexpected `]""]>' in character data.");
2977 case YY_STATE_EOF(VALUE1):
2978 FAIL("EOF in literal (\"'\" expected).");
2985 case YY_STATE_EOF(VALUE2):
2986 FAIL("EOF in literal (`\"' expected).");
2990 /* rule 135 can match eol */
2992 BUFFERPUTC(yytext[0]);
2996 FAIL("Spurious `%c' in character data.",yytext[0]);
3003 /* "]""]" BUFFERPUTC(yytext[0]); BUFFERPUTC(yytext[1]); */
3006 BUFFERPUTC(yytext[0]);
3008 case YY_STATE_EOF(CDATA):
3009 FAIL("EOF in CDATA section.");
3012 /* Impossible rules to avoid warnings from flex(1). */
3013 /* Ideally, this should be replaced by code in flexml.pl that
3014 generates just the states not covered by other rules. */
3017 /* rule 139 can match eol */
3019 FAIL("Syntax error on character `%c'.", yytext[0]);
3026 case YY_STATE_EOF(INITIAL):
3027 case YY_STATE_EOF(ROOT_dax__adag):
3028 case YY_STATE_EOF(S_dax__adag_2):
3029 case YY_STATE_EOF(S_dax__adag_4):
3030 case YY_STATE_EOF(S_dax__child_1):
3031 case YY_STATE_EOF(S_dax__job_1):
3032 case YY_STATE_EOF(IMPOSSIBLE):
3035 case YY_END_OF_BUFFER:
3037 /* Amount of text matched not including the EOB char. */
3038 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
3040 /* Undo the effects of YY_DO_BEFORE_ACTION. */
3041 *yy_cp = (yy_hold_char);
3042 YY_RESTORE_YY_MORE_OFFSET
3044 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
3046 /* We're scanning a new file or input source. It's
3047 * possible that this happened because the user
3048 * just pointed yyin at a new source and called
3049 * yylex(). If so, then we have to assure
3050 * consistency between YY_CURRENT_BUFFER and our
3051 * globals. Here is the right place to do so, because
3052 * this is the first action (other than possibly a
3053 * back-up) that will match for the new input source.
3055 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3056 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
3057 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
3060 /* Note that here we test for yy_c_buf_p "<=" to the position
3061 * of the first EOB in the buffer, since yy_c_buf_p will
3062 * already have been incremented past the NUL character
3063 * (since all states make transitions on EOB to the
3064 * end-of-buffer state). Contrast this with the test
3067 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3068 { /* This was really a NUL. */
3069 yy_state_type yy_next_state;
3071 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
3073 yy_current_state = yy_get_previous_state( );
3075 /* Okay, we're now positioned to make the NUL
3076 * transition. We couldn't have
3077 * yy_get_previous_state() go ahead and do it
3078 * for us because it doesn't know how to deal
3079 * with the possibility of jamming (and we don't
3080 * want to build jamming into it because then it
3081 * will run more slowly).
3084 yy_next_state = yy_try_NUL_trans( yy_current_state );
3086 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3088 if ( yy_next_state )
3090 /* Consume the NUL. */
3091 yy_cp = ++(yy_c_buf_p);
3092 yy_current_state = yy_next_state;
3098 yy_cp = (yy_c_buf_p);
3099 goto yy_find_action;
3103 else switch ( yy_get_next_buffer( ) )
3105 case EOB_ACT_END_OF_FILE:
3107 (yy_did_buffer_switch_on_eof) = 0;
3111 /* Note: because we've taken care in
3112 * yy_get_next_buffer() to have set up
3113 * yytext, we can now set up
3114 * yy_c_buf_p so that if some total
3115 * hoser (like flex itself) wants to
3116 * call the scanner after we return the
3117 * YY_NULL, it'll still work - another
3118 * YY_NULL will get returned.
3120 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
3122 yy_act = YY_STATE_EOF(YY_START);
3128 if ( ! (yy_did_buffer_switch_on_eof) )
3134 case EOB_ACT_CONTINUE_SCAN:
3136 (yytext_ptr) + yy_amount_of_matched_text;
3138 yy_current_state = yy_get_previous_state( );
3140 yy_cp = (yy_c_buf_p);
3141 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3144 case EOB_ACT_LAST_MATCH:
3146 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
3148 yy_current_state = yy_get_previous_state( );
3150 yy_cp = (yy_c_buf_p);
3151 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3152 goto yy_find_action;
3159 "fatal flex scanner internal error--no action found" );
3160 } /* end of action switch */
3161 } /* end of scanning one token */
3162 } /* end of user's declarations */
3163 } /* end of yylex */
3165 /* yy_get_next_buffer - try to read in a new buffer
3167 * Returns a code representing an action:
3168 * EOB_ACT_LAST_MATCH -
3169 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3170 * EOB_ACT_END_OF_FILE - end of file
3172 static int yy_get_next_buffer (void)
3174 char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
3175 char *source = (yytext_ptr);
3176 int number_to_move, i;
3179 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
3181 "fatal flex scanner internal error--end of buffer missed" );
3183 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
3184 { /* Don't try to fill the buffer, so this is an EOF. */
3185 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
3187 /* We matched a single character, the EOB, so
3188 * treat this as a final EOF.
3190 return EOB_ACT_END_OF_FILE;
3195 /* We matched some text prior to the EOB, first
3198 return EOB_ACT_LAST_MATCH;
3202 /* Try to read more data. */
3204 /* First move last chars to start of buffer. */
3205 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
3207 for ( i = 0; i < number_to_move; ++i )
3208 *(dest++) = *(source++);
3210 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
3211 /* don't do the read, it's not guaranteed to return an EOF,
3214 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
3219 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
3221 while ( num_to_read <= 0 )
3222 { /* Not enough room in the buffer - grow it. */
3224 /* just a shorter name for the current buffer */
3225 YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
3227 int yy_c_buf_p_offset =
3228 (int) ((yy_c_buf_p) - b->yy_ch_buf);
3230 if ( b->yy_is_our_buffer )
3232 int new_size = b->yy_buf_size * 2;
3234 if ( new_size <= 0 )
3235 b->yy_buf_size += b->yy_buf_size / 8;
3237 b->yy_buf_size *= 2;
3239 b->yy_ch_buf = (char *)
3240 /* Include room in for 2 EOB chars. */
3241 yyrealloc( (void *) b->yy_ch_buf,
3242 (yy_size_t) (b->yy_buf_size + 2) );
3245 /* Can't grow it, we don't own it. */
3246 b->yy_ch_buf = NULL;
3248 if ( ! b->yy_ch_buf )
3250 "fatal error - scanner input buffer overflow" );
3252 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
3254 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
3259 if ( num_to_read > YY_READ_BUF_SIZE )
3260 num_to_read = YY_READ_BUF_SIZE;
3262 /* Read in more data. */
3263 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
3264 (yy_n_chars), num_to_read );
3266 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3269 if ( (yy_n_chars) == 0 )
3271 if ( number_to_move == YY_MORE_ADJ )
3273 ret_val = EOB_ACT_END_OF_FILE;
3279 ret_val = EOB_ACT_LAST_MATCH;
3280 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
3281 YY_BUFFER_EOF_PENDING;
3286 ret_val = EOB_ACT_CONTINUE_SCAN;
3288 if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
3289 /* Extend the array by 50%, plus the number we really need. */
3290 int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
3291 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
3292 (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size );
3293 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3294 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
3295 /* "- 2" to take care of EOB's */
3296 YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
3299 (yy_n_chars) += number_to_move;
3300 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
3301 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
3303 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
3308 /* yy_get_previous_state - get the state just before the EOB char was reached */
3310 static yy_state_type yy_get_previous_state (void)
3312 yy_state_type yy_current_state;
3315 yy_current_state = (yy_start);
3317 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
3319 YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3320 if ( yy_accept[yy_current_state] )
3322 (yy_last_accepting_state) = yy_current_state;
3323 (yy_last_accepting_cpos) = yy_cp;
3325 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3327 yy_current_state = (int) yy_def[yy_current_state];
3328 if ( yy_current_state >= 775 )
3329 yy_c = yy_meta[yy_c];
3331 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
3334 return yy_current_state;
3337 /* yy_try_NUL_trans - try to make a transition on the NUL character
3340 * next_state = yy_try_NUL_trans( current_state );
3342 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
3345 char *yy_cp = (yy_c_buf_p);
3348 if ( yy_accept[yy_current_state] )
3350 (yy_last_accepting_state) = yy_current_state;
3351 (yy_last_accepting_cpos) = yy_cp;
3353 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3355 yy_current_state = (int) yy_def[yy_current_state];
3356 if ( yy_current_state >= 775 )
3357 yy_c = yy_meta[yy_c];
3359 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
3360 yy_is_jam = (yy_current_state == 774);
3362 return yy_is_jam ? 0 : yy_current_state;
3371 static int yyinput (void)
3373 static int input (void)
3379 *(yy_c_buf_p) = (yy_hold_char);
3381 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
3383 /* yy_c_buf_p now points to the character we want to return.
3384 * If this occurs *before* the EOB characters, then it's a
3385 * valid NUL; if not, then we've hit the end of the buffer.
3387 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3388 /* This was really a NUL. */
3389 *(yy_c_buf_p) = '\0';
3392 { /* need more input */
3393 int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
3396 switch ( yy_get_next_buffer( ) )
3398 case EOB_ACT_LAST_MATCH:
3399 /* This happens because yy_g_n_b()
3400 * sees that we've accumulated a
3401 * token and flags that we need to
3402 * try matching the token before
3403 * proceeding. But for input(),
3404 * there's no matching to consider.
3405 * So convert the EOB_ACT_LAST_MATCH
3406 * to EOB_ACT_END_OF_FILE.
3409 /* Reset buffer status. */
3414 case EOB_ACT_END_OF_FILE:
3419 if ( ! (yy_did_buffer_switch_on_eof) )
3428 case EOB_ACT_CONTINUE_SCAN:
3429 (yy_c_buf_p) = (yytext_ptr) + offset;
3435 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
3436 *(yy_c_buf_p) = '\0'; /* preserve yytext */
3437 (yy_hold_char) = *++(yy_c_buf_p);
3446 #endif /* ifndef YY_NO_INPUT */
3448 /** Immediately switch to a different input stream.
3449 * @param input_file A readable stream.
3451 * @note This function does not reset the start condition to @c INITIAL .
3453 void yyrestart (FILE * input_file )
3456 if ( ! YY_CURRENT_BUFFER ){
3457 yyensure_buffer_stack ();
3458 YY_CURRENT_BUFFER_LVALUE =
3459 yy_create_buffer( yyin, YY_BUF_SIZE );
3462 yy_init_buffer( YY_CURRENT_BUFFER, input_file );
3463 yy_load_buffer_state( );
3466 /** Switch to a different input buffer.
3467 * @param new_buffer The new input buffer.
3470 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
3473 /* TODO. We should be able to replace this entire function body
3475 * yypop_buffer_state();
3476 * yypush_buffer_state(new_buffer);
3478 yyensure_buffer_stack ();
3479 if ( YY_CURRENT_BUFFER == new_buffer )
3482 if ( YY_CURRENT_BUFFER )
3484 /* Flush out information for old buffer. */
3485 *(yy_c_buf_p) = (yy_hold_char);
3486 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3487 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3490 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3491 yy_load_buffer_state( );
3493 /* We don't actually know whether we did this switch during
3494 * EOF (yywrap()) processing, but the only time this flag
3495 * is looked at is after yywrap() is called, so it's safe
3496 * to go ahead and always set it.
3498 (yy_did_buffer_switch_on_eof) = 1;
3501 static void yy_load_buffer_state (void)
3503 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3504 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
3505 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
3506 (yy_hold_char) = *(yy_c_buf_p);
3509 /** Allocate and initialize an input buffer state.
3510 * @param file A readable stream.
3511 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
3513 * @return the allocated buffer state.
3515 YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )
3519 b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
3521 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3523 b->yy_buf_size = size;
3525 /* yy_ch_buf has to be 2 characters longer than the size given because
3526 * we need to put in 2 end-of-buffer characters.
3528 b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) );
3529 if ( ! b->yy_ch_buf )
3530 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3532 b->yy_is_our_buffer = 1;
3534 yy_init_buffer( b, file );
3539 /** Destroy the buffer.
3540 * @param b a buffer created with yy_create_buffer()
3543 void yy_delete_buffer (YY_BUFFER_STATE b )
3549 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
3550 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
3552 if ( b->yy_is_our_buffer )
3553 yyfree( (void *) b->yy_ch_buf );
3555 yyfree( (void *) b );
3558 /* Initializes or reinitializes a buffer.
3559 * This function is sometimes called more than once on the same buffer,
3560 * such as during a yyrestart() or at EOF.
3562 static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
3567 yy_flush_buffer( b );
3569 b->yy_input_file = file;
3570 b->yy_fill_buffer = 1;
3572 /* If b is the current buffer, then yy_init_buffer was _probably_
3573 * called from yyrestart() or through yy_get_next_buffer.
3574 * In that case, we don't want to reset the lineno or column.
3576 if (b != YY_CURRENT_BUFFER){
3577 b->yy_bs_lineno = 1;
3578 b->yy_bs_column = 0;
3581 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
3586 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
3587 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
3590 void yy_flush_buffer (YY_BUFFER_STATE b )
3597 /* We always need two end-of-buffer characters. The first causes
3598 * a transition to the end-of-buffer state. The second causes
3599 * a jam in that state.
3601 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3602 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3604 b->yy_buf_pos = &b->yy_ch_buf[0];
3607 b->yy_buffer_status = YY_BUFFER_NEW;
3609 if ( b == YY_CURRENT_BUFFER )
3610 yy_load_buffer_state( );
3613 /** Pushes the new state onto the stack. The new state becomes
3614 * the current state. This function will allocate the stack
3616 * @param new_buffer The new state.
3619 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
3621 if (new_buffer == NULL)
3624 yyensure_buffer_stack();
3626 /* This block is copied from yy_switch_to_buffer. */
3627 if ( YY_CURRENT_BUFFER )
3629 /* Flush out information for old buffer. */
3630 *(yy_c_buf_p) = (yy_hold_char);
3631 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3632 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3635 /* Only push if top exists. Otherwise, replace top. */
3636 if (YY_CURRENT_BUFFER)
3637 (yy_buffer_stack_top)++;
3638 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3640 /* copied from yy_switch_to_buffer. */
3641 yy_load_buffer_state( );
3642 (yy_did_buffer_switch_on_eof) = 1;
3645 /** Removes and deletes the top of the stack, if present.
3646 * The next element becomes the new top.
3649 void yypop_buffer_state (void)
3651 if (!YY_CURRENT_BUFFER)
3654 yy_delete_buffer(YY_CURRENT_BUFFER );
3655 YY_CURRENT_BUFFER_LVALUE = NULL;
3656 if ((yy_buffer_stack_top) > 0)
3657 --(yy_buffer_stack_top);
3659 if (YY_CURRENT_BUFFER) {
3660 yy_load_buffer_state( );
3661 (yy_did_buffer_switch_on_eof) = 1;
3665 /* Allocates the stack if it does not exist.
3666 * Guarantees space for at least one push.
3668 static void yyensure_buffer_stack (void)
3670 yy_size_t num_to_alloc;
3672 if (!(yy_buffer_stack)) {
3674 /* First allocation is just for 2 elements, since we don't know if this
3675 * scanner will even need a stack. We use 2 instead of 1 to avoid an
3676 * immediate realloc on the next call.
3678 num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
3679 (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
3680 (num_to_alloc * sizeof(struct yy_buffer_state*)
3682 if ( ! (yy_buffer_stack) )
3683 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3685 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
3687 (yy_buffer_stack_max) = num_to_alloc;
3688 (yy_buffer_stack_top) = 0;
3692 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
3694 /* Increase the buffer to prepare for a possible push. */
3695 yy_size_t grow_size = 8 /* arbitrary grow size */;
3697 num_to_alloc = (yy_buffer_stack_max) + grow_size;
3698 (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
3700 num_to_alloc * sizeof(struct yy_buffer_state*)
3702 if ( ! (yy_buffer_stack) )
3703 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3705 /* zero only the new slots.*/
3706 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
3707 (yy_buffer_stack_max) = num_to_alloc;
3711 /** Setup the input buffer state to scan directly from a user-specified character buffer.
3712 * @param base the character buffer
3713 * @param size the size in bytes of the character buffer
3715 * @return the newly allocated buffer state object.
3717 YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
3722 base[size-2] != YY_END_OF_BUFFER_CHAR ||
3723 base[size-1] != YY_END_OF_BUFFER_CHAR )
3724 /* They forgot to leave room for the EOB's. */
3727 b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
3729 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
3731 b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */
3732 b->yy_buf_pos = b->yy_ch_buf = base;
3733 b->yy_is_our_buffer = 0;
3734 b->yy_input_file = NULL;
3735 b->yy_n_chars = b->yy_buf_size;
3736 b->yy_is_interactive = 0;
3738 b->yy_fill_buffer = 0;
3739 b->yy_buffer_status = YY_BUFFER_NEW;
3741 yy_switch_to_buffer( b );
3746 /** Setup the input buffer state to scan a string. The next call to yylex() will
3747 * scan from a @e copy of @a str.
3748 * @param yystr a NUL-terminated string to scan
3750 * @return the newly allocated buffer state object.
3751 * @note If you want to scan bytes that may contain NUL values, then use
3752 * yy_scan_bytes() instead.
3754 YY_BUFFER_STATE yy_scan_string (const char * yystr )
3757 return yy_scan_bytes( yystr, (int) strlen(yystr) );
3760 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
3761 * scan from a @e copy of @a bytes.
3762 * @param yybytes the byte buffer to scan
3763 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
3765 * @return the newly allocated buffer state object.
3767 YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len )
3774 /* Get memory for full buffer, including space for trailing EOB's. */
3775 n = (yy_size_t) (_yybytes_len + 2);
3776 buf = (char *) yyalloc( n );
3778 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
3780 for ( i = 0; i < _yybytes_len; ++i )
3781 buf[i] = yybytes[i];
3783 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
3785 b = yy_scan_buffer( buf, n );
3787 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
3789 /* It's okay to grow etc. this buffer, and we should throw it
3790 * away when we're done.
3792 b->yy_is_our_buffer = 1;
3797 static void yy_push_state (int _new_state )
3799 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
3803 (yy_start_stack_depth) += YY_START_STACK_INCR;
3804 new_size = (yy_size_t) (yy_start_stack_depth) * sizeof( int );
3806 if ( ! (yy_start_stack) )
3807 (yy_start_stack) = (int *) yyalloc( new_size );
3810 (yy_start_stack) = (int *) yyrealloc(
3811 (void *) (yy_start_stack), new_size );
3813 if ( ! (yy_start_stack) )
3814 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
3817 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
3822 static void yy_pop_state (void)
3824 if ( --(yy_start_stack_ptr) < 0 )
3825 YY_FATAL_ERROR( "start-condition stack underflow" );
3827 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
3830 #ifndef YY_EXIT_FAILURE
3831 #define YY_EXIT_FAILURE 2
3834 static void yynoreturn yy_fatal_error (const char* msg )
3836 fprintf( stderr, "%s\n", msg );
3837 exit( YY_EXIT_FAILURE );
3840 /* Redefine yyless() so it works in section 3 code. */
3846 /* Undo effects of setting up yytext. */ \
3847 int yyless_macro_arg = (n); \
3848 YY_LESS_LINENO(yyless_macro_arg);\
3849 yytext[yyleng] = (yy_hold_char); \
3850 (yy_c_buf_p) = yytext + yyless_macro_arg; \
3851 (yy_hold_char) = *(yy_c_buf_p); \
3852 *(yy_c_buf_p) = '\0'; \
3853 yyleng = yyless_macro_arg; \
3857 /* Accessor methods (get/set functions) to struct members. */
3859 /** Get the current line number.
3862 int yyget_lineno (void)
3868 /** Get the input stream.
3871 FILE *yyget_in (void)
3876 /** Get the output stream.
3879 FILE *yyget_out (void)
3884 /** Get the length of the current token.
3887 int yyget_leng (void)
3892 /** Get the current token.
3896 char *yyget_text (void)
3901 /** Set the current line number.
3902 * @param _line_number line number
3905 void yyset_lineno (int _line_number )
3908 yylineno = _line_number;
3911 /** Set the input stream. This does not discard the current
3913 * @param _in_str A readable stream.
3915 * @see yy_switch_to_buffer
3917 void yyset_in (FILE * _in_str )
3922 void yyset_out (FILE * _out_str )
3927 int yyget_debug (void)
3929 return yy_flex_debug;
3932 void yyset_debug (int _bdebug )
3934 yy_flex_debug = _bdebug ;
3937 static int yy_init_globals (void)
3939 /* Initialization is the same as for the non-reentrant scanner.
3940 * This function is called from yylex_destroy(), so don't allocate here.
3943 /* We do not touch yylineno unless the option is enabled. */
3946 (yy_buffer_stack) = NULL;
3947 (yy_buffer_stack_top) = 0;
3948 (yy_buffer_stack_max) = 0;
3949 (yy_c_buf_p) = NULL;
3953 (yy_start_stack_ptr) = 0;
3954 (yy_start_stack_depth) = 0;
3955 (yy_start_stack) = NULL;
3957 /* Defined in main.c */
3966 /* For future reference: Set errno on error, since we are called by
3972 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
3973 int yylex_destroy (void)
3976 /* Pop the buffer stack, destroying each element. */
3977 while(YY_CURRENT_BUFFER){
3978 yy_delete_buffer( YY_CURRENT_BUFFER );
3979 YY_CURRENT_BUFFER_LVALUE = NULL;
3980 yypop_buffer_state();
3983 /* Destroy the stack itself. */
3984 yyfree((yy_buffer_stack) );
3985 (yy_buffer_stack) = NULL;
3987 /* Destroy the start condition stack. */
3988 yyfree( (yy_start_stack) );
3989 (yy_start_stack) = NULL;
3991 /* Reset the globals. This is important in a non-reentrant scanner so the next time
3992 * yylex() is called, initialization will occur. */
3999 * Internal utility routines.
4003 static void yy_flex_strncpy (char* s1, const char * s2, int n )
4007 for ( i = 0; i < n; ++i )
4012 #ifdef YY_NEED_STRLEN
4013 static int yy_flex_strlen (const char * s )
4016 for ( n = 0; s[n]; ++n )
4023 void *yyalloc (yy_size_t size )
4025 return malloc(size);
4028 void *yyrealloc (void * ptr, yy_size_t size )
4031 /* The cast to (char *) in the following accommodates both
4032 * implementations that use char* generic pointers, and those
4033 * that use void* generic pointers. It works with the latter
4034 * because both ANSI C and C++ allow castless assignment from
4035 * any pointer type to void*, and deal with argument conversions
4036 * as though doing an assignment.
4038 return realloc(ptr, size);
4041 void yyfree (void * ptr )
4043 free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
4046 #define YYTABLES_NAME "yytables"
4048 /* Element context stack lookup. */
4049 int dax__element_context(int i)
4051 return (0<i && i<yy_start_stack_depth
4052 ? yy_start_stack[yy_start_stack_ptr - i]
4057 void print_yy_stack(char* fmt, ...)
4059 int i = 0; va_list ap; va_start(ap, fmt);
4060 vfprintf(stderr, fmt, ap);
4061 if (dax__statenames) {
4062 for (i=1; i<yy_start_stack_ptr; i++) {
4063 fprintf(stderr, "%s/", dax__statenames[yy_start_stack[i] ]);
4065 fprintf(stderr,"%s\n", dax__statenames[YY_START]);
4070 void print_dax__bufferstack()
4073 fputs("Buffer: ", stderr);
4074 for (i = 0; i < blimit; i++) {
4075 if ( dax__bufferstack[i] == '\377' ) break;
4076 putc(dax__bufferstack[i], stderr);
4081 static void debug_enter(int state, const char* statename) {
4082 yy_push_state(state);
4083 if (yy_flex_debug) {
4084 print_yy_stack("--ENTER(%s) : ",statename);
4085 print_dax__bufferstack();
4089 static void debug_leave(void) {
4090 if (yy_flex_debug) {
4091 print_yy_stack("--LEAVE : ");
4092 print_dax__bufferstack();
4097 static void debug_set(int state, const char* statename) {
4099 if (yy_flex_debug) print_yy_stack("--SET(%s) : ",statename);
4103 static void cleanup(void)
4105 if (dax__statenames) {
4106 free(dax__statenames);
4107 dax__statenames = NULL;
4109 free(dax__bufferstack);
4110 dax__bufferstack = NULL;
4116 static int fail(const char* fmt, ...)
4118 int chars_left, used;
4119 va_list ap; va_start(ap, fmt);
4120 #ifdef FLEXML_yylineno
4121 used = snprintf(flexml_err_msg,flexml_max_err_msg_size,
4122 "Invalid XML (XML input line %d, state %d): ",
4123 yylineno, YY_START);
4125 used = snprintf(flexml_err_msg,flexml_max_err_msg_size,
4126 "Invalid XML (state %d): ",
4129 chars_left = flexml_max_err_msg_size - used - 1;
4130 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
4133 #ifndef FLEXML_quiet_parser
4134 /* print directly to sdterr */
4135 fprintf(stderr, "%s\n", flexml_err_msg);
4136 flexml_err_msg[0] = '\0';