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 37
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. */
163 #define YY_BUF_SIZE 16384
166 /* The state buf must be large enough to hold one state per character in the main buffer.
168 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
170 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
171 #define YY_TYPEDEF_YY_BUFFER_STATE
172 typedef struct yy_buffer_state *YY_BUFFER_STATE;
175 #ifndef YY_TYPEDEF_YY_SIZE_T
176 #define YY_TYPEDEF_YY_SIZE_T
177 typedef size_t yy_size_t;
180 extern yy_size_t dax_leng;
182 extern FILE *dax_in, *dax_out;
184 #define EOB_ACT_CONTINUE_SCAN 0
185 #define EOB_ACT_END_OF_FILE 1
186 #define EOB_ACT_LAST_MATCH 2
188 /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
189 * access to the local variable yy_act. Since yyless() is a macro, it would break
190 * existing scanners that call yyless() from OUTSIDE dax_lex.
191 * One obvious solution it to make yy_act a global. I tried that, and saw
192 * a 5% performance hit in a non-dax_lineno scanner, because yy_act is
193 * normally declared as a register variable-- so it is not worth it.
195 #define YY_LESS_LINENO(n) \
198 for ( yyl = n; yyl < dax_leng; ++yyl )\
199 if ( dax_text[yyl] == '\n' )\
203 /* Return all but the first "n" matched characters back to the input stream. */
207 /* Undo effects of setting up dax_text. */ \
208 int yyless_macro_arg = (n); \
209 YY_LESS_LINENO(yyless_macro_arg);\
210 *yy_cp = (yy_hold_char); \
211 YY_RESTORE_YY_MORE_OFFSET \
212 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
213 YY_DO_BEFORE_ACTION; /* set up dax_text again */ \
217 #define unput(c) yyunput( c, (yytext_ptr) )
219 #ifndef YY_STRUCT_YY_BUFFER_STATE
220 #define YY_STRUCT_YY_BUFFER_STATE
221 struct yy_buffer_state
225 char *yy_ch_buf; /* input buffer */
226 char *yy_buf_pos; /* current position in input buffer */
228 /* Size of input buffer in bytes, not including room for EOB
231 yy_size_t yy_buf_size;
233 /* Number of characters read into yy_ch_buf, not including EOB
236 yy_size_t yy_n_chars;
238 /* Whether we "own" the buffer - i.e., we know we created it,
239 * and can realloc() it to grow it, and should free() it to
242 int yy_is_our_buffer;
244 /* Whether this is an "interactive" input source; if so, and
245 * if we're using stdio for input, then we want to use getc()
246 * instead of fread(), to make sure we stop fetching input after
249 int yy_is_interactive;
251 /* Whether we're considered to be at the beginning of a line.
252 * If so, '^' rules will be active on the next match, otherwise
257 int yy_bs_lineno; /**< The line count. */
258 int yy_bs_column; /**< The column count. */
260 /* Whether to try to fill the input buffer when we reach the
265 int yy_buffer_status;
267 #define YY_BUFFER_NEW 0
268 #define YY_BUFFER_NORMAL 1
269 /* When an EOF's been seen but there's still some text to process
270 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
271 * shouldn't try reading from the input source any more. We might
272 * still have a bunch of tokens to match, though, because of
273 * possible backing-up.
275 * When we actually see the EOF, we change the status to "new"
276 * (via dax_restart()), so that the user can continue scanning by
277 * just pointing dax_in at a new input file.
279 #define YY_BUFFER_EOF_PENDING 2
282 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
284 /* Stack of input buffers. */
285 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
286 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
287 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
289 /* We provide macros for accessing buffer states in case in the
290 * future we want to put the buffer states in a more general
293 * Returns the top of the stack, or NULL.
295 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
296 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
299 /* Same as previous macro, but useful when we know that the buffer stack is not
300 * NULL or when we need an lvalue. For internal use only.
302 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
304 /* yy_hold_char holds the character lost when dax_text is formed. */
305 static char yy_hold_char;
306 static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */
309 /* Points to current character in buffer. */
310 static char *yy_c_buf_p = (char *) 0;
311 static int yy_init = 0; /* whether we need to initialize */
312 static int yy_start = 0; /* start state number */
314 /* Flag which is used to allow dax_wrap()'s to do buffer switches
315 * instead of setting up a fresh dax_in. A bit of a hack ...
317 static int yy_did_buffer_switch_on_eof;
319 void dax_restart (FILE *input_file );
320 void dax__switch_to_buffer (YY_BUFFER_STATE new_buffer );
321 YY_BUFFER_STATE dax__create_buffer (FILE *file,int size );
322 void dax__delete_buffer (YY_BUFFER_STATE b );
323 void dax__flush_buffer (YY_BUFFER_STATE b );
324 void dax_push_buffer_state (YY_BUFFER_STATE new_buffer );
325 void dax_pop_buffer_state (void );
327 static void dax_ensure_buffer_stack (void );
328 static void dax__load_buffer_state (void );
329 static void dax__init_buffer (YY_BUFFER_STATE b,FILE *file );
331 #define YY_FLUSH_BUFFER dax__flush_buffer(YY_CURRENT_BUFFER )
333 YY_BUFFER_STATE dax__scan_buffer (char *base,yy_size_t size );
334 YY_BUFFER_STATE dax__scan_string (yyconst char *yy_str );
335 YY_BUFFER_STATE dax__scan_bytes (yyconst char *bytes,yy_size_t len );
337 void *dax_alloc (yy_size_t );
338 void *dax_realloc (void *,yy_size_t );
339 void dax_free (void * );
341 #define yy_new_buffer dax__create_buffer
343 #define yy_set_interactive(is_interactive) \
345 if ( ! YY_CURRENT_BUFFER ){ \
346 dax_ensure_buffer_stack (); \
347 YY_CURRENT_BUFFER_LVALUE = \
348 dax__create_buffer(dax_in,YY_BUF_SIZE ); \
350 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
353 #define yy_set_bol(at_bol) \
355 if ( ! YY_CURRENT_BUFFER ){\
356 dax_ensure_buffer_stack (); \
357 YY_CURRENT_BUFFER_LVALUE = \
358 dax__create_buffer(dax_in,YY_BUF_SIZE ); \
360 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
363 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
365 /* Begin user sect3 */
368 #define YY_SKIP_YYWRAP
370 typedef unsigned char YY_CHAR;
372 FILE *dax_in = (FILE *) 0, *dax_out = (FILE *) 0;
374 typedef int yy_state_type;
376 extern int dax_lineno;
380 extern char *dax_text;
381 #define yytext_ptr dax_text
383 static yy_state_type yy_get_previous_state (void );
384 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
385 static int yy_get_next_buffer (void );
386 static void yy_fatal_error (yyconst char msg[] );
388 /* Done after the current pattern has been matched and before the
389 * corresponding action - sets up dax_text.
391 #define YY_DO_BEFORE_ACTION \
392 (yytext_ptr) = yy_bp; \
393 dax_leng = (size_t) (yy_cp - yy_bp); \
394 (yy_hold_char) = *yy_cp; \
396 (yy_c_buf_p) = yy_cp;
398 #define YY_NUM_RULES 140
399 #define YY_END_OF_BUFFER 141
400 /* This struct is not used in this scanner,
401 but its presence is necessary. */
404 flex_int32_t yy_verify;
407 static yyconst flex_int16_t yy_accept[775] =
409 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
410 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
411 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
412 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
413 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
414 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
415 0, 0, 0, 0, 0, 0, 141, 139, 15, 10,
416 10, 15, 15, 119, 10, 119, 5, 6, 5, 8,
417 9, 8, 135, 127, 128, 136, 133, 136, 134, 138,
418 127, 128, 138, 139, 40, 10, 40, 40, 40, 38,
420 40, 40, 40, 40, 40, 40, 40, 44, 10, 44,
421 44, 139, 139, 44, 61, 10, 61, 61, 61, 59,
422 61, 61, 61, 61, 61, 65, 10, 65, 139, 65,
423 92, 10, 92, 92, 92, 90, 92, 92, 92, 92,
424 92, 92, 96, 10, 96, 103, 10, 103, 103, 103,
425 101, 103, 107, 10, 107, 139, 107, 114, 10, 114,
426 114, 114, 112, 114, 118, 10, 118, 136, 135, 10,
427 0, 2, 2, 0, 4, 7, 130, 129, 0, 0,
428 0, 0, 0, 0, 0, 39, 41, 41, 41, 41,
429 41, 41, 41, 41, 41, 41, 0, 0, 0, 0,
431 0, 0, 0, 0, 60, 62, 62, 62, 62, 62,
432 62, 0, 0, 91, 93, 93, 93, 93, 93, 93,
433 93, 93, 0, 102, 104, 104, 0, 0, 113, 115,
434 115, 0, 0, 0, 0, 0, 0, 0, 3, 0,
435 0, 0, 0, 0, 0, 0, 137, 0, 41, 41,
436 41, 41, 41, 41, 41, 41, 41, 0, 0, 0,
437 0, 0, 0, 0, 0, 0, 0, 0, 62, 62,
438 62, 62, 0, 0, 0, 93, 93, 93, 93, 93,
439 93, 93, 0, 0, 104, 0, 0, 0, 115, 0,
440 0, 0, 132, 0, 14, 1, 0, 0, 125, 0,
442 0, 0, 122, 121, 0, 0, 41, 41, 41, 41,
443 41, 41, 41, 41, 41, 0, 0, 43, 0, 0,
444 0, 46, 0, 0, 45, 0, 0, 48, 47, 62,
445 62, 62, 62, 0, 0, 64, 0, 0, 93, 93,
446 93, 93, 93, 93, 93, 0, 0, 95, 0, 0,
447 0, 0, 0, 106, 0, 0, 0, 0, 0, 0,
448 117, 0, 0, 0, 0, 126, 120, 0, 0, 17,
449 41, 41, 41, 41, 41, 0, 0, 41, 41, 41,
450 0, 16, 0, 46, 0, 66, 45, 0, 62, 0,
451 0, 62, 62, 62, 0, 67, 0, 0, 0, 0,
453 93, 93, 0, 0, 93, 0, 0, 0, 0, 100,
454 99, 0, 0, 0, 111, 110, 0, 0, 0, 0,
455 0, 12, 0, 123, 124, 17, 41, 0, 0, 41,
456 0, 0, 41, 0, 31, 30, 41, 0, 41, 0,
457 41, 0, 16, 98, 0, 66, 97, 0, 0, 0,
458 52, 51, 62, 62, 62, 0, 63, 67, 0, 69,
459 68, 0, 0, 0, 93, 93, 0, 89, 88, 93,
460 0, 87, 86, 0, 0, 0, 0, 0, 0, 0,
461 0, 11, 41, 0, 27, 26, 41, 0, 29, 28,
462 41, 41, 41, 0, 19, 18, 41, 0, 42, 98,
464 108, 97, 0, 58, 57, 62, 62, 62, 0, 0,
465 0, 0, 93, 93, 93, 0, 94, 0, 109, 0,
466 0, 0, 0, 0, 41, 41, 41, 0, 0, 41,
467 41, 108, 62, 0, 0, 0, 0, 0, 0, 0,
468 0, 93, 93, 93, 0, 105, 109, 0, 0, 0,
469 0, 0, 41, 41, 0, 0, 0, 25, 24, 41,
470 41, 62, 0, 56, 55, 0, 54, 53, 0, 0,
471 0, 0, 0, 0, 0, 0, 0, 0, 0, 116,
472 131, 0, 0, 0, 41, 0, 0, 0, 33, 32,
473 0, 0, 41, 0, 0, 0, 0, 0, 0, 0,
475 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
476 0, 0, 0, 0, 35, 34, 0, 21, 20, 41,
477 0, 50, 49, 0, 0, 0, 0, 0, 0, 0,
478 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
479 0, 0, 0, 37, 36, 41, 71, 0, 70, 0,
480 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
481 0, 0, 0, 0, 0, 41, 73, 72, 0, 0,
482 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
483 0, 0, 0, 0, 41, 0, 0, 0, 0, 0,
484 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
486 0, 0, 0, 41, 0, 85, 0, 84, 0, 77,
487 0, 76, 0, 81, 0, 80, 0, 0, 0, 0,
488 0, 0, 41, 83, 82, 75, 74, 79, 78, 0,
489 0, 0, 12, 0, 12, 0, 41, 0, 0, 0,
490 0, 0, 41, 0, 0, 0, 0, 0, 11, 0,
491 23, 22, 0, 0, 0, 0, 0, 0, 0, 0,
492 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
496 static yyconst flex_int32_t yy_ec[256] =
498 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
499 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
500 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
501 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
502 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
503 13, 13, 13, 13, 13, 13, 13, 14, 15, 16,
504 17, 18, 19, 1, 20, 21, 22, 23, 24, 21,
505 25, 25, 25, 25, 25, 26, 27, 25, 28, 29,
506 25, 25, 30, 31, 25, 25, 25, 25, 32, 25,
507 33, 1, 34, 1, 25, 1, 35, 36, 37, 38,
509 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
510 49, 50, 51, 52, 53, 54, 55, 56, 25, 57,
511 58, 59, 1, 1, 1, 1, 1, 1, 1, 1,
512 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
513 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
514 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
515 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
516 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
517 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
518 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
520 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
521 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
522 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
523 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
524 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
528 static yyconst flex_int32_t yy_meta[60] =
530 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
531 3, 1, 4, 5, 1, 1, 1, 6, 1, 7,
532 7, 7, 7, 7, 5, 5, 5, 5, 5, 5,
533 5, 5, 1, 1, 7, 7, 7, 7, 7, 7,
534 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
535 5, 5, 5, 5, 5, 5, 5, 5, 5
538 static yyconst flex_int16_t yy_base[814] =
540 0, 0, 0, 3, 6, 9, 24, 27, 11, 14,
541 15, 17, 29, 38, 45, 52, 59, 61, 67, 70,
542 95, 0, 73, 76, 153, 156, 159, 162, 177, 180,
543 183, 186, 201, 204, 207, 210, 226, 0, 284, 287,
544 290, 293, 308, 311, 314, 317, 333, 0, 391, 394,
545 410, 462, 429, 432, 435, 438, 481, 484, 487, 490,
546 514, 566, 533, 536, 585, 587, 1886, 2164, 2164, 397,
547 400, 47, 62, 2164, 453, 172, 2164, 2164, 1875, 2164,
548 2164, 1865, 2164, 1866, 1863, 551, 2164, 2164, 2164, 2164,
549 1861, 1861, 1829, 441, 2164, 505, 1844, 0, 196, 2164,
551 8, 1818, 1812, 1810, 1823, 1813, 35, 2164, 508, 593,
552 601, 589, 622, 630, 2164, 539, 1833, 0, 303, 2164,
553 1811, 1809, 1793, 1772, 1786, 2164, 542, 649, 657, 676,
554 2164, 551, 1798, 0, 442, 2164, 1772, 1770, 1750, 1760,
555 1751, 32, 2164, 557, 545, 2164, 607, 1775, 0, 494,
556 2164, 1752, 2164, 612, 684, 703, 711, 2164, 667, 1764,
557 0, 546, 2164, 1722, 2164, 733, 641, 1752, 1721, 739,
558 594, 1690, 2164, 1735, 1723, 2164, 2164, 2164, 2, 44,
559 1685, 1684, 1675, 1711, 1689, 2164, 0, 1678, 1663, 1670,
560 1677, 1676, 1664, 1658, 1650, 1652, 1658, 1650, 1645, 1636,
562 1645, 1626, 1628, 1630, 2164, 0, 747, 1615, 1618, 1615,
563 1610, 1616, 1599, 2164, 0, 1605, 1601, 1590, 1602, 1582,
564 1601, 1585, 1578, 2164, 0, 1588, 1590, 1590, 2164, 0,
565 1584, 1572, 1584, 1594, 1593, 1599, 431, 1554, 2164, 72,
566 0, 1549, 1549, 1581, 1576, 1541, 2164, 1553, 1540, 1535,
567 1533, 1528, 1544, 1525, 1503, 1507, 1539, 765, 768, 1517,
568 1507, 1509, 1488, 1500, 1501, 1486, 771, 775, 1489, 1487,
569 1467, 1467, 787, 790, 1479, 1477, 1470, 1470, 1459, 1462,
570 1445, 1429, 793, 796, 799, 815, 818, 1415, 821, 824,
571 827, 1443, 2164, 1446, 2164, 2164, 17, 1400, 2164, 1428,
573 1426, 1384, 2164, 2164, 1381, 1389, 1391, 1373, 1394, 1358,
574 1364, 844, 1368, 1357, 1344, 848, 851, 2164, 854, 1355,
575 1344, 861, 1350, 1318, 871, 1324, 874, 2164, 2164, 1322,
576 882, 1317, 1316, 888, 891, 2164, 894, 1301, 898, 901,
577 1304, 1295, 917, 1290, 920, 923, 929, 2164, 936, 940,
578 946, 956, 959, 2164, 962, 1301, 965, 981, 968, 989,
579 2164, 992, 1309, 616, 995, 2164, 2164, 1316, 1314, 998,
580 1302, 1013, 1274, 1016, 1266, 1019, 1022, 1269, 1035, 1279,
581 1038, 1043, 1274, 1051, 1253, 1055, 1058, 1262, 1061, 1064,
582 1067, 1248, 1246, 1243, 1080, 1083, 1086, 1090, 1098, 1102,
584 1242, 1231, 1110, 1114, 1244, 1122, 1126, 1134, 1138, 2164,
585 2164, 1146, 1234, 1151, 2164, 2164, 1159, 1257, 632, 1258,
586 1163, 2164, 1256, 2164, 2164, 1166, 1224, 1169, 1176, 1216,
587 1172, 1191, 1212, 1201, 2164, 2164, 1211, 1209, 1196, 1212,
588 1209, 1220, 1225, 1228, 1196, 1231, 1237, 1240, 1243, 1252,
589 2164, 2164, 1213, 1198, 1188, 1260, 2164, 1263, 1266, 2164,
590 2164, 1277, 124, 125, 1190, 1181, 1285, 2164, 2164, 1178,
591 1293, 2164, 2164, 1301, 1304, 1155, 1307, 1177, 578, 152,
592 5, 2164, 1151, 1311, 2164, 2164, 1153, 1324, 2164, 2164,
593 1145, 1332, 1143, 1335, 2164, 2164, 1152, 1343, 2164, 1348,
595 1354, 1360, 1363, 2164, 2164, 1153, 1371, 1374, 1140, 1129,
596 1135, 1104, 1112, 1104, 1099, 1377, 2164, 1380, 1383, 1390,
597 1126, 174, 158, 280, 1097, 1089, 1397, 1400, 1403, 1091,
598 1086, 1416, 1092, 1419, 1422, 1430, 1436, 1072, 1067, 1069,
599 1056, 1446, 1449, 1452, 1455, 2164, 1458, 1468, 1076, 1472,
600 176, 510, 1053, 1475, 1478, 1485, 1494, 2164, 2164, 1502,
601 1062, 1505, 1508, 2164, 2164, 1521, 2164, 2164, 1040, 1041,
602 1025, 1027, 1529, 1532, 1540, 1545, 1556, 1559, 1481, 2164,
603 2164, 1567, 287, 179, 1572, 1575, 1578, 1591, 2164, 2164,
604 1601, 1604, 1049, 1612, 1617, 1020, 1017, 997, 995, 1628,
606 633, 643, 1636, 651, 660, 1644, 670, 675, 412, 283,
607 538, 1652, 1655, 1664, 2164, 2164, 1672, 2164, 2164, 999,
608 1680, 2164, 2164, 1037, 981, 1025, 978, 994, 975, 977,
609 959, 974, 956, 971, 952, 968, 937, 953, 929, 605,
610 281, 434, 1688, 2164, 2164, 942, 2164, 972, 2164, 967,
611 927, 901, 907, 896, 900, 890, 890, 874, 882, 859,
612 867, 856, 611, 614, 1696, 875, 2164, 2164, 855, 820,
613 760, 773, 757, 770, 732, 713, 674, 686, 664, 670,
614 1699, 1702, 1705, 1722, 652, 659, 673, 619, 616, 541,
615 556, 495, 496, 463, 495, 419, 444, 1730, 1733, 1740,
617 1750, 1768, 1802, 381, 403, 2164, 399, 2164, 400, 2164,
618 396, 2164, 325, 2164, 319, 2164, 700, 1820, 657, 613,
619 1838, 1872, 274, 2164, 2164, 2164, 2164, 2164, 2164, 660,
620 727, 200, 301, 745, 295, 1760, 254, 726, 218, 202,
621 207, 1794, 1865, 480, 153, 1890, 1786, 738, 2164, 1828,
622 2164, 2164, 1763, 1893, 664, 742, 741, 769, 814, 822,
623 823, 826, 744, 797, 789, 863, 849, 850, 864, 898,
624 1906, 1910, 2164, 2164, 1928, 1935, 1942, 1949, 1956, 1963,
625 1970, 1977, 1984, 1991, 1998, 2005, 2012, 2019, 2024, 2029,
626 2034, 2039, 2044, 2051, 2054, 2057, 2060, 2063, 2066, 2073,
628 2077, 2083, 2089, 2095, 2101, 2107, 2114, 2121, 2128, 2135,
632 static yyconst flex_int16_t yy_def[814] =
634 775, 775, 776, 776, 776, 776, 777, 777, 778, 778,
635 779, 779, 780, 780, 780, 780, 781, 781, 775, 775,
636 774, 21, 782, 782, 782, 782, 775, 775, 782, 782,
637 775, 775, 782, 782, 782, 782, 774, 37, 783, 783,
638 775, 775, 783, 783, 783, 783, 774, 47, 784, 784,
639 785, 785, 786, 786, 775, 775, 786, 786, 786, 786,
640 787, 787, 788, 788, 780, 780, 774, 774, 774, 774,
641 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
642 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
643 774, 774, 774, 774, 774, 774, 774, 789, 774, 774,
645 789, 789, 789, 789, 789, 789, 789, 774, 774, 774,
646 774, 774, 774, 774, 774, 774, 774, 790, 774, 774,
647 790, 790, 790, 790, 790, 774, 774, 774, 774, 774,
648 774, 774, 774, 791, 774, 774, 791, 791, 791, 791,
649 791, 791, 774, 774, 774, 774, 774, 774, 792, 774,
650 774, 792, 774, 774, 774, 774, 774, 774, 774, 774,
651 793, 774, 774, 793, 774, 774, 774, 774, 774, 774,
652 794, 774, 774, 774, 774, 774, 774, 774, 774, 774,
653 774, 774, 774, 774, 774, 774, 789, 789, 789, 789,
654 789, 789, 789, 789, 789, 789, 795, 774, 774, 774,
656 774, 774, 774, 774, 774, 790, 790, 790, 790, 790,
657 790, 796, 774, 774, 791, 791, 791, 791, 791, 791,
658 791, 791, 797, 774, 792, 792, 798, 774, 774, 793,
659 793, 799, 774, 774, 800, 774, 800, 774, 774, 774,
660 801, 774, 774, 774, 774, 774, 774, 774, 789, 789,
661 789, 789, 789, 789, 789, 789, 789, 802, 802, 774,
662 774, 774, 774, 774, 774, 774, 774, 774, 790, 790,
663 790, 790, 803, 803, 774, 791, 791, 791, 791, 791,
664 791, 791, 804, 804, 792, 805, 805, 774, 793, 806,
665 806, 774, 774, 800, 774, 774, 800, 774, 774, 801,
667 774, 774, 774, 774, 774, 774, 789, 789, 789, 789,
668 789, 789, 789, 789, 789, 774, 802, 774, 802, 774,
669 774, 774, 774, 774, 774, 774, 774, 774, 774, 790,
670 790, 790, 790, 774, 803, 774, 803, 774, 791, 791,
671 791, 791, 791, 791, 791, 774, 804, 774, 804, 774,
672 774, 774, 805, 774, 805, 774, 774, 774, 774, 806,
673 774, 806, 774, 800, 807, 774, 774, 774, 774, 774,
674 789, 789, 789, 789, 789, 774, 774, 789, 789, 789,
675 802, 774, 774, 774, 774, 774, 774, 774, 790, 774,
676 774, 790, 790, 790, 803, 774, 774, 774, 774, 774,
678 791, 791, 774, 774, 791, 774, 774, 804, 774, 774,
679 774, 805, 774, 774, 774, 774, 806, 774, 800, 807,
680 807, 774, 807, 774, 774, 774, 789, 774, 774, 789,
681 774, 774, 789, 774, 774, 774, 789, 774, 789, 774,
682 789, 802, 774, 774, 774, 774, 774, 774, 774, 774,
683 774, 774, 790, 790, 790, 774, 774, 774, 774, 774,
684 774, 774, 774, 774, 791, 791, 774, 774, 774, 791,
685 774, 774, 774, 804, 805, 774, 806, 774, 800, 807,
686 807, 774, 789, 774, 774, 774, 789, 774, 774, 774,
687 789, 789, 789, 774, 774, 774, 789, 774, 774, 774,
689 774, 774, 774, 774, 774, 790, 790, 790, 774, 774,
690 774, 774, 791, 791, 791, 774, 774, 805, 774, 806,
691 774, 800, 807, 807, 789, 789, 789, 774, 774, 789,
692 789, 774, 790, 774, 774, 774, 774, 774, 774, 774,
693 774, 791, 791, 791, 774, 774, 774, 806, 774, 800,
694 807, 807, 789, 789, 774, 774, 774, 774, 774, 789,
695 789, 790, 774, 774, 774, 774, 774, 774, 774, 774,
696 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
697 774, 800, 807, 807, 789, 774, 774, 774, 774, 774,
698 774, 774, 789, 774, 774, 774, 774, 774, 774, 774,
700 774, 774, 774, 774, 774, 774, 774, 774, 800, 807,
701 807, 774, 774, 774, 774, 774, 774, 774, 774, 789,
702 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
703 774, 774, 774, 774, 774, 774, 774, 774, 774, 800,
704 807, 807, 774, 774, 774, 789, 774, 774, 774, 774,
705 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
706 774, 774, 800, 807, 807, 789, 774, 774, 774, 774,
707 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
708 800, 807, 807, 807, 789, 774, 774, 774, 774, 774,
709 774, 774, 774, 774, 774, 774, 774, 800, 807, 807,
711 807, 808, 809, 789, 774, 774, 774, 774, 774, 774,
712 774, 774, 774, 774, 774, 774, 800, 807, 810, 811,
713 808, 809, 789, 774, 774, 774, 774, 774, 774, 800,
714 810, 807, 812, 811, 813, 807, 789, 800, 812, 774,
715 813, 807, 789, 800, 774, 774, 774, 800, 774, 774,
716 774, 774, 800, 800, 800, 800, 800, 800, 800, 800,
717 800, 800, 800, 800, 800, 800, 800, 800, 800, 800,
718 800, 800, 774, 0, 774, 774, 774, 774, 774, 774,
719 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
720 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
722 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
726 static yyconst flex_int16_t yy_nxt[2224] =
728 774, 70, 71, 70, 70, 71, 70, 70, 71, 70,
729 70, 71, 70, 78, 240, 72, 78, 81, 72, 81,
730 79, 73, 422, 79, 73, 75, 71, 75, 75, 71,
731 75, 84, 85, 82, 295, 82, 86, 87, 364, 76,
732 84, 85, 76, 524, 88, 86, 87, 84, 85, 188,
733 89, 171, 86, 88, 84, 85, 189, 89, 241, 86,
734 88, 91, 92, 91, 92, 172, 171, 88, 71, 71,
735 71, 71, 71, 71, 109, 71, 109, 109, 71, 109,
736 173, 195, 94, 221, 240, 94, 299, 196, 110, 222,
737 242, 110, 93, 243, 93, 95, 96, 71, 96, 95,
739 95, 95, 95, 95, 95, 95, 97, 95, 98, 95,
740 99, 95, 100, 95, 98, 98, 98, 98, 98, 98,
741 98, 98, 98, 98, 98, 98, 98, 95, 95, 98,
742 98, 101, 98, 98, 102, 98, 98, 103, 104, 98,
743 98, 98, 105, 98, 98, 98, 98, 98, 98, 98,
744 106, 107, 98, 98, 109, 71, 109, 109, 71, 109,
745 71, 71, 71, 71, 71, 71, 509, 511, 111, 422,
746 749, 111, 510, 512, 112, 422, 174, 112, 109, 71,
747 109, 109, 71, 109, 71, 71, 71, 71, 71, 71,
748 173, 295, 110, 422, 551, 110, 422, 550, 113, 523,
750 174, 113, 109, 71, 109, 109, 71, 109, 109, 71,
751 109, 109, 71, 109, 173, 740, 111, 422, 423, 111,
752 745, 611, 114, 740, 583, 114, 115, 116, 71, 116,
753 115, 115, 115, 115, 115, 115, 115, 117, 115, 118,
754 115, 119, 115, 120, 115, 118, 118, 118, 118, 118,
755 118, 118, 118, 118, 118, 118, 118, 118, 115, 115,
756 118, 118, 118, 118, 118, 118, 118, 118, 121, 118,
757 118, 122, 118, 123, 118, 118, 118, 124, 118, 118,
758 118, 125, 118, 118, 118, 127, 71, 127, 127, 71,
759 127, 71, 71, 71, 71, 71, 71, 422, 422, 128,
761 422, 743, 128, 740, 422, 129, 740, 174, 129, 127,
762 71, 127, 127, 71, 127, 127, 71, 127, 127, 71,
763 127, 173, 737, 128, 610, 641, 128, 729, 664, 130,
764 728, 552, 130, 131, 132, 71, 132, 131, 131, 131,
765 131, 131, 131, 131, 133, 131, 134, 131, 135, 131,
766 136, 131, 134, 134, 134, 134, 134, 134, 134, 134,
767 134, 134, 134, 134, 134, 131, 131, 134, 134, 134,
768 134, 134, 137, 134, 134, 134, 134, 134, 138, 134,
769 134, 139, 134, 134, 140, 141, 142, 134, 134, 134,
770 134, 134, 144, 71, 144, 144, 71, 144, 170, 170,
772 170, 170, 170, 170, 727, 726, 145, 725, 724, 145,
773 146, 147, 71, 147, 146, 146, 146, 146, 146, 146,
774 146, 148, 146, 723, 146, 150, 146, 151, 146, 295,
775 154, 71, 154, 154, 71, 154, 71, 71, 71, 71,
776 71, 71, 146, 146, 155, 174, 174, 155, 295, 640,
777 156, 422, 716, 156, 170, 170, 170, 715, 297, 173,
778 173, 152, 146, 147, 71, 147, 146, 146, 146, 146,
779 146, 146, 146, 148, 146, 185, 146, 150, 146, 151,
780 146, 665, 154, 71, 154, 154, 71, 154, 154, 71,
781 154, 154, 71, 154, 146, 146, 155, 295, 174, 155,
783 714, 713, 157, 748, 712, 157, 170, 170, 170, 170,
784 170, 170, 173, 152, 158, 159, 71, 159, 158, 158,
785 158, 158, 158, 158, 158, 160, 158, 422, 158, 162,
786 158, 163, 158, 711, 166, 71, 166, 166, 71, 166,
787 170, 170, 170, 170, 170, 170, 158, 158, 167, 174,
788 174, 167, 170, 170, 170, 422, 223, 179, 170, 170,
789 170, 710, 584, 173, 173, 164, 158, 159, 71, 159,
790 158, 158, 158, 158, 158, 158, 158, 160, 158, 709,
791 158, 162, 158, 163, 158, 180, 642, 84, 85, 84,
792 85, 181, 86, 174, 86, 295, 182, 174, 158, 158,
794 168, 183, 168, 236, 197, 174, 522, 173, 170, 170,
795 170, 173, 197, 170, 170, 170, 237, 164, 169, 173,
796 169, 732, 295, 198, 708, 204, 174, 198, 295, 199,
797 735, 422, 200, 295, 174, 198, 200, 199, 201, 663,
798 173, 197, 201, 202, 203, 174, 419, 202, 173, 295,
799 201, 681, 232, 174, 682, 202, 198, 707, 199, 173,
800 212, 174, 732, 479, 198, 203, 204, 173, 170, 170,
801 170, 201, 628, 203, 733, 173, 202, 295, 706, 201,
802 174, 295, 630, 198, 202, 204, 629, 212, 174, 738,
803 632, 198, 203, 204, 173, 227, 631, 705, 201, 634,
805 203, 757, 173, 213, 633, 704, 201, 174, 697, 636,
806 198, 213, 204, 635, 638, 174, 696, 295, 198, 203,
807 204, 173, 227, 637, 695, 201, 694, 203, 639, 173,
808 202, 730, 732, 228, 170, 170, 170, 198, 202, 204,
809 170, 170, 170, 295, 733, 198, 203, 204, 267, 267,
810 267, 693, 228, 732, 203, 295, 744, 202, 295, 295,
811 201, 295, 735, 268, 753, 202, 316, 316, 316, 316,
812 316, 316, 267, 267, 267, 759, 327, 327, 327, 758,
813 328, 765, 318, 329, 692, 318, 295, 268, 334, 334,
814 334, 334, 334, 334, 346, 346, 346, 346, 346, 346,
816 350, 350, 350, 760, 336, 319, 295, 336, 691, 690,
817 348, 689, 688, 348, 295, 351, 352, 352, 352, 352,
818 352, 352, 357, 357, 357, 359, 359, 359, 359, 359,
819 359, 295, 354, 763, 766, 354, 764, 358, 337, 295,
820 295, 361, 767, 295, 361, 376, 376, 376, 349, 316,
821 316, 316, 316, 316, 316, 316, 316, 316, 687, 355,
822 377, 362, 384, 384, 384, 318, 295, 295, 318, 771,
823 761, 318, 387, 387, 387, 327, 327, 327, 762, 328,
824 295, 295, 329, 390, 390, 390, 769, 770, 381, 334,
825 334, 334, 334, 334, 334, 334, 334, 334, 391, 397,
827 397, 397, 399, 399, 399, 336, 771, 686, 336, 685,
828 680, 336, 679, 678, 398, 295, 768, 400, 403, 403,
829 403, 406, 406, 406, 346, 346, 346, 677, 676, 395,
830 346, 346, 346, 404, 392, 675, 407, 346, 346, 346,
831 348, 350, 350, 350, 674, 673, 348, 409, 409, 409,
832 672, 410, 671, 348, 411, 670, 351, 352, 352, 352,
833 352, 352, 352, 352, 352, 352, 357, 357, 357, 359,
834 359, 359, 669, 354, 408, 668, 354, 667, 666, 354,
835 662, 358, 414, 414, 414, 361, 415, 661, 660, 416,
836 359, 359, 359, 359, 359, 359, 421, 421, 421, 426,
838 426, 426, 659, 658, 412, 657, 361, 656, 655, 361,
839 654, 653, 422, 423, 428, 428, 428, 431, 431, 431,
840 376, 376, 376, 434, 434, 434, 652, 435, 651, 429,
841 436, 650, 432, 649, 648, 377, 438, 438, 438, 316,
842 316, 316, 647, 417, 443, 443, 443, 646, 439, 627,
843 626, 440, 384, 384, 384, 318, 446, 446, 446, 387,
844 387, 387, 448, 448, 448, 390, 390, 390, 450, 450,
845 450, 625, 451, 624, 620, 452, 599, 449, 442, 598,
846 391, 456, 456, 456, 458, 458, 458, 397, 397, 397,
847 597, 459, 459, 459, 596, 460, 593, 457, 461, 399,
849 399, 399, 398, 462, 462, 462, 585, 463, 581, 572,
850 464, 403, 403, 403, 400, 467, 467, 467, 571, 468,
851 570, 569, 469, 406, 406, 406, 404, 471, 471, 471,
852 562, 472, 561, 560, 473, 346, 346, 346, 407, 409,
853 409, 409, 554, 410, 553, 549, 411, 352, 352, 352,
854 544, 348, 414, 414, 414, 543, 415, 542, 541, 416,
855 359, 359, 359, 354, 421, 421, 421, 426, 426, 426,
856 428, 428, 428, 431, 431, 431, 361, 484, 484, 484,
857 422, 485, 540, 539, 486, 429, 474, 538, 432, 533,
858 531, 475, 488, 488, 488, 530, 489, 477, 527, 490,
860 526, 480, 434, 434, 434, 525, 435, 521, 519, 436,
861 438, 438, 438, 494, 494, 494, 515, 495, 481, 514,
862 496, 498, 498, 498, 513, 440, 443, 443, 443, 500,
863 500, 500, 446, 446, 446, 508, 507, 499, 502, 502,
864 502, 448, 448, 448, 503, 503, 503, 506, 504, 501,
865 497, 505, 493, 450, 450, 450, 449, 451, 492, 491,
866 452, 456, 456, 456, 458, 458, 458, 459, 459, 459,
867 487, 460, 483, 482, 461, 422, 478, 457, 462, 462,
868 462, 476, 463, 470, 466, 464, 467, 467, 467, 465,
869 468, 455, 454, 469, 471, 471, 471, 453, 472, 447,
871 445, 473, 516, 516, 516, 352, 352, 352, 359, 359,
872 359, 444, 484, 484, 484, 441, 485, 437, 517, 486,
873 433, 354, 430, 427, 361, 488, 488, 488, 425, 489,
874 424, 418, 490, 528, 528, 528, 494, 494, 494, 413,
875 495, 518, 405, 496, 498, 498, 498, 402, 529, 500,
876 500, 500, 401, 396, 520, 532, 532, 532, 394, 393,
877 499, 502, 502, 502, 503, 503, 503, 389, 504, 388,
878 386, 505, 534, 534, 534, 536, 536, 536, 516, 516,
879 516, 545, 545, 545, 547, 547, 547, 535, 385, 383,
880 537, 359, 359, 359, 517, 382, 380, 546, 555, 555,
882 555, 528, 528, 528, 557, 557, 557, 361, 558, 379,
883 378, 559, 375, 556, 374, 373, 529, 532, 532, 532,
884 534, 534, 534, 563, 563, 563, 372, 564, 371, 370,
885 565, 536, 536, 536, 369, 535, 368, 566, 566, 566,
886 367, 567, 366, 548, 568, 365, 537, 573, 573, 573,
887 575, 575, 575, 577, 577, 577, 545, 545, 545, 547,
888 547, 547, 574, 295, 363, 576, 356, 345, 578, 579,
889 579, 579, 546, 582, 582, 582, 586, 586, 586, 555,
890 555, 555, 579, 579, 579, 580, 588, 588, 588, 295,
891 589, 587, 344, 590, 556, 557, 557, 557, 580, 558,
893 343, 342, 559, 591, 591, 591, 594, 594, 594, 563,
894 563, 563, 341, 564, 340, 339, 565, 338, 592, 333,
895 332, 595, 566, 566, 566, 331, 567, 330, 326, 568,
896 573, 573, 573, 600, 600, 600, 325, 601, 324, 323,
897 602, 575, 575, 575, 322, 574, 603, 603, 603, 321,
898 604, 320, 315, 605, 314, 313, 576, 577, 577, 577,
899 606, 606, 606, 312, 607, 311, 310, 608, 582, 582,
900 582, 309, 578, 612, 612, 612, 586, 586, 586, 614,
901 614, 614, 308, 615, 295, 307, 616, 306, 613, 305,
902 304, 587, 588, 588, 588, 303, 589, 302, 301, 590,
904 298, 609, 591, 591, 591, 617, 617, 617, 296, 618,
905 295, 293, 619, 594, 594, 594, 292, 592, 621, 621,
906 621, 291, 622, 289, 288, 623, 287, 285, 595, 600,
907 600, 600, 284, 601, 282, 281, 602, 603, 603, 603,
908 280, 604, 279, 278, 605, 606, 606, 606, 277, 607,
909 276, 275, 608, 612, 612, 612, 643, 643, 643, 274,
910 644, 272, 271, 645, 270, 614, 614, 614, 613, 615,
911 269, 266, 616, 617, 617, 617, 265, 618, 264, 263,
912 619, 621, 621, 621, 262, 622, 261, 260, 623, 643,
913 643, 643, 259, 644, 257, 256, 645, 683, 683, 683,
915 698, 698, 698, 699, 699, 699, 683, 683, 683, 255,
916 254, 253, 684, 422, 252, 251, 295, 250, 700, 422,
917 249, 684, 422, 701, 701, 701, 248, 702, 247, 246,
918 703, 698, 698, 698, 699, 699, 699, 245, 244, 422,
919 239, 718, 718, 718, 236, 719, 238, 295, 720, 700,
920 422, 701, 701, 701, 234, 702, 233, 422, 703, 717,
921 231, 742, 742, 742, 754, 754, 754, 422, 420, 420,
922 420, 420, 420, 420, 420, 420, 420, 422, 423, 420,
923 295, 229, 420, 420, 420, 422, 420, 750, 750, 750,
924 226, 751, 224, 220, 752, 742, 742, 742, 219, 218,
926 420, 420, 420, 420, 420, 420, 420, 420, 420, 420,
927 420, 422, 217, 420, 216, 214, 420, 420, 420, 422,
928 420, 718, 718, 718, 211, 719, 210, 209, 720, 750,
929 750, 750, 480, 751, 420, 420, 752, 422, 420, 420,
930 420, 420, 420, 736, 420, 420, 420, 208, 207, 420,
931 205, 194, 420, 420, 420, 422, 420, 193, 192, 191,
932 190, 186, 184, 178, 177, 178, 746, 746, 746, 177,
933 420, 420, 420, 420, 420, 420, 420, 420, 420, 420,
934 736, 747, 176, 420, 175, 774, 420, 420, 420, 422,
935 420, 746, 746, 746, 754, 754, 754, 774, 755, 774,
937 774, 756, 774, 774, 420, 420, 747, 772, 772, 772,
938 295, 772, 772, 772, 774, 774, 774, 774, 774, 774,
939 774, 774, 774, 773, 774, 774, 774, 773, 68, 68,
940 68, 68, 68, 68, 68, 69, 69, 69, 69, 69,
941 69, 69, 74, 74, 74, 74, 74, 74, 74, 77,
942 77, 77, 77, 77, 77, 77, 80, 80, 80, 80,
943 80, 80, 80, 83, 83, 83, 83, 83, 83, 83,
944 90, 90, 90, 90, 90, 90, 90, 108, 108, 108,
945 108, 108, 108, 108, 126, 126, 126, 126, 126, 126,
946 126, 143, 143, 143, 143, 143, 143, 143, 149, 149,
948 149, 149, 149, 149, 149, 153, 153, 153, 153, 153,
949 153, 153, 161, 161, 161, 161, 161, 161, 161, 165,
950 165, 165, 165, 165, 165, 165, 187, 187, 187, 774,
951 187, 206, 206, 206, 774, 206, 215, 215, 215, 774,
952 215, 225, 225, 225, 774, 225, 230, 230, 230, 774,
953 230, 235, 235, 235, 235, 235, 774, 235, 258, 774,
954 258, 273, 774, 273, 283, 774, 283, 286, 774, 286,
955 290, 774, 290, 294, 294, 294, 294, 294, 294, 294,
956 300, 774, 774, 300, 317, 317, 317, 317, 317, 317,
957 335, 335, 335, 335, 335, 335, 347, 347, 347, 347,
959 347, 347, 353, 353, 353, 353, 353, 353, 360, 360,
960 360, 360, 360, 360, 420, 420, 420, 420, 420, 420,
961 420, 721, 721, 721, 721, 721, 721, 721, 722, 722,
962 722, 722, 722, 722, 722, 731, 731, 731, 731, 731,
963 731, 731, 734, 734, 734, 734, 734, 734, 734, 739,
964 739, 739, 739, 739, 739, 739, 741, 741, 741, 741,
965 741, 741, 741, 67, 774, 774, 774, 774, 774, 774,
966 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
967 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
968 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
970 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
971 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
975 static yyconst flex_int16_t yy_chk[2224] =
977 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
978 6, 6, 6, 9, 179, 3, 10, 11, 4, 12,
979 9, 5, 481, 10, 6, 7, 7, 7, 8, 8,
980 8, 13, 13, 11, 297, 12, 13, 13, 297, 7,
981 14, 14, 8, 481, 13, 14, 14, 15, 15, 101,
982 15, 72, 15, 14, 16, 16, 101, 16, 179, 16,
983 15, 17, 17, 18, 18, 72, 73, 16, 19, 19,
984 19, 20, 20, 20, 23, 23, 23, 24, 24, 24,
985 73, 107, 19, 142, 240, 20, 240, 107, 23, 142,
986 180, 24, 17, 180, 18, 21, 21, 21, 21, 21,
988 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
989 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
990 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
991 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
992 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
993 21, 21, 21, 21, 25, 25, 25, 26, 26, 26,
994 27, 27, 27, 28, 28, 28, 463, 464, 25, 480,
995 745, 26, 463, 464, 27, 523, 76, 28, 29, 29,
996 29, 30, 30, 30, 31, 31, 31, 32, 32, 32,
997 76, 522, 29, 551, 523, 30, 584, 522, 31, 480,
999 99, 32, 33, 33, 33, 34, 34, 34, 35, 35,
1000 35, 36, 36, 36, 99, 741, 33, 732, 732, 34,
1001 740, 584, 35, 739, 551, 36, 37, 37, 37, 37,
1002 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
1003 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
1004 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
1005 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
1006 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
1007 37, 37, 37, 37, 37, 39, 39, 39, 40, 40,
1008 40, 41, 41, 41, 42, 42, 42, 524, 641, 39,
1010 610, 737, 40, 735, 583, 41, 733, 119, 42, 43,
1011 43, 43, 44, 44, 44, 45, 45, 45, 46, 46,
1012 46, 119, 723, 43, 583, 610, 44, 715, 641, 45,
1013 713, 524, 46, 47, 47, 47, 47, 47, 47, 47,
1014 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
1015 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
1016 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
1017 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
1018 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
1019 47, 47, 49, 49, 49, 50, 50, 50, 70, 70,
1021 70, 71, 71, 71, 711, 709, 49, 707, 705, 50,
1022 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
1023 51, 51, 51, 704, 51, 51, 51, 51, 51, 609,
1024 53, 53, 53, 54, 54, 54, 55, 55, 55, 56,
1025 56, 56, 51, 51, 53, 94, 135, 54, 237, 609,
1026 55, 642, 697, 56, 75, 75, 75, 696, 237, 94,
1027 135, 51, 52, 52, 52, 52, 52, 52, 52, 52,
1028 52, 52, 52, 52, 52, 94, 52, 52, 52, 52,
1029 52, 642, 57, 57, 57, 58, 58, 58, 59, 59,
1030 59, 60, 60, 60, 52, 52, 57, 744, 150, 58,
1032 695, 694, 59, 744, 693, 60, 96, 96, 96, 109,
1033 109, 109, 150, 52, 61, 61, 61, 61, 61, 61,
1034 61, 61, 61, 61, 61, 61, 61, 552, 61, 61,
1035 61, 61, 61, 692, 63, 63, 63, 64, 64, 64,
1036 116, 116, 116, 127, 127, 127, 61, 61, 63, 145,
1037 162, 64, 132, 132, 132, 611, 145, 86, 144, 144,
1038 144, 691, 552, 145, 162, 61, 62, 62, 62, 62,
1039 62, 62, 62, 62, 62, 62, 62, 62, 62, 690,
1040 62, 62, 62, 62, 62, 86, 611, 65, 65, 66,
1041 66, 86, 65, 112, 66, 479, 86, 110, 62, 62,
1043 65, 86, 66, 171, 110, 111, 479, 112, 147, 147,
1044 147, 110, 111, 154, 154, 154, 171, 62, 65, 111,
1045 66, 720, 640, 112, 689, 112, 113, 110, 663, 110,
1046 720, 664, 112, 364, 114, 111, 110, 111, 112, 640,
1047 113, 114, 110, 112, 111, 167, 364, 110, 114, 419,
1048 111, 663, 167, 128, 664, 111, 113, 688, 113, 167,
1049 128, 129, 719, 419, 114, 113, 114, 128, 159, 159,
1050 159, 113, 601, 114, 719, 129, 113, 730, 687, 114,
1051 130, 755, 602, 128, 114, 128, 601, 130, 155, 730,
1052 604, 129, 128, 129, 130, 155, 602, 686, 128, 605,
1054 129, 755, 155, 128, 604, 685, 129, 156, 680, 607,
1055 130, 129, 130, 605, 608, 157, 679, 717, 155, 130,
1056 155, 156, 157, 607, 678, 130, 677, 155, 608, 157,
1057 130, 717, 731, 155, 166, 166, 166, 156, 155, 156,
1058 170, 170, 170, 738, 731, 157, 156, 157, 207, 207,
1059 207, 676, 156, 734, 157, 748, 738, 156, 757, 756,
1060 157, 763, 734, 207, 748, 157, 258, 258, 258, 259,
1061 259, 259, 267, 267, 267, 757, 268, 268, 268, 756,
1062 268, 763, 258, 268, 675, 259, 758, 267, 273, 273,
1063 273, 274, 274, 274, 283, 283, 283, 284, 284, 284,
1065 285, 285, 285, 758, 273, 259, 765, 274, 674, 673,
1066 283, 672, 671, 284, 764, 285, 286, 286, 286, 287,
1067 287, 287, 289, 289, 289, 290, 290, 290, 291, 291,
1068 291, 759, 286, 761, 764, 287, 762, 289, 274, 760,
1069 761, 290, 765, 762, 291, 312, 312, 312, 284, 316,
1070 316, 316, 317, 317, 317, 319, 319, 319, 670, 287,
1071 312, 291, 322, 322, 322, 316, 767, 768, 317, 769,
1072 759, 319, 325, 325, 325, 327, 327, 327, 760, 327,
1073 766, 769, 327, 331, 331, 331, 767, 768, 319, 334,
1074 334, 334, 335, 335, 335, 337, 337, 337, 331, 339,
1076 339, 339, 340, 340, 340, 334, 770, 669, 335, 666,
1077 662, 337, 661, 660, 339, 770, 766, 340, 343, 343,
1078 343, 345, 345, 345, 346, 346, 346, 659, 658, 337,
1079 347, 347, 347, 343, 331, 657, 345, 349, 349, 349,
1080 346, 350, 350, 350, 656, 655, 347, 351, 351, 351,
1081 654, 351, 653, 349, 351, 652, 350, 352, 352, 352,
1082 353, 353, 353, 355, 355, 355, 357, 357, 357, 359,
1083 359, 359, 651, 352, 349, 650, 353, 648, 646, 355,
1084 639, 357, 358, 358, 358, 359, 358, 638, 637, 358,
1085 360, 360, 360, 362, 362, 362, 365, 365, 365, 370,
1087 370, 370, 636, 635, 355, 634, 360, 633, 632, 362,
1088 631, 630, 365, 365, 372, 372, 372, 374, 374, 374,
1089 376, 376, 376, 377, 377, 377, 629, 377, 628, 372,
1090 377, 627, 374, 626, 625, 376, 379, 379, 379, 381,
1091 381, 381, 624, 362, 382, 382, 382, 620, 379, 599,
1092 598, 379, 384, 384, 384, 381, 386, 386, 386, 387,
1093 387, 387, 389, 389, 389, 390, 390, 390, 391, 391,
1094 391, 597, 391, 596, 593, 391, 572, 389, 381, 571,
1095 390, 395, 395, 395, 396, 396, 396, 397, 397, 397,
1096 570, 398, 398, 398, 569, 398, 561, 395, 398, 399,
1098 399, 399, 397, 400, 400, 400, 553, 400, 549, 541,
1099 400, 403, 403, 403, 399, 404, 404, 404, 540, 404,
1100 539, 538, 404, 406, 406, 406, 403, 407, 407, 407,
1101 533, 407, 531, 530, 407, 408, 408, 408, 406, 409,
1102 409, 409, 526, 409, 525, 521, 409, 412, 412, 412,
1103 515, 408, 414, 414, 414, 514, 414, 513, 512, 414,
1104 417, 417, 417, 412, 421, 421, 421, 426, 426, 426,
1105 428, 428, 428, 431, 431, 431, 417, 429, 429, 429,
1106 421, 429, 511, 510, 429, 428, 408, 509, 431, 506,
1107 497, 412, 432, 432, 432, 493, 432, 417, 491, 432,
1109 487, 421, 434, 434, 434, 483, 434, 478, 476, 434,
1110 438, 438, 438, 440, 440, 440, 470, 440, 421, 466,
1111 440, 442, 442, 442, 465, 438, 443, 443, 443, 444,
1112 444, 444, 446, 446, 446, 455, 454, 442, 447, 447,
1113 447, 448, 448, 448, 449, 449, 449, 453, 449, 445,
1114 441, 449, 439, 450, 450, 450, 448, 450, 437, 433,
1115 450, 456, 456, 456, 458, 458, 458, 459, 459, 459,
1116 430, 459, 427, 423, 459, 420, 418, 456, 462, 462,
1117 462, 413, 462, 405, 402, 462, 467, 467, 467, 401,
1118 467, 394, 393, 467, 471, 471, 471, 392, 471, 388,
1120 385, 471, 474, 474, 474, 475, 475, 475, 477, 477,
1121 477, 383, 484, 484, 484, 380, 484, 378, 474, 484,
1122 375, 475, 373, 371, 477, 488, 488, 488, 369, 488,
1123 368, 363, 488, 492, 492, 492, 494, 494, 494, 356,
1124 494, 475, 344, 494, 498, 498, 498, 342, 492, 500,
1125 500, 500, 341, 338, 477, 501, 501, 501, 333, 332,
1126 498, 502, 502, 502, 503, 503, 503, 330, 503, 326,
1127 324, 503, 507, 507, 507, 508, 508, 508, 516, 516,
1128 516, 518, 518, 518, 519, 519, 519, 507, 323, 321,
1129 508, 520, 520, 520, 516, 320, 315, 518, 527, 527,
1131 527, 528, 528, 528, 529, 529, 529, 520, 529, 314,
1132 313, 529, 311, 527, 310, 309, 528, 532, 532, 532,
1133 534, 534, 534, 535, 535, 535, 308, 535, 307, 306,
1134 535, 536, 536, 536, 305, 534, 302, 537, 537, 537,
1135 301, 537, 300, 520, 537, 298, 536, 542, 542, 542,
1136 543, 543, 543, 544, 544, 544, 545, 545, 545, 547,
1137 547, 547, 542, 294, 292, 543, 288, 282, 544, 548,
1138 548, 548, 545, 550, 550, 550, 554, 554, 554, 555,
1139 555, 555, 579, 579, 579, 548, 556, 556, 556, 550,
1140 556, 554, 281, 556, 555, 557, 557, 557, 579, 557,
1142 280, 279, 557, 560, 560, 560, 562, 562, 562, 563,
1143 563, 563, 278, 563, 277, 276, 563, 275, 560, 272,
1144 271, 562, 566, 566, 566, 270, 566, 269, 266, 566,
1145 573, 573, 573, 574, 574, 574, 265, 574, 264, 263,
1146 574, 575, 575, 575, 262, 573, 576, 576, 576, 261,
1147 576, 260, 257, 576, 256, 255, 575, 577, 577, 577,
1148 578, 578, 578, 254, 578, 253, 252, 578, 582, 582,
1149 582, 251, 577, 585, 585, 585, 586, 586, 586, 587,
1150 587, 587, 250, 587, 582, 249, 587, 248, 585, 246,
1151 245, 586, 588, 588, 588, 244, 588, 243, 242, 588,
1153 238, 582, 591, 591, 591, 592, 592, 592, 236, 592,
1154 235, 234, 592, 594, 594, 594, 233, 591, 595, 595,
1155 595, 232, 595, 231, 228, 595, 227, 226, 594, 600,
1156 600, 600, 223, 600, 222, 221, 600, 603, 603, 603,
1157 220, 603, 219, 218, 603, 606, 606, 606, 217, 606,
1158 216, 213, 606, 612, 612, 612, 613, 613, 613, 212,
1159 613, 211, 210, 613, 209, 614, 614, 614, 612, 614,
1160 208, 204, 614, 617, 617, 617, 203, 617, 202, 201,
1161 617, 621, 621, 621, 200, 621, 199, 198, 621, 643,
1162 643, 643, 197, 643, 196, 195, 643, 665, 665, 665,
1164 681, 681, 681, 682, 682, 682, 683, 683, 683, 194,
1165 193, 192, 665, 665, 191, 190, 681, 189, 682, 682,
1166 188, 683, 683, 684, 684, 684, 185, 684, 184, 183,
1167 684, 698, 698, 698, 699, 699, 699, 182, 181, 684,
1168 175, 700, 700, 700, 174, 700, 172, 698, 700, 699,
1169 699, 701, 701, 701, 169, 701, 168, 700, 701, 698,
1170 164, 736, 736, 736, 753, 753, 753, 701, 702, 702,
1171 702, 702, 702, 702, 702, 702, 702, 736, 736, 702,
1172 753, 160, 702, 702, 702, 702, 702, 747, 747, 747,
1173 152, 747, 148, 141, 747, 742, 742, 742, 140, 139,
1175 702, 702, 703, 703, 703, 703, 703, 703, 703, 703,
1176 703, 742, 138, 703, 137, 133, 703, 703, 703, 703,
1177 703, 718, 718, 718, 125, 718, 124, 123, 718, 750,
1178 750, 750, 742, 750, 703, 703, 750, 718, 721, 721,
1179 721, 721, 721, 721, 721, 721, 721, 122, 121, 721,
1180 117, 106, 721, 721, 721, 721, 721, 105, 104, 103,
1181 102, 97, 93, 92, 91, 85, 743, 743, 743, 84,
1182 721, 721, 722, 722, 722, 722, 722, 722, 722, 722,
1183 722, 743, 82, 722, 79, 67, 722, 722, 722, 722,
1184 722, 746, 746, 746, 754, 754, 754, 0, 754, 0,
1186 0, 754, 0, 0, 722, 722, 746, 771, 771, 771,
1187 754, 772, 772, 772, 0, 0, 0, 0, 0, 0,
1188 0, 0, 0, 771, 0, 0, 0, 772, 775, 775,
1189 775, 775, 775, 775, 775, 776, 776, 776, 776, 776,
1190 776, 776, 777, 777, 777, 777, 777, 777, 777, 778,
1191 778, 778, 778, 778, 778, 778, 779, 779, 779, 779,
1192 779, 779, 779, 780, 780, 780, 780, 780, 780, 780,
1193 781, 781, 781, 781, 781, 781, 781, 782, 782, 782,
1194 782, 782, 782, 782, 783, 783, 783, 783, 783, 783,
1195 783, 784, 784, 784, 784, 784, 784, 784, 785, 785,
1197 785, 785, 785, 785, 785, 786, 786, 786, 786, 786,
1198 786, 786, 787, 787, 787, 787, 787, 787, 787, 788,
1199 788, 788, 788, 788, 788, 788, 789, 789, 789, 0,
1200 789, 790, 790, 790, 0, 790, 791, 791, 791, 0,
1201 791, 792, 792, 792, 0, 792, 793, 793, 793, 0,
1202 793, 794, 794, 794, 794, 794, 0, 794, 795, 0,
1203 795, 796, 0, 796, 797, 0, 797, 798, 0, 798,
1204 799, 0, 799, 800, 800, 800, 800, 800, 800, 800,
1205 801, 0, 0, 801, 802, 802, 802, 802, 802, 802,
1206 803, 803, 803, 803, 803, 803, 804, 804, 804, 804,
1208 804, 804, 805, 805, 805, 805, 805, 805, 806, 806,
1209 806, 806, 806, 806, 807, 807, 807, 807, 807, 807,
1210 807, 808, 808, 808, 808, 808, 808, 808, 809, 809,
1211 809, 809, 809, 809, 809, 810, 810, 810, 810, 810,
1212 810, 810, 811, 811, 811, 811, 811, 811, 811, 812,
1213 812, 812, 812, 812, 812, 812, 813, 813, 813, 813,
1214 813, 813, 813, 774, 774, 774, 774, 774, 774, 774,
1215 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
1216 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
1217 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
1219 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
1220 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
1224 /* Table of booleans, true if rule could match eol. */
1225 static yyconst flex_int32_t yy_rule_can_match_eol[141] =
1227 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
1228 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
1229 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
1230 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1231 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1,
1232 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0,
1233 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1,
1236 static yy_state_type yy_last_accepting_state;
1237 static char *yy_last_accepting_cpos;
1239 extern int dax__flex_debug;
1240 int dax__flex_debug = 0;
1242 /* The intent behind this definition is that it'll catch
1243 * any uses of REJECT which flex missed.
1245 #define REJECT reject_used_but_not_detected
1246 #define yymore() yymore_used_but_not_detected
1247 #define YY_MORE_ADJ 0
1248 #define YY_RESTORE_YY_MORE_OFFSET
1250 /* Validating XML processor for src/simdag/dax.dtd.
1252 * This program was generated with the FleXML XML processor generator.
1253 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
1254 * FleXML is Copyright (C) 2003-2013 Martin Quinson. All rights reserved.
1257 * There are two, intertwined parts to this program, part A and part B.
1262 * Some parts, here collectively called "Part A", are found in the
1263 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
1264 * and Copyright (C) 2003-2013 Martin Quinson. All rights reserved.
1266 * You can redistribute, use, perform, display and/or modify "Part A"
1267 * provided the following two conditions hold:
1269 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
1270 * FleXML; without even the implied warranty of MERCHANTABILITY or
1271 * FITNESS FOR A PARTICULAR PURPOSE.
1273 * 2. The program distribution conditions do not in any way affect the
1274 * distribution conditions of the FleXML system used to generate this
1275 * file or any version of FleXML derived from that system.
1277 * Notice that these are explicit rights granted to you for files
1278 * generated by the FleXML system. For your rights in connection with
1279 * the FleXML system itself please consult the GNU General Public License.
1284 * The other parts, here collectively called "Part B", and which came
1285 * from the DTD used by FleXML to generate this program, can be
1286 * distributed (or not, as the case may be) under the terms of whoever
1287 * wrote them, provided these terms respect and obey the two conditions
1288 * above under the heading "Part A".
1290 * The author of and contributors to FleXML specifically disclaim
1291 * any copyright interest in "Part B", unless "Part B" was written
1292 * by the author of or contributors to FleXML.
1296 /* Version strings. */
1297 const char dax__flexml_version[] = "1.9.6";
1300 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
1307 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
1308 # ifndef __STRICT_ANSI__
1310 # include <process.h>
1313 # include <unistd.h>
1316 #ifndef FLEXML_INDEXSTACKSIZE
1317 #define FLEXML_INDEXSTACKSIZE 1000
1320 /* Generated definitions. */
1321 #define FLEXML_yylineno
1322 #ifndef FLEXML_BUFFERSTACKSIZE
1323 #define FLEXML_BUFFERSTACKSIZE 1000000
1325 #define FLEXML_NEED_BUFFERLIT
1327 /* XML processor api. */
1328 /* FleXML-provided data. */
1330 extern char *dax__bufferstack;
1331 #define dax__pcdata (dax__bufferstack + dax__pcdata_ix)
1332 AT_dax__uses_type AX_dax__uses_type;
1333 #define A_dax__uses_type (dax__bufferstack + AX_dax__uses_type)
1334 short int dax__uses_type_isset;
1335 AT_dax__adag_childCount AX_dax__adag_childCount;
1336 #define A_dax__adag_childCount (dax__bufferstack + AX_dax__adag_childCount)
1337 short int dax__adag_childCount_isset;
1338 AT_dax__adag_jobCount AX_dax__adag_jobCount;
1339 #define A_dax__adag_jobCount (dax__bufferstack + AX_dax__adag_jobCount)
1340 short int dax__adag_jobCount_isset;
1341 AT_dax__adag_count AX_dax__adag_count;
1342 #define A_dax__adag_count (dax__bufferstack + AX_dax__adag_count)
1343 short int dax__adag_count_isset;
1344 AT_dax__job_name AX_dax__job_name;
1345 #define A_dax__job_name (dax__bufferstack + AX_dax__job_name)
1346 short int dax__job_name_isset;
1347 AT_dax__adag_xmlns_c_xsi AX_dax__adag_xmlns_c_xsi;
1348 #define A_dax__adag_xmlns_c_xsi (dax__bufferstack + AX_dax__adag_xmlns_c_xsi)
1349 short int dax__adag_xmlns_c_xsi_isset;
1350 AT_dax__job_version AX_dax__job_version;
1351 #define A_dax__job_version (dax__bufferstack + AX_dax__job_version)
1352 short int dax__job_version_isset;
1353 AT_dax__adag_version AX_dax__adag_version;
1354 #define A_dax__adag_version (dax__bufferstack + AX_dax__adag_version)
1355 short int dax__adag_version_isset;
1356 AT_dax__adag_fileCount AX_dax__adag_fileCount;
1357 #define A_dax__adag_fileCount (dax__bufferstack + AX_dax__adag_fileCount)
1358 short int dax__adag_fileCount_isset;
1359 AT_dax__uses_size AX_dax__uses_size;
1360 #define A_dax__uses_size (dax__bufferstack + AX_dax__uses_size)
1361 short int dax__uses_size_isset;
1362 AT_dax__uses_register AX_dax__uses_register;
1363 #define A_dax__uses_register AX_dax__uses_register
1364 short int dax__uses_register_isset;
1365 AT_dax__job_namespace AX_dax__job_namespace;
1366 #define A_dax__job_namespace (dax__bufferstack + AX_dax__job_namespace)
1367 short int dax__job_namespace_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__parent_ref AX_dax__parent_ref;
1372 #define A_dax__parent_ref (dax__bufferstack + AX_dax__parent_ref)
1373 short int dax__parent_ref_isset;
1374 AT_dax__uses_optional AX_dax__uses_optional;
1375 #define A_dax__uses_optional AX_dax__uses_optional
1376 short int dax__uses_optional_isset;
1377 AT_dax__uses_link AX_dax__uses_link;
1378 #define A_dax__uses_link AX_dax__uses_link
1379 short int dax__uses_link_isset;
1380 AT_dax__adag_xmlns AX_dax__adag_xmlns;
1381 #define A_dax__adag_xmlns (dax__bufferstack + AX_dax__adag_xmlns)
1382 short int dax__adag_xmlns_isset;
1383 AT_dax__job_runtime AX_dax__job_runtime;
1384 #define A_dax__job_runtime (dax__bufferstack + AX_dax__job_runtime)
1385 short int dax__job_runtime_isset;
1386 AT_dax__child_ref AX_dax__child_ref;
1387 #define A_dax__child_ref (dax__bufferstack + AX_dax__child_ref)
1388 short int dax__child_ref_isset;
1389 AT_dax__adag_name AX_dax__adag_name;
1390 #define A_dax__adag_name (dax__bufferstack + AX_dax__adag_name)
1391 short int dax__adag_name_isset;
1392 AT_dax__job_level AX_dax__job_level;
1393 #define A_dax__job_level (dax__bufferstack + AX_dax__job_level)
1394 short int dax__job_level_isset;
1395 AT_dax__adag_index AX_dax__adag_index;
1396 #define A_dax__adag_index (dax__bufferstack + AX_dax__adag_index)
1397 short int dax__adag_index_isset;
1398 AT_dax__uses_transfer AX_dax__uses_transfer;
1399 #define A_dax__uses_transfer AX_dax__uses_transfer
1400 short int dax__uses_transfer_isset;
1401 AT_dax__uses_file AX_dax__uses_file;
1402 #define A_dax__uses_file (dax__bufferstack + AX_dax__uses_file)
1403 short int dax__uses_file_isset;
1404 AT_dax__job_id AX_dax__job_id;
1405 #define A_dax__job_id (dax__bufferstack + AX_dax__job_id)
1406 short int dax__job_id_isset;
1410 # define ENTER(state) debug_enter(state,#state)
1411 # define LEAVE debug_leave()
1412 # define SET(state) debug_set(state,#state)
1413 static void debug_enter(int, const char*);
1414 static void debug_leave(void);
1415 static void debug_set(int, const char*);
1417 # define ENTER(state) (yy_push_state(state))
1418 # define LEAVE (yy_pop_state())
1419 # define SET(state) BEGIN(state)
1422 /* Generic actions. */
1423 #define SKIP /*skip*/
1424 #define SUCCEED CLEANUP; return 0
1426 #define FAIL return fail
1427 static int fail(const char*, ...);
1429 enum {flexml_max_err_msg_size = 512};
1430 static char flexml_err_msg[flexml_max_err_msg_size];
1431 const char * dax__parse_err_msg()
1433 return flexml_err_msg;
1435 static void reset_dax__parse_err_msg()
1437 flexml_err_msg[0] = '\0';
1441 static void cleanup(void);
1442 #define CLEANUP cleanup()
1444 /* Text buffer stack handling. */
1445 char *dax__bufferstack = NULL;
1446 static int blimit = FLEXML_BUFFERSTACKSIZE;
1447 static int bnext = 1;
1449 static int *indexstack = NULL;
1450 static int ilimit = FLEXML_INDEXSTACKSIZE;
1451 static int inext = 1;
1453 #define BUFFERSET(P) (P = bnext)
1454 #define BUFFERPUTC(C) (ck_blimit(), dax__bufferstack[bnext++] = (C))
1455 #define BUFFERDONE (BUFFERPUTC('\0'))
1457 #define BUFFERLITERAL(C, P) dax__bufferliteral(C, &(P), dax_text)
1459 /* after this is called, there are at least 2 slots left in the stack */
1460 static int ck_blimit()
1462 if (bnext >= blimit) {
1463 blimit += FLEXML_BUFFERSTACKSIZE + 2;
1465 char *temp = (char *) realloc(dax__bufferstack, blimit);
1467 dax__bufferstack = temp;
1473 /* after this is called, there are at least 2 slots left in the stack */
1474 static int ck_ilimit()
1476 if (inext >= ilimit) {
1477 ilimit += FLEXML_INDEXSTACKSIZE + 2;
1479 int *temp = (int *) realloc(indexstack, ilimit);
1487 #ifdef FLEXML_NEED_BUFFERLIT
1488 static void dax__bufferliteral(char c, int* pp, const char* text)
1492 const char *s = strchr(text, c), *e = strrchr(text, c);
1493 assert(s && e && s <= e);
1498 do ++s; while (s < e && isspace(*s));
1503 const char *s = text;
1511 static void pushbuffer(int p)
1514 indexstack[inext++] = p;
1515 indexstack[inext++] = bnext;
1518 static int popbuffer(void)
1521 bnext = indexstack[--inext];
1522 return indexstack[--inext];
1525 /* General internal entities are `unput' back onto the input stream... */
1526 #define ENTITYTEXT(T) \
1527 { char *s = (T), *e = s+strlen(s);\
1528 while (--e >= s) { unput(*e); }}
1530 /* Flex standard options. */
1531 #define YY_NO_INPUT 1
1532 /* Flex user-requested options. */
1533 /* XML character classes (currently restricted to ASCII). */
1534 /* "Common syntactic structures." */
1535 /* "Names and Tokens." */
1536 /* Miscellaneous. */
1537 /* Parser states (flex `exclusive start conditions'):
1539 * PROLOG the XML prolog of the document before <?xml...>
1540 * DOCTYPE the XML prolog of the document after <?xml...>
1541 * EPILOG after the root element
1542 * INCOMMENT inside an XML comment <!--....-->
1543 * INPI inside an XML PI <?...?>
1544 * VALUE1 inside a '...'-delimited literal
1545 * VALUE2 inside a "..."-delimited literal
1546 * CDATA inside a <![CDATA[...] ]> section.
1547 * ROOT_<tag> expect root element <tag>
1548 * AL_<tag> inside the attribute list for <tag>
1549 * IN_<tag> inside a <tag> with element contents (ready for end tag)
1550 * IMPOSSIBLE dummy to permit disabling rules; must be last
1554 const char* *dax__statenames=NULL;
1565 #define ROOT_dax__adag 9
1566 #define AL_dax__adag 10
1567 #define S_dax__adag 11
1568 #define S_dax__adag_1 12
1569 #define S_dax__adag_2 13
1570 #define S_dax__adag_3 14
1571 #define S_dax__adag_4 15
1572 #define S_dax__adag_5 16
1573 #define E_dax__adag 17
1574 #define AL_dax__job 18
1575 #define S_dax__job 19
1576 #define S_dax__job_1 20
1577 #define S_dax__job_2 21
1578 #define E_dax__job 22
1579 #define AL_dax__uses 23
1580 #define E_dax__uses 24
1581 #define AL_dax__child 25
1582 #define S_dax__child 26
1583 #define S_dax__child_1 27
1584 #define S_dax__child_2 28
1585 #define E_dax__child 29
1586 #define AL_dax__parent 30
1587 #define E_dax__parent 31
1588 #define IMPOSSIBLE 32
1590 #ifndef YY_NO_UNISTD_H
1591 /* Special case for "unistd.h", since it is non-ANSI. We include it way
1592 * down here because we want the user's section 1 to have been scanned first.
1593 * The user has a chance to override it with an option.
1595 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
1596 # ifndef __STRICT_ANSI__
1598 # include <process.h>
1601 # include <unistd.h>
1605 #ifndef YY_EXTRA_TYPE
1606 #define YY_EXTRA_TYPE void *
1609 static int yy_init_globals (void );
1611 /* Accessor methods to globals.
1612 These are made visible to non-reentrant scanners for convenience. */
1614 int dax_lex_destroy (void );
1616 int dax_get_debug (void );
1618 void dax_set_debug (int debug_flag );
1620 YY_EXTRA_TYPE dax_get_extra (void );
1622 void dax_set_extra (YY_EXTRA_TYPE user_defined );
1624 FILE *dax_get_in (void );
1626 void dax_set_in (FILE * in_str );
1628 FILE *dax_get_out (void );
1630 void dax_set_out (FILE * out_str );
1632 yy_size_t dax_get_leng (void );
1634 char *dax_get_text (void );
1636 int dax_get_lineno (void );
1638 void dax_set_lineno (int line_number );
1640 /* Macros after this point can all be overridden by user definitions in
1644 #ifndef YY_SKIP_YYWRAP
1646 extern "C" int dax_wrap (void );
1648 extern int dax_wrap (void );
1653 static void yy_flex_strncpy (char *,yyconst char *,int );
1656 #ifdef YY_NEED_STRLEN
1657 static int yy_flex_strlen (yyconst char * );
1663 static int yyinput (void );
1665 static int input (void );
1670 static int yy_start_stack_ptr = 0;
1671 static int yy_start_stack_depth = 0;
1672 static int *yy_start_stack = NULL;
1674 static void yy_push_state (int new_state );
1676 static void yy_pop_state (void );
1678 /* Amount of stuff to slurp up with each read. */
1679 #ifndef YY_READ_BUF_SIZE
1680 #define YY_READ_BUF_SIZE 8192
1683 /* Copy whatever the last rule matched to the standard output. */
1685 /* This used to be an fputs(), but since the string might contain NUL's,
1686 * we now use fwrite().
1688 #define ECHO do { if (fwrite( dax_text, dax_leng, 1, dax_out )) {} } while (0)
1691 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1692 * is returned in "result".
1695 #define YY_INPUT(buf,result,max_size) \
1696 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1700 for ( n = 0; n < max_size && \
1701 (c = getc( dax_in )) != EOF && c != '\n'; ++n ) \
1702 buf[n] = (char) c; \
1704 buf[n++] = (char) c; \
1705 if ( c == EOF && ferror( dax_in ) ) \
1706 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1712 while ( (result = fread(buf, 1, max_size, dax_in))==0 && ferror(dax_in)) \
1714 if( errno != EINTR) \
1716 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1727 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1728 * we don't want an extra ';' after the "return" because that will cause
1729 * some compilers to complain about unreachable statements.
1732 #define yyterminate() return YY_NULL
1735 /* Number of entries by which start-condition stack grows. */
1736 #ifndef YY_START_STACK_INCR
1737 #define YY_START_STACK_INCR 25
1740 /* Report a fatal error. */
1741 #ifndef YY_FATAL_ERROR
1742 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1745 /* end tables serialization structures and prototypes */
1747 /* Default declaration of generated scanner - a define so the user can
1748 * easily add parameters.
1751 #define YY_DECL_IS_OURS 1
1753 extern int dax_lex (void);
1755 #define YY_DECL int dax_lex (void)
1756 #endif /* !YY_DECL */
1758 /* Code executed at the beginning of each rule, after dax_text and dax_leng
1761 #ifndef YY_USER_ACTION
1762 #define YY_USER_ACTION
1765 /* Code executed at the end of each rule. */
1767 #define YY_BREAK break;
1770 #define YY_RULE_SETUP \
1773 /** The main scanner function which does all the work.
1777 register yy_state_type yy_current_state;
1778 register char *yy_cp, *yy_bp;
1779 register int yy_act;
1781 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
1783 reset_dax__parse_err_msg();
1784 dax__bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
1785 assert(dax__bufferstack);
1789 for (i = 0; i < blimit; i++) {
1790 dax__bufferstack[i] = '\377';
1794 dax__bufferstack[0] = '\0';
1795 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
1801 dax__bufferliteral('\0', &bnext, "http://pegasus.isi.edu/schema/DAX");
1802 dax__bufferliteral('\0', &bnext, "http://www.w3.org/2001/XMLSchema-instance");
1803 dax__bufferliteral('\0', &bnext, "http://pegasus.isi.edu/schema/DAX http://pegasus.isi.edu/schema/dax-2.1.xsd");
1804 dax__bufferliteral('\0', &bnext, "1.0");
1805 dax__bufferliteral('\0', &bnext, "0.0");
1806 dax__bufferliteral('\0', &bnext, "data");
1807 if(!dax__statenames) {dax__statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
1808 dax__statenames[PROLOG] = NULL;
1809 dax__statenames[DOCTYPE] = NULL;
1810 dax__statenames[EPILOG] = NULL;
1811 dax__statenames[INCOMMENT] = NULL;
1812 dax__statenames[INPI] = NULL;
1813 dax__statenames[VALUE1] = NULL;
1814 dax__statenames[VALUE2] = NULL;
1815 dax__statenames[CDATA] = NULL;
1816 dax__statenames[ROOT_dax__adag] = NULL;
1817 dax__statenames[AL_dax__adag] = NULL;
1818 dax__statenames[S_dax__adag] = "adag";
1819 dax__statenames[S_dax__adag_1] = "adag";
1820 dax__statenames[S_dax__adag_2] = "adag";
1821 dax__statenames[S_dax__adag_3] = "adag";
1822 dax__statenames[S_dax__adag_4] = "adag";
1823 dax__statenames[S_dax__adag_5] = "adag";
1824 dax__statenames[E_dax__adag] = "adag";
1825 dax__statenames[AL_dax__job] = NULL;
1826 dax__statenames[S_dax__job] = "job";
1827 dax__statenames[S_dax__job_1] = "job";
1828 dax__statenames[S_dax__job_2] = "job";
1829 dax__statenames[E_dax__job] = "job";
1830 dax__statenames[AL_dax__uses] = NULL;
1831 dax__statenames[E_dax__uses] = "uses";
1832 dax__statenames[AL_dax__child] = NULL;
1833 dax__statenames[S_dax__child] = "child";
1834 dax__statenames[S_dax__child_1] = "child";
1835 dax__statenames[S_dax__child_2] = "child";
1836 dax__statenames[E_dax__child] = "child";
1837 dax__statenames[AL_dax__parent] = NULL;
1838 dax__statenames[E_dax__parent] = "parent";
1841 /* COMMENTS and PIs: handled uniformly for efficiency. */
1852 (yy_start) = 1; /* first start state */
1860 if ( ! YY_CURRENT_BUFFER ) {
1861 dax_ensure_buffer_stack ();
1862 YY_CURRENT_BUFFER_LVALUE =
1863 dax__create_buffer(dax_in,YY_BUF_SIZE );
1866 dax__load_buffer_state( );
1869 while ( 1 ) /* loops until end-of-file is reached */
1871 yy_cp = (yy_c_buf_p);
1873 /* Support of dax_text. */
1874 *yy_cp = (yy_hold_char);
1876 /* yy_bp points to the position in yy_ch_buf of the start of
1881 yy_current_state = (yy_start);
1885 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1886 if ( yy_accept[yy_current_state] )
1888 (yy_last_accepting_state) = yy_current_state;
1889 (yy_last_accepting_cpos) = yy_cp;
1891 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1893 yy_current_state = (int) yy_def[yy_current_state];
1894 if ( yy_current_state >= 775 )
1895 yy_c = yy_meta[(unsigned int) yy_c];
1897 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1900 while ( yy_base[yy_current_state] != 2164 );
1903 yy_act = yy_accept[yy_current_state];
1905 { /* have to back up */
1906 yy_cp = (yy_last_accepting_cpos);
1907 yy_current_state = (yy_last_accepting_state);
1908 yy_act = yy_accept[yy_current_state];
1911 YY_DO_BEFORE_ACTION;
1913 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
1916 for ( yyl = 0; yyl < dax_leng; ++yyl )
1917 if ( dax_text[yyl] == '\n' )
1923 do_action: /* This label is used only to access EOF actions. */
1926 { /* beginning of action switch */
1927 case 0: /* must back up */
1928 /* undo the effects of YY_DO_BEFORE_ACTION */
1929 *yy_cp = (yy_hold_char);
1930 yy_cp = (yy_last_accepting_cpos);
1931 yy_current_state = (yy_last_accepting_state);
1932 goto yy_find_action;
1950 /* rule 6 can match eol */
1954 case YY_STATE_EOF(INCOMMENT):
1955 FAIL("EOF in comment.");
1964 /* rule 9 can match eol */
1968 case YY_STATE_EOF(INPI):
1969 FAIL("EOF in PI (processing instruction).");
1972 /* SPACES: skipped uniformly */
1974 /* rule 10 can match eol */
1978 /* PROLOG: determine root element and process it. */
1981 /* rule 11 can match eol */
1983 SET(ROOT_dax__adag);
1986 /* rule 12 can match eol */
1988 FAIL("Bad declaration %s.",dax_text);
1992 /* rule 13 can match eol */
1994 SET(ROOT_dax__adag);
1997 /* rule 14 can match eol */
1999 FAIL("Bad declaration %s.",dax_text);
2003 FAIL("Unexpected character `%c' in prolog.", dax_text[0]);
2005 case YY_STATE_EOF(PROLOG):
2006 case YY_STATE_EOF(DOCTYPE):
2007 FAIL("EOF in prolog.");
2010 /* RULES DERIVED FROM DTD. */
2011 /* <!-- Small DTD for DAX files. --> */
2013 /* rule 16 can match eol */
2015 FAIL("Starting tag <adag> is not allowed here.");
2018 /* rule 17 can match eol */
2021 AX_dax__adag_xmlns = 1;
2022 dax__adag_xmlns_isset = 0;
2023 AX_dax__adag_xmlns_c_xsi = 35;
2024 dax__adag_xmlns_c_xsi_isset = 0;
2025 AX_dax__adag_xsi_c_schemaLocation = 77;
2026 dax__adag_xsi_c_schemaLocation_isset = 0;
2027 AX_dax__adag_version = 153;
2028 dax__adag_version_isset = 0;
2029 AX_dax__adag_count = 0;
2030 dax__adag_count_isset = 0;
2031 AX_dax__adag_index = 0;
2032 dax__adag_index_isset = 0;
2033 AX_dax__adag_name = 0;
2034 dax__adag_name_isset = 0;
2035 AX_dax__adag_jobCount = 0;
2036 dax__adag_jobCount_isset = 0;
2037 AX_dax__adag_fileCount = 0;
2038 dax__adag_fileCount_isset = 0;
2039 AX_dax__adag_childCount = 0;
2040 dax__adag_childCount_isset = 0;
2041 ENTER(AL_dax__adag); pushbuffer(0);
2046 /* rule 18 can match eol */
2048 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);
2051 /* rule 19 can match eol */
2053 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);
2056 /* rule 20 can match eol */
2058 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);
2061 /* rule 21 can match eol */
2063 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);
2066 /* rule 22 can match eol */
2068 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);
2071 /* rule 23 can match eol */
2073 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);
2076 /* rule 24 can match eol */
2078 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);
2081 /* rule 25 can match eol */
2083 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);
2086 /* rule 26 can match eol */
2088 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);
2091 /* rule 27 can match eol */
2093 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);
2096 /* rule 28 can match eol */
2098 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);
2101 /* rule 29 can match eol */
2103 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);
2106 /* rule 30 can match eol */
2108 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);
2111 /* rule 31 can match eol */
2113 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);
2116 /* rule 32 can match eol */
2118 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);
2121 /* rule 33 can match eol */
2123 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);
2126 /* rule 34 can match eol */
2128 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);
2131 /* rule 35 can match eol */
2133 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);
2136 /* rule 36 can match eol */
2138 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);
2141 /* rule 37 can match eol */
2143 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);
2148 LEAVE; STag_dax__adag();dax__pcdata_ix = 0; ENTER(S_dax__adag);
2154 LEAVE; STag_dax__adag(); dax__pcdata_ix = 0; ETag_dax__adag(); popbuffer(); /* attribute */
2156 case ROOT_dax__adag: SET(EPILOG); break;
2162 FAIL("Unexpected character `%c' in attribute list of adag element.", dax_text[0]);
2166 FAIL("Bad attribute `%s' in `adag' element start tag.",dax_text);
2168 case YY_STATE_EOF(AL_dax__adag):
2169 FAIL("EOF in attribute list of `adag' element.");
2173 /* rule 42 can match eol */
2178 popbuffer(); /* attribute */
2180 case ROOT_dax__adag: SET(EPILOG); break;
2185 /* rule 43 can match eol */
2187 FAIL("Unexpected end-tag `%s': `</adag>' expected.",dax_text);
2191 FAIL("Unexpected character `%c': `</adag>' expected.",dax_text[0]);
2193 case YY_STATE_EOF(S_dax__adag):
2194 case YY_STATE_EOF(S_dax__adag_3):
2195 case YY_STATE_EOF(S_dax__adag_1):
2196 case YY_STATE_EOF(E_dax__adag):
2197 case YY_STATE_EOF(S_dax__adag_5):
2198 FAIL("Premature EOF: `</adag>' expected.");
2202 /* rule 45 can match eol */
2204 FAIL("Starting tag <job> is not allowed here.");
2207 /* rule 46 can match eol */
2211 dax__job_id_isset = 0;
2212 AX_dax__job_namespace = 0;
2213 dax__job_namespace_isset = 0;
2214 AX_dax__job_name = 0;
2215 dax__job_name_isset = 0;
2216 AX_dax__job_version = 157;
2217 dax__job_version_isset = 0;
2218 AX_dax__job_runtime = 0;
2219 dax__job_runtime_isset = 0;
2220 AX_dax__job_level = 0;
2221 dax__job_level_isset = 0;
2222 ENTER(AL_dax__job); pushbuffer(0);
2227 /* rule 47 can match eol */
2229 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);
2232 /* rule 48 can match eol */
2234 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);
2237 /* rule 49 can match eol */
2239 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);
2242 /* rule 50 can match eol */
2244 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);
2247 /* rule 51 can match eol */
2249 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);
2252 /* rule 52 can match eol */
2254 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);
2257 /* rule 53 can match eol */
2259 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);
2262 /* rule 54 can match eol */
2264 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);
2267 /* rule 55 can match eol */
2269 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);
2272 /* rule 56 can match eol */
2274 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);
2277 /* rule 57 can match eol */
2279 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);
2282 /* rule 58 can match eol */
2284 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);
2289 if (!AX_dax__job_id) FAIL("Required attribute `id' not set for `job' element.");
2290 if (!AX_dax__job_name) FAIL("Required attribute `name' not set for `job' element.");
2291 if (!AX_dax__job_runtime) FAIL("Required attribute `runtime' not set for `job' element.");
2292 LEAVE; STag_dax__job();dax__pcdata_ix = 0; ENTER(S_dax__job);
2298 if (!AX_dax__job_id) FAIL("Required attribute `id' not set for `job' element.");
2299 if (!AX_dax__job_name) FAIL("Required attribute `name' not set for `job' element.");
2300 if (!AX_dax__job_runtime) FAIL("Required attribute `runtime' not set for `job' element.");
2301 LEAVE; STag_dax__job(); dax__pcdata_ix = 0; ETag_dax__job(); popbuffer(); /* attribute */
2303 case S_dax__adag: case S_dax__adag_2: case S_dax__adag_3: SET(S_dax__adag_3); break;
2309 FAIL("Unexpected character `%c' in attribute list of job element.", dax_text[0]);
2313 FAIL("Bad attribute `%s' in `job' element start tag.",dax_text);
2315 case YY_STATE_EOF(AL_dax__job):
2316 FAIL("EOF in attribute list of `job' element.");
2320 /* rule 63 can match eol */
2325 popbuffer(); /* attribute */
2327 case S_dax__adag: case S_dax__adag_2: case S_dax__adag_3: SET(S_dax__adag_3); break;
2332 /* rule 64 can match eol */
2334 FAIL("Unexpected end-tag `%s': `</job>' expected.",dax_text);
2338 FAIL("Unexpected character `%c': `</job>' expected.",dax_text[0]);
2340 case YY_STATE_EOF(S_dax__job_2):
2341 case YY_STATE_EOF(E_dax__job):
2342 case YY_STATE_EOF(S_dax__job):
2343 FAIL("Premature EOF: `</job>' expected.");
2347 * <!-- ignored --> */
2349 /* rule 66 can match eol */
2351 FAIL("Starting tag <uses> is not allowed here.");
2354 /* rule 67 can match eol */
2357 AX_dax__uses_file = 0;
2358 dax__uses_file_isset = 0;
2359 AX_dax__uses_link = AU_dax__uses_link;
2360 dax__uses_link_isset = 0;
2361 AX_dax__uses_register = A_dax__uses_register_true;
2362 dax__uses_register_isset = 0;
2363 AX_dax__uses_transfer = A_dax__uses_transfer_true;
2364 dax__uses_transfer_isset = 0;
2365 AX_dax__uses_optional = A_dax__uses_optional_false;
2366 dax__uses_optional_isset = 0;
2367 AX_dax__uses_type = 161;
2368 dax__uses_type_isset = 0;
2369 AX_dax__uses_size = 0;
2370 dax__uses_size_isset = 0;
2371 ENTER(AL_dax__uses); pushbuffer(0);
2376 /* rule 68 can match eol */
2378 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);
2381 /* rule 69 can match eol */
2383 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);
2386 /* rule 70 can match eol */
2388 /* rule 71 can match eol */
2390 A_dax__uses_link = A_dax__uses_link_input;
2393 /* rule 72 can match eol */
2395 /* rule 73 can match eol */
2397 A_dax__uses_link = A_dax__uses_link_output;
2400 /* rule 74 can match eol */
2402 /* rule 75 can match eol */
2404 A_dax__uses_register = A_dax__uses_register_false;
2407 /* rule 76 can match eol */
2409 /* rule 77 can match eol */
2411 A_dax__uses_register = A_dax__uses_register_true;
2414 /* rule 78 can match eol */
2416 /* rule 79 can match eol */
2418 A_dax__uses_transfer = A_dax__uses_transfer_false;
2421 /* rule 80 can match eol */
2423 /* rule 81 can match eol */
2425 A_dax__uses_transfer = A_dax__uses_transfer_true;
2428 /* rule 82 can match eol */
2430 /* rule 83 can match eol */
2432 A_dax__uses_optional = A_dax__uses_optional_false;
2435 /* rule 84 can match eol */
2437 /* rule 85 can match eol */
2439 A_dax__uses_optional = A_dax__uses_optional_true;
2442 /* rule 86 can match eol */
2444 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);
2447 /* rule 87 can match eol */
2449 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);
2452 /* rule 88 can match eol */
2454 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);
2457 /* rule 89 can match eol */
2459 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);
2464 if (!AX_dax__uses_file) FAIL("Required attribute `file' not set for `uses' element.");
2465 if (!AX_dax__uses_size) FAIL("Required attribute `size' not set for `uses' element.");
2466 LEAVE; STag_dax__uses();dax__pcdata_ix = 0; ENTER(E_dax__uses);
2472 if (!AX_dax__uses_file) FAIL("Required attribute `file' not set for `uses' element.");
2473 if (!AX_dax__uses_size) FAIL("Required attribute `size' not set for `uses' element.");
2474 LEAVE; STag_dax__uses(); dax__pcdata_ix = 0; ETag_dax__uses(); popbuffer(); /* attribute */
2476 case S_dax__job_2: case S_dax__job_1: case S_dax__job: SET(S_dax__job_2); break;
2482 FAIL("Unexpected character `%c' in attribute list of uses element.", dax_text[0]);
2486 FAIL("Bad attribute `%s' in `uses' element start tag.",dax_text);
2488 case YY_STATE_EOF(AL_dax__uses):
2489 FAIL("EOF in attribute list of `uses' element.");
2493 /* rule 94 can match eol */
2498 popbuffer(); /* attribute */
2500 case S_dax__job_2: case S_dax__job_1: case S_dax__job: SET(S_dax__job_2); break;
2505 /* rule 95 can match eol */
2507 FAIL("Unexpected end-tag `%s': `</uses>' expected.",dax_text);
2511 FAIL("Unexpected character `%c': `</uses>' expected.",dax_text[0]);
2513 case YY_STATE_EOF(E_dax__uses):
2514 FAIL("Premature EOF: `</uses>' expected.");
2518 /* rule 97 can match eol */
2520 FAIL("Starting tag <child> is not allowed here.");
2523 /* rule 98 can match eol */
2526 AX_dax__child_ref = 0;
2527 dax__child_ref_isset = 0;
2528 ENTER(AL_dax__child); pushbuffer(0);
2533 /* rule 99 can match eol */
2535 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);
2538 /* rule 100 can match eol */
2540 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);
2545 if (!AX_dax__child_ref) FAIL("Required attribute `ref' not set for `child' element.");
2546 LEAVE; STag_dax__child();dax__pcdata_ix = 0; ENTER(S_dax__child);
2552 if (!AX_dax__child_ref) FAIL("Required attribute `ref' not set for `child' element.");
2553 LEAVE; STag_dax__child(); dax__pcdata_ix = 0; ETag_dax__child(); popbuffer(); /* attribute */
2555 case S_dax__adag: case S_dax__adag_1: case S_dax__adag_4: case S_dax__adag_3: case S_dax__adag_5: SET(S_dax__adag_5); break;
2561 FAIL("Unexpected character `%c' in attribute list of child element.", dax_text[0]);
2565 FAIL("Bad attribute `%s' in `child' element start tag.",dax_text);
2567 case YY_STATE_EOF(AL_dax__child):
2568 FAIL("EOF in attribute list of `child' element.");
2572 /* rule 105 can match eol */
2577 popbuffer(); /* attribute */
2579 case S_dax__adag: case S_dax__adag_1: case S_dax__adag_4: case S_dax__adag_3: case S_dax__adag_5: SET(S_dax__adag_5); break;
2584 /* rule 106 can match eol */
2586 FAIL("Unexpected end-tag `%s': `</child>' expected.",dax_text);
2590 FAIL("Unexpected character `%c': `</child>' expected.",dax_text[0]);
2592 case YY_STATE_EOF(S_dax__child_2):
2593 case YY_STATE_EOF(S_dax__child):
2594 case YY_STATE_EOF(E_dax__child):
2595 FAIL("Premature EOF: `</child>' expected.");
2599 /* rule 108 can match eol */
2601 FAIL("Starting tag <parent> is not allowed here.");
2604 /* rule 109 can match eol */
2607 AX_dax__parent_ref = 0;
2608 dax__parent_ref_isset = 0;
2609 ENTER(AL_dax__parent); pushbuffer(0);
2614 /* rule 110 can match eol */
2616 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);
2619 /* rule 111 can match eol */
2621 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);
2626 if (!AX_dax__parent_ref) FAIL("Required attribute `ref' not set for `parent' element.");
2627 LEAVE; STag_dax__parent();dax__pcdata_ix = 0; ENTER(E_dax__parent);
2633 if (!AX_dax__parent_ref) FAIL("Required attribute `ref' not set for `parent' element.");
2634 LEAVE; STag_dax__parent(); dax__pcdata_ix = 0; ETag_dax__parent(); popbuffer(); /* attribute */
2636 case S_dax__child: case S_dax__child_2: case S_dax__child_1: SET(S_dax__child_2); break;
2642 FAIL("Unexpected character `%c' in attribute list of parent element.", dax_text[0]);
2646 FAIL("Bad attribute `%s' in `parent' element start tag.",dax_text);
2648 case YY_STATE_EOF(AL_dax__parent):
2649 FAIL("EOF in attribute list of `parent' element.");
2653 /* rule 116 can match eol */
2658 popbuffer(); /* attribute */
2660 case S_dax__child: case S_dax__child_2: case S_dax__child_1: SET(S_dax__child_2); break;
2665 /* rule 117 can match eol */
2667 FAIL("Unexpected end-tag `%s': `</parent>' expected.",dax_text);
2671 FAIL("Unexpected character `%c': `</parent>' expected.",dax_text[0]);
2673 case YY_STATE_EOF(E_dax__parent):
2674 FAIL("Premature EOF: `</parent>' expected.");
2677 /* EPILOG: after the root element. */
2681 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
2683 case YY_STATE_EOF(EPILOG):
2687 /* CHARACTER DATA. */
2689 /* Non-defined standard entities... */
2710 /* Character entities. */
2713 BUFFERPUTC((unsigned char)atoi(dax_text+2));
2717 BUFFERPUTC((unsigned char)strtol(dax_text+3,NULL,16));
2721 /* rule 127 can match eol */
2723 /* rule 128 can match eol */
2725 /* rule 129 can match eol */
2727 /* rule 130 can match eol */
2738 FAIL("Unexpected `]""]>' in character data.");
2745 case YY_STATE_EOF(VALUE1):
2746 FAIL("EOF in literal (\"'\" expected).");
2753 case YY_STATE_EOF(VALUE2):
2754 FAIL("EOF in literal (`\"' expected).");
2758 /* rule 135 can match eol */
2760 BUFFERPUTC(dax_text[0]);
2764 FAIL("Spurious `%c' in character data.",dax_text[0]);
2771 /* "]""]" BUFFERPUTC(dax_text[0]); BUFFERPUTC(dax_text[1]); */
2774 BUFFERPUTC(dax_text[0]);
2776 case YY_STATE_EOF(CDATA):
2777 FAIL("EOF in CDATA section.");
2780 /* Impossible rules to avoid warnings from flex(1). */
2781 /* Ideally, this should be replaced by code in flexml.pl that
2782 generates just the states not covered by other rules. */
2785 /* rule 139 can match eol */
2787 FAIL("Syntax error on character `%c'.", dax_text[0]);
2794 case YY_STATE_EOF(INITIAL):
2795 case YY_STATE_EOF(ROOT_dax__adag):
2796 case YY_STATE_EOF(S_dax__adag_2):
2797 case YY_STATE_EOF(S_dax__adag_4):
2798 case YY_STATE_EOF(S_dax__job_1):
2799 case YY_STATE_EOF(S_dax__child_1):
2800 case YY_STATE_EOF(IMPOSSIBLE):
2803 case YY_END_OF_BUFFER:
2805 /* Amount of text matched not including the EOB char. */
2806 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
2808 /* Undo the effects of YY_DO_BEFORE_ACTION. */
2809 *yy_cp = (yy_hold_char);
2810 YY_RESTORE_YY_MORE_OFFSET
2812 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
2814 /* We're scanning a new file or input source. It's
2815 * possible that this happened because the user
2816 * just pointed dax_in at a new source and called
2817 * dax_lex(). If so, then we have to assure
2818 * consistency between YY_CURRENT_BUFFER and our
2819 * globals. Here is the right place to do so, because
2820 * this is the first action (other than possibly a
2821 * back-up) that will match for the new input source.
2823 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2824 YY_CURRENT_BUFFER_LVALUE->yy_input_file = dax_in;
2825 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
2828 /* Note that here we test for yy_c_buf_p "<=" to the position
2829 * of the first EOB in the buffer, since yy_c_buf_p will
2830 * already have been incremented past the NUL character
2831 * (since all states make transitions on EOB to the
2832 * end-of-buffer state). Contrast this with the test
2835 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2836 { /* This was really a NUL. */
2837 yy_state_type yy_next_state;
2839 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
2841 yy_current_state = yy_get_previous_state( );
2843 /* Okay, we're now positioned to make the NUL
2844 * transition. We couldn't have
2845 * yy_get_previous_state() go ahead and do it
2846 * for us because it doesn't know how to deal
2847 * with the possibility of jamming (and we don't
2848 * want to build jamming into it because then it
2849 * will run more slowly).
2852 yy_next_state = yy_try_NUL_trans( yy_current_state );
2854 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2856 if ( yy_next_state )
2858 /* Consume the NUL. */
2859 yy_cp = ++(yy_c_buf_p);
2860 yy_current_state = yy_next_state;
2866 yy_cp = (yy_c_buf_p);
2867 goto yy_find_action;
2871 else switch ( yy_get_next_buffer( ) )
2873 case EOB_ACT_END_OF_FILE:
2875 (yy_did_buffer_switch_on_eof) = 0;
2879 /* Note: because we've taken care in
2880 * yy_get_next_buffer() to have set up
2881 * dax_text, we can now set up
2882 * yy_c_buf_p so that if some total
2883 * hoser (like flex itself) wants to
2884 * call the scanner after we return the
2885 * YY_NULL, it'll still work - another
2886 * YY_NULL will get returned.
2888 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
2890 yy_act = YY_STATE_EOF(YY_START);
2896 if ( ! (yy_did_buffer_switch_on_eof) )
2902 case EOB_ACT_CONTINUE_SCAN:
2904 (yytext_ptr) + yy_amount_of_matched_text;
2906 yy_current_state = yy_get_previous_state( );
2908 yy_cp = (yy_c_buf_p);
2909 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2912 case EOB_ACT_LAST_MATCH:
2914 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
2916 yy_current_state = yy_get_previous_state( );
2918 yy_cp = (yy_c_buf_p);
2919 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2920 goto yy_find_action;
2927 "fatal flex scanner internal error--no action found" );
2928 } /* end of action switch */
2929 } /* end of scanning one token */
2930 } /* end of dax_lex */
2932 /* yy_get_next_buffer - try to read in a new buffer
2934 * Returns a code representing an action:
2935 * EOB_ACT_LAST_MATCH -
2936 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2937 * EOB_ACT_END_OF_FILE - end of file
2939 static int yy_get_next_buffer (void)
2941 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
2942 register char *source = (yytext_ptr);
2943 register int number_to_move, i;
2946 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
2948 "fatal flex scanner internal error--end of buffer missed" );
2950 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
2951 { /* Don't try to fill the buffer, so this is an EOF. */
2952 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
2954 /* We matched a single character, the EOB, so
2955 * treat this as a final EOF.
2957 return EOB_ACT_END_OF_FILE;
2962 /* We matched some text prior to the EOB, first
2965 return EOB_ACT_LAST_MATCH;
2969 /* Try to read more data. */
2971 /* First move last chars to start of buffer. */
2972 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
2974 for ( i = 0; i < number_to_move; ++i )
2975 *(dest++) = *(source++);
2977 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2978 /* don't do the read, it's not guaranteed to return an EOF,
2981 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
2985 yy_size_t num_to_read =
2986 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
2988 while ( num_to_read <= 0 )
2989 { /* Not enough room in the buffer - grow it. */
2991 /* just a shorter name for the current buffer */
2992 YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
2994 int yy_c_buf_p_offset =
2995 (int) ((yy_c_buf_p) - b->yy_ch_buf);
2997 if ( b->yy_is_our_buffer )
2999 yy_size_t new_size = b->yy_buf_size * 2;
3001 if ( new_size <= 0 )
3002 b->yy_buf_size += b->yy_buf_size / 8;
3004 b->yy_buf_size *= 2;
3006 b->yy_ch_buf = (char *)
3007 /* Include room in for 2 EOB chars. */
3008 dax_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
3011 /* Can't grow it, we don't own it. */
3014 if ( ! b->yy_ch_buf )
3016 "fatal error - scanner input buffer overflow" );
3018 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
3020 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
3025 if ( num_to_read > YY_READ_BUF_SIZE )
3026 num_to_read = YY_READ_BUF_SIZE;
3028 /* Read in more data. */
3029 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
3030 (yy_n_chars), num_to_read );
3032 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3035 if ( (yy_n_chars) == 0 )
3037 if ( number_to_move == YY_MORE_ADJ )
3039 ret_val = EOB_ACT_END_OF_FILE;
3040 dax_restart(dax_in );
3045 ret_val = EOB_ACT_LAST_MATCH;
3046 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
3047 YY_BUFFER_EOF_PENDING;
3052 ret_val = EOB_ACT_CONTINUE_SCAN;
3054 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
3055 /* Extend the array by 50%, plus the number we really need. */
3056 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
3057 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) dax_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
3058 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3059 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
3062 (yy_n_chars) += number_to_move;
3063 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
3064 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
3066 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
3071 /* yy_get_previous_state - get the state just before the EOB char was reached */
3073 static yy_state_type yy_get_previous_state (void)
3075 register yy_state_type yy_current_state;
3076 register char *yy_cp;
3078 yy_current_state = (yy_start);
3080 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
3082 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3083 if ( yy_accept[yy_current_state] )
3085 (yy_last_accepting_state) = yy_current_state;
3086 (yy_last_accepting_cpos) = yy_cp;
3088 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3090 yy_current_state = (int) yy_def[yy_current_state];
3091 if ( yy_current_state >= 775 )
3092 yy_c = yy_meta[(unsigned int) yy_c];
3094 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3097 return yy_current_state;
3100 /* yy_try_NUL_trans - try to make a transition on the NUL character
3103 * next_state = yy_try_NUL_trans( current_state );
3105 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
3107 register int yy_is_jam;
3108 register char *yy_cp = (yy_c_buf_p);
3110 register YY_CHAR yy_c = 1;
3111 if ( yy_accept[yy_current_state] )
3113 (yy_last_accepting_state) = yy_current_state;
3114 (yy_last_accepting_cpos) = yy_cp;
3116 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3118 yy_current_state = (int) yy_def[yy_current_state];
3119 if ( yy_current_state >= 775 )
3120 yy_c = yy_meta[(unsigned int) yy_c];
3122 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3123 yy_is_jam = (yy_current_state == 774);
3125 return yy_is_jam ? 0 : yy_current_state;
3130 static int yyinput (void)
3132 static int input (void)
3138 *(yy_c_buf_p) = (yy_hold_char);
3140 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
3142 /* yy_c_buf_p now points to the character we want to return.
3143 * If this occurs *before* the EOB characters, then it's a
3144 * valid NUL; if not, then we've hit the end of the buffer.
3146 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3147 /* This was really a NUL. */
3148 *(yy_c_buf_p) = '\0';
3151 { /* need more input */
3152 yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
3155 switch ( yy_get_next_buffer( ) )
3157 case EOB_ACT_LAST_MATCH:
3158 /* This happens because yy_g_n_b()
3159 * sees that we've accumulated a
3160 * token and flags that we need to
3161 * try matching the token before
3162 * proceeding. But for input(),
3163 * there's no matching to consider.
3164 * So convert the EOB_ACT_LAST_MATCH
3165 * to EOB_ACT_END_OF_FILE.
3168 /* Reset buffer status. */
3169 dax_restart(dax_in );
3173 case EOB_ACT_END_OF_FILE:
3178 if ( ! (yy_did_buffer_switch_on_eof) )
3187 case EOB_ACT_CONTINUE_SCAN:
3188 (yy_c_buf_p) = (yytext_ptr) + offset;
3194 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
3195 *(yy_c_buf_p) = '\0'; /* preserve dax_text */
3196 (yy_hold_char) = *++(yy_c_buf_p);
3205 #endif /* ifndef YY_NO_INPUT */
3207 /** Immediately switch to a different input stream.
3208 * @param input_file A readable stream.
3210 * @note This function does not reset the start condition to @c INITIAL .
3212 void dax_restart (FILE * input_file )
3215 if ( ! YY_CURRENT_BUFFER ){
3216 dax_ensure_buffer_stack ();
3217 YY_CURRENT_BUFFER_LVALUE =
3218 dax__create_buffer(dax_in,YY_BUF_SIZE );
3221 dax__init_buffer(YY_CURRENT_BUFFER,input_file );
3222 dax__load_buffer_state( );
3225 /** Switch to a different input buffer.
3226 * @param new_buffer The new input buffer.
3229 void dax__switch_to_buffer (YY_BUFFER_STATE new_buffer )
3232 /* TODO. We should be able to replace this entire function body
3234 * dax_pop_buffer_state();
3235 * dax_push_buffer_state(new_buffer);
3237 dax_ensure_buffer_stack ();
3238 if ( YY_CURRENT_BUFFER == new_buffer )
3241 if ( YY_CURRENT_BUFFER )
3243 /* Flush out information for old buffer. */
3244 *(yy_c_buf_p) = (yy_hold_char);
3245 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3246 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3249 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3250 dax__load_buffer_state( );
3252 /* We don't actually know whether we did this switch during
3253 * EOF (dax_wrap()) processing, but the only time this flag
3254 * is looked at is after dax_wrap() is called, so it's safe
3255 * to go ahead and always set it.
3257 (yy_did_buffer_switch_on_eof) = 1;
3260 static void dax__load_buffer_state (void)
3262 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3263 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
3264 dax_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
3265 (yy_hold_char) = *(yy_c_buf_p);
3268 /** Allocate and initialize an input buffer state.
3269 * @param file A readable stream.
3270 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
3272 * @return the allocated buffer state.
3274 YY_BUFFER_STATE dax__create_buffer (FILE * file, int size )
3278 b = (YY_BUFFER_STATE) dax_alloc(sizeof( struct yy_buffer_state ) );
3280 YY_FATAL_ERROR( "out of dynamic memory in dax__create_buffer()" );
3282 b->yy_buf_size = size;
3284 /* yy_ch_buf has to be 2 characters longer than the size given because
3285 * we need to put in 2 end-of-buffer characters.
3287 b->yy_ch_buf = (char *) dax_alloc(b->yy_buf_size + 2 );
3288 if ( ! b->yy_ch_buf )
3289 YY_FATAL_ERROR( "out of dynamic memory in dax__create_buffer()" );
3291 b->yy_is_our_buffer = 1;
3293 dax__init_buffer(b,file );
3298 /** Destroy the buffer.
3299 * @param b a buffer created with dax__create_buffer()
3302 void dax__delete_buffer (YY_BUFFER_STATE b )
3308 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
3309 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
3311 if ( b->yy_is_our_buffer )
3312 dax_free((void *) b->yy_ch_buf );
3314 dax_free((void *) b );
3317 /* Initializes or reinitializes a buffer.
3318 * This function is sometimes called more than once on the same buffer,
3319 * such as during a dax_restart() or at EOF.
3321 static void dax__init_buffer (YY_BUFFER_STATE b, FILE * file )
3326 dax__flush_buffer(b );
3328 b->yy_input_file = file;
3329 b->yy_fill_buffer = 1;
3331 /* If b is the current buffer, then dax__init_buffer was _probably_
3332 * called from dax_restart() or through yy_get_next_buffer.
3333 * In that case, we don't want to reset the lineno or column.
3335 if (b != YY_CURRENT_BUFFER){
3336 b->yy_bs_lineno = 1;
3337 b->yy_bs_column = 0;
3340 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
3345 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
3346 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
3349 void dax__flush_buffer (YY_BUFFER_STATE b )
3356 /* We always need two end-of-buffer characters. The first causes
3357 * a transition to the end-of-buffer state. The second causes
3358 * a jam in that state.
3360 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3361 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3363 b->yy_buf_pos = &b->yy_ch_buf[0];
3366 b->yy_buffer_status = YY_BUFFER_NEW;
3368 if ( b == YY_CURRENT_BUFFER )
3369 dax__load_buffer_state( );
3372 /** Pushes the new state onto the stack. The new state becomes
3373 * the current state. This function will allocate the stack
3375 * @param new_buffer The new state.
3378 void dax_push_buffer_state (YY_BUFFER_STATE new_buffer )
3380 if (new_buffer == NULL)
3383 dax_ensure_buffer_stack();
3385 /* This block is copied from dax__switch_to_buffer. */
3386 if ( YY_CURRENT_BUFFER )
3388 /* Flush out information for old buffer. */
3389 *(yy_c_buf_p) = (yy_hold_char);
3390 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3391 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3394 /* Only push if top exists. Otherwise, replace top. */
3395 if (YY_CURRENT_BUFFER)
3396 (yy_buffer_stack_top)++;
3397 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3399 /* copied from dax__switch_to_buffer. */
3400 dax__load_buffer_state( );
3401 (yy_did_buffer_switch_on_eof) = 1;
3404 /** Removes and deletes the top of the stack, if present.
3405 * The next element becomes the new top.
3408 void dax_pop_buffer_state (void)
3410 if (!YY_CURRENT_BUFFER)
3413 dax__delete_buffer(YY_CURRENT_BUFFER );
3414 YY_CURRENT_BUFFER_LVALUE = NULL;
3415 if ((yy_buffer_stack_top) > 0)
3416 --(yy_buffer_stack_top);
3418 if (YY_CURRENT_BUFFER) {
3419 dax__load_buffer_state( );
3420 (yy_did_buffer_switch_on_eof) = 1;
3424 /* Allocates the stack if it does not exist.
3425 * Guarantees space for at least one push.
3427 static void dax_ensure_buffer_stack (void)
3429 yy_size_t num_to_alloc;
3431 if (!(yy_buffer_stack)) {
3433 /* First allocation is just for 2 elements, since we don't know if this
3434 * scanner will even need a stack. We use 2 instead of 1 to avoid an
3435 * immediate realloc on the next call.
3438 (yy_buffer_stack) = (struct yy_buffer_state**)dax_alloc
3439 (num_to_alloc * sizeof(struct yy_buffer_state*)
3441 if ( ! (yy_buffer_stack) )
3442 YY_FATAL_ERROR( "out of dynamic memory in dax_ensure_buffer_stack()" );
3444 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
3446 (yy_buffer_stack_max) = num_to_alloc;
3447 (yy_buffer_stack_top) = 0;
3451 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
3453 /* Increase the buffer to prepare for a possible push. */
3454 int grow_size = 8 /* arbitrary grow size */;
3456 num_to_alloc = (yy_buffer_stack_max) + grow_size;
3457 (yy_buffer_stack) = (struct yy_buffer_state**)dax_realloc
3459 num_to_alloc * sizeof(struct yy_buffer_state*)
3461 if ( ! (yy_buffer_stack) )
3462 YY_FATAL_ERROR( "out of dynamic memory in dax_ensure_buffer_stack()" );
3464 /* zero only the new slots.*/
3465 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
3466 (yy_buffer_stack_max) = num_to_alloc;
3470 /** Setup the input buffer state to scan directly from a user-specified character buffer.
3471 * @param base the character buffer
3472 * @param size the size in bytes of the character buffer
3474 * @return the newly allocated buffer state object.
3476 YY_BUFFER_STATE dax__scan_buffer (char * base, yy_size_t size )
3481 base[size-2] != YY_END_OF_BUFFER_CHAR ||
3482 base[size-1] != YY_END_OF_BUFFER_CHAR )
3483 /* They forgot to leave room for the EOB's. */
3486 b = (YY_BUFFER_STATE) dax_alloc(sizeof( struct yy_buffer_state ) );
3488 YY_FATAL_ERROR( "out of dynamic memory in dax__scan_buffer()" );
3490 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
3491 b->yy_buf_pos = b->yy_ch_buf = base;
3492 b->yy_is_our_buffer = 0;
3493 b->yy_input_file = 0;
3494 b->yy_n_chars = b->yy_buf_size;
3495 b->yy_is_interactive = 0;
3497 b->yy_fill_buffer = 0;
3498 b->yy_buffer_status = YY_BUFFER_NEW;
3500 dax__switch_to_buffer(b );
3505 /** Setup the input buffer state to scan a string. The next call to dax_lex() will
3506 * scan from a @e copy of @a str.
3507 * @param yystr a NUL-terminated string to scan
3509 * @return the newly allocated buffer state object.
3510 * @note If you want to scan bytes that may contain NUL values, then use
3511 * dax__scan_bytes() instead.
3513 YY_BUFFER_STATE dax__scan_string (yyconst char * yystr )
3516 return dax__scan_bytes(yystr,strlen(yystr) );
3519 /** Setup the input buffer state to scan the given bytes. The next call to dax_lex() will
3520 * scan from a @e copy of @a bytes.
3521 * @param yybytes the byte buffer to scan
3522 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
3524 * @return the newly allocated buffer state object.
3526 YY_BUFFER_STATE dax__scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len )
3533 /* Get memory for full buffer, including space for trailing EOB's. */
3534 n = _yybytes_len + 2;
3535 buf = (char *) dax_alloc(n );
3537 YY_FATAL_ERROR( "out of dynamic memory in dax__scan_bytes()" );
3539 for ( i = 0; i < _yybytes_len; ++i )
3540 buf[i] = yybytes[i];
3542 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
3544 b = dax__scan_buffer(buf,n );
3546 YY_FATAL_ERROR( "bad buffer in dax__scan_bytes()" );
3548 /* It's okay to grow etc. this buffer, and we should throw it
3549 * away when we're done.
3551 b->yy_is_our_buffer = 1;
3556 static void yy_push_state (int new_state )
3558 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
3562 (yy_start_stack_depth) += YY_START_STACK_INCR;
3563 new_size = (yy_start_stack_depth) * sizeof( int );
3565 if ( ! (yy_start_stack) )
3566 (yy_start_stack) = (int *) dax_alloc(new_size );
3569 (yy_start_stack) = (int *) dax_realloc((void *) (yy_start_stack),new_size );
3571 if ( ! (yy_start_stack) )
3572 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
3575 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
3580 static void yy_pop_state (void)
3582 if ( --(yy_start_stack_ptr) < 0 )
3583 YY_FATAL_ERROR( "start-condition stack underflow" );
3585 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
3588 #ifndef YY_EXIT_FAILURE
3589 #define YY_EXIT_FAILURE 2
3592 static void yy_fatal_error (yyconst char* msg )
3594 (void) fprintf( stderr, "%s\n", msg );
3595 exit( YY_EXIT_FAILURE );
3598 /* Redefine yyless() so it works in section 3 code. */
3604 /* Undo effects of setting up dax_text. */ \
3605 int yyless_macro_arg = (n); \
3606 YY_LESS_LINENO(yyless_macro_arg);\
3607 dax_text[dax_leng] = (yy_hold_char); \
3608 (yy_c_buf_p) = dax_text + yyless_macro_arg; \
3609 (yy_hold_char) = *(yy_c_buf_p); \
3610 *(yy_c_buf_p) = '\0'; \
3611 dax_leng = yyless_macro_arg; \
3615 /* Accessor methods (get/set functions) to struct members. */
3617 /** Get the current line number.
3620 int dax_get_lineno (void)
3626 /** Get the input stream.
3629 FILE *dax_get_in (void)
3634 /** Get the output stream.
3637 FILE *dax_get_out (void)
3642 /** Get the length of the current token.
3645 yy_size_t dax_get_leng (void)
3650 /** Get the current token.
3654 char *dax_get_text (void)
3659 /** Set the current line number.
3660 * @param line_number
3663 void dax_set_lineno (int line_number )
3666 dax_lineno = line_number;
3669 /** Set the input stream. This does not discard the current
3671 * @param in_str A readable stream.
3673 * @see dax__switch_to_buffer
3675 void dax_set_in (FILE * in_str )
3680 void dax_set_out (FILE * out_str )
3685 int dax_get_debug (void)
3687 return dax__flex_debug;
3690 void dax_set_debug (int bdebug )
3692 dax__flex_debug = bdebug ;
3695 static int yy_init_globals (void)
3697 /* Initialization is the same as for the non-reentrant scanner.
3698 * This function is called from dax_lex_destroy(), so don't allocate here.
3701 /* We do not touch dax_lineno unless the option is enabled. */
3704 (yy_buffer_stack) = 0;
3705 (yy_buffer_stack_top) = 0;
3706 (yy_buffer_stack_max) = 0;
3707 (yy_c_buf_p) = (char *) 0;
3711 (yy_start_stack_ptr) = 0;
3712 (yy_start_stack_depth) = 0;
3713 (yy_start_stack) = NULL;
3715 /* Defined in main.c */
3720 dax_in = (FILE *) 0;
3721 dax_out = (FILE *) 0;
3724 /* For future reference: Set errno on error, since we are called by
3730 /* dax_lex_destroy is for both reentrant and non-reentrant scanners. */
3731 int dax_lex_destroy (void)
3734 /* Pop the buffer stack, destroying each element. */
3735 while(YY_CURRENT_BUFFER){
3736 dax__delete_buffer(YY_CURRENT_BUFFER );
3737 YY_CURRENT_BUFFER_LVALUE = NULL;
3738 dax_pop_buffer_state();
3741 /* Destroy the stack itself. */
3742 dax_free((yy_buffer_stack) );
3743 (yy_buffer_stack) = NULL;
3745 /* Destroy the start condition stack. */
3746 dax_free((yy_start_stack) );
3747 (yy_start_stack) = NULL;
3749 /* Reset the globals. This is important in a non-reentrant scanner so the next time
3750 * dax_lex() is called, initialization will occur. */
3757 * Internal utility routines.
3761 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
3764 for ( i = 0; i < n; ++i )
3769 #ifdef YY_NEED_STRLEN
3770 static int yy_flex_strlen (yyconst char * s )
3773 for ( n = 0; s[n]; ++n )
3780 void *dax_alloc (yy_size_t size )
3782 return (void *) malloc( size );
3785 void *dax_realloc (void * ptr, yy_size_t size )
3787 /* The cast to (char *) in the following accommodates both
3788 * implementations that use char* generic pointers, and those
3789 * that use void* generic pointers. It works with the latter
3790 * because both ANSI C and C++ allow castless assignment from
3791 * any pointer type to void*, and deal with argument conversions
3792 * as though doing an assignment.
3794 return (void *) realloc( (char *) ptr, size );
3797 void dax_free (void * ptr )
3799 free( (char *) ptr ); /* see dax_realloc() for (char *) cast */
3802 #define YYTABLES_NAME "yytables"
3804 /* Element context stack lookup. */
3805 int dax__element_context(int i)
3807 return (0<i && i<yy_start_stack_depth
3808 ? yy_start_stack[yy_start_stack_ptr - i]
3813 void print_yy_stack(char* fmt, ...)
3815 int i = 0; va_list ap; va_start(ap, fmt);
3816 vfprintf(stderr, fmt, ap);
3817 if (dax__statenames) {
3818 for (i=1; i<yy_start_stack_ptr; i++) {
3819 fprintf(stderr, "%s/", dax__statenames[yy_start_stack[i] ]);
3821 fprintf(stderr,"%s\n", dax__statenames[YY_START]);
3826 void print_dax__bufferstack()
3829 fputs("Buffer: ", stderr);
3830 for (i = 0; i < blimit; i++) {
3831 if ( dax__bufferstack[i] == '\377' ) break;
3832 putc(dax__bufferstack[i], stderr);
3837 static void debug_enter(int state, const char* statename) {
3838 yy_push_state(state);
3839 if (dax__flex_debug) {
3840 print_yy_stack("--ENTER(%s) : ",statename);
3841 print_dax__bufferstack();
3845 static void debug_leave(void) {
3846 if (dax__flex_debug) {
3847 print_yy_stack("--LEAVE : ");
3848 print_dax__bufferstack();
3853 static void debug_set(int state, const char* statename) {
3855 if (dax__flex_debug) print_yy_stack("--SET(%s) : ",statename);
3859 static void cleanup(void)
3861 if (dax__statenames) {
3862 free(dax__statenames);
3863 dax__statenames = NULL;
3865 free(dax__bufferstack);
3866 dax__bufferstack = NULL;
3872 static int fail(const char* fmt, ...)
3874 int chars_left, used;
3875 va_list ap; va_start(ap, fmt);
3876 #ifdef FLEXML_yylineno
3877 used = sprintf(flexml_err_msg,
3878 "Invalid XML (XML input line %d, state %d): ",
3879 dax_lineno, YY_START);
3881 used = sprintf(flexml_err_msg,
3882 "Invalid XML (state %d): ",
3885 chars_left = flexml_max_err_msg_size - used - 1;
3886 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
3889 #ifndef FLEXML_quiet_parser
3890 /* print directly to sdterr */
3891 fprintf(stderr, "%s\n", flexml_err_msg);
3892 flexml_err_msg[0] = '\0';