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;
76 /* Limits of integral types. */
78 #define INT8_MIN (-128)
81 #define INT16_MIN (-32767-1)
84 #define INT32_MIN (-2147483647-1)
87 #define INT8_MAX (127)
90 #define INT16_MAX (32767)
93 #define INT32_MAX (2147483647)
96 #define UINT8_MAX (255U)
99 #define UINT16_MAX (65535U)
102 #define UINT32_MAX (4294967295U)
107 #endif /* ! FLEXINT_H */
111 /* The "const" storage-class-modifier is valid. */
114 #else /* ! __cplusplus */
116 /* C99 requires __STDC__ to be defined as 1. */
117 #if defined (__STDC__)
121 #endif /* defined (__STDC__) */
122 #endif /* ! __cplusplus */
125 #define yyconst const
130 /* Returned upon end-of-file. */
133 /* Promotes a possibly negative, possibly signed char to an unsigned
134 * integer for use as an array index. If the signed char is negative,
135 * we want to instead treat it as an 8-bit unsigned char, hence the
138 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
140 /* Enter a start condition. This macro really ought to take a parameter,
141 * but we do it the disgusting crufty way forced on us by the ()-less
142 * definition of BEGIN.
144 #define BEGIN (yy_start) = 1 + 2 *
146 /* Translate the current start state into a value that can be later handed
147 * to BEGIN to return to the state. The YYSTATE alias is for lex
150 #define YY_START (((yy_start) - 1) / 2)
151 #define YYSTATE YY_START
153 /* Action number for EOF rule of a given start state. */
154 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
156 /* Special action meaning "start processing a new file". */
157 #define YY_NEW_FILE dax_restart(dax_in )
159 #define YY_END_OF_BUFFER_CHAR 0
161 /* Size of default input buffer. */
164 /* On IA-64, the buffer size is 16k, not 8k.
165 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
166 * Ditto for the __ia64__ case accordingly.
168 #define YY_BUF_SIZE 32768
170 #define YY_BUF_SIZE 16384
171 #endif /* __ia64__ */
174 /* The state buf must be large enough to hold one state per character in the main buffer.
176 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
178 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
179 #define YY_TYPEDEF_YY_BUFFER_STATE
180 typedef struct yy_buffer_state *YY_BUFFER_STATE;
185 extern FILE *dax_in, *dax_out;
187 #define EOB_ACT_CONTINUE_SCAN 0
188 #define EOB_ACT_END_OF_FILE 1
189 #define EOB_ACT_LAST_MATCH 2
191 /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
192 * access to the local variable yy_act. Since yyless() is a macro, it would break
193 * existing scanners that call yyless() from OUTSIDE dax_lex.
194 * One obvious solution it to make yy_act a global. I tried that, and saw
195 * a 5% performance hit in a non-dax_lineno scanner, because yy_act is
196 * normally declared as a register variable-- so it is not worth it.
198 #define YY_LESS_LINENO(n) \
201 for ( yyl = n; yyl < dax_leng; ++yyl )\
202 if ( dax_text[yyl] == '\n' )\
206 /* Return all but the first "n" matched characters back to the input stream. */
210 /* Undo effects of setting up dax_text. */ \
211 int yyless_macro_arg = (n); \
212 YY_LESS_LINENO(yyless_macro_arg);\
213 *yy_cp = (yy_hold_char); \
214 YY_RESTORE_YY_MORE_OFFSET \
215 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
216 YY_DO_BEFORE_ACTION; /* set up dax_text again */ \
220 #define unput(c) yyunput( c, (yytext_ptr) )
222 #ifndef YY_TYPEDEF_YY_SIZE_T
223 #define YY_TYPEDEF_YY_SIZE_T
224 typedef size_t yy_size_t;
227 #ifndef YY_STRUCT_YY_BUFFER_STATE
228 #define YY_STRUCT_YY_BUFFER_STATE
229 struct yy_buffer_state
233 char *yy_ch_buf; /* input buffer */
234 char *yy_buf_pos; /* current position in input buffer */
236 /* Size of input buffer in bytes, not including room for EOB
239 yy_size_t yy_buf_size;
241 /* Number of characters read into yy_ch_buf, not including EOB
246 /* Whether we "own" the buffer - i.e., we know we created it,
247 * and can realloc() it to grow it, and should free() it to
250 int yy_is_our_buffer;
252 /* Whether this is an "interactive" input source; if so, and
253 * if we're using stdio for input, then we want to use getc()
254 * instead of fread(), to make sure we stop fetching input after
257 int yy_is_interactive;
259 /* Whether we're considered to be at the beginning of a line.
260 * If so, '^' rules will be active on the next match, otherwise
265 int yy_bs_lineno; /**< The line count. */
266 int yy_bs_column; /**< The column count. */
268 /* Whether to try to fill the input buffer when we reach the
273 int yy_buffer_status;
275 #define YY_BUFFER_NEW 0
276 #define YY_BUFFER_NORMAL 1
277 /* When an EOF's been seen but there's still some text to process
278 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
279 * shouldn't try reading from the input source any more. We might
280 * still have a bunch of tokens to match, though, because of
281 * possible backing-up.
283 * When we actually see the EOF, we change the status to "new"
284 * (via dax_restart()), so that the user can continue scanning by
285 * just pointing dax_in at a new input file.
287 #define YY_BUFFER_EOF_PENDING 2
290 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
292 /* Stack of input buffers. */
293 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
294 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
295 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
297 /* We provide macros for accessing buffer states in case in the
298 * future we want to put the buffer states in a more general
301 * Returns the top of the stack, or NULL.
303 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
304 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
307 /* Same as previous macro, but useful when we know that the buffer stack is not
308 * NULL or when we need an lvalue. For internal use only.
310 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
312 /* yy_hold_char holds the character lost when dax_text is formed. */
313 static char yy_hold_char;
314 static int yy_n_chars; /* number of characters read into yy_ch_buf */
317 /* Points to current character in buffer. */
318 static char *yy_c_buf_p = (char *) 0;
319 static int yy_init = 0; /* whether we need to initialize */
320 static int yy_start = 0; /* start state number */
322 /* Flag which is used to allow dax_wrap()'s to do buffer switches
323 * instead of setting up a fresh dax_in. A bit of a hack ...
325 static int yy_did_buffer_switch_on_eof;
327 void dax_restart (FILE *input_file );
328 void dax__switch_to_buffer (YY_BUFFER_STATE new_buffer );
329 YY_BUFFER_STATE dax__create_buffer (FILE *file,int size );
330 void dax__delete_buffer (YY_BUFFER_STATE b );
331 void dax__flush_buffer (YY_BUFFER_STATE b );
332 void dax_push_buffer_state (YY_BUFFER_STATE new_buffer );
333 void dax_pop_buffer_state (void );
335 static void dax_ensure_buffer_stack (void );
336 static void dax__load_buffer_state (void );
337 static void dax__init_buffer (YY_BUFFER_STATE b,FILE *file );
339 #define YY_FLUSH_BUFFER dax__flush_buffer(YY_CURRENT_BUFFER )
341 YY_BUFFER_STATE dax__scan_buffer (char *base,yy_size_t size );
342 YY_BUFFER_STATE dax__scan_string (yyconst char *yy_str );
343 YY_BUFFER_STATE dax__scan_bytes (yyconst char *bytes,int len );
345 void *dax_alloc (yy_size_t );
346 void *dax_realloc (void *,yy_size_t );
347 void dax_free (void * );
349 #define yy_new_buffer dax__create_buffer
351 #define yy_set_interactive(is_interactive) \
353 if ( ! YY_CURRENT_BUFFER ){ \
354 dax_ensure_buffer_stack (); \
355 YY_CURRENT_BUFFER_LVALUE = \
356 dax__create_buffer(dax_in,YY_BUF_SIZE ); \
358 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
361 #define yy_set_bol(at_bol) \
363 if ( ! YY_CURRENT_BUFFER ){\
364 dax_ensure_buffer_stack (); \
365 YY_CURRENT_BUFFER_LVALUE = \
366 dax__create_buffer(dax_in,YY_BUF_SIZE ); \
368 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
371 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
373 /* Begin user sect3 */
375 #define dax_wrap(n) 1
376 #define YY_SKIP_YYWRAP
378 typedef unsigned char YY_CHAR;
380 FILE *dax_in = (FILE *) 0, *dax_out = (FILE *) 0;
382 typedef int yy_state_type;
384 extern int dax_lineno;
388 extern char *dax_text;
389 #define yytext_ptr dax_text
391 static yy_state_type yy_get_previous_state (void );
392 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
393 static int yy_get_next_buffer (void );
394 static void yy_fatal_error (yyconst char msg[] );
396 /* Done after the current pattern has been matched and before the
397 * corresponding action - sets up dax_text.
399 #define YY_DO_BEFORE_ACTION \
400 (yytext_ptr) = yy_bp; \
401 dax_leng = (size_t) (yy_cp - yy_bp); \
402 (yy_hold_char) = *yy_cp; \
404 (yy_c_buf_p) = yy_cp;
406 #define YY_NUM_RULES 140
407 #define YY_END_OF_BUFFER 141
408 /* This struct is not used in this scanner,
409 but its presence is necessary. */
412 flex_int32_t yy_verify;
415 static yyconst flex_int16_t yy_accept[775] =
417 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
418 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
419 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
420 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
423 0, 0, 0, 0, 0, 0, 141, 139, 15, 10,
424 10, 15, 15, 119, 10, 119, 5, 6, 5, 8,
425 9, 8, 135, 127, 128, 136, 133, 136, 134, 138,
426 127, 128, 138, 139, 40, 10, 40, 40, 40, 38,
428 40, 40, 40, 40, 40, 40, 40, 44, 10, 44,
429 44, 139, 139, 44, 61, 10, 61, 61, 61, 59,
430 61, 61, 61, 61, 61, 65, 10, 65, 139, 65,
431 92, 10, 92, 92, 92, 90, 92, 92, 92, 92,
432 92, 92, 96, 10, 96, 103, 10, 103, 103, 103,
433 101, 103, 107, 10, 107, 139, 107, 114, 10, 114,
434 114, 114, 112, 114, 118, 10, 118, 136, 135, 10,
435 0, 2, 2, 0, 4, 7, 130, 129, 0, 0,
436 0, 0, 0, 0, 0, 39, 41, 41, 41, 41,
437 41, 41, 41, 41, 41, 41, 0, 0, 0, 0,
439 0, 0, 0, 0, 60, 62, 62, 62, 62, 62,
440 62, 0, 0, 91, 93, 93, 93, 93, 93, 93,
441 93, 93, 0, 102, 104, 104, 0, 0, 113, 115,
442 115, 0, 0, 0, 0, 0, 0, 0, 3, 0,
443 0, 0, 0, 0, 0, 0, 137, 0, 41, 41,
444 41, 41, 41, 41, 41, 41, 41, 0, 0, 0,
445 0, 0, 0, 0, 0, 0, 0, 0, 62, 62,
446 62, 62, 0, 0, 0, 93, 93, 93, 93, 93,
447 93, 93, 0, 0, 104, 0, 0, 0, 115, 0,
448 0, 0, 132, 0, 14, 1, 0, 0, 125, 0,
450 0, 0, 122, 121, 0, 0, 41, 41, 41, 41,
451 41, 41, 41, 41, 41, 0, 0, 43, 0, 0,
452 0, 46, 0, 0, 45, 0, 0, 48, 47, 62,
453 62, 62, 62, 0, 0, 64, 0, 0, 93, 93,
454 93, 93, 93, 93, 93, 0, 0, 95, 0, 0,
455 0, 0, 0, 106, 0, 0, 0, 0, 0, 0,
456 117, 0, 0, 0, 0, 126, 120, 0, 0, 17,
457 41, 41, 41, 41, 41, 0, 0, 41, 41, 41,
458 0, 16, 0, 46, 0, 66, 45, 0, 62, 0,
459 0, 62, 62, 62, 0, 67, 0, 0, 0, 0,
461 93, 93, 0, 0, 93, 0, 0, 0, 0, 100,
462 99, 0, 0, 0, 111, 110, 0, 0, 0, 0,
463 0, 12, 0, 123, 124, 17, 41, 0, 0, 41,
464 0, 0, 41, 0, 31, 30, 41, 0, 41, 0,
465 41, 0, 16, 98, 0, 66, 97, 0, 0, 0,
466 52, 51, 62, 62, 62, 0, 63, 67, 0, 69,
467 68, 0, 0, 0, 93, 93, 0, 89, 88, 93,
468 0, 87, 86, 0, 0, 0, 0, 0, 0, 0,
469 0, 11, 41, 0, 27, 26, 41, 0, 29, 28,
470 41, 41, 41, 0, 19, 18, 41, 0, 42, 98,
472 108, 97, 0, 58, 57, 62, 62, 62, 0, 0,
473 0, 0, 93, 93, 93, 0, 94, 0, 109, 0,
474 0, 0, 0, 0, 41, 41, 41, 0, 0, 41,
475 41, 108, 62, 0, 0, 0, 0, 0, 0, 0,
476 0, 93, 93, 93, 0, 105, 109, 0, 0, 0,
477 0, 0, 41, 41, 0, 0, 0, 25, 24, 41,
478 41, 62, 0, 56, 55, 0, 54, 53, 0, 0,
479 0, 0, 0, 0, 0, 0, 0, 0, 0, 116,
480 131, 0, 0, 0, 41, 0, 0, 0, 33, 32,
481 0, 0, 41, 0, 0, 0, 0, 0, 0, 0,
483 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
484 0, 0, 0, 0, 35, 34, 0, 21, 20, 41,
485 0, 50, 49, 0, 0, 0, 0, 0, 0, 0,
486 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
487 0, 0, 0, 37, 36, 41, 71, 0, 70, 0,
488 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
489 0, 0, 0, 0, 0, 41, 73, 72, 0, 0,
490 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
491 0, 0, 0, 0, 41, 0, 0, 0, 0, 0,
492 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
494 0, 0, 0, 41, 0, 85, 0, 84, 0, 77,
495 0, 76, 0, 81, 0, 80, 0, 0, 0, 0,
496 0, 0, 41, 83, 82, 75, 74, 79, 78, 0,
497 0, 0, 12, 0, 12, 0, 41, 0, 0, 0,
498 0, 0, 41, 0, 0, 0, 0, 0, 11, 0,
499 23, 22, 0, 0, 0, 0, 0, 0, 0, 0,
500 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
504 static yyconst flex_int32_t yy_ec[256] =
506 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
507 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
508 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
509 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
510 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
511 13, 13, 13, 13, 13, 13, 13, 14, 15, 16,
512 17, 18, 19, 1, 20, 21, 22, 23, 24, 21,
513 25, 25, 25, 25, 25, 26, 27, 25, 28, 29,
514 25, 25, 30, 31, 25, 25, 25, 25, 32, 25,
515 33, 1, 34, 1, 25, 1, 35, 36, 37, 38,
517 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
518 49, 50, 51, 52, 53, 54, 55, 56, 25, 57,
519 58, 59, 1, 1, 1, 1, 1, 1, 1, 1,
520 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
521 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
522 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
523 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
524 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
525 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
526 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
528 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
529 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
530 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
531 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
532 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
536 static yyconst flex_int32_t yy_meta[60] =
538 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
539 3, 1, 4, 5, 1, 1, 1, 6, 1, 7,
540 7, 7, 7, 7, 5, 5, 5, 5, 5, 5,
541 5, 5, 1, 1, 7, 7, 7, 7, 7, 7,
542 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
543 5, 5, 5, 5, 5, 5, 5, 5, 5
546 static yyconst flex_int16_t yy_base[814] =
548 0, 0, 0, 3, 6, 9, 24, 27, 11, 14,
549 15, 17, 29, 38, 45, 52, 59, 61, 67, 70,
550 95, 0, 73, 76, 153, 156, 159, 162, 177, 180,
551 183, 186, 201, 204, 207, 210, 226, 0, 284, 287,
552 290, 293, 308, 311, 314, 317, 333, 0, 391, 394,
553 410, 462, 429, 432, 435, 438, 481, 484, 487, 490,
554 514, 566, 533, 536, 585, 587, 1886, 2164, 2164, 397,
555 400, 47, 62, 2164, 453, 172, 2164, 2164, 1875, 2164,
556 2164, 1865, 2164, 1866, 1863, 551, 2164, 2164, 2164, 2164,
557 1861, 1861, 1829, 441, 2164, 505, 1844, 0, 196, 2164,
559 8, 1818, 1812, 1810, 1823, 1813, 35, 2164, 508, 593,
560 601, 589, 622, 630, 2164, 539, 1833, 0, 303, 2164,
561 1811, 1809, 1793, 1772, 1786, 2164, 542, 649, 657, 676,
562 2164, 551, 1798, 0, 442, 2164, 1772, 1770, 1750, 1760,
563 1751, 32, 2164, 557, 545, 2164, 607, 1775, 0, 494,
564 2164, 1752, 2164, 612, 684, 703, 711, 2164, 667, 1764,
565 0, 546, 2164, 1722, 2164, 733, 641, 1752, 1721, 739,
566 594, 1690, 2164, 1735, 1723, 2164, 2164, 2164, 2, 44,
567 1685, 1684, 1675, 1711, 1689, 2164, 0, 1678, 1663, 1670,
568 1677, 1676, 1664, 1658, 1650, 1652, 1658, 1650, 1645, 1636,
570 1645, 1626, 1628, 1630, 2164, 0, 747, 1615, 1618, 1615,
571 1610, 1616, 1599, 2164, 0, 1605, 1601, 1590, 1602, 1582,
572 1601, 1585, 1578, 2164, 0, 1588, 1590, 1590, 2164, 0,
573 1584, 1572, 1584, 1594, 1593, 1599, 431, 1554, 2164, 72,
574 0, 1549, 1549, 1581, 1576, 1541, 2164, 1553, 1540, 1535,
575 1533, 1528, 1544, 1525, 1503, 1507, 1539, 765, 768, 1517,
576 1507, 1509, 1488, 1500, 1501, 1486, 771, 775, 1489, 1487,
577 1467, 1467, 787, 790, 1479, 1477, 1470, 1470, 1459, 1462,
578 1445, 1429, 793, 796, 799, 815, 818, 1415, 821, 824,
579 827, 1443, 2164, 1446, 2164, 2164, 17, 1400, 2164, 1428,
581 1426, 1384, 2164, 2164, 1381, 1389, 1391, 1373, 1394, 1358,
582 1364, 844, 1368, 1357, 1344, 848, 851, 2164, 854, 1355,
583 1344, 861, 1350, 1318, 871, 1324, 874, 2164, 2164, 1322,
584 882, 1317, 1316, 888, 891, 2164, 894, 1301, 898, 901,
585 1304, 1295, 917, 1290, 920, 923, 929, 2164, 936, 940,
586 946, 956, 959, 2164, 962, 1301, 965, 981, 968, 989,
587 2164, 992, 1309, 616, 995, 2164, 2164, 1316, 1314, 998,
588 1302, 1013, 1274, 1016, 1266, 1019, 1022, 1269, 1035, 1279,
589 1038, 1043, 1274, 1051, 1253, 1055, 1058, 1262, 1061, 1064,
590 1067, 1248, 1246, 1243, 1080, 1083, 1086, 1090, 1098, 1102,
592 1242, 1231, 1110, 1114, 1244, 1122, 1126, 1134, 1138, 2164,
593 2164, 1146, 1234, 1151, 2164, 2164, 1159, 1257, 632, 1258,
594 1163, 2164, 1256, 2164, 2164, 1166, 1224, 1169, 1176, 1216,
595 1172, 1191, 1212, 1201, 2164, 2164, 1211, 1209, 1196, 1212,
596 1209, 1220, 1225, 1228, 1196, 1231, 1237, 1240, 1243, 1252,
597 2164, 2164, 1213, 1198, 1188, 1260, 2164, 1263, 1266, 2164,
598 2164, 1277, 124, 125, 1190, 1181, 1285, 2164, 2164, 1178,
599 1293, 2164, 2164, 1301, 1304, 1155, 1307, 1177, 578, 152,
600 5, 2164, 1151, 1311, 2164, 2164, 1153, 1324, 2164, 2164,
601 1145, 1332, 1143, 1335, 2164, 2164, 1152, 1343, 2164, 1348,
603 1354, 1360, 1363, 2164, 2164, 1153, 1371, 1374, 1140, 1129,
604 1135, 1104, 1112, 1104, 1099, 1377, 2164, 1380, 1383, 1390,
605 1126, 174, 158, 280, 1097, 1089, 1397, 1400, 1403, 1091,
606 1086, 1416, 1092, 1419, 1422, 1430, 1436, 1072, 1067, 1069,
607 1056, 1446, 1449, 1452, 1455, 2164, 1458, 1468, 1076, 1472,
608 176, 510, 1053, 1475, 1478, 1485, 1494, 2164, 2164, 1502,
609 1062, 1505, 1508, 2164, 2164, 1521, 2164, 2164, 1040, 1041,
610 1025, 1027, 1529, 1532, 1540, 1545, 1556, 1559, 1481, 2164,
611 2164, 1567, 287, 179, 1572, 1575, 1578, 1591, 2164, 2164,
612 1601, 1604, 1049, 1612, 1617, 1020, 1017, 997, 995, 1628,
614 633, 643, 1636, 651, 660, 1644, 670, 675, 412, 283,
615 538, 1652, 1655, 1664, 2164, 2164, 1672, 2164, 2164, 999,
616 1680, 2164, 2164, 1037, 981, 1025, 978, 994, 975, 977,
617 959, 974, 956, 971, 952, 968, 937, 953, 929, 605,
618 281, 434, 1688, 2164, 2164, 942, 2164, 972, 2164, 967,
619 927, 901, 907, 896, 900, 890, 890, 874, 882, 859,
620 867, 856, 611, 614, 1696, 875, 2164, 2164, 855, 820,
621 760, 773, 757, 770, 732, 713, 674, 686, 664, 670,
622 1699, 1702, 1705, 1722, 652, 659, 673, 619, 616, 541,
623 556, 495, 496, 463, 495, 419, 444, 1730, 1733, 1740,
625 1750, 1768, 1802, 381, 403, 2164, 399, 2164, 400, 2164,
626 396, 2164, 325, 2164, 319, 2164, 700, 1820, 657, 613,
627 1838, 1872, 274, 2164, 2164, 2164, 2164, 2164, 2164, 660,
628 727, 200, 301, 745, 295, 1760, 254, 726, 218, 202,
629 207, 1794, 1865, 480, 153, 1890, 1786, 738, 2164, 1828,
630 2164, 2164, 1763, 1893, 664, 742, 741, 769, 814, 822,
631 823, 826, 744, 797, 789, 863, 849, 850, 864, 898,
632 1906, 1910, 2164, 2164, 1928, 1935, 1942, 1949, 1956, 1963,
633 1970, 1977, 1984, 1991, 1998, 2005, 2012, 2019, 2024, 2029,
634 2034, 2039, 2044, 2051, 2054, 2057, 2060, 2063, 2066, 2073,
636 2077, 2083, 2089, 2095, 2101, 2107, 2114, 2121, 2128, 2135,
640 static yyconst flex_int16_t yy_def[814] =
642 775, 775, 776, 776, 776, 776, 777, 777, 778, 778,
643 779, 779, 780, 780, 780, 780, 781, 781, 775, 775,
644 774, 21, 782, 782, 782, 782, 775, 775, 782, 782,
645 775, 775, 782, 782, 782, 782, 774, 37, 783, 783,
646 775, 775, 783, 783, 783, 783, 774, 47, 784, 784,
647 785, 785, 786, 786, 775, 775, 786, 786, 786, 786,
648 787, 787, 788, 788, 780, 780, 774, 774, 774, 774,
649 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
650 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
651 774, 774, 774, 774, 774, 774, 774, 789, 774, 774,
653 789, 789, 789, 789, 789, 789, 789, 774, 774, 774,
654 774, 774, 774, 774, 774, 774, 774, 790, 774, 774,
655 790, 790, 790, 790, 790, 774, 774, 774, 774, 774,
656 774, 774, 774, 791, 774, 774, 791, 791, 791, 791,
657 791, 791, 774, 774, 774, 774, 774, 774, 792, 774,
658 774, 792, 774, 774, 774, 774, 774, 774, 774, 774,
659 793, 774, 774, 793, 774, 774, 774, 774, 774, 774,
660 794, 774, 774, 774, 774, 774, 774, 774, 774, 774,
661 774, 774, 774, 774, 774, 774, 789, 789, 789, 789,
662 789, 789, 789, 789, 789, 789, 795, 774, 774, 774,
664 774, 774, 774, 774, 774, 790, 790, 790, 790, 790,
665 790, 796, 774, 774, 791, 791, 791, 791, 791, 791,
666 791, 791, 797, 774, 792, 792, 798, 774, 774, 793,
667 793, 799, 774, 774, 800, 774, 800, 774, 774, 774,
668 801, 774, 774, 774, 774, 774, 774, 774, 789, 789,
669 789, 789, 789, 789, 789, 789, 789, 802, 802, 774,
670 774, 774, 774, 774, 774, 774, 774, 774, 790, 790,
671 790, 790, 803, 803, 774, 791, 791, 791, 791, 791,
672 791, 791, 804, 804, 792, 805, 805, 774, 793, 806,
673 806, 774, 774, 800, 774, 774, 800, 774, 774, 801,
675 774, 774, 774, 774, 774, 774, 789, 789, 789, 789,
676 789, 789, 789, 789, 789, 774, 802, 774, 802, 774,
677 774, 774, 774, 774, 774, 774, 774, 774, 774, 790,
678 790, 790, 790, 774, 803, 774, 803, 774, 791, 791,
679 791, 791, 791, 791, 791, 774, 804, 774, 804, 774,
680 774, 774, 805, 774, 805, 774, 774, 774, 774, 806,
681 774, 806, 774, 800, 807, 774, 774, 774, 774, 774,
682 789, 789, 789, 789, 789, 774, 774, 789, 789, 789,
683 802, 774, 774, 774, 774, 774, 774, 774, 790, 774,
684 774, 790, 790, 790, 803, 774, 774, 774, 774, 774,
686 791, 791, 774, 774, 791, 774, 774, 804, 774, 774,
687 774, 805, 774, 774, 774, 774, 806, 774, 800, 807,
688 807, 774, 807, 774, 774, 774, 789, 774, 774, 789,
689 774, 774, 789, 774, 774, 774, 789, 774, 789, 774,
690 789, 802, 774, 774, 774, 774, 774, 774, 774, 774,
691 774, 774, 790, 790, 790, 774, 774, 774, 774, 774,
692 774, 774, 774, 774, 791, 791, 774, 774, 774, 791,
693 774, 774, 774, 804, 805, 774, 806, 774, 800, 807,
694 807, 774, 789, 774, 774, 774, 789, 774, 774, 774,
695 789, 789, 789, 774, 774, 774, 789, 774, 774, 774,
697 774, 774, 774, 774, 774, 790, 790, 790, 774, 774,
698 774, 774, 791, 791, 791, 774, 774, 805, 774, 806,
699 774, 800, 807, 807, 789, 789, 789, 774, 774, 789,
700 789, 774, 790, 774, 774, 774, 774, 774, 774, 774,
701 774, 791, 791, 791, 774, 774, 774, 806, 774, 800,
702 807, 807, 789, 789, 774, 774, 774, 774, 774, 789,
703 789, 790, 774, 774, 774, 774, 774, 774, 774, 774,
704 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
705 774, 800, 807, 807, 789, 774, 774, 774, 774, 774,
706 774, 774, 789, 774, 774, 774, 774, 774, 774, 774,
708 774, 774, 774, 774, 774, 774, 774, 774, 800, 807,
709 807, 774, 774, 774, 774, 774, 774, 774, 774, 789,
710 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
711 774, 774, 774, 774, 774, 774, 774, 774, 774, 800,
712 807, 807, 774, 774, 774, 789, 774, 774, 774, 774,
713 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
714 774, 774, 800, 807, 807, 789, 774, 774, 774, 774,
715 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
716 800, 807, 807, 807, 789, 774, 774, 774, 774, 774,
717 774, 774, 774, 774, 774, 774, 774, 800, 807, 807,
719 807, 808, 809, 789, 774, 774, 774, 774, 774, 774,
720 774, 774, 774, 774, 774, 774, 800, 807, 810, 811,
721 808, 809, 789, 774, 774, 774, 774, 774, 774, 800,
722 810, 807, 812, 811, 813, 807, 789, 800, 812, 774,
723 813, 807, 789, 800, 774, 774, 774, 800, 774, 774,
724 774, 774, 800, 800, 800, 800, 800, 800, 800, 800,
725 800, 800, 800, 800, 800, 800, 800, 800, 800, 800,
726 800, 800, 774, 0, 774, 774, 774, 774, 774, 774,
727 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
728 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
730 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
734 static yyconst flex_int16_t yy_nxt[2224] =
736 774, 70, 71, 70, 70, 71, 70, 70, 71, 70,
737 70, 71, 70, 78, 240, 72, 78, 81, 72, 81,
738 79, 73, 422, 79, 73, 75, 71, 75, 75, 71,
739 75, 84, 85, 82, 295, 82, 86, 87, 364, 76,
740 84, 85, 76, 524, 88, 86, 87, 84, 85, 188,
741 89, 171, 86, 88, 84, 85, 189, 89, 241, 86,
742 88, 91, 92, 91, 92, 172, 171, 88, 71, 71,
743 71, 71, 71, 71, 109, 71, 109, 109, 71, 109,
744 173, 195, 94, 221, 240, 94, 299, 196, 110, 222,
745 242, 110, 93, 243, 93, 95, 96, 71, 96, 95,
747 95, 95, 95, 95, 95, 95, 97, 95, 98, 95,
748 99, 95, 100, 95, 98, 98, 98, 98, 98, 98,
749 98, 98, 98, 98, 98, 98, 98, 95, 95, 98,
750 98, 101, 98, 98, 102, 98, 98, 103, 104, 98,
751 98, 98, 105, 98, 98, 98, 98, 98, 98, 98,
752 106, 107, 98, 98, 109, 71, 109, 109, 71, 109,
753 71, 71, 71, 71, 71, 71, 509, 511, 111, 422,
754 749, 111, 510, 512, 112, 422, 174, 112, 109, 71,
755 109, 109, 71, 109, 71, 71, 71, 71, 71, 71,
756 173, 295, 110, 422, 551, 110, 422, 550, 113, 523,
758 174, 113, 109, 71, 109, 109, 71, 109, 109, 71,
759 109, 109, 71, 109, 173, 740, 111, 422, 423, 111,
760 745, 611, 114, 740, 583, 114, 115, 116, 71, 116,
761 115, 115, 115, 115, 115, 115, 115, 117, 115, 118,
762 115, 119, 115, 120, 115, 118, 118, 118, 118, 118,
763 118, 118, 118, 118, 118, 118, 118, 118, 115, 115,
764 118, 118, 118, 118, 118, 118, 118, 118, 121, 118,
765 118, 122, 118, 123, 118, 118, 118, 124, 118, 118,
766 118, 125, 118, 118, 118, 127, 71, 127, 127, 71,
767 127, 71, 71, 71, 71, 71, 71, 422, 422, 128,
769 422, 743, 128, 740, 422, 129, 740, 174, 129, 127,
770 71, 127, 127, 71, 127, 127, 71, 127, 127, 71,
771 127, 173, 737, 128, 610, 641, 128, 729, 664, 130,
772 728, 552, 130, 131, 132, 71, 132, 131, 131, 131,
773 131, 131, 131, 131, 133, 131, 134, 131, 135, 131,
774 136, 131, 134, 134, 134, 134, 134, 134, 134, 134,
775 134, 134, 134, 134, 134, 131, 131, 134, 134, 134,
776 134, 134, 137, 134, 134, 134, 134, 134, 138, 134,
777 134, 139, 134, 134, 140, 141, 142, 134, 134, 134,
778 134, 134, 144, 71, 144, 144, 71, 144, 170, 170,
780 170, 170, 170, 170, 727, 726, 145, 725, 724, 145,
781 146, 147, 71, 147, 146, 146, 146, 146, 146, 146,
782 146, 148, 146, 723, 146, 150, 146, 151, 146, 295,
783 154, 71, 154, 154, 71, 154, 71, 71, 71, 71,
784 71, 71, 146, 146, 155, 174, 174, 155, 295, 640,
785 156, 422, 716, 156, 170, 170, 170, 715, 297, 173,
786 173, 152, 146, 147, 71, 147, 146, 146, 146, 146,
787 146, 146, 146, 148, 146, 185, 146, 150, 146, 151,
788 146, 665, 154, 71, 154, 154, 71, 154, 154, 71,
789 154, 154, 71, 154, 146, 146, 155, 295, 174, 155,
791 714, 713, 157, 748, 712, 157, 170, 170, 170, 170,
792 170, 170, 173, 152, 158, 159, 71, 159, 158, 158,
793 158, 158, 158, 158, 158, 160, 158, 422, 158, 162,
794 158, 163, 158, 711, 166, 71, 166, 166, 71, 166,
795 170, 170, 170, 170, 170, 170, 158, 158, 167, 174,
796 174, 167, 170, 170, 170, 422, 223, 179, 170, 170,
797 170, 710, 584, 173, 173, 164, 158, 159, 71, 159,
798 158, 158, 158, 158, 158, 158, 158, 160, 158, 709,
799 158, 162, 158, 163, 158, 180, 642, 84, 85, 84,
800 85, 181, 86, 174, 86, 295, 182, 174, 158, 158,
802 168, 183, 168, 236, 197, 174, 522, 173, 170, 170,
803 170, 173, 197, 170, 170, 170, 237, 164, 169, 173,
804 169, 732, 295, 198, 708, 204, 174, 198, 295, 199,
805 735, 422, 200, 295, 174, 198, 200, 199, 201, 663,
806 173, 197, 201, 202, 203, 174, 419, 202, 173, 295,
807 201, 681, 232, 174, 682, 202, 198, 707, 199, 173,
808 212, 174, 732, 479, 198, 203, 204, 173, 170, 170,
809 170, 201, 628, 203, 733, 173, 202, 295, 706, 201,
810 174, 295, 630, 198, 202, 204, 629, 212, 174, 738,
811 632, 198, 203, 204, 173, 227, 631, 705, 201, 634,
813 203, 757, 173, 213, 633, 704, 201, 174, 697, 636,
814 198, 213, 204, 635, 638, 174, 696, 295, 198, 203,
815 204, 173, 227, 637, 695, 201, 694, 203, 639, 173,
816 202, 730, 732, 228, 170, 170, 170, 198, 202, 204,
817 170, 170, 170, 295, 733, 198, 203, 204, 267, 267,
818 267, 693, 228, 732, 203, 295, 744, 202, 295, 295,
819 201, 295, 735, 268, 753, 202, 316, 316, 316, 316,
820 316, 316, 267, 267, 267, 759, 327, 327, 327, 758,
821 328, 765, 318, 329, 692, 318, 295, 268, 334, 334,
822 334, 334, 334, 334, 346, 346, 346, 346, 346, 346,
824 350, 350, 350, 760, 336, 319, 295, 336, 691, 690,
825 348, 689, 688, 348, 295, 351, 352, 352, 352, 352,
826 352, 352, 357, 357, 357, 359, 359, 359, 359, 359,
827 359, 295, 354, 763, 766, 354, 764, 358, 337, 295,
828 295, 361, 767, 295, 361, 376, 376, 376, 349, 316,
829 316, 316, 316, 316, 316, 316, 316, 316, 687, 355,
830 377, 362, 384, 384, 384, 318, 295, 295, 318, 771,
831 761, 318, 387, 387, 387, 327, 327, 327, 762, 328,
832 295, 295, 329, 390, 390, 390, 769, 770, 381, 334,
833 334, 334, 334, 334, 334, 334, 334, 334, 391, 397,
835 397, 397, 399, 399, 399, 336, 771, 686, 336, 685,
836 680, 336, 679, 678, 398, 295, 768, 400, 403, 403,
837 403, 406, 406, 406, 346, 346, 346, 677, 676, 395,
838 346, 346, 346, 404, 392, 675, 407, 346, 346, 346,
839 348, 350, 350, 350, 674, 673, 348, 409, 409, 409,
840 672, 410, 671, 348, 411, 670, 351, 352, 352, 352,
841 352, 352, 352, 352, 352, 352, 357, 357, 357, 359,
842 359, 359, 669, 354, 408, 668, 354, 667, 666, 354,
843 662, 358, 414, 414, 414, 361, 415, 661, 660, 416,
844 359, 359, 359, 359, 359, 359, 421, 421, 421, 426,
846 426, 426, 659, 658, 412, 657, 361, 656, 655, 361,
847 654, 653, 422, 423, 428, 428, 428, 431, 431, 431,
848 376, 376, 376, 434, 434, 434, 652, 435, 651, 429,
849 436, 650, 432, 649, 648, 377, 438, 438, 438, 316,
850 316, 316, 647, 417, 443, 443, 443, 646, 439, 627,
851 626, 440, 384, 384, 384, 318, 446, 446, 446, 387,
852 387, 387, 448, 448, 448, 390, 390, 390, 450, 450,
853 450, 625, 451, 624, 620, 452, 599, 449, 442, 598,
854 391, 456, 456, 456, 458, 458, 458, 397, 397, 397,
855 597, 459, 459, 459, 596, 460, 593, 457, 461, 399,
857 399, 399, 398, 462, 462, 462, 585, 463, 581, 572,
858 464, 403, 403, 403, 400, 467, 467, 467, 571, 468,
859 570, 569, 469, 406, 406, 406, 404, 471, 471, 471,
860 562, 472, 561, 560, 473, 346, 346, 346, 407, 409,
861 409, 409, 554, 410, 553, 549, 411, 352, 352, 352,
862 544, 348, 414, 414, 414, 543, 415, 542, 541, 416,
863 359, 359, 359, 354, 421, 421, 421, 426, 426, 426,
864 428, 428, 428, 431, 431, 431, 361, 484, 484, 484,
865 422, 485, 540, 539, 486, 429, 474, 538, 432, 533,
866 531, 475, 488, 488, 488, 530, 489, 477, 527, 490,
868 526, 480, 434, 434, 434, 525, 435, 521, 519, 436,
869 438, 438, 438, 494, 494, 494, 515, 495, 481, 514,
870 496, 498, 498, 498, 513, 440, 443, 443, 443, 500,
871 500, 500, 446, 446, 446, 508, 507, 499, 502, 502,
872 502, 448, 448, 448, 503, 503, 503, 506, 504, 501,
873 497, 505, 493, 450, 450, 450, 449, 451, 492, 491,
874 452, 456, 456, 456, 458, 458, 458, 459, 459, 459,
875 487, 460, 483, 482, 461, 422, 478, 457, 462, 462,
876 462, 476, 463, 470, 466, 464, 467, 467, 467, 465,
877 468, 455, 454, 469, 471, 471, 471, 453, 472, 447,
879 445, 473, 516, 516, 516, 352, 352, 352, 359, 359,
880 359, 444, 484, 484, 484, 441, 485, 437, 517, 486,
881 433, 354, 430, 427, 361, 488, 488, 488, 425, 489,
882 424, 418, 490, 528, 528, 528, 494, 494, 494, 413,
883 495, 518, 405, 496, 498, 498, 498, 402, 529, 500,
884 500, 500, 401, 396, 520, 532, 532, 532, 394, 393,
885 499, 502, 502, 502, 503, 503, 503, 389, 504, 388,
886 386, 505, 534, 534, 534, 536, 536, 536, 516, 516,
887 516, 545, 545, 545, 547, 547, 547, 535, 385, 383,
888 537, 359, 359, 359, 517, 382, 380, 546, 555, 555,
890 555, 528, 528, 528, 557, 557, 557, 361, 558, 379,
891 378, 559, 375, 556, 374, 373, 529, 532, 532, 532,
892 534, 534, 534, 563, 563, 563, 372, 564, 371, 370,
893 565, 536, 536, 536, 369, 535, 368, 566, 566, 566,
894 367, 567, 366, 548, 568, 365, 537, 573, 573, 573,
895 575, 575, 575, 577, 577, 577, 545, 545, 545, 547,
896 547, 547, 574, 295, 363, 576, 356, 345, 578, 579,
897 579, 579, 546, 582, 582, 582, 586, 586, 586, 555,
898 555, 555, 579, 579, 579, 580, 588, 588, 588, 295,
899 589, 587, 344, 590, 556, 557, 557, 557, 580, 558,
901 343, 342, 559, 591, 591, 591, 594, 594, 594, 563,
902 563, 563, 341, 564, 340, 339, 565, 338, 592, 333,
903 332, 595, 566, 566, 566, 331, 567, 330, 326, 568,
904 573, 573, 573, 600, 600, 600, 325, 601, 324, 323,
905 602, 575, 575, 575, 322, 574, 603, 603, 603, 321,
906 604, 320, 315, 605, 314, 313, 576, 577, 577, 577,
907 606, 606, 606, 312, 607, 311, 310, 608, 582, 582,
908 582, 309, 578, 612, 612, 612, 586, 586, 586, 614,
909 614, 614, 308, 615, 295, 307, 616, 306, 613, 305,
910 304, 587, 588, 588, 588, 303, 589, 302, 301, 590,
912 298, 609, 591, 591, 591, 617, 617, 617, 296, 618,
913 295, 293, 619, 594, 594, 594, 292, 592, 621, 621,
914 621, 291, 622, 289, 288, 623, 287, 285, 595, 600,
915 600, 600, 284, 601, 282, 281, 602, 603, 603, 603,
916 280, 604, 279, 278, 605, 606, 606, 606, 277, 607,
917 276, 275, 608, 612, 612, 612, 643, 643, 643, 274,
918 644, 272, 271, 645, 270, 614, 614, 614, 613, 615,
919 269, 266, 616, 617, 617, 617, 265, 618, 264, 263,
920 619, 621, 621, 621, 262, 622, 261, 260, 623, 643,
921 643, 643, 259, 644, 257, 256, 645, 683, 683, 683,
923 698, 698, 698, 699, 699, 699, 683, 683, 683, 255,
924 254, 253, 684, 422, 252, 251, 295, 250, 700, 422,
925 249, 684, 422, 701, 701, 701, 248, 702, 247, 246,
926 703, 698, 698, 698, 699, 699, 699, 245, 244, 422,
927 239, 718, 718, 718, 236, 719, 238, 295, 720, 700,
928 422, 701, 701, 701, 234, 702, 233, 422, 703, 717,
929 231, 742, 742, 742, 754, 754, 754, 422, 420, 420,
930 420, 420, 420, 420, 420, 420, 420, 422, 423, 420,
931 295, 229, 420, 420, 420, 422, 420, 750, 750, 750,
932 226, 751, 224, 220, 752, 742, 742, 742, 219, 218,
934 420, 420, 420, 420, 420, 420, 420, 420, 420, 420,
935 420, 422, 217, 420, 216, 214, 420, 420, 420, 422,
936 420, 718, 718, 718, 211, 719, 210, 209, 720, 750,
937 750, 750, 480, 751, 420, 420, 752, 422, 420, 420,
938 420, 420, 420, 736, 420, 420, 420, 208, 207, 420,
939 205, 194, 420, 420, 420, 422, 420, 193, 192, 191,
940 190, 186, 184, 178, 177, 178, 746, 746, 746, 177,
941 420, 420, 420, 420, 420, 420, 420, 420, 420, 420,
942 736, 747, 176, 420, 175, 774, 420, 420, 420, 422,
943 420, 746, 746, 746, 754, 754, 754, 774, 755, 774,
945 774, 756, 774, 774, 420, 420, 747, 772, 772, 772,
946 295, 772, 772, 772, 774, 774, 774, 774, 774, 774,
947 774, 774, 774, 773, 774, 774, 774, 773, 68, 68,
948 68, 68, 68, 68, 68, 69, 69, 69, 69, 69,
949 69, 69, 74, 74, 74, 74, 74, 74, 74, 77,
950 77, 77, 77, 77, 77, 77, 80, 80, 80, 80,
951 80, 80, 80, 83, 83, 83, 83, 83, 83, 83,
952 90, 90, 90, 90, 90, 90, 90, 108, 108, 108,
953 108, 108, 108, 108, 126, 126, 126, 126, 126, 126,
954 126, 143, 143, 143, 143, 143, 143, 143, 149, 149,
956 149, 149, 149, 149, 149, 153, 153, 153, 153, 153,
957 153, 153, 161, 161, 161, 161, 161, 161, 161, 165,
958 165, 165, 165, 165, 165, 165, 187, 187, 187, 774,
959 187, 206, 206, 206, 774, 206, 215, 215, 215, 774,
960 215, 225, 225, 225, 774, 225, 230, 230, 230, 774,
961 230, 235, 235, 235, 235, 235, 774, 235, 258, 774,
962 258, 273, 774, 273, 283, 774, 283, 286, 774, 286,
963 290, 774, 290, 294, 294, 294, 294, 294, 294, 294,
964 300, 774, 774, 300, 317, 317, 317, 317, 317, 317,
965 335, 335, 335, 335, 335, 335, 347, 347, 347, 347,
967 347, 347, 353, 353, 353, 353, 353, 353, 360, 360,
968 360, 360, 360, 360, 420, 420, 420, 420, 420, 420,
969 420, 721, 721, 721, 721, 721, 721, 721, 722, 722,
970 722, 722, 722, 722, 722, 731, 731, 731, 731, 731,
971 731, 731, 734, 734, 734, 734, 734, 734, 734, 739,
972 739, 739, 739, 739, 739, 739, 741, 741, 741, 741,
973 741, 741, 741, 67, 774, 774, 774, 774, 774, 774,
974 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
975 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
976 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
978 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
979 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
983 static yyconst flex_int16_t yy_chk[2224] =
985 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
986 6, 6, 6, 9, 179, 3, 10, 11, 4, 12,
987 9, 5, 481, 10, 6, 7, 7, 7, 8, 8,
988 8, 13, 13, 11, 297, 12, 13, 13, 297, 7,
989 14, 14, 8, 481, 13, 14, 14, 15, 15, 101,
990 15, 72, 15, 14, 16, 16, 101, 16, 179, 16,
991 15, 17, 17, 18, 18, 72, 73, 16, 19, 19,
992 19, 20, 20, 20, 23, 23, 23, 24, 24, 24,
993 73, 107, 19, 142, 240, 20, 240, 107, 23, 142,
994 180, 24, 17, 180, 18, 21, 21, 21, 21, 21,
996 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
997 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
998 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
999 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1000 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1001 21, 21, 21, 21, 25, 25, 25, 26, 26, 26,
1002 27, 27, 27, 28, 28, 28, 463, 464, 25, 480,
1003 745, 26, 463, 464, 27, 523, 76, 28, 29, 29,
1004 29, 30, 30, 30, 31, 31, 31, 32, 32, 32,
1005 76, 522, 29, 551, 523, 30, 584, 522, 31, 480,
1007 99, 32, 33, 33, 33, 34, 34, 34, 35, 35,
1008 35, 36, 36, 36, 99, 741, 33, 732, 732, 34,
1009 740, 584, 35, 739, 551, 36, 37, 37, 37, 37,
1010 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
1011 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
1012 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
1013 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
1014 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
1015 37, 37, 37, 37, 37, 39, 39, 39, 40, 40,
1016 40, 41, 41, 41, 42, 42, 42, 524, 641, 39,
1018 610, 737, 40, 735, 583, 41, 733, 119, 42, 43,
1019 43, 43, 44, 44, 44, 45, 45, 45, 46, 46,
1020 46, 119, 723, 43, 583, 610, 44, 715, 641, 45,
1021 713, 524, 46, 47, 47, 47, 47, 47, 47, 47,
1022 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
1023 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
1024 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
1025 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
1026 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
1027 47, 47, 49, 49, 49, 50, 50, 50, 70, 70,
1029 70, 71, 71, 71, 711, 709, 49, 707, 705, 50,
1030 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
1031 51, 51, 51, 704, 51, 51, 51, 51, 51, 609,
1032 53, 53, 53, 54, 54, 54, 55, 55, 55, 56,
1033 56, 56, 51, 51, 53, 94, 135, 54, 237, 609,
1034 55, 642, 697, 56, 75, 75, 75, 696, 237, 94,
1035 135, 51, 52, 52, 52, 52, 52, 52, 52, 52,
1036 52, 52, 52, 52, 52, 94, 52, 52, 52, 52,
1037 52, 642, 57, 57, 57, 58, 58, 58, 59, 59,
1038 59, 60, 60, 60, 52, 52, 57, 744, 150, 58,
1040 695, 694, 59, 744, 693, 60, 96, 96, 96, 109,
1041 109, 109, 150, 52, 61, 61, 61, 61, 61, 61,
1042 61, 61, 61, 61, 61, 61, 61, 552, 61, 61,
1043 61, 61, 61, 692, 63, 63, 63, 64, 64, 64,
1044 116, 116, 116, 127, 127, 127, 61, 61, 63, 145,
1045 162, 64, 132, 132, 132, 611, 145, 86, 144, 144,
1046 144, 691, 552, 145, 162, 61, 62, 62, 62, 62,
1047 62, 62, 62, 62, 62, 62, 62, 62, 62, 690,
1048 62, 62, 62, 62, 62, 86, 611, 65, 65, 66,
1049 66, 86, 65, 112, 66, 479, 86, 110, 62, 62,
1051 65, 86, 66, 171, 110, 111, 479, 112, 147, 147,
1052 147, 110, 111, 154, 154, 154, 171, 62, 65, 111,
1053 66, 720, 640, 112, 689, 112, 113, 110, 663, 110,
1054 720, 664, 112, 364, 114, 111, 110, 111, 112, 640,
1055 113, 114, 110, 112, 111, 167, 364, 110, 114, 419,
1056 111, 663, 167, 128, 664, 111, 113, 688, 113, 167,
1057 128, 129, 719, 419, 114, 113, 114, 128, 159, 159,
1058 159, 113, 601, 114, 719, 129, 113, 730, 687, 114,
1059 130, 755, 602, 128, 114, 128, 601, 130, 155, 730,
1060 604, 129, 128, 129, 130, 155, 602, 686, 128, 605,
1062 129, 755, 155, 128, 604, 685, 129, 156, 680, 607,
1063 130, 129, 130, 605, 608, 157, 679, 717, 155, 130,
1064 155, 156, 157, 607, 678, 130, 677, 155, 608, 157,
1065 130, 717, 731, 155, 166, 166, 166, 156, 155, 156,
1066 170, 170, 170, 738, 731, 157, 156, 157, 207, 207,
1067 207, 676, 156, 734, 157, 748, 738, 156, 757, 756,
1068 157, 763, 734, 207, 748, 157, 258, 258, 258, 259,
1069 259, 259, 267, 267, 267, 757, 268, 268, 268, 756,
1070 268, 763, 258, 268, 675, 259, 758, 267, 273, 273,
1071 273, 274, 274, 274, 283, 283, 283, 284, 284, 284,
1073 285, 285, 285, 758, 273, 259, 765, 274, 674, 673,
1074 283, 672, 671, 284, 764, 285, 286, 286, 286, 287,
1075 287, 287, 289, 289, 289, 290, 290, 290, 291, 291,
1076 291, 759, 286, 761, 764, 287, 762, 289, 274, 760,
1077 761, 290, 765, 762, 291, 312, 312, 312, 284, 316,
1078 316, 316, 317, 317, 317, 319, 319, 319, 670, 287,
1079 312, 291, 322, 322, 322, 316, 767, 768, 317, 769,
1080 759, 319, 325, 325, 325, 327, 327, 327, 760, 327,
1081 766, 769, 327, 331, 331, 331, 767, 768, 319, 334,
1082 334, 334, 335, 335, 335, 337, 337, 337, 331, 339,
1084 339, 339, 340, 340, 340, 334, 770, 669, 335, 666,
1085 662, 337, 661, 660, 339, 770, 766, 340, 343, 343,
1086 343, 345, 345, 345, 346, 346, 346, 659, 658, 337,
1087 347, 347, 347, 343, 331, 657, 345, 349, 349, 349,
1088 346, 350, 350, 350, 656, 655, 347, 351, 351, 351,
1089 654, 351, 653, 349, 351, 652, 350, 352, 352, 352,
1090 353, 353, 353, 355, 355, 355, 357, 357, 357, 359,
1091 359, 359, 651, 352, 349, 650, 353, 648, 646, 355,
1092 639, 357, 358, 358, 358, 359, 358, 638, 637, 358,
1093 360, 360, 360, 362, 362, 362, 365, 365, 365, 370,
1095 370, 370, 636, 635, 355, 634, 360, 633, 632, 362,
1096 631, 630, 365, 365, 372, 372, 372, 374, 374, 374,
1097 376, 376, 376, 377, 377, 377, 629, 377, 628, 372,
1098 377, 627, 374, 626, 625, 376, 379, 379, 379, 381,
1099 381, 381, 624, 362, 382, 382, 382, 620, 379, 599,
1100 598, 379, 384, 384, 384, 381, 386, 386, 386, 387,
1101 387, 387, 389, 389, 389, 390, 390, 390, 391, 391,
1102 391, 597, 391, 596, 593, 391, 572, 389, 381, 571,
1103 390, 395, 395, 395, 396, 396, 396, 397, 397, 397,
1104 570, 398, 398, 398, 569, 398, 561, 395, 398, 399,
1106 399, 399, 397, 400, 400, 400, 553, 400, 549, 541,
1107 400, 403, 403, 403, 399, 404, 404, 404, 540, 404,
1108 539, 538, 404, 406, 406, 406, 403, 407, 407, 407,
1109 533, 407, 531, 530, 407, 408, 408, 408, 406, 409,
1110 409, 409, 526, 409, 525, 521, 409, 412, 412, 412,
1111 515, 408, 414, 414, 414, 514, 414, 513, 512, 414,
1112 417, 417, 417, 412, 421, 421, 421, 426, 426, 426,
1113 428, 428, 428, 431, 431, 431, 417, 429, 429, 429,
1114 421, 429, 511, 510, 429, 428, 408, 509, 431, 506,
1115 497, 412, 432, 432, 432, 493, 432, 417, 491, 432,
1117 487, 421, 434, 434, 434, 483, 434, 478, 476, 434,
1118 438, 438, 438, 440, 440, 440, 470, 440, 421, 466,
1119 440, 442, 442, 442, 465, 438, 443, 443, 443, 444,
1120 444, 444, 446, 446, 446, 455, 454, 442, 447, 447,
1121 447, 448, 448, 448, 449, 449, 449, 453, 449, 445,
1122 441, 449, 439, 450, 450, 450, 448, 450, 437, 433,
1123 450, 456, 456, 456, 458, 458, 458, 459, 459, 459,
1124 430, 459, 427, 423, 459, 420, 418, 456, 462, 462,
1125 462, 413, 462, 405, 402, 462, 467, 467, 467, 401,
1126 467, 394, 393, 467, 471, 471, 471, 392, 471, 388,
1128 385, 471, 474, 474, 474, 475, 475, 475, 477, 477,
1129 477, 383, 484, 484, 484, 380, 484, 378, 474, 484,
1130 375, 475, 373, 371, 477, 488, 488, 488, 369, 488,
1131 368, 363, 488, 492, 492, 492, 494, 494, 494, 356,
1132 494, 475, 344, 494, 498, 498, 498, 342, 492, 500,
1133 500, 500, 341, 338, 477, 501, 501, 501, 333, 332,
1134 498, 502, 502, 502, 503, 503, 503, 330, 503, 326,
1135 324, 503, 507, 507, 507, 508, 508, 508, 516, 516,
1136 516, 518, 518, 518, 519, 519, 519, 507, 323, 321,
1137 508, 520, 520, 520, 516, 320, 315, 518, 527, 527,
1139 527, 528, 528, 528, 529, 529, 529, 520, 529, 314,
1140 313, 529, 311, 527, 310, 309, 528, 532, 532, 532,
1141 534, 534, 534, 535, 535, 535, 308, 535, 307, 306,
1142 535, 536, 536, 536, 305, 534, 302, 537, 537, 537,
1143 301, 537, 300, 520, 537, 298, 536, 542, 542, 542,
1144 543, 543, 543, 544, 544, 544, 545, 545, 545, 547,
1145 547, 547, 542, 294, 292, 543, 288, 282, 544, 548,
1146 548, 548, 545, 550, 550, 550, 554, 554, 554, 555,
1147 555, 555, 579, 579, 579, 548, 556, 556, 556, 550,
1148 556, 554, 281, 556, 555, 557, 557, 557, 579, 557,
1150 280, 279, 557, 560, 560, 560, 562, 562, 562, 563,
1151 563, 563, 278, 563, 277, 276, 563, 275, 560, 272,
1152 271, 562, 566, 566, 566, 270, 566, 269, 266, 566,
1153 573, 573, 573, 574, 574, 574, 265, 574, 264, 263,
1154 574, 575, 575, 575, 262, 573, 576, 576, 576, 261,
1155 576, 260, 257, 576, 256, 255, 575, 577, 577, 577,
1156 578, 578, 578, 254, 578, 253, 252, 578, 582, 582,
1157 582, 251, 577, 585, 585, 585, 586, 586, 586, 587,
1158 587, 587, 250, 587, 582, 249, 587, 248, 585, 246,
1159 245, 586, 588, 588, 588, 244, 588, 243, 242, 588,
1161 238, 582, 591, 591, 591, 592, 592, 592, 236, 592,
1162 235, 234, 592, 594, 594, 594, 233, 591, 595, 595,
1163 595, 232, 595, 231, 228, 595, 227, 226, 594, 600,
1164 600, 600, 223, 600, 222, 221, 600, 603, 603, 603,
1165 220, 603, 219, 218, 603, 606, 606, 606, 217, 606,
1166 216, 213, 606, 612, 612, 612, 613, 613, 613, 212,
1167 613, 211, 210, 613, 209, 614, 614, 614, 612, 614,
1168 208, 204, 614, 617, 617, 617, 203, 617, 202, 201,
1169 617, 621, 621, 621, 200, 621, 199, 198, 621, 643,
1170 643, 643, 197, 643, 196, 195, 643, 665, 665, 665,
1172 681, 681, 681, 682, 682, 682, 683, 683, 683, 194,
1173 193, 192, 665, 665, 191, 190, 681, 189, 682, 682,
1174 188, 683, 683, 684, 684, 684, 185, 684, 184, 183,
1175 684, 698, 698, 698, 699, 699, 699, 182, 181, 684,
1176 175, 700, 700, 700, 174, 700, 172, 698, 700, 699,
1177 699, 701, 701, 701, 169, 701, 168, 700, 701, 698,
1178 164, 736, 736, 736, 753, 753, 753, 701, 702, 702,
1179 702, 702, 702, 702, 702, 702, 702, 736, 736, 702,
1180 753, 160, 702, 702, 702, 702, 702, 747, 747, 747,
1181 152, 747, 148, 141, 747, 742, 742, 742, 140, 139,
1183 702, 702, 703, 703, 703, 703, 703, 703, 703, 703,
1184 703, 742, 138, 703, 137, 133, 703, 703, 703, 703,
1185 703, 718, 718, 718, 125, 718, 124, 123, 718, 750,
1186 750, 750, 742, 750, 703, 703, 750, 718, 721, 721,
1187 721, 721, 721, 721, 721, 721, 721, 122, 121, 721,
1188 117, 106, 721, 721, 721, 721, 721, 105, 104, 103,
1189 102, 97, 93, 92, 91, 85, 743, 743, 743, 84,
1190 721, 721, 722, 722, 722, 722, 722, 722, 722, 722,
1191 722, 743, 82, 722, 79, 67, 722, 722, 722, 722,
1192 722, 746, 746, 746, 754, 754, 754, 0, 754, 0,
1194 0, 754, 0, 0, 722, 722, 746, 771, 771, 771,
1195 754, 772, 772, 772, 0, 0, 0, 0, 0, 0,
1196 0, 0, 0, 771, 0, 0, 0, 772, 775, 775,
1197 775, 775, 775, 775, 775, 776, 776, 776, 776, 776,
1198 776, 776, 777, 777, 777, 777, 777, 777, 777, 778,
1199 778, 778, 778, 778, 778, 778, 779, 779, 779, 779,
1200 779, 779, 779, 780, 780, 780, 780, 780, 780, 780,
1201 781, 781, 781, 781, 781, 781, 781, 782, 782, 782,
1202 782, 782, 782, 782, 783, 783, 783, 783, 783, 783,
1203 783, 784, 784, 784, 784, 784, 784, 784, 785, 785,
1205 785, 785, 785, 785, 785, 786, 786, 786, 786, 786,
1206 786, 786, 787, 787, 787, 787, 787, 787, 787, 788,
1207 788, 788, 788, 788, 788, 788, 789, 789, 789, 0,
1208 789, 790, 790, 790, 0, 790, 791, 791, 791, 0,
1209 791, 792, 792, 792, 0, 792, 793, 793, 793, 0,
1210 793, 794, 794, 794, 794, 794, 0, 794, 795, 0,
1211 795, 796, 0, 796, 797, 0, 797, 798, 0, 798,
1212 799, 0, 799, 800, 800, 800, 800, 800, 800, 800,
1213 801, 0, 0, 801, 802, 802, 802, 802, 802, 802,
1214 803, 803, 803, 803, 803, 803, 804, 804, 804, 804,
1216 804, 804, 805, 805, 805, 805, 805, 805, 806, 806,
1217 806, 806, 806, 806, 807, 807, 807, 807, 807, 807,
1218 807, 808, 808, 808, 808, 808, 808, 808, 809, 809,
1219 809, 809, 809, 809, 809, 810, 810, 810, 810, 810,
1220 810, 810, 811, 811, 811, 811, 811, 811, 811, 812,
1221 812, 812, 812, 812, 812, 812, 813, 813, 813, 813,
1222 813, 813, 813, 774, 774, 774, 774, 774, 774, 774,
1223 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
1224 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
1225 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
1227 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
1228 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
1232 /* Table of booleans, true if rule could match eol. */
1233 static yyconst flex_int32_t yy_rule_can_match_eol[141] =
1235 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
1236 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
1237 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
1238 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1239 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1,
1240 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0,
1241 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1,
1244 static yy_state_type yy_last_accepting_state;
1245 static char *yy_last_accepting_cpos;
1247 extern int dax__flex_debug;
1248 int dax__flex_debug = 0;
1250 /* The intent behind this definition is that it'll catch
1251 * any uses of REJECT which flex missed.
1253 #define REJECT reject_used_but_not_detected
1254 #define yymore() yymore_used_but_not_detected
1255 #define YY_MORE_ADJ 0
1256 #define YY_RESTORE_YY_MORE_OFFSET
1258 /* Validating XML processor for src/simdag/dax.dtd.
1260 * This program was generated with the FleXML XML processor generator.
1261 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
1262 * FleXML is Copyright (C) 2003-2011 Martin Quinson. All rights reserved.
1263 * (Id: flexml.pl,v 1.67 2011/11/01 20:49:21 mquinson Exp).
1265 * There are two, intertwined parts to this program, part A and part B.
1270 * Some parts, here collectively called "Part A", are found in the
1271 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
1272 * and Copyright (C) 2003-2011 Martin Quinson. All rights reserved.
1274 * You can redistribute, use, perform, display and/or modify "Part A"
1275 * provided the following two conditions hold:
1277 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
1278 * FleXML; without even the implied warranty of MERCHANTABILITY or
1279 * FITNESS FOR A PARTICULAR PURPOSE.
1281 * 2. The program distribution conditions do not in any way affect the
1282 * distribution conditions of the FleXML system used to generate this
1283 * file or any version of FleXML derived from that system.
1285 * Notice that these are explicit rights granted to you for files
1286 * generated by the FleXML system. For your rights in connection with
1287 * the FleXML system itself please consult the GNU General Public License.
1292 * The other parts, here collectively called "Part B", and which came
1293 * from the DTD used by FleXML to generate this program, can be
1294 * distributed (or not, as the case may be) under the terms of whoever
1295 * wrote them, provided these terms respect and obey the two conditions
1296 * above under the heading "Part A".
1298 * The author of and contributors to FleXML specifically disclaim
1299 * any copyright interest in "Part B", unless "Part B" was written
1300 * by the author of or contributors to FleXML.
1304 /* Version strings. */
1305 const char rcs_dax__flexml_skeleton[] =
1306 "$" "Id: skel,v 1.40 2007/10/11 09:57:24 mquinson Exp $";
1307 const char rcs_dax__flexml[] =
1308 "$" "Id: flexml.pl,v 1.67 2011/11/01 20:49:21 mquinson Exp $";
1311 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
1318 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
1319 # ifndef __STRICT_ANSI__
1321 # include <process.h>
1324 # include <unistd.h>
1327 #ifndef FLEXML_INDEXSTACKSIZE
1328 #define FLEXML_INDEXSTACKSIZE 1000
1331 /* Generated definitions. */
1332 #define FLEXML_yylineno
1333 #ifndef FLEXML_BUFFERSTACKSIZE
1334 #define FLEXML_BUFFERSTACKSIZE 1000000
1336 #define FLEXML_NEED_BUFFERLIT
1338 /* XML processor api. */
1339 /* FleXML-provided data. */
1341 extern char *dax__bufferstack;
1342 #define dax__pcdata (dax__bufferstack + dax__pcdata_ix)
1343 AT_dax__adag_version AX_dax__adag_version;
1344 #define A_dax__adag_version (dax__bufferstack + AX_dax__adag_version)
1345 short int dax__adag_version_isset;
1346 AT_dax__uses_type AX_dax__uses_type;
1347 #define A_dax__uses_type (dax__bufferstack + AX_dax__uses_type)
1348 short int dax__uses_type_isset;
1349 AT_dax__uses_optional AX_dax__uses_optional;
1350 #define A_dax__uses_optional AX_dax__uses_optional
1351 short int dax__uses_optional_isset;
1352 AT_dax__adag_name AX_dax__adag_name;
1353 #define A_dax__adag_name (dax__bufferstack + AX_dax__adag_name)
1354 short int dax__adag_name_isset;
1355 AT_dax__child_ref AX_dax__child_ref;
1356 #define A_dax__child_ref (dax__bufferstack + AX_dax__child_ref)
1357 short int dax__child_ref_isset;
1358 AT_dax__adag_xmlns AX_dax__adag_xmlns;
1359 #define A_dax__adag_xmlns (dax__bufferstack + AX_dax__adag_xmlns)
1360 short int dax__adag_xmlns_isset;
1361 AT_dax__uses_transfer AX_dax__uses_transfer;
1362 #define A_dax__uses_transfer AX_dax__uses_transfer
1363 short int dax__uses_transfer_isset;
1364 AT_dax__job_id AX_dax__job_id;
1365 #define A_dax__job_id (dax__bufferstack + AX_dax__job_id)
1366 short int dax__job_id_isset;
1367 AT_dax__uses_file AX_dax__uses_file;
1368 #define A_dax__uses_file (dax__bufferstack + AX_dax__uses_file)
1369 short int dax__uses_file_isset;
1370 AT_dax__parent_ref AX_dax__parent_ref;
1371 #define A_dax__parent_ref (dax__bufferstack + AX_dax__parent_ref)
1372 short int dax__parent_ref_isset;
1373 AT_dax__adag_count AX_dax__adag_count;
1374 #define A_dax__adag_count (dax__bufferstack + AX_dax__adag_count)
1375 short int dax__adag_count_isset;
1376 AT_dax__adag_xmlns_c_xsi AX_dax__adag_xmlns_c_xsi;
1377 #define A_dax__adag_xmlns_c_xsi (dax__bufferstack + AX_dax__adag_xmlns_c_xsi)
1378 short int dax__adag_xmlns_c_xsi_isset;
1379 AT_dax__adag_index AX_dax__adag_index;
1380 #define A_dax__adag_index (dax__bufferstack + AX_dax__adag_index)
1381 short int dax__adag_index_isset;
1382 AT_dax__uses_size AX_dax__uses_size;
1383 #define A_dax__uses_size (dax__bufferstack + AX_dax__uses_size)
1384 short int dax__uses_size_isset;
1385 AT_dax__adag_childCount AX_dax__adag_childCount;
1386 #define A_dax__adag_childCount (dax__bufferstack + AX_dax__adag_childCount)
1387 short int dax__adag_childCount_isset;
1388 AT_dax__uses_link AX_dax__uses_link;
1389 #define A_dax__uses_link AX_dax__uses_link
1390 short int dax__uses_link_isset;
1391 AT_dax__job_runtime AX_dax__job_runtime;
1392 #define A_dax__job_runtime (dax__bufferstack + AX_dax__job_runtime)
1393 short int dax__job_runtime_isset;
1394 AT_dax__job_level AX_dax__job_level;
1395 #define A_dax__job_level (dax__bufferstack + AX_dax__job_level)
1396 short int dax__job_level_isset;
1397 AT_dax__job_namespace AX_dax__job_namespace;
1398 #define A_dax__job_namespace (dax__bufferstack + AX_dax__job_namespace)
1399 short int dax__job_namespace_isset;
1400 AT_dax__job_name AX_dax__job_name;
1401 #define A_dax__job_name (dax__bufferstack + AX_dax__job_name)
1402 short int dax__job_name_isset;
1403 AT_dax__adag_jobCount AX_dax__adag_jobCount;
1404 #define A_dax__adag_jobCount (dax__bufferstack + AX_dax__adag_jobCount)
1405 short int dax__adag_jobCount_isset;
1406 AT_dax__job_version AX_dax__job_version;
1407 #define A_dax__job_version (dax__bufferstack + AX_dax__job_version)
1408 short int dax__job_version_isset;
1409 AT_dax__adag_xsi_c_schemaLocation AX_dax__adag_xsi_c_schemaLocation;
1410 #define A_dax__adag_xsi_c_schemaLocation (dax__bufferstack + AX_dax__adag_xsi_c_schemaLocation)
1411 short int dax__adag_xsi_c_schemaLocation_isset;
1412 AT_dax__uses_register AX_dax__uses_register;
1413 #define A_dax__uses_register AX_dax__uses_register
1414 short int dax__uses_register_isset;
1415 AT_dax__adag_fileCount AX_dax__adag_fileCount;
1416 #define A_dax__adag_fileCount (dax__bufferstack + AX_dax__adag_fileCount)
1417 short int dax__adag_fileCount_isset;
1421 # define ENTER(state) debug_enter(state,#state)
1422 # define LEAVE debug_leave()
1423 # define SET(state) debug_set(state,#state)
1424 static void debug_enter(int, const char*);
1425 static void debug_leave(void);
1426 static void debug_set(int, const char*);
1428 # define ENTER(state) (yy_push_state(state))
1429 # define LEAVE (yy_pop_state())
1430 # define SET(state) BEGIN(state)
1433 /* Generic actions. */
1434 #define SKIP /*skip*/
1435 #define SUCCEED CLEANUP; return 0
1437 #define FAIL return fail
1438 static int fail(const char*, ...);
1440 enum {flexml_max_err_msg_size = 512};
1441 static char flexml_err_msg[flexml_max_err_msg_size];
1442 const char * dax__parse_err_msg()
1444 return flexml_err_msg;
1446 static void reset_dax__parse_err_msg()
1448 flexml_err_msg[0] = '\0';
1452 static void cleanup(void);
1453 #define CLEANUP cleanup()
1455 /* Text buffer stack handling. */
1456 char *dax__bufferstack = NULL;
1457 static int blimit = FLEXML_BUFFERSTACKSIZE;
1458 static int bnext = 1;
1460 static int *indexstack = NULL;
1461 static int ilimit = FLEXML_INDEXSTACKSIZE;
1462 static int inext = 1;
1464 #define BUFFERSET(P) (P = bnext)
1465 #define BUFFERPUTC(C) (ck_blimit(), dax__bufferstack[bnext++] = (C))
1466 #define BUFFERDONE (BUFFERPUTC('\0'))
1468 #define BUFFERLITERAL(C, P) dax__bufferliteral(C, &(P), dax_text)
1470 /* after this is called, there are at least 2 slots left in the stack */
1471 static int ck_blimit()
1473 if (bnext >= blimit) {
1474 blimit += FLEXML_BUFFERSTACKSIZE + 2;
1476 char *temp = (char *) realloc(dax__bufferstack, blimit);
1478 dax__bufferstack = temp;
1484 /* after this is called, there are at least 2 slots left in the stack */
1485 static int ck_ilimit()
1487 if (inext >= ilimit) {
1488 ilimit += FLEXML_INDEXSTACKSIZE + 2;
1490 int *temp = (int *) realloc(indexstack, ilimit);
1498 #ifdef FLEXML_NEED_BUFFERLIT
1499 static void dax__bufferliteral(char c, int* pp, const char* text)
1501 const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c);
1502 assert(s <= e); BUFFERSET(*pp);
1504 if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
1505 else BUFFERPUTC(*s);
1511 static void pushbuffer(int p)
1514 indexstack[inext++] = p;
1515 indexstack[inext++] = bnext;
1518 static int popbuffer(void)
1521 bnext = indexstack[--inext];
1522 return indexstack[--inext];
1525 /* General internal entities are `unput' back onto the input stream... */
1526 #define ENTITYTEXT(T) \
1527 { char *s = (T), *e = s+strlen(s);\
1528 while (--e >= s) { unput(*e); }}
1530 /* Flex standard options. */
1531 #define YY_NO_INPUT 1
1532 /* Flex user-requested options. */
1533 /* XML character classes (currently restricted to ASCII). */
1534 /* "Common syntactic structures." */
1535 /* "Names and Tokens." */
1536 /* Miscellaneous. */
1537 /* Parser states (flex `exclusive start conditions'):
1539 * PROLOG the XML prolog of the document before <?xml...>
1540 * DOCTYPE the XML prolog of the document after <?xml...>
1541 * EPILOG after the root element
1542 * INCOMMENT inside an XML comment <!--....-->
1543 * INPI inside an XML PI <?...?>
1544 * VALUE1 inside a '...'-delimited literal
1545 * VALUE2 inside a "..."-delimited literal
1546 * CDATA inside a <![CDATA[...] ]> section.
1547 * ROOT_<tag> expect root element <tag>
1548 * AL_<tag> inside the attribute list for <tag>
1549 * IN_<tag> inside a <tag> with element contents (ready for end tag)
1550 * IMPOSSIBLE dummy to permit disabling rules; must be last
1554 const char* *dax__statenames=NULL;
1565 #define ROOT_dax__adag 9
1566 #define AL_dax__adag 10
1567 #define S_dax__adag 11
1568 #define S_dax__adag_1 12
1569 #define S_dax__adag_2 13
1570 #define S_dax__adag_3 14
1571 #define S_dax__adag_4 15
1572 #define S_dax__adag_5 16
1573 #define E_dax__adag 17
1574 #define AL_dax__job 18
1575 #define S_dax__job 19
1576 #define S_dax__job_1 20
1577 #define S_dax__job_2 21
1578 #define E_dax__job 22
1579 #define AL_dax__uses 23
1580 #define E_dax__uses 24
1581 #define AL_dax__child 25
1582 #define S_dax__child 26
1583 #define S_dax__child_1 27
1584 #define S_dax__child_2 28
1585 #define E_dax__child 29
1586 #define AL_dax__parent 30
1587 #define E_dax__parent 31
1588 #define IMPOSSIBLE 32
1590 #ifndef YY_NO_UNISTD_H
1591 /* Special case for "unistd.h", since it is non-ANSI. We include it way
1592 * down here because we want the user's section 1 to have been scanned first.
1593 * The user has a chance to override it with an option.
1595 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
1596 # ifndef __STRICT_ANSI__
1598 # include <process.h>
1601 # include <unistd.h>
1605 #ifndef YY_EXTRA_TYPE
1606 #define YY_EXTRA_TYPE void *
1609 static int yy_init_globals (void );
1611 /* Accessor methods to globals.
1612 These are made visible to non-reentrant scanners for convenience. */
1614 int dax_lex_destroy (void );
1616 int dax_get_debug (void );
1618 void dax_set_debug (int debug_flag );
1620 YY_EXTRA_TYPE dax_get_extra (void );
1622 void dax_set_extra (YY_EXTRA_TYPE user_defined );
1624 FILE *dax_get_in (void );
1626 void dax_set_in (FILE * in_str );
1628 FILE *dax_get_out (void );
1630 void dax_set_out (FILE * out_str );
1632 int dax_get_leng (void );
1634 char *dax_get_text (void );
1636 int dax_get_lineno (void );
1638 void dax_set_lineno (int line_number );
1640 /* Macros after this point can all be overridden by user definitions in
1644 #ifndef YY_SKIP_YYWRAP
1646 extern "C" int dax_wrap (void );
1648 extern int dax_wrap (void );
1653 static void yy_flex_strncpy (char *,yyconst char *,int );
1656 #ifdef YY_NEED_STRLEN
1657 static int yy_flex_strlen (yyconst char * );
1663 static int yyinput (void );
1665 static int input (void );
1670 static int yy_start_stack_ptr = 0;
1671 static int yy_start_stack_depth = 0;
1672 static int *yy_start_stack = NULL;
1674 static void yy_push_state (int new_state );
1676 static void yy_pop_state (void );
1678 /* Amount of stuff to slurp up with each read. */
1679 #ifndef YY_READ_BUF_SIZE
1681 /* On IA-64, the buffer size is 16k, not 8k */
1682 #define YY_READ_BUF_SIZE 16384
1684 #define YY_READ_BUF_SIZE 8192
1685 #endif /* __ia64__ */
1688 /* Copy whatever the last rule matched to the standard output. */
1690 /* This used to be an fputs(), but since the string might contain NUL's,
1691 * we now use fwrite().
1693 #define ECHO do { if (fwrite( dax_text, dax_leng, 1, dax_out )) {} } while (0)
1696 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1697 * is returned in "result".
1700 #define YY_INPUT(buf,result,max_size) \
1701 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1705 for ( n = 0; n < max_size && \
1706 (c = getc( dax_in )) != EOF && c != '\n'; ++n ) \
1707 buf[n] = (char) c; \
1709 buf[n++] = (char) c; \
1710 if ( c == EOF && ferror( dax_in ) ) \
1711 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1717 while ( (result = fread(buf, 1, max_size, dax_in))==0 && ferror(dax_in)) \
1719 if( errno != EINTR) \
1721 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1732 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1733 * we don't want an extra ';' after the "return" because that will cause
1734 * some compilers to complain about unreachable statements.
1737 #define yyterminate() return YY_NULL
1740 /* Number of entries by which start-condition stack grows. */
1741 #ifndef YY_START_STACK_INCR
1742 #define YY_START_STACK_INCR 25
1745 /* Report a fatal error. */
1746 #ifndef YY_FATAL_ERROR
1747 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1750 /* end tables serialization structures and prototypes */
1752 /* Default declaration of generated scanner - a define so the user can
1753 * easily add parameters.
1756 #define YY_DECL_IS_OURS 1
1758 extern int dax_lex (void);
1760 #define YY_DECL int dax_lex (void)
1761 #endif /* !YY_DECL */
1763 /* Code executed at the beginning of each rule, after dax_text and dax_leng
1766 #ifndef YY_USER_ACTION
1767 #define YY_USER_ACTION
1770 /* Code executed at the end of each rule. */
1772 #define YY_BREAK break;
1775 #define YY_RULE_SETUP \
1778 /** The main scanner function which does all the work.
1782 register yy_state_type yy_current_state;
1783 register char *yy_cp, *yy_bp;
1784 register int yy_act;
1786 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
1788 reset_dax__parse_err_msg();
1789 dax__bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
1790 assert(dax__bufferstack);
1794 for (i = 0; i < blimit; i++) {
1795 dax__bufferstack[i] = '\377';
1799 dax__bufferstack[0] = '\0';
1800 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
1806 dax__bufferliteral('\0', &bnext, "http://pegasus.isi.edu/schema/DAX");
1807 dax__bufferliteral('\0', &bnext, "http://www.w3.org/2001/XMLSchema-instance");
1808 dax__bufferliteral('\0', &bnext, "http://pegasus.isi.edu/schema/DAX http://pegasus.isi.edu/schema/dax-2.1.xsd");
1809 dax__bufferliteral('\0', &bnext, "1.0");
1810 dax__bufferliteral('\0', &bnext, "0.0");
1811 dax__bufferliteral('\0', &bnext, "data");
1812 if(!dax__statenames) {dax__statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
1813 dax__statenames[PROLOG] = NULL;
1814 dax__statenames[DOCTYPE] = NULL;
1815 dax__statenames[EPILOG] = NULL;
1816 dax__statenames[INCOMMENT] = NULL;
1817 dax__statenames[INPI] = NULL;
1818 dax__statenames[VALUE1] = NULL;
1819 dax__statenames[VALUE2] = NULL;
1820 dax__statenames[CDATA] = NULL;
1821 dax__statenames[ROOT_dax__adag] = NULL;
1822 dax__statenames[AL_dax__adag] = NULL;
1823 dax__statenames[S_dax__adag] = "adag";
1824 dax__statenames[S_dax__adag_1] = "adag";
1825 dax__statenames[S_dax__adag_2] = "adag";
1826 dax__statenames[S_dax__adag_3] = "adag";
1827 dax__statenames[S_dax__adag_4] = "adag";
1828 dax__statenames[S_dax__adag_5] = "adag";
1829 dax__statenames[E_dax__adag] = "adag";
1830 dax__statenames[AL_dax__job] = NULL;
1831 dax__statenames[S_dax__job] = "job";
1832 dax__statenames[S_dax__job_1] = "job";
1833 dax__statenames[S_dax__job_2] = "job";
1834 dax__statenames[E_dax__job] = "job";
1835 dax__statenames[AL_dax__uses] = NULL;
1836 dax__statenames[E_dax__uses] = "uses";
1837 dax__statenames[AL_dax__child] = NULL;
1838 dax__statenames[S_dax__child] = "child";
1839 dax__statenames[S_dax__child_1] = "child";
1840 dax__statenames[S_dax__child_2] = "child";
1841 dax__statenames[E_dax__child] = "child";
1842 dax__statenames[AL_dax__parent] = NULL;
1843 dax__statenames[E_dax__parent] = "parent";
1846 /* COMMENTS and PIs: handled uniformly for efficiency. */
1857 (yy_start) = 1; /* first start state */
1865 if ( ! YY_CURRENT_BUFFER ) {
1866 dax_ensure_buffer_stack ();
1867 YY_CURRENT_BUFFER_LVALUE =
1868 dax__create_buffer(dax_in,YY_BUF_SIZE );
1871 dax__load_buffer_state( );
1874 while ( 1 ) /* loops until end-of-file is reached */
1876 yy_cp = (yy_c_buf_p);
1878 /* Support of dax_text. */
1879 *yy_cp = (yy_hold_char);
1881 /* yy_bp points to the position in yy_ch_buf of the start of
1886 yy_current_state = (yy_start);
1890 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1891 if ( yy_accept[yy_current_state] )
1893 (yy_last_accepting_state) = yy_current_state;
1894 (yy_last_accepting_cpos) = yy_cp;
1896 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1898 yy_current_state = (int) yy_def[yy_current_state];
1899 if ( yy_current_state >= 775 )
1900 yy_c = yy_meta[(unsigned int) yy_c];
1902 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1905 while ( yy_base[yy_current_state] != 2164 );
1908 yy_act = yy_accept[yy_current_state];
1910 { /* have to back up */
1911 yy_cp = (yy_last_accepting_cpos);
1912 yy_current_state = (yy_last_accepting_state);
1913 yy_act = yy_accept[yy_current_state];
1916 YY_DO_BEFORE_ACTION;
1918 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
1921 for ( yyl = 0; yyl < dax_leng; ++yyl )
1922 if ( dax_text[yyl] == '\n' )
1928 do_action: /* This label is used only to access EOF actions. */
1931 { /* beginning of action switch */
1932 case 0: /* must back up */
1933 /* undo the effects of YY_DO_BEFORE_ACTION */
1934 *yy_cp = (yy_hold_char);
1935 yy_cp = (yy_last_accepting_cpos);
1936 yy_current_state = (yy_last_accepting_state);
1937 goto yy_find_action;
1955 /* rule 6 can match eol */
1959 case YY_STATE_EOF(INCOMMENT):
1960 FAIL("EOF in comment.");
1969 /* rule 9 can match eol */
1973 case YY_STATE_EOF(INPI):
1974 FAIL("EOF in PI (processing instruction).");
1977 /* SPACES: skipped uniformly */
1979 /* rule 10 can match eol */
1983 /* PROLOG: determine root element and process it. */
1986 /* rule 11 can match eol */
1988 SET(ROOT_dax__adag);
1991 /* rule 12 can match eol */
1993 FAIL("Bad declaration %s.",dax_text);
1997 /* rule 13 can match eol */
1999 SET(ROOT_dax__adag);
2002 /* rule 14 can match eol */
2004 FAIL("Bad declaration %s.",dax_text);
2008 FAIL("Unexpected character `%c' in prolog.", dax_text[0]);
2010 case YY_STATE_EOF(PROLOG):
2011 case YY_STATE_EOF(DOCTYPE):
2012 FAIL("EOF in prolog.");
2015 /* RULES DERIVED FROM DTD. */
2016 /* <!-- Small DTD for DAX files. --> */
2018 /* rule 16 can match eol */
2020 FAIL("Starting tag <adag> is not allowed here.");
2023 /* rule 17 can match eol */
2026 AX_dax__adag_xmlns = 1;
2027 dax__adag_xmlns_isset = 0;
2028 AX_dax__adag_xmlns_c_xsi = 35;
2029 dax__adag_xmlns_c_xsi_isset = 0;
2030 AX_dax__adag_xsi_c_schemaLocation = 77;
2031 dax__adag_xsi_c_schemaLocation_isset = 0;
2032 AX_dax__adag_version = 153;
2033 dax__adag_version_isset = 0;
2034 AX_dax__adag_count = 0;
2035 dax__adag_count_isset = 0;
2036 AX_dax__adag_index = 0;
2037 dax__adag_index_isset = 0;
2038 AX_dax__adag_name = 0;
2039 dax__adag_name_isset = 0;
2040 AX_dax__adag_jobCount = 0;
2041 dax__adag_jobCount_isset = 0;
2042 AX_dax__adag_fileCount = 0;
2043 dax__adag_fileCount_isset = 0;
2044 AX_dax__adag_childCount = 0;
2045 dax__adag_childCount_isset = 0;
2046 ENTER(AL_dax__adag); pushbuffer(0);
2051 /* rule 18 can match eol */
2053 if (dax__adag_xmlns_isset != 0) {FAIL("Multiple definition of attribute xmlns in <dax__adag>");} dax__adag_xmlns_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__adag_xmlns);
2056 /* rule 19 can match eol */
2058 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);
2061 /* rule 20 can match eol */
2063 if (dax__adag_xmlns_c_xsi_isset != 0) {FAIL("Multiple definition of attribute xmlns:xsi in <dax__adag>");} dax__adag_xmlns_c_xsi_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__adag_xmlns_c_xsi);
2066 /* rule 21 can match eol */
2068 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);
2071 /* rule 22 can match eol */
2073 if (dax__adag_xsi_c_schemaLocation_isset != 0) {FAIL("Multiple definition of attribute xsi:schemaLocation in <dax__adag>");} dax__adag_xsi_c_schemaLocation_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__adag_xsi_c_schemaLocation);
2076 /* rule 23 can match eol */
2078 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);
2081 /* rule 24 can match eol */
2083 if (dax__adag_version_isset != 0) {FAIL("Multiple definition of attribute version in <dax__adag>");} dax__adag_version_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__adag_version);
2086 /* rule 25 can match eol */
2088 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);
2091 /* rule 26 can match eol */
2093 if (dax__adag_count_isset != 0) {FAIL("Multiple definition of attribute count in <dax__adag>");} dax__adag_count_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__adag_count);
2096 /* rule 27 can match eol */
2098 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);
2101 /* rule 28 can match eol */
2103 if (dax__adag_index_isset != 0) {FAIL("Multiple definition of attribute index in <dax__adag>");} dax__adag_index_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__adag_index);
2106 /* rule 29 can match eol */
2108 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);
2111 /* rule 30 can match eol */
2113 if (dax__adag_name_isset != 0) {FAIL("Multiple definition of attribute name in <dax__adag>");} dax__adag_name_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__adag_name);
2116 /* rule 31 can match eol */
2118 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);
2121 /* rule 32 can match eol */
2123 if (dax__adag_jobCount_isset != 0) {FAIL("Multiple definition of attribute jobCount in <dax__adag>");} dax__adag_jobCount_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__adag_jobCount);
2126 /* rule 33 can match eol */
2128 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);
2131 /* rule 34 can match eol */
2133 if (dax__adag_fileCount_isset != 0) {FAIL("Multiple definition of attribute fileCount in <dax__adag>");} dax__adag_fileCount_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__adag_fileCount);
2136 /* rule 35 can match eol */
2138 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);
2141 /* rule 36 can match eol */
2143 if (dax__adag_childCount_isset != 0) {FAIL("Multiple definition of attribute childCount in <dax__adag>");} dax__adag_childCount_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__adag_childCount);
2146 /* rule 37 can match eol */
2148 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);
2153 LEAVE; STag_dax__adag();dax__pcdata_ix = 0; ENTER(S_dax__adag);
2159 LEAVE; STag_dax__adag(); dax__pcdata_ix = 0; ETag_dax__adag(); popbuffer(); /* attribute */
2161 case ROOT_dax__adag: SET(EPILOG); break;
2167 FAIL("Unexpected character `%c' in attribute list of adag element.", dax_text[0]);
2171 FAIL("Bad attribute `%s' in `adag' element start tag.",dax_text);
2173 case YY_STATE_EOF(AL_dax__adag):
2174 FAIL("EOF in attribute list of `adag' element.");
2178 /* rule 42 can match eol */
2183 popbuffer(); /* attribute */
2185 case ROOT_dax__adag: SET(EPILOG); break;
2190 /* rule 43 can match eol */
2192 FAIL("Unexpected end-tag `%s': `</adag>' expected.",dax_text);
2196 FAIL("Unexpected character `%c': `</adag>' expected.",dax_text[0]);
2198 case YY_STATE_EOF(S_dax__adag_1):
2199 case YY_STATE_EOF(S_dax__adag_5):
2200 case YY_STATE_EOF(E_dax__adag):
2201 case YY_STATE_EOF(S_dax__adag_3):
2202 case YY_STATE_EOF(S_dax__adag):
2203 FAIL("Premature EOF: `</adag>' expected.");
2207 /* rule 45 can match eol */
2209 FAIL("Starting tag <job> is not allowed here.");
2212 /* rule 46 can match eol */
2216 dax__job_id_isset = 0;
2217 AX_dax__job_namespace = 0;
2218 dax__job_namespace_isset = 0;
2219 AX_dax__job_name = 0;
2220 dax__job_name_isset = 0;
2221 AX_dax__job_version = 157;
2222 dax__job_version_isset = 0;
2223 AX_dax__job_runtime = 0;
2224 dax__job_runtime_isset = 0;
2225 AX_dax__job_level = 0;
2226 dax__job_level_isset = 0;
2227 ENTER(AL_dax__job); pushbuffer(0);
2232 /* rule 47 can match eol */
2234 if (dax__job_id_isset != 0) {FAIL("Multiple definition of attribute id in <dax__job>");} dax__job_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__job_id);
2237 /* rule 48 can match eol */
2239 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);
2242 /* rule 49 can match eol */
2244 if (dax__job_namespace_isset != 0) {FAIL("Multiple definition of attribute namespace in <dax__job>");} dax__job_namespace_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__job_namespace);
2247 /* rule 50 can match eol */
2249 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);
2252 /* rule 51 can match eol */
2254 if (dax__job_name_isset != 0) {FAIL("Multiple definition of attribute name in <dax__job>");} dax__job_name_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__job_name);
2257 /* rule 52 can match eol */
2259 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);
2262 /* rule 53 can match eol */
2264 if (dax__job_version_isset != 0) {FAIL("Multiple definition of attribute version in <dax__job>");} dax__job_version_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__job_version);
2267 /* rule 54 can match eol */
2269 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);
2272 /* rule 55 can match eol */
2274 if (dax__job_runtime_isset != 0) {FAIL("Multiple definition of attribute runtime in <dax__job>");} dax__job_runtime_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__job_runtime);
2277 /* rule 56 can match eol */
2279 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);
2282 /* rule 57 can match eol */
2284 if (dax__job_level_isset != 0) {FAIL("Multiple definition of attribute level in <dax__job>");} dax__job_level_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__job_level);
2287 /* rule 58 can match eol */
2289 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);
2294 if (!AX_dax__job_id) FAIL("Required attribute `id' not set for `job' element.");
2295 if (!AX_dax__job_name) FAIL("Required attribute `name' not set for `job' element.");
2296 if (!AX_dax__job_runtime) FAIL("Required attribute `runtime' not set for `job' element.");
2297 LEAVE; STag_dax__job();dax__pcdata_ix = 0; ENTER(S_dax__job);
2303 if (!AX_dax__job_id) FAIL("Required attribute `id' not set for `job' element.");
2304 if (!AX_dax__job_name) FAIL("Required attribute `name' not set for `job' element.");
2305 if (!AX_dax__job_runtime) FAIL("Required attribute `runtime' not set for `job' element.");
2306 LEAVE; STag_dax__job(); dax__pcdata_ix = 0; ETag_dax__job(); popbuffer(); /* attribute */
2308 case S_dax__adag_2: case S_dax__adag_3: case S_dax__adag: SET(S_dax__adag_3); break;
2314 FAIL("Unexpected character `%c' in attribute list of job element.", dax_text[0]);
2318 FAIL("Bad attribute `%s' in `job' element start tag.",dax_text);
2320 case YY_STATE_EOF(AL_dax__job):
2321 FAIL("EOF in attribute list of `job' element.");
2325 /* rule 63 can match eol */
2330 popbuffer(); /* attribute */
2332 case S_dax__adag_2: case S_dax__adag_3: case S_dax__adag: SET(S_dax__adag_3); break;
2337 /* rule 64 can match eol */
2339 FAIL("Unexpected end-tag `%s': `</job>' expected.",dax_text);
2343 FAIL("Unexpected character `%c': `</job>' expected.",dax_text[0]);
2345 case YY_STATE_EOF(S_dax__job):
2346 case YY_STATE_EOF(E_dax__job):
2347 case YY_STATE_EOF(S_dax__job_2):
2348 FAIL("Premature EOF: `</job>' expected.");
2352 * <!-- ignored --> */
2354 /* rule 66 can match eol */
2356 FAIL("Starting tag <uses> is not allowed here.");
2359 /* rule 67 can match eol */
2362 AX_dax__uses_file = 0;
2363 dax__uses_file_isset = 0;
2364 AX_dax__uses_link = AU_dax__uses_link;
2365 dax__uses_link_isset = 0;
2366 AX_dax__uses_register = A_dax__uses_register_true;
2367 dax__uses_register_isset = 0;
2368 AX_dax__uses_transfer = A_dax__uses_transfer_true;
2369 dax__uses_transfer_isset = 0;
2370 AX_dax__uses_optional = A_dax__uses_optional_false;
2371 dax__uses_optional_isset = 0;
2372 AX_dax__uses_type = 161;
2373 dax__uses_type_isset = 0;
2374 AX_dax__uses_size = 0;
2375 dax__uses_size_isset = 0;
2376 ENTER(AL_dax__uses); pushbuffer(0);
2381 /* rule 68 can match eol */
2383 if (dax__uses_file_isset != 0) {FAIL("Multiple definition of attribute file in <dax__uses>");} dax__uses_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__uses_file);
2386 /* rule 69 can match eol */
2388 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);
2391 /* rule 70 can match eol */
2393 /* rule 71 can match eol */
2395 A_dax__uses_link = A_dax__uses_link_input;
2398 /* rule 72 can match eol */
2400 /* rule 73 can match eol */
2402 A_dax__uses_link = A_dax__uses_link_output;
2405 /* rule 74 can match eol */
2407 /* rule 75 can match eol */
2409 A_dax__uses_register = A_dax__uses_register_false;
2412 /* rule 76 can match eol */
2414 /* rule 77 can match eol */
2416 A_dax__uses_register = A_dax__uses_register_true;
2419 /* rule 78 can match eol */
2421 /* rule 79 can match eol */
2423 A_dax__uses_transfer = A_dax__uses_transfer_false;
2426 /* rule 80 can match eol */
2428 /* rule 81 can match eol */
2430 A_dax__uses_transfer = A_dax__uses_transfer_true;
2433 /* rule 82 can match eol */
2435 /* rule 83 can match eol */
2437 A_dax__uses_optional = A_dax__uses_optional_false;
2440 /* rule 84 can match eol */
2442 /* rule 85 can match eol */
2444 A_dax__uses_optional = A_dax__uses_optional_true;
2447 /* rule 86 can match eol */
2449 if (dax__uses_type_isset != 0) {FAIL("Multiple definition of attribute type in <dax__uses>");} dax__uses_type_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__uses_type);
2452 /* rule 87 can match eol */
2454 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);
2457 /* rule 88 can match eol */
2459 if (dax__uses_size_isset != 0) {FAIL("Multiple definition of attribute size in <dax__uses>");} dax__uses_size_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__uses_size);
2462 /* rule 89 can match eol */
2464 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);
2469 if (!AX_dax__uses_file) FAIL("Required attribute `file' not set for `uses' element.");
2470 if (!AX_dax__uses_size) FAIL("Required attribute `size' not set for `uses' element.");
2471 LEAVE; STag_dax__uses();dax__pcdata_ix = 0; ENTER(E_dax__uses);
2477 if (!AX_dax__uses_file) FAIL("Required attribute `file' not set for `uses' element.");
2478 if (!AX_dax__uses_size) FAIL("Required attribute `size' not set for `uses' element.");
2479 LEAVE; STag_dax__uses(); dax__pcdata_ix = 0; ETag_dax__uses(); popbuffer(); /* attribute */
2481 case S_dax__job: case S_dax__job_2: case S_dax__job_1: SET(S_dax__job_2); break;
2487 FAIL("Unexpected character `%c' in attribute list of uses element.", dax_text[0]);
2491 FAIL("Bad attribute `%s' in `uses' element start tag.",dax_text);
2493 case YY_STATE_EOF(AL_dax__uses):
2494 FAIL("EOF in attribute list of `uses' element.");
2498 /* rule 94 can match eol */
2503 popbuffer(); /* attribute */
2505 case S_dax__job: case S_dax__job_2: case S_dax__job_1: SET(S_dax__job_2); break;
2510 /* rule 95 can match eol */
2512 FAIL("Unexpected end-tag `%s': `</uses>' expected.",dax_text);
2516 FAIL("Unexpected character `%c': `</uses>' expected.",dax_text[0]);
2518 case YY_STATE_EOF(E_dax__uses):
2519 FAIL("Premature EOF: `</uses>' expected.");
2523 /* rule 97 can match eol */
2525 FAIL("Starting tag <child> is not allowed here.");
2528 /* rule 98 can match eol */
2531 AX_dax__child_ref = 0;
2532 dax__child_ref_isset = 0;
2533 ENTER(AL_dax__child); pushbuffer(0);
2538 /* rule 99 can match eol */
2540 if (dax__child_ref_isset != 0) {FAIL("Multiple definition of attribute ref in <dax__child>");} dax__child_ref_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__child_ref);
2543 /* rule 100 can match eol */
2545 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);
2550 if (!AX_dax__child_ref) FAIL("Required attribute `ref' not set for `child' element.");
2551 LEAVE; STag_dax__child();dax__pcdata_ix = 0; ENTER(S_dax__child);
2557 if (!AX_dax__child_ref) FAIL("Required attribute `ref' not set for `child' element.");
2558 LEAVE; STag_dax__child(); dax__pcdata_ix = 0; ETag_dax__child(); popbuffer(); /* attribute */
2560 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;
2566 FAIL("Unexpected character `%c' in attribute list of child element.", dax_text[0]);
2570 FAIL("Bad attribute `%s' in `child' element start tag.",dax_text);
2572 case YY_STATE_EOF(AL_dax__child):
2573 FAIL("EOF in attribute list of `child' element.");
2577 /* rule 105 can match eol */
2582 popbuffer(); /* attribute */
2584 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;
2589 /* rule 106 can match eol */
2591 FAIL("Unexpected end-tag `%s': `</child>' expected.",dax_text);
2595 FAIL("Unexpected character `%c': `</child>' expected.",dax_text[0]);
2597 case YY_STATE_EOF(S_dax__child_2):
2598 case YY_STATE_EOF(E_dax__child):
2599 case YY_STATE_EOF(S_dax__child):
2600 FAIL("Premature EOF: `</child>' expected.");
2604 /* rule 108 can match eol */
2606 FAIL("Starting tag <parent> is not allowed here.");
2609 /* rule 109 can match eol */
2612 AX_dax__parent_ref = 0;
2613 dax__parent_ref_isset = 0;
2614 ENTER(AL_dax__parent); pushbuffer(0);
2619 /* rule 110 can match eol */
2621 if (dax__parent_ref_isset != 0) {FAIL("Multiple definition of attribute ref in <dax__parent>");} dax__parent_ref_isset = 1; ENTER(VALUE1); BUFFERSET(AX_dax__parent_ref);
2624 /* rule 111 can match eol */
2626 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);
2631 if (!AX_dax__parent_ref) FAIL("Required attribute `ref' not set for `parent' element.");
2632 LEAVE; STag_dax__parent();dax__pcdata_ix = 0; ENTER(E_dax__parent);
2638 if (!AX_dax__parent_ref) FAIL("Required attribute `ref' not set for `parent' element.");
2639 LEAVE; STag_dax__parent(); dax__pcdata_ix = 0; ETag_dax__parent(); popbuffer(); /* attribute */
2641 case S_dax__child_2: case S_dax__child: case S_dax__child_1: SET(S_dax__child_2); break;
2647 FAIL("Unexpected character `%c' in attribute list of parent element.", dax_text[0]);
2651 FAIL("Bad attribute `%s' in `parent' element start tag.",dax_text);
2653 case YY_STATE_EOF(AL_dax__parent):
2654 FAIL("EOF in attribute list of `parent' element.");
2658 /* rule 116 can match eol */
2663 popbuffer(); /* attribute */
2665 case S_dax__child_2: case S_dax__child: case S_dax__child_1: SET(S_dax__child_2); break;
2670 /* rule 117 can match eol */
2672 FAIL("Unexpected end-tag `%s': `</parent>' expected.",dax_text);
2676 FAIL("Unexpected character `%c': `</parent>' expected.",dax_text[0]);
2678 case YY_STATE_EOF(E_dax__parent):
2679 FAIL("Premature EOF: `</parent>' expected.");
2682 /* EPILOG: after the root element. */
2686 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
2688 case YY_STATE_EOF(EPILOG):
2692 /* CHARACTER DATA. */
2694 /* Non-defined standard entities... */
2715 /* Character entities. */
2718 BUFFERPUTC((unsigned char)atoi(dax_text+2));
2722 BUFFERPUTC((unsigned char)strtol(dax_text+3,NULL,16));
2726 /* rule 127 can match eol */
2728 /* rule 128 can match eol */
2730 /* rule 129 can match eol */
2732 /* rule 130 can match eol */
2743 FAIL("Unexpected `]""]>' in character data.");
2750 case YY_STATE_EOF(VALUE1):
2751 FAIL("EOF in literal (\"'\" expected).");
2758 case YY_STATE_EOF(VALUE2):
2759 FAIL("EOF in literal (`\"' expected).");
2763 /* rule 135 can match eol */
2765 BUFFERPUTC(dax_text[0]);
2769 FAIL("Spurious `%c' in character data.",dax_text[0]);
2776 /* "]""]" BUFFERPUTC(dax_text[0]); BUFFERPUTC(dax_text[1]); */
2779 BUFFERPUTC(dax_text[0]);
2781 case YY_STATE_EOF(CDATA):
2782 FAIL("EOF in CDATA section.");
2785 /* Impossible rules to avoid warnings from flex(1). */
2786 /* Ideally, this should be replaced by code in flexml.pl that
2787 generates just the states not covered by other rules. */
2790 /* rule 139 can match eol */
2792 FAIL("Syntax error on character `%c'.", dax_text[0]);
2799 case YY_STATE_EOF(INITIAL):
2800 case YY_STATE_EOF(ROOT_dax__adag):
2801 case YY_STATE_EOF(S_dax__adag_2):
2802 case YY_STATE_EOF(S_dax__adag_4):
2803 case YY_STATE_EOF(S_dax__job_1):
2804 case YY_STATE_EOF(S_dax__child_1):
2805 case YY_STATE_EOF(IMPOSSIBLE):
2808 case YY_END_OF_BUFFER:
2810 /* Amount of text matched not including the EOB char. */
2811 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
2813 /* Undo the effects of YY_DO_BEFORE_ACTION. */
2814 *yy_cp = (yy_hold_char);
2815 YY_RESTORE_YY_MORE_OFFSET
2817 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
2819 /* We're scanning a new file or input source. It's
2820 * possible that this happened because the user
2821 * just pointed dax_in at a new source and called
2822 * dax_lex(). If so, then we have to assure
2823 * consistency between YY_CURRENT_BUFFER and our
2824 * globals. Here is the right place to do so, because
2825 * this is the first action (other than possibly a
2826 * back-up) that will match for the new input source.
2828 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2829 YY_CURRENT_BUFFER_LVALUE->yy_input_file = dax_in;
2830 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
2833 /* Note that here we test for yy_c_buf_p "<=" to the position
2834 * of the first EOB in the buffer, since yy_c_buf_p will
2835 * already have been incremented past the NUL character
2836 * (since all states make transitions on EOB to the
2837 * end-of-buffer state). Contrast this with the test
2840 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2841 { /* This was really a NUL. */
2842 yy_state_type yy_next_state;
2844 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
2846 yy_current_state = yy_get_previous_state( );
2848 /* Okay, we're now positioned to make the NUL
2849 * transition. We couldn't have
2850 * yy_get_previous_state() go ahead and do it
2851 * for us because it doesn't know how to deal
2852 * with the possibility of jamming (and we don't
2853 * want to build jamming into it because then it
2854 * will run more slowly).
2857 yy_next_state = yy_try_NUL_trans( yy_current_state );
2859 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2861 if ( yy_next_state )
2863 /* Consume the NUL. */
2864 yy_cp = ++(yy_c_buf_p);
2865 yy_current_state = yy_next_state;
2871 yy_cp = (yy_c_buf_p);
2872 goto yy_find_action;
2876 else switch ( yy_get_next_buffer( ) )
2878 case EOB_ACT_END_OF_FILE:
2880 (yy_did_buffer_switch_on_eof) = 0;
2884 /* Note: because we've taken care in
2885 * yy_get_next_buffer() to have set up
2886 * dax_text, we can now set up
2887 * yy_c_buf_p so that if some total
2888 * hoser (like flex itself) wants to
2889 * call the scanner after we return the
2890 * YY_NULL, it'll still work - another
2891 * YY_NULL will get returned.
2893 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
2895 yy_act = YY_STATE_EOF(YY_START);
2901 if ( ! (yy_did_buffer_switch_on_eof) )
2907 case EOB_ACT_CONTINUE_SCAN:
2909 (yytext_ptr) + yy_amount_of_matched_text;
2911 yy_current_state = yy_get_previous_state( );
2913 yy_cp = (yy_c_buf_p);
2914 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2917 case EOB_ACT_LAST_MATCH:
2919 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
2921 yy_current_state = yy_get_previous_state( );
2923 yy_cp = (yy_c_buf_p);
2924 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2925 goto yy_find_action;
2932 "fatal flex scanner internal error--no action found" );
2933 } /* end of action switch */
2934 } /* end of scanning one token */
2935 } /* end of dax_lex */
2937 /* yy_get_next_buffer - try to read in a new buffer
2939 * Returns a code representing an action:
2940 * EOB_ACT_LAST_MATCH -
2941 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2942 * EOB_ACT_END_OF_FILE - end of file
2944 static int yy_get_next_buffer (void)
2946 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
2947 register char *source = (yytext_ptr);
2948 register int number_to_move, i;
2951 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
2953 "fatal flex scanner internal error--end of buffer missed" );
2955 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
2956 { /* Don't try to fill the buffer, so this is an EOF. */
2957 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
2959 /* We matched a single character, the EOB, so
2960 * treat this as a final EOF.
2962 return EOB_ACT_END_OF_FILE;
2967 /* We matched some text prior to the EOB, first
2970 return EOB_ACT_LAST_MATCH;
2974 /* Try to read more data. */
2976 /* First move last chars to start of buffer. */
2977 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
2979 for ( i = 0; i < number_to_move; ++i )
2980 *(dest++) = *(source++);
2982 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2983 /* don't do the read, it's not guaranteed to return an EOF,
2986 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
2991 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
2993 while ( num_to_read <= 0 )
2994 { /* Not enough room in the buffer - grow it. */
2996 /* just a shorter name for the current buffer */
2997 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
2999 int yy_c_buf_p_offset =
3000 (int) ((yy_c_buf_p) - b->yy_ch_buf);
3002 if ( b->yy_is_our_buffer )
3004 int new_size = b->yy_buf_size * 2;
3006 if ( new_size <= 0 )
3007 b->yy_buf_size += b->yy_buf_size / 8;
3009 b->yy_buf_size *= 2;
3011 b->yy_ch_buf = (char *)
3012 /* Include room in for 2 EOB chars. */
3013 dax_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
3016 /* Can't grow it, we don't own it. */
3019 if ( ! b->yy_ch_buf )
3021 "fatal error - scanner input buffer overflow" );
3023 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
3025 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
3030 if ( num_to_read > YY_READ_BUF_SIZE )
3031 num_to_read = YY_READ_BUF_SIZE;
3033 /* Read in more data. */
3034 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
3035 (yy_n_chars), (size_t) num_to_read );
3037 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3040 if ( (yy_n_chars) == 0 )
3042 if ( number_to_move == YY_MORE_ADJ )
3044 ret_val = EOB_ACT_END_OF_FILE;
3045 dax_restart(dax_in );
3050 ret_val = EOB_ACT_LAST_MATCH;
3051 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
3052 YY_BUFFER_EOF_PENDING;
3057 ret_val = EOB_ACT_CONTINUE_SCAN;
3059 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
3060 /* Extend the array by 50%, plus the number we really need. */
3061 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
3062 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) dax_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
3063 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3064 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
3067 (yy_n_chars) += number_to_move;
3068 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
3069 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
3071 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
3076 /* yy_get_previous_state - get the state just before the EOB char was reached */
3078 static yy_state_type yy_get_previous_state (void)
3080 register yy_state_type yy_current_state;
3081 register char *yy_cp;
3083 yy_current_state = (yy_start);
3085 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
3087 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3088 if ( yy_accept[yy_current_state] )
3090 (yy_last_accepting_state) = yy_current_state;
3091 (yy_last_accepting_cpos) = yy_cp;
3093 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3095 yy_current_state = (int) yy_def[yy_current_state];
3096 if ( yy_current_state >= 775 )
3097 yy_c = yy_meta[(unsigned int) yy_c];
3099 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3102 return yy_current_state;
3105 /* yy_try_NUL_trans - try to make a transition on the NUL character
3108 * next_state = yy_try_NUL_trans( current_state );
3110 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
3112 register int yy_is_jam;
3113 register char *yy_cp = (yy_c_buf_p);
3115 register YY_CHAR yy_c = 1;
3116 if ( yy_accept[yy_current_state] )
3118 (yy_last_accepting_state) = yy_current_state;
3119 (yy_last_accepting_cpos) = yy_cp;
3121 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3123 yy_current_state = (int) yy_def[yy_current_state];
3124 if ( yy_current_state >= 775 )
3125 yy_c = yy_meta[(unsigned int) yy_c];
3127 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3128 yy_is_jam = (yy_current_state == 774);
3130 return yy_is_jam ? 0 : yy_current_state;
3135 static int yyinput (void)
3137 static int input (void)
3143 *(yy_c_buf_p) = (yy_hold_char);
3145 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
3147 /* yy_c_buf_p now points to the character we want to return.
3148 * If this occurs *before* the EOB characters, then it's a
3149 * valid NUL; if not, then we've hit the end of the buffer.
3151 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3152 /* This was really a NUL. */
3153 *(yy_c_buf_p) = '\0';
3156 { /* need more input */
3157 int offset = (yy_c_buf_p) - (yytext_ptr);
3160 switch ( yy_get_next_buffer( ) )
3162 case EOB_ACT_LAST_MATCH:
3163 /* This happens because yy_g_n_b()
3164 * sees that we've accumulated a
3165 * token and flags that we need to
3166 * try matching the token before
3167 * proceeding. But for input(),
3168 * there's no matching to consider.
3169 * So convert the EOB_ACT_LAST_MATCH
3170 * to EOB_ACT_END_OF_FILE.
3173 /* Reset buffer status. */
3174 dax_restart(dax_in );
3178 case EOB_ACT_END_OF_FILE:
3183 if ( ! (yy_did_buffer_switch_on_eof) )
3192 case EOB_ACT_CONTINUE_SCAN:
3193 (yy_c_buf_p) = (yytext_ptr) + offset;
3199 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
3200 *(yy_c_buf_p) = '\0'; /* preserve dax_text */
3201 (yy_hold_char) = *++(yy_c_buf_p);
3210 #endif /* ifndef YY_NO_INPUT */
3212 /** Immediately switch to a different input stream.
3213 * @param input_file A readable stream.
3215 * @note This function does not reset the start condition to @c INITIAL .
3217 void dax_restart (FILE * input_file )
3220 if ( ! YY_CURRENT_BUFFER ){
3221 dax_ensure_buffer_stack ();
3222 YY_CURRENT_BUFFER_LVALUE =
3223 dax__create_buffer(dax_in,YY_BUF_SIZE );
3226 dax__init_buffer(YY_CURRENT_BUFFER,input_file );
3227 dax__load_buffer_state( );
3230 /** Switch to a different input buffer.
3231 * @param new_buffer The new input buffer.
3234 void dax__switch_to_buffer (YY_BUFFER_STATE new_buffer )
3237 /* TODO. We should be able to replace this entire function body
3239 * dax_pop_buffer_state();
3240 * dax_push_buffer_state(new_buffer);
3242 dax_ensure_buffer_stack ();
3243 if ( YY_CURRENT_BUFFER == new_buffer )
3246 if ( YY_CURRENT_BUFFER )
3248 /* Flush out information for old buffer. */
3249 *(yy_c_buf_p) = (yy_hold_char);
3250 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3251 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3254 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3255 dax__load_buffer_state( );
3257 /* We don't actually know whether we did this switch during
3258 * EOF (dax_wrap()) processing, but the only time this flag
3259 * is looked at is after dax_wrap() is called, so it's safe
3260 * to go ahead and always set it.
3262 (yy_did_buffer_switch_on_eof) = 1;
3265 static void dax__load_buffer_state (void)
3267 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3268 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
3269 dax_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
3270 (yy_hold_char) = *(yy_c_buf_p);
3273 /** Allocate and initialize an input buffer state.
3274 * @param file A readable stream.
3275 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
3277 * @return the allocated buffer state.
3279 YY_BUFFER_STATE dax__create_buffer (FILE * file, int size )
3283 b = (YY_BUFFER_STATE) dax_alloc(sizeof( struct yy_buffer_state ) );
3285 YY_FATAL_ERROR( "out of dynamic memory in dax__create_buffer()" );
3287 b->yy_buf_size = size;
3289 /* yy_ch_buf has to be 2 characters longer than the size given because
3290 * we need to put in 2 end-of-buffer characters.
3292 b->yy_ch_buf = (char *) dax_alloc(b->yy_buf_size + 2 );
3293 if ( ! b->yy_ch_buf )
3294 YY_FATAL_ERROR( "out of dynamic memory in dax__create_buffer()" );
3296 b->yy_is_our_buffer = 1;
3298 dax__init_buffer(b,file );
3303 /** Destroy the buffer.
3304 * @param b a buffer created with dax__create_buffer()
3307 void dax__delete_buffer (YY_BUFFER_STATE b )
3313 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
3314 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
3316 if ( b->yy_is_our_buffer )
3317 dax_free((void *) b->yy_ch_buf );
3319 dax_free((void *) b );
3323 extern int isatty (int );
3324 #endif /* __cplusplus */
3326 /* Initializes or reinitializes a buffer.
3327 * This function is sometimes called more than once on the same buffer,
3328 * such as during a dax_restart() or at EOF.
3330 static void dax__init_buffer (YY_BUFFER_STATE b, FILE * file )
3335 dax__flush_buffer(b );
3337 b->yy_input_file = file;
3338 b->yy_fill_buffer = 1;
3340 /* If b is the current buffer, then dax__init_buffer was _probably_
3341 * called from dax_restart() or through yy_get_next_buffer.
3342 * In that case, we don't want to reset the lineno or column.
3344 if (b != YY_CURRENT_BUFFER){
3345 b->yy_bs_lineno = 1;
3346 b->yy_bs_column = 0;
3349 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
3354 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
3355 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
3358 void dax__flush_buffer (YY_BUFFER_STATE b )
3365 /* We always need two end-of-buffer characters. The first causes
3366 * a transition to the end-of-buffer state. The second causes
3367 * a jam in that state.
3369 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3370 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3372 b->yy_buf_pos = &b->yy_ch_buf[0];
3375 b->yy_buffer_status = YY_BUFFER_NEW;
3377 if ( b == YY_CURRENT_BUFFER )
3378 dax__load_buffer_state( );
3381 /** Pushes the new state onto the stack. The new state becomes
3382 * the current state. This function will allocate the stack
3384 * @param new_buffer The new state.
3387 void dax_push_buffer_state (YY_BUFFER_STATE new_buffer )
3389 if (new_buffer == NULL)
3392 dax_ensure_buffer_stack();
3394 /* This block is copied from dax__switch_to_buffer. */
3395 if ( YY_CURRENT_BUFFER )
3397 /* Flush out information for old buffer. */
3398 *(yy_c_buf_p) = (yy_hold_char);
3399 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3400 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3403 /* Only push if top exists. Otherwise, replace top. */
3404 if (YY_CURRENT_BUFFER)
3405 (yy_buffer_stack_top)++;
3406 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3408 /* copied from dax__switch_to_buffer. */
3409 dax__load_buffer_state( );
3410 (yy_did_buffer_switch_on_eof) = 1;
3413 /** Removes and deletes the top of the stack, if present.
3414 * The next element becomes the new top.
3417 void dax_pop_buffer_state (void)
3419 if (!YY_CURRENT_BUFFER)
3422 dax__delete_buffer(YY_CURRENT_BUFFER );
3423 YY_CURRENT_BUFFER_LVALUE = NULL;
3424 if ((yy_buffer_stack_top) > 0)
3425 --(yy_buffer_stack_top);
3427 if (YY_CURRENT_BUFFER) {
3428 dax__load_buffer_state( );
3429 (yy_did_buffer_switch_on_eof) = 1;
3433 /* Allocates the stack if it does not exist.
3434 * Guarantees space for at least one push.
3436 static void dax_ensure_buffer_stack (void)
3440 if (!(yy_buffer_stack)) {
3442 /* First allocation is just for 2 elements, since we don't know if this
3443 * scanner will even need a stack. We use 2 instead of 1 to avoid an
3444 * immediate realloc on the next call.
3447 (yy_buffer_stack) = (struct yy_buffer_state**)dax_alloc
3448 (num_to_alloc * sizeof(struct yy_buffer_state*)
3450 if ( ! (yy_buffer_stack) )
3451 YY_FATAL_ERROR( "out of dynamic memory in dax_ensure_buffer_stack()" );
3453 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
3455 (yy_buffer_stack_max) = num_to_alloc;
3456 (yy_buffer_stack_top) = 0;
3460 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
3462 /* Increase the buffer to prepare for a possible push. */
3463 int grow_size = 8 /* arbitrary grow size */;
3465 num_to_alloc = (yy_buffer_stack_max) + grow_size;
3466 (yy_buffer_stack) = (struct yy_buffer_state**)dax_realloc
3468 num_to_alloc * sizeof(struct yy_buffer_state*)
3470 if ( ! (yy_buffer_stack) )
3471 YY_FATAL_ERROR( "out of dynamic memory in dax_ensure_buffer_stack()" );
3473 /* zero only the new slots.*/
3474 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
3475 (yy_buffer_stack_max) = num_to_alloc;
3479 /** Setup the input buffer state to scan directly from a user-specified character buffer.
3480 * @param base the character buffer
3481 * @param size the size in bytes of the character buffer
3483 * @return the newly allocated buffer state object.
3485 YY_BUFFER_STATE dax__scan_buffer (char * base, yy_size_t size )
3490 base[size-2] != YY_END_OF_BUFFER_CHAR ||
3491 base[size-1] != YY_END_OF_BUFFER_CHAR )
3492 /* They forgot to leave room for the EOB's. */
3495 b = (YY_BUFFER_STATE) dax_alloc(sizeof( struct yy_buffer_state ) );
3497 YY_FATAL_ERROR( "out of dynamic memory in dax__scan_buffer()" );
3499 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
3500 b->yy_buf_pos = b->yy_ch_buf = base;
3501 b->yy_is_our_buffer = 0;
3502 b->yy_input_file = 0;
3503 b->yy_n_chars = b->yy_buf_size;
3504 b->yy_is_interactive = 0;
3506 b->yy_fill_buffer = 0;
3507 b->yy_buffer_status = YY_BUFFER_NEW;
3509 dax__switch_to_buffer(b );
3514 /** Setup the input buffer state to scan a string. The next call to dax_lex() will
3515 * scan from a @e copy of @a str.
3516 * @param yystr a NUL-terminated string to scan
3518 * @return the newly allocated buffer state object.
3519 * @note If you want to scan bytes that may contain NUL values, then use
3520 * dax__scan_bytes() instead.
3522 YY_BUFFER_STATE dax__scan_string (yyconst char * yystr )
3525 return dax__scan_bytes(yystr,strlen(yystr) );
3528 /** Setup the input buffer state to scan the given bytes. The next call to dax_lex() will
3529 * scan from a @e copy of @a bytes.
3530 * @param yybytes the byte buffer to scan
3531 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
3533 * @return the newly allocated buffer state object.
3535 YY_BUFFER_STATE dax__scan_bytes (yyconst char * yybytes, int _yybytes_len )
3542 /* Get memory for full buffer, including space for trailing EOB's. */
3543 n = _yybytes_len + 2;
3544 buf = (char *) dax_alloc(n );
3546 YY_FATAL_ERROR( "out of dynamic memory in dax__scan_bytes()" );
3548 for ( i = 0; i < _yybytes_len; ++i )
3549 buf[i] = yybytes[i];
3551 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
3553 b = dax__scan_buffer(buf,n );
3555 YY_FATAL_ERROR( "bad buffer in dax__scan_bytes()" );
3557 /* It's okay to grow etc. this buffer, and we should throw it
3558 * away when we're done.
3560 b->yy_is_our_buffer = 1;
3565 static void yy_push_state (int new_state )
3567 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
3571 (yy_start_stack_depth) += YY_START_STACK_INCR;
3572 new_size = (yy_start_stack_depth) * sizeof( int );
3574 if ( ! (yy_start_stack) )
3575 (yy_start_stack) = (int *) dax_alloc(new_size );
3578 (yy_start_stack) = (int *) dax_realloc((void *) (yy_start_stack),new_size );
3580 if ( ! (yy_start_stack) )
3581 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
3584 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
3589 static void yy_pop_state (void)
3591 if ( --(yy_start_stack_ptr) < 0 )
3592 YY_FATAL_ERROR( "start-condition stack underflow" );
3594 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
3597 #ifndef YY_EXIT_FAILURE
3598 #define YY_EXIT_FAILURE 2
3601 static void yy_fatal_error (yyconst char* msg )
3603 (void) fprintf( stderr, "%s\n", msg );
3604 exit( YY_EXIT_FAILURE );
3607 /* Redefine yyless() so it works in section 3 code. */
3613 /* Undo effects of setting up dax_text. */ \
3614 int yyless_macro_arg = (n); \
3615 YY_LESS_LINENO(yyless_macro_arg);\
3616 dax_text[dax_leng] = (yy_hold_char); \
3617 (yy_c_buf_p) = dax_text + yyless_macro_arg; \
3618 (yy_hold_char) = *(yy_c_buf_p); \
3619 *(yy_c_buf_p) = '\0'; \
3620 dax_leng = yyless_macro_arg; \
3624 /* Accessor methods (get/set functions) to struct members. */
3626 /** Get the current line number.
3629 int dax_get_lineno (void)
3635 /** Get the input stream.
3638 FILE *dax_get_in (void)
3643 /** Get the output stream.
3646 FILE *dax_get_out (void)
3651 /** Get the length of the current token.
3654 int dax_get_leng (void)
3659 /** Get the current token.
3663 char *dax_get_text (void)
3668 /** Set the current line number.
3669 * @param line_number
3672 void dax_set_lineno (int line_number )
3675 dax_lineno = line_number;
3678 /** Set the input stream. This does not discard the current
3680 * @param in_str A readable stream.
3682 * @see dax__switch_to_buffer
3684 void dax_set_in (FILE * in_str )
3689 void dax_set_out (FILE * out_str )
3694 int dax_get_debug (void)
3696 return dax__flex_debug;
3699 void dax_set_debug (int bdebug )
3701 dax__flex_debug = bdebug ;
3704 static int yy_init_globals (void)
3706 /* Initialization is the same as for the non-reentrant scanner.
3707 * This function is called from dax_lex_destroy(), so don't allocate here.
3710 /* We do not touch dax_lineno unless the option is enabled. */
3713 (yy_buffer_stack) = 0;
3714 (yy_buffer_stack_top) = 0;
3715 (yy_buffer_stack_max) = 0;
3716 (yy_c_buf_p) = (char *) 0;
3720 (yy_start_stack_ptr) = 0;
3721 (yy_start_stack_depth) = 0;
3722 (yy_start_stack) = NULL;
3724 /* Defined in main.c */
3729 dax_in = (FILE *) 0;
3730 dax_out = (FILE *) 0;
3733 /* For future reference: Set errno on error, since we are called by
3739 /* dax_lex_destroy is for both reentrant and non-reentrant scanners. */
3740 int dax_lex_destroy (void)
3743 /* Pop the buffer stack, destroying each element. */
3744 while(YY_CURRENT_BUFFER){
3745 dax__delete_buffer(YY_CURRENT_BUFFER );
3746 YY_CURRENT_BUFFER_LVALUE = NULL;
3747 dax_pop_buffer_state();
3750 /* Destroy the stack itself. */
3751 dax_free((yy_buffer_stack) );
3752 (yy_buffer_stack) = NULL;
3754 /* Destroy the start condition stack. */
3755 dax_free((yy_start_stack) );
3756 (yy_start_stack) = NULL;
3758 /* Reset the globals. This is important in a non-reentrant scanner so the next time
3759 * dax_lex() is called, initialization will occur. */
3766 * Internal utility routines.
3770 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
3773 for ( i = 0; i < n; ++i )
3778 #ifdef YY_NEED_STRLEN
3779 static int yy_flex_strlen (yyconst char * s )
3782 for ( n = 0; s[n]; ++n )
3789 void *dax_alloc (yy_size_t size )
3791 return (void *) malloc( size );
3794 void *dax_realloc (void * ptr, yy_size_t size )
3796 /* The cast to (char *) in the following accommodates both
3797 * implementations that use char* generic pointers, and those
3798 * that use void* generic pointers. It works with the latter
3799 * because both ANSI C and C++ allow castless assignment from
3800 * any pointer type to void*, and deal with argument conversions
3801 * as though doing an assignment.
3803 return (void *) realloc( (char *) ptr, size );
3806 void dax_free (void * ptr )
3808 free( (char *) ptr ); /* see dax_realloc() for (char *) cast */
3811 #define YYTABLES_NAME "yytables"
3813 /* Element context stack lookup. */
3814 int dax__element_context(int i)
3816 return (0<i && i<yy_start_stack_depth
3817 ? yy_start_stack[yy_start_stack_ptr - i]
3822 void print_yy_stack(char* fmt, ...)
3824 int i = 0; va_list ap; va_start(ap, fmt);
3825 vfprintf(stderr, fmt, ap);
3826 if (dax__statenames) {
3827 for (i=1; i<yy_start_stack_ptr; i++) {
3828 fprintf(stderr, "%s/", dax__statenames[yy_start_stack[i] ]);
3830 fprintf(stderr,"%s\n", dax__statenames[YY_START]);
3835 void print_dax__bufferstack()
3838 fputs("Buffer: ", stderr);
3839 for (i = 0; i < blimit; i++) {
3840 if ( dax__bufferstack[i] == '\377' ) break;
3841 putc(dax__bufferstack[i], stderr);
3846 static void debug_enter(int state, const char* statename) {
3847 yy_push_state(state);
3848 if (dax__flex_debug) {
3849 print_yy_stack("--ENTER(%s) : ",statename);
3850 print_dax__bufferstack();
3854 static void debug_leave(void) {
3855 if (dax__flex_debug) {
3856 print_yy_stack("--LEAVE : ");
3857 print_dax__bufferstack();
3862 static void debug_set(int state, const char* statename) {
3864 if (dax__flex_debug) print_yy_stack("--SET(%s) : ",statename);
3868 static void cleanup(void)
3870 if (dax__statenames) {
3871 free(dax__statenames);
3872 dax__statenames = NULL;
3874 free(dax__bufferstack);
3875 dax__bufferstack = NULL;
3881 static int fail(const char* fmt, ...)
3883 int chars_left, used;
3884 va_list ap; va_start(ap, fmt);
3885 #ifdef FLEXML_yylineno
3886 used = sprintf(flexml_err_msg,
3887 "Invalid XML (XML input line %d, state %d): ",
3888 dax_lineno, YY_START);
3890 used = sprintf(flexml_err_msg,
3891 "Invalid XML (state %d): ",
3894 chars_left = flexml_max_err_msg_size - used - 1;
3895 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
3898 #ifndef FLEXML_quiet_parser
3899 /* print directly to sdterr */
3900 fprintf(stderr, "%s\n", flexml_err_msg);
3901 flexml_err_msg[0] = '\0';