2 #define YY_INT_ALIGNED short int
4 /* A lexical scanner generated by flex */
6 #define yy_create_buffer dax__create_buffer
7 #define yy_delete_buffer dax__delete_buffer
8 #define yy_flex_debug dax__flex_debug
9 #define yy_init_buffer dax__init_buffer
10 #define yy_flush_buffer dax__flush_buffer
11 #define yy_load_buffer_state dax__load_buffer_state
12 #define yy_switch_to_buffer dax__switch_to_buffer
14 #define yyleng dax_leng
16 #define yylineno dax_lineno
18 #define yyrestart dax_restart
19 #define yytext dax_text
20 #define yywrap dax_wrap
21 #define yyalloc dax_alloc
22 #define yyrealloc dax_realloc
23 #define yyfree dax_free
26 #define YY_FLEX_MAJOR_VERSION 2
27 #define YY_FLEX_MINOR_VERSION 6
28 #define YY_FLEX_SUBMINOR_VERSION 1
29 #if YY_FLEX_SUBMINOR_VERSION > 0
33 /* First, we deal with platform-specific or compiler-specific issues. */
35 /* begin standard C headers. */
41 /* end standard C headers. */
43 /* flex integer type definitions */
48 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
50 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
52 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
53 * if you want the limit (max/min) macros for int types.
55 #ifndef __STDC_LIMIT_MACROS
56 #define __STDC_LIMIT_MACROS 1
60 typedef int8_t flex_int8_t;
61 typedef uint8_t flex_uint8_t;
62 typedef int16_t flex_int16_t;
63 typedef uint16_t flex_uint16_t;
64 typedef int32_t flex_int32_t;
65 typedef uint32_t flex_uint32_t;
67 typedef signed char flex_int8_t;
68 typedef short int flex_int16_t;
69 typedef int flex_int32_t;
70 typedef unsigned char flex_uint8_t;
71 typedef unsigned short int flex_uint16_t;
72 typedef unsigned int flex_uint32_t;
74 /* Limits of integral types. */
76 #define INT8_MIN (-128)
79 #define INT16_MIN (-32767-1)
82 #define INT32_MIN (-2147483647-1)
85 #define INT8_MAX (127)
88 #define INT16_MAX (32767)
91 #define INT32_MAX (2147483647)
94 #define UINT8_MAX (255U)
97 #define UINT16_MAX (65535U)
100 #define UINT32_MAX (4294967295U)
105 #endif /* ! FLEXINT_H */
107 /* TODO: this is always defined, so inline it */
108 #define yyconst const
110 #if defined(__GNUC__) && __GNUC__ >= 3
111 #define yynoreturn __attribute__((__noreturn__))
116 /* Returned upon end-of-file. */
119 /* Promotes a possibly negative, possibly signed char to an unsigned
120 * integer for use as an array index. If the signed char is negative,
121 * we want to instead treat it as an 8-bit unsigned char, hence the
124 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
126 /* Enter a start condition. This macro really ought to take a parameter,
127 * but we do it the disgusting crufty way forced on us by the ()-less
128 * definition of BEGIN.
130 #define BEGIN (yy_start) = 1 + 2 *
132 /* Translate the current start state into a value that can be later handed
133 * to BEGIN to return to the state. The YYSTATE alias is for lex
136 #define YY_START (((yy_start) - 1) / 2)
137 #define YYSTATE YY_START
139 /* Action number for EOF rule of a given start state. */
140 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
142 /* Special action meaning "start processing a new file". */
143 #define YY_NEW_FILE dax_restart(dax_in )
145 #define YY_END_OF_BUFFER_CHAR 0
147 /* Size of default input buffer. */
150 /* On IA-64, the buffer size is 16k, not 8k.
151 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
152 * Ditto for the __ia64__ case accordingly.
154 #define YY_BUF_SIZE 32768
156 #define YY_BUF_SIZE 16384
157 #endif /* __ia64__ */
160 /* The state buf must be large enough to hold one state per character in the main buffer.
162 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
164 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
165 #define YY_TYPEDEF_YY_BUFFER_STATE
166 typedef struct yy_buffer_state *YY_BUFFER_STATE;
169 #ifndef YY_TYPEDEF_YY_SIZE_T
170 #define YY_TYPEDEF_YY_SIZE_T
171 typedef size_t yy_size_t;
174 extern unsigned int dax_leng;
176 extern FILE *dax_in, *dax_out;
178 #define EOB_ACT_CONTINUE_SCAN 0
179 #define EOB_ACT_END_OF_FILE 1
180 #define EOB_ACT_LAST_MATCH 2
182 /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
183 * access to the local variable yy_act. Since yyless() is a macro, it would break
184 * existing scanners that call yyless() from OUTSIDE dax_lex.
185 * One obvious solution it to make yy_act a global. I tried that, and saw
186 * a 5% performance hit in a non-dax_lineno scanner, because yy_act is
187 * normally declared as a register variable-- so it is not worth it.
189 #define YY_LESS_LINENO(n) \
192 for ( yyl = n; yyl < dax_leng; ++yyl )\
193 if ( dax_text[yyl] == '\n' )\
196 #define YY_LINENO_REWIND_TO(dst) \
199 for ( p = yy_cp-1; p >= (dst); --p)\
204 /* Return all but the first "n" matched characters back to the input stream. */
208 /* Undo effects of setting up dax_text. */ \
209 int yyless_macro_arg = (n); \
210 YY_LESS_LINENO(yyless_macro_arg);\
211 *yy_cp = (yy_hold_char); \
212 YY_RESTORE_YY_MORE_OFFSET \
213 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
214 YY_DO_BEFORE_ACTION; /* set up dax_text again */ \
218 #define unput(c) yyunput( c, (yytext_ptr) )
220 #ifndef YY_STRUCT_YY_BUFFER_STATE
221 #define YY_STRUCT_YY_BUFFER_STATE
222 struct yy_buffer_state
226 char *yy_ch_buf; /* input buffer */
227 char *yy_buf_pos; /* current position in input buffer */
229 /* Size of input buffer in bytes, not including room for EOB
234 /* Number of characters read into yy_ch_buf, not including EOB
239 /* Whether we "own" the buffer - i.e., we know we created it,
240 * and can realloc() it to grow it, and should free() it to
243 int yy_is_our_buffer;
245 /* Whether this is an "interactive" input source; if so, and
246 * if we're using stdio for input, then we want to use getc()
247 * instead of fread(), to make sure we stop fetching input after
250 int yy_is_interactive;
252 /* Whether we're considered to be at the beginning of a line.
253 * If so, '^' rules will be active on the next match, otherwise
258 int yy_bs_lineno; /**< The line count. */
259 int yy_bs_column; /**< The column count. */
261 /* Whether to try to fill the input buffer when we reach the
266 int yy_buffer_status;
268 #define YY_BUFFER_NEW 0
269 #define YY_BUFFER_NORMAL 1
270 /* When an EOF's been seen but there's still some text to process
271 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
272 * shouldn't try reading from the input source any more. We might
273 * still have a bunch of tokens to match, though, because of
274 * possible backing-up.
276 * When we actually see the EOF, we change the status to "new"
277 * (via dax_restart()), so that the user can continue scanning by
278 * just pointing dax_in at a new input file.
280 #define YY_BUFFER_EOF_PENDING 2
283 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
285 /* Stack of input buffers. */
286 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
287 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
288 static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
290 /* We provide macros for accessing buffer states in case in the
291 * future we want to put the buffer states in a more general
294 * Returns the top of the stack, or NULL.
296 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
297 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
300 /* Same as previous macro, but useful when we know that the buffer stack is not
301 * NULL or when we need an lvalue. For internal use only.
303 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
305 /* yy_hold_char holds the character lost when dax_text is formed. */
306 static char yy_hold_char;
307 static int yy_n_chars; /* number of characters read into yy_ch_buf */
308 unsigned int dax_leng;
310 /* Points to current character in buffer. */
311 static char *yy_c_buf_p = NULL;
312 static int yy_init = 0; /* whether we need to initialize */
313 static int yy_start = 0; /* start state number */
315 /* Flag which is used to allow dax_wrap()'s to do buffer switches
316 * instead of setting up a fresh dax_in. A bit of a hack ...
318 static int yy_did_buffer_switch_on_eof;
320 void dax_restart (FILE *input_file );
321 void dax__switch_to_buffer (YY_BUFFER_STATE new_buffer );
322 YY_BUFFER_STATE dax__create_buffer (FILE *file,int size );
323 void dax__delete_buffer (YY_BUFFER_STATE b );
324 void dax__flush_buffer (YY_BUFFER_STATE b );
325 void dax_push_buffer_state (YY_BUFFER_STATE new_buffer );
326 void dax_pop_buffer_state (void );
328 static void dax_ensure_buffer_stack (void );
329 static void dax__load_buffer_state (void );
330 static void dax__init_buffer (YY_BUFFER_STATE b,FILE *file );
332 #define YY_FLUSH_BUFFER dax__flush_buffer(YY_CURRENT_BUFFER )
334 YY_BUFFER_STATE dax__scan_buffer (char *base,yy_size_t size );
335 YY_BUFFER_STATE dax__scan_string (yyconst char *yy_str );
336 YY_BUFFER_STATE dax__scan_bytes (yyconst char *bytes,int len );
338 void *dax_alloc (yy_size_t );
339 void *dax_realloc (void *,yy_size_t );
340 void dax_free (void * );
342 #define yy_new_buffer dax__create_buffer
344 #define yy_set_interactive(is_interactive) \
346 if ( ! YY_CURRENT_BUFFER ){ \
347 dax_ensure_buffer_stack (); \
348 YY_CURRENT_BUFFER_LVALUE = \
349 dax__create_buffer(dax_in,YY_BUF_SIZE ); \
351 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
354 #define yy_set_bol(at_bol) \
356 if ( ! YY_CURRENT_BUFFER ){\
357 dax_ensure_buffer_stack (); \
358 YY_CURRENT_BUFFER_LVALUE = \
359 dax__create_buffer(dax_in,YY_BUF_SIZE ); \
361 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
364 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
366 /* Begin user sect3 */
368 #define dax_wrap() (/*CONSTCOND*/1)
369 #define YY_SKIP_YYWRAP
371 typedef unsigned char YY_CHAR;
373 FILE *dax_in = NULL, *dax_out = NULL;
375 typedef int yy_state_type;
377 extern int dax_lineno;
381 extern char *dax_text;
385 #define yytext_ptr dax_text
387 static yy_state_type yy_get_previous_state (void );
388 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
389 static int yy_get_next_buffer (void );
390 static void yynoreturn yy_fatal_error (yyconst char* msg );
392 /* Done after the current pattern has been matched and before the
393 * corresponding action - sets up dax_text.
395 #define YY_DO_BEFORE_ACTION \
396 (yytext_ptr) = yy_bp; \
397 dax_leng = (int) (yy_cp - yy_bp); \
398 (yy_hold_char) = *yy_cp; \
400 (yy_c_buf_p) = yy_cp;
402 #define YY_NUM_RULES 140
403 #define YY_END_OF_BUFFER 141
404 /* This struct is not used in this scanner,
405 but its presence is necessary. */
408 flex_int32_t yy_verify;
411 static yyconst flex_int16_t yy_accept[775] =
413 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
414 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
415 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
416 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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, 141, 139, 15, 10,
420 10, 15, 15, 119, 10, 119, 5, 6, 5, 8,
421 9, 8, 135, 127, 128, 136, 133, 136, 134, 138,
422 127, 128, 138, 139, 40, 10, 40, 40, 40, 38,
424 40, 40, 40, 40, 40, 40, 40, 44, 10, 44,
425 44, 139, 139, 44, 51, 10, 51, 51, 51, 49,
426 51, 55, 10, 55, 139, 55, 72, 10, 72, 72,
427 72, 70, 72, 72, 72, 72, 72, 76, 10, 76,
428 139, 76, 83, 10, 83, 83, 83, 81, 83, 87,
429 10, 87, 114, 10, 114, 114, 114, 112, 114, 114,
430 114, 114, 114, 114, 118, 10, 118, 136, 135, 10,
431 0, 2, 2, 0, 4, 7, 130, 129, 0, 0,
432 0, 0, 0, 0, 0, 39, 41, 41, 41, 41,
433 41, 41, 41, 41, 41, 41, 0, 0, 0, 0,
435 0, 0, 0, 0, 50, 52, 52, 0, 0, 71,
436 73, 73, 73, 73, 73, 73, 0, 0, 82, 84,
437 84, 0, 113, 115, 115, 115, 115, 115, 115, 115,
438 115, 0, 0, 0, 0, 0, 0, 0, 3, 0,
439 0, 0, 0, 0, 0, 0, 137, 0, 41, 41,
440 41, 41, 41, 41, 41, 41, 41, 0, 0, 0,
441 0, 0, 0, 0, 0, 0, 52, 0, 0, 0,
442 0, 0, 73, 73, 73, 73, 0, 0, 0, 84,
443 0, 0, 115, 115, 115, 115, 115, 115, 115, 0,
444 0, 0, 132, 0, 14, 1, 0, 0, 125, 0,
446 0, 0, 122, 121, 0, 0, 41, 41, 41, 41,
447 41, 41, 41, 41, 41, 0, 0, 43, 0, 0,
448 0, 57, 0, 0, 56, 0, 0, 0, 0, 0,
449 54, 0, 0, 0, 59, 58, 73, 73, 73, 73,
450 0, 0, 75, 0, 0, 0, 0, 0, 0, 86,
451 0, 115, 115, 115, 115, 115, 115, 115, 0, 0,
452 117, 0, 0, 0, 0, 126, 120, 0, 0, 17,
453 41, 41, 41, 41, 41, 0, 0, 41, 41, 41,
454 0, 16, 0, 57, 0, 88, 56, 0, 0, 48,
455 47, 0, 0, 73, 0, 0, 73, 73, 73, 0,
457 89, 0, 80, 79, 0, 0, 0, 0, 0, 115,
458 115, 0, 0, 115, 0, 0, 0, 0, 0, 0,
459 0, 12, 0, 123, 124, 17, 41, 0, 0, 41,
460 0, 0, 41, 0, 29, 28, 41, 0, 41, 0,
461 41, 0, 16, 46, 0, 88, 45, 0, 0, 0,
462 0, 0, 63, 62, 73, 73, 73, 0, 74, 89,
463 0, 0, 91, 90, 0, 0, 0, 115, 115, 0,
464 105, 104, 115, 0, 111, 110, 0, 0, 0, 0,
465 0, 11, 41, 0, 21, 20, 41, 0, 25, 24,
466 41, 41, 41, 0, 33, 32, 41, 0, 42, 46,
468 77, 45, 0, 78, 0, 61, 60, 73, 73, 73,
469 0, 0, 0, 0, 0, 115, 115, 115, 0, 116,
470 0, 0, 0, 0, 41, 41, 41, 0, 0, 41,
471 41, 77, 0, 53, 78, 73, 0, 0, 0, 0,
472 0, 0, 0, 0, 0, 115, 115, 115, 0, 0,
473 0, 0, 41, 41, 0, 0, 0, 31, 30, 41,
474 41, 73, 0, 67, 66, 0, 69, 68, 0, 85,
475 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
476 131, 0, 0, 0, 41, 0, 0, 0, 27, 26,
477 0, 0, 41, 0, 0, 0, 0, 0, 0, 0,
479 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
480 0, 0, 0, 0, 23, 22, 0, 35, 34, 41,
481 0, 65, 64, 0, 0, 0, 0, 0, 0, 0,
482 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
483 0, 0, 0, 19, 18, 41, 93, 0, 92, 0,
484 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
485 0, 0, 0, 0, 0, 41, 95, 94, 0, 0,
486 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
487 0, 0, 0, 0, 41, 0, 0, 0, 0, 0,
488 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
490 0, 0, 0, 41, 0, 99, 0, 98, 0, 103,
491 0, 102, 0, 109, 0, 108, 0, 0, 0, 0,
492 0, 0, 41, 97, 96, 101, 100, 107, 106, 0,
493 0, 0, 12, 0, 12, 0, 41, 0, 0, 0,
494 0, 0, 41, 0, 0, 0, 0, 0, 11, 0,
495 37, 36, 0, 0, 0, 0, 0, 0, 0, 0,
496 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
500 static yyconst YY_CHAR yy_ec[256] =
502 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
503 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
504 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
505 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
506 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
507 13, 13, 13, 13, 13, 13, 13, 14, 15, 16,
508 17, 18, 19, 1, 20, 21, 22, 23, 24, 21,
509 25, 25, 25, 25, 25, 26, 27, 25, 28, 29,
510 25, 25, 30, 31, 25, 25, 25, 25, 32, 25,
511 33, 1, 34, 1, 25, 1, 35, 36, 37, 38,
513 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
514 49, 50, 51, 52, 53, 54, 55, 56, 25, 57,
515 58, 59, 1, 1, 1, 1, 1, 1, 1, 1,
516 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
517 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
518 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
519 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
520 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
521 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
522 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
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,
527 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
528 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
532 static yyconst YY_CHAR yy_meta[60] =
534 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
535 3, 1, 4, 5, 1, 1, 1, 6, 1, 7,
536 7, 7, 7, 7, 5, 5, 5, 5, 5, 5,
537 5, 5, 1, 1, 7, 7, 7, 7, 7, 7,
538 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
539 5, 5, 5, 5, 5, 5, 5, 5, 5
542 static yyconst flex_uint16_t yy_base[814] =
544 0, 0, 0, 3, 6, 9, 24, 27, 11, 14,
545 15, 17, 29, 38, 45, 52, 59, 61, 67, 70,
546 95, 0, 73, 76, 153, 156, 159, 162, 177, 180,
547 183, 186, 201, 204, 207, 210, 226, 278, 245, 248,
548 251, 254, 297, 300, 303, 306, 330, 0, 388, 391,
549 394, 397, 412, 415, 418, 421, 437, 489, 456, 459,
550 541, 0, 462, 465, 598, 600, 2053, 2135, 2135, 269,
551 272, 47, 62, 2135, 321, 172, 2135, 2135, 2033, 2135,
552 2135, 2022, 2135, 2033, 2031, 475, 2135, 2135, 2135, 2135,
553 2027, 2025, 1987, 468, 2135, 324, 1998, 0, 196, 2135,
555 8, 1968, 1958, 1952, 1863, 1858, 35, 2135, 481, 600,
556 608, 604, 612, 641, 2135, 509, 1878, 0, 258, 2135,
557 1855, 2135, 515, 660, 663, 682, 2135, 525, 1875, 0,
558 310, 2135, 1854, 1852, 1855, 1834, 1849, 2135, 528, 704,
559 701, 723, 2135, 531, 1869, 0, 407, 2135, 1847, 2135,
560 534, 606, 2135, 626, 1857, 0, 469, 2135, 1831, 1829,
561 1821, 1830, 1814, 32, 2135, 667, 621, 1851, 1820, 671,
562 628, 1784, 2135, 1827, 1818, 2135, 2135, 2135, 2, 44,
563 1781, 1780, 1778, 1814, 1793, 2135, 0, 1787, 1774, 1777,
564 1784, 1784, 1772, 1747, 1752, 1753, 1752, 1748, 1742, 1722,
566 1735, 1712, 1715, 1720, 2135, 0, 1713, 1695, 1693, 2135,
567 0, 686, 1670, 1671, 1668, 1660, 1666, 1656, 2135, 0,
568 1661, 1650, 2135, 0, 1652, 1644, 1635, 1646, 1627, 1648,
569 1632, 1626, 1634, 1648, 1646, 1649, 458, 1611, 2135, 72,
570 0, 1606, 1602, 1635, 1633, 1594, 2135, 1607, 1590, 1586,
571 1594, 1592, 1601, 1583, 1567, 1567, 1600, 759, 762, 1577,
572 1564, 1570, 1547, 1559, 1560, 1544, 727, 766, 772, 1534,
573 779, 783, 1545, 1536, 1520, 1519, 791, 795, 1528, 799,
574 802, 808, 1527, 1517, 1517, 1513, 1506, 1496, 1503, 815,
575 819, 1519, 2135, 1521, 2135, 2135, 17, 1488, 2135, 1514,
577 1513, 1473, 2135, 2135, 1464, 1475, 1477, 1459, 1490, 1453,
578 1450, 825, 1455, 1443, 1438, 828, 832, 2135, 836, 1449,
579 1442, 845, 1447, 1432, 849, 1437, 853, 856, 864, 871,
580 2135, 874, 1433, 877, 2135, 2135, 1425, 891, 1426, 1421,
581 894, 897, 2135, 900, 1410, 903, 907, 919, 922, 2135,
582 925, 928, 931, 1411, 1406, 947, 1404, 950, 953, 956,
583 2135, 966, 1422, 646, 976, 2135, 2135, 1429, 1427, 959,
584 1419, 979, 1386, 983, 1379, 986, 995, 1374, 1004, 1381,
585 1007, 989, 1379, 1010, 1367, 1013, 1020, 1369, 1024, 2135,
586 2135, 1032, 1357, 1035, 1038, 1054, 1352, 1353, 1347, 1041,
588 1062, 1065, 2135, 2135, 1073, 1077, 1080, 1093, 1096, 1333,
589 1325, 1104, 1111, 1334, 1120, 1123, 1131, 1352, 507, 1353,
590 1136, 2135, 1347, 2135, 2135, 1139, 1315, 1142, 1149, 1291,
591 1159, 1162, 1297, 1176, 2135, 2135, 1295, 1170, 1285, 1187,
592 1298, 1195, 1198, 1201, 1275, 1204, 1207, 1212, 1274, 1215,
593 1218, 1231, 2135, 2135, 1282, 1273, 1263, 1239, 2135, 1242,
594 1245, 1249, 2135, 2135, 1258, 124, 125, 1274, 1262, 1266,
595 2135, 2135, 1259, 1274, 2135, 2135, 1282, 1261, 491, 152,
596 5, 2135, 1235, 1285, 2135, 2135, 1234, 1293, 2135, 2135,
597 1227, 1301, 1226, 1304, 2135, 2135, 1235, 1312, 2135, 1317,
599 1320, 1323, 1329, 1332, 1335, 2135, 2135, 1236, 1346, 1349,
600 1352, 1223, 1211, 1217, 1204, 1210, 1202, 1187, 1355, 2135,
601 1218, 174, 158, 384, 1188, 1177, 1358, 1365, 1374, 1186,
602 1181, 1382, 1385, 2135, 1388, 1187, 1391, 1395, 1407, 1410,
603 1418, 1175, 1169, 1162, 1141, 1423, 1426, 1429, 1161, 1435,
604 176, 461, 1134, 1445, 1448, 1452, 1464, 2135, 2135, 1472,
605 1151, 1475, 1478, 2135, 2135, 1491, 2135, 2135, 1499, 2135,
606 1128, 1131, 1122, 1120, 1502, 1505, 1518, 1521, 1529, 1534,
607 2135, 1545, 228, 179, 1548, 1551, 1555, 1567, 2135, 2135,
608 1575, 1579, 1143, 1587, 1591, 1113, 1105, 1103, 1101, 1599,
610 567, 570, 1607, 582, 626, 1615, 668, 671, 280, 222,
611 643, 1623, 1626, 1635, 2135, 2135, 1643, 2135, 2135, 1101,
612 1651, 2135, 2135, 1142, 1093, 1127, 1077, 1095, 1076, 1084,
613 1066, 1081, 1059, 1074, 1052, 1068, 1049, 1058, 1040, 715,
614 244, 385, 1659, 2135, 2135, 1053, 2135, 1082, 2135, 1078,
615 1026, 1015, 1016, 1006, 1008, 992, 1000, 974, 973, 921,
616 929, 918, 388, 391, 1667, 937, 2135, 2135, 912, 907,
617 889, 902, 861, 851, 835, 848, 832, 830, 792, 776,
618 1670, 1673, 1676, 1693, 753, 714, 746, 695, 712, 666,
619 678, 644, 648, 603, 609, 501, 471, 1701, 1704, 1711,
621 1721, 1739, 1773, 408, 429, 2135, 421, 2135, 421, 2135,
622 402, 2135, 402, 2135, 396, 2135, 725, 1791, 675, 506,
623 1809, 1843, 272, 2135, 2135, 2135, 2135, 2135, 2135, 684,
624 706, 200, 311, 731, 260, 1731, 220, 668, 218, 202,
625 207, 1765, 1836, 296, 153, 1861, 1757, 728, 2135, 1799,
626 2135, 2135, 1734, 1864, 439, 709, 753, 773, 806, 807,
627 761, 873, 823, 901, 948, 1031, 1013, 1035, 1014, 929,
628 1877, 1881, 2135, 2135, 1899, 1906, 1913, 1920, 1927, 1934,
629 1941, 1948, 1955, 1962, 1969, 1976, 1983, 1990, 1995, 2000,
630 2005, 2010, 2015, 2022, 2025, 2028, 2031, 2034, 2037, 2044,
632 2048, 2054, 2060, 2066, 2072, 2078, 2085, 2092, 2099, 2106,
636 static yyconst flex_int16_t yy_def[814] =
638 775, 775, 776, 776, 776, 776, 777, 777, 778, 778,
639 779, 779, 780, 780, 780, 780, 781, 781, 775, 775,
640 774, 21, 782, 782, 782, 782, 775, 775, 782, 782,
641 775, 775, 782, 782, 782, 782, 783, 783, 784, 784,
642 775, 775, 784, 784, 784, 784, 774, 47, 785, 785,
643 775, 775, 785, 785, 785, 785, 786, 786, 787, 787,
644 774, 61, 788, 788, 780, 780, 774, 774, 774, 774,
645 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
646 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
647 774, 774, 774, 774, 774, 774, 774, 789, 774, 774,
649 789, 789, 789, 789, 789, 789, 789, 774, 774, 774,
650 774, 774, 774, 774, 774, 774, 774, 790, 774, 774,
651 790, 774, 774, 774, 774, 774, 774, 774, 774, 791,
652 774, 774, 791, 791, 791, 791, 791, 774, 774, 774,
653 774, 774, 774, 774, 774, 792, 774, 774, 792, 774,
654 774, 774, 774, 774, 774, 793, 774, 774, 793, 793,
655 793, 793, 793, 793, 774, 774, 774, 774, 774, 774,
656 794, 774, 774, 774, 774, 774, 774, 774, 774, 774,
657 774, 774, 774, 774, 774, 774, 789, 789, 789, 789,
658 789, 789, 789, 789, 789, 789, 795, 774, 774, 774,
660 774, 774, 774, 774, 774, 790, 790, 796, 774, 774,
661 791, 791, 791, 791, 791, 791, 797, 774, 774, 792,
662 792, 798, 774, 793, 793, 793, 793, 793, 793, 793,
663 793, 799, 774, 774, 800, 774, 800, 774, 774, 774,
664 801, 774, 774, 774, 774, 774, 774, 774, 789, 789,
665 789, 789, 789, 789, 789, 789, 789, 802, 802, 774,
666 774, 774, 774, 774, 774, 774, 790, 803, 803, 774,
667 774, 774, 791, 791, 791, 791, 804, 804, 774, 792,
668 805, 805, 793, 793, 793, 793, 793, 793, 793, 806,
669 806, 774, 774, 800, 774, 774, 800, 774, 774, 801,
671 774, 774, 774, 774, 774, 774, 789, 789, 789, 789,
672 789, 789, 789, 789, 789, 774, 802, 774, 802, 774,
673 774, 774, 774, 774, 774, 774, 774, 774, 774, 803,
674 774, 803, 774, 774, 774, 774, 791, 791, 791, 791,
675 774, 804, 774, 804, 774, 774, 774, 774, 805, 774,
676 805, 793, 793, 793, 793, 793, 793, 793, 774, 806,
677 774, 806, 774, 800, 807, 774, 774, 774, 774, 774,
678 789, 789, 789, 789, 789, 774, 774, 789, 789, 789,
679 802, 774, 774, 774, 774, 774, 774, 774, 774, 774,
680 774, 803, 774, 791, 774, 774, 791, 791, 791, 804,
682 774, 774, 774, 774, 805, 774, 774, 774, 774, 793,
683 793, 774, 774, 793, 774, 774, 806, 774, 800, 807,
684 807, 774, 807, 774, 774, 774, 789, 774, 774, 789,
685 774, 774, 789, 774, 774, 774, 789, 774, 789, 774,
686 789, 802, 774, 774, 774, 774, 774, 803, 774, 774,
687 774, 774, 774, 774, 791, 791, 791, 774, 774, 774,
688 805, 774, 774, 774, 774, 774, 774, 793, 793, 774,
689 774, 774, 793, 774, 774, 774, 806, 774, 800, 807,
690 807, 774, 789, 774, 774, 774, 789, 774, 774, 774,
691 789, 789, 789, 774, 774, 774, 789, 774, 774, 774,
693 774, 774, 803, 774, 774, 774, 774, 791, 791, 791,
694 805, 774, 774, 774, 774, 793, 793, 793, 774, 774,
695 774, 800, 807, 807, 789, 789, 789, 774, 774, 789,
696 789, 774, 774, 774, 774, 791, 774, 774, 774, 774,
697 805, 774, 774, 774, 774, 793, 793, 793, 774, 800,
698 807, 807, 789, 789, 774, 774, 774, 774, 774, 789,
699 789, 791, 774, 774, 774, 774, 774, 774, 774, 774,
700 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
701 774, 800, 807, 807, 789, 774, 774, 774, 774, 774,
702 774, 774, 789, 774, 774, 774, 774, 774, 774, 774,
704 774, 774, 774, 774, 774, 774, 774, 774, 800, 807,
705 807, 774, 774, 774, 774, 774, 774, 774, 774, 789,
706 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
707 774, 774, 774, 774, 774, 774, 774, 774, 774, 800,
708 807, 807, 774, 774, 774, 789, 774, 774, 774, 774,
709 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
710 774, 774, 800, 807, 807, 789, 774, 774, 774, 774,
711 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
712 800, 807, 807, 807, 789, 774, 774, 774, 774, 774,
713 774, 774, 774, 774, 774, 774, 774, 800, 807, 807,
715 807, 808, 809, 789, 774, 774, 774, 774, 774, 774,
716 774, 774, 774, 774, 774, 774, 800, 807, 810, 811,
717 808, 809, 789, 774, 774, 774, 774, 774, 774, 800,
718 810, 807, 812, 811, 813, 807, 789, 800, 812, 774,
719 813, 807, 789, 800, 774, 774, 774, 800, 774, 774,
720 774, 774, 800, 800, 800, 800, 800, 800, 800, 800,
721 800, 800, 800, 800, 800, 800, 800, 800, 800, 800,
722 800, 800, 774, 0, 774, 774, 774, 774, 774, 774,
723 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
724 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
726 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
730 static yyconst flex_uint16_t yy_nxt[2195] =
732 774, 70, 71, 70, 70, 71, 70, 70, 71, 70,
733 70, 71, 70, 78, 240, 72, 78, 81, 72, 81,
734 79, 73, 422, 79, 73, 75, 71, 75, 75, 71,
735 75, 84, 85, 82, 295, 82, 86, 87, 364, 76,
736 84, 85, 76, 524, 88, 86, 87, 84, 85, 188,
737 89, 171, 86, 88, 84, 85, 189, 89, 241, 86,
738 88, 91, 92, 91, 92, 172, 171, 88, 71, 71,
739 71, 71, 71, 71, 109, 71, 109, 109, 71, 109,
740 173, 195, 94, 230, 240, 94, 299, 196, 110, 231,
741 242, 110, 93, 243, 93, 95, 96, 71, 96, 95,
743 95, 95, 95, 95, 95, 95, 97, 95, 98, 95,
744 99, 95, 100, 95, 98, 98, 98, 98, 98, 98,
745 98, 98, 98, 98, 98, 98, 98, 95, 95, 98,
746 98, 101, 98, 98, 102, 98, 98, 103, 104, 98,
747 98, 98, 105, 98, 98, 98, 98, 98, 98, 98,
748 106, 107, 98, 98, 109, 71, 109, 109, 71, 109,
749 71, 71, 71, 71, 71, 71, 512, 514, 111, 422,
750 749, 111, 513, 515, 112, 422, 174, 112, 109, 71,
751 109, 109, 71, 109, 71, 71, 71, 71, 71, 71,
752 173, 295, 110, 422, 551, 110, 422, 550, 113, 523,
754 174, 113, 109, 71, 109, 109, 71, 109, 109, 71,
755 109, 109, 71, 109, 173, 740, 111, 422, 423, 111,
756 745, 611, 114, 740, 583, 114, 115, 116, 71, 116,
757 115, 115, 115, 115, 115, 115, 115, 117, 115, 422,
758 115, 119, 115, 120, 115, 422, 123, 71, 123, 123,
759 71, 123, 71, 71, 71, 71, 71, 71, 115, 115,
760 124, 422, 174, 124, 641, 610, 125, 743, 740, 125,
761 170, 170, 170, 170, 170, 170, 173, 121, 115, 116,
762 71, 116, 115, 115, 115, 115, 115, 115, 115, 117,
763 115, 664, 115, 119, 115, 120, 115, 295, 123, 71,
765 123, 123, 71, 123, 123, 71, 123, 123, 71, 123,
766 115, 115, 124, 295, 174, 124, 740, 640, 126, 748,
767 737, 126, 170, 170, 170, 170, 170, 170, 173, 121,
768 127, 128, 71, 128, 127, 127, 127, 127, 127, 127,
769 127, 129, 127, 130, 127, 131, 127, 132, 127, 130,
770 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
771 130, 130, 127, 127, 130, 130, 130, 130, 130, 130,
772 130, 130, 133, 130, 130, 134, 130, 135, 130, 130,
773 130, 136, 130, 130, 130, 137, 130, 130, 130, 139,
774 71, 139, 139, 71, 139, 71, 71, 71, 71, 71,
776 71, 422, 422, 140, 729, 295, 140, 728, 422, 141,
777 727, 174, 141, 139, 71, 139, 139, 71, 139, 139,
778 71, 139, 139, 71, 139, 173, 726, 140, 681, 725,
779 140, 682, 665, 142, 724, 552, 142, 143, 144, 71,
780 144, 143, 143, 143, 143, 143, 143, 143, 145, 143,
781 723, 143, 147, 143, 148, 143, 295, 151, 71, 151,
782 151, 71, 151, 166, 71, 166, 166, 71, 166, 143,
783 143, 152, 174, 174, 152, 295, 757, 167, 422, 716,
784 167, 179, 170, 170, 170, 297, 173, 173, 149, 143,
785 144, 71, 144, 143, 143, 143, 143, 143, 143, 143,
787 145, 143, 185, 143, 147, 143, 148, 143, 295, 180,
788 170, 170, 170, 584, 732, 181, 170, 170, 170, 522,
789 182, 143, 143, 735, 295, 183, 170, 170, 170, 170,
790 170, 170, 170, 170, 170, 170, 170, 170, 479, 715,
791 149, 153, 154, 71, 154, 153, 153, 153, 153, 153,
792 153, 153, 155, 153, 156, 153, 157, 153, 158, 153,
793 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
794 156, 156, 156, 153, 153, 156, 156, 156, 156, 156,
795 159, 156, 156, 156, 156, 156, 160, 156, 156, 161,
796 156, 156, 162, 163, 164, 156, 156, 156, 156, 156,
798 84, 85, 84, 85, 174, 86, 628, 86, 174, 630,
799 174, 197, 174, 168, 714, 168, 174, 222, 173, 197,
800 629, 632, 173, 631, 173, 174, 173, 170, 170, 170,
801 173, 169, 232, 169, 198, 633, 199, 236, 198, 173,
802 204, 713, 198, 200, 199, 174, 198, 200, 199, 201,
803 237, 203, 197, 201, 202, 203, 712, 201, 202, 173,
804 422, 201, 202, 295, 174, 634, 202, 174, 170, 170,
805 170, 208, 170, 170, 170, 198, 419, 204, 173, 635,
806 732, 173, 711, 710, 203, 295, 174, 271, 271, 271,
807 201, 642, 733, 208, 198, 202, 204, 198, 744, 204,
809 173, 295, 272, 203, 709, 174, 203, 636, 174, 209,
810 638, 732, 209, 738, 202, 217, 198, 202, 204, 173,
811 708, 637, 173, 733, 639, 203, 295, 174, 327, 327,
812 327, 201, 295, 707, 217, 198, 202, 204, 198, 732,
813 204, 173, 295, 328, 203, 295, 758, 203, 735, 663,
814 201, 706, 705, 201, 753, 218, 730, 198, 218, 204,
815 316, 316, 316, 316, 316, 316, 203, 329, 329, 329,
816 295, 763, 201, 329, 329, 329, 318, 202, 295, 318,
817 271, 271, 271, 331, 334, 334, 334, 759, 335, 331,
818 295, 336, 341, 341, 341, 272, 341, 341, 341, 319,
820 346, 346, 346, 348, 348, 348, 704, 760, 343, 348,
821 348, 348, 343, 332, 697, 347, 359, 359, 359, 350,
822 359, 359, 359, 295, 295, 350, 376, 376, 376, 316,
823 316, 316, 361, 316, 316, 316, 361, 316, 316, 316,
824 295, 377, 351, 344, 696, 318, 384, 384, 384, 318,
825 387, 387, 387, 318, 327, 327, 327, 389, 389, 389,
826 765, 390, 761, 762, 391, 329, 329, 329, 695, 328,
827 381, 362, 329, 329, 329, 329, 329, 329, 334, 334,
828 334, 331, 335, 764, 694, 336, 693, 692, 331, 691,
829 295, 331, 395, 395, 395, 341, 341, 341, 341, 341,
831 341, 341, 341, 341, 346, 346, 346, 396, 402, 402,
832 402, 343, 403, 690, 343, 404, 392, 343, 295, 347,
833 348, 348, 348, 348, 348, 348, 348, 348, 348, 406,
834 406, 406, 408, 408, 408, 400, 350, 771, 766, 350,
835 689, 688, 350, 397, 407, 687, 295, 409, 412, 412,
836 412, 415, 415, 415, 359, 359, 359, 359, 359, 359,
837 426, 426, 426, 413, 686, 295, 416, 359, 359, 359,
838 361, 685, 680, 361, 679, 678, 405, 421, 421, 421,
839 428, 428, 428, 361, 431, 431, 431, 376, 376, 376,
840 443, 443, 443, 422, 423, 429, 434, 434, 434, 432,
842 435, 767, 377, 436, 417, 438, 438, 438, 316, 316,
843 316, 384, 384, 384, 446, 446, 446, 439, 677, 771,
844 440, 387, 387, 387, 318, 389, 389, 389, 676, 390,
845 295, 295, 391, 329, 329, 329, 450, 450, 450, 395,
846 395, 395, 458, 458, 458, 675, 674, 442, 295, 331,
847 769, 451, 295, 673, 396, 452, 452, 452, 459, 453,
848 672, 671, 454, 460, 460, 460, 402, 402, 402, 670,
849 403, 669, 770, 404, 348, 348, 348, 448, 406, 406,
850 406, 462, 462, 462, 768, 463, 668, 667, 464, 666,
851 350, 662, 661, 407, 408, 408, 408, 465, 465, 465,
853 660, 466, 659, 658, 467, 412, 412, 412, 657, 409,
854 656, 461, 470, 470, 470, 655, 471, 654, 653, 472,
855 413, 415, 415, 415, 474, 474, 474, 652, 475, 651,
856 650, 476, 359, 359, 359, 649, 416, 421, 421, 421,
857 426, 426, 426, 428, 428, 428, 648, 647, 361, 646,
858 484, 484, 484, 422, 485, 627, 626, 486, 429, 625,
859 431, 431, 431, 488, 488, 488, 624, 489, 620, 599,
860 490, 438, 438, 438, 480, 432, 598, 434, 434, 434,
861 597, 435, 596, 477, 436, 593, 440, 585, 494, 494,
862 494, 481, 495, 581, 574, 496, 498, 498, 498, 443,
864 443, 443, 500, 500, 500, 446, 446, 446, 502, 502,
865 502, 573, 499, 329, 329, 329, 450, 450, 450, 505,
866 505, 505, 572, 506, 571, 562, 507, 561, 560, 331,
867 554, 451, 452, 452, 452, 553, 453, 549, 548, 454,
868 458, 458, 458, 460, 460, 460, 348, 348, 348, 503,
869 462, 462, 462, 547, 463, 546, 459, 464, 545, 465,
870 465, 465, 350, 466, 544, 543, 467, 470, 470, 470,
871 542, 471, 536, 531, 472, 474, 474, 474, 530, 475,
872 527, 526, 476, 519, 519, 519, 484, 484, 484, 525,
873 485, 521, 511, 486, 488, 488, 488, 518, 489, 520,
875 517, 490, 528, 528, 528, 494, 494, 494, 516, 495,
876 510, 509, 496, 498, 498, 498, 508, 529, 500, 500,
877 500, 532, 532, 532, 502, 502, 502, 504, 501, 499,
878 533, 533, 533, 535, 535, 535, 505, 505, 505, 497,
879 506, 493, 492, 507, 491, 487, 534, 537, 537, 537,
880 539, 539, 539, 348, 348, 348, 519, 519, 519, 555,
881 555, 555, 538, 483, 482, 540, 528, 528, 528, 350,
882 422, 478, 520, 473, 556, 557, 557, 557, 469, 558,
883 468, 529, 559, 532, 532, 532, 533, 533, 533, 535,
884 535, 535, 537, 537, 537, 457, 563, 563, 563, 456,
886 564, 455, 534, 565, 449, 541, 447, 538, 539, 539,
887 539, 566, 566, 566, 445, 567, 444, 441, 568, 569,
888 569, 569, 437, 540, 575, 575, 575, 577, 577, 577,
889 579, 579, 579, 433, 430, 570, 582, 582, 582, 576,
890 427, 425, 578, 424, 418, 580, 586, 586, 586, 555,
891 555, 555, 295, 588, 588, 588, 414, 589, 411, 410,
892 590, 587, 401, 399, 556, 557, 557, 557, 398, 558,
893 394, 393, 559, 591, 591, 591, 594, 594, 594, 563,
894 563, 563, 388, 564, 386, 385, 565, 383, 592, 382,
895 380, 595, 566, 566, 566, 379, 567, 378, 375, 568,
897 569, 569, 569, 575, 575, 575, 600, 600, 600, 374,
898 601, 373, 372, 602, 371, 370, 570, 369, 576, 577,
899 577, 577, 603, 603, 603, 368, 604, 367, 366, 605,
900 579, 579, 579, 365, 578, 606, 606, 606, 295, 607,
901 363, 358, 608, 357, 356, 580, 582, 582, 582, 612,
902 612, 612, 586, 586, 586, 355, 614, 614, 614, 354,
903 615, 353, 295, 616, 613, 352, 345, 587, 588, 588,
904 588, 340, 589, 339, 338, 590, 591, 591, 591, 609,
905 617, 617, 617, 337, 618, 333, 326, 619, 594, 594,
906 594, 592, 621, 621, 621, 325, 622, 324, 323, 623,
908 600, 600, 600, 595, 601, 322, 321, 602, 603, 603,
909 603, 320, 604, 315, 314, 605, 606, 606, 606, 313,
910 607, 312, 311, 608, 612, 612, 612, 643, 643, 643,
911 310, 644, 309, 308, 645, 307, 614, 614, 614, 613,
912 615, 306, 305, 616, 617, 617, 617, 304, 618, 303,
913 302, 619, 621, 621, 621, 301, 622, 298, 296, 623,
914 643, 643, 643, 295, 644, 293, 292, 645, 683, 683,
915 683, 698, 698, 698, 699, 699, 699, 683, 683, 683,
916 291, 289, 288, 684, 422, 287, 286, 295, 285, 700,
917 422, 284, 684, 422, 701, 701, 701, 283, 702, 282,
919 280, 703, 698, 698, 698, 699, 699, 699, 279, 278,
920 422, 276, 718, 718, 718, 275, 719, 274, 295, 720,
921 700, 422, 701, 701, 701, 273, 702, 270, 422, 703,
922 717, 269, 742, 742, 742, 754, 754, 754, 422, 420,
923 420, 420, 420, 420, 420, 420, 420, 420, 422, 423,
924 420, 295, 267, 420, 420, 420, 422, 420, 750, 750,
925 750, 266, 751, 265, 264, 752, 742, 742, 742, 263,
926 262, 420, 420, 420, 420, 420, 420, 420, 420, 420,
927 420, 420, 422, 261, 420, 260, 259, 420, 420, 420,
928 422, 420, 718, 718, 718, 257, 719, 256, 255, 720,
930 750, 750, 750, 480, 751, 420, 420, 752, 422, 420,
931 420, 420, 420, 420, 736, 420, 420, 420, 254, 253,
932 420, 252, 251, 420, 420, 420, 422, 420, 250, 249,
933 248, 247, 246, 245, 244, 239, 236, 746, 746, 746,
934 238, 420, 420, 420, 420, 420, 420, 420, 420, 420,
935 420, 736, 747, 234, 420, 233, 229, 420, 420, 420,
936 422, 420, 746, 746, 746, 754, 754, 754, 228, 755,
937 227, 226, 756, 225, 223, 420, 420, 747, 772, 772,
938 772, 295, 772, 772, 772, 221, 219, 216, 215, 214,
939 213, 212, 210, 207, 773, 205, 194, 193, 773, 68,
941 68, 68, 68, 68, 68, 68, 69, 69, 69, 69,
942 69, 69, 69, 74, 74, 74, 74, 74, 74, 74,
943 77, 77, 77, 77, 77, 77, 77, 80, 80, 80,
944 80, 80, 80, 80, 83, 83, 83, 83, 83, 83,
945 83, 90, 90, 90, 90, 90, 90, 90, 108, 108,
946 108, 108, 108, 108, 108, 118, 118, 118, 118, 118,
947 118, 118, 122, 122, 122, 122, 122, 122, 122, 138,
948 138, 138, 138, 138, 138, 138, 146, 146, 146, 146,
949 146, 146, 146, 150, 150, 150, 150, 150, 150, 150,
950 165, 165, 165, 165, 165, 165, 165, 187, 187, 187,
952 192, 187, 206, 206, 206, 191, 206, 211, 211, 211,
953 190, 211, 220, 220, 220, 186, 220, 224, 224, 224,
954 184, 224, 235, 235, 235, 235, 235, 178, 235, 258,
955 177, 258, 268, 178, 268, 277, 177, 277, 281, 176,
956 281, 290, 175, 290, 294, 294, 294, 294, 294, 294,
957 294, 300, 774, 774, 300, 317, 317, 317, 317, 317,
958 317, 330, 330, 330, 330, 330, 330, 342, 342, 342,
959 342, 342, 342, 349, 349, 349, 349, 349, 349, 360,
960 360, 360, 360, 360, 360, 420, 420, 420, 420, 420,
961 420, 420, 721, 721, 721, 721, 721, 721, 721, 722,
963 722, 722, 722, 722, 722, 722, 731, 731, 731, 731,
964 731, 731, 731, 734, 734, 734, 734, 734, 734, 734,
965 739, 739, 739, 739, 739, 739, 739, 741, 741, 741,
966 741, 741, 741, 741, 67, 774, 774, 774, 774, 774,
967 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
968 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
969 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
970 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
971 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
976 static yyconst flex_int16_t yy_chk[2195] =
978 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
979 6, 6, 6, 9, 179, 3, 10, 11, 4, 12,
980 9, 5, 481, 10, 6, 7, 7, 7, 8, 8,
981 8, 13, 13, 11, 297, 12, 13, 13, 297, 7,
982 14, 14, 8, 481, 13, 14, 14, 15, 15, 101,
983 15, 72, 15, 14, 16, 16, 101, 16, 179, 16,
984 15, 17, 17, 18, 18, 72, 73, 16, 19, 19,
985 19, 20, 20, 20, 23, 23, 23, 24, 24, 24,
986 73, 107, 19, 164, 240, 20, 240, 107, 23, 164,
987 180, 24, 17, 180, 18, 21, 21, 21, 21, 21,
989 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
990 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
991 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
992 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
993 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
994 21, 21, 21, 21, 25, 25, 25, 26, 26, 26,
995 27, 27, 27, 28, 28, 28, 466, 467, 25, 480,
996 745, 26, 466, 467, 27, 523, 76, 28, 29, 29,
997 29, 30, 30, 30, 31, 31, 31, 32, 32, 32,
998 76, 522, 29, 551, 523, 30, 584, 522, 31, 480,
1000 99, 32, 33, 33, 33, 34, 34, 34, 35, 35,
1001 35, 36, 36, 36, 99, 741, 33, 732, 732, 34,
1002 740, 584, 35, 739, 551, 36, 37, 37, 37, 37,
1003 37, 37, 37, 37, 37, 37, 37, 37, 37, 610,
1004 37, 37, 37, 37, 37, 583, 39, 39, 39, 40,
1005 40, 40, 41, 41, 41, 42, 42, 42, 37, 37,
1006 39, 641, 119, 40, 610, 583, 41, 737, 735, 42,
1007 70, 70, 70, 71, 71, 71, 119, 37, 38, 38,
1008 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
1009 38, 641, 38, 38, 38, 38, 38, 609, 43, 43,
1011 43, 44, 44, 44, 45, 45, 45, 46, 46, 46,
1012 38, 38, 43, 744, 131, 44, 733, 609, 45, 744,
1013 723, 46, 75, 75, 75, 96, 96, 96, 131, 38,
1014 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
1015 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
1016 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
1017 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
1018 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
1019 47, 47, 47, 47, 47, 47, 47, 47, 47, 49,
1020 49, 49, 50, 50, 50, 51, 51, 51, 52, 52,
1022 52, 524, 642, 49, 715, 663, 50, 713, 664, 51,
1023 711, 147, 52, 53, 53, 53, 54, 54, 54, 55,
1024 55, 55, 56, 56, 56, 147, 709, 53, 663, 707,
1025 54, 664, 642, 55, 705, 524, 56, 57, 57, 57,
1026 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
1027 704, 57, 57, 57, 57, 57, 755, 59, 59, 59,
1028 60, 60, 60, 63, 63, 63, 64, 64, 64, 57,
1029 57, 59, 94, 157, 60, 237, 755, 63, 552, 697,
1030 64, 86, 109, 109, 109, 237, 94, 157, 57, 58,
1031 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1033 58, 58, 94, 58, 58, 58, 58, 58, 479, 86,
1034 116, 116, 116, 552, 720, 86, 123, 123, 123, 479,
1035 86, 58, 58, 720, 419, 86, 128, 128, 128, 139,
1036 139, 139, 144, 144, 144, 151, 151, 151, 419, 696,
1037 58, 61, 61, 61, 61, 61, 61, 61, 61, 61,
1038 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
1039 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
1040 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
1041 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
1042 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
1044 65, 65, 66, 66, 110, 65, 601, 66, 112, 602,
1045 152, 110, 111, 65, 695, 66, 113, 152, 110, 111,
1046 601, 604, 112, 602, 152, 167, 111, 154, 154, 154,
1047 113, 65, 167, 66, 110, 604, 110, 171, 112, 167,
1048 112, 694, 111, 110, 111, 114, 113, 112, 113, 110,
1049 171, 111, 114, 112, 110, 113, 693, 111, 112, 114,
1050 611, 113, 111, 364, 124, 605, 113, 125, 166, 166,
1051 166, 124, 170, 170, 170, 114, 364, 114, 124, 605,
1052 719, 125, 692, 691, 114, 738, 126, 212, 212, 212,
1053 114, 611, 719, 126, 124, 114, 124, 125, 738, 125,
1055 126, 730, 212, 124, 690, 141, 125, 607, 140, 124,
1056 608, 731, 125, 730, 124, 140, 126, 125, 126, 141,
1057 689, 607, 140, 731, 608, 126, 756, 142, 267, 267,
1058 267, 126, 640, 688, 142, 141, 126, 141, 140, 734,
1059 140, 142, 717, 267, 141, 748, 756, 140, 734, 640,
1060 141, 687, 686, 140, 748, 141, 717, 142, 140, 142,
1061 258, 258, 258, 259, 259, 259, 142, 268, 268, 268,
1062 757, 761, 142, 269, 269, 269, 258, 142, 761, 259,
1063 271, 271, 271, 268, 272, 272, 272, 757, 272, 269,
1064 758, 272, 277, 277, 277, 271, 278, 278, 278, 259,
1066 280, 280, 280, 281, 281, 281, 685, 758, 277, 282,
1067 282, 282, 278, 269, 680, 280, 290, 290, 290, 281,
1068 291, 291, 291, 759, 760, 282, 312, 312, 312, 316,
1069 316, 316, 290, 317, 317, 317, 291, 319, 319, 319,
1070 763, 312, 282, 278, 679, 316, 322, 322, 322, 317,
1071 325, 325, 325, 319, 327, 327, 327, 328, 328, 328,
1072 763, 328, 759, 760, 328, 329, 329, 329, 678, 327,
1073 319, 291, 330, 330, 330, 332, 332, 332, 334, 334,
1074 334, 329, 334, 762, 677, 334, 676, 675, 330, 674,
1075 762, 332, 338, 338, 338, 341, 341, 341, 342, 342,
1077 342, 344, 344, 344, 346, 346, 346, 338, 347, 347,
1078 347, 341, 347, 673, 342, 347, 332, 344, 764, 346,
1079 348, 348, 348, 349, 349, 349, 351, 351, 351, 352,
1080 352, 352, 353, 353, 353, 344, 348, 770, 764, 349,
1081 672, 671, 351, 338, 352, 670, 770, 353, 356, 356,
1082 356, 358, 358, 358, 359, 359, 359, 360, 360, 360,
1083 370, 370, 370, 356, 669, 765, 358, 362, 362, 362,
1084 359, 666, 662, 360, 661, 660, 351, 365, 365, 365,
1085 372, 372, 372, 362, 374, 374, 374, 376, 376, 376,
1086 382, 382, 382, 365, 365, 372, 377, 377, 377, 374,
1088 377, 765, 376, 377, 362, 379, 379, 379, 381, 381,
1089 381, 384, 384, 384, 386, 386, 386, 379, 659, 769,
1090 379, 387, 387, 387, 381, 389, 389, 389, 658, 389,
1091 767, 769, 389, 392, 392, 392, 394, 394, 394, 395,
1092 395, 395, 400, 400, 400, 657, 656, 381, 766, 392,
1093 767, 394, 768, 655, 395, 396, 396, 396, 400, 396,
1094 654, 653, 396, 401, 401, 401, 402, 402, 402, 652,
1095 402, 651, 768, 402, 405, 405, 405, 392, 406, 406,
1096 406, 407, 407, 407, 766, 407, 650, 648, 407, 646,
1097 405, 639, 638, 406, 408, 408, 408, 409, 409, 409,
1099 637, 409, 636, 635, 409, 412, 412, 412, 634, 408,
1100 633, 405, 413, 413, 413, 632, 413, 631, 630, 413,
1101 412, 415, 415, 415, 416, 416, 416, 629, 416, 628,
1102 627, 416, 417, 417, 417, 626, 415, 421, 421, 421,
1103 426, 426, 426, 428, 428, 428, 625, 624, 417, 620,
1104 429, 429, 429, 421, 429, 599, 598, 429, 428, 597,
1105 431, 431, 431, 432, 432, 432, 596, 432, 593, 574,
1106 432, 438, 438, 438, 421, 431, 573, 434, 434, 434,
1107 572, 434, 571, 417, 434, 561, 438, 553, 440, 440,
1108 440, 421, 440, 549, 545, 440, 442, 442, 442, 443,
1110 443, 443, 444, 444, 444, 446, 446, 446, 447, 447,
1111 447, 544, 442, 448, 448, 448, 450, 450, 450, 451,
1112 451, 451, 543, 451, 542, 536, 451, 531, 530, 448,
1113 526, 450, 452, 452, 452, 525, 452, 521, 518, 452,
1114 458, 458, 458, 460, 460, 460, 461, 461, 461, 448,
1115 462, 462, 462, 517, 462, 516, 458, 462, 515, 465,
1116 465, 465, 461, 465, 514, 513, 465, 470, 470, 470,
1117 512, 470, 508, 497, 470, 474, 474, 474, 493, 474,
1118 491, 487, 474, 477, 477, 477, 484, 484, 484, 483,
1119 484, 478, 461, 484, 488, 488, 488, 473, 488, 477,
1121 469, 488, 492, 492, 492, 494, 494, 494, 468, 494,
1122 457, 456, 494, 498, 498, 498, 455, 492, 500, 500,
1123 500, 501, 501, 501, 502, 502, 502, 449, 445, 498,
1124 503, 503, 503, 504, 504, 504, 505, 505, 505, 441,
1125 505, 439, 437, 505, 433, 430, 503, 509, 509, 509,
1126 510, 510, 510, 511, 511, 511, 519, 519, 519, 527,
1127 527, 527, 509, 427, 423, 510, 528, 528, 528, 511,
1128 420, 418, 519, 414, 527, 529, 529, 529, 411, 529,
1129 410, 528, 529, 532, 532, 532, 533, 533, 533, 535,
1130 535, 535, 537, 537, 537, 399, 538, 538, 538, 398,
1132 538, 397, 533, 538, 393, 511, 388, 537, 539, 539,
1133 539, 540, 540, 540, 385, 540, 383, 380, 540, 541,
1134 541, 541, 378, 539, 546, 546, 546, 547, 547, 547,
1135 548, 548, 548, 375, 373, 541, 550, 550, 550, 546,
1136 371, 369, 547, 368, 363, 548, 554, 554, 554, 555,
1137 555, 555, 550, 556, 556, 556, 357, 556, 355, 354,
1138 556, 554, 345, 340, 555, 557, 557, 557, 339, 557,
1139 337, 333, 557, 560, 560, 560, 562, 562, 562, 563,
1140 563, 563, 326, 563, 324, 323, 563, 321, 560, 320,
1141 315, 562, 566, 566, 566, 314, 566, 313, 311, 566,
1143 569, 569, 569, 575, 575, 575, 576, 576, 576, 310,
1144 576, 309, 308, 576, 307, 306, 569, 305, 575, 577,
1145 577, 577, 578, 578, 578, 302, 578, 301, 300, 578,
1146 579, 579, 579, 298, 577, 580, 580, 580, 294, 580,
1147 292, 289, 580, 288, 287, 579, 582, 582, 582, 585,
1148 585, 585, 586, 586, 586, 286, 587, 587, 587, 285,
1149 587, 284, 582, 587, 585, 283, 279, 586, 588, 588,
1150 588, 276, 588, 275, 274, 588, 591, 591, 591, 582,
1151 592, 592, 592, 273, 592, 270, 266, 592, 594, 594,
1152 594, 591, 595, 595, 595, 265, 595, 264, 263, 595,
1154 600, 600, 600, 594, 600, 262, 261, 600, 603, 603,
1155 603, 260, 603, 257, 256, 603, 606, 606, 606, 255,
1156 606, 254, 253, 606, 612, 612, 612, 613, 613, 613,
1157 252, 613, 251, 250, 613, 249, 614, 614, 614, 612,
1158 614, 248, 246, 614, 617, 617, 617, 245, 617, 244,
1159 243, 617, 621, 621, 621, 242, 621, 238, 236, 621,
1160 643, 643, 643, 235, 643, 234, 233, 643, 665, 665,
1161 665, 681, 681, 681, 682, 682, 682, 683, 683, 683,
1162 232, 231, 230, 665, 665, 229, 228, 681, 227, 682,
1163 682, 226, 683, 683, 684, 684, 684, 225, 684, 222,
1165 221, 684, 698, 698, 698, 699, 699, 699, 218, 217,
1166 684, 216, 700, 700, 700, 215, 700, 214, 698, 700,
1167 699, 699, 701, 701, 701, 213, 701, 209, 700, 701,
1168 698, 208, 736, 736, 736, 753, 753, 753, 701, 702,
1169 702, 702, 702, 702, 702, 702, 702, 702, 736, 736,
1170 702, 753, 207, 702, 702, 702, 702, 702, 747, 747,
1171 747, 204, 747, 203, 202, 747, 742, 742, 742, 201,
1172 200, 702, 702, 703, 703, 703, 703, 703, 703, 703,
1173 703, 703, 742, 199, 703, 198, 197, 703, 703, 703,
1174 703, 703, 718, 718, 718, 196, 718, 195, 194, 718,
1176 750, 750, 750, 742, 750, 703, 703, 750, 718, 721,
1177 721, 721, 721, 721, 721, 721, 721, 721, 193, 192,
1178 721, 191, 190, 721, 721, 721, 721, 721, 189, 188,
1179 185, 184, 183, 182, 181, 175, 174, 743, 743, 743,
1180 172, 721, 721, 722, 722, 722, 722, 722, 722, 722,
1181 722, 722, 743, 169, 722, 168, 163, 722, 722, 722,
1182 722, 722, 746, 746, 746, 754, 754, 754, 162, 754,
1183 161, 160, 754, 159, 155, 722, 722, 746, 771, 771,
1184 771, 754, 772, 772, 772, 149, 145, 137, 136, 135,
1185 134, 133, 129, 121, 771, 117, 106, 105, 772, 775,
1187 775, 775, 775, 775, 775, 775, 776, 776, 776, 776,
1188 776, 776, 776, 777, 777, 777, 777, 777, 777, 777,
1189 778, 778, 778, 778, 778, 778, 778, 779, 779, 779,
1190 779, 779, 779, 779, 780, 780, 780, 780, 780, 780,
1191 780, 781, 781, 781, 781, 781, 781, 781, 782, 782,
1192 782, 782, 782, 782, 782, 783, 783, 783, 783, 783,
1193 783, 783, 784, 784, 784, 784, 784, 784, 784, 785,
1194 785, 785, 785, 785, 785, 785, 786, 786, 786, 786,
1195 786, 786, 786, 787, 787, 787, 787, 787, 787, 787,
1196 788, 788, 788, 788, 788, 788, 788, 789, 789, 789,
1198 104, 789, 790, 790, 790, 103, 790, 791, 791, 791,
1199 102, 791, 792, 792, 792, 97, 792, 793, 793, 793,
1200 93, 793, 794, 794, 794, 794, 794, 92, 794, 795,
1201 91, 795, 796, 85, 796, 797, 84, 797, 798, 82,
1202 798, 799, 79, 799, 800, 800, 800, 800, 800, 800,
1203 800, 801, 67, 0, 801, 802, 802, 802, 802, 802,
1204 802, 803, 803, 803, 803, 803, 803, 804, 804, 804,
1205 804, 804, 804, 805, 805, 805, 805, 805, 805, 806,
1206 806, 806, 806, 806, 806, 807, 807, 807, 807, 807,
1207 807, 807, 808, 808, 808, 808, 808, 808, 808, 809,
1209 809, 809, 809, 809, 809, 809, 810, 810, 810, 810,
1210 810, 810, 810, 811, 811, 811, 811, 811, 811, 811,
1211 812, 812, 812, 812, 812, 812, 812, 813, 813, 813,
1212 813, 813, 813, 813, 774, 774, 774, 774, 774, 774,
1213 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
1214 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
1215 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
1216 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
1217 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
1222 /* Table of booleans, true if rule could match eol. */
1223 static yyconst flex_int32_t yy_rule_can_match_eol[141] =
1225 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
1226 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
1227 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1,
1228 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1,
1229 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1230 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0,
1231 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1,
1234 static yy_state_type yy_last_accepting_state;
1235 static char *yy_last_accepting_cpos;
1237 extern int dax__flex_debug;
1238 int dax__flex_debug = 0;
1240 /* The intent behind this definition is that it'll catch
1241 * any uses of REJECT which flex missed.
1243 #define REJECT reject_used_but_not_detected
1244 #define yymore() yymore_used_but_not_detected
1245 #define YY_MORE_ADJ 0
1246 #define YY_RESTORE_YY_MORE_OFFSET
1248 /* Validating XML processor for src/simdag/dax.dtd.
1250 * This program was generated with the FleXML XML processor generator.
1251 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
1252 * FleXML is Copyright (C) 2003-2013 Martin Quinson. All rights reserved.
1255 * There are two, intertwined parts to this program, part A and part B.
1260 * Some parts, here collectively called "Part A", are found in the
1261 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
1262 * and Copyright (C) 2003-2013 Martin Quinson. All rights reserved.
1264 * You can redistribute, use, perform, display and/or modify "Part A"
1265 * provided the following two conditions hold:
1267 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
1268 * FleXML; without even the implied warranty of MERCHANTABILITY or
1269 * FITNESS FOR A PARTICULAR PURPOSE.
1271 * 2. The program distribution conditions do not in any way affect the
1272 * distribution conditions of the FleXML system used to generate this
1273 * file or any version of FleXML derived from that system.
1275 * Notice that these are explicit rights granted to you for files
1276 * generated by the FleXML system. For your rights in connection with
1277 * the FleXML system itself please consult the GNU General Public License.
1282 * The other parts, here collectively called "Part B", and which came
1283 * from the DTD used by FleXML to generate this program, can be
1284 * distributed (or not, as the case may be) under the terms of whoever
1285 * wrote them, provided these terms respect and obey the two conditions
1286 * above under the heading "Part A".
1288 * The author of and contributors to FleXML specifically disclaim
1289 * any copyright interest in "Part B", unless "Part B" was written
1290 * by the author of or contributors to FleXML.
1294 /* Version strings. */
1295 const char dax__flexml_version[] = "1.9.6";
1298 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
1305 #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
1306 # ifndef __STRICT_ANSI__
1308 # include <process.h>
1311 # include <unistd.h>
1314 #ifndef FLEXML_INDEXSTACKSIZE
1315 #define FLEXML_INDEXSTACKSIZE 1000
1318 /* Generated definitions. */
1319 #define FLEXML_yylineno
1320 #ifndef FLEXML_BUFFERSTACKSIZE
1321 #define FLEXML_BUFFERSTACKSIZE 1000000
1323 #define FLEXML_NEED_BUFFERLIT
1325 /* XML processor api. */
1326 /* FleXML-provided data. */
1328 extern char *dax__bufferstack;
1329 #define dax__pcdata (dax__bufferstack + dax__pcdata_ix)
1330 AT_dax__adag_childCount AX_dax__adag_childCount;
1331 #define A_dax__adag_childCount (dax__bufferstack + AX_dax__adag_childCount)
1332 short int dax__adag_childCount_isset;
1333 AT_dax__adag_count AX_dax__adag_count;
1334 #define A_dax__adag_count (dax__bufferstack + AX_dax__adag_count)
1335 short int dax__adag_count_isset;
1336 AT_dax__adag_fileCount AX_dax__adag_fileCount;
1337 #define A_dax__adag_fileCount (dax__bufferstack + AX_dax__adag_fileCount)
1338 short int dax__adag_fileCount_isset;
1339 AT_dax__adag_index AX_dax__adag_index;
1340 #define A_dax__adag_index (dax__bufferstack + AX_dax__adag_index)
1341 short int dax__adag_index_isset;
1342 AT_dax__adag_jobCount AX_dax__adag_jobCount;
1343 #define A_dax__adag_jobCount (dax__bufferstack + AX_dax__adag_jobCount)
1344 short int dax__adag_jobCount_isset;
1345 AT_dax__adag_name AX_dax__adag_name;
1346 #define A_dax__adag_name (dax__bufferstack + AX_dax__adag_name)
1347 short int dax__adag_name_isset;
1348 AT_dax__adag_version AX_dax__adag_version;
1349 #define A_dax__adag_version (dax__bufferstack + AX_dax__adag_version)
1350 short int dax__adag_version_isset;
1351 AT_dax__adag_xmlns AX_dax__adag_xmlns;
1352 #define A_dax__adag_xmlns (dax__bufferstack + AX_dax__adag_xmlns)
1353 short int dax__adag_xmlns_isset;
1354 AT_dax__adag_xmlns_c_xsi AX_dax__adag_xmlns_c_xsi;
1355 #define A_dax__adag_xmlns_c_xsi (dax__bufferstack + AX_dax__adag_xmlns_c_xsi)
1356 short int dax__adag_xmlns_c_xsi_isset;
1357 AT_dax__adag_xsi_c_schemaLocation AX_dax__adag_xsi_c_schemaLocation;
1358 #define A_dax__adag_xsi_c_schemaLocation (dax__bufferstack + AX_dax__adag_xsi_c_schemaLocation)
1359 short int dax__adag_xsi_c_schemaLocation_isset;
1360 AT_dax__child_ref AX_dax__child_ref;
1361 #define A_dax__child_ref (dax__bufferstack + AX_dax__child_ref)
1362 short int dax__child_ref_isset;
1363 AT_dax__job_id AX_dax__job_id;
1364 #define A_dax__job_id (dax__bufferstack + AX_dax__job_id)
1365 short int dax__job_id_isset;
1366 AT_dax__job_level AX_dax__job_level;
1367 #define A_dax__job_level (dax__bufferstack + AX_dax__job_level)
1368 short int dax__job_level_isset;
1369 AT_dax__job_name AX_dax__job_name;
1370 #define A_dax__job_name (dax__bufferstack + AX_dax__job_name)
1371 short int dax__job_name_isset;
1372 AT_dax__job_namespace AX_dax__job_namespace;
1373 #define A_dax__job_namespace (dax__bufferstack + AX_dax__job_namespace)
1374 short int dax__job_namespace_isset;
1375 AT_dax__job_runtime AX_dax__job_runtime;
1376 #define A_dax__job_runtime (dax__bufferstack + AX_dax__job_runtime)
1377 short int dax__job_runtime_isset;
1378 AT_dax__job_version AX_dax__job_version;
1379 #define A_dax__job_version (dax__bufferstack + AX_dax__job_version)
1380 short int dax__job_version_isset;
1381 AT_dax__parent_ref AX_dax__parent_ref;
1382 #define A_dax__parent_ref (dax__bufferstack + AX_dax__parent_ref)
1383 short int dax__parent_ref_isset;
1384 AT_dax__uses_file AX_dax__uses_file;
1385 #define A_dax__uses_file (dax__bufferstack + AX_dax__uses_file)
1386 short int dax__uses_file_isset;
1387 AT_dax__uses_link AX_dax__uses_link;
1388 #define A_dax__uses_link AX_dax__uses_link
1389 short int dax__uses_link_isset;
1390 AT_dax__uses_optional AX_dax__uses_optional;
1391 #define A_dax__uses_optional AX_dax__uses_optional
1392 short int dax__uses_optional_isset;
1393 AT_dax__uses_register AX_dax__uses_register;
1394 #define A_dax__uses_register AX_dax__uses_register
1395 short int dax__uses_register_isset;
1396 AT_dax__uses_size AX_dax__uses_size;
1397 #define A_dax__uses_size (dax__bufferstack + AX_dax__uses_size)
1398 short int dax__uses_size_isset;
1399 AT_dax__uses_transfer AX_dax__uses_transfer;
1400 #define A_dax__uses_transfer AX_dax__uses_transfer
1401 short int dax__uses_transfer_isset;
1402 AT_dax__uses_type AX_dax__uses_type;
1403 #define A_dax__uses_type (dax__bufferstack + AX_dax__uses_type)
1404 short int dax__uses_type_isset;
1408 # define ENTER(state) debug_enter(state,#state)
1409 # define LEAVE debug_leave()
1410 # define SET(state) debug_set(state,#state)
1411 static void debug_enter(int, const char*);
1412 static void debug_leave(void);
1413 static void debug_set(int, const char*);
1415 # define ENTER(state) (yy_push_state(state))
1416 # define LEAVE (yy_pop_state())
1417 # define SET(state) BEGIN(state)
1420 /* Generic actions. */
1421 #define SKIP /*skip*/
1422 #define SUCCEED CLEANUP; return 0
1424 #define FAIL return fail
1425 static int fail(const char*, ...);
1427 enum {flexml_max_err_msg_size = 512};
1428 static char flexml_err_msg[flexml_max_err_msg_size];
1429 const char * dax__parse_err_msg()
1431 return flexml_err_msg;
1433 static void reset_dax__parse_err_msg()
1435 flexml_err_msg[0] = '\0';
1439 static void cleanup(void);
1440 #define CLEANUP cleanup()
1442 /* Text buffer stack handling. */
1443 char *dax__bufferstack = NULL;
1444 static int blimit = FLEXML_BUFFERSTACKSIZE;
1445 static int bnext = 1;
1447 static int *indexstack = NULL;
1448 static int ilimit = FLEXML_INDEXSTACKSIZE;
1449 static int inext = 1;
1451 #define BUFFERSET(P) (P = bnext)
1452 #define BUFFERPUTC(C) (ck_blimit(), dax__bufferstack[bnext++] = (C))
1453 #define BUFFERDONE (BUFFERPUTC('\0'))
1455 #define BUFFERLITERAL(C, P) dax__bufferliteral(C, &(P), dax_text)
1457 /* after this is called, there are at least 2 slots left in the stack */
1458 static int ck_blimit()
1460 if (bnext >= blimit) {
1461 blimit += FLEXML_BUFFERSTACKSIZE + 2;
1463 char *temp = (char *) realloc(dax__bufferstack, blimit);
1465 dax__bufferstack = temp;
1471 /* after this is called, there are at least 2 slots left in the stack */
1472 static int ck_ilimit()
1474 if (inext >= ilimit) {
1475 ilimit += FLEXML_INDEXSTACKSIZE + 2;
1477 int *temp = (int *) realloc(indexstack, ilimit);
1485 #ifdef FLEXML_NEED_BUFFERLIT
1486 static void dax__bufferliteral(char c, int* pp, const char* text)
1490 const char *s = strchr(text, c), *e = strrchr(text, c);
1491 assert(s && e && s <= e);
1496 do ++s; while (s < e && isspace(*s));
1501 const char *s = text;
1509 static void pushbuffer(int p)
1512 indexstack[inext++] = p;
1513 indexstack[inext++] = bnext;
1516 static int popbuffer(void)
1519 bnext = indexstack[--inext];
1520 return indexstack[--inext];
1523 /* General internal entities are `unput' back onto the input stream... */
1524 #define ENTITYTEXT(T) \
1525 { char *s = (T), *e = s+strlen(s);\
1526 while (--e >= s) { unput(*e); }}
1528 /* Flex standard options. */
1529 #define YY_NO_INPUT 1
1530 /* Flex user-requested options. */
1531 /* XML character classes (currently restricted to ASCII). */
1532 /* "Common syntactic structures." */
1533 /* "Names and Tokens." */
1534 /* Miscellaneous. */
1535 /* Parser states (flex `exclusive start conditions'):
1537 * PROLOG the XML prolog of the document before <?xml...>
1538 * DOCTYPE the XML prolog of the document after <?xml...>
1539 * EPILOG after the root element
1540 * INCOMMENT inside an XML comment <!--....-->
1541 * INPI inside an XML PI <?...?>
1542 * VALUE1 inside a '...'-delimited literal
1543 * VALUE2 inside a "..."-delimited literal
1544 * CDATA inside a <![CDATA[...] ]> section.
1545 * ROOT_<tag> expect root element <tag>
1546 * AL_<tag> inside the attribute list for <tag>
1547 * IN_<tag> inside a <tag> with element contents (ready for end tag)
1548 * IMPOSSIBLE dummy to permit disabling rules; must be last
1552 const char* *dax__statenames=NULL;
1563 #define ROOT_dax__adag 9
1564 #define AL_dax__adag 10
1565 #define S_dax__adag 11
1566 #define S_dax__adag_1 12
1567 #define S_dax__adag_2 13
1568 #define S_dax__adag_3 14
1569 #define S_dax__adag_4 15
1570 #define S_dax__adag_5 16
1571 #define E_dax__adag 17
1572 #define AL_dax__child 18
1573 #define S_dax__child 19
1574 #define S_dax__child_1 20
1575 #define S_dax__child_2 21
1576 #define E_dax__child 22
1577 #define AL_dax__job 23
1578 #define S_dax__job 24
1579 #define S_dax__job_1 25
1580 #define S_dax__job_2 26
1581 #define E_dax__job 27
1582 #define AL_dax__parent 28
1583 #define E_dax__parent 29
1584 #define AL_dax__uses 30
1585 #define E_dax__uses 31
1586 #define IMPOSSIBLE 32
1588 #ifndef YY_NO_UNISTD_H
1589 /* Special case for "unistd.h", since it is non-ANSI. We include it way
1590 * down here because we want the user's section 1 to have been scanned first.
1591 * The user has a chance to override it with an option.
1594 # ifndef __STRICT_ANSI__
1596 # include <process.h>
1599 # include <unistd.h>
1603 #ifndef YY_EXTRA_TYPE
1604 #define YY_EXTRA_TYPE void *
1607 static int yy_init_globals (void );
1609 /* Accessor methods to globals.
1610 These are made visible to non-reentrant scanners for convenience. */
1612 int dax_lex_destroy (void );
1614 int dax_get_debug (void );
1616 void dax_set_debug (int debug_flag );
1618 YY_EXTRA_TYPE dax_get_extra (void );
1620 void dax_set_extra (YY_EXTRA_TYPE user_defined );
1622 FILE *dax_get_in (void );
1624 void dax_set_in (FILE * _in_str );
1626 FILE *dax_get_out (void );
1628 void dax_set_out (FILE * _out_str );
1630 int dax_get_leng (void );
1632 char *dax_get_text (void );
1634 int dax_get_lineno (void );
1636 void dax_set_lineno (int _line_number );
1638 /* Macros after this point can all be overridden by user definitions in
1642 #ifndef YY_SKIP_YYWRAP
1644 extern "C" int dax_wrap (void );
1646 extern int dax_wrap (void );
1655 static void yy_flex_strncpy (char *,yyconst char *,int );
1658 #ifdef YY_NEED_STRLEN
1659 static int yy_flex_strlen (yyconst char * );
1665 static int yyinput (void );
1667 static int input (void );
1672 static int yy_start_stack_ptr = 0;
1673 static int yy_start_stack_depth = 0;
1674 static int *yy_start_stack = NULL;
1676 static void yy_push_state (int _new_state );
1678 static void yy_pop_state (void );
1680 /* Amount of stuff to slurp up with each read. */
1681 #ifndef YY_READ_BUF_SIZE
1683 /* On IA-64, the buffer size is 16k, not 8k */
1684 #define YY_READ_BUF_SIZE 16384
1686 #define YY_READ_BUF_SIZE 8192
1687 #endif /* __ia64__ */
1690 /* Copy whatever the last rule matched to the standard output. */
1692 /* This used to be an fputs(), but since the string might contain NUL's,
1693 * we now use fwrite().
1695 #define ECHO do { if (fwrite( dax_text, (size_t) dax_leng, 1, dax_out )) {} } while (0)
1698 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1699 * is returned in "result".
1702 #define YY_INPUT(buf,result,max_size) \
1703 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1707 for ( n = 0; n < max_size && \
1708 (c = getc( dax_in )) != EOF && c != '\n'; ++n ) \
1709 buf[n] = (char) c; \
1711 buf[n++] = (char) c; \
1712 if ( c == EOF && ferror( dax_in ) ) \
1713 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1719 while ( (result = (int) fread(buf, 1, max_size, dax_in))==0 && ferror(dax_in)) \
1721 if( errno != EINTR) \
1723 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1734 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1735 * we don't want an extra ';' after the "return" because that will cause
1736 * some compilers to complain about unreachable statements.
1739 #define yyterminate() return YY_NULL
1742 /* Number of entries by which start-condition stack grows. */
1743 #ifndef YY_START_STACK_INCR
1744 #define YY_START_STACK_INCR 25
1747 /* Report a fatal error. */
1748 #ifndef YY_FATAL_ERROR
1749 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1752 /* end tables serialization structures and prototypes */
1754 /* Default declaration of generated scanner - a define so the user can
1755 * easily add parameters.
1758 #define YY_DECL_IS_OURS 1
1760 extern int dax_lex (void);
1762 #define YY_DECL int dax_lex (void)
1763 #endif /* !YY_DECL */
1765 /* Code executed at the beginning of each rule, after dax_text and dax_leng
1768 #ifndef YY_USER_ACTION
1769 #define YY_USER_ACTION
1772 /* Code executed at the end of each rule. */
1774 #define YY_BREAK /*LINTED*/break;
1777 #define YY_RULE_SETUP \
1780 /** The main scanner function which does all the work.
1784 yy_state_type yy_current_state;
1785 char *yy_cp, *yy_bp;
1797 (yy_start) = 1; /* first start state */
1805 if ( ! YY_CURRENT_BUFFER ) {
1806 dax_ensure_buffer_stack ();
1807 YY_CURRENT_BUFFER_LVALUE =
1808 dax__create_buffer(dax_in,YY_BUF_SIZE );
1811 dax__load_buffer_state( );
1816 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
1818 reset_dax__parse_err_msg();
1819 dax__bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
1820 assert(dax__bufferstack);
1824 for (i = 0; i < blimit; i++) {
1825 dax__bufferstack[i] = '\377';
1829 dax__bufferstack[0] = '\0';
1830 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
1836 dax__bufferliteral('\0', &bnext, "http://pegasus.isi.edu/schema/DAX");
1837 dax__bufferliteral('\0', &bnext, "http://www.w3.org/2001/XMLSchema-instance");
1838 dax__bufferliteral('\0', &bnext, "http://pegasus.isi.edu/schema/DAX http://pegasus.isi.edu/schema/dax-2.1.xsd");
1839 dax__bufferliteral('\0', &bnext, "1.0");
1840 dax__bufferliteral('\0', &bnext, "0.0");
1841 dax__bufferliteral('\0', &bnext, "data");
1842 if(!dax__statenames) {dax__statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
1843 dax__statenames[PROLOG] = NULL;
1844 dax__statenames[DOCTYPE] = NULL;
1845 dax__statenames[EPILOG] = NULL;
1846 dax__statenames[INCOMMENT] = NULL;
1847 dax__statenames[INPI] = NULL;
1848 dax__statenames[VALUE1] = NULL;
1849 dax__statenames[VALUE2] = NULL;
1850 dax__statenames[CDATA] = NULL;
1851 dax__statenames[ROOT_dax__adag] = NULL;
1852 dax__statenames[AL_dax__adag] = NULL;
1853 dax__statenames[S_dax__adag] = "adag";
1854 dax__statenames[S_dax__adag_1] = "adag";
1855 dax__statenames[S_dax__adag_2] = "adag";
1856 dax__statenames[S_dax__adag_3] = "adag";
1857 dax__statenames[S_dax__adag_4] = "adag";
1858 dax__statenames[S_dax__adag_5] = "adag";
1859 dax__statenames[E_dax__adag] = "adag";
1860 dax__statenames[AL_dax__child] = NULL;
1861 dax__statenames[S_dax__child] = "child";
1862 dax__statenames[S_dax__child_1] = "child";
1863 dax__statenames[S_dax__child_2] = "child";
1864 dax__statenames[E_dax__child] = "child";
1865 dax__statenames[AL_dax__job] = NULL;
1866 dax__statenames[S_dax__job] = "job";
1867 dax__statenames[S_dax__job_1] = "job";
1868 dax__statenames[S_dax__job_2] = "job";
1869 dax__statenames[E_dax__job] = "job";
1870 dax__statenames[AL_dax__parent] = NULL;
1871 dax__statenames[E_dax__parent] = "parent";
1872 dax__statenames[AL_dax__uses] = NULL;
1873 dax__statenames[E_dax__uses] = "uses";
1876 /* COMMENTS and PIs: handled uniformly for efficiency. */
1878 while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
1880 yy_cp = (yy_c_buf_p);
1882 /* Support of dax_text. */
1883 *yy_cp = (yy_hold_char);
1885 /* yy_bp points to the position in yy_ch_buf of the start of
1890 yy_current_state = (yy_start);
1894 YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
1895 if ( yy_accept[yy_current_state] )
1897 (yy_last_accepting_state) = yy_current_state;
1898 (yy_last_accepting_cpos) = yy_cp;
1900 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1902 yy_current_state = (int) yy_def[yy_current_state];
1903 if ( yy_current_state >= 775 )
1904 yy_c = yy_meta[(unsigned int) yy_c];
1906 yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
1909 while ( yy_base[yy_current_state] != 2135 );
1912 yy_act = yy_accept[yy_current_state];
1914 { /* have to back up */
1915 yy_cp = (yy_last_accepting_cpos);
1916 yy_current_state = (yy_last_accepting_state);
1917 yy_act = yy_accept[yy_current_state];
1920 YY_DO_BEFORE_ACTION;
1922 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
1925 for ( yyl = 0; yyl < dax_leng; ++yyl )
1926 if ( dax_text[yyl] == '\n' )
1932 do_action: /* This label is used only to access EOF actions. */
1935 { /* beginning of action switch */
1936 case 0: /* must back up */
1937 /* undo the effects of YY_DO_BEFORE_ACTION */
1938 *yy_cp = (yy_hold_char);
1939 yy_cp = (yy_last_accepting_cpos);
1940 yy_current_state = (yy_last_accepting_state);
1941 goto yy_find_action;
1959 /* rule 6 can match eol */
1963 case YY_STATE_EOF(INCOMMENT):
1964 FAIL("EOF in comment.");
1973 /* rule 9 can match eol */
1977 case YY_STATE_EOF(INPI):
1978 FAIL("EOF in PI (processing instruction).");
1981 /* SPACES: skipped uniformly */
1983 /* rule 10 can match eol */
1987 /* PROLOG: determine root element and process it. */
1990 /* rule 11 can match eol */
1992 SET(ROOT_dax__adag);
1995 /* rule 12 can match eol */
1997 FAIL("Bad declaration %s.",dax_text);
2001 /* rule 13 can match eol */
2003 SET(ROOT_dax__adag);
2006 /* rule 14 can match eol */
2008 FAIL("Bad declaration %s.",dax_text);
2012 FAIL("Unexpected character `%c' in prolog.", dax_text[0]);
2014 case YY_STATE_EOF(PROLOG):
2015 case YY_STATE_EOF(DOCTYPE):
2016 FAIL("EOF in prolog.");
2019 /* RULES DERIVED FROM DTD. */
2020 /* <!-- Small DTD for DAX files. --> */
2022 /* rule 16 can match eol */
2024 FAIL("Starting tag <adag> is not allowed here.");
2027 /* rule 17 can match eol */
2030 AX_dax__adag_childCount = 0;
2031 dax__adag_childCount_isset = 0;
2032 AX_dax__adag_count = 0;
2033 dax__adag_count_isset = 0;
2034 AX_dax__adag_fileCount = 0;
2035 dax__adag_fileCount_isset = 0;
2036 AX_dax__adag_index = 0;
2037 dax__adag_index_isset = 0;
2038 AX_dax__adag_jobCount = 0;
2039 dax__adag_jobCount_isset = 0;
2040 AX_dax__adag_name = 0;
2041 dax__adag_name_isset = 0;
2042 AX_dax__adag_version = 153;
2043 dax__adag_version_isset = 0;
2044 AX_dax__adag_xmlns = 1;
2045 dax__adag_xmlns_isset = 0;
2046 AX_dax__adag_xmlns_c_xsi = 35;
2047 dax__adag_xmlns_c_xsi_isset = 0;
2048 AX_dax__adag_xsi_c_schemaLocation = 77;
2049 dax__adag_xsi_c_schemaLocation_isset = 0;
2050 ENTER(AL_dax__adag); pushbuffer(0);
2055 /* rule 18 can match eol */
2057 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);
2060 /* rule 19 can match eol */
2062 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);
2065 /* rule 20 can match eol */
2067 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);
2070 /* rule 21 can match eol */
2072 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);
2075 /* rule 22 can match eol */
2077 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);
2080 /* rule 23 can match eol */
2082 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);
2085 /* rule 24 can match eol */
2087 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);
2090 /* rule 25 can match eol */
2092 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);
2095 /* rule 26 can match eol */
2097 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);
2100 /* rule 27 can match eol */
2102 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);
2105 /* rule 28 can match eol */
2107 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);
2110 /* rule 29 can match eol */
2112 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);
2115 /* rule 30 can match eol */
2117 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);
2120 /* rule 31 can match eol */
2122 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);
2125 /* rule 32 can match eol */
2127 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);
2130 /* rule 33 can match eol */
2132 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);
2135 /* rule 34 can match eol */
2137 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);
2140 /* rule 35 can match eol */
2142 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);
2145 /* rule 36 can match eol */
2147 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);
2150 /* rule 37 can match eol */
2152 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);
2157 LEAVE; STag_dax__adag();dax__pcdata_ix = 0; ENTER(S_dax__adag);
2163 LEAVE; STag_dax__adag(); dax__pcdata_ix = 0; ETag_dax__adag(); popbuffer(); /* attribute */
2165 case ROOT_dax__adag: SET(EPILOG); break;
2171 FAIL("Unexpected character `%c' in attribute list of adag element.", dax_text[0]);
2175 FAIL("Bad attribute `%s' in `adag' element start tag.",dax_text);
2177 case YY_STATE_EOF(AL_dax__adag):
2178 FAIL("EOF in attribute list of `adag' element.");
2182 /* rule 42 can match eol */
2187 popbuffer(); /* attribute */
2189 case ROOT_dax__adag: SET(EPILOG); break;
2194 /* rule 43 can match eol */
2196 FAIL("Unexpected end-tag `%s': `</adag>' expected.",dax_text);
2200 FAIL("Unexpected character `%c': `</adag>' expected.",dax_text[0]);
2202 case YY_STATE_EOF(E_dax__adag):
2203 case YY_STATE_EOF(S_dax__adag):
2204 case YY_STATE_EOF(S_dax__adag_1):
2205 case YY_STATE_EOF(S_dax__adag_3):
2206 case YY_STATE_EOF(S_dax__adag_5):
2207 FAIL("Premature EOF: `</adag>' expected.");
2211 /* rule 45 can match eol */
2213 FAIL("Starting tag <child> is not allowed here.");
2216 /* rule 46 can match eol */
2219 AX_dax__child_ref = 0;
2220 dax__child_ref_isset = 0;
2221 ENTER(AL_dax__child); pushbuffer(0);
2226 /* rule 47 can match eol */
2228 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);
2231 /* rule 48 can match eol */
2233 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);
2238 if (!AX_dax__child_ref) FAIL("Required attribute `ref' not set for `child' element.");
2239 LEAVE; STag_dax__child();dax__pcdata_ix = 0; ENTER(S_dax__child);
2245 if (!AX_dax__child_ref) FAIL("Required attribute `ref' not set for `child' element.");
2246 LEAVE; STag_dax__child(); dax__pcdata_ix = 0; ETag_dax__child(); popbuffer(); /* attribute */
2248 case S_dax__adag: case S_dax__adag_1: case S_dax__adag_3: case S_dax__adag_4: case S_dax__adag_5: SET(S_dax__adag_5); break;
2254 FAIL("Unexpected character `%c' in attribute list of child element.", dax_text[0]);
2258 FAIL("Bad attribute `%s' in `child' element start tag.",dax_text);
2260 case YY_STATE_EOF(AL_dax__child):
2261 FAIL("EOF in attribute list of `child' element.");
2265 /* rule 53 can match eol */
2270 popbuffer(); /* attribute */
2272 case S_dax__adag: case S_dax__adag_1: case S_dax__adag_3: case S_dax__adag_4: case S_dax__adag_5: SET(S_dax__adag_5); break;
2277 /* rule 54 can match eol */
2279 FAIL("Unexpected end-tag `%s': `</child>' expected.",dax_text);
2283 FAIL("Unexpected character `%c': `</child>' expected.",dax_text[0]);
2285 case YY_STATE_EOF(E_dax__child):
2286 case YY_STATE_EOF(S_dax__child):
2287 case YY_STATE_EOF(S_dax__child_2):
2288 FAIL("Premature EOF: `</child>' expected.");
2292 /* rule 56 can match eol */
2294 FAIL("Starting tag <job> is not allowed here.");
2297 /* rule 57 can match eol */
2301 dax__job_id_isset = 0;
2302 AX_dax__job_level = 0;
2303 dax__job_level_isset = 0;
2304 AX_dax__job_name = 0;
2305 dax__job_name_isset = 0;
2306 AX_dax__job_namespace = 0;
2307 dax__job_namespace_isset = 0;
2308 AX_dax__job_runtime = 0;
2309 dax__job_runtime_isset = 0;
2310 AX_dax__job_version = 157;
2311 dax__job_version_isset = 0;
2312 ENTER(AL_dax__job); pushbuffer(0);
2317 /* rule 58 can match eol */
2319 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);
2322 /* rule 59 can match eol */
2324 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);
2327 /* rule 60 can match eol */
2329 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);
2332 /* rule 61 can match eol */
2334 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);
2337 /* rule 62 can match eol */
2339 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);
2342 /* rule 63 can match eol */
2344 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);
2347 /* rule 64 can match eol */
2349 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);
2352 /* rule 65 can match eol */
2354 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);
2357 /* rule 66 can match eol */
2359 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);
2362 /* rule 67 can match eol */
2364 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);
2367 /* rule 68 can match eol */
2369 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);
2372 /* rule 69 can match eol */
2374 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);
2379 if (!AX_dax__job_id) FAIL("Required attribute `id' not set for `job' element.");
2380 if (!AX_dax__job_name) FAIL("Required attribute `name' not set for `job' element.");
2381 if (!AX_dax__job_runtime) FAIL("Required attribute `runtime' not set for `job' element.");
2382 LEAVE; STag_dax__job();dax__pcdata_ix = 0; ENTER(S_dax__job);
2388 if (!AX_dax__job_id) FAIL("Required attribute `id' not set for `job' element.");
2389 if (!AX_dax__job_name) FAIL("Required attribute `name' not set for `job' element.");
2390 if (!AX_dax__job_runtime) FAIL("Required attribute `runtime' not set for `job' element.");
2391 LEAVE; STag_dax__job(); dax__pcdata_ix = 0; ETag_dax__job(); popbuffer(); /* attribute */
2393 case S_dax__adag: case S_dax__adag_2: case S_dax__adag_3: SET(S_dax__adag_3); break;
2399 FAIL("Unexpected character `%c' in attribute list of job element.", dax_text[0]);
2403 FAIL("Bad attribute `%s' in `job' element start tag.",dax_text);
2405 case YY_STATE_EOF(AL_dax__job):
2406 FAIL("EOF in attribute list of `job' element.");
2410 /* rule 74 can match eol */
2415 popbuffer(); /* attribute */
2417 case S_dax__adag: case S_dax__adag_2: case S_dax__adag_3: SET(S_dax__adag_3); break;
2422 /* rule 75 can match eol */
2424 FAIL("Unexpected end-tag `%s': `</job>' expected.",dax_text);
2428 FAIL("Unexpected character `%c': `</job>' expected.",dax_text[0]);
2430 case YY_STATE_EOF(E_dax__job):
2431 case YY_STATE_EOF(S_dax__job):
2432 case YY_STATE_EOF(S_dax__job_2):
2433 FAIL("Premature EOF: `</job>' expected.");
2437 /* rule 77 can match eol */
2439 FAIL("Starting tag <parent> is not allowed here.");
2442 /* rule 78 can match eol */
2445 AX_dax__parent_ref = 0;
2446 dax__parent_ref_isset = 0;
2447 ENTER(AL_dax__parent); pushbuffer(0);
2452 /* rule 79 can match eol */
2454 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);
2457 /* rule 80 can match eol */
2459 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);
2464 if (!AX_dax__parent_ref) FAIL("Required attribute `ref' not set for `parent' element.");
2465 LEAVE; STag_dax__parent();dax__pcdata_ix = 0; ENTER(E_dax__parent);
2471 if (!AX_dax__parent_ref) FAIL("Required attribute `ref' not set for `parent' element.");
2472 LEAVE; STag_dax__parent(); dax__pcdata_ix = 0; ETag_dax__parent(); popbuffer(); /* attribute */
2474 case S_dax__child: case S_dax__child_1: case S_dax__child_2: SET(S_dax__child_2); break;
2480 FAIL("Unexpected character `%c' in attribute list of parent element.", dax_text[0]);
2484 FAIL("Bad attribute `%s' in `parent' element start tag.",dax_text);
2486 case YY_STATE_EOF(AL_dax__parent):
2487 FAIL("EOF in attribute list of `parent' element.");
2491 /* rule 85 can match eol */
2496 popbuffer(); /* attribute */
2498 case S_dax__child: case S_dax__child_1: case S_dax__child_2: SET(S_dax__child_2); break;
2503 /* rule 86 can match eol */
2505 FAIL("Unexpected end-tag `%s': `</parent>' expected.",dax_text);
2509 FAIL("Unexpected character `%c': `</parent>' expected.",dax_text[0]);
2511 case YY_STATE_EOF(E_dax__parent):
2512 FAIL("Premature EOF: `</parent>' expected.");
2516 * <!-- ignored --> */
2518 /* rule 88 can match eol */
2520 FAIL("Starting tag <uses> is not allowed here.");
2523 /* rule 89 can match eol */
2526 AX_dax__uses_file = 0;
2527 dax__uses_file_isset = 0;
2528 AX_dax__uses_link = AU_dax__uses_link;
2529 dax__uses_link_isset = 0;
2530 AX_dax__uses_optional = A_dax__uses_optional_false;
2531 dax__uses_optional_isset = 0;
2532 AX_dax__uses_register = A_dax__uses_register_true;
2533 dax__uses_register_isset = 0;
2534 AX_dax__uses_size = 0;
2535 dax__uses_size_isset = 0;
2536 AX_dax__uses_transfer = A_dax__uses_transfer_true;
2537 dax__uses_transfer_isset = 0;
2538 AX_dax__uses_type = 161;
2539 dax__uses_type_isset = 0;
2540 ENTER(AL_dax__uses); pushbuffer(0);
2545 /* rule 90 can match eol */
2547 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);
2550 /* rule 91 can match eol */
2552 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);
2555 /* rule 92 can match eol */
2557 /* rule 93 can match eol */
2559 A_dax__uses_link = A_dax__uses_link_input;
2562 /* rule 94 can match eol */
2564 /* rule 95 can match eol */
2566 A_dax__uses_link = A_dax__uses_link_output;
2569 /* rule 96 can match eol */
2571 /* rule 97 can match eol */
2573 A_dax__uses_optional = A_dax__uses_optional_false;
2576 /* rule 98 can match eol */
2578 /* rule 99 can match eol */
2580 A_dax__uses_optional = A_dax__uses_optional_true;
2583 /* rule 100 can match eol */
2585 /* rule 101 can match eol */
2587 A_dax__uses_register = A_dax__uses_register_false;
2590 /* rule 102 can match eol */
2592 /* rule 103 can match eol */
2594 A_dax__uses_register = A_dax__uses_register_true;
2597 /* rule 104 can match eol */
2599 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);
2602 /* rule 105 can match eol */
2604 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);
2607 /* rule 106 can match eol */
2609 /* rule 107 can match eol */
2611 A_dax__uses_transfer = A_dax__uses_transfer_false;
2614 /* rule 108 can match eol */
2616 /* rule 109 can match eol */
2618 A_dax__uses_transfer = A_dax__uses_transfer_true;
2621 /* rule 110 can match eol */
2623 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);
2626 /* rule 111 can match eol */
2628 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);
2633 if (!AX_dax__uses_file) FAIL("Required attribute `file' not set for `uses' element.");
2634 if (!AX_dax__uses_size) FAIL("Required attribute `size' not set for `uses' element.");
2635 LEAVE; STag_dax__uses();dax__pcdata_ix = 0; ENTER(E_dax__uses);
2641 if (!AX_dax__uses_file) FAIL("Required attribute `file' not set for `uses' element.");
2642 if (!AX_dax__uses_size) FAIL("Required attribute `size' not set for `uses' element.");
2643 LEAVE; STag_dax__uses(); dax__pcdata_ix = 0; ETag_dax__uses(); popbuffer(); /* attribute */
2645 case S_dax__job: case S_dax__job_1: case S_dax__job_2: SET(S_dax__job_2); break;
2651 FAIL("Unexpected character `%c' in attribute list of uses element.", dax_text[0]);
2655 FAIL("Bad attribute `%s' in `uses' element start tag.",dax_text);
2657 case YY_STATE_EOF(AL_dax__uses):
2658 FAIL("EOF in attribute list of `uses' element.");
2662 /* rule 116 can match eol */
2667 popbuffer(); /* attribute */
2669 case S_dax__job: case S_dax__job_1: case S_dax__job_2: SET(S_dax__job_2); break;
2674 /* rule 117 can match eol */
2676 FAIL("Unexpected end-tag `%s': `</uses>' expected.",dax_text);
2680 FAIL("Unexpected character `%c': `</uses>' expected.",dax_text[0]);
2682 case YY_STATE_EOF(E_dax__uses):
2683 FAIL("Premature EOF: `</uses>' expected.");
2686 /* EPILOG: after the root element. */
2690 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
2692 case YY_STATE_EOF(EPILOG):
2696 /* CHARACTER DATA. */
2698 /* Non-defined standard entities... */
2719 /* Character entities. */
2722 BUFFERPUTC((unsigned char)atoi(dax_text+2));
2726 BUFFERPUTC((unsigned char)strtol(dax_text+3,NULL,16));
2730 /* rule 127 can match eol */
2732 /* rule 128 can match eol */
2734 /* rule 129 can match eol */
2736 /* rule 130 can match eol */
2747 FAIL("Unexpected `]""]>' in character data.");
2754 case YY_STATE_EOF(VALUE1):
2755 FAIL("EOF in literal (\"'\" expected).");
2762 case YY_STATE_EOF(VALUE2):
2763 FAIL("EOF in literal (`\"' expected).");
2767 /* rule 135 can match eol */
2769 BUFFERPUTC(dax_text[0]);
2773 FAIL("Spurious `%c' in character data.",dax_text[0]);
2780 /* "]""]" BUFFERPUTC(dax_text[0]); BUFFERPUTC(dax_text[1]); */
2783 BUFFERPUTC(dax_text[0]);
2785 case YY_STATE_EOF(CDATA):
2786 FAIL("EOF in CDATA section.");
2789 /* Impossible rules to avoid warnings from flex(1). */
2790 /* Ideally, this should be replaced by code in flexml.pl that
2791 generates just the states not covered by other rules. */
2794 /* rule 139 can match eol */
2796 FAIL("Syntax error on character `%c'.", dax_text[0]);
2803 case YY_STATE_EOF(INITIAL):
2804 case YY_STATE_EOF(ROOT_dax__adag):
2805 case YY_STATE_EOF(S_dax__adag_2):
2806 case YY_STATE_EOF(S_dax__adag_4):
2807 case YY_STATE_EOF(S_dax__child_1):
2808 case YY_STATE_EOF(S_dax__job_1):
2809 case YY_STATE_EOF(IMPOSSIBLE):
2812 case YY_END_OF_BUFFER:
2814 /* Amount of text matched not including the EOB char. */
2815 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
2817 /* Undo the effects of YY_DO_BEFORE_ACTION. */
2818 *yy_cp = (yy_hold_char);
2819 YY_RESTORE_YY_MORE_OFFSET
2821 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
2823 /* We're scanning a new file or input source. It's
2824 * possible that this happened because the user
2825 * just pointed dax_in at a new source and called
2826 * dax_lex(). If so, then we have to assure
2827 * consistency between YY_CURRENT_BUFFER and our
2828 * globals. Here is the right place to do so, because
2829 * this is the first action (other than possibly a
2830 * back-up) that will match for the new input source.
2832 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2833 YY_CURRENT_BUFFER_LVALUE->yy_input_file = dax_in;
2834 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
2837 /* Note that here we test for yy_c_buf_p "<=" to the position
2838 * of the first EOB in the buffer, since yy_c_buf_p will
2839 * already have been incremented past the NUL character
2840 * (since all states make transitions on EOB to the
2841 * end-of-buffer state). Contrast this with the test
2844 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2845 { /* This was really a NUL. */
2846 yy_state_type yy_next_state;
2848 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
2850 yy_current_state = yy_get_previous_state( );
2852 /* Okay, we're now positioned to make the NUL
2853 * transition. We couldn't have
2854 * yy_get_previous_state() go ahead and do it
2855 * for us because it doesn't know how to deal
2856 * with the possibility of jamming (and we don't
2857 * want to build jamming into it because then it
2858 * will run more slowly).
2861 yy_next_state = yy_try_NUL_trans( yy_current_state );
2863 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2865 if ( yy_next_state )
2867 /* Consume the NUL. */
2868 yy_cp = ++(yy_c_buf_p);
2869 yy_current_state = yy_next_state;
2875 yy_cp = (yy_c_buf_p);
2876 goto yy_find_action;
2880 else switch ( yy_get_next_buffer( ) )
2882 case EOB_ACT_END_OF_FILE:
2884 (yy_did_buffer_switch_on_eof) = 0;
2888 /* Note: because we've taken care in
2889 * yy_get_next_buffer() to have set up
2890 * dax_text, we can now set up
2891 * yy_c_buf_p so that if some total
2892 * hoser (like flex itself) wants to
2893 * call the scanner after we return the
2894 * YY_NULL, it'll still work - another
2895 * YY_NULL will get returned.
2897 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
2899 yy_act = YY_STATE_EOF(YY_START);
2905 if ( ! (yy_did_buffer_switch_on_eof) )
2911 case EOB_ACT_CONTINUE_SCAN:
2913 (yytext_ptr) + yy_amount_of_matched_text;
2915 yy_current_state = yy_get_previous_state( );
2917 yy_cp = (yy_c_buf_p);
2918 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2921 case EOB_ACT_LAST_MATCH:
2923 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
2925 yy_current_state = yy_get_previous_state( );
2927 yy_cp = (yy_c_buf_p);
2928 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2929 goto yy_find_action;
2936 "fatal flex scanner internal error--no action found" );
2937 } /* end of action switch */
2938 } /* end of scanning one token */
2939 } /* end of user's declarations */
2940 } /* end of dax_lex */
2942 /* yy_get_next_buffer - try to read in a new buffer
2944 * Returns a code representing an action:
2945 * EOB_ACT_LAST_MATCH -
2946 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2947 * EOB_ACT_END_OF_FILE - end of file
2949 static int yy_get_next_buffer (void)
2951 char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
2952 char *source = (yytext_ptr);
2953 int number_to_move, i;
2956 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
2958 "fatal flex scanner internal error--end of buffer missed" );
2960 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
2961 { /* Don't try to fill the buffer, so this is an EOF. */
2962 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
2964 /* We matched a single character, the EOB, so
2965 * treat this as a final EOF.
2967 return EOB_ACT_END_OF_FILE;
2972 /* We matched some text prior to the EOB, first
2975 return EOB_ACT_LAST_MATCH;
2979 /* Try to read more data. */
2981 /* First move last chars to start of buffer. */
2982 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
2984 for ( i = 0; i < number_to_move; ++i )
2985 *(dest++) = *(source++);
2987 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2988 /* don't do the read, it's not guaranteed to return an EOF,
2991 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
2996 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
2998 while ( num_to_read <= 0 )
2999 { /* Not enough room in the buffer - grow it. */
3001 /* just a shorter name for the current buffer */
3002 YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
3004 int yy_c_buf_p_offset =
3005 (int) ((yy_c_buf_p) - b->yy_ch_buf);
3007 if ( b->yy_is_our_buffer )
3009 int new_size = b->yy_buf_size * 2;
3011 if ( new_size <= 0 )
3012 b->yy_buf_size += b->yy_buf_size / 8;
3014 b->yy_buf_size *= 2;
3016 b->yy_ch_buf = (char *)
3017 /* Include room in for 2 EOB chars. */
3018 dax_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
3021 /* Can't grow it, we don't own it. */
3022 b->yy_ch_buf = NULL;
3024 if ( ! b->yy_ch_buf )
3026 "fatal error - scanner input buffer overflow" );
3028 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
3030 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
3035 if ( num_to_read > YY_READ_BUF_SIZE )
3036 num_to_read = YY_READ_BUF_SIZE;
3038 /* Read in more data. */
3039 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
3040 (yy_n_chars), num_to_read );
3042 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3045 if ( (yy_n_chars) == 0 )
3047 if ( number_to_move == YY_MORE_ADJ )
3049 ret_val = EOB_ACT_END_OF_FILE;
3050 dax_restart(dax_in );
3055 ret_val = EOB_ACT_LAST_MATCH;
3056 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
3057 YY_BUFFER_EOF_PENDING;
3062 ret_val = EOB_ACT_CONTINUE_SCAN;
3064 if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
3065 /* Extend the array by 50%, plus the number we really need. */
3066 int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
3067 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) dax_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
3068 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3069 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
3072 (yy_n_chars) += number_to_move;
3073 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
3074 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
3076 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
3081 /* yy_get_previous_state - get the state just before the EOB char was reached */
3083 static yy_state_type yy_get_previous_state (void)
3085 yy_state_type yy_current_state;
3088 yy_current_state = (yy_start);
3090 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
3092 YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3093 if ( yy_accept[yy_current_state] )
3095 (yy_last_accepting_state) = yy_current_state;
3096 (yy_last_accepting_cpos) = yy_cp;
3098 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3100 yy_current_state = (int) yy_def[yy_current_state];
3101 if ( yy_current_state >= 775 )
3102 yy_c = yy_meta[(unsigned int) yy_c];
3104 yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
3107 return yy_current_state;
3110 /* yy_try_NUL_trans - try to make a transition on the NUL character
3113 * next_state = yy_try_NUL_trans( current_state );
3115 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
3118 char *yy_cp = (yy_c_buf_p);
3121 if ( yy_accept[yy_current_state] )
3123 (yy_last_accepting_state) = yy_current_state;
3124 (yy_last_accepting_cpos) = yy_cp;
3126 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3128 yy_current_state = (int) yy_def[yy_current_state];
3129 if ( yy_current_state >= 775 )
3130 yy_c = yy_meta[(unsigned int) yy_c];
3132 yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
3133 yy_is_jam = (yy_current_state == 774);
3135 return yy_is_jam ? 0 : yy_current_state;
3144 static int yyinput (void)
3146 static int input (void)
3152 *(yy_c_buf_p) = (yy_hold_char);
3154 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
3156 /* yy_c_buf_p now points to the character we want to return.
3157 * If this occurs *before* the EOB characters, then it's a
3158 * valid NUL; if not, then we've hit the end of the buffer.
3160 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3161 /* This was really a NUL. */
3162 *(yy_c_buf_p) = '\0';
3165 { /* need more input */
3166 int offset = (yy_c_buf_p) - (yytext_ptr);
3169 switch ( yy_get_next_buffer( ) )
3171 case EOB_ACT_LAST_MATCH:
3172 /* This happens because yy_g_n_b()
3173 * sees that we've accumulated a
3174 * token and flags that we need to
3175 * try matching the token before
3176 * proceeding. But for input(),
3177 * there's no matching to consider.
3178 * So convert the EOB_ACT_LAST_MATCH
3179 * to EOB_ACT_END_OF_FILE.
3182 /* Reset buffer status. */
3183 dax_restart(dax_in );
3187 case EOB_ACT_END_OF_FILE:
3192 if ( ! (yy_did_buffer_switch_on_eof) )
3201 case EOB_ACT_CONTINUE_SCAN:
3202 (yy_c_buf_p) = (yytext_ptr) + offset;
3208 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
3209 *(yy_c_buf_p) = '\0'; /* preserve dax_text */
3210 (yy_hold_char) = *++(yy_c_buf_p);
3219 #endif /* ifndef YY_NO_INPUT */
3221 /** Immediately switch to a different input stream.
3222 * @param input_file A readable stream.
3224 * @note This function does not reset the start condition to @c INITIAL .
3226 void dax_restart (FILE * input_file )
3229 if ( ! YY_CURRENT_BUFFER ){
3230 dax_ensure_buffer_stack ();
3231 YY_CURRENT_BUFFER_LVALUE =
3232 dax__create_buffer(dax_in,YY_BUF_SIZE );
3235 dax__init_buffer(YY_CURRENT_BUFFER,input_file );
3236 dax__load_buffer_state( );
3239 /** Switch to a different input buffer.
3240 * @param new_buffer The new input buffer.
3243 void dax__switch_to_buffer (YY_BUFFER_STATE new_buffer )
3246 /* TODO. We should be able to replace this entire function body
3248 * dax_pop_buffer_state();
3249 * dax_push_buffer_state(new_buffer);
3251 dax_ensure_buffer_stack ();
3252 if ( YY_CURRENT_BUFFER == new_buffer )
3255 if ( YY_CURRENT_BUFFER )
3257 /* Flush out information for old buffer. */
3258 *(yy_c_buf_p) = (yy_hold_char);
3259 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3260 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3263 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3264 dax__load_buffer_state( );
3266 /* We don't actually know whether we did this switch during
3267 * EOF (dax_wrap()) processing, but the only time this flag
3268 * is looked at is after dax_wrap() is called, so it's safe
3269 * to go ahead and always set it.
3271 (yy_did_buffer_switch_on_eof) = 1;
3274 static void dax__load_buffer_state (void)
3276 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3277 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
3278 dax_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
3279 (yy_hold_char) = *(yy_c_buf_p);
3282 /** Allocate and initialize an input buffer state.
3283 * @param file A readable stream.
3284 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
3286 * @return the allocated buffer state.
3288 YY_BUFFER_STATE dax__create_buffer (FILE * file, int size )
3292 b = (YY_BUFFER_STATE) dax_alloc(sizeof( struct yy_buffer_state ) );
3294 YY_FATAL_ERROR( "out of dynamic memory in dax__create_buffer()" );
3296 b->yy_buf_size = (yy_size_t)size;
3298 /* yy_ch_buf has to be 2 characters longer than the size given because
3299 * we need to put in 2 end-of-buffer characters.
3301 b->yy_ch_buf = (char *) dax_alloc(b->yy_buf_size + 2 );
3302 if ( ! b->yy_ch_buf )
3303 YY_FATAL_ERROR( "out of dynamic memory in dax__create_buffer()" );
3305 b->yy_is_our_buffer = 1;
3307 dax__init_buffer(b,file );
3312 /** Destroy the buffer.
3313 * @param b a buffer created with dax__create_buffer()
3316 void dax__delete_buffer (YY_BUFFER_STATE b )
3322 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
3323 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
3325 if ( b->yy_is_our_buffer )
3326 dax_free((void *) b->yy_ch_buf );
3328 dax_free((void *) b );
3331 /* Initializes or reinitializes a buffer.
3332 * This function is sometimes called more than once on the same buffer,
3333 * such as during a dax_restart() or at EOF.
3335 static void dax__init_buffer (YY_BUFFER_STATE b, FILE * file )
3340 dax__flush_buffer(b );
3342 b->yy_input_file = file;
3343 b->yy_fill_buffer = 1;
3345 /* If b is the current buffer, then dax__init_buffer was _probably_
3346 * called from dax_restart() or through yy_get_next_buffer.
3347 * In that case, we don't want to reset the lineno or column.
3349 if (b != YY_CURRENT_BUFFER){
3350 b->yy_bs_lineno = 1;
3351 b->yy_bs_column = 0;
3354 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
3359 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
3360 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
3363 void dax__flush_buffer (YY_BUFFER_STATE b )
3370 /* We always need two end-of-buffer characters. The first causes
3371 * a transition to the end-of-buffer state. The second causes
3372 * a jam in that state.
3374 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3375 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3377 b->yy_buf_pos = &b->yy_ch_buf[0];
3380 b->yy_buffer_status = YY_BUFFER_NEW;
3382 if ( b == YY_CURRENT_BUFFER )
3383 dax__load_buffer_state( );
3386 /** Pushes the new state onto the stack. The new state becomes
3387 * the current state. This function will allocate the stack
3389 * @param new_buffer The new state.
3392 void dax_push_buffer_state (YY_BUFFER_STATE new_buffer )
3394 if (new_buffer == NULL)
3397 dax_ensure_buffer_stack();
3399 /* This block is copied from dax__switch_to_buffer. */
3400 if ( YY_CURRENT_BUFFER )
3402 /* Flush out information for old buffer. */
3403 *(yy_c_buf_p) = (yy_hold_char);
3404 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3405 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3408 /* Only push if top exists. Otherwise, replace top. */
3409 if (YY_CURRENT_BUFFER)
3410 (yy_buffer_stack_top)++;
3411 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3413 /* copied from dax__switch_to_buffer. */
3414 dax__load_buffer_state( );
3415 (yy_did_buffer_switch_on_eof) = 1;
3418 /** Removes and deletes the top of the stack, if present.
3419 * The next element becomes the new top.
3422 void dax_pop_buffer_state (void)
3424 if (!YY_CURRENT_BUFFER)
3427 dax__delete_buffer(YY_CURRENT_BUFFER );
3428 YY_CURRENT_BUFFER_LVALUE = NULL;
3429 if ((yy_buffer_stack_top) > 0)
3430 --(yy_buffer_stack_top);
3432 if (YY_CURRENT_BUFFER) {
3433 dax__load_buffer_state( );
3434 (yy_did_buffer_switch_on_eof) = 1;
3438 /* Allocates the stack if it does not exist.
3439 * Guarantees space for at least one push.
3441 static void dax_ensure_buffer_stack (void)
3445 if (!(yy_buffer_stack)) {
3447 /* First allocation is just for 2 elements, since we don't know if this
3448 * scanner will even need a stack. We use 2 instead of 1 to avoid an
3449 * immediate realloc on the next call.
3451 num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
3452 (yy_buffer_stack) = (struct yy_buffer_state**)dax_alloc
3453 (num_to_alloc * sizeof(struct yy_buffer_state*)
3455 if ( ! (yy_buffer_stack) )
3456 YY_FATAL_ERROR( "out of dynamic memory in dax_ensure_buffer_stack()" );
3458 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
3460 (yy_buffer_stack_max) = num_to_alloc;
3461 (yy_buffer_stack_top) = 0;
3465 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
3467 /* Increase the buffer to prepare for a possible push. */
3468 yy_size_t grow_size = 8 /* arbitrary grow size */;
3470 num_to_alloc = (yy_buffer_stack_max) + grow_size;
3471 (yy_buffer_stack) = (struct yy_buffer_state**)dax_realloc
3473 num_to_alloc * sizeof(struct yy_buffer_state*)
3475 if ( ! (yy_buffer_stack) )
3476 YY_FATAL_ERROR( "out of dynamic memory in dax_ensure_buffer_stack()" );
3478 /* zero only the new slots.*/
3479 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
3480 (yy_buffer_stack_max) = num_to_alloc;
3484 /** Setup the input buffer state to scan directly from a user-specified character buffer.
3485 * @param base the character buffer
3486 * @param size the size in bytes of the character buffer
3488 * @return the newly allocated buffer state object.
3490 YY_BUFFER_STATE dax__scan_buffer (char * base, yy_size_t size )
3495 base[size-2] != YY_END_OF_BUFFER_CHAR ||
3496 base[size-1] != YY_END_OF_BUFFER_CHAR )
3497 /* They forgot to leave room for the EOB's. */
3500 b = (YY_BUFFER_STATE) dax_alloc(sizeof( struct yy_buffer_state ) );
3502 YY_FATAL_ERROR( "out of dynamic memory in dax__scan_buffer()" );
3504 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
3505 b->yy_buf_pos = b->yy_ch_buf = base;
3506 b->yy_is_our_buffer = 0;
3507 b->yy_input_file = NULL;
3508 b->yy_n_chars = b->yy_buf_size;
3509 b->yy_is_interactive = 0;
3511 b->yy_fill_buffer = 0;
3512 b->yy_buffer_status = YY_BUFFER_NEW;
3514 dax__switch_to_buffer(b );
3519 /** Setup the input buffer state to scan a string. The next call to dax_lex() will
3520 * scan from a @e copy of @a str.
3521 * @param yystr a NUL-terminated string to scan
3523 * @return the newly allocated buffer state object.
3524 * @note If you want to scan bytes that may contain NUL values, then use
3525 * dax__scan_bytes() instead.
3527 YY_BUFFER_STATE dax__scan_string (yyconst char * yystr )
3530 return dax__scan_bytes(yystr,(int) strlen(yystr) );
3533 /** Setup the input buffer state to scan the given bytes. The next call to dax_lex() will
3534 * scan from a @e copy of @a bytes.
3535 * @param yybytes the byte buffer to scan
3536 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
3538 * @return the newly allocated buffer state object.
3540 YY_BUFFER_STATE dax__scan_bytes (yyconst char * yybytes, int _yybytes_len )
3547 /* Get memory for full buffer, including space for trailing EOB's. */
3548 n = (yy_size_t) (_yybytes_len + 2);
3549 buf = (char *) dax_alloc(n );
3551 YY_FATAL_ERROR( "out of dynamic memory in dax__scan_bytes()" );
3553 for ( i = 0; i < _yybytes_len; ++i )
3554 buf[i] = yybytes[i];
3556 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
3558 b = dax__scan_buffer(buf,n );
3560 YY_FATAL_ERROR( "bad buffer in dax__scan_bytes()" );
3562 /* It's okay to grow etc. this buffer, and we should throw it
3563 * away when we're done.
3565 b->yy_is_our_buffer = 1;
3570 static void yy_push_state (int _new_state )
3572 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
3576 (yy_start_stack_depth) += YY_START_STACK_INCR;
3577 new_size = (yy_size_t) (yy_start_stack_depth) * sizeof( int );
3579 if ( ! (yy_start_stack) )
3580 (yy_start_stack) = (int *) dax_alloc(new_size );
3583 (yy_start_stack) = (int *) dax_realloc((void *) (yy_start_stack),new_size );
3585 if ( ! (yy_start_stack) )
3586 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
3589 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
3594 static void yy_pop_state (void)
3596 if ( --(yy_start_stack_ptr) < 0 )
3597 YY_FATAL_ERROR( "start-condition stack underflow" );
3599 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
3602 #ifndef YY_EXIT_FAILURE
3603 #define YY_EXIT_FAILURE 2
3606 static void yynoreturn yy_fatal_error (yyconst char* msg )
3608 (void) fprintf( stderr, "%s\n", msg );
3609 exit( YY_EXIT_FAILURE );
3612 /* Redefine yyless() so it works in section 3 code. */
3618 /* Undo effects of setting up dax_text. */ \
3619 int yyless_macro_arg = (n); \
3620 YY_LESS_LINENO(yyless_macro_arg);\
3621 dax_text[dax_leng] = (yy_hold_char); \
3622 (yy_c_buf_p) = dax_text + yyless_macro_arg; \
3623 (yy_hold_char) = *(yy_c_buf_p); \
3624 *(yy_c_buf_p) = '\0'; \
3625 dax_leng = yyless_macro_arg; \
3629 /* Accessor methods (get/set functions) to struct members. */
3631 /** Get the current line number.
3634 int dax_get_lineno (void)
3640 /** Get the input stream.
3643 FILE *dax_get_in (void)
3648 /** Get the output stream.
3651 FILE *dax_get_out (void)
3656 /** Get the length of the current token.
3659 int dax_get_leng (void)
3664 /** Get the current token.
3668 char *dax_get_text (void)
3673 /** Set the current line number.
3674 * @param _line_number line number
3677 void dax_set_lineno (int _line_number )
3680 dax_lineno = _line_number;
3683 /** Set the input stream. This does not discard the current
3685 * @param _in_str A readable stream.
3687 * @see dax__switch_to_buffer
3689 void dax_set_in (FILE * _in_str )
3694 void dax_set_out (FILE * _out_str )
3696 dax_out = _out_str ;
3699 int dax_get_debug (void)
3701 return dax__flex_debug;
3704 void dax_set_debug (int _bdebug )
3706 dax__flex_debug = _bdebug ;
3709 static int yy_init_globals (void)
3711 /* Initialization is the same as for the non-reentrant scanner.
3712 * This function is called from dax_lex_destroy(), so don't allocate here.
3715 /* We do not touch dax_lineno unless the option is enabled. */
3718 (yy_buffer_stack) = NULL;
3719 (yy_buffer_stack_top) = 0;
3720 (yy_buffer_stack_max) = 0;
3721 (yy_c_buf_p) = NULL;
3725 (yy_start_stack_ptr) = 0;
3726 (yy_start_stack_depth) = 0;
3727 (yy_start_stack) = NULL;
3729 /* Defined in main.c */
3738 /* For future reference: Set errno on error, since we are called by
3744 /* dax_lex_destroy is for both reentrant and non-reentrant scanners. */
3745 int dax_lex_destroy (void)
3748 /* Pop the buffer stack, destroying each element. */
3749 while(YY_CURRENT_BUFFER){
3750 dax__delete_buffer(YY_CURRENT_BUFFER );
3751 YY_CURRENT_BUFFER_LVALUE = NULL;
3752 dax_pop_buffer_state();
3755 /* Destroy the stack itself. */
3756 dax_free((yy_buffer_stack) );
3757 (yy_buffer_stack) = NULL;
3759 /* Destroy the start condition stack. */
3760 dax_free((yy_start_stack) );
3761 (yy_start_stack) = NULL;
3763 /* Reset the globals. This is important in a non-reentrant scanner so the next time
3764 * dax_lex() is called, initialization will occur. */
3771 * Internal utility routines.
3775 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
3779 for ( i = 0; i < n; ++i )
3784 #ifdef YY_NEED_STRLEN
3785 static int yy_flex_strlen (yyconst char * s )
3788 for ( n = 0; s[n]; ++n )
3795 void *dax_alloc (yy_size_t size )
3797 return malloc(size);
3800 void *dax_realloc (void * ptr, yy_size_t size )
3803 /* The cast to (char *) in the following accommodates both
3804 * implementations that use char* generic pointers, and those
3805 * that use void* generic pointers. It works with the latter
3806 * because both ANSI C and C++ allow castless assignment from
3807 * any pointer type to void*, and deal with argument conversions
3808 * as though doing an assignment.
3810 return realloc(ptr, size);
3813 void dax_free (void * ptr )
3815 free( (char *) ptr ); /* see dax_realloc() for (char *) cast */
3818 #define YYTABLES_NAME "yytables"
3820 /* Element context stack lookup. */
3821 int dax__element_context(int i)
3823 return (0<i && i<yy_start_stack_depth
3824 ? yy_start_stack[yy_start_stack_ptr - i]
3829 void print_yy_stack(char* fmt, ...)
3831 int i = 0; va_list ap; va_start(ap, fmt);
3832 vfprintf(stderr, fmt, ap);
3833 if (dax__statenames) {
3834 for (i=1; i<yy_start_stack_ptr; i++) {
3835 fprintf(stderr, "%s/", dax__statenames[yy_start_stack[i] ]);
3837 fprintf(stderr,"%s\n", dax__statenames[YY_START]);
3842 void print_dax__bufferstack()
3845 fputs("Buffer: ", stderr);
3846 for (i = 0; i < blimit; i++) {
3847 if ( dax__bufferstack[i] == '\377' ) break;
3848 putc(dax__bufferstack[i], stderr);
3853 static void debug_enter(int state, const char* statename) {
3854 yy_push_state(state);
3855 if (dax__flex_debug) {
3856 print_yy_stack("--ENTER(%s) : ",statename);
3857 print_dax__bufferstack();
3861 static void debug_leave(void) {
3862 if (dax__flex_debug) {
3863 print_yy_stack("--LEAVE : ");
3864 print_dax__bufferstack();
3869 static void debug_set(int state, const char* statename) {
3871 if (dax__flex_debug) print_yy_stack("--SET(%s) : ",statename);
3875 static void cleanup(void)
3877 if (dax__statenames) {
3878 free(dax__statenames);
3879 dax__statenames = NULL;
3881 free(dax__bufferstack);
3882 dax__bufferstack = NULL;
3888 static int fail(const char* fmt, ...)
3890 int chars_left, used;
3891 va_list ap; va_start(ap, fmt);
3892 #ifdef FLEXML_yylineno
3893 used = snprintf(flexml_err_msg,flexml_max_err_msg_size,
3894 "Invalid XML (XML input line %d, state %d): ",
3895 dax_lineno, YY_START);
3897 used = snprintf(flexml_err_msg,flexml_max_err_msg_size,
3898 "Invalid XML (state %d): ",
3901 chars_left = flexml_max_err_msg_size - used - 1;
3902 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
3905 #ifndef FLEXML_quiet_parser
3906 /* print directly to sdterr */
3907 fprintf(stderr, "%s\n", flexml_err_msg);
3908 flexml_err_msg[0] = '\0';