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 35
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;
77 /* Limits of integral types. */
79 #define INT8_MIN (-128)
82 #define INT16_MIN (-32767-1)
85 #define INT32_MIN (-2147483647-1)
88 #define INT8_MAX (127)
91 #define INT16_MAX (32767)
94 #define INT32_MAX (2147483647)
97 #define UINT8_MAX (255U)
100 #define UINT16_MAX (65535U)
103 #define UINT32_MAX (4294967295U)
106 #endif /* ! FLEXINT_H */
110 /* The "const" storage-class-modifier is valid. */
113 #else /* ! __cplusplus */
115 /* C99 requires __STDC__ to be defined as 1. */
116 #if defined (__STDC__)
120 #endif /* defined (__STDC__) */
121 #endif /* ! __cplusplus */
124 #define yyconst const
129 /* Returned upon end-of-file. */
132 /* Promotes a possibly negative, possibly signed char to an unsigned
133 * integer for use as an array index. If the signed char is negative,
134 * we want to instead treat it as an 8-bit unsigned char, hence the
137 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
139 /* Enter a start condition. This macro really ought to take a parameter,
140 * but we do it the disgusting crufty way forced on us by the ()-less
141 * definition of BEGIN.
143 #define BEGIN (yy_start) = 1 + 2 *
145 /* Translate the current start state into a value that can be later handed
146 * to BEGIN to return to the state. The YYSTATE alias is for lex
149 #define YY_START (((yy_start) - 1) / 2)
150 #define YYSTATE YY_START
152 /* Action number for EOF rule of a given start state. */
153 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
155 /* Special action meaning "start processing a new file". */
156 #define YY_NEW_FILE dax_restart(dax_in )
158 #define YY_END_OF_BUFFER_CHAR 0
160 /* Size of default input buffer. */
162 #define YY_BUF_SIZE 16384
165 /* The state buf must be large enough to hold one state per character in the main buffer.
167 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
169 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
170 #define YY_TYPEDEF_YY_BUFFER_STATE
171 typedef struct yy_buffer_state *YY_BUFFER_STATE;
176 extern FILE *dax_in, *dax_out;
178 #define EOB_ACT_CONTINUE_SCAN 0
179 #define EOB_ACT_END_OF_FILE 1
180 #define EOB_ACT_LAST_MATCH 2
182 /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
183 * access to the local variable yy_act. Since yyless() is a macro, it would break
184 * existing scanners that call yyless() from OUTSIDE dax_lex.
185 * One obvious solution it to make yy_act a global. I tried that, and saw
186 * a 5% performance hit in a non-dax_lineno scanner, because yy_act is
187 * normally declared as a register variable-- so it is not worth it.
189 #define YY_LESS_LINENO(n) \
192 for ( yyl = n; yyl < dax_leng; ++yyl )\
193 if ( dax_text[yyl] == '\n' )\
197 /* Return all but the first "n" matched characters back to the input stream. */
201 /* Undo effects of setting up dax_text. */ \
202 int yyless_macro_arg = (n); \
203 YY_LESS_LINENO(yyless_macro_arg);\
204 *yy_cp = (yy_hold_char); \
205 YY_RESTORE_YY_MORE_OFFSET \
206 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
207 YY_DO_BEFORE_ACTION; /* set up dax_text again */ \
211 #define unput(c) yyunput( c, (yytext_ptr) )
213 #ifndef YY_TYPEDEF_YY_SIZE_T
214 #define YY_TYPEDEF_YY_SIZE_T
215 typedef size_t yy_size_t;
218 #ifndef YY_STRUCT_YY_BUFFER_STATE
219 #define YY_STRUCT_YY_BUFFER_STATE
220 struct yy_buffer_state
224 char *yy_ch_buf; /* input buffer */
225 char *yy_buf_pos; /* current position in input buffer */
227 /* Size of input buffer in bytes, not including room for EOB
230 yy_size_t yy_buf_size;
232 /* Number of characters read into yy_ch_buf, not including EOB
237 /* Whether we "own" the buffer - i.e., we know we created it,
238 * and can realloc() it to grow it, and should free() it to
241 int yy_is_our_buffer;
243 /* Whether this is an "interactive" input source; if so, and
244 * if we're using stdio for input, then we want to use getc()
245 * instead of fread(), to make sure we stop fetching input after
248 int yy_is_interactive;
250 /* Whether we're considered to be at the beginning of a line.
251 * If so, '^' rules will be active on the next match, otherwise
256 int yy_bs_lineno; /**< The line count. */
257 int yy_bs_column; /**< The column count. */
259 /* Whether to try to fill the input buffer when we reach the
264 int yy_buffer_status;
266 #define YY_BUFFER_NEW 0
267 #define YY_BUFFER_NORMAL 1
268 /* When an EOF's been seen but there's still some text to process
269 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
270 * shouldn't try reading from the input source any more. We might
271 * still have a bunch of tokens to match, though, because of
272 * possible backing-up.
274 * When we actually see the EOF, we change the status to "new"
275 * (via dax_restart()), so that the user can continue scanning by
276 * just pointing dax_in at a new input file.
278 #define YY_BUFFER_EOF_PENDING 2
281 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
283 /* Stack of input buffers. */
284 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
285 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
286 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
288 /* We provide macros for accessing buffer states in case in the
289 * future we want to put the buffer states in a more general
292 * Returns the top of the stack, or NULL.
294 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
295 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
298 /* Same as previous macro, but useful when we know that the buffer stack is not
299 * NULL or when we need an lvalue. For internal use only.
301 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
303 /* yy_hold_char holds the character lost when dax_text is formed. */
304 static char yy_hold_char;
305 static int yy_n_chars; /* number of characters read into yy_ch_buf */
308 /* Points to current character in buffer. */
309 static char *yy_c_buf_p = (char *) 0;
310 static int yy_init = 0; /* whether we need to initialize */
311 static int yy_start = 0; /* start state number */
313 /* Flag which is used to allow dax_wrap()'s to do buffer switches
314 * instead of setting up a fresh dax_in. A bit of a hack ...
316 static int yy_did_buffer_switch_on_eof;
318 void dax_restart (FILE *input_file );
319 void dax__switch_to_buffer (YY_BUFFER_STATE new_buffer );
320 YY_BUFFER_STATE dax__create_buffer (FILE *file,int size );
321 void dax__delete_buffer (YY_BUFFER_STATE b );
322 void dax__flush_buffer (YY_BUFFER_STATE b );
323 void dax_push_buffer_state (YY_BUFFER_STATE new_buffer );
324 void dax_pop_buffer_state (void );
326 static void dax_ensure_buffer_stack (void );
327 static void dax__load_buffer_state (void );
328 static void dax__init_buffer (YY_BUFFER_STATE b,FILE *file );
330 #define YY_FLUSH_BUFFER dax__flush_buffer(YY_CURRENT_BUFFER )
332 YY_BUFFER_STATE dax__scan_buffer (char *base,yy_size_t size );
333 YY_BUFFER_STATE dax__scan_string (yyconst char *yy_str );
334 YY_BUFFER_STATE dax__scan_bytes (yyconst char *bytes,int len );
336 void *dax_alloc (yy_size_t );
337 void *dax_realloc (void *,yy_size_t );
338 void dax_free (void * );
340 #define yy_new_buffer dax__create_buffer
342 #define yy_set_interactive(is_interactive) \
344 if ( ! YY_CURRENT_BUFFER ){ \
345 dax_ensure_buffer_stack (); \
346 YY_CURRENT_BUFFER_LVALUE = \
347 dax__create_buffer(dax_in,YY_BUF_SIZE ); \
349 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
352 #define yy_set_bol(at_bol) \
354 if ( ! YY_CURRENT_BUFFER ){\
355 dax_ensure_buffer_stack (); \
356 YY_CURRENT_BUFFER_LVALUE = \
357 dax__create_buffer(dax_in,YY_BUF_SIZE ); \
359 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
362 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
364 /* Begin user sect3 */
366 #define dax_wrap(n) 1
367 #define YY_SKIP_YYWRAP
369 typedef unsigned char YY_CHAR;
371 FILE *dax_in = (FILE *) 0, *dax_out = (FILE *) 0;
373 typedef int yy_state_type;
375 extern int dax_lineno;
379 extern char *dax_text;
380 #define yytext_ptr dax_text
382 static yy_state_type yy_get_previous_state (void );
383 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
384 static int yy_get_next_buffer (void );
385 static void yy_fatal_error (yyconst char msg[] );
387 /* Done after the current pattern has been matched and before the
388 * corresponding action - sets up dax_text.
390 #define YY_DO_BEFORE_ACTION \
391 (yytext_ptr) = yy_bp; \
392 dax_leng = (size_t) (yy_cp - yy_bp); \
393 (yy_hold_char) = *yy_cp; \
395 (yy_c_buf_p) = yy_cp;
397 #define YY_NUM_RULES 140
398 #define YY_END_OF_BUFFER 141
399 /* This struct is not used in this scanner,
400 but its presence is necessary. */
403 flex_int32_t yy_verify;
406 static yyconst flex_int16_t yy_accept[775] =
408 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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, 141, 139, 15, 10,
415 10, 15, 15, 119, 10, 119, 5, 6, 5, 8,
416 9, 8, 135, 127, 128, 136, 133, 136, 134, 138,
417 127, 128, 138, 139, 40, 10, 40, 40, 40, 38,
419 40, 40, 40, 40, 40, 40, 40, 44, 10, 44,
420 44, 139, 139, 44, 61, 10, 61, 61, 61, 59,
421 61, 61, 61, 61, 61, 65, 10, 65, 139, 65,
422 92, 10, 92, 92, 92, 90, 92, 92, 92, 92,
423 92, 92, 96, 10, 96, 103, 10, 103, 103, 103,
424 101, 103, 107, 10, 107, 139, 107, 114, 10, 114,
425 114, 114, 112, 114, 118, 10, 118, 136, 135, 10,
426 0, 2, 2, 0, 4, 7, 130, 129, 0, 0,
427 0, 0, 0, 0, 0, 39, 41, 41, 41, 41,
428 41, 41, 41, 41, 41, 41, 0, 0, 0, 0,
430 0, 0, 0, 0, 60, 62, 62, 62, 62, 62,
431 62, 0, 0, 91, 93, 93, 93, 93, 93, 93,
432 93, 93, 0, 102, 104, 104, 0, 0, 113, 115,
433 115, 0, 0, 0, 0, 0, 0, 0, 3, 0,
434 0, 0, 0, 0, 0, 0, 137, 0, 41, 41,
435 41, 41, 41, 41, 41, 41, 41, 0, 0, 0,
436 0, 0, 0, 0, 0, 0, 0, 0, 62, 62,
437 62, 62, 0, 0, 0, 93, 93, 93, 93, 93,
438 93, 93, 0, 0, 104, 0, 0, 0, 115, 0,
439 0, 0, 132, 0, 14, 1, 0, 0, 125, 0,
441 0, 0, 122, 121, 0, 0, 41, 41, 41, 41,
442 41, 41, 41, 41, 41, 0, 0, 43, 0, 0,
443 0, 46, 0, 0, 45, 0, 0, 48, 47, 62,
444 62, 62, 62, 0, 0, 64, 0, 0, 93, 93,
445 93, 93, 93, 93, 93, 0, 0, 95, 0, 0,
446 0, 0, 0, 106, 0, 0, 0, 0, 0, 0,
447 117, 0, 0, 0, 0, 126, 120, 0, 0, 17,
448 41, 41, 41, 41, 41, 0, 0, 41, 41, 41,
449 0, 16, 0, 46, 0, 66, 45, 0, 62, 0,
450 0, 62, 62, 62, 0, 67, 0, 0, 0, 0,
452 93, 93, 0, 0, 93, 0, 0, 0, 0, 100,
453 99, 0, 0, 0, 111, 110, 0, 0, 0, 0,
454 0, 12, 0, 123, 124, 17, 41, 0, 0, 41,
455 0, 0, 41, 0, 31, 30, 41, 0, 41, 0,
456 41, 0, 16, 98, 0, 66, 97, 0, 0, 0,
457 52, 51, 62, 62, 62, 0, 63, 67, 0, 69,
458 68, 0, 0, 0, 93, 93, 0, 89, 88, 93,
459 0, 87, 86, 0, 0, 0, 0, 0, 0, 0,
460 0, 11, 41, 0, 27, 26, 41, 0, 29, 28,
461 41, 41, 41, 0, 19, 18, 41, 0, 42, 98,
463 108, 97, 0, 58, 57, 62, 62, 62, 0, 0,
464 0, 0, 93, 93, 93, 0, 94, 0, 109, 0,
465 0, 0, 0, 0, 41, 41, 41, 0, 0, 41,
466 41, 108, 62, 0, 0, 0, 0, 0, 0, 0,
467 0, 93, 93, 93, 0, 105, 109, 0, 0, 0,
468 0, 0, 41, 41, 0, 0, 0, 25, 24, 41,
469 41, 62, 0, 56, 55, 0, 54, 53, 0, 0,
470 0, 0, 0, 0, 0, 0, 0, 0, 0, 116,
471 131, 0, 0, 0, 41, 0, 0, 0, 33, 32,
472 0, 0, 41, 0, 0, 0, 0, 0, 0, 0,
474 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
475 0, 0, 0, 0, 35, 34, 0, 21, 20, 41,
476 0, 50, 49, 0, 0, 0, 0, 0, 0, 0,
477 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
478 0, 0, 0, 37, 36, 41, 71, 0, 70, 0,
479 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
480 0, 0, 0, 0, 0, 41, 73, 72, 0, 0,
481 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
482 0, 0, 0, 0, 41, 0, 0, 0, 0, 0,
483 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
485 0, 0, 0, 41, 0, 85, 0, 84, 0, 77,
486 0, 76, 0, 81, 0, 80, 0, 0, 0, 0,
487 0, 0, 41, 83, 82, 75, 74, 79, 78, 0,
488 0, 0, 12, 0, 12, 0, 41, 0, 0, 0,
489 0, 0, 41, 0, 0, 0, 0, 0, 11, 0,
490 23, 22, 0, 0, 0, 0, 0, 0, 0, 0,
491 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495 static yyconst flex_int32_t yy_ec[256] =
497 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
498 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
499 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
500 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
501 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
502 13, 13, 13, 13, 13, 13, 13, 14, 15, 16,
503 17, 18, 19, 1, 20, 21, 22, 23, 24, 21,
504 25, 25, 25, 25, 25, 26, 27, 25, 28, 29,
505 25, 25, 30, 31, 25, 25, 25, 25, 32, 25,
506 33, 1, 34, 1, 25, 1, 35, 36, 37, 38,
508 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
509 49, 50, 51, 52, 53, 54, 55, 56, 25, 57,
510 58, 59, 1, 1, 1, 1, 1, 1, 1, 1,
511 1, 1, 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,
519 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,
527 static yyconst flex_int32_t yy_meta[60] =
529 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
530 3, 1, 4, 5, 1, 1, 1, 6, 1, 7,
531 7, 7, 7, 7, 5, 5, 5, 5, 5, 5,
532 5, 5, 1, 1, 7, 7, 7, 7, 7, 7,
533 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
534 5, 5, 5, 5, 5, 5, 5, 5, 5
537 static yyconst flex_int16_t yy_base[814] =
539 0, 0, 0, 3, 6, 9, 24, 27, 11, 14,
540 15, 17, 29, 38, 45, 52, 59, 61, 67, 70,
541 95, 0, 73, 76, 153, 156, 159, 162, 177, 180,
542 183, 186, 201, 204, 207, 210, 226, 0, 284, 287,
543 290, 293, 308, 311, 314, 317, 333, 0, 391, 394,
544 410, 462, 429, 432, 435, 438, 481, 484, 487, 490,
545 514, 566, 533, 536, 585, 587, 1886, 2164, 2164, 397,
546 400, 47, 62, 2164, 453, 172, 2164, 2164, 1875, 2164,
547 2164, 1865, 2164, 1866, 1863, 551, 2164, 2164, 2164, 2164,
548 1861, 1861, 1829, 441, 2164, 505, 1844, 0, 196, 2164,
550 8, 1818, 1812, 1810, 1823, 1813, 35, 2164, 508, 593,
551 601, 589, 622, 630, 2164, 539, 1833, 0, 303, 2164,
552 1811, 1809, 1793, 1772, 1786, 2164, 542, 649, 657, 676,
553 2164, 551, 1798, 0, 442, 2164, 1772, 1770, 1750, 1760,
554 1751, 32, 2164, 557, 545, 2164, 607, 1775, 0, 494,
555 2164, 1752, 2164, 612, 684, 703, 711, 2164, 667, 1764,
556 0, 546, 2164, 1722, 2164, 733, 641, 1752, 1721, 739,
557 594, 1690, 2164, 1735, 1723, 2164, 2164, 2164, 2, 44,
558 1685, 1684, 1675, 1711, 1689, 2164, 0, 1678, 1663, 1670,
559 1677, 1676, 1664, 1658, 1650, 1652, 1658, 1650, 1645, 1636,
561 1645, 1626, 1628, 1630, 2164, 0, 747, 1615, 1618, 1615,
562 1610, 1616, 1599, 2164, 0, 1605, 1601, 1590, 1602, 1582,
563 1601, 1585, 1578, 2164, 0, 1588, 1590, 1590, 2164, 0,
564 1584, 1572, 1584, 1594, 1593, 1599, 431, 1554, 2164, 72,
565 0, 1549, 1549, 1581, 1576, 1541, 2164, 1553, 1540, 1535,
566 1533, 1528, 1544, 1525, 1503, 1507, 1539, 765, 768, 1517,
567 1507, 1509, 1488, 1500, 1501, 1486, 771, 775, 1489, 1487,
568 1467, 1467, 787, 790, 1479, 1477, 1470, 1470, 1459, 1462,
569 1445, 1429, 793, 796, 799, 815, 818, 1415, 821, 824,
570 827, 1443, 2164, 1446, 2164, 2164, 17, 1400, 2164, 1428,
572 1426, 1384, 2164, 2164, 1381, 1389, 1391, 1373, 1394, 1358,
573 1364, 844, 1368, 1357, 1344, 848, 851, 2164, 854, 1355,
574 1344, 861, 1350, 1318, 871, 1324, 874, 2164, 2164, 1322,
575 882, 1317, 1316, 888, 891, 2164, 894, 1301, 898, 901,
576 1304, 1295, 917, 1290, 920, 923, 929, 2164, 936, 940,
577 946, 956, 959, 2164, 962, 1301, 965, 981, 968, 989,
578 2164, 992, 1309, 616, 995, 2164, 2164, 1316, 1314, 998,
579 1302, 1013, 1274, 1016, 1266, 1019, 1022, 1269, 1035, 1279,
580 1038, 1043, 1274, 1051, 1253, 1055, 1058, 1262, 1061, 1064,
581 1067, 1248, 1246, 1243, 1080, 1083, 1086, 1090, 1098, 1102,
583 1242, 1231, 1110, 1114, 1244, 1122, 1126, 1134, 1138, 2164,
584 2164, 1146, 1234, 1151, 2164, 2164, 1159, 1257, 632, 1258,
585 1163, 2164, 1256, 2164, 2164, 1166, 1224, 1169, 1176, 1216,
586 1172, 1191, 1212, 1201, 2164, 2164, 1211, 1209, 1196, 1212,
587 1209, 1220, 1225, 1228, 1196, 1231, 1237, 1240, 1243, 1252,
588 2164, 2164, 1213, 1198, 1188, 1260, 2164, 1263, 1266, 2164,
589 2164, 1277, 124, 125, 1190, 1181, 1285, 2164, 2164, 1178,
590 1293, 2164, 2164, 1301, 1304, 1155, 1307, 1177, 578, 152,
591 5, 2164, 1151, 1311, 2164, 2164, 1153, 1324, 2164, 2164,
592 1145, 1332, 1143, 1335, 2164, 2164, 1152, 1343, 2164, 1348,
594 1354, 1360, 1363, 2164, 2164, 1153, 1371, 1374, 1140, 1129,
595 1135, 1104, 1112, 1104, 1099, 1377, 2164, 1380, 1383, 1390,
596 1126, 174, 158, 280, 1097, 1089, 1397, 1400, 1403, 1091,
597 1086, 1416, 1092, 1419, 1422, 1430, 1436, 1072, 1067, 1069,
598 1056, 1446, 1449, 1452, 1455, 2164, 1458, 1468, 1076, 1472,
599 176, 510, 1053, 1475, 1478, 1485, 1494, 2164, 2164, 1502,
600 1062, 1505, 1508, 2164, 2164, 1521, 2164, 2164, 1040, 1041,
601 1025, 1027, 1529, 1532, 1540, 1545, 1556, 1559, 1481, 2164,
602 2164, 1567, 287, 179, 1572, 1575, 1578, 1591, 2164, 2164,
603 1601, 1604, 1049, 1612, 1617, 1020, 1017, 997, 995, 1628,
605 633, 643, 1636, 651, 660, 1644, 670, 675, 412, 283,
606 538, 1652, 1655, 1664, 2164, 2164, 1672, 2164, 2164, 999,
607 1680, 2164, 2164, 1037, 981, 1025, 978, 994, 975, 977,
608 959, 974, 956, 971, 952, 968, 937, 953, 929, 605,
609 281, 434, 1688, 2164, 2164, 942, 2164, 972, 2164, 967,
610 927, 901, 907, 896, 900, 890, 890, 874, 882, 859,
611 867, 856, 611, 614, 1696, 875, 2164, 2164, 855, 820,
612 760, 773, 757, 770, 732, 713, 674, 686, 664, 670,
613 1699, 1702, 1705, 1722, 652, 659, 673, 619, 616, 541,
614 556, 495, 496, 463, 495, 419, 444, 1730, 1733, 1740,
616 1750, 1768, 1802, 381, 403, 2164, 399, 2164, 400, 2164,
617 396, 2164, 325, 2164, 319, 2164, 700, 1820, 657, 613,
618 1838, 1872, 274, 2164, 2164, 2164, 2164, 2164, 2164, 660,
619 727, 200, 301, 745, 295, 1760, 254, 726, 218, 202,
620 207, 1794, 1865, 480, 153, 1890, 1786, 738, 2164, 1828,
621 2164, 2164, 1763, 1893, 664, 742, 741, 769, 814, 822,
622 823, 826, 744, 797, 789, 863, 849, 850, 864, 898,
623 1906, 1910, 2164, 2164, 1928, 1935, 1942, 1949, 1956, 1963,
624 1970, 1977, 1984, 1991, 1998, 2005, 2012, 2019, 2024, 2029,
625 2034, 2039, 2044, 2051, 2054, 2057, 2060, 2063, 2066, 2073,
627 2077, 2083, 2089, 2095, 2101, 2107, 2114, 2121, 2128, 2135,
631 static yyconst flex_int16_t yy_def[814] =
633 775, 775, 776, 776, 776, 776, 777, 777, 778, 778,
634 779, 779, 780, 780, 780, 780, 781, 781, 775, 775,
635 774, 21, 782, 782, 782, 782, 775, 775, 782, 782,
636 775, 775, 782, 782, 782, 782, 774, 37, 783, 783,
637 775, 775, 783, 783, 783, 783, 774, 47, 784, 784,
638 785, 785, 786, 786, 775, 775, 786, 786, 786, 786,
639 787, 787, 788, 788, 780, 780, 774, 774, 774, 774,
640 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
641 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
642 774, 774, 774, 774, 774, 774, 774, 789, 774, 774,
644 789, 789, 789, 789, 789, 789, 789, 774, 774, 774,
645 774, 774, 774, 774, 774, 774, 774, 790, 774, 774,
646 790, 790, 790, 790, 790, 774, 774, 774, 774, 774,
647 774, 774, 774, 791, 774, 774, 791, 791, 791, 791,
648 791, 791, 774, 774, 774, 774, 774, 774, 792, 774,
649 774, 792, 774, 774, 774, 774, 774, 774, 774, 774,
650 793, 774, 774, 793, 774, 774, 774, 774, 774, 774,
651 794, 774, 774, 774, 774, 774, 774, 774, 774, 774,
652 774, 774, 774, 774, 774, 774, 789, 789, 789, 789,
653 789, 789, 789, 789, 789, 789, 795, 774, 774, 774,
655 774, 774, 774, 774, 774, 790, 790, 790, 790, 790,
656 790, 796, 774, 774, 791, 791, 791, 791, 791, 791,
657 791, 791, 797, 774, 792, 792, 798, 774, 774, 793,
658 793, 799, 774, 774, 800, 774, 800, 774, 774, 774,
659 801, 774, 774, 774, 774, 774, 774, 774, 789, 789,
660 789, 789, 789, 789, 789, 789, 789, 802, 802, 774,
661 774, 774, 774, 774, 774, 774, 774, 774, 790, 790,
662 790, 790, 803, 803, 774, 791, 791, 791, 791, 791,
663 791, 791, 804, 804, 792, 805, 805, 774, 793, 806,
664 806, 774, 774, 800, 774, 774, 800, 774, 774, 801,
666 774, 774, 774, 774, 774, 774, 789, 789, 789, 789,
667 789, 789, 789, 789, 789, 774, 802, 774, 802, 774,
668 774, 774, 774, 774, 774, 774, 774, 774, 774, 790,
669 790, 790, 790, 774, 803, 774, 803, 774, 791, 791,
670 791, 791, 791, 791, 791, 774, 804, 774, 804, 774,
671 774, 774, 805, 774, 805, 774, 774, 774, 774, 806,
672 774, 806, 774, 800, 807, 774, 774, 774, 774, 774,
673 789, 789, 789, 789, 789, 774, 774, 789, 789, 789,
674 802, 774, 774, 774, 774, 774, 774, 774, 790, 774,
675 774, 790, 790, 790, 803, 774, 774, 774, 774, 774,
677 791, 791, 774, 774, 791, 774, 774, 804, 774, 774,
678 774, 805, 774, 774, 774, 774, 806, 774, 800, 807,
679 807, 774, 807, 774, 774, 774, 789, 774, 774, 789,
680 774, 774, 789, 774, 774, 774, 789, 774, 789, 774,
681 789, 802, 774, 774, 774, 774, 774, 774, 774, 774,
682 774, 774, 790, 790, 790, 774, 774, 774, 774, 774,
683 774, 774, 774, 774, 791, 791, 774, 774, 774, 791,
684 774, 774, 774, 804, 805, 774, 806, 774, 800, 807,
685 807, 774, 789, 774, 774, 774, 789, 774, 774, 774,
686 789, 789, 789, 774, 774, 774, 789, 774, 774, 774,
688 774, 774, 774, 774, 774, 790, 790, 790, 774, 774,
689 774, 774, 791, 791, 791, 774, 774, 805, 774, 806,
690 774, 800, 807, 807, 789, 789, 789, 774, 774, 789,
691 789, 774, 790, 774, 774, 774, 774, 774, 774, 774,
692 774, 791, 791, 791, 774, 774, 774, 806, 774, 800,
693 807, 807, 789, 789, 774, 774, 774, 774, 774, 789,
694 789, 790, 774, 774, 774, 774, 774, 774, 774, 774,
695 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
696 774, 800, 807, 807, 789, 774, 774, 774, 774, 774,
697 774, 774, 789, 774, 774, 774, 774, 774, 774, 774,
699 774, 774, 774, 774, 774, 774, 774, 774, 800, 807,
700 807, 774, 774, 774, 774, 774, 774, 774, 774, 789,
701 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
702 774, 774, 774, 774, 774, 774, 774, 774, 774, 800,
703 807, 807, 774, 774, 774, 789, 774, 774, 774, 774,
704 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
705 774, 774, 800, 807, 807, 789, 774, 774, 774, 774,
706 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
707 800, 807, 807, 807, 789, 774, 774, 774, 774, 774,
708 774, 774, 774, 774, 774, 774, 774, 800, 807, 807,
710 807, 808, 809, 789, 774, 774, 774, 774, 774, 774,
711 774, 774, 774, 774, 774, 774, 800, 807, 810, 811,
712 808, 809, 789, 774, 774, 774, 774, 774, 774, 800,
713 810, 807, 812, 811, 813, 807, 789, 800, 812, 774,
714 813, 807, 789, 800, 774, 774, 774, 800, 774, 774,
715 774, 774, 800, 800, 800, 800, 800, 800, 800, 800,
716 800, 800, 800, 800, 800, 800, 800, 800, 800, 800,
717 800, 800, 774, 0, 774, 774, 774, 774, 774, 774,
718 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
719 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
721 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
725 static yyconst flex_int16_t yy_nxt[2224] =
727 774, 70, 71, 70, 70, 71, 70, 70, 71, 70,
728 70, 71, 70, 78, 240, 72, 78, 81, 72, 81,
729 79, 73, 422, 79, 73, 75, 71, 75, 75, 71,
730 75, 84, 85, 82, 295, 82, 86, 87, 364, 76,
731 84, 85, 76, 524, 88, 86, 87, 84, 85, 188,
732 89, 171, 86, 88, 84, 85, 189, 89, 241, 86,
733 88, 91, 92, 91, 92, 172, 171, 88, 71, 71,
734 71, 71, 71, 71, 109, 71, 109, 109, 71, 109,
735 173, 195, 94, 221, 240, 94, 299, 196, 110, 222,
736 242, 110, 93, 243, 93, 95, 96, 71, 96, 95,
738 95, 95, 95, 95, 95, 95, 97, 95, 98, 95,
739 99, 95, 100, 95, 98, 98, 98, 98, 98, 98,
740 98, 98, 98, 98, 98, 98, 98, 95, 95, 98,
741 98, 101, 98, 98, 102, 98, 98, 103, 104, 98,
742 98, 98, 105, 98, 98, 98, 98, 98, 98, 98,
743 106, 107, 98, 98, 109, 71, 109, 109, 71, 109,
744 71, 71, 71, 71, 71, 71, 509, 511, 111, 422,
745 749, 111, 510, 512, 112, 422, 174, 112, 109, 71,
746 109, 109, 71, 109, 71, 71, 71, 71, 71, 71,
747 173, 295, 110, 422, 551, 110, 422, 550, 113, 523,
749 174, 113, 109, 71, 109, 109, 71, 109, 109, 71,
750 109, 109, 71, 109, 173, 740, 111, 422, 423, 111,
751 745, 611, 114, 740, 583, 114, 115, 116, 71, 116,
752 115, 115, 115, 115, 115, 115, 115, 117, 115, 118,
753 115, 119, 115, 120, 115, 118, 118, 118, 118, 118,
754 118, 118, 118, 118, 118, 118, 118, 118, 115, 115,
755 118, 118, 118, 118, 118, 118, 118, 118, 121, 118,
756 118, 122, 118, 123, 118, 118, 118, 124, 118, 118,
757 118, 125, 118, 118, 118, 127, 71, 127, 127, 71,
758 127, 71, 71, 71, 71, 71, 71, 422, 422, 128,
760 422, 743, 128, 740, 422, 129, 740, 174, 129, 127,
761 71, 127, 127, 71, 127, 127, 71, 127, 127, 71,
762 127, 173, 737, 128, 610, 641, 128, 729, 664, 130,
763 728, 552, 130, 131, 132, 71, 132, 131, 131, 131,
764 131, 131, 131, 131, 133, 131, 134, 131, 135, 131,
765 136, 131, 134, 134, 134, 134, 134, 134, 134, 134,
766 134, 134, 134, 134, 134, 131, 131, 134, 134, 134,
767 134, 134, 137, 134, 134, 134, 134, 134, 138, 134,
768 134, 139, 134, 134, 140, 141, 142, 134, 134, 134,
769 134, 134, 144, 71, 144, 144, 71, 144, 170, 170,
771 170, 170, 170, 170, 727, 726, 145, 725, 724, 145,
772 146, 147, 71, 147, 146, 146, 146, 146, 146, 146,
773 146, 148, 146, 723, 146, 150, 146, 151, 146, 295,
774 154, 71, 154, 154, 71, 154, 71, 71, 71, 71,
775 71, 71, 146, 146, 155, 174, 174, 155, 295, 640,
776 156, 422, 716, 156, 170, 170, 170, 715, 297, 173,
777 173, 152, 146, 147, 71, 147, 146, 146, 146, 146,
778 146, 146, 146, 148, 146, 185, 146, 150, 146, 151,
779 146, 665, 154, 71, 154, 154, 71, 154, 154, 71,
780 154, 154, 71, 154, 146, 146, 155, 295, 174, 155,
782 714, 713, 157, 748, 712, 157, 170, 170, 170, 170,
783 170, 170, 173, 152, 158, 159, 71, 159, 158, 158,
784 158, 158, 158, 158, 158, 160, 158, 422, 158, 162,
785 158, 163, 158, 711, 166, 71, 166, 166, 71, 166,
786 170, 170, 170, 170, 170, 170, 158, 158, 167, 174,
787 174, 167, 170, 170, 170, 422, 223, 179, 170, 170,
788 170, 710, 584, 173, 173, 164, 158, 159, 71, 159,
789 158, 158, 158, 158, 158, 158, 158, 160, 158, 709,
790 158, 162, 158, 163, 158, 180, 642, 84, 85, 84,
791 85, 181, 86, 174, 86, 295, 182, 174, 158, 158,
793 168, 183, 168, 236, 197, 174, 522, 173, 170, 170,
794 170, 173, 197, 170, 170, 170, 237, 164, 169, 173,
795 169, 732, 295, 198, 708, 204, 174, 198, 295, 199,
796 735, 422, 200, 295, 174, 198, 200, 199, 201, 663,
797 173, 197, 201, 202, 203, 174, 419, 202, 173, 295,
798 201, 681, 232, 174, 682, 202, 198, 707, 199, 173,
799 212, 174, 732, 479, 198, 203, 204, 173, 170, 170,
800 170, 201, 628, 203, 733, 173, 202, 295, 706, 201,
801 174, 295, 630, 198, 202, 204, 629, 212, 174, 738,
802 632, 198, 203, 204, 173, 227, 631, 705, 201, 634,
804 203, 757, 173, 213, 633, 704, 201, 174, 697, 636,
805 198, 213, 204, 635, 638, 174, 696, 295, 198, 203,
806 204, 173, 227, 637, 695, 201, 694, 203, 639, 173,
807 202, 730, 732, 228, 170, 170, 170, 198, 202, 204,
808 170, 170, 170, 295, 733, 198, 203, 204, 267, 267,
809 267, 693, 228, 732, 203, 295, 744, 202, 295, 295,
810 201, 295, 735, 268, 753, 202, 316, 316, 316, 316,
811 316, 316, 267, 267, 267, 759, 327, 327, 327, 758,
812 328, 765, 318, 329, 692, 318, 295, 268, 334, 334,
813 334, 334, 334, 334, 346, 346, 346, 346, 346, 346,
815 350, 350, 350, 760, 336, 319, 295, 336, 691, 690,
816 348, 689, 688, 348, 295, 351, 352, 352, 352, 352,
817 352, 352, 357, 357, 357, 359, 359, 359, 359, 359,
818 359, 295, 354, 763, 766, 354, 764, 358, 337, 295,
819 295, 361, 767, 295, 361, 376, 376, 376, 349, 316,
820 316, 316, 316, 316, 316, 316, 316, 316, 687, 355,
821 377, 362, 384, 384, 384, 318, 295, 295, 318, 771,
822 761, 318, 387, 387, 387, 327, 327, 327, 762, 328,
823 295, 295, 329, 390, 390, 390, 769, 770, 381, 334,
824 334, 334, 334, 334, 334, 334, 334, 334, 391, 397,
826 397, 397, 399, 399, 399, 336, 771, 686, 336, 685,
827 680, 336, 679, 678, 398, 295, 768, 400, 403, 403,
828 403, 406, 406, 406, 346, 346, 346, 677, 676, 395,
829 346, 346, 346, 404, 392, 675, 407, 346, 346, 346,
830 348, 350, 350, 350, 674, 673, 348, 409, 409, 409,
831 672, 410, 671, 348, 411, 670, 351, 352, 352, 352,
832 352, 352, 352, 352, 352, 352, 357, 357, 357, 359,
833 359, 359, 669, 354, 408, 668, 354, 667, 666, 354,
834 662, 358, 414, 414, 414, 361, 415, 661, 660, 416,
835 359, 359, 359, 359, 359, 359, 421, 421, 421, 426,
837 426, 426, 659, 658, 412, 657, 361, 656, 655, 361,
838 654, 653, 422, 423, 428, 428, 428, 431, 431, 431,
839 376, 376, 376, 434, 434, 434, 652, 435, 651, 429,
840 436, 650, 432, 649, 648, 377, 438, 438, 438, 316,
841 316, 316, 647, 417, 443, 443, 443, 646, 439, 627,
842 626, 440, 384, 384, 384, 318, 446, 446, 446, 387,
843 387, 387, 448, 448, 448, 390, 390, 390, 450, 450,
844 450, 625, 451, 624, 620, 452, 599, 449, 442, 598,
845 391, 456, 456, 456, 458, 458, 458, 397, 397, 397,
846 597, 459, 459, 459, 596, 460, 593, 457, 461, 399,
848 399, 399, 398, 462, 462, 462, 585, 463, 581, 572,
849 464, 403, 403, 403, 400, 467, 467, 467, 571, 468,
850 570, 569, 469, 406, 406, 406, 404, 471, 471, 471,
851 562, 472, 561, 560, 473, 346, 346, 346, 407, 409,
852 409, 409, 554, 410, 553, 549, 411, 352, 352, 352,
853 544, 348, 414, 414, 414, 543, 415, 542, 541, 416,
854 359, 359, 359, 354, 421, 421, 421, 426, 426, 426,
855 428, 428, 428, 431, 431, 431, 361, 484, 484, 484,
856 422, 485, 540, 539, 486, 429, 474, 538, 432, 533,
857 531, 475, 488, 488, 488, 530, 489, 477, 527, 490,
859 526, 480, 434, 434, 434, 525, 435, 521, 519, 436,
860 438, 438, 438, 494, 494, 494, 515, 495, 481, 514,
861 496, 498, 498, 498, 513, 440, 443, 443, 443, 500,
862 500, 500, 446, 446, 446, 508, 507, 499, 502, 502,
863 502, 448, 448, 448, 503, 503, 503, 506, 504, 501,
864 497, 505, 493, 450, 450, 450, 449, 451, 492, 491,
865 452, 456, 456, 456, 458, 458, 458, 459, 459, 459,
866 487, 460, 483, 482, 461, 422, 478, 457, 462, 462,
867 462, 476, 463, 470, 466, 464, 467, 467, 467, 465,
868 468, 455, 454, 469, 471, 471, 471, 453, 472, 447,
870 445, 473, 516, 516, 516, 352, 352, 352, 359, 359,
871 359, 444, 484, 484, 484, 441, 485, 437, 517, 486,
872 433, 354, 430, 427, 361, 488, 488, 488, 425, 489,
873 424, 418, 490, 528, 528, 528, 494, 494, 494, 413,
874 495, 518, 405, 496, 498, 498, 498, 402, 529, 500,
875 500, 500, 401, 396, 520, 532, 532, 532, 394, 393,
876 499, 502, 502, 502, 503, 503, 503, 389, 504, 388,
877 386, 505, 534, 534, 534, 536, 536, 536, 516, 516,
878 516, 545, 545, 545, 547, 547, 547, 535, 385, 383,
879 537, 359, 359, 359, 517, 382, 380, 546, 555, 555,
881 555, 528, 528, 528, 557, 557, 557, 361, 558, 379,
882 378, 559, 375, 556, 374, 373, 529, 532, 532, 532,
883 534, 534, 534, 563, 563, 563, 372, 564, 371, 370,
884 565, 536, 536, 536, 369, 535, 368, 566, 566, 566,
885 367, 567, 366, 548, 568, 365, 537, 573, 573, 573,
886 575, 575, 575, 577, 577, 577, 545, 545, 545, 547,
887 547, 547, 574, 295, 363, 576, 356, 345, 578, 579,
888 579, 579, 546, 582, 582, 582, 586, 586, 586, 555,
889 555, 555, 579, 579, 579, 580, 588, 588, 588, 295,
890 589, 587, 344, 590, 556, 557, 557, 557, 580, 558,
892 343, 342, 559, 591, 591, 591, 594, 594, 594, 563,
893 563, 563, 341, 564, 340, 339, 565, 338, 592, 333,
894 332, 595, 566, 566, 566, 331, 567, 330, 326, 568,
895 573, 573, 573, 600, 600, 600, 325, 601, 324, 323,
896 602, 575, 575, 575, 322, 574, 603, 603, 603, 321,
897 604, 320, 315, 605, 314, 313, 576, 577, 577, 577,
898 606, 606, 606, 312, 607, 311, 310, 608, 582, 582,
899 582, 309, 578, 612, 612, 612, 586, 586, 586, 614,
900 614, 614, 308, 615, 295, 307, 616, 306, 613, 305,
901 304, 587, 588, 588, 588, 303, 589, 302, 301, 590,
903 298, 609, 591, 591, 591, 617, 617, 617, 296, 618,
904 295, 293, 619, 594, 594, 594, 292, 592, 621, 621,
905 621, 291, 622, 289, 288, 623, 287, 285, 595, 600,
906 600, 600, 284, 601, 282, 281, 602, 603, 603, 603,
907 280, 604, 279, 278, 605, 606, 606, 606, 277, 607,
908 276, 275, 608, 612, 612, 612, 643, 643, 643, 274,
909 644, 272, 271, 645, 270, 614, 614, 614, 613, 615,
910 269, 266, 616, 617, 617, 617, 265, 618, 264, 263,
911 619, 621, 621, 621, 262, 622, 261, 260, 623, 643,
912 643, 643, 259, 644, 257, 256, 645, 683, 683, 683,
914 698, 698, 698, 699, 699, 699, 683, 683, 683, 255,
915 254, 253, 684, 422, 252, 251, 295, 250, 700, 422,
916 249, 684, 422, 701, 701, 701, 248, 702, 247, 246,
917 703, 698, 698, 698, 699, 699, 699, 245, 244, 422,
918 239, 718, 718, 718, 236, 719, 238, 295, 720, 700,
919 422, 701, 701, 701, 234, 702, 233, 422, 703, 717,
920 231, 742, 742, 742, 754, 754, 754, 422, 420, 420,
921 420, 420, 420, 420, 420, 420, 420, 422, 423, 420,
922 295, 229, 420, 420, 420, 422, 420, 750, 750, 750,
923 226, 751, 224, 220, 752, 742, 742, 742, 219, 218,
925 420, 420, 420, 420, 420, 420, 420, 420, 420, 420,
926 420, 422, 217, 420, 216, 214, 420, 420, 420, 422,
927 420, 718, 718, 718, 211, 719, 210, 209, 720, 750,
928 750, 750, 480, 751, 420, 420, 752, 422, 420, 420,
929 420, 420, 420, 736, 420, 420, 420, 208, 207, 420,
930 205, 194, 420, 420, 420, 422, 420, 193, 192, 191,
931 190, 186, 184, 178, 177, 178, 746, 746, 746, 177,
932 420, 420, 420, 420, 420, 420, 420, 420, 420, 420,
933 736, 747, 176, 420, 175, 774, 420, 420, 420, 422,
934 420, 746, 746, 746, 754, 754, 754, 774, 755, 774,
936 774, 756, 774, 774, 420, 420, 747, 772, 772, 772,
937 295, 772, 772, 772, 774, 774, 774, 774, 774, 774,
938 774, 774, 774, 773, 774, 774, 774, 773, 68, 68,
939 68, 68, 68, 68, 68, 69, 69, 69, 69, 69,
940 69, 69, 74, 74, 74, 74, 74, 74, 74, 77,
941 77, 77, 77, 77, 77, 77, 80, 80, 80, 80,
942 80, 80, 80, 83, 83, 83, 83, 83, 83, 83,
943 90, 90, 90, 90, 90, 90, 90, 108, 108, 108,
944 108, 108, 108, 108, 126, 126, 126, 126, 126, 126,
945 126, 143, 143, 143, 143, 143, 143, 143, 149, 149,
947 149, 149, 149, 149, 149, 153, 153, 153, 153, 153,
948 153, 153, 161, 161, 161, 161, 161, 161, 161, 165,
949 165, 165, 165, 165, 165, 165, 187, 187, 187, 774,
950 187, 206, 206, 206, 774, 206, 215, 215, 215, 774,
951 215, 225, 225, 225, 774, 225, 230, 230, 230, 774,
952 230, 235, 235, 235, 235, 235, 774, 235, 258, 774,
953 258, 273, 774, 273, 283, 774, 283, 286, 774, 286,
954 290, 774, 290, 294, 294, 294, 294, 294, 294, 294,
955 300, 774, 774, 300, 317, 317, 317, 317, 317, 317,
956 335, 335, 335, 335, 335, 335, 347, 347, 347, 347,
958 347, 347, 353, 353, 353, 353, 353, 353, 360, 360,
959 360, 360, 360, 360, 420, 420, 420, 420, 420, 420,
960 420, 721, 721, 721, 721, 721, 721, 721, 722, 722,
961 722, 722, 722, 722, 722, 731, 731, 731, 731, 731,
962 731, 731, 734, 734, 734, 734, 734, 734, 734, 739,
963 739, 739, 739, 739, 739, 739, 741, 741, 741, 741,
964 741, 741, 741, 67, 774, 774, 774, 774, 774, 774,
965 774, 774, 774, 774, 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,
969 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
970 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
974 static yyconst flex_int16_t yy_chk[2224] =
976 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
977 6, 6, 6, 9, 179, 3, 10, 11, 4, 12,
978 9, 5, 481, 10, 6, 7, 7, 7, 8, 8,
979 8, 13, 13, 11, 297, 12, 13, 13, 297, 7,
980 14, 14, 8, 481, 13, 14, 14, 15, 15, 101,
981 15, 72, 15, 14, 16, 16, 101, 16, 179, 16,
982 15, 17, 17, 18, 18, 72, 73, 16, 19, 19,
983 19, 20, 20, 20, 23, 23, 23, 24, 24, 24,
984 73, 107, 19, 142, 240, 20, 240, 107, 23, 142,
985 180, 24, 17, 180, 18, 21, 21, 21, 21, 21,
987 21, 21, 21, 21, 21, 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, 25, 25, 25, 26, 26, 26,
993 27, 27, 27, 28, 28, 28, 463, 464, 25, 480,
994 745, 26, 463, 464, 27, 523, 76, 28, 29, 29,
995 29, 30, 30, 30, 31, 31, 31, 32, 32, 32,
996 76, 522, 29, 551, 523, 30, 584, 522, 31, 480,
998 99, 32, 33, 33, 33, 34, 34, 34, 35, 35,
999 35, 36, 36, 36, 99, 741, 33, 732, 732, 34,
1000 740, 584, 35, 739, 551, 36, 37, 37, 37, 37,
1001 37, 37, 37, 37, 37, 37, 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, 39, 39, 39, 40, 40,
1007 40, 41, 41, 41, 42, 42, 42, 524, 641, 39,
1009 610, 737, 40, 735, 583, 41, 733, 119, 42, 43,
1010 43, 43, 44, 44, 44, 45, 45, 45, 46, 46,
1011 46, 119, 723, 43, 583, 610, 44, 715, 641, 45,
1012 713, 524, 46, 47, 47, 47, 47, 47, 47, 47,
1013 47, 47, 47, 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, 49, 49, 49, 50, 50, 50, 70, 70,
1020 70, 71, 71, 71, 711, 709, 49, 707, 705, 50,
1021 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
1022 51, 51, 51, 704, 51, 51, 51, 51, 51, 609,
1023 53, 53, 53, 54, 54, 54, 55, 55, 55, 56,
1024 56, 56, 51, 51, 53, 94, 135, 54, 237, 609,
1025 55, 642, 697, 56, 75, 75, 75, 696, 237, 94,
1026 135, 51, 52, 52, 52, 52, 52, 52, 52, 52,
1027 52, 52, 52, 52, 52, 94, 52, 52, 52, 52,
1028 52, 642, 57, 57, 57, 58, 58, 58, 59, 59,
1029 59, 60, 60, 60, 52, 52, 57, 744, 150, 58,
1031 695, 694, 59, 744, 693, 60, 96, 96, 96, 109,
1032 109, 109, 150, 52, 61, 61, 61, 61, 61, 61,
1033 61, 61, 61, 61, 61, 61, 61, 552, 61, 61,
1034 61, 61, 61, 692, 63, 63, 63, 64, 64, 64,
1035 116, 116, 116, 127, 127, 127, 61, 61, 63, 145,
1036 162, 64, 132, 132, 132, 611, 145, 86, 144, 144,
1037 144, 691, 552, 145, 162, 61, 62, 62, 62, 62,
1038 62, 62, 62, 62, 62, 62, 62, 62, 62, 690,
1039 62, 62, 62, 62, 62, 86, 611, 65, 65, 66,
1040 66, 86, 65, 112, 66, 479, 86, 110, 62, 62,
1042 65, 86, 66, 171, 110, 111, 479, 112, 147, 147,
1043 147, 110, 111, 154, 154, 154, 171, 62, 65, 111,
1044 66, 720, 640, 112, 689, 112, 113, 110, 663, 110,
1045 720, 664, 112, 364, 114, 111, 110, 111, 112, 640,
1046 113, 114, 110, 112, 111, 167, 364, 110, 114, 419,
1047 111, 663, 167, 128, 664, 111, 113, 688, 113, 167,
1048 128, 129, 719, 419, 114, 113, 114, 128, 159, 159,
1049 159, 113, 601, 114, 719, 129, 113, 730, 687, 114,
1050 130, 755, 602, 128, 114, 128, 601, 130, 155, 730,
1051 604, 129, 128, 129, 130, 155, 602, 686, 128, 605,
1053 129, 755, 155, 128, 604, 685, 129, 156, 680, 607,
1054 130, 129, 130, 605, 608, 157, 679, 717, 155, 130,
1055 155, 156, 157, 607, 678, 130, 677, 155, 608, 157,
1056 130, 717, 731, 155, 166, 166, 166, 156, 155, 156,
1057 170, 170, 170, 738, 731, 157, 156, 157, 207, 207,
1058 207, 676, 156, 734, 157, 748, 738, 156, 757, 756,
1059 157, 763, 734, 207, 748, 157, 258, 258, 258, 259,
1060 259, 259, 267, 267, 267, 757, 268, 268, 268, 756,
1061 268, 763, 258, 268, 675, 259, 758, 267, 273, 273,
1062 273, 274, 274, 274, 283, 283, 283, 284, 284, 284,
1064 285, 285, 285, 758, 273, 259, 765, 274, 674, 673,
1065 283, 672, 671, 284, 764, 285, 286, 286, 286, 287,
1066 287, 287, 289, 289, 289, 290, 290, 290, 291, 291,
1067 291, 759, 286, 761, 764, 287, 762, 289, 274, 760,
1068 761, 290, 765, 762, 291, 312, 312, 312, 284, 316,
1069 316, 316, 317, 317, 317, 319, 319, 319, 670, 287,
1070 312, 291, 322, 322, 322, 316, 767, 768, 317, 769,
1071 759, 319, 325, 325, 325, 327, 327, 327, 760, 327,
1072 766, 769, 327, 331, 331, 331, 767, 768, 319, 334,
1073 334, 334, 335, 335, 335, 337, 337, 337, 331, 339,
1075 339, 339, 340, 340, 340, 334, 770, 669, 335, 666,
1076 662, 337, 661, 660, 339, 770, 766, 340, 343, 343,
1077 343, 345, 345, 345, 346, 346, 346, 659, 658, 337,
1078 347, 347, 347, 343, 331, 657, 345, 349, 349, 349,
1079 346, 350, 350, 350, 656, 655, 347, 351, 351, 351,
1080 654, 351, 653, 349, 351, 652, 350, 352, 352, 352,
1081 353, 353, 353, 355, 355, 355, 357, 357, 357, 359,
1082 359, 359, 651, 352, 349, 650, 353, 648, 646, 355,
1083 639, 357, 358, 358, 358, 359, 358, 638, 637, 358,
1084 360, 360, 360, 362, 362, 362, 365, 365, 365, 370,
1086 370, 370, 636, 635, 355, 634, 360, 633, 632, 362,
1087 631, 630, 365, 365, 372, 372, 372, 374, 374, 374,
1088 376, 376, 376, 377, 377, 377, 629, 377, 628, 372,
1089 377, 627, 374, 626, 625, 376, 379, 379, 379, 381,
1090 381, 381, 624, 362, 382, 382, 382, 620, 379, 599,
1091 598, 379, 384, 384, 384, 381, 386, 386, 386, 387,
1092 387, 387, 389, 389, 389, 390, 390, 390, 391, 391,
1093 391, 597, 391, 596, 593, 391, 572, 389, 381, 571,
1094 390, 395, 395, 395, 396, 396, 396, 397, 397, 397,
1095 570, 398, 398, 398, 569, 398, 561, 395, 398, 399,
1097 399, 399, 397, 400, 400, 400, 553, 400, 549, 541,
1098 400, 403, 403, 403, 399, 404, 404, 404, 540, 404,
1099 539, 538, 404, 406, 406, 406, 403, 407, 407, 407,
1100 533, 407, 531, 530, 407, 408, 408, 408, 406, 409,
1101 409, 409, 526, 409, 525, 521, 409, 412, 412, 412,
1102 515, 408, 414, 414, 414, 514, 414, 513, 512, 414,
1103 417, 417, 417, 412, 421, 421, 421, 426, 426, 426,
1104 428, 428, 428, 431, 431, 431, 417, 429, 429, 429,
1105 421, 429, 511, 510, 429, 428, 408, 509, 431, 506,
1106 497, 412, 432, 432, 432, 493, 432, 417, 491, 432,
1108 487, 421, 434, 434, 434, 483, 434, 478, 476, 434,
1109 438, 438, 438, 440, 440, 440, 470, 440, 421, 466,
1110 440, 442, 442, 442, 465, 438, 443, 443, 443, 444,
1111 444, 444, 446, 446, 446, 455, 454, 442, 447, 447,
1112 447, 448, 448, 448, 449, 449, 449, 453, 449, 445,
1113 441, 449, 439, 450, 450, 450, 448, 450, 437, 433,
1114 450, 456, 456, 456, 458, 458, 458, 459, 459, 459,
1115 430, 459, 427, 423, 459, 420, 418, 456, 462, 462,
1116 462, 413, 462, 405, 402, 462, 467, 467, 467, 401,
1117 467, 394, 393, 467, 471, 471, 471, 392, 471, 388,
1119 385, 471, 474, 474, 474, 475, 475, 475, 477, 477,
1120 477, 383, 484, 484, 484, 380, 484, 378, 474, 484,
1121 375, 475, 373, 371, 477, 488, 488, 488, 369, 488,
1122 368, 363, 488, 492, 492, 492, 494, 494, 494, 356,
1123 494, 475, 344, 494, 498, 498, 498, 342, 492, 500,
1124 500, 500, 341, 338, 477, 501, 501, 501, 333, 332,
1125 498, 502, 502, 502, 503, 503, 503, 330, 503, 326,
1126 324, 503, 507, 507, 507, 508, 508, 508, 516, 516,
1127 516, 518, 518, 518, 519, 519, 519, 507, 323, 321,
1128 508, 520, 520, 520, 516, 320, 315, 518, 527, 527,
1130 527, 528, 528, 528, 529, 529, 529, 520, 529, 314,
1131 313, 529, 311, 527, 310, 309, 528, 532, 532, 532,
1132 534, 534, 534, 535, 535, 535, 308, 535, 307, 306,
1133 535, 536, 536, 536, 305, 534, 302, 537, 537, 537,
1134 301, 537, 300, 520, 537, 298, 536, 542, 542, 542,
1135 543, 543, 543, 544, 544, 544, 545, 545, 545, 547,
1136 547, 547, 542, 294, 292, 543, 288, 282, 544, 548,
1137 548, 548, 545, 550, 550, 550, 554, 554, 554, 555,
1138 555, 555, 579, 579, 579, 548, 556, 556, 556, 550,
1139 556, 554, 281, 556, 555, 557, 557, 557, 579, 557,
1141 280, 279, 557, 560, 560, 560, 562, 562, 562, 563,
1142 563, 563, 278, 563, 277, 276, 563, 275, 560, 272,
1143 271, 562, 566, 566, 566, 270, 566, 269, 266, 566,
1144 573, 573, 573, 574, 574, 574, 265, 574, 264, 263,
1145 574, 575, 575, 575, 262, 573, 576, 576, 576, 261,
1146 576, 260, 257, 576, 256, 255, 575, 577, 577, 577,
1147 578, 578, 578, 254, 578, 253, 252, 578, 582, 582,
1148 582, 251, 577, 585, 585, 585, 586, 586, 586, 587,
1149 587, 587, 250, 587, 582, 249, 587, 248, 585, 246,
1150 245, 586, 588, 588, 588, 244, 588, 243, 242, 588,
1152 238, 582, 591, 591, 591, 592, 592, 592, 236, 592,
1153 235, 234, 592, 594, 594, 594, 233, 591, 595, 595,
1154 595, 232, 595, 231, 228, 595, 227, 226, 594, 600,
1155 600, 600, 223, 600, 222, 221, 600, 603, 603, 603,
1156 220, 603, 219, 218, 603, 606, 606, 606, 217, 606,
1157 216, 213, 606, 612, 612, 612, 613, 613, 613, 212,
1158 613, 211, 210, 613, 209, 614, 614, 614, 612, 614,
1159 208, 204, 614, 617, 617, 617, 203, 617, 202, 201,
1160 617, 621, 621, 621, 200, 621, 199, 198, 621, 643,
1161 643, 643, 197, 643, 196, 195, 643, 665, 665, 665,
1163 681, 681, 681, 682, 682, 682, 683, 683, 683, 194,
1164 193, 192, 665, 665, 191, 190, 681, 189, 682, 682,
1165 188, 683, 683, 684, 684, 684, 185, 684, 184, 183,
1166 684, 698, 698, 698, 699, 699, 699, 182, 181, 684,
1167 175, 700, 700, 700, 174, 700, 172, 698, 700, 699,
1168 699, 701, 701, 701, 169, 701, 168, 700, 701, 698,
1169 164, 736, 736, 736, 753, 753, 753, 701, 702, 702,
1170 702, 702, 702, 702, 702, 702, 702, 736, 736, 702,
1171 753, 160, 702, 702, 702, 702, 702, 747, 747, 747,
1172 152, 747, 148, 141, 747, 742, 742, 742, 140, 139,
1174 702, 702, 703, 703, 703, 703, 703, 703, 703, 703,
1175 703, 742, 138, 703, 137, 133, 703, 703, 703, 703,
1176 703, 718, 718, 718, 125, 718, 124, 123, 718, 750,
1177 750, 750, 742, 750, 703, 703, 750, 718, 721, 721,
1178 721, 721, 721, 721, 721, 721, 721, 122, 121, 721,
1179 117, 106, 721, 721, 721, 721, 721, 105, 104, 103,
1180 102, 97, 93, 92, 91, 85, 743, 743, 743, 84,
1181 721, 721, 722, 722, 722, 722, 722, 722, 722, 722,
1182 722, 743, 82, 722, 79, 67, 722, 722, 722, 722,
1183 722, 746, 746, 746, 754, 754, 754, 0, 754, 0,
1185 0, 754, 0, 0, 722, 722, 746, 771, 771, 771,
1186 754, 772, 772, 772, 0, 0, 0, 0, 0, 0,
1187 0, 0, 0, 771, 0, 0, 0, 772, 775, 775,
1188 775, 775, 775, 775, 775, 776, 776, 776, 776, 776,
1189 776, 776, 777, 777, 777, 777, 777, 777, 777, 778,
1190 778, 778, 778, 778, 778, 778, 779, 779, 779, 779,
1191 779, 779, 779, 780, 780, 780, 780, 780, 780, 780,
1192 781, 781, 781, 781, 781, 781, 781, 782, 782, 782,
1193 782, 782, 782, 782, 783, 783, 783, 783, 783, 783,
1194 783, 784, 784, 784, 784, 784, 784, 784, 785, 785,
1196 785, 785, 785, 785, 785, 786, 786, 786, 786, 786,
1197 786, 786, 787, 787, 787, 787, 787, 787, 787, 788,
1198 788, 788, 788, 788, 788, 788, 789, 789, 789, 0,
1199 789, 790, 790, 790, 0, 790, 791, 791, 791, 0,
1200 791, 792, 792, 792, 0, 792, 793, 793, 793, 0,
1201 793, 794, 794, 794, 794, 794, 0, 794, 795, 0,
1202 795, 796, 0, 796, 797, 0, 797, 798, 0, 798,
1203 799, 0, 799, 800, 800, 800, 800, 800, 800, 800,
1204 801, 0, 0, 801, 802, 802, 802, 802, 802, 802,
1205 803, 803, 803, 803, 803, 803, 804, 804, 804, 804,
1207 804, 804, 805, 805, 805, 805, 805, 805, 806, 806,
1208 806, 806, 806, 806, 807, 807, 807, 807, 807, 807,
1209 807, 808, 808, 808, 808, 808, 808, 808, 809, 809,
1210 809, 809, 809, 809, 809, 810, 810, 810, 810, 810,
1211 810, 810, 811, 811, 811, 811, 811, 811, 811, 812,
1212 812, 812, 812, 812, 812, 812, 813, 813, 813, 813,
1213 813, 813, 813, 774, 774, 774, 774, 774, 774, 774,
1214 774, 774, 774, 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,
1218 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
1219 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
1223 /* Table of booleans, true if rule could match eol. */
1224 static yyconst flex_int32_t yy_rule_can_match_eol[141] =
1226 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
1227 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
1228 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
1229 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1230 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1,
1231 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0,
1232 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1,
1235 static yy_state_type yy_last_accepting_state;
1236 static char *yy_last_accepting_cpos;
1238 extern int dax__flex_debug;
1239 int dax__flex_debug = 0;
1241 /* The intent behind this definition is that it'll catch
1242 * any uses of REJECT which flex missed.
1244 #define REJECT reject_used_but_not_detected
1245 #define yymore() yymore_used_but_not_detected
1246 #define YY_MORE_ADJ 0
1247 #define YY_RESTORE_YY_MORE_OFFSET
1249 /* Validating XML processor for src/simdag/dax.dtd.
1251 * This program was generated with the FleXML XML processor generator.
1252 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
1253 * FleXML is Copyright (C) 2003-2011 Martin Quinson. All rights reserved.
1254 * (Id: flexml.pl,v 1.67 2011/11/01 20:49:21 mquinson Exp).
1256 * There are two, intertwined parts to this program, part A and part B.
1261 * Some parts, here collectively called "Part A", are found in the
1262 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
1263 * and Copyright (C) 2003-2011 Martin Quinson. All rights reserved.
1265 * You can redistribute, use, perform, display and/or modify "Part A"
1266 * provided the following two conditions hold:
1268 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
1269 * FleXML; without even the implied warranty of MERCHANTABILITY or
1270 * FITNESS FOR A PARTICULAR PURPOSE.
1272 * 2. The program distribution conditions do not in any way affect the
1273 * distribution conditions of the FleXML system used to generate this
1274 * file or any version of FleXML derived from that system.
1276 * Notice that these are explicit rights granted to you for files
1277 * generated by the FleXML system. For your rights in connection with
1278 * the FleXML system itself please consult the GNU General Public License.
1283 * The other parts, here collectively called "Part B", and which came
1284 * from the DTD used by FleXML to generate this program, can be
1285 * distributed (or not, as the case may be) under the terms of whoever
1286 * wrote them, provided these terms respect and obey the two conditions
1287 * above under the heading "Part A".
1289 * The author of and contributors to FleXML specifically disclaim
1290 * any copyright interest in "Part B", unless "Part B" was written
1291 * by the author of or contributors to FleXML.
1295 /* Version strings. */
1296 const char rcs_dax__flexml_skeleton[] =
1297 "$" "Id: skel,v 1.40 2007/10/11 09:57:24 mquinson Exp $";
1298 const char rcs_dax__flexml[] =
1299 "$" "Id: flexml.pl,v 1.67 2011/11/01 20:49:21 mquinson Exp $";
1302 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
1309 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
1310 # ifndef __STRICT_ANSI__
1312 # include <process.h>
1315 # include <unistd.h>
1318 #ifndef FLEXML_INDEXSTACKSIZE
1319 #define FLEXML_INDEXSTACKSIZE 1000
1322 /* Generated definitions. */
1323 #define FLEXML_yylineno
1324 #ifndef FLEXML_BUFFERSTACKSIZE
1325 #define FLEXML_BUFFERSTACKSIZE 1000000
1327 #define FLEXML_NEED_BUFFERLIT
1329 /* XML processor api. */
1330 /* FleXML-provided data. */
1332 extern char *dax__bufferstack;
1333 #define dax__pcdata (dax__bufferstack + dax__pcdata_ix)
1334 AT_dax__adag_version AX_dax__adag_version;
1335 #define A_dax__adag_version (dax__bufferstack + AX_dax__adag_version)
1336 short int dax__adag_version_isset;
1337 AT_dax__uses_type AX_dax__uses_type;
1338 #define A_dax__uses_type (dax__bufferstack + AX_dax__uses_type)
1339 short int dax__uses_type_isset;
1340 AT_dax__uses_optional AX_dax__uses_optional;
1341 #define A_dax__uses_optional AX_dax__uses_optional
1342 short int dax__uses_optional_isset;
1343 AT_dax__adag_name AX_dax__adag_name;
1344 #define A_dax__adag_name (dax__bufferstack + AX_dax__adag_name)
1345 short int dax__adag_name_isset;
1346 AT_dax__child_ref AX_dax__child_ref;
1347 #define A_dax__child_ref (dax__bufferstack + AX_dax__child_ref)
1348 short int dax__child_ref_isset;
1349 AT_dax__adag_xmlns AX_dax__adag_xmlns;
1350 #define A_dax__adag_xmlns (dax__bufferstack + AX_dax__adag_xmlns)
1351 short int dax__adag_xmlns_isset;
1352 AT_dax__uses_transfer AX_dax__uses_transfer;
1353 #define A_dax__uses_transfer AX_dax__uses_transfer
1354 short int dax__uses_transfer_isset;
1355 AT_dax__job_id AX_dax__job_id;
1356 #define A_dax__job_id (dax__bufferstack + AX_dax__job_id)
1357 short int dax__job_id_isset;
1358 AT_dax__uses_file AX_dax__uses_file;
1359 #define A_dax__uses_file (dax__bufferstack + AX_dax__uses_file)
1360 short int dax__uses_file_isset;
1361 AT_dax__parent_ref AX_dax__parent_ref;
1362 #define A_dax__parent_ref (dax__bufferstack + AX_dax__parent_ref)
1363 short int dax__parent_ref_isset;
1364 AT_dax__adag_count AX_dax__adag_count;
1365 #define A_dax__adag_count (dax__bufferstack + AX_dax__adag_count)
1366 short int dax__adag_count_isset;
1367 AT_dax__adag_xmlns_c_xsi AX_dax__adag_xmlns_c_xsi;
1368 #define A_dax__adag_xmlns_c_xsi (dax__bufferstack + AX_dax__adag_xmlns_c_xsi)
1369 short int dax__adag_xmlns_c_xsi_isset;
1370 AT_dax__adag_index AX_dax__adag_index;
1371 #define A_dax__adag_index (dax__bufferstack + AX_dax__adag_index)
1372 short int dax__adag_index_isset;
1373 AT_dax__uses_size AX_dax__uses_size;
1374 #define A_dax__uses_size (dax__bufferstack + AX_dax__uses_size)
1375 short int dax__uses_size_isset;
1376 AT_dax__adag_childCount AX_dax__adag_childCount;
1377 #define A_dax__adag_childCount (dax__bufferstack + AX_dax__adag_childCount)
1378 short int dax__adag_childCount_isset;
1379 AT_dax__uses_link AX_dax__uses_link;
1380 #define A_dax__uses_link AX_dax__uses_link
1381 short int dax__uses_link_isset;
1382 AT_dax__job_runtime AX_dax__job_runtime;
1383 #define A_dax__job_runtime (dax__bufferstack + AX_dax__job_runtime)
1384 short int dax__job_runtime_isset;
1385 AT_dax__job_level AX_dax__job_level;
1386 #define A_dax__job_level (dax__bufferstack + AX_dax__job_level)
1387 short int dax__job_level_isset;
1388 AT_dax__job_namespace AX_dax__job_namespace;
1389 #define A_dax__job_namespace (dax__bufferstack + AX_dax__job_namespace)
1390 short int dax__job_namespace_isset;
1391 AT_dax__job_name AX_dax__job_name;
1392 #define A_dax__job_name (dax__bufferstack + AX_dax__job_name)
1393 short int dax__job_name_isset;
1394 AT_dax__adag_jobCount AX_dax__adag_jobCount;
1395 #define A_dax__adag_jobCount (dax__bufferstack + AX_dax__adag_jobCount)
1396 short int dax__adag_jobCount_isset;
1397 AT_dax__job_version AX_dax__job_version;
1398 #define A_dax__job_version (dax__bufferstack + AX_dax__job_version)
1399 short int dax__job_version_isset;
1400 AT_dax__adag_xsi_c_schemaLocation AX_dax__adag_xsi_c_schemaLocation;
1401 #define A_dax__adag_xsi_c_schemaLocation (dax__bufferstack + AX_dax__adag_xsi_c_schemaLocation)
1402 short int dax__adag_xsi_c_schemaLocation_isset;
1403 AT_dax__uses_register AX_dax__uses_register;
1404 #define A_dax__uses_register AX_dax__uses_register
1405 short int dax__uses_register_isset;
1406 AT_dax__adag_fileCount AX_dax__adag_fileCount;
1407 #define A_dax__adag_fileCount (dax__bufferstack + AX_dax__adag_fileCount)
1408 short int dax__adag_fileCount_isset;
1412 # define ENTER(state) debug_enter(state,#state)
1413 # define LEAVE debug_leave()
1414 # define SET(state) debug_set(state,#state)
1415 static void debug_enter(int, const char*);
1416 static void debug_leave(void);
1417 static void debug_set(int, const char*);
1419 # define ENTER(state) (yy_push_state(state))
1420 # define LEAVE (yy_pop_state())
1421 # define SET(state) BEGIN(state)
1424 /* Generic actions. */
1425 #define SKIP /*skip*/
1426 #define SUCCEED CLEANUP; return 0
1428 #define FAIL return fail
1429 static int fail(const char*, ...);
1431 enum {flexml_max_err_msg_size = 512};
1432 static char flexml_err_msg[flexml_max_err_msg_size];
1433 const char * dax__parse_err_msg()
1435 return flexml_err_msg;
1437 static void reset_dax__parse_err_msg()
1439 flexml_err_msg[0] = '\0';
1443 static void cleanup(void);
1444 #define CLEANUP cleanup()
1446 /* Text buffer stack handling. */
1447 char *dax__bufferstack = NULL;
1448 static int blimit = FLEXML_BUFFERSTACKSIZE;
1449 static int bnext = 1;
1451 static int *indexstack = NULL;
1452 static int ilimit = FLEXML_INDEXSTACKSIZE;
1453 static int inext = 1;
1455 #define BUFFERSET(P) (P = bnext)
1456 #define BUFFERPUTC(C) (ck_blimit(), dax__bufferstack[bnext++] = (C))
1457 #define BUFFERDONE (BUFFERPUTC('\0'))
1459 #define BUFFERLITERAL(C, P) dax__bufferliteral(C, &(P), dax_text)
1461 /* after this is called, there are at least 2 slots left in the stack */
1462 static int ck_blimit()
1464 if (bnext >= blimit) {
1465 blimit += FLEXML_BUFFERSTACKSIZE + 2;
1467 char *temp = (char *) realloc(dax__bufferstack, blimit);
1469 dax__bufferstack = temp;
1475 /* after this is called, there are at least 2 slots left in the stack */
1476 static int ck_ilimit()
1478 if (inext >= ilimit) {
1479 ilimit += FLEXML_INDEXSTACKSIZE + 2;
1481 int *temp = (int *) realloc(indexstack, ilimit);
1489 #ifdef FLEXML_NEED_BUFFERLIT
1490 static void dax__bufferliteral(char c, int* pp, const char* text)
1492 const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c);
1493 assert(s <= e); BUFFERSET(*pp);
1495 if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
1496 else BUFFERPUTC(*s);
1502 static void pushbuffer(int p)
1505 indexstack[inext++] = p;
1506 indexstack[inext++] = bnext;
1509 static int popbuffer(void)
1512 bnext = indexstack[--inext];
1513 return indexstack[--inext];
1516 /* General internal entities are `unput' back onto the input stream... */
1517 #define ENTITYTEXT(T) \
1518 { char *s = (T), *e = s+strlen(s);\
1519 while (--e >= s) { unput(*e); }}
1521 /* Flex standard options. */
1522 #define YY_NO_INPUT 1
1523 /* Flex user-requested options. */
1524 /* XML character classes (currently restricted to ASCII). */
1525 /* "Common syntactic structures." */
1526 /* "Names and Tokens." */
1527 /* Miscellaneous. */
1528 /* Parser states (flex `exclusive start conditions'):
1530 * PROLOG the XML prolog of the document before <?xml...>
1531 * DOCTYPE the XML prolog of the document after <?xml...>
1532 * EPILOG after the root element
1533 * INCOMMENT inside an XML comment <!--....-->
1534 * INPI inside an XML PI <?...?>
1535 * VALUE1 inside a '...'-delimited literal
1536 * VALUE2 inside a "..."-delimited literal
1537 * CDATA inside a <![CDATA[...] ]> section.
1538 * ROOT_<tag> expect root element <tag>
1539 * AL_<tag> inside the attribute list for <tag>
1540 * IN_<tag> inside a <tag> with element contents (ready for end tag)
1541 * IMPOSSIBLE dummy to permit disabling rules; must be last
1545 const char* *dax__statenames=NULL;
1556 #define ROOT_dax__adag 9
1557 #define AL_dax__adag 10
1558 #define S_dax__adag 11
1559 #define S_dax__adag_1 12
1560 #define S_dax__adag_2 13
1561 #define S_dax__adag_3 14
1562 #define S_dax__adag_4 15
1563 #define S_dax__adag_5 16
1564 #define E_dax__adag 17
1565 #define AL_dax__job 18
1566 #define S_dax__job 19
1567 #define S_dax__job_1 20
1568 #define S_dax__job_2 21
1569 #define E_dax__job 22
1570 #define AL_dax__uses 23
1571 #define E_dax__uses 24
1572 #define AL_dax__child 25
1573 #define S_dax__child 26
1574 #define S_dax__child_1 27
1575 #define S_dax__child_2 28
1576 #define E_dax__child 29
1577 #define AL_dax__parent 30
1578 #define E_dax__parent 31
1579 #define IMPOSSIBLE 32
1581 #ifndef YY_NO_UNISTD_H
1582 /* Special case for "unistd.h", since it is non-ANSI. We include it way
1583 * down here because we want the user's section 1 to have been scanned first.
1584 * The user has a chance to override it with an option.
1586 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
1587 # ifndef __STRICT_ANSI__
1589 # include <process.h>
1592 # include <unistd.h>
1596 #ifndef YY_EXTRA_TYPE
1597 #define YY_EXTRA_TYPE void *
1600 static int yy_init_globals (void );
1602 /* Accessor methods to globals.
1603 These are made visible to non-reentrant scanners for convenience. */
1605 int dax_lex_destroy (void );
1607 int dax_get_debug (void );
1609 void dax_set_debug (int debug_flag );
1611 YY_EXTRA_TYPE dax_get_extra (void );
1613 void dax_set_extra (YY_EXTRA_TYPE user_defined );
1615 FILE *dax_get_in (void );
1617 void dax_set_in (FILE * in_str );
1619 FILE *dax_get_out (void );
1621 void dax_set_out (FILE * out_str );
1623 int dax_get_leng (void );
1625 char *dax_get_text (void );
1627 int dax_get_lineno (void );
1629 void dax_set_lineno (int line_number );
1631 /* Macros after this point can all be overridden by user definitions in
1635 #ifndef YY_SKIP_YYWRAP
1637 extern "C" int dax_wrap (void );
1639 extern int dax_wrap (void );
1644 static void yy_flex_strncpy (char *,yyconst char *,int );
1647 #ifdef YY_NEED_STRLEN
1648 static int yy_flex_strlen (yyconst char * );
1654 static int yyinput (void );
1656 static int input (void );
1661 static int yy_start_stack_ptr = 0;
1662 static int yy_start_stack_depth = 0;
1663 static int *yy_start_stack = NULL;
1665 static void yy_push_state (int new_state );
1667 static void yy_pop_state (void );
1669 /* Amount of stuff to slurp up with each read. */
1670 #ifndef YY_READ_BUF_SIZE
1671 #define YY_READ_BUF_SIZE 8192
1674 /* Copy whatever the last rule matched to the standard output. */
1676 /* This used to be an fputs(), but since the string might contain NUL's,
1677 * we now use fwrite().
1679 #define ECHO do { if (fwrite( dax_text, dax_leng, 1, dax_out )) {} } while (0)
1682 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1683 * is returned in "result".
1686 #define YY_INPUT(buf,result,max_size) \
1687 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1691 for ( n = 0; n < max_size && \
1692 (c = getc( dax_in )) != EOF && c != '\n'; ++n ) \
1693 buf[n] = (char) c; \
1695 buf[n++] = (char) c; \
1696 if ( c == EOF && ferror( dax_in ) ) \
1697 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1703 while ( (result = fread(buf, 1, max_size, dax_in))==0 && ferror(dax_in)) \
1705 if( errno != EINTR) \
1707 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1718 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1719 * we don't want an extra ';' after the "return" because that will cause
1720 * some compilers to complain about unreachable statements.
1723 #define yyterminate() return YY_NULL
1726 /* Number of entries by which start-condition stack grows. */
1727 #ifndef YY_START_STACK_INCR
1728 #define YY_START_STACK_INCR 25
1731 /* Report a fatal error. */
1732 #ifndef YY_FATAL_ERROR
1733 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1736 /* end tables serialization structures and prototypes */
1738 /* Default declaration of generated scanner - a define so the user can
1739 * easily add parameters.
1742 #define YY_DECL_IS_OURS 1
1744 extern int dax_lex (void);
1746 #define YY_DECL int dax_lex (void)
1747 #endif /* !YY_DECL */
1749 /* Code executed at the beginning of each rule, after dax_text and dax_leng
1752 #ifndef YY_USER_ACTION
1753 #define YY_USER_ACTION
1756 /* Code executed at the end of each rule. */
1758 #define YY_BREAK break;
1761 #define YY_RULE_SETUP \
1764 /** The main scanner function which does all the work.
1768 register yy_state_type yy_current_state;
1769 register char *yy_cp, *yy_bp;
1770 register int yy_act;
1772 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
1774 reset_dax__parse_err_msg();
1775 dax__bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
1776 assert(dax__bufferstack);
1780 for (i = 0; i < blimit; i++) {
1781 dax__bufferstack[i] = '\377';
1785 dax__bufferstack[0] = '\0';
1786 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
1792 dax__bufferliteral('\0', &bnext, "http://pegasus.isi.edu/schema/DAX");
1793 dax__bufferliteral('\0', &bnext, "http://www.w3.org/2001/XMLSchema-instance");
1794 dax__bufferliteral('\0', &bnext, "http://pegasus.isi.edu/schema/DAX http://pegasus.isi.edu/schema/dax-2.1.xsd");
1795 dax__bufferliteral('\0', &bnext, "1.0");
1796 dax__bufferliteral('\0', &bnext, "0.0");
1797 dax__bufferliteral('\0', &bnext, "data");
1798 if(!dax__statenames) {dax__statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
1799 dax__statenames[PROLOG] = NULL;
1800 dax__statenames[DOCTYPE] = NULL;
1801 dax__statenames[EPILOG] = NULL;
1802 dax__statenames[INCOMMENT] = NULL;
1803 dax__statenames[INPI] = NULL;
1804 dax__statenames[VALUE1] = NULL;
1805 dax__statenames[VALUE2] = NULL;
1806 dax__statenames[CDATA] = NULL;
1807 dax__statenames[ROOT_dax__adag] = NULL;
1808 dax__statenames[AL_dax__adag] = NULL;
1809 dax__statenames[S_dax__adag] = "adag";
1810 dax__statenames[S_dax__adag_1] = "adag";
1811 dax__statenames[S_dax__adag_2] = "adag";
1812 dax__statenames[S_dax__adag_3] = "adag";
1813 dax__statenames[S_dax__adag_4] = "adag";
1814 dax__statenames[S_dax__adag_5] = "adag";
1815 dax__statenames[E_dax__adag] = "adag";
1816 dax__statenames[AL_dax__job] = NULL;
1817 dax__statenames[S_dax__job] = "job";
1818 dax__statenames[S_dax__job_1] = "job";
1819 dax__statenames[S_dax__job_2] = "job";
1820 dax__statenames[E_dax__job] = "job";
1821 dax__statenames[AL_dax__uses] = NULL;
1822 dax__statenames[E_dax__uses] = "uses";
1823 dax__statenames[AL_dax__child] = NULL;
1824 dax__statenames[S_dax__child] = "child";
1825 dax__statenames[S_dax__child_1] = "child";
1826 dax__statenames[S_dax__child_2] = "child";
1827 dax__statenames[E_dax__child] = "child";
1828 dax__statenames[AL_dax__parent] = NULL;
1829 dax__statenames[E_dax__parent] = "parent";
1832 /* COMMENTS and PIs: handled uniformly for efficiency. */
1843 (yy_start) = 1; /* first start state */
1851 if ( ! YY_CURRENT_BUFFER ) {
1852 dax_ensure_buffer_stack ();
1853 YY_CURRENT_BUFFER_LVALUE =
1854 dax__create_buffer(dax_in,YY_BUF_SIZE );
1857 dax__load_buffer_state( );
1860 while ( 1 ) /* loops until end-of-file is reached */
1862 yy_cp = (yy_c_buf_p);
1864 /* Support of dax_text. */
1865 *yy_cp = (yy_hold_char);
1867 /* yy_bp points to the position in yy_ch_buf of the start of
1872 yy_current_state = (yy_start);
1876 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1877 if ( yy_accept[yy_current_state] )
1879 (yy_last_accepting_state) = yy_current_state;
1880 (yy_last_accepting_cpos) = yy_cp;
1882 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1884 yy_current_state = (int) yy_def[yy_current_state];
1885 if ( yy_current_state >= 775 )
1886 yy_c = yy_meta[(unsigned int) yy_c];
1888 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1891 while ( yy_base[yy_current_state] != 2164 );
1894 yy_act = yy_accept[yy_current_state];
1896 { /* have to back up */
1897 yy_cp = (yy_last_accepting_cpos);
1898 yy_current_state = (yy_last_accepting_state);
1899 yy_act = yy_accept[yy_current_state];
1902 YY_DO_BEFORE_ACTION;
1904 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
1907 for ( yyl = 0; yyl < dax_leng; ++yyl )
1908 if ( dax_text[yyl] == '\n' )
1914 do_action: /* This label is used only to access EOF actions. */
1917 { /* beginning of action switch */
1918 case 0: /* must back up */
1919 /* undo the effects of YY_DO_BEFORE_ACTION */
1920 *yy_cp = (yy_hold_char);
1921 yy_cp = (yy_last_accepting_cpos);
1922 yy_current_state = (yy_last_accepting_state);
1923 goto yy_find_action;
1941 /* rule 6 can match eol */
1945 case YY_STATE_EOF(INCOMMENT):
1946 FAIL("EOF in comment.");
1955 /* rule 9 can match eol */
1959 case YY_STATE_EOF(INPI):
1960 FAIL("EOF in PI (processing instruction).");
1963 /* SPACES: skipped uniformly */
1965 /* rule 10 can match eol */
1969 /* PROLOG: determine root element and process it. */
1972 /* rule 11 can match eol */
1974 SET(ROOT_dax__adag);
1977 /* rule 12 can match eol */
1979 FAIL("Bad declaration %s.",dax_text);
1983 /* rule 13 can match eol */
1985 SET(ROOT_dax__adag);
1988 /* rule 14 can match eol */
1990 FAIL("Bad declaration %s.",dax_text);
1994 FAIL("Unexpected character `%c' in prolog.", dax_text[0]);
1996 case YY_STATE_EOF(PROLOG):
1997 case YY_STATE_EOF(DOCTYPE):
1998 FAIL("EOF in prolog.");
2001 /* RULES DERIVED FROM DTD. */
2002 /* <!-- Small DTD for DAX files. --> */
2004 /* rule 16 can match eol */
2006 FAIL("Starting tag <adag> is not allowed here.");
2009 /* rule 17 can match eol */
2012 AX_dax__adag_xmlns = 1;
2013 dax__adag_xmlns_isset = 0;
2014 AX_dax__adag_xmlns_c_xsi = 35;
2015 dax__adag_xmlns_c_xsi_isset = 0;
2016 AX_dax__adag_xsi_c_schemaLocation = 77;
2017 dax__adag_xsi_c_schemaLocation_isset = 0;
2018 AX_dax__adag_version = 153;
2019 dax__adag_version_isset = 0;
2020 AX_dax__adag_count = 0;
2021 dax__adag_count_isset = 0;
2022 AX_dax__adag_index = 0;
2023 dax__adag_index_isset = 0;
2024 AX_dax__adag_name = 0;
2025 dax__adag_name_isset = 0;
2026 AX_dax__adag_jobCount = 0;
2027 dax__adag_jobCount_isset = 0;
2028 AX_dax__adag_fileCount = 0;
2029 dax__adag_fileCount_isset = 0;
2030 AX_dax__adag_childCount = 0;
2031 dax__adag_childCount_isset = 0;
2032 ENTER(AL_dax__adag); pushbuffer(0);
2037 /* rule 18 can match eol */
2039 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);
2042 /* rule 19 can match eol */
2044 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);
2047 /* rule 20 can match eol */
2049 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);
2052 /* rule 21 can match eol */
2054 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);
2057 /* rule 22 can match eol */
2059 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);
2062 /* rule 23 can match eol */
2064 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);
2067 /* rule 24 can match eol */
2069 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);
2072 /* rule 25 can match eol */
2074 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);
2077 /* rule 26 can match eol */
2079 if (dax__adag_count_isset != 0) {FAIL("Multiple definition of attribute count in <dax__adag>");} dax__adag_count_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__adag_count);
2082 /* rule 27 can match eol */
2084 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);
2087 /* rule 28 can match eol */
2089 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);
2092 /* rule 29 can match eol */
2094 if (dax__adag_index_isset != 0) {FAIL("Multiple definition of attribute index in <dax__adag>");} dax__adag_index_isset = 1; ENTER(VALUE2); BUFFERSET(AX_dax__adag_index);
2097 /* rule 30 can match eol */
2099 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);
2102 /* rule 31 can match eol */
2104 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);
2107 /* rule 32 can match eol */
2109 if (dax__adag_jobCount_isset != 0) {FAIL("Multiple definition of attribute jobCount in <dax__adag>");} dax__adag_jobCount_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__adag_jobCount);
2112 /* rule 33 can match eol */
2114 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);
2117 /* rule 34 can match eol */
2119 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);
2122 /* rule 35 can match eol */
2124 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);
2127 /* rule 36 can match eol */
2129 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);
2132 /* rule 37 can match eol */
2134 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);
2139 LEAVE; STag_dax__adag();dax__pcdata_ix = 0; ENTER(S_dax__adag);
2145 LEAVE; STag_dax__adag(); dax__pcdata_ix = 0; ETag_dax__adag(); popbuffer(); /* attribute */
2147 case ROOT_dax__adag: SET(EPILOG); break;
2153 FAIL("Unexpected character `%c' in attribute list of adag element.", dax_text[0]);
2157 FAIL("Bad attribute `%s' in `adag' element start tag.",dax_text);
2159 case YY_STATE_EOF(AL_dax__adag):
2160 FAIL("EOF in attribute list of `adag' element.");
2164 /* rule 42 can match eol */
2169 popbuffer(); /* attribute */
2171 case ROOT_dax__adag: SET(EPILOG); break;
2176 /* rule 43 can match eol */
2178 FAIL("Unexpected end-tag `%s': `</adag>' expected.",dax_text);
2182 FAIL("Unexpected character `%c': `</adag>' expected.",dax_text[0]);
2184 case YY_STATE_EOF(S_dax__adag_1):
2185 case YY_STATE_EOF(S_dax__adag_5):
2186 case YY_STATE_EOF(E_dax__adag):
2187 case YY_STATE_EOF(S_dax__adag_3):
2188 case YY_STATE_EOF(S_dax__adag):
2189 FAIL("Premature EOF: `</adag>' expected.");
2193 /* rule 45 can match eol */
2195 FAIL("Starting tag <job> is not allowed here.");
2198 /* rule 46 can match eol */
2202 dax__job_id_isset = 0;
2203 AX_dax__job_namespace = 0;
2204 dax__job_namespace_isset = 0;
2205 AX_dax__job_name = 0;
2206 dax__job_name_isset = 0;
2207 AX_dax__job_version = 157;
2208 dax__job_version_isset = 0;
2209 AX_dax__job_runtime = 0;
2210 dax__job_runtime_isset = 0;
2211 AX_dax__job_level = 0;
2212 dax__job_level_isset = 0;
2213 ENTER(AL_dax__job); pushbuffer(0);
2218 /* rule 47 can match eol */
2220 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);
2223 /* rule 48 can match eol */
2225 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);
2228 /* rule 49 can match eol */
2230 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);
2233 /* rule 50 can match eol */
2235 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);
2238 /* rule 51 can match eol */
2240 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);
2243 /* rule 52 can match eol */
2245 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);
2248 /* rule 53 can match eol */
2250 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);
2253 /* rule 54 can match eol */
2255 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);
2258 /* rule 55 can match eol */
2260 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);
2263 /* rule 56 can match eol */
2265 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);
2268 /* rule 57 can match eol */
2270 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);
2273 /* rule 58 can match eol */
2275 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);
2280 if (!AX_dax__job_id) FAIL("Required attribute `id' not set for `job' element.");
2281 if (!AX_dax__job_name) FAIL("Required attribute `name' not set for `job' element.");
2282 if (!AX_dax__job_runtime) FAIL("Required attribute `runtime' not set for `job' element.");
2283 LEAVE; STag_dax__job();dax__pcdata_ix = 0; ENTER(S_dax__job);
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; ETag_dax__job(); popbuffer(); /* attribute */
2294 case S_dax__adag_2: case S_dax__adag_3: case S_dax__adag: SET(S_dax__adag_3); break;
2300 FAIL("Unexpected character `%c' in attribute list of job element.", dax_text[0]);
2304 FAIL("Bad attribute `%s' in `job' element start tag.",dax_text);
2306 case YY_STATE_EOF(AL_dax__job):
2307 FAIL("EOF in attribute list of `job' element.");
2311 /* rule 63 can match eol */
2316 popbuffer(); /* attribute */
2318 case S_dax__adag_2: case S_dax__adag_3: case S_dax__adag: SET(S_dax__adag_3); break;
2323 /* rule 64 can match eol */
2325 FAIL("Unexpected end-tag `%s': `</job>' expected.",dax_text);
2329 FAIL("Unexpected character `%c': `</job>' expected.",dax_text[0]);
2331 case YY_STATE_EOF(S_dax__job):
2332 case YY_STATE_EOF(E_dax__job):
2333 case YY_STATE_EOF(S_dax__job_2):
2334 FAIL("Premature EOF: `</job>' expected.");
2338 * <!-- ignored --> */
2340 /* rule 66 can match eol */
2342 FAIL("Starting tag <uses> is not allowed here.");
2345 /* rule 67 can match eol */
2348 AX_dax__uses_file = 0;
2349 dax__uses_file_isset = 0;
2350 AX_dax__uses_link = AU_dax__uses_link;
2351 dax__uses_link_isset = 0;
2352 AX_dax__uses_register = A_dax__uses_register_true;
2353 dax__uses_register_isset = 0;
2354 AX_dax__uses_transfer = A_dax__uses_transfer_true;
2355 dax__uses_transfer_isset = 0;
2356 AX_dax__uses_optional = A_dax__uses_optional_false;
2357 dax__uses_optional_isset = 0;
2358 AX_dax__uses_type = 161;
2359 dax__uses_type_isset = 0;
2360 AX_dax__uses_size = 0;
2361 dax__uses_size_isset = 0;
2362 ENTER(AL_dax__uses); pushbuffer(0);
2367 /* rule 68 can match eol */
2369 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);
2372 /* rule 69 can match eol */
2374 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);
2377 /* rule 70 can match eol */
2379 /* rule 71 can match eol */
2381 A_dax__uses_link = A_dax__uses_link_input;
2384 /* rule 72 can match eol */
2386 /* rule 73 can match eol */
2388 A_dax__uses_link = A_dax__uses_link_output;
2391 /* rule 74 can match eol */
2393 /* rule 75 can match eol */
2395 A_dax__uses_register = A_dax__uses_register_false;
2398 /* rule 76 can match eol */
2400 /* rule 77 can match eol */
2402 A_dax__uses_register = A_dax__uses_register_true;
2405 /* rule 78 can match eol */
2407 /* rule 79 can match eol */
2409 A_dax__uses_transfer = A_dax__uses_transfer_false;
2412 /* rule 80 can match eol */
2414 /* rule 81 can match eol */
2416 A_dax__uses_transfer = A_dax__uses_transfer_true;
2419 /* rule 82 can match eol */
2421 /* rule 83 can match eol */
2423 A_dax__uses_optional = A_dax__uses_optional_false;
2426 /* rule 84 can match eol */
2428 /* rule 85 can match eol */
2430 A_dax__uses_optional = A_dax__uses_optional_true;
2433 /* rule 86 can match eol */
2435 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);
2438 /* rule 87 can match eol */
2440 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);
2443 /* rule 88 can match eol */
2445 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);
2448 /* rule 89 can match eol */
2450 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);
2455 if (!AX_dax__uses_file) FAIL("Required attribute `file' not set for `uses' element.");
2456 if (!AX_dax__uses_size) FAIL("Required attribute `size' not set for `uses' element.");
2457 LEAVE; STag_dax__uses();dax__pcdata_ix = 0; ENTER(E_dax__uses);
2463 if (!AX_dax__uses_file) FAIL("Required attribute `file' not set for `uses' element.");
2464 if (!AX_dax__uses_size) FAIL("Required attribute `size' not set for `uses' element.");
2465 LEAVE; STag_dax__uses(); dax__pcdata_ix = 0; ETag_dax__uses(); popbuffer(); /* attribute */
2467 case S_dax__job: case S_dax__job_2: case S_dax__job_1: SET(S_dax__job_2); break;
2473 FAIL("Unexpected character `%c' in attribute list of uses element.", dax_text[0]);
2477 FAIL("Bad attribute `%s' in `uses' element start tag.",dax_text);
2479 case YY_STATE_EOF(AL_dax__uses):
2480 FAIL("EOF in attribute list of `uses' element.");
2484 /* rule 94 can match eol */
2489 popbuffer(); /* attribute */
2491 case S_dax__job: case S_dax__job_2: case S_dax__job_1: SET(S_dax__job_2); break;
2496 /* rule 95 can match eol */
2498 FAIL("Unexpected end-tag `%s': `</uses>' expected.",dax_text);
2502 FAIL("Unexpected character `%c': `</uses>' expected.",dax_text[0]);
2504 case YY_STATE_EOF(E_dax__uses):
2505 FAIL("Premature EOF: `</uses>' expected.");
2509 /* rule 97 can match eol */
2511 FAIL("Starting tag <child> is not allowed here.");
2514 /* rule 98 can match eol */
2517 AX_dax__child_ref = 0;
2518 dax__child_ref_isset = 0;
2519 ENTER(AL_dax__child); pushbuffer(0);
2524 /* rule 99 can match eol */
2526 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);
2529 /* rule 100 can match eol */
2531 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);
2536 if (!AX_dax__child_ref) FAIL("Required attribute `ref' not set for `child' element.");
2537 LEAVE; STag_dax__child();dax__pcdata_ix = 0; ENTER(S_dax__child);
2543 if (!AX_dax__child_ref) FAIL("Required attribute `ref' not set for `child' element.");
2544 LEAVE; STag_dax__child(); dax__pcdata_ix = 0; ETag_dax__child(); popbuffer(); /* attribute */
2546 case S_dax__adag_1: case S_dax__adag_4: case S_dax__adag_5: case S_dax__adag_3: case S_dax__adag: SET(S_dax__adag_5); break;
2552 FAIL("Unexpected character `%c' in attribute list of child element.", dax_text[0]);
2556 FAIL("Bad attribute `%s' in `child' element start tag.",dax_text);
2558 case YY_STATE_EOF(AL_dax__child):
2559 FAIL("EOF in attribute list of `child' element.");
2563 /* rule 105 can match eol */
2568 popbuffer(); /* attribute */
2570 case S_dax__adag_1: case S_dax__adag_4: case S_dax__adag_5: case S_dax__adag_3: case S_dax__adag: SET(S_dax__adag_5); break;
2575 /* rule 106 can match eol */
2577 FAIL("Unexpected end-tag `%s': `</child>' expected.",dax_text);
2581 FAIL("Unexpected character `%c': `</child>' expected.",dax_text[0]);
2583 case YY_STATE_EOF(S_dax__child_2):
2584 case YY_STATE_EOF(E_dax__child):
2585 case YY_STATE_EOF(S_dax__child):
2586 FAIL("Premature EOF: `</child>' expected.");
2590 /* rule 108 can match eol */
2592 FAIL("Starting tag <parent> is not allowed here.");
2595 /* rule 109 can match eol */
2598 AX_dax__parent_ref = 0;
2599 dax__parent_ref_isset = 0;
2600 ENTER(AL_dax__parent); pushbuffer(0);
2605 /* rule 110 can match eol */
2607 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);
2610 /* rule 111 can match eol */
2612 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);
2617 if (!AX_dax__parent_ref) FAIL("Required attribute `ref' not set for `parent' element.");
2618 LEAVE; STag_dax__parent();dax__pcdata_ix = 0; ENTER(E_dax__parent);
2624 if (!AX_dax__parent_ref) FAIL("Required attribute `ref' not set for `parent' element.");
2625 LEAVE; STag_dax__parent(); dax__pcdata_ix = 0; ETag_dax__parent(); popbuffer(); /* attribute */
2627 case S_dax__child_2: case S_dax__child: case S_dax__child_1: SET(S_dax__child_2); break;
2633 FAIL("Unexpected character `%c' in attribute list of parent element.", dax_text[0]);
2637 FAIL("Bad attribute `%s' in `parent' element start tag.",dax_text);
2639 case YY_STATE_EOF(AL_dax__parent):
2640 FAIL("EOF in attribute list of `parent' element.");
2644 /* rule 116 can match eol */
2649 popbuffer(); /* attribute */
2651 case S_dax__child_2: case S_dax__child: case S_dax__child_1: SET(S_dax__child_2); break;
2656 /* rule 117 can match eol */
2658 FAIL("Unexpected end-tag `%s': `</parent>' expected.",dax_text);
2662 FAIL("Unexpected character `%c': `</parent>' expected.",dax_text[0]);
2664 case YY_STATE_EOF(E_dax__parent):
2665 FAIL("Premature EOF: `</parent>' expected.");
2668 /* EPILOG: after the root element. */
2672 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
2674 case YY_STATE_EOF(EPILOG):
2678 /* CHARACTER DATA. */
2680 /* Non-defined standard entities... */
2701 /* Character entities. */
2704 BUFFERPUTC((unsigned char)atoi(dax_text+2));
2708 BUFFERPUTC((unsigned char)strtol(dax_text+3,NULL,16));
2712 /* rule 127 can match eol */
2714 /* rule 128 can match eol */
2716 /* rule 129 can match eol */
2718 /* rule 130 can match eol */
2729 FAIL("Unexpected `]""]>' in character data.");
2736 case YY_STATE_EOF(VALUE1):
2737 FAIL("EOF in literal (\"'\" expected).");
2744 case YY_STATE_EOF(VALUE2):
2745 FAIL("EOF in literal (`\"' expected).");
2749 /* rule 135 can match eol */
2751 BUFFERPUTC(dax_text[0]);
2755 FAIL("Spurious `%c' in character data.",dax_text[0]);
2762 /* "]""]" BUFFERPUTC(dax_text[0]); BUFFERPUTC(dax_text[1]); */
2765 BUFFERPUTC(dax_text[0]);
2767 case YY_STATE_EOF(CDATA):
2768 FAIL("EOF in CDATA section.");
2771 /* Impossible rules to avoid warnings from flex(1). */
2772 /* Ideally, this should be replaced by code in flexml.pl that
2773 generates just the states not covered by other rules. */
2776 /* rule 139 can match eol */
2778 FAIL("Syntax error on character `%c'.", dax_text[0]);
2785 case YY_STATE_EOF(INITIAL):
2786 case YY_STATE_EOF(ROOT_dax__adag):
2787 case YY_STATE_EOF(S_dax__adag_2):
2788 case YY_STATE_EOF(S_dax__adag_4):
2789 case YY_STATE_EOF(S_dax__job_1):
2790 case YY_STATE_EOF(S_dax__child_1):
2791 case YY_STATE_EOF(IMPOSSIBLE):
2794 case YY_END_OF_BUFFER:
2796 /* Amount of text matched not including the EOB char. */
2797 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
2799 /* Undo the effects of YY_DO_BEFORE_ACTION. */
2800 *yy_cp = (yy_hold_char);
2801 YY_RESTORE_YY_MORE_OFFSET
2803 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
2805 /* We're scanning a new file or input source. It's
2806 * possible that this happened because the user
2807 * just pointed dax_in at a new source and called
2808 * dax_lex(). If so, then we have to assure
2809 * consistency between YY_CURRENT_BUFFER and our
2810 * globals. Here is the right place to do so, because
2811 * this is the first action (other than possibly a
2812 * back-up) that will match for the new input source.
2814 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2815 YY_CURRENT_BUFFER_LVALUE->yy_input_file = dax_in;
2816 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
2819 /* Note that here we test for yy_c_buf_p "<=" to the position
2820 * of the first EOB in the buffer, since yy_c_buf_p will
2821 * already have been incremented past the NUL character
2822 * (since all states make transitions on EOB to the
2823 * end-of-buffer state). Contrast this with the test
2826 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2827 { /* This was really a NUL. */
2828 yy_state_type yy_next_state;
2830 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
2832 yy_current_state = yy_get_previous_state( );
2834 /* Okay, we're now positioned to make the NUL
2835 * transition. We couldn't have
2836 * yy_get_previous_state() go ahead and do it
2837 * for us because it doesn't know how to deal
2838 * with the possibility of jamming (and we don't
2839 * want to build jamming into it because then it
2840 * will run more slowly).
2843 yy_next_state = yy_try_NUL_trans( yy_current_state );
2845 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2847 if ( yy_next_state )
2849 /* Consume the NUL. */
2850 yy_cp = ++(yy_c_buf_p);
2851 yy_current_state = yy_next_state;
2857 yy_cp = (yy_c_buf_p);
2858 goto yy_find_action;
2862 else switch ( yy_get_next_buffer( ) )
2864 case EOB_ACT_END_OF_FILE:
2866 (yy_did_buffer_switch_on_eof) = 0;
2870 /* Note: because we've taken care in
2871 * yy_get_next_buffer() to have set up
2872 * dax_text, we can now set up
2873 * yy_c_buf_p so that if some total
2874 * hoser (like flex itself) wants to
2875 * call the scanner after we return the
2876 * YY_NULL, it'll still work - another
2877 * YY_NULL will get returned.
2879 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
2881 yy_act = YY_STATE_EOF(YY_START);
2887 if ( ! (yy_did_buffer_switch_on_eof) )
2893 case EOB_ACT_CONTINUE_SCAN:
2895 (yytext_ptr) + yy_amount_of_matched_text;
2897 yy_current_state = yy_get_previous_state( );
2899 yy_cp = (yy_c_buf_p);
2900 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2903 case EOB_ACT_LAST_MATCH:
2905 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
2907 yy_current_state = yy_get_previous_state( );
2909 yy_cp = (yy_c_buf_p);
2910 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2911 goto yy_find_action;
2918 "fatal flex scanner internal error--no action found" );
2919 } /* end of action switch */
2920 } /* end of scanning one token */
2921 } /* end of dax_lex */
2923 /* yy_get_next_buffer - try to read in a new buffer
2925 * Returns a code representing an action:
2926 * EOB_ACT_LAST_MATCH -
2927 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2928 * EOB_ACT_END_OF_FILE - end of file
2930 static int yy_get_next_buffer (void)
2932 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
2933 register char *source = (yytext_ptr);
2934 register int number_to_move, i;
2937 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
2939 "fatal flex scanner internal error--end of buffer missed" );
2941 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
2942 { /* Don't try to fill the buffer, so this is an EOF. */
2943 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
2945 /* We matched a single character, the EOB, so
2946 * treat this as a final EOF.
2948 return EOB_ACT_END_OF_FILE;
2953 /* We matched some text prior to the EOB, first
2956 return EOB_ACT_LAST_MATCH;
2960 /* Try to read more data. */
2962 /* First move last chars to start of buffer. */
2963 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
2965 for ( i = 0; i < number_to_move; ++i )
2966 *(dest++) = *(source++);
2968 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2969 /* don't do the read, it's not guaranteed to return an EOF,
2972 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
2977 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
2979 while ( num_to_read <= 0 )
2980 { /* Not enough room in the buffer - grow it. */
2982 /* just a shorter name for the current buffer */
2983 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
2985 int yy_c_buf_p_offset =
2986 (int) ((yy_c_buf_p) - b->yy_ch_buf);
2988 if ( b->yy_is_our_buffer )
2990 int new_size = b->yy_buf_size * 2;
2992 if ( new_size <= 0 )
2993 b->yy_buf_size += b->yy_buf_size / 8;
2995 b->yy_buf_size *= 2;
2997 b->yy_ch_buf = (char *)
2998 /* Include room in for 2 EOB chars. */
2999 dax_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
3002 /* Can't grow it, we don't own it. */
3005 if ( ! b->yy_ch_buf )
3007 "fatal error - scanner input buffer overflow" );
3009 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
3011 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
3016 if ( num_to_read > YY_READ_BUF_SIZE )
3017 num_to_read = YY_READ_BUF_SIZE;
3019 /* Read in more data. */
3020 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
3021 (yy_n_chars), (size_t) num_to_read );
3023 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3026 if ( (yy_n_chars) == 0 )
3028 if ( number_to_move == YY_MORE_ADJ )
3030 ret_val = EOB_ACT_END_OF_FILE;
3031 dax_restart(dax_in );
3036 ret_val = EOB_ACT_LAST_MATCH;
3037 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
3038 YY_BUFFER_EOF_PENDING;
3043 ret_val = EOB_ACT_CONTINUE_SCAN;
3045 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
3046 /* Extend the array by 50%, plus the number we really need. */
3047 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
3048 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) dax_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
3049 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3050 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
3053 (yy_n_chars) += number_to_move;
3054 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
3055 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
3057 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
3062 /* yy_get_previous_state - get the state just before the EOB char was reached */
3064 static yy_state_type yy_get_previous_state (void)
3066 register yy_state_type yy_current_state;
3067 register char *yy_cp;
3069 yy_current_state = (yy_start);
3071 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
3073 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3074 if ( yy_accept[yy_current_state] )
3076 (yy_last_accepting_state) = yy_current_state;
3077 (yy_last_accepting_cpos) = yy_cp;
3079 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3081 yy_current_state = (int) yy_def[yy_current_state];
3082 if ( yy_current_state >= 775 )
3083 yy_c = yy_meta[(unsigned int) yy_c];
3085 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3088 return yy_current_state;
3091 /* yy_try_NUL_trans - try to make a transition on the NUL character
3094 * next_state = yy_try_NUL_trans( current_state );
3096 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
3098 register int yy_is_jam;
3099 register char *yy_cp = (yy_c_buf_p);
3101 register YY_CHAR yy_c = 1;
3102 if ( yy_accept[yy_current_state] )
3104 (yy_last_accepting_state) = yy_current_state;
3105 (yy_last_accepting_cpos) = yy_cp;
3107 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3109 yy_current_state = (int) yy_def[yy_current_state];
3110 if ( yy_current_state >= 775 )
3111 yy_c = yy_meta[(unsigned int) yy_c];
3113 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3114 yy_is_jam = (yy_current_state == 774);
3116 return yy_is_jam ? 0 : yy_current_state;
3121 static int yyinput (void)
3123 static int input (void)
3129 *(yy_c_buf_p) = (yy_hold_char);
3131 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
3133 /* yy_c_buf_p now points to the character we want to return.
3134 * If this occurs *before* the EOB characters, then it's a
3135 * valid NUL; if not, then we've hit the end of the buffer.
3137 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3138 /* This was really a NUL. */
3139 *(yy_c_buf_p) = '\0';
3142 { /* need more input */
3143 int offset = (yy_c_buf_p) - (yytext_ptr);
3146 switch ( yy_get_next_buffer( ) )
3148 case EOB_ACT_LAST_MATCH:
3149 /* This happens because yy_g_n_b()
3150 * sees that we've accumulated a
3151 * token and flags that we need to
3152 * try matching the token before
3153 * proceeding. But for input(),
3154 * there's no matching to consider.
3155 * So convert the EOB_ACT_LAST_MATCH
3156 * to EOB_ACT_END_OF_FILE.
3159 /* Reset buffer status. */
3160 dax_restart(dax_in );
3164 case EOB_ACT_END_OF_FILE:
3169 if ( ! (yy_did_buffer_switch_on_eof) )
3178 case EOB_ACT_CONTINUE_SCAN:
3179 (yy_c_buf_p) = (yytext_ptr) + offset;
3185 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
3186 *(yy_c_buf_p) = '\0'; /* preserve dax_text */
3187 (yy_hold_char) = *++(yy_c_buf_p);
3196 #endif /* ifndef YY_NO_INPUT */
3198 /** Immediately switch to a different input stream.
3199 * @param input_file A readable stream.
3201 * @note This function does not reset the start condition to @c INITIAL .
3203 void dax_restart (FILE * input_file )
3206 if ( ! YY_CURRENT_BUFFER ){
3207 dax_ensure_buffer_stack ();
3208 YY_CURRENT_BUFFER_LVALUE =
3209 dax__create_buffer(dax_in,YY_BUF_SIZE );
3212 dax__init_buffer(YY_CURRENT_BUFFER,input_file );
3213 dax__load_buffer_state( );
3216 /** Switch to a different input buffer.
3217 * @param new_buffer The new input buffer.
3220 void dax__switch_to_buffer (YY_BUFFER_STATE new_buffer )
3223 /* TODO. We should be able to replace this entire function body
3225 * dax_pop_buffer_state();
3226 * dax_push_buffer_state(new_buffer);
3228 dax_ensure_buffer_stack ();
3229 if ( YY_CURRENT_BUFFER == new_buffer )
3232 if ( YY_CURRENT_BUFFER )
3234 /* Flush out information for old buffer. */
3235 *(yy_c_buf_p) = (yy_hold_char);
3236 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3237 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3240 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3241 dax__load_buffer_state( );
3243 /* We don't actually know whether we did this switch during
3244 * EOF (dax_wrap()) processing, but the only time this flag
3245 * is looked at is after dax_wrap() is called, so it's safe
3246 * to go ahead and always set it.
3248 (yy_did_buffer_switch_on_eof) = 1;
3251 static void dax__load_buffer_state (void)
3253 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3254 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
3255 dax_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
3256 (yy_hold_char) = *(yy_c_buf_p);
3259 /** Allocate and initialize an input buffer state.
3260 * @param file A readable stream.
3261 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
3263 * @return the allocated buffer state.
3265 YY_BUFFER_STATE dax__create_buffer (FILE * file, int size )
3269 b = (YY_BUFFER_STATE) dax_alloc(sizeof( struct yy_buffer_state ) );
3271 YY_FATAL_ERROR( "out of dynamic memory in dax__create_buffer()" );
3273 b->yy_buf_size = size;
3275 /* yy_ch_buf has to be 2 characters longer than the size given because
3276 * we need to put in 2 end-of-buffer characters.
3278 b->yy_ch_buf = (char *) dax_alloc(b->yy_buf_size + 2 );
3279 if ( ! b->yy_ch_buf )
3280 YY_FATAL_ERROR( "out of dynamic memory in dax__create_buffer()" );
3282 b->yy_is_our_buffer = 1;
3284 dax__init_buffer(b,file );
3289 /** Destroy the buffer.
3290 * @param b a buffer created with dax__create_buffer()
3293 void dax__delete_buffer (YY_BUFFER_STATE b )
3299 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
3300 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
3302 if ( b->yy_is_our_buffer )
3303 dax_free((void *) b->yy_ch_buf );
3305 dax_free((void *) b );
3309 extern int isatty (int );
3310 #endif /* __cplusplus */
3312 /* Initializes or reinitializes a buffer.
3313 * This function is sometimes called more than once on the same buffer,
3314 * such as during a dax_restart() or at EOF.
3316 static void dax__init_buffer (YY_BUFFER_STATE b, FILE * file )
3321 dax__flush_buffer(b );
3323 b->yy_input_file = file;
3324 b->yy_fill_buffer = 1;
3326 /* If b is the current buffer, then dax__init_buffer was _probably_
3327 * called from dax_restart() or through yy_get_next_buffer.
3328 * In that case, we don't want to reset the lineno or column.
3330 if (b != YY_CURRENT_BUFFER){
3331 b->yy_bs_lineno = 1;
3332 b->yy_bs_column = 0;
3335 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
3340 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
3341 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
3344 void dax__flush_buffer (YY_BUFFER_STATE b )
3351 /* We always need two end-of-buffer characters. The first causes
3352 * a transition to the end-of-buffer state. The second causes
3353 * a jam in that state.
3355 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3356 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3358 b->yy_buf_pos = &b->yy_ch_buf[0];
3361 b->yy_buffer_status = YY_BUFFER_NEW;
3363 if ( b == YY_CURRENT_BUFFER )
3364 dax__load_buffer_state( );
3367 /** Pushes the new state onto the stack. The new state becomes
3368 * the current state. This function will allocate the stack
3370 * @param new_buffer The new state.
3373 void dax_push_buffer_state (YY_BUFFER_STATE new_buffer )
3375 if (new_buffer == NULL)
3378 dax_ensure_buffer_stack();
3380 /* This block is copied from dax__switch_to_buffer. */
3381 if ( YY_CURRENT_BUFFER )
3383 /* Flush out information for old buffer. */
3384 *(yy_c_buf_p) = (yy_hold_char);
3385 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3386 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3389 /* Only push if top exists. Otherwise, replace top. */
3390 if (YY_CURRENT_BUFFER)
3391 (yy_buffer_stack_top)++;
3392 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3394 /* copied from dax__switch_to_buffer. */
3395 dax__load_buffer_state( );
3396 (yy_did_buffer_switch_on_eof) = 1;
3399 /** Removes and deletes the top of the stack, if present.
3400 * The next element becomes the new top.
3403 void dax_pop_buffer_state (void)
3405 if (!YY_CURRENT_BUFFER)
3408 dax__delete_buffer(YY_CURRENT_BUFFER );
3409 YY_CURRENT_BUFFER_LVALUE = NULL;
3410 if ((yy_buffer_stack_top) > 0)
3411 --(yy_buffer_stack_top);
3413 if (YY_CURRENT_BUFFER) {
3414 dax__load_buffer_state( );
3415 (yy_did_buffer_switch_on_eof) = 1;
3419 /* Allocates the stack if it does not exist.
3420 * Guarantees space for at least one push.
3422 static void dax_ensure_buffer_stack (void)
3426 if (!(yy_buffer_stack)) {
3428 /* First allocation is just for 2 elements, since we don't know if this
3429 * scanner will even need a stack. We use 2 instead of 1 to avoid an
3430 * immediate realloc on the next call.
3433 (yy_buffer_stack) = (struct yy_buffer_state**)dax_alloc
3434 (num_to_alloc * sizeof(struct yy_buffer_state*)
3436 if ( ! (yy_buffer_stack) )
3437 YY_FATAL_ERROR( "out of dynamic memory in dax_ensure_buffer_stack()" );
3439 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
3441 (yy_buffer_stack_max) = num_to_alloc;
3442 (yy_buffer_stack_top) = 0;
3446 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
3448 /* Increase the buffer to prepare for a possible push. */
3449 int grow_size = 8 /* arbitrary grow size */;
3451 num_to_alloc = (yy_buffer_stack_max) + grow_size;
3452 (yy_buffer_stack) = (struct yy_buffer_state**)dax_realloc
3454 num_to_alloc * sizeof(struct yy_buffer_state*)
3456 if ( ! (yy_buffer_stack) )
3457 YY_FATAL_ERROR( "out of dynamic memory in dax_ensure_buffer_stack()" );
3459 /* zero only the new slots.*/
3460 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
3461 (yy_buffer_stack_max) = num_to_alloc;
3465 /** Setup the input buffer state to scan directly from a user-specified character buffer.
3466 * @param base the character buffer
3467 * @param size the size in bytes of the character buffer
3469 * @return the newly allocated buffer state object.
3471 YY_BUFFER_STATE dax__scan_buffer (char * base, yy_size_t size )
3476 base[size-2] != YY_END_OF_BUFFER_CHAR ||
3477 base[size-1] != YY_END_OF_BUFFER_CHAR )
3478 /* They forgot to leave room for the EOB's. */
3481 b = (YY_BUFFER_STATE) dax_alloc(sizeof( struct yy_buffer_state ) );
3483 YY_FATAL_ERROR( "out of dynamic memory in dax__scan_buffer()" );
3485 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
3486 b->yy_buf_pos = b->yy_ch_buf = base;
3487 b->yy_is_our_buffer = 0;
3488 b->yy_input_file = 0;
3489 b->yy_n_chars = b->yy_buf_size;
3490 b->yy_is_interactive = 0;
3492 b->yy_fill_buffer = 0;
3493 b->yy_buffer_status = YY_BUFFER_NEW;
3495 dax__switch_to_buffer(b );
3500 /** Setup the input buffer state to scan a string. The next call to dax_lex() will
3501 * scan from a @e copy of @a str.
3502 * @param yystr a NUL-terminated string to scan
3504 * @return the newly allocated buffer state object.
3505 * @note If you want to scan bytes that may contain NUL values, then use
3506 * dax__scan_bytes() instead.
3508 YY_BUFFER_STATE dax__scan_string (yyconst char * yystr )
3511 return dax__scan_bytes(yystr,strlen(yystr) );
3514 /** Setup the input buffer state to scan the given bytes. The next call to dax_lex() will
3515 * scan from a @e copy of @a bytes.
3516 * @param bytes the byte buffer to scan
3517 * @param len the number of bytes in the buffer pointed to by @a bytes.
3519 * @return the newly allocated buffer state object.
3521 YY_BUFFER_STATE dax__scan_bytes (yyconst char * yybytes, int _yybytes_len )
3528 /* Get memory for full buffer, including space for trailing EOB's. */
3529 n = _yybytes_len + 2;
3530 buf = (char *) dax_alloc(n );
3532 YY_FATAL_ERROR( "out of dynamic memory in dax__scan_bytes()" );
3534 for ( i = 0; i < _yybytes_len; ++i )
3535 buf[i] = yybytes[i];
3537 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
3539 b = dax__scan_buffer(buf,n );
3541 YY_FATAL_ERROR( "bad buffer in dax__scan_bytes()" );
3543 /* It's okay to grow etc. this buffer, and we should throw it
3544 * away when we're done.
3546 b->yy_is_our_buffer = 1;
3551 static void yy_push_state (int new_state )
3553 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
3557 (yy_start_stack_depth) += YY_START_STACK_INCR;
3558 new_size = (yy_start_stack_depth) * sizeof( int );
3560 if ( ! (yy_start_stack) )
3561 (yy_start_stack) = (int *) dax_alloc(new_size );
3564 (yy_start_stack) = (int *) dax_realloc((void *) (yy_start_stack),new_size );
3566 if ( ! (yy_start_stack) )
3567 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
3570 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
3575 static void yy_pop_state (void)
3577 if ( --(yy_start_stack_ptr) < 0 )
3578 YY_FATAL_ERROR( "start-condition stack underflow" );
3580 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
3583 #ifndef YY_EXIT_FAILURE
3584 #define YY_EXIT_FAILURE 2
3587 static void yy_fatal_error (yyconst char* msg )
3589 (void) fprintf( stderr, "%s\n", msg );
3590 exit( YY_EXIT_FAILURE );
3593 /* Redefine yyless() so it works in section 3 code. */
3599 /* Undo effects of setting up dax_text. */ \
3600 int yyless_macro_arg = (n); \
3601 YY_LESS_LINENO(yyless_macro_arg);\
3602 dax_text[dax_leng] = (yy_hold_char); \
3603 (yy_c_buf_p) = dax_text + yyless_macro_arg; \
3604 (yy_hold_char) = *(yy_c_buf_p); \
3605 *(yy_c_buf_p) = '\0'; \
3606 dax_leng = yyless_macro_arg; \
3610 /* Accessor methods (get/set functions) to struct members. */
3612 /** Get the current line number.
3615 int dax_get_lineno (void)
3621 /** Get the input stream.
3624 FILE *dax_get_in (void)
3629 /** Get the output stream.
3632 FILE *dax_get_out (void)
3637 /** Get the length of the current token.
3640 int dax_get_leng (void)
3645 /** Get the current token.
3649 char *dax_get_text (void)
3654 /** Set the current line number.
3655 * @param line_number
3658 void dax_set_lineno (int line_number )
3661 dax_lineno = line_number;
3664 /** Set the input stream. This does not discard the current
3666 * @param in_str A readable stream.
3668 * @see dax__switch_to_buffer
3670 void dax_set_in (FILE * in_str )
3675 void dax_set_out (FILE * out_str )
3680 int dax_get_debug (void)
3682 return dax__flex_debug;
3685 void dax_set_debug (int bdebug )
3687 dax__flex_debug = bdebug ;
3690 static int yy_init_globals (void)
3692 /* Initialization is the same as for the non-reentrant scanner.
3693 * This function is called from dax_lex_destroy(), so don't allocate here.
3696 /* We do not touch dax_lineno unless the option is enabled. */
3699 (yy_buffer_stack) = 0;
3700 (yy_buffer_stack_top) = 0;
3701 (yy_buffer_stack_max) = 0;
3702 (yy_c_buf_p) = (char *) 0;
3706 (yy_start_stack_ptr) = 0;
3707 (yy_start_stack_depth) = 0;
3708 (yy_start_stack) = NULL;
3710 /* Defined in main.c */
3715 dax_in = (FILE *) 0;
3716 dax_out = (FILE *) 0;
3719 /* For future reference: Set errno on error, since we are called by
3725 /* dax_lex_destroy is for both reentrant and non-reentrant scanners. */
3726 int dax_lex_destroy (void)
3729 /* Pop the buffer stack, destroying each element. */
3730 while(YY_CURRENT_BUFFER){
3731 dax__delete_buffer(YY_CURRENT_BUFFER );
3732 YY_CURRENT_BUFFER_LVALUE = NULL;
3733 dax_pop_buffer_state();
3736 /* Destroy the stack itself. */
3737 dax_free((yy_buffer_stack) );
3738 (yy_buffer_stack) = NULL;
3740 /* Destroy the start condition stack. */
3741 dax_free((yy_start_stack) );
3742 (yy_start_stack) = NULL;
3744 /* Reset the globals. This is important in a non-reentrant scanner so the next time
3745 * dax_lex() is called, initialization will occur. */
3752 * Internal utility routines.
3756 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
3759 for ( i = 0; i < n; ++i )
3764 #ifdef YY_NEED_STRLEN
3765 static int yy_flex_strlen (yyconst char * s )
3768 for ( n = 0; s[n]; ++n )
3775 void *dax_alloc (yy_size_t size )
3777 return (void *) malloc( size );
3780 void *dax_realloc (void * ptr, yy_size_t size )
3782 /* The cast to (char *) in the following accommodates both
3783 * implementations that use char* generic pointers, and those
3784 * that use void* generic pointers. It works with the latter
3785 * because both ANSI C and C++ allow castless assignment from
3786 * any pointer type to void*, and deal with argument conversions
3787 * as though doing an assignment.
3789 return (void *) realloc( (char *) ptr, size );
3792 void dax_free (void * ptr )
3794 free( (char *) ptr ); /* see dax_realloc() for (char *) cast */
3797 #define YYTABLES_NAME "yytables"
3799 /* Element context stack lookup. */
3800 int dax__element_context(int i)
3802 return (0<i && i<yy_start_stack_depth
3803 ? yy_start_stack[yy_start_stack_ptr - i]
3808 void print_yy_stack(char* fmt, ...)
3810 int i = 0; va_list ap; va_start(ap, fmt);
3811 vfprintf(stderr, fmt, ap);
3812 if (dax__statenames) {
3813 for (i=1; i<yy_start_stack_ptr; i++) {
3814 fprintf(stderr, "%s/", dax__statenames[yy_start_stack[i] ]);
3816 fprintf(stderr,"%s\n", dax__statenames[YY_START]);
3821 void print_dax__bufferstack()
3824 fputs("Buffer: ", stderr);
3825 for (i = 0; i < blimit; i++) {
3826 if ( dax__bufferstack[i] == '\377' ) break;
3827 putc(dax__bufferstack[i], stderr);
3832 static void debug_enter(int state, const char* statename) {
3833 yy_push_state(state);
3834 if (dax__flex_debug) {
3835 print_yy_stack("--ENTER(%s) : ",statename);
3836 print_dax__bufferstack();
3840 static void debug_leave(void) {
3841 if (dax__flex_debug) {
3842 print_yy_stack("--LEAVE : ");
3843 print_dax__bufferstack();
3848 static void debug_set(int state, const char* statename) {
3850 if (dax__flex_debug) print_yy_stack("--SET(%s) : ",statename);
3854 static void cleanup(void)
3856 if (dax__statenames) {
3857 free(dax__statenames);
3858 dax__statenames = NULL;
3860 free(dax__bufferstack);
3861 dax__bufferstack = NULL;
3867 static int fail(const char* fmt, ...)
3869 int chars_left, used;
3870 va_list ap; va_start(ap, fmt);
3871 #ifdef FLEXML_yylineno
3872 used = sprintf(flexml_err_msg,
3873 "Invalid XML (XML input line %d, state %d): ",
3874 dax_lineno, YY_START);
3876 used = sprintf(flexml_err_msg,
3877 "Invalid XML (state %d): ",
3880 chars_left = flexml_max_err_msg_size - used - 1;
3881 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
3884 #ifndef FLEXML_quiet_parser
3885 /* print directly to sdterr */
3886 fprintf(stderr, "%s\n", flexml_err_msg);
3887 flexml_err_msg[0] = '\0';