2 #line 3 "src/simdag/dax_dtd.c"
4 #define YY_INT_ALIGNED short int
6 /* A lexical scanner generated by flex */
8 #define yy_create_buffer dax__create_buffer
9 #define yy_delete_buffer dax__delete_buffer
10 #define yy_flex_debug dax__flex_debug
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
16 #define yyleng dax_leng
18 #define yylineno dax_lineno
20 #define yyrestart dax_restart
21 #define yytext dax_text
22 #define yywrap dax_wrap
23 #define yyalloc dax_alloc
24 #define yyrealloc dax_realloc
25 #define yyfree dax_free
28 #define YY_FLEX_MAJOR_VERSION 2
29 #define YY_FLEX_MINOR_VERSION 5
30 #define YY_FLEX_SUBMINOR_VERSION 39
31 #if YY_FLEX_SUBMINOR_VERSION > 0
35 /* First, we deal with platform-specific or compiler-specific issues. */
37 /* begin standard C headers. */
43 /* end standard C headers. */
45 /* flex integer type definitions */
50 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
52 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
54 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
55 * if you want the limit (max/min) macros for int types.
57 #ifndef __STDC_LIMIT_MACROS
58 #define __STDC_LIMIT_MACROS 1
62 typedef int8_t flex_int8_t;
63 typedef uint8_t flex_uint8_t;
64 typedef int16_t flex_int16_t;
65 typedef uint16_t flex_uint16_t;
66 typedef int32_t flex_int32_t;
67 typedef uint32_t flex_uint32_t;
69 typedef signed char flex_int8_t;
70 typedef short int flex_int16_t;
71 typedef int flex_int32_t;
72 typedef unsigned char flex_uint8_t;
73 typedef unsigned short int flex_uint16_t;
74 typedef unsigned int flex_uint32_t;
76 /* Limits of integral types. */
78 #define INT8_MIN (-128)
81 #define INT16_MIN (-32767-1)
84 #define INT32_MIN (-2147483647-1)
87 #define INT8_MAX (127)
90 #define INT16_MAX (32767)
93 #define INT32_MAX (2147483647)
96 #define UINT8_MAX (255U)
99 #define UINT16_MAX (65535U)
102 #define UINT32_MAX (4294967295U)
107 #endif /* ! FLEXINT_H */
111 /* The "const" storage-class-modifier is valid. */
114 #else /* ! __cplusplus */
116 /* C99 requires __STDC__ to be defined as 1. */
117 #if defined (__STDC__)
121 #endif /* defined (__STDC__) */
122 #endif /* ! __cplusplus */
125 #define yyconst const
130 /* Returned upon end-of-file. */
133 /* Promotes a possibly negative, possibly signed char to an unsigned
134 * integer for use as an array index. If the signed char is negative,
135 * we want to instead treat it as an 8-bit unsigned char, hence the
138 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
140 /* Enter a start condition. This macro really ought to take a parameter,
141 * but we do it the disgusting crufty way forced on us by the ()-less
142 * definition of BEGIN.
144 #define BEGIN (yy_start) = 1 + 2 *
146 /* Translate the current start state into a value that can be later handed
147 * to BEGIN to return to the state. The YYSTATE alias is for lex
150 #define YY_START (((yy_start) - 1) / 2)
151 #define YYSTATE YY_START
153 /* Action number for EOF rule of a given start state. */
154 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
156 /* Special action meaning "start processing a new file". */
157 #define YY_NEW_FILE dax_restart(dax_in )
159 #define YY_END_OF_BUFFER_CHAR 0
161 /* Size of default input buffer. */
164 /* On IA-64, the buffer size is 16k, not 8k.
165 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
166 * Ditto for the __ia64__ case accordingly.
168 #define YY_BUF_SIZE 32768
170 #define YY_BUF_SIZE 16384
171 #endif /* __ia64__ */
174 /* The state buf must be large enough to hold one state per character in the main buffer.
176 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
178 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
179 #define YY_TYPEDEF_YY_BUFFER_STATE
180 typedef struct yy_buffer_state *YY_BUFFER_STATE;
183 #ifndef YY_TYPEDEF_YY_SIZE_T
184 #define YY_TYPEDEF_YY_SIZE_T
185 typedef size_t yy_size_t;
188 extern yy_size_t dax_leng;
190 extern FILE *dax_in, *dax_out;
192 #define EOB_ACT_CONTINUE_SCAN 0
193 #define EOB_ACT_END_OF_FILE 1
194 #define EOB_ACT_LAST_MATCH 2
196 /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
197 * access to the local variable yy_act. Since yyless() is a macro, it would break
198 * existing scanners that call yyless() from OUTSIDE dax_lex.
199 * One obvious solution it to make yy_act a global. I tried that, and saw
200 * a 5% performance hit in a non-dax_lineno scanner, because yy_act is
201 * normally declared as a register variable-- so it is not worth it.
203 #define YY_LESS_LINENO(n) \
206 for ( yyl = n; yyl < dax_leng; ++yyl )\
207 if ( dax_text[yyl] == '\n' )\
210 #define YY_LINENO_REWIND_TO(dst) \
213 for ( p = yy_cp-1; p >= (dst); --p)\
218 /* Return all but the first "n" matched characters back to the input stream. */
222 /* Undo effects of setting up dax_text. */ \
223 int yyless_macro_arg = (n); \
224 YY_LESS_LINENO(yyless_macro_arg);\
225 *yy_cp = (yy_hold_char); \
226 YY_RESTORE_YY_MORE_OFFSET \
227 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
228 YY_DO_BEFORE_ACTION; /* set up dax_text again */ \
232 #define unput(c) yyunput( c, (yytext_ptr) )
234 #ifndef YY_STRUCT_YY_BUFFER_STATE
235 #define YY_STRUCT_YY_BUFFER_STATE
236 struct yy_buffer_state
240 char *yy_ch_buf; /* input buffer */
241 char *yy_buf_pos; /* current position in input buffer */
243 /* Size of input buffer in bytes, not including room for EOB
246 yy_size_t yy_buf_size;
248 /* Number of characters read into yy_ch_buf, not including EOB
251 yy_size_t yy_n_chars;
253 /* Whether we "own" the buffer - i.e., we know we created it,
254 * and can realloc() it to grow it, and should free() it to
257 int yy_is_our_buffer;
259 /* Whether this is an "interactive" input source; if so, and
260 * if we're using stdio for input, then we want to use getc()
261 * instead of fread(), to make sure we stop fetching input after
264 int yy_is_interactive;
266 /* Whether we're considered to be at the beginning of a line.
267 * If so, '^' rules will be active on the next match, otherwise
272 int yy_bs_lineno; /**< The line count. */
273 int yy_bs_column; /**< The column count. */
275 /* Whether to try to fill the input buffer when we reach the
280 int yy_buffer_status;
282 #define YY_BUFFER_NEW 0
283 #define YY_BUFFER_NORMAL 1
284 /* When an EOF's been seen but there's still some text to process
285 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
286 * shouldn't try reading from the input source any more. We might
287 * still have a bunch of tokens to match, though, because of
288 * possible backing-up.
290 * When we actually see the EOF, we change the status to "new"
291 * (via dax_restart()), so that the user can continue scanning by
292 * just pointing dax_in at a new input file.
294 #define YY_BUFFER_EOF_PENDING 2
297 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
299 /* Stack of input buffers. */
300 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
301 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
302 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
304 /* We provide macros for accessing buffer states in case in the
305 * future we want to put the buffer states in a more general
308 * Returns the top of the stack, or NULL.
310 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
311 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
314 /* Same as previous macro, but useful when we know that the buffer stack is not
315 * NULL or when we need an lvalue. For internal use only.
317 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
319 /* yy_hold_char holds the character lost when dax_text is formed. */
320 static char yy_hold_char;
321 static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */
324 /* Points to current character in buffer. */
325 static char *yy_c_buf_p = (char *) 0;
326 static int yy_init = 0; /* whether we need to initialize */
327 static int yy_start = 0; /* start state number */
329 /* Flag which is used to allow dax_wrap()'s to do buffer switches
330 * instead of setting up a fresh dax_in. A bit of a hack ...
332 static int yy_did_buffer_switch_on_eof;
334 void dax_restart (FILE *input_file );
335 void dax__switch_to_buffer (YY_BUFFER_STATE new_buffer );
336 YY_BUFFER_STATE dax__create_buffer (FILE *file,int size );
337 void dax__delete_buffer (YY_BUFFER_STATE b );
338 void dax__flush_buffer (YY_BUFFER_STATE b );
339 void dax_push_buffer_state (YY_BUFFER_STATE new_buffer );
340 void dax_pop_buffer_state (void );
342 static void dax_ensure_buffer_stack (void );
343 static void dax__load_buffer_state (void );
344 static void dax__init_buffer (YY_BUFFER_STATE b,FILE *file );
346 #define YY_FLUSH_BUFFER dax__flush_buffer(YY_CURRENT_BUFFER )
348 YY_BUFFER_STATE dax__scan_buffer (char *base,yy_size_t size );
349 YY_BUFFER_STATE dax__scan_string (yyconst char *yy_str );
350 YY_BUFFER_STATE dax__scan_bytes (yyconst char *bytes,yy_size_t len );
352 void *dax_alloc (yy_size_t );
353 void *dax_realloc (void *,yy_size_t );
354 void dax_free (void * );
356 #define yy_new_buffer dax__create_buffer
358 #define yy_set_interactive(is_interactive) \
360 if ( ! YY_CURRENT_BUFFER ){ \
361 dax_ensure_buffer_stack (); \
362 YY_CURRENT_BUFFER_LVALUE = \
363 dax__create_buffer(dax_in,YY_BUF_SIZE ); \
365 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
368 #define yy_set_bol(at_bol) \
370 if ( ! YY_CURRENT_BUFFER ){\
371 dax_ensure_buffer_stack (); \
372 YY_CURRENT_BUFFER_LVALUE = \
373 dax__create_buffer(dax_in,YY_BUF_SIZE ); \
375 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
378 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
380 /* Begin user sect3 */
383 #define YY_SKIP_YYWRAP
385 typedef unsigned char YY_CHAR;
387 FILE *dax_in = (FILE *) 0, *dax_out = (FILE *) 0;
389 typedef int yy_state_type;
391 extern int dax_lineno;
395 extern char *dax_text;
396 #define yytext_ptr dax_text
398 static yy_state_type yy_get_previous_state (void );
399 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
400 static int yy_get_next_buffer (void );
401 static void yy_fatal_error (yyconst char msg[] );
403 /* Done after the current pattern has been matched and before the
404 * corresponding action - sets up dax_text.
406 #define YY_DO_BEFORE_ACTION \
407 (yytext_ptr) = yy_bp; \
408 dax_leng = (size_t) (yy_cp - yy_bp); \
409 (yy_hold_char) = *yy_cp; \
411 (yy_c_buf_p) = yy_cp;
413 #define YY_NUM_RULES 140
414 #define YY_END_OF_BUFFER 141
415 /* This struct is not used in this scanner,
416 but its presence is necessary. */
419 flex_int32_t yy_verify;
422 static yyconst flex_int16_t yy_accept[775] =
424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
425 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
426 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
427 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
428 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
429 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
430 0, 0, 0, 0, 0, 0, 141, 139, 15, 10,
431 10, 15, 15, 119, 10, 119, 5, 6, 5, 8,
432 9, 8, 135, 127, 128, 136, 133, 136, 134, 138,
433 127, 128, 138, 139, 40, 10, 40, 40, 40, 38,
435 40, 40, 40, 40, 40, 40, 40, 44, 10, 44,
436 44, 139, 139, 44, 51, 10, 51, 51, 51, 49,
437 51, 55, 10, 55, 139, 55, 72, 10, 72, 72,
438 72, 70, 72, 72, 72, 72, 72, 76, 10, 76,
439 139, 76, 83, 10, 83, 83, 83, 81, 83, 87,
440 10, 87, 114, 10, 114, 114, 114, 112, 114, 114,
441 114, 114, 114, 114, 118, 10, 118, 136, 135, 10,
442 0, 2, 2, 0, 4, 7, 130, 129, 0, 0,
443 0, 0, 0, 0, 0, 39, 41, 41, 41, 41,
444 41, 41, 41, 41, 41, 41, 0, 0, 0, 0,
446 0, 0, 0, 0, 50, 52, 52, 0, 0, 71,
447 73, 73, 73, 73, 73, 73, 0, 0, 82, 84,
448 84, 0, 113, 115, 115, 115, 115, 115, 115, 115,
449 115, 0, 0, 0, 0, 0, 0, 0, 3, 0,
450 0, 0, 0, 0, 0, 0, 137, 0, 41, 41,
451 41, 41, 41, 41, 41, 41, 41, 0, 0, 0,
452 0, 0, 0, 0, 0, 0, 52, 0, 0, 0,
453 0, 0, 73, 73, 73, 73, 0, 0, 0, 84,
454 0, 0, 115, 115, 115, 115, 115, 115, 115, 0,
455 0, 0, 132, 0, 14, 1, 0, 0, 125, 0,
457 0, 0, 122, 121, 0, 0, 41, 41, 41, 41,
458 41, 41, 41, 41, 41, 0, 0, 43, 0, 0,
459 0, 57, 0, 0, 56, 0, 0, 0, 0, 0,
460 54, 0, 0, 0, 59, 58, 73, 73, 73, 73,
461 0, 0, 75, 0, 0, 0, 0, 0, 0, 86,
462 0, 115, 115, 115, 115, 115, 115, 115, 0, 0,
463 117, 0, 0, 0, 0, 126, 120, 0, 0, 17,
464 41, 41, 41, 41, 41, 0, 0, 41, 41, 41,
465 0, 16, 0, 57, 0, 88, 56, 0, 0, 48,
466 47, 0, 0, 73, 0, 0, 73, 73, 73, 0,
468 89, 0, 80, 79, 0, 0, 0, 0, 0, 115,
469 115, 0, 0, 115, 0, 0, 0, 0, 0, 0,
470 0, 12, 0, 123, 124, 17, 41, 0, 0, 41,
471 0, 0, 41, 0, 29, 28, 41, 0, 41, 0,
472 41, 0, 16, 46, 0, 88, 45, 0, 0, 0,
473 0, 0, 63, 62, 73, 73, 73, 0, 74, 89,
474 0, 0, 91, 90, 0, 0, 0, 115, 115, 0,
475 105, 104, 115, 0, 111, 110, 0, 0, 0, 0,
476 0, 11, 41, 0, 21, 20, 41, 0, 25, 24,
477 41, 41, 41, 0, 33, 32, 41, 0, 42, 46,
479 77, 45, 0, 78, 0, 61, 60, 73, 73, 73,
480 0, 0, 0, 0, 0, 115, 115, 115, 0, 116,
481 0, 0, 0, 0, 41, 41, 41, 0, 0, 41,
482 41, 77, 0, 53, 78, 73, 0, 0, 0, 0,
483 0, 0, 0, 0, 0, 115, 115, 115, 0, 0,
484 0, 0, 41, 41, 0, 0, 0, 31, 30, 41,
485 41, 73, 0, 67, 66, 0, 69, 68, 0, 85,
486 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
487 131, 0, 0, 0, 41, 0, 0, 0, 27, 26,
488 0, 0, 41, 0, 0, 0, 0, 0, 0, 0,
490 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
491 0, 0, 0, 0, 23, 22, 0, 35, 34, 41,
492 0, 65, 64, 0, 0, 0, 0, 0, 0, 0,
493 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
494 0, 0, 0, 19, 18, 41, 93, 0, 92, 0,
495 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
496 0, 0, 0, 0, 0, 41, 95, 94, 0, 0,
497 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
498 0, 0, 0, 0, 41, 0, 0, 0, 0, 0,
499 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
501 0, 0, 0, 41, 0, 99, 0, 98, 0, 103,
502 0, 102, 0, 109, 0, 108, 0, 0, 0, 0,
503 0, 0, 41, 97, 96, 101, 100, 107, 106, 0,
504 0, 0, 12, 0, 12, 0, 41, 0, 0, 0,
505 0, 0, 41, 0, 0, 0, 0, 0, 11, 0,
506 37, 36, 0, 0, 0, 0, 0, 0, 0, 0,
507 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
511 static yyconst flex_int32_t yy_ec[256] =
513 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
514 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
515 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
516 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
517 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
518 13, 13, 13, 13, 13, 13, 13, 14, 15, 16,
519 17, 18, 19, 1, 20, 21, 22, 23, 24, 21,
520 25, 25, 25, 25, 25, 26, 27, 25, 28, 29,
521 25, 25, 30, 31, 25, 25, 25, 25, 32, 25,
522 33, 1, 34, 1, 25, 1, 35, 36, 37, 38,
524 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
525 49, 50, 51, 52, 53, 54, 55, 56, 25, 57,
526 58, 59, 1, 1, 1, 1, 1, 1, 1, 1,
527 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
528 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
529 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
530 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
531 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
532 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
533 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
535 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
536 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
537 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
538 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
539 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
543 static yyconst flex_int32_t yy_meta[60] =
545 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
546 3, 1, 4, 5, 1, 1, 1, 6, 1, 7,
547 7, 7, 7, 7, 5, 5, 5, 5, 5, 5,
548 5, 5, 1, 1, 7, 7, 7, 7, 7, 7,
549 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
550 5, 5, 5, 5, 5, 5, 5, 5, 5
553 static yyconst flex_int16_t yy_base[814] =
555 0, 0, 0, 3, 6, 9, 24, 27, 11, 14,
556 15, 17, 29, 38, 45, 52, 59, 61, 67, 70,
557 95, 0, 73, 76, 153, 156, 159, 162, 177, 180,
558 183, 186, 201, 204, 207, 210, 226, 278, 245, 248,
559 251, 254, 297, 300, 303, 306, 330, 0, 388, 391,
560 394, 397, 412, 415, 418, 421, 437, 489, 456, 459,
561 541, 0, 462, 465, 598, 600, 2053, 2135, 2135, 269,
562 272, 47, 62, 2135, 321, 172, 2135, 2135, 2033, 2135,
563 2135, 2022, 2135, 2033, 2031, 475, 2135, 2135, 2135, 2135,
564 2027, 2025, 1987, 468, 2135, 324, 1998, 0, 196, 2135,
566 8, 1968, 1958, 1952, 1863, 1858, 35, 2135, 481, 600,
567 608, 604, 612, 641, 2135, 509, 1878, 0, 258, 2135,
568 1855, 2135, 515, 660, 663, 682, 2135, 525, 1875, 0,
569 310, 2135, 1854, 1852, 1855, 1834, 1849, 2135, 528, 704,
570 701, 723, 2135, 531, 1869, 0, 407, 2135, 1847, 2135,
571 534, 606, 2135, 626, 1857, 0, 469, 2135, 1831, 1829,
572 1821, 1830, 1814, 32, 2135, 667, 621, 1851, 1820, 671,
573 628, 1784, 2135, 1827, 1818, 2135, 2135, 2135, 2, 44,
574 1781, 1780, 1778, 1814, 1793, 2135, 0, 1787, 1774, 1777,
575 1784, 1784, 1772, 1747, 1752, 1753, 1752, 1748, 1742, 1722,
577 1735, 1712, 1715, 1720, 2135, 0, 1713, 1695, 1693, 2135,
578 0, 686, 1670, 1671, 1668, 1660, 1666, 1656, 2135, 0,
579 1661, 1650, 2135, 0, 1652, 1644, 1635, 1646, 1627, 1648,
580 1632, 1626, 1634, 1648, 1646, 1649, 458, 1611, 2135, 72,
581 0, 1606, 1602, 1635, 1633, 1594, 2135, 1607, 1590, 1586,
582 1594, 1592, 1601, 1583, 1567, 1567, 1600, 759, 762, 1577,
583 1564, 1570, 1547, 1559, 1560, 1544, 727, 766, 772, 1534,
584 779, 783, 1545, 1536, 1520, 1519, 791, 795, 1528, 799,
585 802, 808, 1527, 1517, 1517, 1513, 1506, 1496, 1503, 815,
586 819, 1519, 2135, 1521, 2135, 2135, 17, 1488, 2135, 1514,
588 1513, 1473, 2135, 2135, 1464, 1475, 1477, 1459, 1490, 1453,
589 1450, 825, 1455, 1443, 1438, 828, 832, 2135, 836, 1449,
590 1442, 845, 1447, 1432, 849, 1437, 853, 856, 864, 871,
591 2135, 874, 1433, 877, 2135, 2135, 1425, 891, 1426, 1421,
592 894, 897, 2135, 900, 1410, 903, 907, 919, 922, 2135,
593 925, 928, 931, 1411, 1406, 947, 1404, 950, 953, 956,
594 2135, 966, 1422, 646, 976, 2135, 2135, 1429, 1427, 959,
595 1419, 979, 1386, 983, 1379, 986, 995, 1374, 1004, 1381,
596 1007, 989, 1379, 1010, 1367, 1013, 1020, 1369, 1024, 2135,
597 2135, 1032, 1357, 1035, 1038, 1054, 1352, 1353, 1347, 1041,
599 1062, 1065, 2135, 2135, 1073, 1077, 1080, 1093, 1096, 1333,
600 1325, 1104, 1111, 1334, 1120, 1123, 1131, 1352, 507, 1353,
601 1136, 2135, 1347, 2135, 2135, 1139, 1315, 1142, 1149, 1291,
602 1159, 1162, 1297, 1176, 2135, 2135, 1295, 1170, 1285, 1187,
603 1298, 1195, 1198, 1201, 1275, 1204, 1207, 1212, 1274, 1215,
604 1218, 1231, 2135, 2135, 1282, 1273, 1263, 1239, 2135, 1242,
605 1245, 1249, 2135, 2135, 1258, 124, 125, 1274, 1262, 1266,
606 2135, 2135, 1259, 1274, 2135, 2135, 1282, 1261, 491, 152,
607 5, 2135, 1235, 1285, 2135, 2135, 1234, 1293, 2135, 2135,
608 1227, 1301, 1226, 1304, 2135, 2135, 1235, 1312, 2135, 1317,
610 1320, 1323, 1329, 1332, 1335, 2135, 2135, 1236, 1346, 1349,
611 1352, 1223, 1211, 1217, 1204, 1210, 1202, 1187, 1355, 2135,
612 1218, 174, 158, 384, 1188, 1177, 1358, 1365, 1374, 1186,
613 1181, 1382, 1385, 2135, 1388, 1187, 1391, 1395, 1407, 1410,
614 1418, 1175, 1169, 1162, 1141, 1423, 1426, 1429, 1161, 1435,
615 176, 461, 1134, 1445, 1448, 1452, 1464, 2135, 2135, 1472,
616 1151, 1475, 1478, 2135, 2135, 1491, 2135, 2135, 1499, 2135,
617 1128, 1131, 1122, 1120, 1502, 1505, 1518, 1521, 1529, 1534,
618 2135, 1545, 228, 179, 1548, 1551, 1555, 1567, 2135, 2135,
619 1575, 1579, 1143, 1587, 1591, 1113, 1105, 1103, 1101, 1599,
621 567, 570, 1607, 582, 626, 1615, 668, 671, 280, 222,
622 643, 1623, 1626, 1635, 2135, 2135, 1643, 2135, 2135, 1101,
623 1651, 2135, 2135, 1142, 1093, 1127, 1077, 1095, 1076, 1084,
624 1066, 1081, 1059, 1074, 1052, 1068, 1049, 1058, 1040, 715,
625 244, 385, 1659, 2135, 2135, 1053, 2135, 1082, 2135, 1078,
626 1026, 1015, 1016, 1006, 1008, 992, 1000, 974, 973, 921,
627 929, 918, 388, 391, 1667, 937, 2135, 2135, 912, 907,
628 889, 902, 861, 851, 835, 848, 832, 830, 792, 776,
629 1670, 1673, 1676, 1693, 753, 714, 746, 695, 712, 666,
630 678, 644, 648, 603, 609, 501, 471, 1701, 1704, 1711,
632 1721, 1739, 1773, 408, 429, 2135, 421, 2135, 421, 2135,
633 402, 2135, 402, 2135, 396, 2135, 725, 1791, 675, 506,
634 1809, 1843, 272, 2135, 2135, 2135, 2135, 2135, 2135, 684,
635 706, 200, 311, 731, 260, 1731, 220, 668, 218, 202,
636 207, 1765, 1836, 296, 153, 1861, 1757, 728, 2135, 1799,
637 2135, 2135, 1734, 1864, 439, 709, 753, 773, 806, 807,
638 761, 873, 823, 901, 948, 1031, 1013, 1035, 1014, 929,
639 1877, 1881, 2135, 2135, 1899, 1906, 1913, 1920, 1927, 1934,
640 1941, 1948, 1955, 1962, 1969, 1976, 1983, 1990, 1995, 2000,
641 2005, 2010, 2015, 2022, 2025, 2028, 2031, 2034, 2037, 2044,
643 2048, 2054, 2060, 2066, 2072, 2078, 2085, 2092, 2099, 2106,
647 static yyconst flex_int16_t yy_def[814] =
649 775, 775, 776, 776, 776, 776, 777, 777, 778, 778,
650 779, 779, 780, 780, 780, 780, 781, 781, 775, 775,
651 774, 21, 782, 782, 782, 782, 775, 775, 782, 782,
652 775, 775, 782, 782, 782, 782, 783, 783, 784, 784,
653 775, 775, 784, 784, 784, 784, 774, 47, 785, 785,
654 775, 775, 785, 785, 785, 785, 786, 786, 787, 787,
655 774, 61, 788, 788, 780, 780, 774, 774, 774, 774,
656 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
657 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
658 774, 774, 774, 774, 774, 774, 774, 789, 774, 774,
660 789, 789, 789, 789, 789, 789, 789, 774, 774, 774,
661 774, 774, 774, 774, 774, 774, 774, 790, 774, 774,
662 790, 774, 774, 774, 774, 774, 774, 774, 774, 791,
663 774, 774, 791, 791, 791, 791, 791, 774, 774, 774,
664 774, 774, 774, 774, 774, 792, 774, 774, 792, 774,
665 774, 774, 774, 774, 774, 793, 774, 774, 793, 793,
666 793, 793, 793, 793, 774, 774, 774, 774, 774, 774,
667 794, 774, 774, 774, 774, 774, 774, 774, 774, 774,
668 774, 774, 774, 774, 774, 774, 789, 789, 789, 789,
669 789, 789, 789, 789, 789, 789, 795, 774, 774, 774,
671 774, 774, 774, 774, 774, 790, 790, 796, 774, 774,
672 791, 791, 791, 791, 791, 791, 797, 774, 774, 792,
673 792, 798, 774, 793, 793, 793, 793, 793, 793, 793,
674 793, 799, 774, 774, 800, 774, 800, 774, 774, 774,
675 801, 774, 774, 774, 774, 774, 774, 774, 789, 789,
676 789, 789, 789, 789, 789, 789, 789, 802, 802, 774,
677 774, 774, 774, 774, 774, 774, 790, 803, 803, 774,
678 774, 774, 791, 791, 791, 791, 804, 804, 774, 792,
679 805, 805, 793, 793, 793, 793, 793, 793, 793, 806,
680 806, 774, 774, 800, 774, 774, 800, 774, 774, 801,
682 774, 774, 774, 774, 774, 774, 789, 789, 789, 789,
683 789, 789, 789, 789, 789, 774, 802, 774, 802, 774,
684 774, 774, 774, 774, 774, 774, 774, 774, 774, 803,
685 774, 803, 774, 774, 774, 774, 791, 791, 791, 791,
686 774, 804, 774, 804, 774, 774, 774, 774, 805, 774,
687 805, 793, 793, 793, 793, 793, 793, 793, 774, 806,
688 774, 806, 774, 800, 807, 774, 774, 774, 774, 774,
689 789, 789, 789, 789, 789, 774, 774, 789, 789, 789,
690 802, 774, 774, 774, 774, 774, 774, 774, 774, 774,
691 774, 803, 774, 791, 774, 774, 791, 791, 791, 804,
693 774, 774, 774, 774, 805, 774, 774, 774, 774, 793,
694 793, 774, 774, 793, 774, 774, 806, 774, 800, 807,
695 807, 774, 807, 774, 774, 774, 789, 774, 774, 789,
696 774, 774, 789, 774, 774, 774, 789, 774, 789, 774,
697 789, 802, 774, 774, 774, 774, 774, 803, 774, 774,
698 774, 774, 774, 774, 791, 791, 791, 774, 774, 774,
699 805, 774, 774, 774, 774, 774, 774, 793, 793, 774,
700 774, 774, 793, 774, 774, 774, 806, 774, 800, 807,
701 807, 774, 789, 774, 774, 774, 789, 774, 774, 774,
702 789, 789, 789, 774, 774, 774, 789, 774, 774, 774,
704 774, 774, 803, 774, 774, 774, 774, 791, 791, 791,
705 805, 774, 774, 774, 774, 793, 793, 793, 774, 774,
706 774, 800, 807, 807, 789, 789, 789, 774, 774, 789,
707 789, 774, 774, 774, 774, 791, 774, 774, 774, 774,
708 805, 774, 774, 774, 774, 793, 793, 793, 774, 800,
709 807, 807, 789, 789, 774, 774, 774, 774, 774, 789,
710 789, 791, 774, 774, 774, 774, 774, 774, 774, 774,
711 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
712 774, 800, 807, 807, 789, 774, 774, 774, 774, 774,
713 774, 774, 789, 774, 774, 774, 774, 774, 774, 774,
715 774, 774, 774, 774, 774, 774, 774, 774, 800, 807,
716 807, 774, 774, 774, 774, 774, 774, 774, 774, 789,
717 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
718 774, 774, 774, 774, 774, 774, 774, 774, 774, 800,
719 807, 807, 774, 774, 774, 789, 774, 774, 774, 774,
720 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
721 774, 774, 800, 807, 807, 789, 774, 774, 774, 774,
722 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
723 800, 807, 807, 807, 789, 774, 774, 774, 774, 774,
724 774, 774, 774, 774, 774, 774, 774, 800, 807, 807,
726 807, 808, 809, 789, 774, 774, 774, 774, 774, 774,
727 774, 774, 774, 774, 774, 774, 800, 807, 810, 811,
728 808, 809, 789, 774, 774, 774, 774, 774, 774, 800,
729 810, 807, 812, 811, 813, 807, 789, 800, 812, 774,
730 813, 807, 789, 800, 774, 774, 774, 800, 774, 774,
731 774, 774, 800, 800, 800, 800, 800, 800, 800, 800,
732 800, 800, 800, 800, 800, 800, 800, 800, 800, 800,
733 800, 800, 774, 0, 774, 774, 774, 774, 774, 774,
734 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
735 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
737 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
741 static yyconst flex_int16_t yy_nxt[2195] =
743 774, 70, 71, 70, 70, 71, 70, 70, 71, 70,
744 70, 71, 70, 78, 240, 72, 78, 81, 72, 81,
745 79, 73, 422, 79, 73, 75, 71, 75, 75, 71,
746 75, 84, 85, 82, 295, 82, 86, 87, 364, 76,
747 84, 85, 76, 524, 88, 86, 87, 84, 85, 188,
748 89, 171, 86, 88, 84, 85, 189, 89, 241, 86,
749 88, 91, 92, 91, 92, 172, 171, 88, 71, 71,
750 71, 71, 71, 71, 109, 71, 109, 109, 71, 109,
751 173, 195, 94, 230, 240, 94, 299, 196, 110, 231,
752 242, 110, 93, 243, 93, 95, 96, 71, 96, 95,
754 95, 95, 95, 95, 95, 95, 97, 95, 98, 95,
755 99, 95, 100, 95, 98, 98, 98, 98, 98, 98,
756 98, 98, 98, 98, 98, 98, 98, 95, 95, 98,
757 98, 101, 98, 98, 102, 98, 98, 103, 104, 98,
758 98, 98, 105, 98, 98, 98, 98, 98, 98, 98,
759 106, 107, 98, 98, 109, 71, 109, 109, 71, 109,
760 71, 71, 71, 71, 71, 71, 512, 514, 111, 422,
761 749, 111, 513, 515, 112, 422, 174, 112, 109, 71,
762 109, 109, 71, 109, 71, 71, 71, 71, 71, 71,
763 173, 295, 110, 422, 551, 110, 422, 550, 113, 523,
765 174, 113, 109, 71, 109, 109, 71, 109, 109, 71,
766 109, 109, 71, 109, 173, 740, 111, 422, 423, 111,
767 745, 611, 114, 740, 583, 114, 115, 116, 71, 116,
768 115, 115, 115, 115, 115, 115, 115, 117, 115, 422,
769 115, 119, 115, 120, 115, 422, 123, 71, 123, 123,
770 71, 123, 71, 71, 71, 71, 71, 71, 115, 115,
771 124, 422, 174, 124, 641, 610, 125, 743, 740, 125,
772 170, 170, 170, 170, 170, 170, 173, 121, 115, 116,
773 71, 116, 115, 115, 115, 115, 115, 115, 115, 117,
774 115, 664, 115, 119, 115, 120, 115, 295, 123, 71,
776 123, 123, 71, 123, 123, 71, 123, 123, 71, 123,
777 115, 115, 124, 295, 174, 124, 740, 640, 126, 748,
778 737, 126, 170, 170, 170, 170, 170, 170, 173, 121,
779 127, 128, 71, 128, 127, 127, 127, 127, 127, 127,
780 127, 129, 127, 130, 127, 131, 127, 132, 127, 130,
781 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
782 130, 130, 127, 127, 130, 130, 130, 130, 130, 130,
783 130, 130, 133, 130, 130, 134, 130, 135, 130, 130,
784 130, 136, 130, 130, 130, 137, 130, 130, 130, 139,
785 71, 139, 139, 71, 139, 71, 71, 71, 71, 71,
787 71, 422, 422, 140, 729, 295, 140, 728, 422, 141,
788 727, 174, 141, 139, 71, 139, 139, 71, 139, 139,
789 71, 139, 139, 71, 139, 173, 726, 140, 681, 725,
790 140, 682, 665, 142, 724, 552, 142, 143, 144, 71,
791 144, 143, 143, 143, 143, 143, 143, 143, 145, 143,
792 723, 143, 147, 143, 148, 143, 295, 151, 71, 151,
793 151, 71, 151, 166, 71, 166, 166, 71, 166, 143,
794 143, 152, 174, 174, 152, 295, 757, 167, 422, 716,
795 167, 179, 170, 170, 170, 297, 173, 173, 149, 143,
796 144, 71, 144, 143, 143, 143, 143, 143, 143, 143,
798 145, 143, 185, 143, 147, 143, 148, 143, 295, 180,
799 170, 170, 170, 584, 732, 181, 170, 170, 170, 522,
800 182, 143, 143, 735, 295, 183, 170, 170, 170, 170,
801 170, 170, 170, 170, 170, 170, 170, 170, 479, 715,
802 149, 153, 154, 71, 154, 153, 153, 153, 153, 153,
803 153, 153, 155, 153, 156, 153, 157, 153, 158, 153,
804 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
805 156, 156, 156, 153, 153, 156, 156, 156, 156, 156,
806 159, 156, 156, 156, 156, 156, 160, 156, 156, 161,
807 156, 156, 162, 163, 164, 156, 156, 156, 156, 156,
809 84, 85, 84, 85, 174, 86, 628, 86, 174, 630,
810 174, 197, 174, 168, 714, 168, 174, 222, 173, 197,
811 629, 632, 173, 631, 173, 174, 173, 170, 170, 170,
812 173, 169, 232, 169, 198, 633, 199, 236, 198, 173,
813 204, 713, 198, 200, 199, 174, 198, 200, 199, 201,
814 237, 203, 197, 201, 202, 203, 712, 201, 202, 173,
815 422, 201, 202, 295, 174, 634, 202, 174, 170, 170,
816 170, 208, 170, 170, 170, 198, 419, 204, 173, 635,
817 732, 173, 711, 710, 203, 295, 174, 271, 271, 271,
818 201, 642, 733, 208, 198, 202, 204, 198, 744, 204,
820 173, 295, 272, 203, 709, 174, 203, 636, 174, 209,
821 638, 732, 209, 738, 202, 217, 198, 202, 204, 173,
822 708, 637, 173, 733, 639, 203, 295, 174, 327, 327,
823 327, 201, 295, 707, 217, 198, 202, 204, 198, 732,
824 204, 173, 295, 328, 203, 295, 758, 203, 735, 663,
825 201, 706, 705, 201, 753, 218, 730, 198, 218, 204,
826 316, 316, 316, 316, 316, 316, 203, 329, 329, 329,
827 295, 763, 201, 329, 329, 329, 318, 202, 295, 318,
828 271, 271, 271, 331, 334, 334, 334, 759, 335, 331,
829 295, 336, 341, 341, 341, 272, 341, 341, 341, 319,
831 346, 346, 346, 348, 348, 348, 704, 760, 343, 348,
832 348, 348, 343, 332, 697, 347, 359, 359, 359, 350,
833 359, 359, 359, 295, 295, 350, 376, 376, 376, 316,
834 316, 316, 361, 316, 316, 316, 361, 316, 316, 316,
835 295, 377, 351, 344, 696, 318, 384, 384, 384, 318,
836 387, 387, 387, 318, 327, 327, 327, 389, 389, 389,
837 765, 390, 761, 762, 391, 329, 329, 329, 695, 328,
838 381, 362, 329, 329, 329, 329, 329, 329, 334, 334,
839 334, 331, 335, 764, 694, 336, 693, 692, 331, 691,
840 295, 331, 395, 395, 395, 341, 341, 341, 341, 341,
842 341, 341, 341, 341, 346, 346, 346, 396, 402, 402,
843 402, 343, 403, 690, 343, 404, 392, 343, 295, 347,
844 348, 348, 348, 348, 348, 348, 348, 348, 348, 406,
845 406, 406, 408, 408, 408, 400, 350, 771, 766, 350,
846 689, 688, 350, 397, 407, 687, 295, 409, 412, 412,
847 412, 415, 415, 415, 359, 359, 359, 359, 359, 359,
848 426, 426, 426, 413, 686, 295, 416, 359, 359, 359,
849 361, 685, 680, 361, 679, 678, 405, 421, 421, 421,
850 428, 428, 428, 361, 431, 431, 431, 376, 376, 376,
851 443, 443, 443, 422, 423, 429, 434, 434, 434, 432,
853 435, 767, 377, 436, 417, 438, 438, 438, 316, 316,
854 316, 384, 384, 384, 446, 446, 446, 439, 677, 771,
855 440, 387, 387, 387, 318, 389, 389, 389, 676, 390,
856 295, 295, 391, 329, 329, 329, 450, 450, 450, 395,
857 395, 395, 458, 458, 458, 675, 674, 442, 295, 331,
858 769, 451, 295, 673, 396, 452, 452, 452, 459, 453,
859 672, 671, 454, 460, 460, 460, 402, 402, 402, 670,
860 403, 669, 770, 404, 348, 348, 348, 448, 406, 406,
861 406, 462, 462, 462, 768, 463, 668, 667, 464, 666,
862 350, 662, 661, 407, 408, 408, 408, 465, 465, 465,
864 660, 466, 659, 658, 467, 412, 412, 412, 657, 409,
865 656, 461, 470, 470, 470, 655, 471, 654, 653, 472,
866 413, 415, 415, 415, 474, 474, 474, 652, 475, 651,
867 650, 476, 359, 359, 359, 649, 416, 421, 421, 421,
868 426, 426, 426, 428, 428, 428, 648, 647, 361, 646,
869 484, 484, 484, 422, 485, 627, 626, 486, 429, 625,
870 431, 431, 431, 488, 488, 488, 624, 489, 620, 599,
871 490, 438, 438, 438, 480, 432, 598, 434, 434, 434,
872 597, 435, 596, 477, 436, 593, 440, 585, 494, 494,
873 494, 481, 495, 581, 574, 496, 498, 498, 498, 443,
875 443, 443, 500, 500, 500, 446, 446, 446, 502, 502,
876 502, 573, 499, 329, 329, 329, 450, 450, 450, 505,
877 505, 505, 572, 506, 571, 562, 507, 561, 560, 331,
878 554, 451, 452, 452, 452, 553, 453, 549, 548, 454,
879 458, 458, 458, 460, 460, 460, 348, 348, 348, 503,
880 462, 462, 462, 547, 463, 546, 459, 464, 545, 465,
881 465, 465, 350, 466, 544, 543, 467, 470, 470, 470,
882 542, 471, 536, 531, 472, 474, 474, 474, 530, 475,
883 527, 526, 476, 519, 519, 519, 484, 484, 484, 525,
884 485, 521, 511, 486, 488, 488, 488, 518, 489, 520,
886 517, 490, 528, 528, 528, 494, 494, 494, 516, 495,
887 510, 509, 496, 498, 498, 498, 508, 529, 500, 500,
888 500, 532, 532, 532, 502, 502, 502, 504, 501, 499,
889 533, 533, 533, 535, 535, 535, 505, 505, 505, 497,
890 506, 493, 492, 507, 491, 487, 534, 537, 537, 537,
891 539, 539, 539, 348, 348, 348, 519, 519, 519, 555,
892 555, 555, 538, 483, 482, 540, 528, 528, 528, 350,
893 422, 478, 520, 473, 556, 557, 557, 557, 469, 558,
894 468, 529, 559, 532, 532, 532, 533, 533, 533, 535,
895 535, 535, 537, 537, 537, 457, 563, 563, 563, 456,
897 564, 455, 534, 565, 449, 541, 447, 538, 539, 539,
898 539, 566, 566, 566, 445, 567, 444, 441, 568, 569,
899 569, 569, 437, 540, 575, 575, 575, 577, 577, 577,
900 579, 579, 579, 433, 430, 570, 582, 582, 582, 576,
901 427, 425, 578, 424, 418, 580, 586, 586, 586, 555,
902 555, 555, 295, 588, 588, 588, 414, 589, 411, 410,
903 590, 587, 401, 399, 556, 557, 557, 557, 398, 558,
904 394, 393, 559, 591, 591, 591, 594, 594, 594, 563,
905 563, 563, 388, 564, 386, 385, 565, 383, 592, 382,
906 380, 595, 566, 566, 566, 379, 567, 378, 375, 568,
908 569, 569, 569, 575, 575, 575, 600, 600, 600, 374,
909 601, 373, 372, 602, 371, 370, 570, 369, 576, 577,
910 577, 577, 603, 603, 603, 368, 604, 367, 366, 605,
911 579, 579, 579, 365, 578, 606, 606, 606, 295, 607,
912 363, 358, 608, 357, 356, 580, 582, 582, 582, 612,
913 612, 612, 586, 586, 586, 355, 614, 614, 614, 354,
914 615, 353, 295, 616, 613, 352, 345, 587, 588, 588,
915 588, 340, 589, 339, 338, 590, 591, 591, 591, 609,
916 617, 617, 617, 337, 618, 333, 326, 619, 594, 594,
917 594, 592, 621, 621, 621, 325, 622, 324, 323, 623,
919 600, 600, 600, 595, 601, 322, 321, 602, 603, 603,
920 603, 320, 604, 315, 314, 605, 606, 606, 606, 313,
921 607, 312, 311, 608, 612, 612, 612, 643, 643, 643,
922 310, 644, 309, 308, 645, 307, 614, 614, 614, 613,
923 615, 306, 305, 616, 617, 617, 617, 304, 618, 303,
924 302, 619, 621, 621, 621, 301, 622, 298, 296, 623,
925 643, 643, 643, 295, 644, 293, 292, 645, 683, 683,
926 683, 698, 698, 698, 699, 699, 699, 683, 683, 683,
927 291, 289, 288, 684, 422, 287, 286, 295, 285, 700,
928 422, 284, 684, 422, 701, 701, 701, 283, 702, 282,
930 280, 703, 698, 698, 698, 699, 699, 699, 279, 278,
931 422, 276, 718, 718, 718, 275, 719, 274, 295, 720,
932 700, 422, 701, 701, 701, 273, 702, 270, 422, 703,
933 717, 269, 742, 742, 742, 754, 754, 754, 422, 420,
934 420, 420, 420, 420, 420, 420, 420, 420, 422, 423,
935 420, 295, 267, 420, 420, 420, 422, 420, 750, 750,
936 750, 266, 751, 265, 264, 752, 742, 742, 742, 263,
937 262, 420, 420, 420, 420, 420, 420, 420, 420, 420,
938 420, 420, 422, 261, 420, 260, 259, 420, 420, 420,
939 422, 420, 718, 718, 718, 257, 719, 256, 255, 720,
941 750, 750, 750, 480, 751, 420, 420, 752, 422, 420,
942 420, 420, 420, 420, 736, 420, 420, 420, 254, 253,
943 420, 252, 251, 420, 420, 420, 422, 420, 250, 249,
944 248, 247, 246, 245, 244, 239, 236, 746, 746, 746,
945 238, 420, 420, 420, 420, 420, 420, 420, 420, 420,
946 420, 736, 747, 234, 420, 233, 229, 420, 420, 420,
947 422, 420, 746, 746, 746, 754, 754, 754, 228, 755,
948 227, 226, 756, 225, 223, 420, 420, 747, 772, 772,
949 772, 295, 772, 772, 772, 221, 219, 216, 215, 214,
950 213, 212, 210, 207, 773, 205, 194, 193, 773, 68,
952 68, 68, 68, 68, 68, 68, 69, 69, 69, 69,
953 69, 69, 69, 74, 74, 74, 74, 74, 74, 74,
954 77, 77, 77, 77, 77, 77, 77, 80, 80, 80,
955 80, 80, 80, 80, 83, 83, 83, 83, 83, 83,
956 83, 90, 90, 90, 90, 90, 90, 90, 108, 108,
957 108, 108, 108, 108, 108, 118, 118, 118, 118, 118,
958 118, 118, 122, 122, 122, 122, 122, 122, 122, 138,
959 138, 138, 138, 138, 138, 138, 146, 146, 146, 146,
960 146, 146, 146, 150, 150, 150, 150, 150, 150, 150,
961 165, 165, 165, 165, 165, 165, 165, 187, 187, 187,
963 192, 187, 206, 206, 206, 191, 206, 211, 211, 211,
964 190, 211, 220, 220, 220, 186, 220, 224, 224, 224,
965 184, 224, 235, 235, 235, 235, 235, 178, 235, 258,
966 177, 258, 268, 178, 268, 277, 177, 277, 281, 176,
967 281, 290, 175, 290, 294, 294, 294, 294, 294, 294,
968 294, 300, 774, 774, 300, 317, 317, 317, 317, 317,
969 317, 330, 330, 330, 330, 330, 330, 342, 342, 342,
970 342, 342, 342, 349, 349, 349, 349, 349, 349, 360,
971 360, 360, 360, 360, 360, 420, 420, 420, 420, 420,
972 420, 420, 721, 721, 721, 721, 721, 721, 721, 722,
974 722, 722, 722, 722, 722, 722, 731, 731, 731, 731,
975 731, 731, 731, 734, 734, 734, 734, 734, 734, 734,
976 739, 739, 739, 739, 739, 739, 739, 741, 741, 741,
977 741, 741, 741, 741, 67, 774, 774, 774, 774, 774,
978 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
979 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
980 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
981 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
982 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
987 static yyconst flex_int16_t yy_chk[2195] =
989 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
990 6, 6, 6, 9, 179, 3, 10, 11, 4, 12,
991 9, 5, 481, 10, 6, 7, 7, 7, 8, 8,
992 8, 13, 13, 11, 297, 12, 13, 13, 297, 7,
993 14, 14, 8, 481, 13, 14, 14, 15, 15, 101,
994 15, 72, 15, 14, 16, 16, 101, 16, 179, 16,
995 15, 17, 17, 18, 18, 72, 73, 16, 19, 19,
996 19, 20, 20, 20, 23, 23, 23, 24, 24, 24,
997 73, 107, 19, 164, 240, 20, 240, 107, 23, 164,
998 180, 24, 17, 180, 18, 21, 21, 21, 21, 21,
1000 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1001 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1002 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1003 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1004 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1005 21, 21, 21, 21, 25, 25, 25, 26, 26, 26,
1006 27, 27, 27, 28, 28, 28, 466, 467, 25, 480,
1007 745, 26, 466, 467, 27, 523, 76, 28, 29, 29,
1008 29, 30, 30, 30, 31, 31, 31, 32, 32, 32,
1009 76, 522, 29, 551, 523, 30, 584, 522, 31, 480,
1011 99, 32, 33, 33, 33, 34, 34, 34, 35, 35,
1012 35, 36, 36, 36, 99, 741, 33, 732, 732, 34,
1013 740, 584, 35, 739, 551, 36, 37, 37, 37, 37,
1014 37, 37, 37, 37, 37, 37, 37, 37, 37, 610,
1015 37, 37, 37, 37, 37, 583, 39, 39, 39, 40,
1016 40, 40, 41, 41, 41, 42, 42, 42, 37, 37,
1017 39, 641, 119, 40, 610, 583, 41, 737, 735, 42,
1018 70, 70, 70, 71, 71, 71, 119, 37, 38, 38,
1019 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
1020 38, 641, 38, 38, 38, 38, 38, 609, 43, 43,
1022 43, 44, 44, 44, 45, 45, 45, 46, 46, 46,
1023 38, 38, 43, 744, 131, 44, 733, 609, 45, 744,
1024 723, 46, 75, 75, 75, 96, 96, 96, 131, 38,
1025 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
1026 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
1027 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
1028 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
1029 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
1030 47, 47, 47, 47, 47, 47, 47, 47, 47, 49,
1031 49, 49, 50, 50, 50, 51, 51, 51, 52, 52,
1033 52, 524, 642, 49, 715, 663, 50, 713, 664, 51,
1034 711, 147, 52, 53, 53, 53, 54, 54, 54, 55,
1035 55, 55, 56, 56, 56, 147, 709, 53, 663, 707,
1036 54, 664, 642, 55, 705, 524, 56, 57, 57, 57,
1037 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
1038 704, 57, 57, 57, 57, 57, 755, 59, 59, 59,
1039 60, 60, 60, 63, 63, 63, 64, 64, 64, 57,
1040 57, 59, 94, 157, 60, 237, 755, 63, 552, 697,
1041 64, 86, 109, 109, 109, 237, 94, 157, 57, 58,
1042 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1044 58, 58, 94, 58, 58, 58, 58, 58, 479, 86,
1045 116, 116, 116, 552, 720, 86, 123, 123, 123, 479,
1046 86, 58, 58, 720, 419, 86, 128, 128, 128, 139,
1047 139, 139, 144, 144, 144, 151, 151, 151, 419, 696,
1048 58, 61, 61, 61, 61, 61, 61, 61, 61, 61,
1049 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
1050 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
1051 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
1052 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
1053 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
1055 65, 65, 66, 66, 110, 65, 601, 66, 112, 602,
1056 152, 110, 111, 65, 695, 66, 113, 152, 110, 111,
1057 601, 604, 112, 602, 152, 167, 111, 154, 154, 154,
1058 113, 65, 167, 66, 110, 604, 110, 171, 112, 167,
1059 112, 694, 111, 110, 111, 114, 113, 112, 113, 110,
1060 171, 111, 114, 112, 110, 113, 693, 111, 112, 114,
1061 611, 113, 111, 364, 124, 605, 113, 125, 166, 166,
1062 166, 124, 170, 170, 170, 114, 364, 114, 124, 605,
1063 719, 125, 692, 691, 114, 738, 126, 212, 212, 212,
1064 114, 611, 719, 126, 124, 114, 124, 125, 738, 125,
1066 126, 730, 212, 124, 690, 141, 125, 607, 140, 124,
1067 608, 731, 125, 730, 124, 140, 126, 125, 126, 141,
1068 689, 607, 140, 731, 608, 126, 756, 142, 267, 267,
1069 267, 126, 640, 688, 142, 141, 126, 141, 140, 734,
1070 140, 142, 717, 267, 141, 748, 756, 140, 734, 640,
1071 141, 687, 686, 140, 748, 141, 717, 142, 140, 142,
1072 258, 258, 258, 259, 259, 259, 142, 268, 268, 268,
1073 757, 761, 142, 269, 269, 269, 258, 142, 761, 259,
1074 271, 271, 271, 268, 272, 272, 272, 757, 272, 269,
1075 758, 272, 277, 277, 277, 271, 278, 278, 278, 259,
1077 280, 280, 280, 281, 281, 281, 685, 758, 277, 282,
1078 282, 282, 278, 269, 680, 280, 290, 290, 290, 281,
1079 291, 291, 291, 759, 760, 282, 312, 312, 312, 316,
1080 316, 316, 290, 317, 317, 317, 291, 319, 319, 319,
1081 763, 312, 282, 278, 679, 316, 322, 322, 322, 317,
1082 325, 325, 325, 319, 327, 327, 327, 328, 328, 328,
1083 763, 328, 759, 760, 328, 329, 329, 329, 678, 327,
1084 319, 291, 330, 330, 330, 332, 332, 332, 334, 334,
1085 334, 329, 334, 762, 677, 334, 676, 675, 330, 674,
1086 762, 332, 338, 338, 338, 341, 341, 341, 342, 342,
1088 342, 344, 344, 344, 346, 346, 346, 338, 347, 347,
1089 347, 341, 347, 673, 342, 347, 332, 344, 764, 346,
1090 348, 348, 348, 349, 349, 349, 351, 351, 351, 352,
1091 352, 352, 353, 353, 353, 344, 348, 770, 764, 349,
1092 672, 671, 351, 338, 352, 670, 770, 353, 356, 356,
1093 356, 358, 358, 358, 359, 359, 359, 360, 360, 360,
1094 370, 370, 370, 356, 669, 765, 358, 362, 362, 362,
1095 359, 666, 662, 360, 661, 660, 351, 365, 365, 365,
1096 372, 372, 372, 362, 374, 374, 374, 376, 376, 376,
1097 382, 382, 382, 365, 365, 372, 377, 377, 377, 374,
1099 377, 765, 376, 377, 362, 379, 379, 379, 381, 381,
1100 381, 384, 384, 384, 386, 386, 386, 379, 659, 769,
1101 379, 387, 387, 387, 381, 389, 389, 389, 658, 389,
1102 767, 769, 389, 392, 392, 392, 394, 394, 394, 395,
1103 395, 395, 400, 400, 400, 657, 656, 381, 766, 392,
1104 767, 394, 768, 655, 395, 396, 396, 396, 400, 396,
1105 654, 653, 396, 401, 401, 401, 402, 402, 402, 652,
1106 402, 651, 768, 402, 405, 405, 405, 392, 406, 406,
1107 406, 407, 407, 407, 766, 407, 650, 648, 407, 646,
1108 405, 639, 638, 406, 408, 408, 408, 409, 409, 409,
1110 637, 409, 636, 635, 409, 412, 412, 412, 634, 408,
1111 633, 405, 413, 413, 413, 632, 413, 631, 630, 413,
1112 412, 415, 415, 415, 416, 416, 416, 629, 416, 628,
1113 627, 416, 417, 417, 417, 626, 415, 421, 421, 421,
1114 426, 426, 426, 428, 428, 428, 625, 624, 417, 620,
1115 429, 429, 429, 421, 429, 599, 598, 429, 428, 597,
1116 431, 431, 431, 432, 432, 432, 596, 432, 593, 574,
1117 432, 438, 438, 438, 421, 431, 573, 434, 434, 434,
1118 572, 434, 571, 417, 434, 561, 438, 553, 440, 440,
1119 440, 421, 440, 549, 545, 440, 442, 442, 442, 443,
1121 443, 443, 444, 444, 444, 446, 446, 446, 447, 447,
1122 447, 544, 442, 448, 448, 448, 450, 450, 450, 451,
1123 451, 451, 543, 451, 542, 536, 451, 531, 530, 448,
1124 526, 450, 452, 452, 452, 525, 452, 521, 518, 452,
1125 458, 458, 458, 460, 460, 460, 461, 461, 461, 448,
1126 462, 462, 462, 517, 462, 516, 458, 462, 515, 465,
1127 465, 465, 461, 465, 514, 513, 465, 470, 470, 470,
1128 512, 470, 508, 497, 470, 474, 474, 474, 493, 474,
1129 491, 487, 474, 477, 477, 477, 484, 484, 484, 483,
1130 484, 478, 461, 484, 488, 488, 488, 473, 488, 477,
1132 469, 488, 492, 492, 492, 494, 494, 494, 468, 494,
1133 457, 456, 494, 498, 498, 498, 455, 492, 500, 500,
1134 500, 501, 501, 501, 502, 502, 502, 449, 445, 498,
1135 503, 503, 503, 504, 504, 504, 505, 505, 505, 441,
1136 505, 439, 437, 505, 433, 430, 503, 509, 509, 509,
1137 510, 510, 510, 511, 511, 511, 519, 519, 519, 527,
1138 527, 527, 509, 427, 423, 510, 528, 528, 528, 511,
1139 420, 418, 519, 414, 527, 529, 529, 529, 411, 529,
1140 410, 528, 529, 532, 532, 532, 533, 533, 533, 535,
1141 535, 535, 537, 537, 537, 399, 538, 538, 538, 398,
1143 538, 397, 533, 538, 393, 511, 388, 537, 539, 539,
1144 539, 540, 540, 540, 385, 540, 383, 380, 540, 541,
1145 541, 541, 378, 539, 546, 546, 546, 547, 547, 547,
1146 548, 548, 548, 375, 373, 541, 550, 550, 550, 546,
1147 371, 369, 547, 368, 363, 548, 554, 554, 554, 555,
1148 555, 555, 550, 556, 556, 556, 357, 556, 355, 354,
1149 556, 554, 345, 340, 555, 557, 557, 557, 339, 557,
1150 337, 333, 557, 560, 560, 560, 562, 562, 562, 563,
1151 563, 563, 326, 563, 324, 323, 563, 321, 560, 320,
1152 315, 562, 566, 566, 566, 314, 566, 313, 311, 566,
1154 569, 569, 569, 575, 575, 575, 576, 576, 576, 310,
1155 576, 309, 308, 576, 307, 306, 569, 305, 575, 577,
1156 577, 577, 578, 578, 578, 302, 578, 301, 300, 578,
1157 579, 579, 579, 298, 577, 580, 580, 580, 294, 580,
1158 292, 289, 580, 288, 287, 579, 582, 582, 582, 585,
1159 585, 585, 586, 586, 586, 286, 587, 587, 587, 285,
1160 587, 284, 582, 587, 585, 283, 279, 586, 588, 588,
1161 588, 276, 588, 275, 274, 588, 591, 591, 591, 582,
1162 592, 592, 592, 273, 592, 270, 266, 592, 594, 594,
1163 594, 591, 595, 595, 595, 265, 595, 264, 263, 595,
1165 600, 600, 600, 594, 600, 262, 261, 600, 603, 603,
1166 603, 260, 603, 257, 256, 603, 606, 606, 606, 255,
1167 606, 254, 253, 606, 612, 612, 612, 613, 613, 613,
1168 252, 613, 251, 250, 613, 249, 614, 614, 614, 612,
1169 614, 248, 246, 614, 617, 617, 617, 245, 617, 244,
1170 243, 617, 621, 621, 621, 242, 621, 238, 236, 621,
1171 643, 643, 643, 235, 643, 234, 233, 643, 665, 665,
1172 665, 681, 681, 681, 682, 682, 682, 683, 683, 683,
1173 232, 231, 230, 665, 665, 229, 228, 681, 227, 682,
1174 682, 226, 683, 683, 684, 684, 684, 225, 684, 222,
1176 221, 684, 698, 698, 698, 699, 699, 699, 218, 217,
1177 684, 216, 700, 700, 700, 215, 700, 214, 698, 700,
1178 699, 699, 701, 701, 701, 213, 701, 209, 700, 701,
1179 698, 208, 736, 736, 736, 753, 753, 753, 701, 702,
1180 702, 702, 702, 702, 702, 702, 702, 702, 736, 736,
1181 702, 753, 207, 702, 702, 702, 702, 702, 747, 747,
1182 747, 204, 747, 203, 202, 747, 742, 742, 742, 201,
1183 200, 702, 702, 703, 703, 703, 703, 703, 703, 703,
1184 703, 703, 742, 199, 703, 198, 197, 703, 703, 703,
1185 703, 703, 718, 718, 718, 196, 718, 195, 194, 718,
1187 750, 750, 750, 742, 750, 703, 703, 750, 718, 721,
1188 721, 721, 721, 721, 721, 721, 721, 721, 193, 192,
1189 721, 191, 190, 721, 721, 721, 721, 721, 189, 188,
1190 185, 184, 183, 182, 181, 175, 174, 743, 743, 743,
1191 172, 721, 721, 722, 722, 722, 722, 722, 722, 722,
1192 722, 722, 743, 169, 722, 168, 163, 722, 722, 722,
1193 722, 722, 746, 746, 746, 754, 754, 754, 162, 754,
1194 161, 160, 754, 159, 155, 722, 722, 746, 771, 771,
1195 771, 754, 772, 772, 772, 149, 145, 137, 136, 135,
1196 134, 133, 129, 121, 771, 117, 106, 105, 772, 775,
1198 775, 775, 775, 775, 775, 775, 776, 776, 776, 776,
1199 776, 776, 776, 777, 777, 777, 777, 777, 777, 777,
1200 778, 778, 778, 778, 778, 778, 778, 779, 779, 779,
1201 779, 779, 779, 779, 780, 780, 780, 780, 780, 780,
1202 780, 781, 781, 781, 781, 781, 781, 781, 782, 782,
1203 782, 782, 782, 782, 782, 783, 783, 783, 783, 783,
1204 783, 783, 784, 784, 784, 784, 784, 784, 784, 785,
1205 785, 785, 785, 785, 785, 785, 786, 786, 786, 786,
1206 786, 786, 786, 787, 787, 787, 787, 787, 787, 787,
1207 788, 788, 788, 788, 788, 788, 788, 789, 789, 789,
1209 104, 789, 790, 790, 790, 103, 790, 791, 791, 791,
1210 102, 791, 792, 792, 792, 97, 792, 793, 793, 793,
1211 93, 793, 794, 794, 794, 794, 794, 92, 794, 795,
1212 91, 795, 796, 85, 796, 797, 84, 797, 798, 82,
1213 798, 799, 79, 799, 800, 800, 800, 800, 800, 800,
1214 800, 801, 67, 0, 801, 802, 802, 802, 802, 802,
1215 802, 803, 803, 803, 803, 803, 803, 804, 804, 804,
1216 804, 804, 804, 805, 805, 805, 805, 805, 805, 806,
1217 806, 806, 806, 806, 806, 807, 807, 807, 807, 807,
1218 807, 807, 808, 808, 808, 808, 808, 808, 808, 809,
1220 809, 809, 809, 809, 809, 809, 810, 810, 810, 810,
1221 810, 810, 810, 811, 811, 811, 811, 811, 811, 811,
1222 812, 812, 812, 812, 812, 812, 812, 813, 813, 813,
1223 813, 813, 813, 813, 774, 774, 774, 774, 774, 774,
1224 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
1225 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
1226 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
1227 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
1228 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
1233 /* Table of booleans, true if rule could match eol. */
1234 static yyconst flex_int32_t yy_rule_can_match_eol[141] =
1236 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
1237 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
1238 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1,
1239 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1,
1240 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1241 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0,
1242 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1,
1245 static yy_state_type yy_last_accepting_state;
1246 static char *yy_last_accepting_cpos;
1248 extern int dax__flex_debug;
1249 int dax__flex_debug = 0;
1251 /* The intent behind this definition is that it'll catch
1252 * any uses of REJECT which flex missed.
1254 #define REJECT reject_used_but_not_detected
1255 #define yymore() yymore_used_but_not_detected
1256 #define YY_MORE_ADJ 0
1257 #define YY_RESTORE_YY_MORE_OFFSET
1259 /* Validating XML processor for src/simdag/dax.dtd.
1261 * This program was generated with the FleXML XML processor generator.
1262 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
1263 * FleXML is Copyright (C) 2003-2013 Martin Quinson. All rights reserved.
1266 * There are two, intertwined parts to this program, part A and part B.
1271 * Some parts, here collectively called "Part A", are found in the
1272 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
1273 * and Copyright (C) 2003-2013 Martin Quinson. All rights reserved.
1275 * You can redistribute, use, perform, display and/or modify "Part A"
1276 * provided the following two conditions hold:
1278 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
1279 * FleXML; without even the implied warranty of MERCHANTABILITY or
1280 * FITNESS FOR A PARTICULAR PURPOSE.
1282 * 2. The program distribution conditions do not in any way affect the
1283 * distribution conditions of the FleXML system used to generate this
1284 * file or any version of FleXML derived from that system.
1286 * Notice that these are explicit rights granted to you for files
1287 * generated by the FleXML system. For your rights in connection with
1288 * the FleXML system itself please consult the GNU General Public License.
1293 * The other parts, here collectively called "Part B", and which came
1294 * from the DTD used by FleXML to generate this program, can be
1295 * distributed (or not, as the case may be) under the terms of whoever
1296 * wrote them, provided these terms respect and obey the two conditions
1297 * above under the heading "Part A".
1299 * The author of and contributors to FleXML specifically disclaim
1300 * any copyright interest in "Part B", unless "Part B" was written
1301 * by the author of or contributors to FleXML.
1305 /* Version strings. */
1306 const char dax__flexml_version[] = "1.9.6";
1309 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
1316 #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
1317 # ifndef __STRICT_ANSI__
1319 # include <process.h>
1322 # include <unistd.h>
1325 #ifndef FLEXML_INDEXSTACKSIZE
1326 #define FLEXML_INDEXSTACKSIZE 1000
1329 /* Generated definitions. */
1330 #define FLEXML_yylineno
1331 #ifndef FLEXML_BUFFERSTACKSIZE
1332 #define FLEXML_BUFFERSTACKSIZE 1000000
1334 #define FLEXML_NEED_BUFFERLIT
1336 /* XML processor api. */
1337 /* FleXML-provided data. */
1339 extern char *dax__bufferstack;
1340 #define dax__pcdata (dax__bufferstack + dax__pcdata_ix)
1341 AT_dax__adag_childCount AX_dax__adag_childCount;
1342 #define A_dax__adag_childCount (dax__bufferstack + AX_dax__adag_childCount)
1343 short int dax__adag_childCount_isset;
1344 AT_dax__adag_count AX_dax__adag_count;
1345 #define A_dax__adag_count (dax__bufferstack + AX_dax__adag_count)
1346 short int dax__adag_count_isset;
1347 AT_dax__adag_fileCount AX_dax__adag_fileCount;
1348 #define A_dax__adag_fileCount (dax__bufferstack + AX_dax__adag_fileCount)
1349 short int dax__adag_fileCount_isset;
1350 AT_dax__adag_index AX_dax__adag_index;
1351 #define A_dax__adag_index (dax__bufferstack + AX_dax__adag_index)
1352 short int dax__adag_index_isset;
1353 AT_dax__adag_jobCount AX_dax__adag_jobCount;
1354 #define A_dax__adag_jobCount (dax__bufferstack + AX_dax__adag_jobCount)
1355 short int dax__adag_jobCount_isset;
1356 AT_dax__adag_name AX_dax__adag_name;
1357 #define A_dax__adag_name (dax__bufferstack + AX_dax__adag_name)
1358 short int dax__adag_name_isset;
1359 AT_dax__adag_version AX_dax__adag_version;
1360 #define A_dax__adag_version (dax__bufferstack + AX_dax__adag_version)
1361 short int dax__adag_version_isset;
1362 AT_dax__adag_xmlns AX_dax__adag_xmlns;
1363 #define A_dax__adag_xmlns (dax__bufferstack + AX_dax__adag_xmlns)
1364 short int dax__adag_xmlns_isset;
1365 AT_dax__adag_xmlns_c_xsi AX_dax__adag_xmlns_c_xsi;
1366 #define A_dax__adag_xmlns_c_xsi (dax__bufferstack + AX_dax__adag_xmlns_c_xsi)
1367 short int dax__adag_xmlns_c_xsi_isset;
1368 AT_dax__adag_xsi_c_schemaLocation AX_dax__adag_xsi_c_schemaLocation;
1369 #define A_dax__adag_xsi_c_schemaLocation (dax__bufferstack + AX_dax__adag_xsi_c_schemaLocation)
1370 short int dax__adag_xsi_c_schemaLocation_isset;
1371 AT_dax__child_ref AX_dax__child_ref;
1372 #define A_dax__child_ref (dax__bufferstack + AX_dax__child_ref)
1373 short int dax__child_ref_isset;
1374 AT_dax__job_id AX_dax__job_id;
1375 #define A_dax__job_id (dax__bufferstack + AX_dax__job_id)
1376 short int dax__job_id_isset;
1377 AT_dax__job_level AX_dax__job_level;
1378 #define A_dax__job_level (dax__bufferstack + AX_dax__job_level)
1379 short int dax__job_level_isset;
1380 AT_dax__job_name AX_dax__job_name;
1381 #define A_dax__job_name (dax__bufferstack + AX_dax__job_name)
1382 short int dax__job_name_isset;
1383 AT_dax__job_namespace AX_dax__job_namespace;
1384 #define A_dax__job_namespace (dax__bufferstack + AX_dax__job_namespace)
1385 short int dax__job_namespace_isset;
1386 AT_dax__job_runtime AX_dax__job_runtime;
1387 #define A_dax__job_runtime (dax__bufferstack + AX_dax__job_runtime)
1388 short int dax__job_runtime_isset;
1389 AT_dax__job_version AX_dax__job_version;
1390 #define A_dax__job_version (dax__bufferstack + AX_dax__job_version)
1391 short int dax__job_version_isset;
1392 AT_dax__parent_ref AX_dax__parent_ref;
1393 #define A_dax__parent_ref (dax__bufferstack + AX_dax__parent_ref)
1394 short int dax__parent_ref_isset;
1395 AT_dax__uses_file AX_dax__uses_file;
1396 #define A_dax__uses_file (dax__bufferstack + AX_dax__uses_file)
1397 short int dax__uses_file_isset;
1398 AT_dax__uses_link AX_dax__uses_link;
1399 #define A_dax__uses_link AX_dax__uses_link
1400 short int dax__uses_link_isset;
1401 AT_dax__uses_optional AX_dax__uses_optional;
1402 #define A_dax__uses_optional AX_dax__uses_optional
1403 short int dax__uses_optional_isset;
1404 AT_dax__uses_register AX_dax__uses_register;
1405 #define A_dax__uses_register AX_dax__uses_register
1406 short int dax__uses_register_isset;
1407 AT_dax__uses_size AX_dax__uses_size;
1408 #define A_dax__uses_size (dax__bufferstack + AX_dax__uses_size)
1409 short int dax__uses_size_isset;
1410 AT_dax__uses_transfer AX_dax__uses_transfer;
1411 #define A_dax__uses_transfer AX_dax__uses_transfer
1412 short int dax__uses_transfer_isset;
1413 AT_dax__uses_type AX_dax__uses_type;
1414 #define A_dax__uses_type (dax__bufferstack + AX_dax__uses_type)
1415 short int dax__uses_type_isset;
1419 # define ENTER(state) debug_enter(state,#state)
1420 # define LEAVE debug_leave()
1421 # define SET(state) debug_set(state,#state)
1422 static void debug_enter(int, const char*);
1423 static void debug_leave(void);
1424 static void debug_set(int, const char*);
1426 # define ENTER(state) (yy_push_state(state))
1427 # define LEAVE (yy_pop_state())
1428 # define SET(state) BEGIN(state)
1431 /* Generic actions. */
1432 #define SKIP /*skip*/
1433 #define SUCCEED CLEANUP; return 0
1435 #define FAIL return fail
1436 static int fail(const char*, ...);
1438 enum {flexml_max_err_msg_size = 512};
1439 static char flexml_err_msg[flexml_max_err_msg_size];
1440 const char * dax__parse_err_msg()
1442 return flexml_err_msg;
1444 static void reset_dax__parse_err_msg()
1446 flexml_err_msg[0] = '\0';
1450 static void cleanup(void);
1451 #define CLEANUP cleanup()
1453 /* Text buffer stack handling. */
1454 char *dax__bufferstack = NULL;
1455 static int blimit = FLEXML_BUFFERSTACKSIZE;
1456 static int bnext = 1;
1458 static int *indexstack = NULL;
1459 static int ilimit = FLEXML_INDEXSTACKSIZE;
1460 static int inext = 1;
1462 #define BUFFERSET(P) (P = bnext)
1463 #define BUFFERPUTC(C) (ck_blimit(), dax__bufferstack[bnext++] = (C))
1464 #define BUFFERDONE (BUFFERPUTC('\0'))
1466 #define BUFFERLITERAL(C, P) dax__bufferliteral(C, &(P), dax_text)
1468 /* after this is called, there are at least 2 slots left in the stack */
1469 static int ck_blimit()
1471 if (bnext >= blimit) {
1472 blimit += FLEXML_BUFFERSTACKSIZE + 2;
1474 char *temp = (char *) realloc(dax__bufferstack, blimit);
1476 dax__bufferstack = temp;
1482 /* after this is called, there are at least 2 slots left in the stack */
1483 static int ck_ilimit()
1485 if (inext >= ilimit) {
1486 ilimit += FLEXML_INDEXSTACKSIZE + 2;
1488 int *temp = (int *) realloc(indexstack, ilimit);
1496 #ifdef FLEXML_NEED_BUFFERLIT
1497 static void dax__bufferliteral(char c, int* pp, const char* text)
1501 const char *s = strchr(text, c), *e = strrchr(text, c);
1502 assert(s && e && s <= e);
1507 do ++s; while (s < e && isspace(*s));
1512 const char *s = text;
1520 static void pushbuffer(int p)
1523 indexstack[inext++] = p;
1524 indexstack[inext++] = bnext;
1527 static int popbuffer(void)
1530 bnext = indexstack[--inext];
1531 return indexstack[--inext];
1534 /* General internal entities are `unput' back onto the input stream... */
1535 #define ENTITYTEXT(T) \
1536 { char *s = (T), *e = s+strlen(s);\
1537 while (--e >= s) { unput(*e); }}
1539 /* Flex standard options. */
1540 #define YY_NO_INPUT 1
1541 /* Flex user-requested options. */
1542 /* XML character classes (currently restricted to ASCII). */
1543 /* "Common syntactic structures." */
1544 /* "Names and Tokens." */
1545 /* Miscellaneous. */
1546 /* Parser states (flex `exclusive start conditions'):
1548 * PROLOG the XML prolog of the document before <?xml...>
1549 * DOCTYPE the XML prolog of the document after <?xml...>
1550 * EPILOG after the root element
1551 * INCOMMENT inside an XML comment <!--....-->
1552 * INPI inside an XML PI <?...?>
1553 * VALUE1 inside a '...'-delimited literal
1554 * VALUE2 inside a "..."-delimited literal
1555 * CDATA inside a <![CDATA[...] ]> section.
1556 * ROOT_<tag> expect root element <tag>
1557 * AL_<tag> inside the attribute list for <tag>
1558 * IN_<tag> inside a <tag> with element contents (ready for end tag)
1559 * IMPOSSIBLE dummy to permit disabling rules; must be last
1563 const char* *dax__statenames=NULL;
1574 #define ROOT_dax__adag 9
1575 #define AL_dax__adag 10
1576 #define S_dax__adag 11
1577 #define S_dax__adag_1 12
1578 #define S_dax__adag_2 13
1579 #define S_dax__adag_3 14
1580 #define S_dax__adag_4 15
1581 #define S_dax__adag_5 16
1582 #define E_dax__adag 17
1583 #define AL_dax__child 18
1584 #define S_dax__child 19
1585 #define S_dax__child_1 20
1586 #define S_dax__child_2 21
1587 #define E_dax__child 22
1588 #define AL_dax__job 23
1589 #define S_dax__job 24
1590 #define S_dax__job_1 25
1591 #define S_dax__job_2 26
1592 #define E_dax__job 27
1593 #define AL_dax__parent 28
1594 #define E_dax__parent 29
1595 #define AL_dax__uses 30
1596 #define E_dax__uses 31
1597 #define IMPOSSIBLE 32
1599 #ifndef YY_NO_UNISTD_H
1600 /* Special case for "unistd.h", since it is non-ANSI. We include it way
1601 * down here because we want the user's section 1 to have been scanned first.
1602 * The user has a chance to override it with an option.
1605 # ifndef __STRICT_ANSI__
1607 # include <process.h>
1610 # include <unistd.h>
1614 #ifndef YY_EXTRA_TYPE
1615 #define YY_EXTRA_TYPE void *
1618 static int yy_init_globals (void );
1620 /* Accessor methods to globals.
1621 These are made visible to non-reentrant scanners for convenience. */
1623 int dax_lex_destroy (void );
1625 int dax_get_debug (void );
1627 void dax_set_debug (int debug_flag );
1629 YY_EXTRA_TYPE dax_get_extra (void );
1631 void dax_set_extra (YY_EXTRA_TYPE user_defined );
1633 FILE *dax_get_in (void );
1635 void dax_set_in (FILE * in_str );
1637 FILE *dax_get_out (void );
1639 void dax_set_out (FILE * out_str );
1641 yy_size_t dax_get_leng (void );
1643 char *dax_get_text (void );
1645 int dax_get_lineno (void );
1647 void dax_set_lineno (int line_number );
1649 /* Macros after this point can all be overridden by user definitions in
1653 #ifndef YY_SKIP_YYWRAP
1655 extern "C" int dax_wrap (void );
1657 extern int dax_wrap (void );
1662 static void yy_flex_strncpy (char *,yyconst char *,int );
1665 #ifdef YY_NEED_STRLEN
1666 static int yy_flex_strlen (yyconst char * );
1672 static int yyinput (void );
1674 static int input (void );
1679 static int yy_start_stack_ptr = 0;
1680 static int yy_start_stack_depth = 0;
1681 static int *yy_start_stack = NULL;
1683 static void yy_push_state (int new_state );
1685 static void yy_pop_state (void );
1687 /* Amount of stuff to slurp up with each read. */
1688 #ifndef YY_READ_BUF_SIZE
1690 /* On IA-64, the buffer size is 16k, not 8k */
1691 #define YY_READ_BUF_SIZE 16384
1693 #define YY_READ_BUF_SIZE 8192
1694 #endif /* __ia64__ */
1697 /* Copy whatever the last rule matched to the standard output. */
1699 /* This used to be an fputs(), but since the string might contain NUL's,
1700 * we now use fwrite().
1702 #define ECHO do { if (fwrite( dax_text, dax_leng, 1, dax_out )) {} } while (0)
1705 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1706 * is returned in "result".
1709 #define YY_INPUT(buf,result,max_size) \
1710 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1714 for ( n = 0; n < max_size && \
1715 (c = getc( dax_in )) != EOF && c != '\n'; ++n ) \
1716 buf[n] = (char) c; \
1718 buf[n++] = (char) c; \
1719 if ( c == EOF && ferror( dax_in ) ) \
1720 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1726 while ( (result = fread(buf, 1, max_size, dax_in))==0 && ferror(dax_in)) \
1728 if( errno != EINTR) \
1730 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1741 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1742 * we don't want an extra ';' after the "return" because that will cause
1743 * some compilers to complain about unreachable statements.
1746 #define yyterminate() return YY_NULL
1749 /* Number of entries by which start-condition stack grows. */
1750 #ifndef YY_START_STACK_INCR
1751 #define YY_START_STACK_INCR 25
1754 /* Report a fatal error. */
1755 #ifndef YY_FATAL_ERROR
1756 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1759 /* end tables serialization structures and prototypes */
1761 /* Default declaration of generated scanner - a define so the user can
1762 * easily add parameters.
1765 #define YY_DECL_IS_OURS 1
1767 extern int dax_lex (void);
1769 #define YY_DECL int dax_lex (void)
1770 #endif /* !YY_DECL */
1772 /* Code executed at the beginning of each rule, after dax_text and dax_leng
1775 #ifndef YY_USER_ACTION
1776 #define YY_USER_ACTION
1779 /* Code executed at the end of each rule. */
1781 #define YY_BREAK break;
1784 #define YY_RULE_SETUP \
1787 /** The main scanner function which does all the work.
1791 register yy_state_type yy_current_state;
1792 register char *yy_cp, *yy_bp;
1793 register int yy_act;
1804 (yy_start) = 1; /* first start state */
1812 if ( ! YY_CURRENT_BUFFER ) {
1813 dax_ensure_buffer_stack ();
1814 YY_CURRENT_BUFFER_LVALUE =
1815 dax__create_buffer(dax_in,YY_BUF_SIZE );
1818 dax__load_buffer_state( );
1823 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
1825 reset_dax__parse_err_msg();
1826 dax__bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
1827 assert(dax__bufferstack);
1831 for (i = 0; i < blimit; i++) {
1832 dax__bufferstack[i] = '\377';
1836 dax__bufferstack[0] = '\0';
1837 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
1843 dax__bufferliteral('\0', &bnext, "http://pegasus.isi.edu/schema/DAX");
1844 dax__bufferliteral('\0', &bnext, "http://www.w3.org/2001/XMLSchema-instance");
1845 dax__bufferliteral('\0', &bnext, "http://pegasus.isi.edu/schema/DAX http://pegasus.isi.edu/schema/dax-2.1.xsd");
1846 dax__bufferliteral('\0', &bnext, "1.0");
1847 dax__bufferliteral('\0', &bnext, "0.0");
1848 dax__bufferliteral('\0', &bnext, "data");
1849 if(!dax__statenames) {dax__statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
1850 dax__statenames[PROLOG] = NULL;
1851 dax__statenames[DOCTYPE] = NULL;
1852 dax__statenames[EPILOG] = NULL;
1853 dax__statenames[INCOMMENT] = NULL;
1854 dax__statenames[INPI] = NULL;
1855 dax__statenames[VALUE1] = NULL;
1856 dax__statenames[VALUE2] = NULL;
1857 dax__statenames[CDATA] = NULL;
1858 dax__statenames[ROOT_dax__adag] = NULL;
1859 dax__statenames[AL_dax__adag] = NULL;
1860 dax__statenames[S_dax__adag] = "adag";
1861 dax__statenames[S_dax__adag_1] = "adag";
1862 dax__statenames[S_dax__adag_2] = "adag";
1863 dax__statenames[S_dax__adag_3] = "adag";
1864 dax__statenames[S_dax__adag_4] = "adag";
1865 dax__statenames[S_dax__adag_5] = "adag";
1866 dax__statenames[E_dax__adag] = "adag";
1867 dax__statenames[AL_dax__child] = NULL;
1868 dax__statenames[S_dax__child] = "child";
1869 dax__statenames[S_dax__child_1] = "child";
1870 dax__statenames[S_dax__child_2] = "child";
1871 dax__statenames[E_dax__child] = "child";
1872 dax__statenames[AL_dax__job] = NULL;
1873 dax__statenames[S_dax__job] = "job";
1874 dax__statenames[S_dax__job_1] = "job";
1875 dax__statenames[S_dax__job_2] = "job";
1876 dax__statenames[E_dax__job] = "job";
1877 dax__statenames[AL_dax__parent] = NULL;
1878 dax__statenames[E_dax__parent] = "parent";
1879 dax__statenames[AL_dax__uses] = NULL;
1880 dax__statenames[E_dax__uses] = "uses";
1883 /* COMMENTS and PIs: handled uniformly for efficiency. */
1885 while ( 1 ) /* loops until end-of-file is reached */
1887 yy_cp = (yy_c_buf_p);
1889 /* Support of dax_text. */
1890 *yy_cp = (yy_hold_char);
1892 /* yy_bp points to the position in yy_ch_buf of the start of
1897 yy_current_state = (yy_start);
1901 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
1902 if ( yy_accept[yy_current_state] )
1904 (yy_last_accepting_state) = yy_current_state;
1905 (yy_last_accepting_cpos) = yy_cp;
1907 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1909 yy_current_state = (int) yy_def[yy_current_state];
1910 if ( yy_current_state >= 775 )
1911 yy_c = yy_meta[(unsigned int) yy_c];
1913 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1916 while ( yy_base[yy_current_state] != 2135 );
1919 yy_act = yy_accept[yy_current_state];
1921 { /* have to back up */
1922 yy_cp = (yy_last_accepting_cpos);
1923 yy_current_state = (yy_last_accepting_state);
1924 yy_act = yy_accept[yy_current_state];
1927 YY_DO_BEFORE_ACTION;
1929 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
1932 for ( yyl = 0; yyl < dax_leng; ++yyl )
1933 if ( dax_text[yyl] == '\n' )
1939 do_action: /* This label is used only to access EOF actions. */
1942 { /* beginning of action switch */
1943 case 0: /* must back up */
1944 /* undo the effects of YY_DO_BEFORE_ACTION */
1945 *yy_cp = (yy_hold_char);
1946 yy_cp = (yy_last_accepting_cpos);
1947 yy_current_state = (yy_last_accepting_state);
1948 goto yy_find_action;
1966 /* rule 6 can match eol */
1970 case YY_STATE_EOF(INCOMMENT):
1971 FAIL("EOF in comment.");
1980 /* rule 9 can match eol */
1984 case YY_STATE_EOF(INPI):
1985 FAIL("EOF in PI (processing instruction).");
1988 /* SPACES: skipped uniformly */
1990 /* rule 10 can match eol */
1994 /* PROLOG: determine root element and process it. */
1997 /* rule 11 can match eol */
1999 SET(ROOT_dax__adag);
2002 /* rule 12 can match eol */
2004 FAIL("Bad declaration %s.",dax_text);
2008 /* rule 13 can match eol */
2010 SET(ROOT_dax__adag);
2013 /* rule 14 can match eol */
2015 FAIL("Bad declaration %s.",dax_text);
2019 FAIL("Unexpected character `%c' in prolog.", dax_text[0]);
2021 case YY_STATE_EOF(PROLOG):
2022 case YY_STATE_EOF(DOCTYPE):
2023 FAIL("EOF in prolog.");
2026 /* RULES DERIVED FROM DTD. */
2027 /* <!-- Small DTD for DAX files. --> */
2029 /* rule 16 can match eol */
2031 FAIL("Starting tag <adag> is not allowed here.");
2034 /* rule 17 can match eol */
2037 AX_dax__adag_childCount = 0;
2038 dax__adag_childCount_isset = 0;
2039 AX_dax__adag_count = 0;
2040 dax__adag_count_isset = 0;
2041 AX_dax__adag_fileCount = 0;
2042 dax__adag_fileCount_isset = 0;
2043 AX_dax__adag_index = 0;
2044 dax__adag_index_isset = 0;
2045 AX_dax__adag_jobCount = 0;
2046 dax__adag_jobCount_isset = 0;
2047 AX_dax__adag_name = 0;
2048 dax__adag_name_isset = 0;
2049 AX_dax__adag_version = 153;
2050 dax__adag_version_isset = 0;
2051 AX_dax__adag_xmlns = 1;
2052 dax__adag_xmlns_isset = 0;
2053 AX_dax__adag_xmlns_c_xsi = 35;
2054 dax__adag_xmlns_c_xsi_isset = 0;
2055 AX_dax__adag_xsi_c_schemaLocation = 77;
2056 dax__adag_xsi_c_schemaLocation_isset = 0;
2057 ENTER(AL_dax__adag); pushbuffer(0);
2062 /* rule 18 can match eol */
2064 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);
2067 /* rule 19 can match eol */
2069 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);
2072 /* rule 20 can match eol */
2074 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);
2077 /* rule 21 can match eol */
2079 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);
2082 /* rule 22 can match eol */
2084 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);
2087 /* rule 23 can match eol */
2089 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);
2092 /* rule 24 can match eol */
2094 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);
2097 /* rule 25 can match eol */
2099 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);
2102 /* rule 26 can match eol */
2104 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);
2107 /* rule 27 can match eol */
2109 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);
2112 /* rule 28 can match eol */
2114 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);
2117 /* rule 29 can match eol */
2119 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);
2122 /* rule 30 can match eol */
2124 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);
2127 /* rule 31 can match eol */
2129 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);
2132 /* rule 32 can match eol */
2134 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);
2137 /* rule 33 can match eol */
2139 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);
2142 /* rule 34 can match eol */
2144 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);
2147 /* rule 35 can match eol */
2149 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);
2152 /* rule 36 can match eol */
2154 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);
2157 /* rule 37 can match eol */
2159 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);
2164 LEAVE; STag_dax__adag();dax__pcdata_ix = 0; ENTER(S_dax__adag);
2170 LEAVE; STag_dax__adag(); dax__pcdata_ix = 0; ETag_dax__adag(); popbuffer(); /* attribute */
2172 case ROOT_dax__adag: SET(EPILOG); break;
2178 FAIL("Unexpected character `%c' in attribute list of adag element.", dax_text[0]);
2182 FAIL("Bad attribute `%s' in `adag' element start tag.",dax_text);
2184 case YY_STATE_EOF(AL_dax__adag):
2185 FAIL("EOF in attribute list of `adag' element.");
2189 /* rule 42 can match eol */
2194 popbuffer(); /* attribute */
2196 case ROOT_dax__adag: SET(EPILOG); break;
2201 /* rule 43 can match eol */
2203 FAIL("Unexpected end-tag `%s': `</adag>' expected.",dax_text);
2207 FAIL("Unexpected character `%c': `</adag>' expected.",dax_text[0]);
2209 case YY_STATE_EOF(E_dax__adag):
2210 case YY_STATE_EOF(S_dax__adag):
2211 case YY_STATE_EOF(S_dax__adag_1):
2212 case YY_STATE_EOF(S_dax__adag_3):
2213 case YY_STATE_EOF(S_dax__adag_5):
2214 FAIL("Premature EOF: `</adag>' expected.");
2218 /* rule 45 can match eol */
2220 FAIL("Starting tag <child> is not allowed here.");
2223 /* rule 46 can match eol */
2226 AX_dax__child_ref = 0;
2227 dax__child_ref_isset = 0;
2228 ENTER(AL_dax__child); pushbuffer(0);
2233 /* rule 47 can match eol */
2235 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);
2238 /* rule 48 can match eol */
2240 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);
2245 if (!AX_dax__child_ref) FAIL("Required attribute `ref' not set for `child' element.");
2246 LEAVE; STag_dax__child();dax__pcdata_ix = 0; ENTER(S_dax__child);
2252 if (!AX_dax__child_ref) FAIL("Required attribute `ref' not set for `child' element.");
2253 LEAVE; STag_dax__child(); dax__pcdata_ix = 0; ETag_dax__child(); popbuffer(); /* attribute */
2255 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;
2261 FAIL("Unexpected character `%c' in attribute list of child element.", dax_text[0]);
2265 FAIL("Bad attribute `%s' in `child' element start tag.",dax_text);
2267 case YY_STATE_EOF(AL_dax__child):
2268 FAIL("EOF in attribute list of `child' element.");
2272 /* rule 53 can match eol */
2277 popbuffer(); /* attribute */
2279 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;
2284 /* rule 54 can match eol */
2286 FAIL("Unexpected end-tag `%s': `</child>' expected.",dax_text);
2290 FAIL("Unexpected character `%c': `</child>' expected.",dax_text[0]);
2292 case YY_STATE_EOF(E_dax__child):
2293 case YY_STATE_EOF(S_dax__child):
2294 case YY_STATE_EOF(S_dax__child_2):
2295 FAIL("Premature EOF: `</child>' expected.");
2299 /* rule 56 can match eol */
2301 FAIL("Starting tag <job> is not allowed here.");
2304 /* rule 57 can match eol */
2308 dax__job_id_isset = 0;
2309 AX_dax__job_level = 0;
2310 dax__job_level_isset = 0;
2311 AX_dax__job_name = 0;
2312 dax__job_name_isset = 0;
2313 AX_dax__job_namespace = 0;
2314 dax__job_namespace_isset = 0;
2315 AX_dax__job_runtime = 0;
2316 dax__job_runtime_isset = 0;
2317 AX_dax__job_version = 157;
2318 dax__job_version_isset = 0;
2319 ENTER(AL_dax__job); pushbuffer(0);
2324 /* rule 58 can match eol */
2326 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);
2329 /* rule 59 can match eol */
2331 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);
2334 /* rule 60 can match eol */
2336 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);
2339 /* rule 61 can match eol */
2341 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);
2344 /* rule 62 can match eol */
2346 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);
2349 /* rule 63 can match eol */
2351 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);
2354 /* rule 64 can match eol */
2356 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);
2359 /* rule 65 can match eol */
2361 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);
2364 /* rule 66 can match eol */
2366 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);
2369 /* rule 67 can match eol */
2371 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);
2374 /* rule 68 can match eol */
2376 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);
2379 /* rule 69 can match eol */
2381 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);
2386 if (!AX_dax__job_id) FAIL("Required attribute `id' not set for `job' element.");
2387 if (!AX_dax__job_name) FAIL("Required attribute `name' not set for `job' element.");
2388 if (!AX_dax__job_runtime) FAIL("Required attribute `runtime' not set for `job' element.");
2389 LEAVE; STag_dax__job();dax__pcdata_ix = 0; ENTER(S_dax__job);
2395 if (!AX_dax__job_id) FAIL("Required attribute `id' not set for `job' element.");
2396 if (!AX_dax__job_name) FAIL("Required attribute `name' not set for `job' element.");
2397 if (!AX_dax__job_runtime) FAIL("Required attribute `runtime' not set for `job' element.");
2398 LEAVE; STag_dax__job(); dax__pcdata_ix = 0; ETag_dax__job(); popbuffer(); /* attribute */
2400 case S_dax__adag: case S_dax__adag_2: case S_dax__adag_3: SET(S_dax__adag_3); break;
2406 FAIL("Unexpected character `%c' in attribute list of job element.", dax_text[0]);
2410 FAIL("Bad attribute `%s' in `job' element start tag.",dax_text);
2412 case YY_STATE_EOF(AL_dax__job):
2413 FAIL("EOF in attribute list of `job' element.");
2417 /* rule 74 can match eol */
2422 popbuffer(); /* attribute */
2424 case S_dax__adag: case S_dax__adag_2: case S_dax__adag_3: SET(S_dax__adag_3); break;
2429 /* rule 75 can match eol */
2431 FAIL("Unexpected end-tag `%s': `</job>' expected.",dax_text);
2435 FAIL("Unexpected character `%c': `</job>' expected.",dax_text[0]);
2437 case YY_STATE_EOF(E_dax__job):
2438 case YY_STATE_EOF(S_dax__job):
2439 case YY_STATE_EOF(S_dax__job_2):
2440 FAIL("Premature EOF: `</job>' expected.");
2444 /* rule 77 can match eol */
2446 FAIL("Starting tag <parent> is not allowed here.");
2449 /* rule 78 can match eol */
2452 AX_dax__parent_ref = 0;
2453 dax__parent_ref_isset = 0;
2454 ENTER(AL_dax__parent); pushbuffer(0);
2459 /* rule 79 can match eol */
2461 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);
2464 /* rule 80 can match eol */
2466 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);
2471 if (!AX_dax__parent_ref) FAIL("Required attribute `ref' not set for `parent' element.");
2472 LEAVE; STag_dax__parent();dax__pcdata_ix = 0; ENTER(E_dax__parent);
2478 if (!AX_dax__parent_ref) FAIL("Required attribute `ref' not set for `parent' element.");
2479 LEAVE; STag_dax__parent(); dax__pcdata_ix = 0; ETag_dax__parent(); popbuffer(); /* attribute */
2481 case S_dax__child: case S_dax__child_1: case S_dax__child_2: SET(S_dax__child_2); break;
2487 FAIL("Unexpected character `%c' in attribute list of parent element.", dax_text[0]);
2491 FAIL("Bad attribute `%s' in `parent' element start tag.",dax_text);
2493 case YY_STATE_EOF(AL_dax__parent):
2494 FAIL("EOF in attribute list of `parent' element.");
2498 /* rule 85 can match eol */
2503 popbuffer(); /* attribute */
2505 case S_dax__child: case S_dax__child_1: case S_dax__child_2: SET(S_dax__child_2); break;
2510 /* rule 86 can match eol */
2512 FAIL("Unexpected end-tag `%s': `</parent>' expected.",dax_text);
2516 FAIL("Unexpected character `%c': `</parent>' expected.",dax_text[0]);
2518 case YY_STATE_EOF(E_dax__parent):
2519 FAIL("Premature EOF: `</parent>' expected.");
2523 * <!-- ignored --> */
2525 /* rule 88 can match eol */
2527 FAIL("Starting tag <uses> is not allowed here.");
2530 /* rule 89 can match eol */
2533 AX_dax__uses_file = 0;
2534 dax__uses_file_isset = 0;
2535 AX_dax__uses_link = AU_dax__uses_link;
2536 dax__uses_link_isset = 0;
2537 AX_dax__uses_optional = A_dax__uses_optional_false;
2538 dax__uses_optional_isset = 0;
2539 AX_dax__uses_register = A_dax__uses_register_true;
2540 dax__uses_register_isset = 0;
2541 AX_dax__uses_size = 0;
2542 dax__uses_size_isset = 0;
2543 AX_dax__uses_transfer = A_dax__uses_transfer_true;
2544 dax__uses_transfer_isset = 0;
2545 AX_dax__uses_type = 161;
2546 dax__uses_type_isset = 0;
2547 ENTER(AL_dax__uses); pushbuffer(0);
2552 /* rule 90 can match eol */
2554 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);
2557 /* rule 91 can match eol */
2559 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);
2562 /* rule 92 can match eol */
2564 /* rule 93 can match eol */
2566 A_dax__uses_link = A_dax__uses_link_input;
2569 /* rule 94 can match eol */
2571 /* rule 95 can match eol */
2573 A_dax__uses_link = A_dax__uses_link_output;
2576 /* rule 96 can match eol */
2578 /* rule 97 can match eol */
2580 A_dax__uses_optional = A_dax__uses_optional_false;
2583 /* rule 98 can match eol */
2585 /* rule 99 can match eol */
2587 A_dax__uses_optional = A_dax__uses_optional_true;
2590 /* rule 100 can match eol */
2592 /* rule 101 can match eol */
2594 A_dax__uses_register = A_dax__uses_register_false;
2597 /* rule 102 can match eol */
2599 /* rule 103 can match eol */
2601 A_dax__uses_register = A_dax__uses_register_true;
2604 /* rule 104 can match eol */
2606 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);
2609 /* rule 105 can match eol */
2611 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);
2614 /* rule 106 can match eol */
2616 /* rule 107 can match eol */
2618 A_dax__uses_transfer = A_dax__uses_transfer_false;
2621 /* rule 108 can match eol */
2623 /* rule 109 can match eol */
2625 A_dax__uses_transfer = A_dax__uses_transfer_true;
2628 /* rule 110 can match eol */
2630 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);
2633 /* rule 111 can match eol */
2635 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);
2640 if (!AX_dax__uses_file) FAIL("Required attribute `file' not set for `uses' element.");
2641 if (!AX_dax__uses_size) FAIL("Required attribute `size' not set for `uses' element.");
2642 LEAVE; STag_dax__uses();dax__pcdata_ix = 0; ENTER(E_dax__uses);
2648 if (!AX_dax__uses_file) FAIL("Required attribute `file' not set for `uses' element.");
2649 if (!AX_dax__uses_size) FAIL("Required attribute `size' not set for `uses' element.");
2650 LEAVE; STag_dax__uses(); dax__pcdata_ix = 0; ETag_dax__uses(); popbuffer(); /* attribute */
2652 case S_dax__job: case S_dax__job_1: case S_dax__job_2: SET(S_dax__job_2); break;
2658 FAIL("Unexpected character `%c' in attribute list of uses element.", dax_text[0]);
2662 FAIL("Bad attribute `%s' in `uses' element start tag.",dax_text);
2664 case YY_STATE_EOF(AL_dax__uses):
2665 FAIL("EOF in attribute list of `uses' element.");
2669 /* rule 116 can match eol */
2674 popbuffer(); /* attribute */
2676 case S_dax__job: case S_dax__job_1: case S_dax__job_2: SET(S_dax__job_2); break;
2681 /* rule 117 can match eol */
2683 FAIL("Unexpected end-tag `%s': `</uses>' expected.",dax_text);
2687 FAIL("Unexpected character `%c': `</uses>' expected.",dax_text[0]);
2689 case YY_STATE_EOF(E_dax__uses):
2690 FAIL("Premature EOF: `</uses>' expected.");
2693 /* EPILOG: after the root element. */
2697 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
2699 case YY_STATE_EOF(EPILOG):
2703 /* CHARACTER DATA. */
2705 /* Non-defined standard entities... */
2726 /* Character entities. */
2729 BUFFERPUTC((unsigned char)atoi(dax_text+2));
2733 BUFFERPUTC((unsigned char)strtol(dax_text+3,NULL,16));
2737 /* rule 127 can match eol */
2739 /* rule 128 can match eol */
2741 /* rule 129 can match eol */
2743 /* rule 130 can match eol */
2754 FAIL("Unexpected `]""]>' in character data.");
2761 case YY_STATE_EOF(VALUE1):
2762 FAIL("EOF in literal (\"'\" expected).");
2769 case YY_STATE_EOF(VALUE2):
2770 FAIL("EOF in literal (`\"' expected).");
2774 /* rule 135 can match eol */
2776 BUFFERPUTC(dax_text[0]);
2780 FAIL("Spurious `%c' in character data.",dax_text[0]);
2787 /* "]""]" BUFFERPUTC(dax_text[0]); BUFFERPUTC(dax_text[1]); */
2790 BUFFERPUTC(dax_text[0]);
2792 case YY_STATE_EOF(CDATA):
2793 FAIL("EOF in CDATA section.");
2796 /* Impossible rules to avoid warnings from flex(1). */
2797 /* Ideally, this should be replaced by code in flexml.pl that
2798 generates just the states not covered by other rules. */
2801 /* rule 139 can match eol */
2803 FAIL("Syntax error on character `%c'.", dax_text[0]);
2810 case YY_STATE_EOF(INITIAL):
2811 case YY_STATE_EOF(ROOT_dax__adag):
2812 case YY_STATE_EOF(S_dax__adag_2):
2813 case YY_STATE_EOF(S_dax__adag_4):
2814 case YY_STATE_EOF(S_dax__child_1):
2815 case YY_STATE_EOF(S_dax__job_1):
2816 case YY_STATE_EOF(IMPOSSIBLE):
2819 case YY_END_OF_BUFFER:
2821 /* Amount of text matched not including the EOB char. */
2822 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
2824 /* Undo the effects of YY_DO_BEFORE_ACTION. */
2825 *yy_cp = (yy_hold_char);
2826 YY_RESTORE_YY_MORE_OFFSET
2828 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
2830 /* We're scanning a new file or input source. It's
2831 * possible that this happened because the user
2832 * just pointed dax_in at a new source and called
2833 * dax_lex(). If so, then we have to assure
2834 * consistency between YY_CURRENT_BUFFER and our
2835 * globals. Here is the right place to do so, because
2836 * this is the first action (other than possibly a
2837 * back-up) that will match for the new input source.
2839 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2840 YY_CURRENT_BUFFER_LVALUE->yy_input_file = dax_in;
2841 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
2844 /* Note that here we test for yy_c_buf_p "<=" to the position
2845 * of the first EOB in the buffer, since yy_c_buf_p will
2846 * already have been incremented past the NUL character
2847 * (since all states make transitions on EOB to the
2848 * end-of-buffer state). Contrast this with the test
2851 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2852 { /* This was really a NUL. */
2853 yy_state_type yy_next_state;
2855 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
2857 yy_current_state = yy_get_previous_state( );
2859 /* Okay, we're now positioned to make the NUL
2860 * transition. We couldn't have
2861 * yy_get_previous_state() go ahead and do it
2862 * for us because it doesn't know how to deal
2863 * with the possibility of jamming (and we don't
2864 * want to build jamming into it because then it
2865 * will run more slowly).
2868 yy_next_state = yy_try_NUL_trans( yy_current_state );
2870 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2872 if ( yy_next_state )
2874 /* Consume the NUL. */
2875 yy_cp = ++(yy_c_buf_p);
2876 yy_current_state = yy_next_state;
2882 yy_cp = (yy_c_buf_p);
2883 goto yy_find_action;
2887 else switch ( yy_get_next_buffer( ) )
2889 case EOB_ACT_END_OF_FILE:
2891 (yy_did_buffer_switch_on_eof) = 0;
2895 /* Note: because we've taken care in
2896 * yy_get_next_buffer() to have set up
2897 * dax_text, we can now set up
2898 * yy_c_buf_p so that if some total
2899 * hoser (like flex itself) wants to
2900 * call the scanner after we return the
2901 * YY_NULL, it'll still work - another
2902 * YY_NULL will get returned.
2904 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
2906 yy_act = YY_STATE_EOF(YY_START);
2912 if ( ! (yy_did_buffer_switch_on_eof) )
2918 case EOB_ACT_CONTINUE_SCAN:
2920 (yytext_ptr) + yy_amount_of_matched_text;
2922 yy_current_state = yy_get_previous_state( );
2924 yy_cp = (yy_c_buf_p);
2925 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2928 case EOB_ACT_LAST_MATCH:
2930 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
2932 yy_current_state = yy_get_previous_state( );
2934 yy_cp = (yy_c_buf_p);
2935 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2936 goto yy_find_action;
2943 "fatal flex scanner internal error--no action found" );
2944 } /* end of action switch */
2945 } /* end of scanning one token */
2946 } /* end of user's declarations */
2947 } /* end of dax_lex */
2949 /* yy_get_next_buffer - try to read in a new buffer
2951 * Returns a code representing an action:
2952 * EOB_ACT_LAST_MATCH -
2953 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2954 * EOB_ACT_END_OF_FILE - end of file
2956 static int yy_get_next_buffer (void)
2958 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
2959 register char *source = (yytext_ptr);
2960 register int number_to_move, i;
2963 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
2965 "fatal flex scanner internal error--end of buffer missed" );
2967 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
2968 { /* Don't try to fill the buffer, so this is an EOF. */
2969 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
2971 /* We matched a single character, the EOB, so
2972 * treat this as a final EOF.
2974 return EOB_ACT_END_OF_FILE;
2979 /* We matched some text prior to the EOB, first
2982 return EOB_ACT_LAST_MATCH;
2986 /* Try to read more data. */
2988 /* First move last chars to start of buffer. */
2989 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
2991 for ( i = 0; i < number_to_move; ++i )
2992 *(dest++) = *(source++);
2994 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2995 /* don't do the read, it's not guaranteed to return an EOF,
2998 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
3002 yy_size_t num_to_read =
3003 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
3005 while ( num_to_read <= 0 )
3006 { /* Not enough room in the buffer - grow it. */
3008 /* just a shorter name for the current buffer */
3009 YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
3011 int yy_c_buf_p_offset =
3012 (int) ((yy_c_buf_p) - b->yy_ch_buf);
3014 if ( b->yy_is_our_buffer )
3016 yy_size_t new_size = b->yy_buf_size * 2;
3018 if ( new_size <= 0 )
3019 b->yy_buf_size += b->yy_buf_size / 8;
3021 b->yy_buf_size *= 2;
3023 b->yy_ch_buf = (char *)
3024 /* Include room in for 2 EOB chars. */
3025 dax_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
3028 /* Can't grow it, we don't own it. */
3031 if ( ! b->yy_ch_buf )
3033 "fatal error - scanner input buffer overflow" );
3035 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
3037 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
3042 if ( num_to_read > YY_READ_BUF_SIZE )
3043 num_to_read = YY_READ_BUF_SIZE;
3045 /* Read in more data. */
3046 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
3047 (yy_n_chars), num_to_read );
3049 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3052 if ( (yy_n_chars) == 0 )
3054 if ( number_to_move == YY_MORE_ADJ )
3056 ret_val = EOB_ACT_END_OF_FILE;
3057 dax_restart(dax_in );
3062 ret_val = EOB_ACT_LAST_MATCH;
3063 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
3064 YY_BUFFER_EOF_PENDING;
3069 ret_val = EOB_ACT_CONTINUE_SCAN;
3071 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
3072 /* Extend the array by 50%, plus the number we really need. */
3073 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
3074 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) dax_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
3075 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3076 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
3079 (yy_n_chars) += number_to_move;
3080 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
3081 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
3083 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
3088 /* yy_get_previous_state - get the state just before the EOB char was reached */
3090 static yy_state_type yy_get_previous_state (void)
3092 register yy_state_type yy_current_state;
3093 register char *yy_cp;
3095 yy_current_state = (yy_start);
3097 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
3099 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3100 if ( yy_accept[yy_current_state] )
3102 (yy_last_accepting_state) = yy_current_state;
3103 (yy_last_accepting_cpos) = yy_cp;
3105 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3107 yy_current_state = (int) yy_def[yy_current_state];
3108 if ( yy_current_state >= 775 )
3109 yy_c = yy_meta[(unsigned int) yy_c];
3111 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3114 return yy_current_state;
3117 /* yy_try_NUL_trans - try to make a transition on the NUL character
3120 * next_state = yy_try_NUL_trans( current_state );
3122 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
3124 register int yy_is_jam;
3125 register char *yy_cp = (yy_c_buf_p);
3127 register YY_CHAR yy_c = 1;
3128 if ( yy_accept[yy_current_state] )
3130 (yy_last_accepting_state) = yy_current_state;
3131 (yy_last_accepting_cpos) = yy_cp;
3133 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3135 yy_current_state = (int) yy_def[yy_current_state];
3136 if ( yy_current_state >= 775 )
3137 yy_c = yy_meta[(unsigned int) yy_c];
3139 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3140 yy_is_jam = (yy_current_state == 774);
3142 return yy_is_jam ? 0 : yy_current_state;
3147 static int yyinput (void)
3149 static int input (void)
3155 *(yy_c_buf_p) = (yy_hold_char);
3157 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
3159 /* yy_c_buf_p now points to the character we want to return.
3160 * If this occurs *before* the EOB characters, then it's a
3161 * valid NUL; if not, then we've hit the end of the buffer.
3163 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3164 /* This was really a NUL. */
3165 *(yy_c_buf_p) = '\0';
3168 { /* need more input */
3169 yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
3172 switch ( yy_get_next_buffer( ) )
3174 case EOB_ACT_LAST_MATCH:
3175 /* This happens because yy_g_n_b()
3176 * sees that we've accumulated a
3177 * token and flags that we need to
3178 * try matching the token before
3179 * proceeding. But for input(),
3180 * there's no matching to consider.
3181 * So convert the EOB_ACT_LAST_MATCH
3182 * to EOB_ACT_END_OF_FILE.
3185 /* Reset buffer status. */
3186 dax_restart(dax_in );
3190 case EOB_ACT_END_OF_FILE:
3195 if ( ! (yy_did_buffer_switch_on_eof) )
3204 case EOB_ACT_CONTINUE_SCAN:
3205 (yy_c_buf_p) = (yytext_ptr) + offset;
3211 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
3212 *(yy_c_buf_p) = '\0'; /* preserve dax_text */
3213 (yy_hold_char) = *++(yy_c_buf_p);
3222 #endif /* ifndef YY_NO_INPUT */
3224 /** Immediately switch to a different input stream.
3225 * @param input_file A readable stream.
3227 * @note This function does not reset the start condition to @c INITIAL .
3229 void dax_restart (FILE * input_file )
3232 if ( ! YY_CURRENT_BUFFER ){
3233 dax_ensure_buffer_stack ();
3234 YY_CURRENT_BUFFER_LVALUE =
3235 dax__create_buffer(dax_in,YY_BUF_SIZE );
3238 dax__init_buffer(YY_CURRENT_BUFFER,input_file );
3239 dax__load_buffer_state( );
3242 /** Switch to a different input buffer.
3243 * @param new_buffer The new input buffer.
3246 void dax__switch_to_buffer (YY_BUFFER_STATE new_buffer )
3249 /* TODO. We should be able to replace this entire function body
3251 * dax_pop_buffer_state();
3252 * dax_push_buffer_state(new_buffer);
3254 dax_ensure_buffer_stack ();
3255 if ( YY_CURRENT_BUFFER == new_buffer )
3258 if ( YY_CURRENT_BUFFER )
3260 /* Flush out information for old buffer. */
3261 *(yy_c_buf_p) = (yy_hold_char);
3262 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3263 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3266 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3267 dax__load_buffer_state( );
3269 /* We don't actually know whether we did this switch during
3270 * EOF (dax_wrap()) processing, but the only time this flag
3271 * is looked at is after dax_wrap() is called, so it's safe
3272 * to go ahead and always set it.
3274 (yy_did_buffer_switch_on_eof) = 1;
3277 static void dax__load_buffer_state (void)
3279 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3280 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
3281 dax_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
3282 (yy_hold_char) = *(yy_c_buf_p);
3285 /** Allocate and initialize an input buffer state.
3286 * @param file A readable stream.
3287 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
3289 * @return the allocated buffer state.
3291 YY_BUFFER_STATE dax__create_buffer (FILE * file, int size )
3295 b = (YY_BUFFER_STATE) dax_alloc(sizeof( struct yy_buffer_state ) );
3297 YY_FATAL_ERROR( "out of dynamic memory in dax__create_buffer()" );
3299 b->yy_buf_size = size;
3301 /* yy_ch_buf has to be 2 characters longer than the size given because
3302 * we need to put in 2 end-of-buffer characters.
3304 b->yy_ch_buf = (char *) dax_alloc(b->yy_buf_size + 2 );
3305 if ( ! b->yy_ch_buf )
3306 YY_FATAL_ERROR( "out of dynamic memory in dax__create_buffer()" );
3308 b->yy_is_our_buffer = 1;
3310 dax__init_buffer(b,file );
3315 /** Destroy the buffer.
3316 * @param b a buffer created with dax__create_buffer()
3319 void dax__delete_buffer (YY_BUFFER_STATE b )
3325 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
3326 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
3328 if ( b->yy_is_our_buffer )
3329 dax_free((void *) b->yy_ch_buf );
3331 dax_free((void *) b );
3334 /* Initializes or reinitializes a buffer.
3335 * This function is sometimes called more than once on the same buffer,
3336 * such as during a dax_restart() or at EOF.
3338 static void dax__init_buffer (YY_BUFFER_STATE b, FILE * file )
3343 dax__flush_buffer(b );
3345 b->yy_input_file = file;
3346 b->yy_fill_buffer = 1;
3348 /* If b is the current buffer, then dax__init_buffer was _probably_
3349 * called from dax_restart() or through yy_get_next_buffer.
3350 * In that case, we don't want to reset the lineno or column.
3352 if (b != YY_CURRENT_BUFFER){
3353 b->yy_bs_lineno = 1;
3354 b->yy_bs_column = 0;
3357 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
3362 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
3363 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
3366 void dax__flush_buffer (YY_BUFFER_STATE b )
3373 /* We always need two end-of-buffer characters. The first causes
3374 * a transition to the end-of-buffer state. The second causes
3375 * a jam in that state.
3377 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3378 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3380 b->yy_buf_pos = &b->yy_ch_buf[0];
3383 b->yy_buffer_status = YY_BUFFER_NEW;
3385 if ( b == YY_CURRENT_BUFFER )
3386 dax__load_buffer_state( );
3389 /** Pushes the new state onto the stack. The new state becomes
3390 * the current state. This function will allocate the stack
3392 * @param new_buffer The new state.
3395 void dax_push_buffer_state (YY_BUFFER_STATE new_buffer )
3397 if (new_buffer == NULL)
3400 dax_ensure_buffer_stack();
3402 /* This block is copied from dax__switch_to_buffer. */
3403 if ( YY_CURRENT_BUFFER )
3405 /* Flush out information for old buffer. */
3406 *(yy_c_buf_p) = (yy_hold_char);
3407 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3408 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3411 /* Only push if top exists. Otherwise, replace top. */
3412 if (YY_CURRENT_BUFFER)
3413 (yy_buffer_stack_top)++;
3414 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3416 /* copied from dax__switch_to_buffer. */
3417 dax__load_buffer_state( );
3418 (yy_did_buffer_switch_on_eof) = 1;
3421 /** Removes and deletes the top of the stack, if present.
3422 * The next element becomes the new top.
3425 void dax_pop_buffer_state (void)
3427 if (!YY_CURRENT_BUFFER)
3430 dax__delete_buffer(YY_CURRENT_BUFFER );
3431 YY_CURRENT_BUFFER_LVALUE = NULL;
3432 if ((yy_buffer_stack_top) > 0)
3433 --(yy_buffer_stack_top);
3435 if (YY_CURRENT_BUFFER) {
3436 dax__load_buffer_state( );
3437 (yy_did_buffer_switch_on_eof) = 1;
3441 /* Allocates the stack if it does not exist.
3442 * Guarantees space for at least one push.
3444 static void dax_ensure_buffer_stack (void)
3446 yy_size_t num_to_alloc;
3448 if (!(yy_buffer_stack)) {
3450 /* First allocation is just for 2 elements, since we don't know if this
3451 * scanner will even need a stack. We use 2 instead of 1 to avoid an
3452 * immediate realloc on the next call.
3455 (yy_buffer_stack) = (struct yy_buffer_state**)dax_alloc
3456 (num_to_alloc * sizeof(struct yy_buffer_state*)
3458 if ( ! (yy_buffer_stack) )
3459 YY_FATAL_ERROR( "out of dynamic memory in dax_ensure_buffer_stack()" );
3461 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
3463 (yy_buffer_stack_max) = num_to_alloc;
3464 (yy_buffer_stack_top) = 0;
3468 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
3470 /* Increase the buffer to prepare for a possible push. */
3471 int grow_size = 8 /* arbitrary grow size */;
3473 num_to_alloc = (yy_buffer_stack_max) + grow_size;
3474 (yy_buffer_stack) = (struct yy_buffer_state**)dax_realloc
3476 num_to_alloc * sizeof(struct yy_buffer_state*)
3478 if ( ! (yy_buffer_stack) )
3479 YY_FATAL_ERROR( "out of dynamic memory in dax_ensure_buffer_stack()" );
3481 /* zero only the new slots.*/
3482 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
3483 (yy_buffer_stack_max) = num_to_alloc;
3487 /** Setup the input buffer state to scan directly from a user-specified character buffer.
3488 * @param base the character buffer
3489 * @param size the size in bytes of the character buffer
3491 * @return the newly allocated buffer state object.
3493 YY_BUFFER_STATE dax__scan_buffer (char * base, yy_size_t size )
3498 base[size-2] != YY_END_OF_BUFFER_CHAR ||
3499 base[size-1] != YY_END_OF_BUFFER_CHAR )
3500 /* They forgot to leave room for the EOB's. */
3503 b = (YY_BUFFER_STATE) dax_alloc(sizeof( struct yy_buffer_state ) );
3505 YY_FATAL_ERROR( "out of dynamic memory in dax__scan_buffer()" );
3507 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
3508 b->yy_buf_pos = b->yy_ch_buf = base;
3509 b->yy_is_our_buffer = 0;
3510 b->yy_input_file = 0;
3511 b->yy_n_chars = b->yy_buf_size;
3512 b->yy_is_interactive = 0;
3514 b->yy_fill_buffer = 0;
3515 b->yy_buffer_status = YY_BUFFER_NEW;
3517 dax__switch_to_buffer(b );
3522 /** Setup the input buffer state to scan a string. The next call to dax_lex() will
3523 * scan from a @e copy of @a str.
3524 * @param yystr a NUL-terminated string to scan
3526 * @return the newly allocated buffer state object.
3527 * @note If you want to scan bytes that may contain NUL values, then use
3528 * dax__scan_bytes() instead.
3530 YY_BUFFER_STATE dax__scan_string (yyconst char * yystr )
3533 return dax__scan_bytes(yystr,strlen(yystr) );
3536 /** Setup the input buffer state to scan the given bytes. The next call to dax_lex() will
3537 * scan from a @e copy of @a bytes.
3538 * @param yybytes the byte buffer to scan
3539 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
3541 * @return the newly allocated buffer state object.
3543 YY_BUFFER_STATE dax__scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len )
3550 /* Get memory for full buffer, including space for trailing EOB's. */
3551 n = _yybytes_len + 2;
3552 buf = (char *) dax_alloc(n );
3554 YY_FATAL_ERROR( "out of dynamic memory in dax__scan_bytes()" );
3556 for ( i = 0; i < _yybytes_len; ++i )
3557 buf[i] = yybytes[i];
3559 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
3561 b = dax__scan_buffer(buf,n );
3563 YY_FATAL_ERROR( "bad buffer in dax__scan_bytes()" );
3565 /* It's okay to grow etc. this buffer, and we should throw it
3566 * away when we're done.
3568 b->yy_is_our_buffer = 1;
3573 static void yy_push_state (int new_state )
3575 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
3579 (yy_start_stack_depth) += YY_START_STACK_INCR;
3580 new_size = (yy_start_stack_depth) * sizeof( int );
3582 if ( ! (yy_start_stack) )
3583 (yy_start_stack) = (int *) dax_alloc(new_size );
3586 (yy_start_stack) = (int *) dax_realloc((void *) (yy_start_stack),new_size );
3588 if ( ! (yy_start_stack) )
3589 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
3592 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
3597 static void yy_pop_state (void)
3599 if ( --(yy_start_stack_ptr) < 0 )
3600 YY_FATAL_ERROR( "start-condition stack underflow" );
3602 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
3605 #ifndef YY_EXIT_FAILURE
3606 #define YY_EXIT_FAILURE 2
3609 static void yy_fatal_error (yyconst char* msg )
3611 (void) fprintf( stderr, "%s\n", msg );
3612 exit( YY_EXIT_FAILURE );
3615 /* Redefine yyless() so it works in section 3 code. */
3621 /* Undo effects of setting up dax_text. */ \
3622 int yyless_macro_arg = (n); \
3623 YY_LESS_LINENO(yyless_macro_arg);\
3624 dax_text[dax_leng] = (yy_hold_char); \
3625 (yy_c_buf_p) = dax_text + yyless_macro_arg; \
3626 (yy_hold_char) = *(yy_c_buf_p); \
3627 *(yy_c_buf_p) = '\0'; \
3628 dax_leng = yyless_macro_arg; \
3632 /* Accessor methods (get/set functions) to struct members. */
3634 /** Get the current line number.
3637 int dax_get_lineno (void)
3643 /** Get the input stream.
3646 FILE *dax_get_in (void)
3651 /** Get the output stream.
3654 FILE *dax_get_out (void)
3659 /** Get the length of the current token.
3662 yy_size_t dax_get_leng (void)
3667 /** Get the current token.
3671 char *dax_get_text (void)
3676 /** Set the current line number.
3677 * @param line_number
3680 void dax_set_lineno (int line_number )
3683 dax_lineno = line_number;
3686 /** Set the input stream. This does not discard the current
3688 * @param in_str A readable stream.
3690 * @see dax__switch_to_buffer
3692 void dax_set_in (FILE * in_str )
3697 void dax_set_out (FILE * out_str )
3702 int dax_get_debug (void)
3704 return dax__flex_debug;
3707 void dax_set_debug (int bdebug )
3709 dax__flex_debug = bdebug ;
3712 static int yy_init_globals (void)
3714 /* Initialization is the same as for the non-reentrant scanner.
3715 * This function is called from dax_lex_destroy(), so don't allocate here.
3718 /* We do not touch dax_lineno unless the option is enabled. */
3721 (yy_buffer_stack) = 0;
3722 (yy_buffer_stack_top) = 0;
3723 (yy_buffer_stack_max) = 0;
3724 (yy_c_buf_p) = (char *) 0;
3728 (yy_start_stack_ptr) = 0;
3729 (yy_start_stack_depth) = 0;
3730 (yy_start_stack) = NULL;
3732 /* Defined in main.c */
3737 dax_in = (FILE *) 0;
3738 dax_out = (FILE *) 0;
3741 /* For future reference: Set errno on error, since we are called by
3747 /* dax_lex_destroy is for both reentrant and non-reentrant scanners. */
3748 int dax_lex_destroy (void)
3751 /* Pop the buffer stack, destroying each element. */
3752 while(YY_CURRENT_BUFFER){
3753 dax__delete_buffer(YY_CURRENT_BUFFER );
3754 YY_CURRENT_BUFFER_LVALUE = NULL;
3755 dax_pop_buffer_state();
3758 /* Destroy the stack itself. */
3759 dax_free((yy_buffer_stack) );
3760 (yy_buffer_stack) = NULL;
3762 /* Destroy the start condition stack. */
3763 dax_free((yy_start_stack) );
3764 (yy_start_stack) = NULL;
3766 /* Reset the globals. This is important in a non-reentrant scanner so the next time
3767 * dax_lex() is called, initialization will occur. */
3774 * Internal utility routines.
3778 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
3781 for ( i = 0; i < n; ++i )
3786 #ifdef YY_NEED_STRLEN
3787 static int yy_flex_strlen (yyconst char * s )
3790 for ( n = 0; s[n]; ++n )
3797 void *dax_alloc (yy_size_t size )
3799 return (void *) malloc( size );
3802 void *dax_realloc (void * ptr, yy_size_t size )
3804 /* The cast to (char *) in the following accommodates both
3805 * implementations that use char* generic pointers, and those
3806 * that use void* generic pointers. It works with the latter
3807 * because both ANSI C and C++ allow castless assignment from
3808 * any pointer type to void*, and deal with argument conversions
3809 * as though doing an assignment.
3811 return (void *) realloc( (char *) ptr, size );
3814 void dax_free (void * ptr )
3816 free( (char *) ptr ); /* see dax_realloc() for (char *) cast */
3819 #define YYTABLES_NAME "yytables"
3821 /* Element context stack lookup. */
3822 int dax__element_context(int i)
3824 return (0<i && i<yy_start_stack_depth
3825 ? yy_start_stack[yy_start_stack_ptr - i]
3830 void print_yy_stack(char* fmt, ...)
3832 int i = 0; va_list ap; va_start(ap, fmt);
3833 vfprintf(stderr, fmt, ap);
3834 if (dax__statenames) {
3835 for (i=1; i<yy_start_stack_ptr; i++) {
3836 fprintf(stderr, "%s/", dax__statenames[yy_start_stack[i] ]);
3838 fprintf(stderr,"%s\n", dax__statenames[YY_START]);
3843 void print_dax__bufferstack()
3846 fputs("Buffer: ", stderr);
3847 for (i = 0; i < blimit; i++) {
3848 if ( dax__bufferstack[i] == '\377' ) break;
3849 putc(dax__bufferstack[i], stderr);
3854 static void debug_enter(int state, const char* statename) {
3855 yy_push_state(state);
3856 if (dax__flex_debug) {
3857 print_yy_stack("--ENTER(%s) : ",statename);
3858 print_dax__bufferstack();
3862 static void debug_leave(void) {
3863 if (dax__flex_debug) {
3864 print_yy_stack("--LEAVE : ");
3865 print_dax__bufferstack();
3870 static void debug_set(int state, const char* statename) {
3872 if (dax__flex_debug) print_yy_stack("--SET(%s) : ",statename);
3876 static void cleanup(void)
3878 if (dax__statenames) {
3879 free(dax__statenames);
3880 dax__statenames = NULL;
3882 free(dax__bufferstack);
3883 dax__bufferstack = NULL;
3889 static int fail(const char* fmt, ...)
3891 int chars_left, used;
3892 va_list ap; va_start(ap, fmt);
3893 #ifdef FLEXML_yylineno
3894 used = snprintf(flexml_err_msg,flexml_max_err_msg_size,
3895 "Invalid XML (XML input line %d, state %d): ",
3896 dax_lineno, YY_START);
3898 used = snprintf(flexml_err_msg,flexml_max_err_msg_size,
3899 "Invalid XML (state %d): ",
3902 chars_left = flexml_max_err_msg_size - used - 1;
3903 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
3906 #ifndef FLEXML_quiet_parser
3907 /* print directly to sdterr */
3908 fprintf(stderr, "%s\n", flexml_err_msg);
3909 flexml_err_msg[0] = '\0';