2 #line 3 "simdag/dax_dtd.c"
4 #define YY_INT_ALIGNED short int
6 /* A lexical scanner generated by flex */
8 #define yy_create_buffer dax__create_buffer
9 #define yy_delete_buffer dax__delete_buffer
10 #define yy_flex_debug dax__flex_debug
11 #define yy_init_buffer dax__init_buffer
12 #define yy_flush_buffer dax__flush_buffer
13 #define yy_load_buffer_state dax__load_buffer_state
14 #define yy_switch_to_buffer dax__switch_to_buffer
16 #define yyleng dax_leng
18 #define yylineno dax_lineno
20 #define yyrestart dax_restart
21 #define yytext dax_text
22 #define yywrap dax_wrap
23 #define yyalloc dax_alloc
24 #define yyrealloc dax_realloc
25 #define yyfree dax_free
28 #define YY_FLEX_MAJOR_VERSION 2
29 #define YY_FLEX_MINOR_VERSION 5
30 #define YY_FLEX_SUBMINOR_VERSION 35
31 #if YY_FLEX_SUBMINOR_VERSION > 0
35 /* First, we deal with platform-specific or compiler-specific issues. */
37 /* begin standard C headers. */
43 /* end standard C headers. */
45 /* flex integer type definitions */
50 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
52 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
54 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
55 * if you want the limit (max/min) macros for int types.
57 #ifndef __STDC_LIMIT_MACROS
58 #define __STDC_LIMIT_MACROS 1
62 typedef int8_t flex_int8_t;
63 typedef uint8_t flex_uint8_t;
64 typedef int16_t flex_int16_t;
65 typedef uint16_t flex_uint16_t;
66 typedef int32_t flex_int32_t;
67 typedef uint32_t flex_uint32_t;
69 typedef signed char flex_int8_t;
70 typedef short int flex_int16_t;
71 typedef int flex_int32_t;
72 typedef unsigned char flex_uint8_t;
73 typedef unsigned short int flex_uint16_t;
74 typedef unsigned int flex_uint32_t;
76 /* Limits of integral types. */
78 #define INT8_MIN (-128)
81 #define INT16_MIN (-32767-1)
84 #define INT32_MIN (-2147483647-1)
87 #define INT8_MAX (127)
90 #define INT16_MAX (32767)
93 #define INT32_MAX (2147483647)
96 #define UINT8_MAX (255U)
99 #define UINT16_MAX (65535U)
102 #define UINT32_MAX (4294967295U)
107 #endif /* ! FLEXINT_H */
111 /* The "const" storage-class-modifier is valid. */
114 #else /* ! __cplusplus */
116 /* C99 requires __STDC__ to be defined as 1. */
117 #if defined (__STDC__)
121 #endif /* defined (__STDC__) */
122 #endif /* ! __cplusplus */
125 #define yyconst const
130 /* Returned upon end-of-file. */
133 /* Promotes a possibly negative, possibly signed char to an unsigned
134 * integer for use as an array index. If the signed char is negative,
135 * we want to instead treat it as an 8-bit unsigned char, hence the
138 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
140 /* Enter a start condition. This macro really ought to take a parameter,
141 * but we do it the disgusting crufty way forced on us by the ()-less
142 * definition of BEGIN.
144 #define BEGIN (yy_start) = 1 + 2 *
146 /* Translate the current start state into a value that can be later handed
147 * to BEGIN to return to the state. The YYSTATE alias is for lex
150 #define YY_START (((yy_start) - 1) / 2)
151 #define YYSTATE YY_START
153 /* Action number for EOF rule of a given start state. */
154 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
156 /* Special action meaning "start processing a new file". */
157 #define YY_NEW_FILE dax_restart(dax_in )
159 #define YY_END_OF_BUFFER_CHAR 0
161 /* Size of default input buffer. */
164 /* On IA-64, the buffer size is 16k, not 8k.
165 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
166 * Ditto for the __ia64__ case accordingly.
168 #define YY_BUF_SIZE 32768
170 #define YY_BUF_SIZE 16384
171 #endif /* __ia64__ */
174 /* The state buf must be large enough to hold one state per character in the main buffer.
176 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
178 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
179 #define YY_TYPEDEF_YY_BUFFER_STATE
180 typedef struct yy_buffer_state *YY_BUFFER_STATE;
185 extern FILE *dax_in, *dax_out;
187 #define EOB_ACT_CONTINUE_SCAN 0
188 #define EOB_ACT_END_OF_FILE 1
189 #define EOB_ACT_LAST_MATCH 2
191 /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
192 * access to the local variable yy_act. Since yyless() is a macro, it would break
193 * existing scanners that call yyless() from OUTSIDE dax_lex.
194 * One obvious solution it to make yy_act a global. I tried that, and saw
195 * a 5% performance hit in a non-dax_lineno scanner, because yy_act is
196 * normally declared as a register variable-- so it is not worth it.
198 #define YY_LESS_LINENO(n) \
201 for ( yyl = n; yyl < dax_leng; ++yyl )\
202 if ( dax_text[yyl] == '\n' )\
206 /* Return all but the first "n" matched characters back to the input stream. */
210 /* Undo effects of setting up dax_text. */ \
211 int yyless_macro_arg = (n); \
212 YY_LESS_LINENO(yyless_macro_arg);\
213 *yy_cp = (yy_hold_char); \
214 YY_RESTORE_YY_MORE_OFFSET \
215 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
216 YY_DO_BEFORE_ACTION; /* set up dax_text again */ \
220 #define unput(c) yyunput( c, (yytext_ptr) )
222 #ifndef YY_TYPEDEF_YY_SIZE_T
223 #define YY_TYPEDEF_YY_SIZE_T
224 typedef size_t yy_size_t;
227 #ifndef YY_STRUCT_YY_BUFFER_STATE
228 #define YY_STRUCT_YY_BUFFER_STATE
229 struct yy_buffer_state
233 char *yy_ch_buf; /* input buffer */
234 char *yy_buf_pos; /* current position in input buffer */
236 /* Size of input buffer in bytes, not including room for EOB
239 yy_size_t yy_buf_size;
241 /* Number of characters read into yy_ch_buf, not including EOB
246 /* Whether we "own" the buffer - i.e., we know we created it,
247 * and can realloc() it to grow it, and should free() it to
250 int yy_is_our_buffer;
252 /* Whether this is an "interactive" input source; if so, and
253 * if we're using stdio for input, then we want to use getc()
254 * instead of fread(), to make sure we stop fetching input after
257 int yy_is_interactive;
259 /* Whether we're considered to be at the beginning of a line.
260 * If so, '^' rules will be active on the next match, otherwise
265 int yy_bs_lineno; /**< The line count. */
266 int yy_bs_column; /**< The column count. */
268 /* Whether to try to fill the input buffer when we reach the
273 int yy_buffer_status;
275 #define YY_BUFFER_NEW 0
276 #define YY_BUFFER_NORMAL 1
277 /* When an EOF's been seen but there's still some text to process
278 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
279 * shouldn't try reading from the input source any more. We might
280 * still have a bunch of tokens to match, though, because of
281 * possible backing-up.
283 * When we actually see the EOF, we change the status to "new"
284 * (via dax_restart()), so that the user can continue scanning by
285 * just pointing dax_in at a new input file.
287 #define YY_BUFFER_EOF_PENDING 2
290 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
292 /* Stack of input buffers. */
293 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
294 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
295 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
297 /* We provide macros for accessing buffer states in case in the
298 * future we want to put the buffer states in a more general
301 * Returns the top of the stack, or NULL.
303 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
304 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
307 /* Same as previous macro, but useful when we know that the buffer stack is not
308 * NULL or when we need an lvalue. For internal use only.
310 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
312 /* yy_hold_char holds the character lost when dax_text is formed. */
313 static char yy_hold_char;
314 static int yy_n_chars; /* number of characters read into yy_ch_buf */
317 /* Points to current character in buffer. */
318 static char *yy_c_buf_p = (char *) 0;
319 static int yy_init = 0; /* whether we need to initialize */
320 static int yy_start = 0; /* start state number */
322 /* Flag which is used to allow dax_wrap()'s to do buffer switches
323 * instead of setting up a fresh dax_in. A bit of a hack ...
325 static int yy_did_buffer_switch_on_eof;
327 void dax_restart (FILE *input_file );
328 void dax__switch_to_buffer (YY_BUFFER_STATE new_buffer );
329 YY_BUFFER_STATE dax__create_buffer (FILE *file,int size );
330 void dax__delete_buffer (YY_BUFFER_STATE b );
331 void dax__flush_buffer (YY_BUFFER_STATE b );
332 void dax_push_buffer_state (YY_BUFFER_STATE new_buffer );
333 void dax_pop_buffer_state (void );
335 static void dax_ensure_buffer_stack (void );
336 static void dax__load_buffer_state (void );
337 static void dax__init_buffer (YY_BUFFER_STATE b,FILE *file );
339 #define YY_FLUSH_BUFFER dax__flush_buffer(YY_CURRENT_BUFFER )
341 YY_BUFFER_STATE dax__scan_buffer (char *base,yy_size_t size );
342 YY_BUFFER_STATE dax__scan_string (yyconst char *yy_str );
343 YY_BUFFER_STATE dax__scan_bytes (yyconst char *bytes,int len );
345 void *dax_alloc (yy_size_t );
346 void *dax_realloc (void *,yy_size_t );
347 void dax_free (void * );
349 #define yy_new_buffer dax__create_buffer
351 #define yy_set_interactive(is_interactive) \
353 if ( ! YY_CURRENT_BUFFER ){ \
354 dax_ensure_buffer_stack (); \
355 YY_CURRENT_BUFFER_LVALUE = \
356 dax__create_buffer(dax_in,YY_BUF_SIZE ); \
358 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
361 #define yy_set_bol(at_bol) \
363 if ( ! YY_CURRENT_BUFFER ){\
364 dax_ensure_buffer_stack (); \
365 YY_CURRENT_BUFFER_LVALUE = \
366 dax__create_buffer(dax_in,YY_BUF_SIZE ); \
368 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
371 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
373 /* Begin user sect3 */
375 #define dax_wrap(n) 1
376 #define YY_SKIP_YYWRAP
378 typedef unsigned char YY_CHAR;
380 FILE *dax_in = (FILE *) 0, *dax_out = (FILE *) 0;
382 typedef int yy_state_type;
384 extern int dax_lineno;
388 extern char *dax_text;
389 #define yytext_ptr dax_text
391 static yy_state_type yy_get_previous_state (void );
392 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
393 static int yy_get_next_buffer (void );
394 static void yy_fatal_error (yyconst char msg[] );
396 /* Done after the current pattern has been matched and before the
397 * corresponding action - sets up dax_text.
399 #define YY_DO_BEFORE_ACTION \
400 (yytext_ptr) = yy_bp; \
401 dax_leng = (size_t) (yy_cp - yy_bp); \
402 (yy_hold_char) = *yy_cp; \
404 (yy_c_buf_p) = yy_cp;
406 #define YY_NUM_RULES 142
407 #define YY_END_OF_BUFFER 143
408 /* This struct is not used in this scanner,
409 but its presence is necessary. */
412 flex_int32_t yy_verify;
415 static yyconst flex_int16_t yy_accept[900] =
417 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
418 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
419 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
420 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
424 0, 0, 0, 0, 143, 141, 19, 10, 10, 19,
425 19, 121, 10, 121, 5, 6, 5, 8, 9, 8,
426 137, 129, 130, 138, 135, 138, 136, 140, 129, 130,
428 140, 141, 44, 10, 44, 44, 44, 42, 44, 44,
429 44, 44, 44, 44, 44, 48, 10, 48, 48, 141,
430 141, 48, 141, 63, 10, 63, 63, 63, 61, 63,
431 63, 63, 63, 67, 10, 67, 141, 67, 141, 94,
432 10, 94, 94, 94, 92, 94, 94, 94, 94, 94,
433 94, 98, 10, 98, 141, 105, 10, 105, 105, 105,
434 103, 105, 109, 10, 109, 141, 109, 141, 116, 10,
435 116, 116, 116, 114, 116, 120, 10, 120, 138, 137,
436 10, 0, 2, 2, 0, 4, 7, 132, 131, 0,
437 0, 0, 0, 0, 0, 0, 43, 45, 45, 45,
439 45, 45, 45, 45, 45, 45, 0, 0, 0, 0,
440 0, 0, 0, 0, 62, 64, 64, 64, 64, 64,
441 0, 0, 93, 95, 95, 95, 95, 95, 95, 95,
442 95, 0, 104, 106, 106, 0, 0, 115, 117, 117,
443 0, 0, 0, 0, 0, 0, 0, 3, 0, 0,
444 0, 0, 0, 0, 0, 139, 0, 45, 45, 45,
445 45, 45, 45, 45, 45, 0, 0, 0, 0, 0,
446 0, 0, 0, 0, 0, 0, 64, 64, 64, 0,
447 0, 0, 95, 95, 95, 95, 95, 95, 95, 0,
448 0, 106, 0, 0, 0, 117, 0, 0, 0, 134,
450 0, 18, 1, 0, 0, 127, 0, 0, 0, 124,
451 123, 0, 0, 45, 45, 45, 45, 45, 45, 45,
452 45, 0, 0, 47, 0, 0, 0, 50, 0, 0,
453 49, 0, 0, 52, 51, 64, 64, 64, 0, 0,
454 66, 0, 0, 95, 95, 95, 95, 95, 95, 95,
455 0, 0, 97, 0, 0, 0, 0, 0, 108, 0,
456 0, 0, 0, 0, 0, 119, 0, 0, 0, 0,
457 128, 122, 0, 0, 21, 45, 45, 45, 45, 45,
458 0, 0, 45, 45, 0, 20, 0, 50, 0, 68,
459 49, 0, 0, 0, 64, 64, 64, 0, 69, 0,
461 0, 0, 0, 95, 95, 0, 0, 95, 0, 0,
462 0, 0, 102, 101, 0, 0, 0, 113, 112, 0,
463 0, 0, 0, 0, 12, 0, 125, 126, 21, 45,
464 0, 0, 45, 0, 0, 45, 0, 35, 34, 45,
465 0, 45, 0, 0, 20, 100, 0, 68, 99, 0,
466 56, 55, 64, 64, 64, 0, 65, 69, 0, 71,
467 70, 0, 0, 0, 95, 95, 0, 91, 90, 95,
468 0, 89, 88, 0, 0, 0, 0, 0, 0, 0,
469 0, 11, 45, 0, 31, 30, 45, 0, 33, 32,
470 45, 45, 45, 45, 0, 23, 22, 0, 46, 100,
472 110, 99, 64, 64, 64, 0, 0, 0, 0, 95,
473 95, 95, 0, 96, 0, 111, 0, 0, 0, 0,
474 0, 45, 45, 45, 0, 0, 45, 45, 110, 64,
475 0, 0, 0, 0, 0, 0, 0, 0, 95, 95,
476 95, 0, 107, 111, 0, 0, 0, 0, 0, 45,
477 45, 0, 0, 0, 29, 28, 45, 45, 64, 0,
478 60, 59, 0, 58, 57, 0, 0, 0, 0, 0,
479 0, 0, 0, 0, 0, 0, 118, 133, 0, 0,
480 0, 45, 0, 0, 0, 37, 36, 45, 0, 0,
481 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
483 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
484 0, 0, 0, 0, 0, 39, 38, 45, 0, 25,
485 24, 0, 54, 53, 0, 0, 0, 0, 0, 0,
486 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
487 0, 0, 0, 0, 0, 0, 0, 0, 41, 40,
488 45, 73, 0, 72, 0, 0, 0, 0, 0, 0,
489 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
490 0, 0, 0, 0, 45, 75, 74, 0, 0, 0,
491 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
492 0, 0, 0, 0, 0, 0, 0, 45, 0, 0,
494 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
496 45, 0, 87, 0, 86, 0, 79, 0, 78, 0,
497 83, 0, 82, 0, 0, 0, 0, 0, 0, 0,
498 0, 0, 0, 45, 85, 84, 77, 76, 81, 80,
499 0, 0, 0, 0, 0, 0, 0, 12, 0, 12,
500 0, 45, 0, 0, 0, 0, 0, 0, 0, 0,
501 0, 45, 0, 0, 0, 0, 0, 0, 45, 0,
502 0, 0, 0, 0, 11, 45, 0, 0, 0, 0,
503 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
505 27, 26, 0, 0, 0, 0, 0, 0, 0, 0,
506 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
507 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
508 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
509 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
510 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
511 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
512 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
513 0, 0, 17, 0, 0, 0, 0, 16, 0, 0,
514 0, 0, 14, 0, 15, 0, 0, 13, 0
518 static yyconst flex_int32_t yy_ec[256] =
520 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
521 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
522 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
523 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
524 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
525 13, 13, 13, 13, 13, 13, 13, 14, 15, 16,
526 17, 18, 19, 1, 20, 21, 22, 23, 24, 21,
527 25, 25, 25, 25, 25, 26, 27, 25, 28, 29,
528 25, 25, 30, 31, 25, 25, 25, 25, 32, 25,
529 33, 1, 34, 1, 25, 1, 35, 36, 37, 38,
531 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
532 49, 50, 51, 52, 53, 54, 55, 56, 25, 57,
533 58, 59, 1, 1, 1, 1, 1, 1, 1, 1,
534 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
535 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
536 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
537 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
538 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
539 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
540 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
542 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
543 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
544 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
545 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
546 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
550 static yyconst flex_int32_t yy_meta[60] =
552 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
553 3, 1, 4, 5, 1, 1, 1, 6, 1, 7,
554 7, 7, 7, 7, 5, 5, 5, 5, 5, 5,
555 5, 5, 1, 1, 7, 7, 7, 7, 7, 7,
556 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
557 5, 5, 5, 5, 5, 5, 5, 5, 5
560 static yyconst flex_int16_t yy_base[939] =
562 0, 0, 0, 3, 6, 9, 24, 27, 11, 14,
563 15, 17, 29, 38, 45, 52, 59, 61, 67, 70,
564 95, 0, 73, 76, 153, 156, 159, 162, 177, 180,
565 183, 186, 201, 204, 207, 210, 225, 228, 244, 0,
566 302, 305, 308, 311, 326, 329, 332, 335, 350, 353,
567 369, 0, 427, 430, 433, 436, 452, 504, 471, 474,
568 477, 480, 523, 526, 529, 532, 547, 550, 566, 618,
569 585, 588, 637, 639, 2460, 2461, 2461, 231, 234, 47,
570 62, 2461, 356, 172, 2461, 2461, 2449, 2461, 2461, 2440,
571 2461, 2453, 2453, 603, 2461, 2461, 2461, 2461, 2451, 2451,
573 2419, 483, 2461, 359, 2434, 0, 196, 2461, 8, 2408,
574 2402, 2400, 2413, 2408, 2399, 2461, 495, 645, 653, 641,
575 674, 682, 321, 2461, 555, 2427, 0, 220, 2461, 2406,
576 2408, 2387, 2402, 2461, 558, 701, 709, 728, 593, 2461,
577 591, 2422, 0, 345, 2461, 2396, 2395, 2387, 2397, 2392,
578 30, 2461, 603, 597, 662, 2461, 611, 2416, 0, 484,
579 2461, 2394, 2461, 659, 736, 755, 763, 536, 2461, 719,
580 2414, 0, 592, 2461, 2392, 2461, 785, 693, 2425, 2395,
581 791, 646, 2371, 2461, 2417, 2408, 2461, 2461, 2461, 2,
582 37, 2371, 2370, 2368, 2404, 2383, 2461, 0, 2377, 2364,
584 2372, 2379, 2380, 2368, 2362, 2367, 2377, 2373, 2368, 2360,
585 2373, 2354, 2357, 2363, 2461, 0, 799, 2357, 2355, 2350,
586 2357, 2347, 2461, 0, 2353, 2350, 2343, 2355, 2336, 2359,
587 2343, 2337, 2461, 0, 2351, 2353, 2354, 2461, 0, 2348,
588 2337, 2353, 2367, 2366, 2373, 423, 2335, 2461, 155, 0,
589 2331, 2331, 2364, 2363, 2328, 2461, 2341, 2329, 2326, 2334,
590 2333, 2349, 2331, 2316, 2320, 817, 820, 2332, 2323, 2329,
591 2312, 2324, 2326, 2318, 823, 827, 2321, 2305, 2305, 839,
592 842, 2318, 2317, 2310, 2311, 2310, 2313, 2303, 2311, 845,
593 848, 851, 867, 870, 2297, 873, 876, 879, 2326, 2461,
595 2329, 2461, 2461, 17, 2300, 2461, 2330, 2329, 2290, 2461,
596 2461, 2288, 2300, 2302, 2285, 2316, 2280, 2207, 896, 2212,
597 2192, 900, 903, 2461, 906, 2201, 2193, 913, 2197, 2180,
598 923, 2184, 926, 2461, 2461, 934, 2180, 2175, 940, 943,
599 2461, 946, 2160, 950, 953, 2159, 2150, 969, 2047, 972,
600 975, 981, 2461, 988, 992, 998, 1008, 1011, 2461, 1014,
601 2060, 1017, 1033, 1020, 1041, 2461, 1044, 2075, 684, 1047,
602 2461, 2461, 2082, 2081, 1050, 2073, 1065, 2045, 1068, 2037,
603 1071, 1074, 2042, 1087, 1090, 1095, 2051, 1103, 2040, 1107,
604 1110, 2045, 1113, 1116, 2032, 2033, 2023, 1124, 1130, 1133,
606 1137, 1145, 1149, 2023, 2009, 1157, 1161, 2022, 1169, 1173,
607 1181, 1185, 2461, 2461, 1193, 2012, 1198, 2461, 2461, 1206,
608 2035, 585, 2036, 1210, 2461, 2034, 2461, 2461, 1213, 2002,
609 1216, 1223, 1988, 1219, 1238, 1986, 1248, 2461, 2461, 1985,
610 1256, 37, 1259, 1267, 1272, 1275, 1977, 1278, 1284, 1287,
611 2461, 2461, 1991, 1986, 1969, 1295, 2461, 1298, 1301, 2461,
612 2461, 1312, 42, 124, 1975, 1965, 1320, 2461, 2461, 1952,
613 1328, 2461, 2461, 1336, 1339, 1935, 1342, 1952, 648, 174,
614 5, 2461, 1927, 1346, 2461, 2461, 1926, 1359, 2461, 2461,
615 1912, 1367, 1927, 1906, 1370, 2461, 2461, 1378, 2461, 1383,
617 1389, 1395, 1921, 1398, 1401, 1895, 1887, 1878, 1832, 1838,
618 1799, 1798, 1404, 2461, 1407, 1410, 1417, 1826, 176, 158,
619 448, 1797, 1761, 1424, 1427, 1430, 1770, 1729, 1443, 1729,
620 1446, 1449, 1457, 1463, 1707, 1699, 1701, 1696, 1473, 1476,
621 1479, 1482, 2461, 1485, 1495, 1678, 1499, 298, 621, 1643,
622 1502, 1505, 1512, 1521, 2461, 2461, 1655, 1529, 1532, 1535,
623 2461, 2461, 1548, 2461, 2461, 1612, 1615, 1605, 1609, 1556,
624 1559, 1567, 1572, 1583, 1586, 1508, 2461, 2461, 1599, 180,
625 301, 1594, 1602, 1606, 1618, 2461, 2461, 1588, 1627, 1636,
626 1644, 1649, 1574, 1539, 1537, 1528, 1660, 676, 685, 1668,
628 695, 703, 1676, 712, 722, 305, 179, 547, 529, 657,
629 429, 709, 1684, 1687, 1696, 2461, 2461, 1545, 1704, 2461,
630 2461, 1712, 2461, 2461, 1571, 1518, 1557, 1510, 1518, 1493,
631 1507, 1477, 1460, 1442, 1457, 1439, 1435, 1416, 1429, 1391,
632 732, 641, 206, 528, 201, 476, 686, 1720, 2461, 2461,
633 1414, 2461, 1432, 2461, 1407, 1348, 1334, 1318, 1304, 1263,
634 1228, 1210, 1188, 1192, 1175, 1160, 1150, 713, 724, 1728,
635 302, 743, 763, 1731, 1154, 2461, 2461, 1139, 1106, 1076,
636 1085, 1070, 1040, 1008, 1021, 1005, 1017, 980, 992, 1734,
637 759, 1737, 761, 1740, 1757, 1760, 1767, 993, 964, 959,
639 924, 883, 850, 858, 823, 828, 795, 779, 745, 698,
640 1777, 1780, 796, 614, 1784, 1787, 1790, 1807, 1825, 1859,
641 651, 602, 2461, 535, 2461, 537, 2461, 531, 2461, 489,
642 2461, 482, 2461, 901, 1817, 866, 1820, 902, 1877, 905,
643 483, 1895, 1929, 391, 2461, 2461, 2461, 2461, 2461, 2461,
644 950, 1023, 1069, 1852, 951, 1022, 349, 343, 674, 337,
645 1887, 282, 1126, 1136, 424, 1063, 1138, 316, 298, 234,
646 1921, 167, 426, 1150, 788, 1160, 793, 156, 123, 838,
647 843, 1947, 1162, 868, 2461, 1950, 1953, 904, 1966, 869,
648 1974, 1977, 1913, 1984, 1993, 794, 821, 970, 1997, 2010,
650 2461, 2461, 921, 922, 2018, 990, 1068, 2005, 1046, 1217,
651 1103, 1213, 1246, 1254, 751, 948, 2026, 1276, 1277, 1045,
652 1180, 1290, 1301, 1235, 1309, 1315, 1329, 1249, 1299, 1317,
653 1340, 1360, 1405, 1357, 1419, 1348, 1438, 1529, 1537, 1561,
654 1575, 1596, 1605, 944, 1370, 1510, 1525, 1619, 1638, 1502,
655 1614, 1657, 1665, 1666, 1674, 1607, 1615, 1655, 1663, 1707,
656 1709, 1702, 1747, 1436, 1632, 1779, 1831, 1834, 1835, 1748,
657 1710, 1870, 1902, 2035, 1782, 1785, 1800, 1839, 2038, 1903,
658 1876, 2043, 2461, 1967, 1980, 2046, 2055, 2461, 2063, 1955,
659 1909, 2066, 2461, 2072, 2461, 2075, 2083, 2461, 2461, 2101,
661 2108, 2115, 2122, 2129, 2136, 2143, 2150, 2157, 2164, 2171,
662 2178, 2185, 2192, 2197, 2202, 2207, 2212, 2217, 2224, 2227,
663 2230, 2233, 2236, 2239, 2246, 2250, 2256, 2262, 2268, 2274,
664 2280, 2287, 2294, 2301, 2308, 2315, 2322, 2329
667 static yyconst flex_int16_t yy_def[939] =
669 900, 900, 901, 901, 901, 901, 902, 902, 903, 903,
670 904, 904, 905, 905, 905, 905, 906, 906, 900, 900,
671 899, 21, 907, 907, 907, 907, 900, 900, 907, 907,
672 900, 900, 907, 907, 907, 907, 900, 900, 899, 39,
673 908, 908, 900, 900, 908, 908, 908, 908, 900, 900,
674 899, 51, 909, 909, 900, 900, 910, 910, 911, 911,
675 900, 900, 911, 911, 911, 911, 900, 900, 912, 912,
676 913, 913, 905, 905, 899, 899, 899, 899, 899, 899,
677 899, 899, 899, 899, 899, 899, 899, 899, 899, 899,
678 899, 899, 899, 899, 899, 899, 899, 899, 899, 899,
680 899, 899, 899, 899, 899, 914, 899, 899, 914, 914,
681 914, 914, 914, 914, 914, 899, 899, 899, 899, 899,
682 899, 899, 899, 899, 899, 899, 915, 899, 899, 915,
683 915, 915, 915, 899, 899, 899, 899, 899, 899, 899,
684 899, 899, 916, 899, 899, 916, 916, 916, 916, 916,
685 916, 899, 899, 899, 899, 899, 899, 899, 917, 899,
686 899, 917, 899, 899, 899, 899, 899, 899, 899, 899,
687 899, 918, 899, 899, 918, 899, 899, 899, 899, 899,
688 899, 919, 899, 899, 899, 899, 899, 899, 899, 899,
689 899, 899, 899, 899, 899, 899, 899, 914, 914, 914,
691 914, 914, 914, 914, 914, 914, 920, 899, 899, 899,
692 899, 899, 899, 899, 899, 915, 915, 915, 915, 915,
693 921, 899, 899, 916, 916, 916, 916, 916, 916, 916,
694 916, 922, 899, 917, 917, 923, 899, 899, 918, 918,
695 924, 899, 899, 925, 899, 925, 899, 899, 899, 926,
696 899, 899, 899, 899, 899, 899, 899, 914, 914, 914,
697 914, 914, 914, 914, 914, 927, 927, 899, 899, 899,
698 899, 899, 899, 899, 899, 899, 915, 915, 915, 928,
699 928, 899, 916, 916, 916, 916, 916, 916, 916, 929,
700 929, 917, 930, 930, 899, 918, 931, 931, 899, 899,
702 925, 899, 899, 925, 899, 899, 926, 899, 899, 899,
703 899, 899, 899, 914, 914, 914, 914, 914, 914, 914,
704 914, 899, 927, 899, 927, 899, 899, 899, 899, 899,
705 899, 899, 899, 899, 899, 915, 915, 915, 899, 928,
706 899, 928, 899, 916, 916, 916, 916, 916, 916, 916,
707 899, 929, 899, 929, 899, 899, 899, 930, 899, 930,
708 899, 899, 899, 899, 931, 899, 931, 899, 925, 932,
709 899, 899, 899, 899, 899, 914, 914, 914, 914, 914,
710 899, 899, 914, 914, 927, 899, 899, 899, 899, 899,
711 899, 899, 899, 899, 915, 915, 915, 928, 899, 899,
713 899, 899, 899, 916, 916, 899, 899, 916, 899, 899,
714 929, 899, 899, 899, 930, 899, 899, 899, 899, 931,
715 899, 925, 932, 932, 899, 932, 899, 899, 899, 914,
716 899, 899, 914, 899, 899, 914, 899, 899, 899, 914,
717 899, 914, 899, 927, 899, 899, 899, 899, 899, 899,
718 899, 899, 915, 915, 915, 899, 899, 899, 899, 899,
719 899, 899, 899, 899, 916, 916, 899, 899, 899, 916,
720 899, 899, 899, 929, 930, 899, 931, 899, 925, 932,
721 932, 899, 914, 899, 899, 899, 914, 899, 899, 899,
722 914, 914, 914, 914, 899, 899, 899, 899, 899, 899,
724 899, 899, 915, 915, 915, 899, 899, 899, 899, 916,
725 916, 916, 899, 899, 930, 899, 931, 899, 925, 932,
726 932, 914, 914, 914, 899, 899, 914, 914, 899, 915,
727 899, 899, 899, 899, 899, 899, 899, 899, 916, 916,
728 916, 899, 899, 899, 931, 899, 925, 932, 932, 914,
729 914, 899, 899, 899, 899, 899, 914, 914, 915, 899,
730 899, 899, 899, 899, 899, 899, 899, 899, 899, 899,
731 899, 899, 899, 899, 899, 899, 899, 899, 925, 932,
732 932, 914, 899, 899, 899, 899, 899, 914, 899, 899,
733 899, 899, 899, 899, 899, 899, 899, 899, 899, 899,
735 899, 899, 899, 899, 899, 925, 925, 925, 925, 925,
736 932, 932, 899, 899, 899, 899, 899, 914, 899, 899,
737 899, 899, 899, 899, 899, 899, 899, 899, 899, 899,
738 899, 899, 899, 899, 899, 899, 899, 899, 899, 899,
739 925, 925, 925, 925, 925, 932, 932, 899, 899, 899,
740 914, 899, 899, 899, 899, 899, 899, 899, 899, 899,
741 899, 899, 899, 899, 899, 899, 899, 925, 925, 925,
742 925, 925, 932, 932, 914, 899, 899, 899, 899, 899,
743 899, 899, 899, 899, 899, 899, 899, 899, 899, 925,
744 925, 925, 925, 925, 932, 932, 932, 914, 899, 899,
746 899, 899, 899, 899, 899, 899, 899, 899, 899, 899,
747 925, 925, 925, 925, 925, 932, 932, 932, 933, 934,
748 914, 899, 899, 899, 899, 899, 899, 899, 899, 899,
749 899, 899, 899, 925, 925, 925, 925, 925, 932, 935,
750 936, 933, 934, 914, 899, 899, 899, 899, 899, 899,
751 925, 925, 925, 925, 925, 935, 932, 937, 936, 938,
752 932, 914, 925, 925, 925, 925, 925, 937, 899, 938,
753 932, 914, 925, 925, 925, 925, 925, 899, 914, 925,
754 925, 925, 925, 925, 899, 914, 925, 925, 925, 925,
755 925, 899, 899, 925, 925, 925, 925, 925, 925, 899,
757 899, 899, 925, 925, 925, 925, 925, 925, 925, 925,
758 925, 925, 925, 925, 925, 925, 925, 925, 925, 925,
759 925, 925, 925, 925, 925, 925, 925, 925, 925, 925,
760 925, 925, 925, 925, 925, 925, 925, 925, 925, 925,
761 925, 925, 925, 925, 925, 925, 925, 925, 925, 925,
762 925, 925, 925, 925, 925, 925, 925, 925, 925, 925,
763 925, 925, 925, 925, 925, 925, 925, 925, 925, 925,
764 925, 925, 925, 925, 925, 925, 925, 925, 925, 925,
765 925, 925, 899, 925, 925, 925, 925, 899, 925, 925,
766 925, 925, 899, 925, 899, 925, 925, 899, 0, 899,
768 899, 899, 899, 899, 899, 899, 899, 899, 899, 899,
769 899, 899, 899, 899, 899, 899, 899, 899, 899, 899,
770 899, 899, 899, 899, 899, 899, 899, 899, 899, 899,
771 899, 899, 899, 899, 899, 899, 899, 899
774 static yyconst flex_int16_t yy_nxt[2521] =
776 899, 78, 79, 78, 78, 79, 78, 78, 79, 78,
777 78, 79, 78, 86, 249, 80, 86, 89, 80, 89,
778 87, 81, 425, 87, 81, 83, 79, 83, 83, 79,
779 83, 92, 93, 90, 302, 90, 94, 95, 369, 84,
780 92, 93, 84, 521, 96, 94, 95, 92, 93, 199,
781 97, 182, 94, 96, 92, 93, 200, 97, 250, 94,
782 96, 99, 100, 99, 100, 183, 182, 96, 79, 79,
783 79, 79, 79, 79, 117, 79, 117, 117, 79, 117,
784 184, 230, 102, 251, 506, 102, 252, 231, 118, 493,
785 507, 118, 101, 494, 101, 103, 104, 79, 104, 103,
787 103, 103, 103, 103, 103, 103, 105, 103, 106, 103,
788 107, 103, 108, 103, 106, 106, 106, 106, 106, 106,
789 106, 106, 106, 106, 106, 106, 106, 103, 103, 106,
790 106, 109, 106, 106, 110, 106, 106, 111, 112, 106,
791 106, 106, 113, 106, 106, 106, 106, 106, 106, 106,
792 114, 115, 106, 106, 117, 79, 117, 117, 79, 117,
793 79, 79, 79, 79, 79, 79, 508, 249, 119, 306,
794 786, 119, 509, 785, 120, 425, 185, 120, 117, 79,
795 117, 117, 79, 117, 79, 79, 79, 79, 79, 79,
796 184, 425, 118, 302, 548, 118, 302, 425, 121, 547,
798 185, 121, 117, 79, 117, 117, 79, 117, 117, 79,
799 117, 117, 79, 117, 184, 779, 119, 611, 302, 119,
800 642, 520, 122, 302, 185, 122, 79, 79, 79, 79,
801 79, 79, 181, 181, 181, 181, 181, 181, 184, 672,
802 123, 670, 769, 123, 124, 125, 79, 125, 124, 124,
803 124, 124, 124, 124, 124, 126, 124, 127, 124, 128,
804 124, 129, 124, 127, 127, 127, 127, 127, 127, 127,
805 127, 127, 127, 127, 127, 127, 124, 124, 127, 127,
806 127, 127, 127, 127, 127, 127, 130, 127, 127, 127,
807 127, 131, 127, 127, 127, 132, 127, 127, 127, 133,
809 127, 127, 127, 135, 79, 135, 135, 79, 135, 79,
810 79, 79, 79, 79, 79, 425, 778, 136, 425, 302,
811 136, 769, 302, 137, 772, 185, 137, 135, 79, 135,
812 135, 79, 135, 135, 79, 135, 135, 79, 135, 184,
813 693, 136, 641, 612, 136, 769, 580, 138, 769, 185,
814 138, 79, 79, 79, 79, 79, 79, 181, 181, 181,
815 181, 181, 181, 184, 210, 139, 425, 426, 139, 140,
816 141, 79, 141, 140, 140, 140, 140, 140, 140, 140,
817 142, 140, 143, 140, 144, 140, 145, 140, 143, 143,
818 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
820 143, 140, 140, 143, 143, 143, 143, 143, 146, 143,
821 143, 143, 143, 143, 147, 143, 143, 148, 143, 143,
822 149, 150, 151, 143, 143, 143, 143, 143, 153, 79,
823 153, 153, 79, 153, 79, 79, 79, 79, 79, 79,
824 302, 302, 154, 302, 762, 154, 425, 775, 155, 780,
825 304, 155, 156, 157, 79, 157, 156, 156, 156, 156,
826 156, 156, 156, 158, 156, 425, 156, 160, 156, 161,
827 156, 646, 164, 79, 164, 164, 79, 164, 79, 79,
828 79, 79, 79, 79, 156, 156, 165, 185, 185, 165,
829 750, 757, 166, 425, 749, 166, 181, 181, 181, 549,
831 760, 184, 184, 162, 156, 157, 79, 157, 156, 156,
832 156, 156, 156, 156, 156, 158, 156, 196, 156, 160,
833 156, 161, 156, 673, 164, 79, 164, 164, 79, 164,
834 164, 79, 164, 164, 79, 164, 156, 156, 165, 748,
835 185, 165, 747, 746, 167, 302, 302, 167, 79, 79,
836 79, 79, 79, 79, 184, 162, 181, 181, 181, 181,
837 181, 181, 168, 644, 302, 168, 169, 170, 79, 170,
838 169, 169, 169, 169, 169, 169, 169, 171, 169, 671,
839 169, 173, 169, 174, 169, 237, 177, 79, 177, 177,
840 79, 177, 181, 181, 181, 643, 185, 185, 169, 169,
842 178, 185, 302, 178, 181, 181, 181, 745, 232, 190,
843 184, 184, 181, 181, 181, 184, 479, 175, 169, 170,
844 79, 170, 169, 169, 169, 169, 169, 169, 169, 171,
845 169, 302, 169, 173, 169, 174, 169, 191, 425, 92,
846 93, 92, 93, 192, 94, 185, 94, 222, 193, 185,
847 169, 169, 179, 194, 179, 245, 207, 185, 302, 184,
848 181, 181, 181, 184, 207, 302, 185, 737, 246, 175,
849 180, 184, 180, 581, 302, 208, 519, 214, 185, 208,
850 184, 209, 757, 669, 210, 744, 185, 208, 210, 209,
851 211, 760, 184, 207, 211, 212, 213, 185, 209, 212,
853 184, 302, 211, 425, 241, 185, 733, 212, 208, 645,
854 209, 184, 221, 185, 422, 629, 208, 213, 214, 184,
855 181, 181, 181, 211, 631, 213, 425, 184, 212, 630,
856 302, 211, 185, 674, 633, 208, 212, 214, 632, 221,
857 185, 302, 635, 208, 213, 214, 184, 236, 634, 302,
858 211, 637, 213, 690, 184, 222, 636, 647, 211, 185,
859 302, 639, 208, 222, 214, 638, 668, 185, 302, 691,
860 208, 213, 214, 184, 236, 640, 302, 211, 302, 213,
861 425, 184, 212, 732, 731, 237, 181, 181, 181, 208,
862 212, 214, 181, 181, 181, 694, 712, 208, 213, 214,
864 275, 275, 275, 695, 237, 302, 213, 824, 714, 212,
865 302, 302, 211, 302, 782, 276, 784, 212, 322, 322,
866 322, 322, 322, 322, 275, 275, 275, 736, 333, 333,
867 333, 806, 334, 730, 324, 335, 729, 324, 302, 276,
868 339, 339, 339, 339, 339, 339, 351, 351, 351, 351,
869 351, 351, 355, 355, 355, 302, 341, 325, 807, 341,
870 302, 728, 353, 727, 787, 353, 788, 356, 357, 357,
871 357, 357, 357, 357, 362, 362, 362, 364, 364, 364,
872 364, 364, 364, 302, 359, 302, 302, 359, 726, 363,
873 342, 725, 798, 366, 791, 753, 366, 381, 381, 381,
875 354, 322, 322, 322, 322, 322, 322, 322, 322, 322,
876 757, 360, 382, 367, 388, 388, 388, 324, 302, 302,
877 324, 302, 758, 324, 391, 391, 391, 333, 333, 333,
878 795, 334, 751, 755, 335, 393, 393, 393, 302, 302,
879 385, 339, 339, 339, 339, 339, 339, 339, 339, 339,
880 394, 400, 400, 400, 402, 402, 402, 341, 811, 812,
881 341, 302, 724, 341, 723, 302, 401, 302, 302, 403,
882 406, 406, 406, 409, 409, 409, 351, 351, 351, 763,
883 767, 398, 351, 351, 351, 407, 395, 302, 410, 351,
884 351, 351, 353, 355, 355, 355, 808, 854, 353, 412,
886 412, 412, 722, 413, 825, 353, 414, 302, 356, 357,
887 357, 357, 357, 357, 357, 357, 357, 357, 362, 362,
888 362, 364, 364, 364, 815, 359, 411, 757, 359, 721,
889 710, 359, 709, 363, 417, 417, 417, 366, 418, 758,
890 302, 419, 364, 364, 364, 364, 364, 364, 424, 424,
891 424, 429, 429, 429, 764, 708, 415, 707, 366, 706,
892 705, 366, 302, 302, 425, 426, 431, 431, 431, 434,
893 434, 434, 381, 381, 381, 437, 437, 437, 704, 438,
894 302, 432, 439, 818, 435, 302, 302, 382, 441, 441,
895 441, 322, 322, 322, 776, 420, 445, 445, 445, 765,
897 442, 830, 816, 443, 388, 388, 388, 324, 448, 448,
898 448, 391, 391, 391, 393, 393, 393, 450, 450, 450,
899 302, 451, 703, 702, 452, 456, 456, 456, 701, 394,
900 444, 458, 458, 458, 400, 400, 400, 820, 459, 459,
901 459, 457, 460, 302, 700, 461, 402, 402, 402, 401,
902 462, 462, 462, 302, 463, 302, 773, 464, 406, 406,
903 406, 403, 467, 467, 467, 774, 468, 302, 777, 469,
904 409, 409, 409, 407, 471, 471, 471, 302, 472, 302,
905 781, 473, 351, 351, 351, 410, 412, 412, 412, 783,
906 413, 699, 790, 414, 357, 357, 357, 302, 353, 417,
908 417, 417, 698, 418, 689, 688, 419, 364, 364, 364,
909 359, 424, 424, 424, 429, 429, 429, 431, 431, 431,
910 434, 434, 434, 366, 484, 484, 484, 425, 485, 687,
911 302, 486, 432, 474, 302, 435, 831, 686, 475, 488,
912 488, 488, 685, 489, 477, 834, 490, 821, 480, 437,
913 437, 437, 302, 438, 819, 684, 439, 441, 441, 441,
914 495, 495, 495, 302, 496, 481, 302, 497, 498, 498,
915 498, 302, 443, 445, 445, 445, 500, 500, 500, 448,
916 448, 448, 683, 822, 499, 502, 502, 502, 450, 450,
917 450, 823, 451, 302, 302, 452, 456, 456, 456, 458,
919 458, 458, 459, 459, 459, 838, 460, 302, 682, 461,
920 828, 829, 457, 462, 462, 462, 302, 463, 302, 835,
921 464, 467, 467, 467, 832, 468, 302, 840, 469, 471,
922 471, 471, 302, 472, 302, 833, 473, 513, 513, 513,
923 357, 357, 357, 364, 364, 364, 302, 484, 484, 484,
924 841, 485, 836, 514, 486, 839, 359, 302, 681, 366,
925 488, 488, 488, 680, 489, 302, 837, 490, 525, 525,
926 525, 495, 495, 495, 302, 496, 515, 302, 497, 498,
927 498, 498, 846, 526, 500, 500, 500, 302, 679, 517,
928 529, 529, 529, 678, 844, 499, 502, 502, 502, 531,
930 531, 531, 533, 533, 533, 513, 513, 513, 542, 542,
931 542, 544, 544, 544, 532, 677, 842, 534, 364, 364,
932 364, 514, 302, 855, 543, 552, 552, 552, 525, 525,
933 525, 554, 554, 554, 366, 555, 302, 676, 556, 675,
934 553, 874, 667, 526, 529, 529, 529, 531, 531, 531,
935 560, 560, 560, 302, 561, 302, 845, 562, 533, 533,
936 533, 843, 532, 666, 563, 563, 563, 665, 564, 664,
937 545, 565, 847, 534, 570, 570, 570, 572, 572, 572,
938 574, 574, 574, 542, 542, 542, 544, 544, 544, 571,
939 663, 662, 573, 661, 660, 575, 576, 576, 576, 543,
941 579, 579, 579, 583, 583, 583, 552, 552, 552, 576,
942 576, 576, 577, 585, 585, 585, 302, 586, 584, 302,
943 587, 553, 554, 554, 554, 577, 555, 302, 659, 556,
944 589, 589, 589, 591, 591, 591, 560, 560, 560, 848,
945 561, 658, 302, 562, 657, 590, 302, 849, 592, 563,
946 563, 563, 656, 564, 302, 860, 565, 570, 570, 570,
947 597, 597, 597, 655, 598, 654, 856, 599, 572, 572,
948 572, 653, 571, 600, 600, 600, 652, 601, 302, 651,
949 602, 857, 628, 573, 574, 574, 574, 603, 603, 603,
950 627, 604, 302, 626, 605, 613, 613, 613, 850, 575,
952 579, 579, 579, 583, 583, 583, 852, 615, 615, 615,
953 614, 616, 851, 302, 617, 853, 302, 866, 584, 585,
954 585, 585, 302, 586, 302, 867, 587, 625, 589, 589,
955 589, 302, 302, 606, 618, 607, 302, 619, 619, 619,
956 874, 620, 608, 590, 621, 591, 591, 591, 609, 302,
957 622, 622, 622, 610, 623, 302, 858, 624, 596, 595,
958 592, 597, 597, 597, 594, 598, 593, 861, 599, 600,
959 600, 600, 302, 601, 302, 859, 602, 603, 603, 603,
960 302, 604, 302, 302, 605, 613, 613, 613, 648, 648,
961 648, 302, 649, 588, 862, 650, 582, 615, 615, 615,
963 614, 616, 863, 864, 617, 619, 619, 619, 868, 620,
964 578, 865, 621, 622, 622, 622, 869, 623, 879, 302,
965 624, 648, 648, 648, 302, 649, 302, 302, 650, 692,
966 692, 692, 696, 696, 696, 711, 711, 711, 692, 692,
967 692, 715, 715, 715, 870, 302, 871, 697, 425, 569,
968 568, 302, 567, 879, 302, 872, 566, 302, 716, 716,
969 716, 696, 696, 696, 302, 302, 713, 559, 718, 718,
970 718, 558, 719, 717, 425, 720, 697, 425, 711, 711,
971 711, 735, 735, 735, 425, 715, 715, 715, 716, 716,
972 716, 739, 739, 739, 302, 740, 302, 302, 741, 302,
974 873, 302, 302, 717, 425, 886, 734, 425, 718, 718,
975 718, 557, 719, 738, 551, 720, 875, 302, 735, 735,
976 735, 754, 754, 754, 425, 423, 423, 423, 423, 423,
977 423, 423, 423, 423, 302, 884, 423, 302, 885, 423,
978 423, 423, 425, 423, 550, 546, 752, 886, 302, 541,
979 540, 302, 302, 754, 754, 754, 302, 423, 423, 423,
980 423, 423, 423, 423, 423, 423, 423, 423, 876, 302,
981 423, 877, 878, 423, 423, 423, 425, 423, 739, 739,
982 739, 766, 740, 539, 889, 741, 538, 302, 771, 771,
983 771, 423, 423, 302, 425, 423, 423, 423, 423, 423,
985 761, 423, 423, 423, 425, 426, 423, 880, 889, 423,
986 423, 423, 425, 423, 800, 800, 800, 896, 801, 302,
987 302, 802, 771, 771, 771, 537, 302, 423, 423, 423,
988 423, 423, 423, 423, 423, 423, 423, 761, 425, 881,
989 423, 536, 535, 423, 423, 423, 425, 423, 789, 789,
990 789, 792, 792, 792, 794, 794, 794, 530, 528, 480,
991 896, 423, 423, 527, 302, 524, 793, 789, 789, 789,
992 302, 796, 302, 523, 797, 799, 799, 799, 792, 792,
993 792, 522, 518, 302, 302, 794, 794, 794, 516, 803,
994 512, 302, 804, 793, 805, 805, 805, 302, 799, 799,
996 799, 302, 809, 511, 890, 810, 817, 817, 817, 510,
997 302, 800, 800, 800, 302, 801, 505, 891, 802, 805,
998 805, 805, 302, 813, 504, 503, 814, 817, 817, 817,
999 501, 826, 492, 491, 827, 302, 882, 882, 882, 887,
1000 887, 887, 487, 302, 882, 882, 882, 892, 892, 892,
1001 483, 482, 883, 425, 478, 888, 887, 887, 887, 476,
1002 883, 470, 466, 893, 894, 894, 894, 892, 892, 892,
1003 465, 455, 888, 894, 894, 894, 897, 897, 897, 454,
1004 895, 453, 449, 893, 897, 897, 897, 447, 446, 895,
1005 440, 436, 898, 433, 430, 428, 427, 421, 416, 408,
1007 898, 76, 76, 76, 76, 76, 76, 76, 77, 77,
1008 77, 77, 77, 77, 77, 82, 82, 82, 82, 82,
1009 82, 82, 85, 85, 85, 85, 85, 85, 85, 88,
1010 88, 88, 88, 88, 88, 88, 91, 91, 91, 91,
1011 91, 91, 91, 98, 98, 98, 98, 98, 98, 98,
1012 116, 116, 116, 116, 116, 116, 116, 134, 134, 134,
1013 134, 134, 134, 134, 152, 152, 152, 152, 152, 152,
1014 152, 159, 159, 159, 159, 159, 159, 159, 163, 163,
1015 163, 163, 163, 163, 163, 172, 172, 172, 172, 172,
1016 172, 172, 176, 176, 176, 176, 176, 176, 176, 198,
1018 198, 198, 405, 198, 216, 216, 216, 404, 216, 224,
1019 224, 224, 399, 224, 234, 234, 234, 397, 234, 239,
1020 239, 239, 396, 239, 244, 244, 244, 244, 244, 392,
1021 244, 266, 390, 266, 280, 389, 280, 290, 387, 290,
1022 293, 386, 293, 297, 384, 297, 301, 301, 301, 301,
1023 301, 301, 301, 307, 383, 380, 307, 323, 323, 323,
1024 323, 323, 323, 340, 340, 340, 340, 340, 340, 352,
1025 352, 352, 352, 352, 352, 358, 358, 358, 358, 358,
1026 358, 365, 365, 365, 365, 365, 365, 423, 423, 423,
1027 423, 423, 423, 423, 742, 742, 742, 742, 742, 742,
1029 742, 743, 743, 743, 743, 743, 743, 743, 756, 756,
1030 756, 756, 756, 756, 756, 759, 759, 759, 759, 759,
1031 759, 759, 768, 768, 768, 768, 768, 768, 768, 770,
1032 770, 770, 770, 770, 770, 770, 379, 378, 377, 376,
1033 375, 374, 373, 372, 371, 370, 302, 368, 361, 350,
1034 349, 348, 347, 346, 345, 344, 343, 338, 337, 336,
1035 332, 331, 330, 329, 328, 327, 326, 321, 320, 319,
1036 318, 317, 316, 315, 314, 313, 312, 311, 310, 309,
1037 308, 305, 303, 302, 300, 299, 298, 296, 295, 294,
1038 292, 291, 289, 288, 287, 286, 285, 284, 283, 282,
1040 281, 279, 278, 277, 274, 273, 272, 271, 270, 269,
1041 268, 267, 265, 264, 263, 262, 261, 260, 259, 258,
1042 257, 256, 255, 254, 253, 248, 245, 247, 243, 242,
1043 240, 238, 235, 233, 229, 228, 227, 226, 225, 223,
1044 220, 219, 218, 217, 215, 206, 205, 204, 203, 202,
1045 201, 197, 195, 189, 188, 189, 188, 187, 186, 899,
1046 75, 899, 899, 899, 899, 899, 899, 899, 899, 899,
1047 899, 899, 899, 899, 899, 899, 899, 899, 899, 899,
1048 899, 899, 899, 899, 899, 899, 899, 899, 899, 899,
1049 899, 899, 899, 899, 899, 899, 899, 899, 899, 899,
1051 899, 899, 899, 899, 899, 899, 899, 899, 899, 899,
1052 899, 899, 899, 899, 899, 899, 899, 899, 899, 899
1055 static yyconst flex_int16_t yy_chk[2521] =
1057 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
1058 6, 6, 6, 9, 190, 3, 10, 11, 4, 12,
1059 9, 5, 481, 10, 6, 7, 7, 7, 8, 8,
1060 8, 13, 13, 11, 304, 12, 13, 13, 304, 7,
1061 14, 14, 8, 481, 13, 14, 14, 15, 15, 109,
1062 15, 80, 15, 14, 16, 16, 109, 16, 190, 16,
1063 15, 17, 17, 18, 18, 80, 81, 16, 19, 19,
1064 19, 20, 20, 20, 23, 23, 23, 24, 24, 24,
1065 81, 151, 19, 191, 463, 20, 191, 151, 23, 442,
1066 463, 24, 17, 442, 18, 21, 21, 21, 21, 21,
1068 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1069 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1070 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1071 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1072 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1073 21, 21, 21, 21, 25, 25, 25, 26, 26, 26,
1074 27, 27, 27, 28, 28, 28, 464, 249, 25, 249,
1075 779, 26, 464, 778, 27, 520, 84, 28, 29, 29,
1076 29, 30, 30, 30, 31, 31, 31, 32, 32, 32,
1077 84, 480, 29, 519, 520, 30, 607, 580, 31, 519,
1079 107, 32, 33, 33, 33, 34, 34, 34, 35, 35,
1080 35, 36, 36, 36, 107, 772, 33, 580, 645, 34,
1081 607, 480, 35, 643, 128, 36, 37, 37, 37, 38,
1082 38, 38, 78, 78, 78, 79, 79, 79, 128, 645,
1083 37, 643, 770, 38, 39, 39, 39, 39, 39, 39,
1084 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
1085 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
1086 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
1087 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
1088 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
1090 39, 39, 39, 41, 41, 41, 42, 42, 42, 43,
1091 43, 43, 44, 44, 44, 548, 769, 41, 581, 671,
1092 42, 768, 606, 43, 762, 123, 44, 45, 45, 45,
1093 46, 46, 46, 47, 47, 47, 48, 48, 48, 123,
1094 671, 45, 606, 581, 46, 760, 548, 47, 758, 144,
1095 48, 49, 49, 49, 50, 50, 50, 83, 83, 83,
1096 104, 104, 104, 144, 123, 49, 757, 757, 50, 51,
1097 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
1098 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
1099 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
1101 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
1102 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
1103 51, 51, 51, 51, 51, 51, 51, 51, 53, 53,
1104 53, 54, 54, 54, 55, 55, 55, 56, 56, 56,
1105 246, 765, 53, 773, 744, 54, 611, 765, 55, 773,
1106 246, 56, 57, 57, 57, 57, 57, 57, 57, 57,
1107 57, 57, 57, 57, 57, 521, 57, 57, 57, 57,
1108 57, 611, 59, 59, 59, 60, 60, 60, 61, 61,
1109 61, 62, 62, 62, 57, 57, 59, 102, 160, 60,
1110 732, 741, 61, 646, 730, 62, 117, 117, 117, 521,
1112 741, 102, 160, 57, 58, 58, 58, 58, 58, 58,
1113 58, 58, 58, 58, 58, 58, 58, 102, 58, 58,
1114 58, 58, 58, 646, 63, 63, 63, 64, 64, 64,
1115 65, 65, 65, 66, 66, 66, 58, 58, 63, 728,
1116 168, 64, 726, 724, 65, 644, 609, 66, 67, 67,
1117 67, 68, 68, 68, 168, 58, 125, 125, 125, 135,
1118 135, 135, 67, 609, 608, 68, 69, 69, 69, 69,
1119 69, 69, 69, 69, 69, 69, 69, 69, 69, 644,
1120 69, 69, 69, 69, 69, 168, 71, 71, 71, 72,
1121 72, 72, 141, 141, 141, 608, 173, 139, 69, 69,
1123 71, 154, 422, 72, 153, 153, 153, 722, 154, 94,
1124 173, 139, 157, 157, 157, 154, 422, 69, 70, 70,
1125 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1126 70, 714, 70, 70, 70, 70, 70, 94, 549, 73,
1127 73, 74, 74, 94, 73, 120, 74, 139, 94, 118,
1128 70, 70, 73, 94, 74, 182, 118, 119, 642, 120,
1129 164, 164, 164, 118, 119, 479, 155, 714, 182, 70,
1130 73, 119, 74, 549, 610, 120, 479, 120, 121, 118,
1131 155, 118, 759, 642, 120, 721, 122, 119, 118, 119,
1132 120, 759, 121, 122, 118, 120, 119, 178, 155, 118,
1134 122, 369, 119, 647, 178, 136, 710, 119, 121, 610,
1135 121, 178, 136, 137, 369, 598, 122, 121, 122, 136,
1136 170, 170, 170, 121, 599, 122, 612, 137, 121, 598,
1137 668, 122, 138, 647, 601, 136, 122, 136, 599, 138,
1138 165, 669, 602, 137, 136, 137, 138, 165, 601, 641,
1139 136, 604, 137, 668, 165, 136, 602, 612, 137, 166,
1140 672, 605, 138, 137, 138, 604, 641, 167, 815, 669,
1141 165, 138, 165, 166, 167, 605, 691, 138, 693, 165,
1142 673, 167, 138, 709, 708, 165, 177, 177, 177, 166,
1143 165, 166, 181, 181, 181, 672, 691, 167, 166, 167,
1145 217, 217, 217, 673, 166, 775, 167, 815, 693, 166,
1146 777, 796, 167, 713, 775, 217, 777, 167, 266, 266,
1147 266, 267, 267, 267, 275, 275, 275, 713, 276, 276,
1148 276, 796, 276, 707, 266, 276, 706, 267, 797, 275,
1149 280, 280, 280, 281, 281, 281, 290, 290, 290, 291,
1150 291, 291, 292, 292, 292, 780, 280, 267, 797, 281,
1151 781, 705, 290, 704, 780, 291, 781, 292, 293, 293,
1152 293, 294, 294, 294, 296, 296, 296, 297, 297, 297,
1153 298, 298, 298, 736, 293, 784, 790, 294, 703, 296,
1154 281, 702, 790, 297, 784, 736, 298, 319, 319, 319,
1156 291, 322, 322, 322, 323, 323, 323, 325, 325, 325,
1157 740, 294, 319, 298, 328, 328, 328, 322, 734, 738,
1158 323, 788, 740, 325, 331, 331, 331, 333, 333, 333,
1159 788, 333, 734, 738, 333, 336, 336, 336, 803, 804,
1160 325, 339, 339, 339, 340, 340, 340, 342, 342, 342,
1161 336, 344, 344, 344, 345, 345, 345, 339, 803, 804,
1162 340, 844, 701, 342, 700, 816, 344, 751, 755, 345,
1163 348, 348, 348, 350, 350, 350, 351, 351, 351, 751,
1164 755, 342, 352, 352, 352, 348, 336, 798, 350, 354,
1165 354, 354, 351, 355, 355, 355, 798, 844, 352, 356,
1167 356, 356, 699, 356, 816, 354, 356, 806, 355, 357,
1168 357, 357, 358, 358, 358, 360, 360, 360, 362, 362,
1169 362, 364, 364, 364, 806, 357, 354, 756, 358, 698,
1170 689, 360, 688, 362, 363, 363, 363, 364, 363, 756,
1171 752, 363, 365, 365, 365, 367, 367, 367, 370, 370,
1172 370, 375, 375, 375, 752, 687, 360, 686, 365, 685,
1173 684, 367, 820, 809, 370, 370, 377, 377, 377, 379,
1174 379, 379, 381, 381, 381, 382, 382, 382, 683, 382,
1175 766, 377, 382, 809, 379, 807, 753, 381, 384, 384,
1176 384, 385, 385, 385, 766, 367, 386, 386, 386, 753,
1178 384, 820, 807, 384, 388, 388, 388, 385, 390, 390,
1179 390, 391, 391, 391, 393, 393, 393, 394, 394, 394,
1180 811, 394, 682, 681, 394, 398, 398, 398, 680, 393,
1181 385, 399, 399, 399, 400, 400, 400, 811, 401, 401,
1182 401, 398, 401, 763, 679, 401, 402, 402, 402, 400,
1183 403, 403, 403, 764, 403, 767, 763, 403, 406, 406,
1184 406, 402, 407, 407, 407, 764, 407, 774, 767, 407,
1185 409, 409, 409, 406, 410, 410, 410, 776, 410, 783,
1186 774, 410, 411, 411, 411, 409, 412, 412, 412, 776,
1187 412, 678, 783, 412, 415, 415, 415, 821, 411, 417,
1189 417, 417, 675, 417, 667, 666, 417, 420, 420, 420,
1190 415, 424, 424, 424, 429, 429, 429, 431, 431, 431,
1191 434, 434, 434, 420, 432, 432, 432, 424, 432, 665,
1192 812, 432, 431, 411, 810, 434, 821, 664, 415, 435,
1193 435, 435, 663, 435, 420, 824, 435, 812, 424, 437,
1194 437, 437, 824, 437, 810, 662, 437, 441, 441, 441,
1195 443, 443, 443, 813, 443, 424, 828, 443, 444, 444,
1196 444, 814, 441, 445, 445, 445, 446, 446, 446, 448,
1197 448, 448, 661, 813, 444, 449, 449, 449, 450, 450,
1198 450, 814, 450, 818, 819, 450, 456, 456, 456, 458,
1200 458, 458, 459, 459, 459, 828, 459, 822, 660, 459,
1201 818, 819, 456, 462, 462, 462, 829, 462, 823, 825,
1202 462, 467, 467, 467, 822, 467, 825, 830, 467, 471,
1203 471, 471, 826, 471, 830, 823, 471, 474, 474, 474,
1204 475, 475, 475, 477, 477, 477, 827, 484, 484, 484,
1205 831, 484, 826, 474, 484, 829, 475, 831, 659, 477,
1206 488, 488, 488, 658, 488, 836, 827, 488, 492, 492,
1207 492, 495, 495, 495, 834, 495, 475, 832, 495, 498,
1208 498, 498, 836, 492, 500, 500, 500, 845, 657, 477,
1209 501, 501, 501, 656, 834, 498, 502, 502, 502, 504,
1211 504, 504, 505, 505, 505, 513, 513, 513, 515, 515,
1212 515, 516, 516, 516, 504, 655, 832, 505, 517, 517,
1213 517, 513, 833, 845, 515, 524, 524, 524, 525, 525,
1214 525, 526, 526, 526, 517, 526, 835, 653, 526, 651,
1215 524, 864, 640, 525, 529, 529, 529, 531, 531, 531,
1216 532, 532, 532, 864, 532, 837, 835, 532, 533, 533,
1217 533, 833, 531, 639, 534, 534, 534, 638, 534, 637,
1218 517, 534, 837, 533, 539, 539, 539, 540, 540, 540,
1219 541, 541, 541, 542, 542, 542, 544, 544, 544, 539,
1220 636, 635, 540, 634, 633, 541, 545, 545, 545, 542,
1222 547, 547, 547, 551, 551, 551, 552, 552, 552, 576,
1223 576, 576, 545, 553, 553, 553, 547, 553, 551, 850,
1224 553, 552, 554, 554, 554, 576, 554, 846, 632, 554,
1225 558, 558, 558, 559, 559, 559, 560, 560, 560, 838,
1226 560, 631, 847, 560, 630, 558, 838, 839, 559, 563,
1227 563, 563, 629, 563, 839, 850, 563, 570, 570, 570,
1228 571, 571, 571, 628, 571, 627, 846, 571, 572, 572,
1229 572, 626, 570, 573, 573, 573, 625, 573, 840, 618,
1230 573, 847, 596, 572, 574, 574, 574, 575, 575, 575,
1231 595, 575, 841, 594, 575, 582, 582, 582, 840, 574,
1233 579, 579, 579, 583, 583, 583, 842, 584, 584, 584,
1234 582, 584, 841, 842, 584, 843, 579, 856, 583, 585,
1235 585, 585, 843, 585, 856, 857, 585, 593, 589, 589,
1236 589, 851, 857, 579, 588, 579, 848, 590, 590, 590,
1237 865, 590, 579, 589, 590, 591, 591, 591, 579, 865,
1238 592, 592, 592, 579, 592, 849, 848, 592, 569, 568,
1239 591, 597, 597, 597, 567, 597, 566, 851, 597, 600,
1240 600, 600, 858, 600, 852, 849, 600, 603, 603, 603,
1241 859, 603, 853, 854, 603, 613, 613, 613, 614, 614,
1242 614, 855, 614, 557, 852, 614, 550, 615, 615, 615,
1244 613, 615, 853, 854, 615, 619, 619, 619, 858, 619,
1245 546, 855, 619, 622, 622, 622, 859, 622, 871, 862,
1246 622, 648, 648, 648, 860, 648, 861, 871, 648, 670,
1247 670, 670, 674, 674, 674, 690, 690, 690, 692, 692,
1248 692, 694, 694, 694, 860, 670, 861, 674, 674, 538,
1249 537, 690, 536, 870, 692, 862, 535, 694, 695, 695,
1250 695, 696, 696, 696, 863, 870, 692, 530, 697, 697,
1251 697, 528, 697, 695, 695, 697, 696, 696, 711, 711,
1252 711, 712, 712, 712, 697, 715, 715, 715, 716, 716,
1253 716, 717, 717, 717, 711, 717, 866, 712, 717, 875,
1255 863, 715, 876, 716, 716, 877, 711, 717, 718, 718,
1256 718, 527, 718, 715, 523, 718, 866, 877, 735, 735,
1257 735, 737, 737, 737, 718, 719, 719, 719, 719, 719,
1258 719, 719, 719, 719, 735, 875, 719, 737, 876, 719,
1259 719, 719, 719, 719, 522, 518, 735, 878, 867, 512,
1260 511, 868, 869, 754, 754, 754, 878, 719, 719, 720,
1261 720, 720, 720, 720, 720, 720, 720, 720, 867, 754,
1262 720, 868, 869, 720, 720, 720, 720, 720, 739, 739,
1263 739, 754, 739, 510, 881, 739, 509, 872, 761, 761,
1264 761, 720, 720, 881, 739, 742, 742, 742, 742, 742,
1266 742, 742, 742, 742, 761, 761, 742, 872, 880, 742,
1267 742, 742, 742, 742, 793, 793, 793, 891, 793, 873,
1268 880, 793, 771, 771, 771, 508, 891, 742, 742, 743,
1269 743, 743, 743, 743, 743, 743, 743, 743, 771, 873,
1270 743, 507, 506, 743, 743, 743, 743, 743, 782, 782,
1271 782, 786, 786, 786, 787, 787, 787, 503, 494, 771,
1272 890, 743, 743, 493, 782, 491, 786, 789, 789, 789,
1273 787, 789, 890, 487, 789, 791, 791, 791, 792, 792,
1274 792, 483, 478, 789, 884, 794, 794, 794, 476, 794,
1275 470, 791, 794, 792, 795, 795, 795, 885, 799, 799,
1277 799, 794, 799, 466, 884, 799, 808, 808, 808, 465,
1278 795, 800, 800, 800, 799, 800, 455, 885, 800, 805,
1279 805, 805, 808, 805, 454, 453, 805, 817, 817, 817,
1280 447, 817, 440, 436, 817, 805, 874, 874, 874, 879,
1281 879, 879, 433, 817, 882, 882, 882, 886, 886, 886,
1282 430, 426, 874, 423, 421, 879, 887, 887, 887, 416,
1283 882, 408, 405, 886, 889, 889, 889, 892, 892, 892,
1284 404, 397, 887, 894, 894, 894, 896, 896, 896, 396,
1285 889, 395, 392, 892, 897, 897, 897, 389, 387, 894,
1286 383, 380, 896, 378, 376, 374, 373, 368, 361, 349,
1288 897, 900, 900, 900, 900, 900, 900, 900, 901, 901,
1289 901, 901, 901, 901, 901, 902, 902, 902, 902, 902,
1290 902, 902, 903, 903, 903, 903, 903, 903, 903, 904,
1291 904, 904, 904, 904, 904, 904, 905, 905, 905, 905,
1292 905, 905, 905, 906, 906, 906, 906, 906, 906, 906,
1293 907, 907, 907, 907, 907, 907, 907, 908, 908, 908,
1294 908, 908, 908, 908, 909, 909, 909, 909, 909, 909,
1295 909, 910, 910, 910, 910, 910, 910, 910, 911, 911,
1296 911, 911, 911, 911, 911, 912, 912, 912, 912, 912,
1297 912, 912, 913, 913, 913, 913, 913, 913, 913, 914,
1299 914, 914, 347, 914, 915, 915, 915, 346, 915, 916,
1300 916, 916, 343, 916, 917, 917, 917, 338, 917, 918,
1301 918, 918, 337, 918, 919, 919, 919, 919, 919, 332,
1302 919, 920, 330, 920, 921, 329, 921, 922, 327, 922,
1303 923, 326, 923, 924, 321, 924, 925, 925, 925, 925,
1304 925, 925, 925, 926, 320, 318, 926, 927, 927, 927,
1305 927, 927, 927, 928, 928, 928, 928, 928, 928, 929,
1306 929, 929, 929, 929, 929, 930, 930, 930, 930, 930,
1307 930, 931, 931, 931, 931, 931, 931, 932, 932, 932,
1308 932, 932, 932, 932, 933, 933, 933, 933, 933, 933,
1310 933, 934, 934, 934, 934, 934, 934, 934, 935, 935,
1311 935, 935, 935, 935, 935, 936, 936, 936, 936, 936,
1312 936, 936, 937, 937, 937, 937, 937, 937, 937, 938,
1313 938, 938, 938, 938, 938, 938, 317, 316, 315, 314,
1314 313, 312, 309, 308, 307, 305, 301, 299, 295, 289,
1315 288, 287, 286, 285, 284, 283, 282, 279, 278, 277,
1316 274, 273, 272, 271, 270, 269, 268, 265, 264, 263,
1317 262, 261, 260, 259, 258, 257, 255, 254, 253, 252,
1318 251, 247, 245, 244, 243, 242, 241, 240, 237, 236,
1319 235, 232, 231, 230, 229, 228, 227, 226, 225, 222,
1321 221, 220, 219, 218, 214, 213, 212, 211, 210, 209,
1322 208, 207, 206, 205, 204, 203, 202, 201, 200, 199,
1323 196, 195, 194, 193, 192, 186, 185, 183, 180, 179,
1324 175, 171, 162, 158, 150, 149, 148, 147, 146, 142,
1325 133, 132, 131, 130, 126, 115, 114, 113, 112, 111,
1326 110, 105, 101, 100, 99, 93, 92, 90, 87, 75,
1327 899, 899, 899, 899, 899, 899, 899, 899, 899, 899,
1328 899, 899, 899, 899, 899, 899, 899, 899, 899, 899,
1329 899, 899, 899, 899, 899, 899, 899, 899, 899, 899,
1330 899, 899, 899, 899, 899, 899, 899, 899, 899, 899,
1332 899, 899, 899, 899, 899, 899, 899, 899, 899, 899,
1333 899, 899, 899, 899, 899, 899, 899, 899, 899, 899
1336 /* Table of booleans, true if rule could match eol. */
1337 static yyconst flex_int32_t yy_rule_can_match_eol[143] =
1339 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
1340 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1341 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1342 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1343 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
1344 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1,
1345 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0,
1348 static yy_state_type yy_last_accepting_state;
1349 static char *yy_last_accepting_cpos;
1351 extern int dax__flex_debug;
1352 int dax__flex_debug = 0;
1354 /* The intent behind this definition is that it'll catch
1355 * any uses of REJECT which flex missed.
1357 #define REJECT reject_used_but_not_detected
1358 #define yymore() yymore_used_but_not_detected
1359 #define YY_MORE_ADJ 0
1360 #define YY_RESTORE_YY_MORE_OFFSET
1362 /* Validating XML processor for simdag/dax.dtd.
1363 * Generated 2009/10/05 17:12:40.
1365 * This program was generated with the FleXML XML processor generator.
1366 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
1367 * FleXML is Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
1368 * (Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp).
1370 * There are two, intertwined parts to this program, part A and part B.
1375 * Some parts, here collectively called "Part A", are found in the
1376 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
1377 * and Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
1379 * You can redistribute, use, perform, display and/or modify "Part A"
1380 * provided the following two conditions hold:
1382 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
1383 * FleXML; without even the implied warranty of MERCHANTABILITY or
1384 * FITNESS FOR A PARTICULAR PURPOSE.
1386 * 2. The program distribution conditions do not in any way affect the
1387 * distribution conditions of the FleXML system used to generate this
1388 * file or any version of FleXML derived from that system.
1390 * Notice that these are explicit rights granted to you for files
1391 * generated by the FleXML system. For your rights in connection with
1392 * the FleXML system itself please consult the GNU General Public License.
1397 * The other parts, here collectively called "Part B", and which came
1398 * from the DTD used by FleXML to generate this program, can be
1399 * distributed (or not, as the case may be) under the terms of whoever
1400 * wrote them, provided these terms respect and obey the two conditions
1401 * above under the heading "Part A".
1403 * The author of and contributors to FleXML specifically disclaim
1404 * any copyright interest in "Part B", unless "Part B" was written
1405 * by the author of or contributors to FleXML.
1409 /* Version strings. */
1410 const char rcs_dax__flexml_skeleton[] =
1411 "$" "Id: skel,v 1.40 2007/10/11 09:57:24 mquinson Exp $";
1412 const char rcs_dax__flexml[] =
1413 "$" "Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp $";
1416 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
1423 #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
1424 # ifndef __STRICT_ANSI__
1426 # include <process.h>
1429 # include <unistd.h>
1432 #ifndef FLEXML_INDEXSTACKSIZE
1433 #define FLEXML_INDEXSTACKSIZE 1000
1436 /* Generated definitions. */
1437 #define FLEXML_yylineno
1438 #ifndef FLEXML_BUFFERSTACKSIZE
1439 #define FLEXML_BUFFERSTACKSIZE 1000000
1441 #define FLEXML_NEED_BUFFERLIT
1443 /* XML processor api. */
1444 /* FleXML-provided data. */
1446 extern char *dax__bufferstack;
1447 #define dax__pcdata (dax__bufferstack + dax__pcdata_ix)
1448 AT_dax__adag_version AX_dax__adag_version;
1449 #define A_dax__adag_version (dax__bufferstack + AX_dax__adag_version)
1450 AT_dax__uses_type AX_dax__uses_type;
1451 #define A_dax__uses_type (dax__bufferstack + AX_dax__uses_type)
1452 AT_dax__uses_optional AX_dax__uses_optional;
1453 #define A_dax__uses_optional AX_dax__uses_optional
1454 AT_dax__adag_name AX_dax__adag_name;
1455 #define A_dax__adag_name (dax__bufferstack + AX_dax__adag_name)
1456 AT_dax__child_ref AX_dax__child_ref;
1457 #define A_dax__child_ref (dax__bufferstack + AX_dax__child_ref)
1458 AT_dax__adag_xmlns AX_dax__adag_xmlns;
1459 #define A_dax__adag_xmlns (dax__bufferstack + AX_dax__adag_xmlns)
1460 AT_dax__uses_transfer AX_dax__uses_transfer;
1461 #define A_dax__uses_transfer AX_dax__uses_transfer
1462 AT_dax__job_id AX_dax__job_id;
1463 #define A_dax__job_id (dax__bufferstack + AX_dax__job_id)
1464 AT_dax__uses_file AX_dax__uses_file;
1465 #define A_dax__uses_file (dax__bufferstack + AX_dax__uses_file)
1466 AT_dax__parent_ref AX_dax__parent_ref;
1467 #define A_dax__parent_ref (dax__bufferstack + AX_dax__parent_ref)
1468 AT_dax__adag_count AX_dax__adag_count;
1469 #define A_dax__adag_count (dax__bufferstack + AX_dax__adag_count)
1470 AT_dax__adag_xmlns_c_xsi AX_dax__adag_xmlns_c_xsi;
1471 #define A_dax__adag_xmlns_c_xsi (dax__bufferstack + AX_dax__adag_xmlns_c_xsi)
1472 AT_dax__adag_index AX_dax__adag_index;
1473 #define A_dax__adag_index (dax__bufferstack + AX_dax__adag_index)
1474 AT_dax__uses_size AX_dax__uses_size;
1475 #define A_dax__uses_size (dax__bufferstack + AX_dax__uses_size)
1476 AT_dax__adag_childCount AX_dax__adag_childCount;
1477 #define A_dax__adag_childCount (dax__bufferstack + AX_dax__adag_childCount)
1478 AT_dax__uses_link AX_dax__uses_link;
1479 #define A_dax__uses_link AX_dax__uses_link
1480 AT_dax__job_runtime AX_dax__job_runtime;
1481 #define A_dax__job_runtime (dax__bufferstack + AX_dax__job_runtime)
1482 AT_dax__job_namespace AX_dax__job_namespace;
1483 #define A_dax__job_namespace (dax__bufferstack + AX_dax__job_namespace)
1484 AT_dax__job_name AX_dax__job_name;
1485 #define A_dax__job_name (dax__bufferstack + AX_dax__job_name)
1486 AT_dax__adag_jobCount AX_dax__adag_jobCount;
1487 #define A_dax__adag_jobCount (dax__bufferstack + AX_dax__adag_jobCount)
1488 AT_dax__adag_xmlns_c_schemaLocation AX_dax__adag_xmlns_c_schemaLocation;
1489 #define A_dax__adag_xmlns_c_schemaLocation (dax__bufferstack + AX_dax__adag_xmlns_c_schemaLocation)
1490 AT_dax__job_version AX_dax__job_version;
1491 #define A_dax__job_version (dax__bufferstack + AX_dax__job_version)
1492 AT_dax__uses_register AX_dax__uses_register;
1493 #define A_dax__uses_register AX_dax__uses_register
1494 AT_dax__adag_fileCount AX_dax__adag_fileCount;
1495 #define A_dax__adag_fileCount (dax__bufferstack + AX_dax__adag_fileCount)
1499 # define ENTER(state) debug_enter(state,#state)
1500 # define LEAVE debug_leave()
1501 # define SET(state) debug_set(state,#state)
1502 static void debug_enter(int, const char*);
1503 static void debug_leave(void);
1504 static void debug_set(int, const char*);
1506 # define ENTER(state) (yy_push_state(state))
1507 # define LEAVE (yy_pop_state())
1508 # define SET(state) BEGIN(state)
1511 /* Generic actions. */
1512 #define SKIP /*skip*/
1513 #define SUCCEED CLEANUP; return 0
1515 #define FAIL return fail
1516 static int fail(const char*, ...);
1518 enum {flexml_max_err_msg_size = 512};
1519 static char flexml_err_msg[flexml_max_err_msg_size];
1520 const char * dax__parse_err_msg()
1522 return flexml_err_msg;
1524 static void reset_dax__parse_err_msg()
1526 flexml_err_msg[0] = '\0';
1530 static void cleanup(void);
1531 #define CLEANUP cleanup()
1533 /* Text buffer stack handling. */
1534 char *dax__bufferstack = NULL;
1535 static int blimit = FLEXML_BUFFERSTACKSIZE;
1536 static int bnext = 1;
1538 static int *indexstack = NULL;
1539 static int ilimit = FLEXML_INDEXSTACKSIZE;
1540 static int inext = 1;
1542 #define BUFFERSET(P) (P = bnext)
1543 #define BUFFERPUTC(C) (ck_blimit(), dax__bufferstack[bnext++] = (C))
1544 #define BUFFERDONE (BUFFERPUTC('\0'))
1546 #define BUFFERLITERAL(C, P) dax__bufferliteral(C, &(P), dax_text)
1548 /* after this is called, there are at least 2 slots left in the stack */
1549 static int ck_blimit()
1551 if (bnext >= blimit) {
1552 blimit += FLEXML_BUFFERSTACKSIZE + 2;
1554 char *temp = (char *) realloc(dax__bufferstack, blimit);
1556 dax__bufferstack = temp;
1562 /* after this is called, there are at least 2 slots left in the stack */
1563 static int ck_ilimit()
1565 if (inext >= ilimit) {
1566 ilimit += FLEXML_INDEXSTACKSIZE + 2;
1568 int *temp = (int *) realloc(indexstack, ilimit);
1576 #ifdef FLEXML_NEED_BUFFERLIT
1577 static void dax__bufferliteral(char c, int* pp, const char* text)
1579 const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c);
1580 assert(s <= e); BUFFERSET(*pp);
1582 if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
1583 else BUFFERPUTC(*s);
1589 static void pushbuffer(int p)
1592 indexstack[inext++] = p;
1593 indexstack[inext++] = bnext;
1596 static int popbuffer(void)
1599 bnext = indexstack[--inext];
1600 return indexstack[--inext];
1603 /* General internal entities are `unput' back onto the input stream... */
1604 #define ENTITYTEXT(T) \
1605 { char *s = (T), *e = s+strlen(s);\
1606 while (--e >= s) { unput(*e); }}
1608 /* Flex standard options. */
1609 #define YY_NO_INPUT 1
1610 /* Flex user-requested options. */
1611 /* XML character classes (currently restricted to ASCII). */
1612 /* "Common syntactic structures." */
1613 /* "Names and Tokens." */
1614 /* Miscellaneous. */
1615 /* Parser states (flex `exclusive start conditions'):
1617 * PROLOG the XML prolog of the document before <?xml...>
1618 * DOCTYPE the XML prolog of the document after <?xml...>
1619 * EPILOG after the root element
1620 * INCOMMENT inside an XML comment <!--....-->
1621 * INPI inside an XML PI <?...?>
1622 * VALUE1 inside a '...'-delimited literal
1623 * VALUE2 inside a "..."-delimited literal
1624 * CDATA inside a <![CDATA[...] ]> section.
1625 * ROOT_<tag> expect root element <tag>
1626 * AL_<tag> inside the attribute list for <tag>
1627 * IN_<tag> inside a <tag> with element contents (ready for end tag)
1628 * IMPOSSIBLE dummy to permit disabling rules; must be last
1632 const char* *dax__statenames=NULL;
1643 #define ROOT_dax__adag 9
1644 #define AL_dax__adag 10
1645 #define S_dax__adag 11
1646 #define S_dax__adag_1 12
1647 #define S_dax__adag_2 13
1648 #define S_dax__adag_3 14
1649 #define S_dax__adag_4 15
1650 #define S_dax__adag_5 16
1651 #define E_dax__adag 17
1652 #define ROOT_dax__job 18
1653 #define AL_dax__job 19
1654 #define S_dax__job 20
1655 #define S_dax__job_1 21
1656 #define S_dax__job_2 22
1657 #define E_dax__job 23
1658 #define ROOT_dax__uses 24
1659 #define AL_dax__uses 25
1660 #define E_dax__uses 26
1661 #define ROOT_dax__child 27
1662 #define AL_dax__child 28
1663 #define S_dax__child 29
1664 #define S_dax__child_1 30
1665 #define S_dax__child_2 31
1666 #define E_dax__child 32
1667 #define ROOT_dax__parent 33
1668 #define AL_dax__parent 34
1669 #define E_dax__parent 35
1670 #define IMPOSSIBLE 36
1672 #ifndef YY_NO_UNISTD_H
1673 /* Special case for "unistd.h", since it is non-ANSI. We include it way
1674 * down here because we want the user's section 1 to have been scanned first.
1675 * The user has a chance to override it with an option.
1677 #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
1678 # ifndef __STRICT_ANSI__
1680 # include <process.h>
1683 # include <unistd.h>
1687 #ifndef YY_EXTRA_TYPE
1688 #define YY_EXTRA_TYPE void *
1691 static int yy_init_globals (void );
1693 /* Accessor methods to globals.
1694 These are made visible to non-reentrant scanners for convenience. */
1696 int dax_lex_destroy (void );
1698 int dax_get_debug (void );
1700 void dax_set_debug (int debug_flag );
1702 YY_EXTRA_TYPE dax_get_extra (void );
1704 void dax_set_extra (YY_EXTRA_TYPE user_defined );
1706 FILE *dax_get_in (void );
1708 void dax_set_in (FILE * in_str );
1710 FILE *dax_get_out (void );
1712 void dax_set_out (FILE * out_str );
1714 int dax_get_leng (void );
1716 char *dax_get_text (void );
1718 int dax_get_lineno (void );
1720 void dax_set_lineno (int line_number );
1722 /* Macros after this point can all be overridden by user definitions in
1726 #ifndef YY_SKIP_YYWRAP
1728 extern "C" int dax_wrap (void );
1730 extern int dax_wrap (void );
1735 static void yy_flex_strncpy (char *,yyconst char *,int );
1738 #ifdef YY_NEED_STRLEN
1739 static int yy_flex_strlen (yyconst char * );
1745 static int yyinput (void );
1747 static int input (void );
1752 static int yy_start_stack_ptr = 0;
1753 static int yy_start_stack_depth = 0;
1754 static int *yy_start_stack = NULL;
1756 static void yy_push_state (int new_state );
1758 static void yy_pop_state (void );
1760 /* Amount of stuff to slurp up with each read. */
1761 #ifndef YY_READ_BUF_SIZE
1763 /* On IA-64, the buffer size is 16k, not 8k */
1764 #define YY_READ_BUF_SIZE 16384
1766 #define YY_READ_BUF_SIZE 8192
1767 #endif /* __ia64__ */
1770 /* Copy whatever the last rule matched to the standard output. */
1772 /* This used to be an fputs(), but since the string might contain NUL's,
1773 * we now use fwrite().
1775 #define ECHO do { if (fwrite( dax_text, dax_leng, 1, dax_out )) {} } while (0)
1778 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1779 * is returned in "result".
1782 #define YY_INPUT(buf,result,max_size) \
1783 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1787 for ( n = 0; n < max_size && \
1788 (c = getc( dax_in )) != EOF && c != '\n'; ++n ) \
1789 buf[n] = (char) c; \
1791 buf[n++] = (char) c; \
1792 if ( c == EOF && ferror( dax_in ) ) \
1793 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1799 while ( (result = fread(buf, 1, max_size, dax_in))==0 && ferror(dax_in)) \
1801 if( errno != EINTR) \
1803 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1814 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1815 * we don't want an extra ';' after the "return" because that will cause
1816 * some compilers to complain about unreachable statements.
1819 #define yyterminate() return YY_NULL
1822 /* Number of entries by which start-condition stack grows. */
1823 #ifndef YY_START_STACK_INCR
1824 #define YY_START_STACK_INCR 25
1827 /* Report a fatal error. */
1828 #ifndef YY_FATAL_ERROR
1829 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1832 /* end tables serialization structures and prototypes */
1834 /* Default declaration of generated scanner - a define so the user can
1835 * easily add parameters.
1838 #define YY_DECL_IS_OURS 1
1840 extern int dax_lex (void);
1842 #define YY_DECL int dax_lex (void)
1843 #endif /* !YY_DECL */
1845 /* Code executed at the beginning of each rule, after dax_text and dax_leng
1848 #ifndef YY_USER_ACTION
1849 #define YY_USER_ACTION
1852 /* Code executed at the end of each rule. */
1854 #define YY_BREAK break;
1857 #define YY_RULE_SETUP \
1860 /** The main scanner function which does all the work.
1864 register yy_state_type yy_current_state;
1865 register char *yy_cp, *yy_bp;
1866 register int yy_act;
1868 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
1870 reset_dax__parse_err_msg();
1871 dax__bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
1872 assert(dax__bufferstack);
1876 for (i = 0; i < blimit; i++) {
1877 dax__bufferstack[i] = '\377';
1881 dax__bufferstack[0] = '\0';
1882 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
1888 dax__bufferliteral('\0', &bnext, "http://pegasus.isi.edu/schema/DAX");
1889 dax__bufferliteral('\0', &bnext, "http://www.w3.org/2001/XMLSchema-instance");
1890 dax__bufferliteral('\0', &bnext, "http://pegasus.isi.edu/schema/DAX http://pegasus.isi.edu/schema/dax-2.1.xsd");
1891 dax__bufferliteral('\0', &bnext, "0.0");
1892 dax__bufferliteral('\0', &bnext, "0.0");
1893 dax__bufferliteral('\0', &bnext, "data");
1894 if(!dax__statenames) {dax__statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
1895 dax__statenames[PROLOG] = NULL;
1896 dax__statenames[DOCTYPE] = NULL;
1897 dax__statenames[EPILOG] = NULL;
1898 dax__statenames[INCOMMENT] = NULL;
1899 dax__statenames[INPI] = NULL;
1900 dax__statenames[VALUE1] = NULL;
1901 dax__statenames[VALUE2] = NULL;
1902 dax__statenames[CDATA] = NULL;
1903 dax__statenames[ROOT_dax__adag] = NULL;
1904 dax__statenames[AL_dax__adag] = NULL;
1905 dax__statenames[S_dax__adag] = "adag";
1906 dax__statenames[S_dax__adag_1] = "adag";
1907 dax__statenames[S_dax__adag_2] = "adag";
1908 dax__statenames[S_dax__adag_3] = "adag";
1909 dax__statenames[S_dax__adag_4] = "adag";
1910 dax__statenames[S_dax__adag_5] = "adag";
1911 dax__statenames[E_dax__adag] = "adag";
1912 dax__statenames[ROOT_dax__job] = NULL;
1913 dax__statenames[AL_dax__job] = NULL;
1914 dax__statenames[S_dax__job] = "job";
1915 dax__statenames[S_dax__job_1] = "job";
1916 dax__statenames[S_dax__job_2] = "job";
1917 dax__statenames[E_dax__job] = "job";
1918 dax__statenames[ROOT_dax__uses] = NULL;
1919 dax__statenames[AL_dax__uses] = NULL;
1920 dax__statenames[E_dax__uses] = "uses";
1921 dax__statenames[ROOT_dax__child] = NULL;
1922 dax__statenames[AL_dax__child] = NULL;
1923 dax__statenames[S_dax__child] = "child";
1924 dax__statenames[S_dax__child_1] = "child";
1925 dax__statenames[S_dax__child_2] = "child";
1926 dax__statenames[E_dax__child] = "child";
1927 dax__statenames[ROOT_dax__parent] = NULL;
1928 dax__statenames[AL_dax__parent] = NULL;
1929 dax__statenames[E_dax__parent] = "parent";
1932 /* COMMENTS and PIs: handled uniformly for efficiency. */
1943 (yy_start) = 1; /* first start state */
1951 if ( ! YY_CURRENT_BUFFER ) {
1952 dax_ensure_buffer_stack ();
1953 YY_CURRENT_BUFFER_LVALUE =
1954 dax__create_buffer(dax_in,YY_BUF_SIZE );
1957 dax__load_buffer_state( );
1960 while ( 1 ) /* loops until end-of-file is reached */
1962 yy_cp = (yy_c_buf_p);
1964 /* Support of dax_text. */
1965 *yy_cp = (yy_hold_char);
1967 /* yy_bp points to the position in yy_ch_buf of the start of
1972 yy_current_state = (yy_start);
1976 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1977 if ( yy_accept[yy_current_state] )
1979 (yy_last_accepting_state) = yy_current_state;
1980 (yy_last_accepting_cpos) = yy_cp;
1982 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1984 yy_current_state = (int) yy_def[yy_current_state];
1985 if ( yy_current_state >= 900 )
1986 yy_c = yy_meta[(unsigned int) yy_c];
1988 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1991 while ( yy_base[yy_current_state] != 2461 );
1994 yy_act = yy_accept[yy_current_state];
1996 { /* have to back up */
1997 yy_cp = (yy_last_accepting_cpos);
1998 yy_current_state = (yy_last_accepting_state);
1999 yy_act = yy_accept[yy_current_state];
2002 YY_DO_BEFORE_ACTION;
2004 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
2007 for ( yyl = 0; yyl < dax_leng; ++yyl )
2008 if ( dax_text[yyl] == '\n' )
2014 do_action: /* This label is used only to access EOF actions. */
2017 { /* beginning of action switch */
2018 case 0: /* must back up */
2019 /* undo the effects of YY_DO_BEFORE_ACTION */
2020 *yy_cp = (yy_hold_char);
2021 yy_cp = (yy_last_accepting_cpos);
2022 yy_current_state = (yy_last_accepting_state);
2023 goto yy_find_action;
2041 /* rule 6 can match eol */
2045 case YY_STATE_EOF(INCOMMENT):
2046 FAIL("EOF in comment.");
2055 /* rule 9 can match eol */
2059 case YY_STATE_EOF(INPI):
2060 FAIL("EOF in PI (processing instruction).");
2063 /* SPACES: skipped uniformly */
2065 /* rule 10 can match eol */
2069 /* PROLOG: determine root element and process it. */
2072 /* rule 11 can match eol */
2077 /* rule 12 can match eol */
2079 FAIL("Bad declaration %s.",dax_text);
2083 /* rule 13 can match eol */
2085 SET(ROOT_dax__parent);
2088 /* rule 14 can match eol */
2090 SET(ROOT_dax__uses);
2093 /* rule 15 can match eol */
2095 SET(ROOT_dax__child);
2098 /* rule 16 can match eol */
2100 SET(ROOT_dax__adag);
2103 /* rule 17 can match eol */
2108 /* rule 18 can match eol */
2110 FAIL("Bad declaration %s.",dax_text);
2114 FAIL("Unexpected character `%c' in prolog.", dax_text[0]);
2116 case YY_STATE_EOF(PROLOG):
2117 case YY_STATE_EOF(DOCTYPE):
2118 FAIL("EOF in prolog.");
2121 /* RULES DERIVED FROM DTD. */
2122 /* <!-- Small DTD for DAX files. --> */
2124 /* rule 20 can match eol */
2126 FAIL("Starting tag <adag> is not allowed here.");
2129 /* rule 21 can match eol */
2132 AX_dax__adag_xmlns = 1;
2133 AX_dax__adag_xmlns_c_xsi = 35;
2134 AX_dax__adag_xmlns_c_schemaLocation = 77;
2135 AX_dax__adag_version = 153;
2136 AX_dax__adag_count = 0;
2137 AX_dax__adag_index = 0;
2138 AX_dax__adag_name = 0;
2139 AX_dax__adag_jobCount = 0;
2140 AX_dax__adag_fileCount = 0;
2141 AX_dax__adag_childCount = 0;
2142 ENTER(AL_dax__adag); pushbuffer(0);
2147 /* rule 22 can match eol */
2149 ENTER(VALUE1); BUFFERSET(AX_dax__adag_xmlns);
2152 /* rule 23 can match eol */
2154 ENTER(VALUE2); BUFFERSET(AX_dax__adag_xmlns);
2157 /* rule 24 can match eol */
2159 ENTER(VALUE1); BUFFERSET(AX_dax__adag_xmlns_c_xsi);
2162 /* rule 25 can match eol */
2164 ENTER(VALUE2); BUFFERSET(AX_dax__adag_xmlns_c_xsi);
2167 /* rule 26 can match eol */
2169 ENTER(VALUE1); BUFFERSET(AX_dax__adag_xmlns_c_schemaLocation);
2172 /* rule 27 can match eol */
2174 ENTER(VALUE2); BUFFERSET(AX_dax__adag_xmlns_c_schemaLocation);
2177 /* rule 28 can match eol */
2179 ENTER(VALUE1); BUFFERSET(AX_dax__adag_version);
2182 /* rule 29 can match eol */
2184 ENTER(VALUE2); BUFFERSET(AX_dax__adag_version);
2187 /* rule 30 can match eol */
2189 ENTER(VALUE1); BUFFERSET(AX_dax__adag_count);
2192 /* rule 31 can match eol */
2194 ENTER(VALUE2); BUFFERSET(AX_dax__adag_count);
2197 /* rule 32 can match eol */
2199 ENTER(VALUE1); BUFFERSET(AX_dax__adag_index);
2202 /* rule 33 can match eol */
2204 ENTER(VALUE2); BUFFERSET(AX_dax__adag_index);
2207 /* rule 34 can match eol */
2209 ENTER(VALUE1); BUFFERSET(AX_dax__adag_name);
2212 /* rule 35 can match eol */
2214 ENTER(VALUE2); BUFFERSET(AX_dax__adag_name);
2217 /* rule 36 can match eol */
2219 ENTER(VALUE1); BUFFERSET(AX_dax__adag_jobCount);
2222 /* rule 37 can match eol */
2224 ENTER(VALUE2); BUFFERSET(AX_dax__adag_jobCount);
2227 /* rule 38 can match eol */
2229 ENTER(VALUE1); BUFFERSET(AX_dax__adag_fileCount);
2232 /* rule 39 can match eol */
2234 ENTER(VALUE2); BUFFERSET(AX_dax__adag_fileCount);
2237 /* rule 40 can match eol */
2239 ENTER(VALUE1); BUFFERSET(AX_dax__adag_childCount);
2242 /* rule 41 can match eol */
2244 ENTER(VALUE2); BUFFERSET(AX_dax__adag_childCount);
2249 LEAVE; STag_dax__adag();dax__pcdata_ix = 0; ENTER(S_dax__adag);
2255 LEAVE; STag_dax__adag(); dax__pcdata_ix = 0; ETag_dax__adag(); popbuffer(); /* attribute */
2257 case ROOT_dax__adag: SET(EPILOG); break;
2263 FAIL("Unexpected character `%c' in attribute list of adag element.", dax_text[0]);
2267 FAIL("Bad attribute `%s' in `adag' element start tag.",dax_text);
2269 case YY_STATE_EOF(AL_dax__adag):
2270 FAIL("EOF in attribute list of `adag' element.");
2274 /* rule 46 can match eol */
2279 popbuffer(); /* attribute */
2281 case ROOT_dax__adag: SET(EPILOG); break;
2286 /* rule 47 can match eol */
2288 FAIL("Unexpected end-tag `%s': `</adag>' expected.",dax_text);
2292 FAIL("Unexpected character `%c': `</adag>' expected.",dax_text[0]);
2294 case YY_STATE_EOF(S_dax__adag_1):
2295 case YY_STATE_EOF(S_dax__adag_5):
2296 case YY_STATE_EOF(E_dax__adag):
2297 case YY_STATE_EOF(S_dax__adag_3):
2298 case YY_STATE_EOF(S_dax__adag):
2299 FAIL("Premature EOF: `</adag>' expected.");
2303 /* rule 49 can match eol */
2305 FAIL("Starting tag <job> is not allowed here.");
2308 /* rule 50 can match eol */
2312 AX_dax__job_namespace = 0;
2313 AX_dax__job_name = 0;
2314 AX_dax__job_version = 157;
2315 AX_dax__job_runtime = 0;
2316 ENTER(AL_dax__job); pushbuffer(0);
2321 /* rule 51 can match eol */
2323 ENTER(VALUE1); BUFFERSET(AX_dax__job_id);
2326 /* rule 52 can match eol */
2328 ENTER(VALUE2); BUFFERSET(AX_dax__job_id);
2331 /* rule 53 can match eol */
2333 ENTER(VALUE1); BUFFERSET(AX_dax__job_namespace);
2336 /* rule 54 can match eol */
2338 ENTER(VALUE2); BUFFERSET(AX_dax__job_namespace);
2341 /* rule 55 can match eol */
2343 ENTER(VALUE1); BUFFERSET(AX_dax__job_name);
2346 /* rule 56 can match eol */
2348 ENTER(VALUE2); BUFFERSET(AX_dax__job_name);
2351 /* rule 57 can match eol */
2353 ENTER(VALUE1); BUFFERSET(AX_dax__job_version);
2356 /* rule 58 can match eol */
2358 ENTER(VALUE2); BUFFERSET(AX_dax__job_version);
2361 /* rule 59 can match eol */
2363 ENTER(VALUE1); BUFFERSET(AX_dax__job_runtime);
2366 /* rule 60 can match eol */
2368 ENTER(VALUE2); BUFFERSET(AX_dax__job_runtime);
2373 if (!AX_dax__job_id) FAIL("Required attribute `id' not set for `job' element.");
2374 if (!AX_dax__job_name) FAIL("Required attribute `name' not set for `job' element.");
2375 if (!AX_dax__job_runtime) FAIL("Required attribute `runtime' not set for `job' element.");
2376 LEAVE; STag_dax__job();dax__pcdata_ix = 0; ENTER(S_dax__job);
2382 if (!AX_dax__job_id) FAIL("Required attribute `id' not set for `job' element.");
2383 if (!AX_dax__job_name) FAIL("Required attribute `name' not set for `job' element.");
2384 if (!AX_dax__job_runtime) FAIL("Required attribute `runtime' not set for `job' element.");
2385 LEAVE; STag_dax__job(); dax__pcdata_ix = 0; ETag_dax__job(); popbuffer(); /* attribute */
2387 case S_dax__adag_2: case S_dax__adag_3: case S_dax__adag: SET(S_dax__adag_3); break;
2388 case ROOT_dax__job: SET(EPILOG); break;
2394 FAIL("Unexpected character `%c' in attribute list of job element.", dax_text[0]);
2398 FAIL("Bad attribute `%s' in `job' element start tag.",dax_text);
2400 case YY_STATE_EOF(AL_dax__job):
2401 FAIL("EOF in attribute list of `job' element.");
2405 /* rule 65 can match eol */
2410 popbuffer(); /* attribute */
2412 case S_dax__adag_2: case S_dax__adag_3: case S_dax__adag: SET(S_dax__adag_3); break;
2413 case ROOT_dax__job: SET(EPILOG); break;
2418 /* rule 66 can match eol */
2420 FAIL("Unexpected end-tag `%s': `</job>' expected.",dax_text);
2424 FAIL("Unexpected character `%c': `</job>' expected.",dax_text[0]);
2426 case YY_STATE_EOF(S_dax__job):
2427 case YY_STATE_EOF(E_dax__job):
2428 case YY_STATE_EOF(S_dax__job_2):
2429 FAIL("Premature EOF: `</job>' expected.");
2433 /* rule 68 can match eol */
2435 FAIL("Starting tag <uses> is not allowed here.");
2438 /* rule 69 can match eol */
2441 AX_dax__uses_file = 0;
2442 AX_dax__uses_link = AU_dax__uses_link;
2443 AX_dax__uses_register = A_dax__uses_register_true;
2444 AX_dax__uses_transfer = A_dax__uses_transfer_true;
2445 AX_dax__uses_optional = A_dax__uses_optional_false;
2446 AX_dax__uses_type = 161;
2447 AX_dax__uses_size = 0;
2448 ENTER(AL_dax__uses); pushbuffer(0);
2453 /* rule 70 can match eol */
2455 ENTER(VALUE1); BUFFERSET(AX_dax__uses_file);
2458 /* rule 71 can match eol */
2460 ENTER(VALUE2); BUFFERSET(AX_dax__uses_file);
2463 /* rule 72 can match eol */
2465 /* rule 73 can match eol */
2467 A_dax__uses_link = A_dax__uses_link_input;
2470 /* rule 74 can match eol */
2472 /* rule 75 can match eol */
2474 A_dax__uses_link = A_dax__uses_link_output;
2477 /* rule 76 can match eol */
2479 /* rule 77 can match eol */
2481 A_dax__uses_register = A_dax__uses_register_false;
2484 /* rule 78 can match eol */
2486 /* rule 79 can match eol */
2488 A_dax__uses_register = A_dax__uses_register_true;
2491 /* rule 80 can match eol */
2493 /* rule 81 can match eol */
2495 A_dax__uses_transfer = A_dax__uses_transfer_false;
2498 /* rule 82 can match eol */
2500 /* rule 83 can match eol */
2502 A_dax__uses_transfer = A_dax__uses_transfer_true;
2505 /* rule 84 can match eol */
2507 /* rule 85 can match eol */
2509 A_dax__uses_optional = A_dax__uses_optional_false;
2512 /* rule 86 can match eol */
2514 /* rule 87 can match eol */
2516 A_dax__uses_optional = A_dax__uses_optional_true;
2519 /* rule 88 can match eol */
2521 ENTER(VALUE1); BUFFERSET(AX_dax__uses_type);
2524 /* rule 89 can match eol */
2526 ENTER(VALUE2); BUFFERSET(AX_dax__uses_type);
2529 /* rule 90 can match eol */
2531 ENTER(VALUE1); BUFFERSET(AX_dax__uses_size);
2534 /* rule 91 can match eol */
2536 ENTER(VALUE2); BUFFERSET(AX_dax__uses_size);
2541 if (!AX_dax__uses_file) FAIL("Required attribute `file' not set for `uses' element.");
2542 if (!AX_dax__uses_size) FAIL("Required attribute `size' not set for `uses' element.");
2543 LEAVE; STag_dax__uses();dax__pcdata_ix = 0; ENTER(E_dax__uses);
2549 if (!AX_dax__uses_file) FAIL("Required attribute `file' not set for `uses' element.");
2550 if (!AX_dax__uses_size) FAIL("Required attribute `size' not set for `uses' element.");
2551 LEAVE; STag_dax__uses(); dax__pcdata_ix = 0; ETag_dax__uses(); popbuffer(); /* attribute */
2553 case S_dax__job: case S_dax__job_2: case S_dax__job_1: SET(S_dax__job_2); break;
2554 case ROOT_dax__uses: SET(EPILOG); break;
2560 FAIL("Unexpected character `%c' in attribute list of uses element.", dax_text[0]);
2564 FAIL("Bad attribute `%s' in `uses' element start tag.",dax_text);
2566 case YY_STATE_EOF(AL_dax__uses):
2567 FAIL("EOF in attribute list of `uses' element.");
2571 /* rule 96 can match eol */
2576 popbuffer(); /* attribute */
2578 case S_dax__job: case S_dax__job_2: case S_dax__job_1: SET(S_dax__job_2); break;
2579 case ROOT_dax__uses: SET(EPILOG); break;
2584 /* rule 97 can match eol */
2586 FAIL("Unexpected end-tag `%s': `</uses>' expected.",dax_text);
2590 FAIL("Unexpected character `%c': `</uses>' expected.",dax_text[0]);
2592 case YY_STATE_EOF(E_dax__uses):
2593 FAIL("Premature EOF: `</uses>' expected.");
2597 /* rule 99 can match eol */
2599 FAIL("Starting tag <child> is not allowed here.");
2602 /* rule 100 can match eol */
2605 AX_dax__child_ref = 0;
2606 ENTER(AL_dax__child); pushbuffer(0);
2611 /* rule 101 can match eol */
2613 ENTER(VALUE1); BUFFERSET(AX_dax__child_ref);
2616 /* rule 102 can match eol */
2618 ENTER(VALUE2); BUFFERSET(AX_dax__child_ref);
2623 if (!AX_dax__child_ref) FAIL("Required attribute `ref' not set for `child' element.");
2624 LEAVE; STag_dax__child();dax__pcdata_ix = 0; ENTER(S_dax__child);
2630 if (!AX_dax__child_ref) FAIL("Required attribute `ref' not set for `child' element.");
2631 LEAVE; STag_dax__child(); dax__pcdata_ix = 0; ETag_dax__child(); popbuffer(); /* attribute */
2633 case S_dax__adag_1: case S_dax__adag_4: case S_dax__adag_5: case S_dax__adag_3: case S_dax__adag: SET(S_dax__adag_5); break;
2634 case ROOT_dax__child: SET(EPILOG); break;
2640 FAIL("Unexpected character `%c' in attribute list of child element.", dax_text[0]);
2644 FAIL("Bad attribute `%s' in `child' element start tag.",dax_text);
2646 case YY_STATE_EOF(AL_dax__child):
2647 FAIL("EOF in attribute list of `child' element.");
2651 /* rule 107 can match eol */
2656 popbuffer(); /* attribute */
2658 case S_dax__adag_1: case S_dax__adag_4: case S_dax__adag_5: case S_dax__adag_3: case S_dax__adag: SET(S_dax__adag_5); break;
2659 case ROOT_dax__child: SET(EPILOG); break;
2664 /* rule 108 can match eol */
2666 FAIL("Unexpected end-tag `%s': `</child>' expected.",dax_text);
2670 FAIL("Unexpected character `%c': `</child>' expected.",dax_text[0]);
2672 case YY_STATE_EOF(S_dax__child_2):
2673 case YY_STATE_EOF(E_dax__child):
2674 case YY_STATE_EOF(S_dax__child):
2675 FAIL("Premature EOF: `</child>' expected.");
2679 /* rule 110 can match eol */
2681 FAIL("Starting tag <parent> is not allowed here.");
2684 /* rule 111 can match eol */
2687 AX_dax__parent_ref = 0;
2688 ENTER(AL_dax__parent); pushbuffer(0);
2693 /* rule 112 can match eol */
2695 ENTER(VALUE1); BUFFERSET(AX_dax__parent_ref);
2698 /* rule 113 can match eol */
2700 ENTER(VALUE2); BUFFERSET(AX_dax__parent_ref);
2705 if (!AX_dax__parent_ref) FAIL("Required attribute `ref' not set for `parent' element.");
2706 LEAVE; STag_dax__parent();dax__pcdata_ix = 0; ENTER(E_dax__parent);
2712 if (!AX_dax__parent_ref) FAIL("Required attribute `ref' not set for `parent' element.");
2713 LEAVE; STag_dax__parent(); dax__pcdata_ix = 0; ETag_dax__parent(); popbuffer(); /* attribute */
2715 case ROOT_dax__parent: SET(EPILOG); break;
2716 case S_dax__child_2: case S_dax__child: case S_dax__child_1: SET(S_dax__child_2); break;
2722 FAIL("Unexpected character `%c' in attribute list of parent element.", dax_text[0]);
2726 FAIL("Bad attribute `%s' in `parent' element start tag.",dax_text);
2728 case YY_STATE_EOF(AL_dax__parent):
2729 FAIL("EOF in attribute list of `parent' element.");
2733 /* rule 118 can match eol */
2738 popbuffer(); /* attribute */
2740 case ROOT_dax__parent: SET(EPILOG); break;
2741 case S_dax__child_2: case S_dax__child: case S_dax__child_1: SET(S_dax__child_2); break;
2746 /* rule 119 can match eol */
2748 FAIL("Unexpected end-tag `%s': `</parent>' expected.",dax_text);
2752 FAIL("Unexpected character `%c': `</parent>' expected.",dax_text[0]);
2754 case YY_STATE_EOF(E_dax__parent):
2755 FAIL("Premature EOF: `</parent>' expected.");
2758 /* EPILOG: after the root element. */
2762 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
2764 case YY_STATE_EOF(EPILOG):
2768 /* CHARACTER DATA. */
2770 /* Non-defined standard entities... */
2791 /* Character entities. */
2794 BUFFERPUTC((unsigned char)atoi(dax_text+2));
2798 BUFFERPUTC((unsigned char)strtol(dax_text+3,NULL,16));
2802 /* rule 129 can match eol */
2804 /* rule 130 can match eol */
2806 /* rule 131 can match eol */
2808 /* rule 132 can match eol */
2819 FAIL("Unexpected `]""]>' in character data.");
2826 case YY_STATE_EOF(VALUE1):
2827 FAIL("EOF in literal (\"'\" expected).");
2834 case YY_STATE_EOF(VALUE2):
2835 FAIL("EOF in literal (`\"' expected).");
2839 /* rule 137 can match eol */
2841 BUFFERPUTC(dax_text[0]);
2845 FAIL("Spurious `%c' in character data.",dax_text[0]);
2852 /* "]""]" BUFFERPUTC(dax_text[0]); BUFFERPUTC(dax_text[1]); */
2855 BUFFERPUTC(dax_text[0]);
2857 case YY_STATE_EOF(CDATA):
2858 FAIL("EOF in CDATA section.");
2861 /* Impossible rules to avoid warnings from flex(1). */
2862 /* Ideally, this should be replaced by code in flexml.pl that
2863 generates just the states not covered by other rules. */
2866 /* rule 141 can match eol */
2868 FAIL("Syntax error on character `%c'.", dax_text[0]);
2875 case YY_STATE_EOF(INITIAL):
2876 case YY_STATE_EOF(ROOT_dax__adag):
2877 case YY_STATE_EOF(S_dax__adag_2):
2878 case YY_STATE_EOF(S_dax__adag_4):
2879 case YY_STATE_EOF(ROOT_dax__job):
2880 case YY_STATE_EOF(S_dax__job_1):
2881 case YY_STATE_EOF(ROOT_dax__uses):
2882 case YY_STATE_EOF(ROOT_dax__child):
2883 case YY_STATE_EOF(S_dax__child_1):
2884 case YY_STATE_EOF(ROOT_dax__parent):
2885 case YY_STATE_EOF(IMPOSSIBLE):
2888 case YY_END_OF_BUFFER:
2890 /* Amount of text matched not including the EOB char. */
2891 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
2893 /* Undo the effects of YY_DO_BEFORE_ACTION. */
2894 *yy_cp = (yy_hold_char);
2895 YY_RESTORE_YY_MORE_OFFSET
2897 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
2899 /* We're scanning a new file or input source. It's
2900 * possible that this happened because the user
2901 * just pointed dax_in at a new source and called
2902 * dax_lex(). If so, then we have to assure
2903 * consistency between YY_CURRENT_BUFFER and our
2904 * globals. Here is the right place to do so, because
2905 * this is the first action (other than possibly a
2906 * back-up) that will match for the new input source.
2908 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2909 YY_CURRENT_BUFFER_LVALUE->yy_input_file = dax_in;
2910 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
2913 /* Note that here we test for yy_c_buf_p "<=" to the position
2914 * of the first EOB in the buffer, since yy_c_buf_p will
2915 * already have been incremented past the NUL character
2916 * (since all states make transitions on EOB to the
2917 * end-of-buffer state). Contrast this with the test
2920 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2921 { /* This was really a NUL. */
2922 yy_state_type yy_next_state;
2924 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
2926 yy_current_state = yy_get_previous_state( );
2928 /* Okay, we're now positioned to make the NUL
2929 * transition. We couldn't have
2930 * yy_get_previous_state() go ahead and do it
2931 * for us because it doesn't know how to deal
2932 * with the possibility of jamming (and we don't
2933 * want to build jamming into it because then it
2934 * will run more slowly).
2937 yy_next_state = yy_try_NUL_trans( yy_current_state );
2939 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2941 if ( yy_next_state )
2943 /* Consume the NUL. */
2944 yy_cp = ++(yy_c_buf_p);
2945 yy_current_state = yy_next_state;
2951 yy_cp = (yy_c_buf_p);
2952 goto yy_find_action;
2956 else switch ( yy_get_next_buffer( ) )
2958 case EOB_ACT_END_OF_FILE:
2960 (yy_did_buffer_switch_on_eof) = 0;
2964 /* Note: because we've taken care in
2965 * yy_get_next_buffer() to have set up
2966 * dax_text, we can now set up
2967 * yy_c_buf_p so that if some total
2968 * hoser (like flex itself) wants to
2969 * call the scanner after we return the
2970 * YY_NULL, it'll still work - another
2971 * YY_NULL will get returned.
2973 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
2975 yy_act = YY_STATE_EOF(YY_START);
2981 if ( ! (yy_did_buffer_switch_on_eof) )
2987 case EOB_ACT_CONTINUE_SCAN:
2989 (yytext_ptr) + yy_amount_of_matched_text;
2991 yy_current_state = yy_get_previous_state( );
2993 yy_cp = (yy_c_buf_p);
2994 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2997 case EOB_ACT_LAST_MATCH:
2999 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
3001 yy_current_state = yy_get_previous_state( );
3003 yy_cp = (yy_c_buf_p);
3004 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3005 goto yy_find_action;
3012 "fatal flex scanner internal error--no action found" );
3013 } /* end of action switch */
3014 } /* end of scanning one token */
3015 } /* end of dax_lex */
3017 /* yy_get_next_buffer - try to read in a new buffer
3019 * Returns a code representing an action:
3020 * EOB_ACT_LAST_MATCH -
3021 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3022 * EOB_ACT_END_OF_FILE - end of file
3024 static int yy_get_next_buffer (void)
3026 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
3027 register char *source = (yytext_ptr);
3028 register int number_to_move, i;
3031 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
3033 "fatal flex scanner internal error--end of buffer missed" );
3035 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
3036 { /* Don't try to fill the buffer, so this is an EOF. */
3037 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
3039 /* We matched a single character, the EOB, so
3040 * treat this as a final EOF.
3042 return EOB_ACT_END_OF_FILE;
3047 /* We matched some text prior to the EOB, first
3050 return EOB_ACT_LAST_MATCH;
3054 /* Try to read more data. */
3056 /* First move last chars to start of buffer. */
3057 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
3059 for ( i = 0; i < number_to_move; ++i )
3060 *(dest++) = *(source++);
3062 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
3063 /* don't do the read, it's not guaranteed to return an EOF,
3066 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
3071 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
3073 while ( num_to_read <= 0 )
3074 { /* Not enough room in the buffer - grow it. */
3076 /* just a shorter name for the current buffer */
3077 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
3079 int yy_c_buf_p_offset =
3080 (int) ((yy_c_buf_p) - b->yy_ch_buf);
3082 if ( b->yy_is_our_buffer )
3084 int new_size = b->yy_buf_size * 2;
3086 if ( new_size <= 0 )
3087 b->yy_buf_size += b->yy_buf_size / 8;
3089 b->yy_buf_size *= 2;
3091 b->yy_ch_buf = (char *)
3092 /* Include room in for 2 EOB chars. */
3093 dax_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
3096 /* Can't grow it, we don't own it. */
3099 if ( ! b->yy_ch_buf )
3101 "fatal error - scanner input buffer overflow" );
3103 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
3105 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
3110 if ( num_to_read > YY_READ_BUF_SIZE )
3111 num_to_read = YY_READ_BUF_SIZE;
3113 /* Read in more data. */
3114 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
3115 (yy_n_chars), (size_t) num_to_read );
3117 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3120 if ( (yy_n_chars) == 0 )
3122 if ( number_to_move == YY_MORE_ADJ )
3124 ret_val = EOB_ACT_END_OF_FILE;
3125 dax_restart(dax_in );
3130 ret_val = EOB_ACT_LAST_MATCH;
3131 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
3132 YY_BUFFER_EOF_PENDING;
3137 ret_val = EOB_ACT_CONTINUE_SCAN;
3139 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
3140 /* Extend the array by 50%, plus the number we really need. */
3141 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
3142 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) dax_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
3143 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3144 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
3147 (yy_n_chars) += number_to_move;
3148 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
3149 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
3151 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
3156 /* yy_get_previous_state - get the state just before the EOB char was reached */
3158 static yy_state_type yy_get_previous_state (void)
3160 register yy_state_type yy_current_state;
3161 register char *yy_cp;
3163 yy_current_state = (yy_start);
3165 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
3167 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3168 if ( yy_accept[yy_current_state] )
3170 (yy_last_accepting_state) = yy_current_state;
3171 (yy_last_accepting_cpos) = yy_cp;
3173 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3175 yy_current_state = (int) yy_def[yy_current_state];
3176 if ( yy_current_state >= 900 )
3177 yy_c = yy_meta[(unsigned int) yy_c];
3179 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3182 return yy_current_state;
3185 /* yy_try_NUL_trans - try to make a transition on the NUL character
3188 * next_state = yy_try_NUL_trans( current_state );
3190 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
3192 register int yy_is_jam;
3193 register char *yy_cp = (yy_c_buf_p);
3195 register YY_CHAR yy_c = 1;
3196 if ( yy_accept[yy_current_state] )
3198 (yy_last_accepting_state) = yy_current_state;
3199 (yy_last_accepting_cpos) = yy_cp;
3201 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3203 yy_current_state = (int) yy_def[yy_current_state];
3204 if ( yy_current_state >= 900 )
3205 yy_c = yy_meta[(unsigned int) yy_c];
3207 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3208 yy_is_jam = (yy_current_state == 899);
3210 return yy_is_jam ? 0 : yy_current_state;
3215 static int yyinput (void)
3217 static int input (void)
3223 *(yy_c_buf_p) = (yy_hold_char);
3225 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
3227 /* yy_c_buf_p now points to the character we want to return.
3228 * If this occurs *before* the EOB characters, then it's a
3229 * valid NUL; if not, then we've hit the end of the buffer.
3231 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3232 /* This was really a NUL. */
3233 *(yy_c_buf_p) = '\0';
3236 { /* need more input */
3237 int offset = (yy_c_buf_p) - (yytext_ptr);
3240 switch ( yy_get_next_buffer( ) )
3242 case EOB_ACT_LAST_MATCH:
3243 /* This happens because yy_g_n_b()
3244 * sees that we've accumulated a
3245 * token and flags that we need to
3246 * try matching the token before
3247 * proceeding. But for input(),
3248 * there's no matching to consider.
3249 * So convert the EOB_ACT_LAST_MATCH
3250 * to EOB_ACT_END_OF_FILE.
3253 /* Reset buffer status. */
3254 dax_restart(dax_in );
3258 case EOB_ACT_END_OF_FILE:
3263 if ( ! (yy_did_buffer_switch_on_eof) )
3272 case EOB_ACT_CONTINUE_SCAN:
3273 (yy_c_buf_p) = (yytext_ptr) + offset;
3279 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
3280 *(yy_c_buf_p) = '\0'; /* preserve dax_text */
3281 (yy_hold_char) = *++(yy_c_buf_p);
3290 #endif /* ifndef YY_NO_INPUT */
3292 /** Immediately switch to a different input stream.
3293 * @param input_file A readable stream.
3295 * @note This function does not reset the start condition to @c INITIAL .
3297 void dax_restart (FILE * input_file )
3300 if ( ! YY_CURRENT_BUFFER ){
3301 dax_ensure_buffer_stack ();
3302 YY_CURRENT_BUFFER_LVALUE =
3303 dax__create_buffer(dax_in,YY_BUF_SIZE );
3306 dax__init_buffer(YY_CURRENT_BUFFER,input_file );
3307 dax__load_buffer_state( );
3310 /** Switch to a different input buffer.
3311 * @param new_buffer The new input buffer.
3314 void dax__switch_to_buffer (YY_BUFFER_STATE new_buffer )
3317 /* TODO. We should be able to replace this entire function body
3319 * dax_pop_buffer_state();
3320 * dax_push_buffer_state(new_buffer);
3322 dax_ensure_buffer_stack ();
3323 if ( YY_CURRENT_BUFFER == new_buffer )
3326 if ( YY_CURRENT_BUFFER )
3328 /* Flush out information for old buffer. */
3329 *(yy_c_buf_p) = (yy_hold_char);
3330 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3331 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3334 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3335 dax__load_buffer_state( );
3337 /* We don't actually know whether we did this switch during
3338 * EOF (dax_wrap()) processing, but the only time this flag
3339 * is looked at is after dax_wrap() is called, so it's safe
3340 * to go ahead and always set it.
3342 (yy_did_buffer_switch_on_eof) = 1;
3345 static void dax__load_buffer_state (void)
3347 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3348 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
3349 dax_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
3350 (yy_hold_char) = *(yy_c_buf_p);
3353 /** Allocate and initialize an input buffer state.
3354 * @param file A readable stream.
3355 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
3357 * @return the allocated buffer state.
3359 YY_BUFFER_STATE dax__create_buffer (FILE * file, int size )
3363 b = (YY_BUFFER_STATE) dax_alloc(sizeof( struct yy_buffer_state ) );
3365 YY_FATAL_ERROR( "out of dynamic memory in dax__create_buffer()" );
3367 b->yy_buf_size = size;
3369 /* yy_ch_buf has to be 2 characters longer than the size given because
3370 * we need to put in 2 end-of-buffer characters.
3372 b->yy_ch_buf = (char *) dax_alloc(b->yy_buf_size + 2 );
3373 if ( ! b->yy_ch_buf )
3374 YY_FATAL_ERROR( "out of dynamic memory in dax__create_buffer()" );
3376 b->yy_is_our_buffer = 1;
3378 dax__init_buffer(b,file );
3383 /** Destroy the buffer.
3384 * @param b a buffer created with dax__create_buffer()
3387 void dax__delete_buffer (YY_BUFFER_STATE b )
3393 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
3394 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
3396 if ( b->yy_is_our_buffer )
3397 dax_free((void *) b->yy_ch_buf );
3399 dax_free((void *) b );
3403 extern int isatty (int );
3404 #endif /* __cplusplus */
3406 /* Initializes or reinitializes a buffer.
3407 * This function is sometimes called more than once on the same buffer,
3408 * such as during a dax_restart() or at EOF.
3410 static void dax__init_buffer (YY_BUFFER_STATE b, FILE * file )
3415 dax__flush_buffer(b );
3417 b->yy_input_file = file;
3418 b->yy_fill_buffer = 1;
3420 /* If b is the current buffer, then dax__init_buffer was _probably_
3421 * called from dax_restart() or through yy_get_next_buffer.
3422 * In that case, we don't want to reset the lineno or column.
3424 if (b != YY_CURRENT_BUFFER){
3425 b->yy_bs_lineno = 1;
3426 b->yy_bs_column = 0;
3429 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
3434 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
3435 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
3438 void dax__flush_buffer (YY_BUFFER_STATE b )
3445 /* We always need two end-of-buffer characters. The first causes
3446 * a transition to the end-of-buffer state. The second causes
3447 * a jam in that state.
3449 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3450 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3452 b->yy_buf_pos = &b->yy_ch_buf[0];
3455 b->yy_buffer_status = YY_BUFFER_NEW;
3457 if ( b == YY_CURRENT_BUFFER )
3458 dax__load_buffer_state( );
3461 /** Pushes the new state onto the stack. The new state becomes
3462 * the current state. This function will allocate the stack
3464 * @param new_buffer The new state.
3467 void dax_push_buffer_state (YY_BUFFER_STATE new_buffer )
3469 if (new_buffer == NULL)
3472 dax_ensure_buffer_stack();
3474 /* This block is copied from dax__switch_to_buffer. */
3475 if ( YY_CURRENT_BUFFER )
3477 /* Flush out information for old buffer. */
3478 *(yy_c_buf_p) = (yy_hold_char);
3479 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3480 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3483 /* Only push if top exists. Otherwise, replace top. */
3484 if (YY_CURRENT_BUFFER)
3485 (yy_buffer_stack_top)++;
3486 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3488 /* copied from dax__switch_to_buffer. */
3489 dax__load_buffer_state( );
3490 (yy_did_buffer_switch_on_eof) = 1;
3493 /** Removes and deletes the top of the stack, if present.
3494 * The next element becomes the new top.
3497 void dax_pop_buffer_state (void)
3499 if (!YY_CURRENT_BUFFER)
3502 dax__delete_buffer(YY_CURRENT_BUFFER );
3503 YY_CURRENT_BUFFER_LVALUE = NULL;
3504 if ((yy_buffer_stack_top) > 0)
3505 --(yy_buffer_stack_top);
3507 if (YY_CURRENT_BUFFER) {
3508 dax__load_buffer_state( );
3509 (yy_did_buffer_switch_on_eof) = 1;
3513 /* Allocates the stack if it does not exist.
3514 * Guarantees space for at least one push.
3516 static void dax_ensure_buffer_stack (void)
3520 if (!(yy_buffer_stack)) {
3522 /* First allocation is just for 2 elements, since we don't know if this
3523 * scanner will even need a stack. We use 2 instead of 1 to avoid an
3524 * immediate realloc on the next call.
3527 (yy_buffer_stack) = (struct yy_buffer_state**)dax_alloc
3528 (num_to_alloc * sizeof(struct yy_buffer_state*)
3530 if ( ! (yy_buffer_stack) )
3531 YY_FATAL_ERROR( "out of dynamic memory in dax_ensure_buffer_stack()" );
3533 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
3535 (yy_buffer_stack_max) = num_to_alloc;
3536 (yy_buffer_stack_top) = 0;
3540 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
3542 /* Increase the buffer to prepare for a possible push. */
3543 int grow_size = 8 /* arbitrary grow size */;
3545 num_to_alloc = (yy_buffer_stack_max) + grow_size;
3546 (yy_buffer_stack) = (struct yy_buffer_state**)dax_realloc
3548 num_to_alloc * sizeof(struct yy_buffer_state*)
3550 if ( ! (yy_buffer_stack) )
3551 YY_FATAL_ERROR( "out of dynamic memory in dax_ensure_buffer_stack()" );
3553 /* zero only the new slots.*/
3554 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
3555 (yy_buffer_stack_max) = num_to_alloc;
3559 /** Setup the input buffer state to scan directly from a user-specified character buffer.
3560 * @param base the character buffer
3561 * @param size the size in bytes of the character buffer
3563 * @return the newly allocated buffer state object.
3565 YY_BUFFER_STATE dax__scan_buffer (char * base, yy_size_t size )
3570 base[size-2] != YY_END_OF_BUFFER_CHAR ||
3571 base[size-1] != YY_END_OF_BUFFER_CHAR )
3572 /* They forgot to leave room for the EOB's. */
3575 b = (YY_BUFFER_STATE) dax_alloc(sizeof( struct yy_buffer_state ) );
3577 YY_FATAL_ERROR( "out of dynamic memory in dax__scan_buffer()" );
3579 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
3580 b->yy_buf_pos = b->yy_ch_buf = base;
3581 b->yy_is_our_buffer = 0;
3582 b->yy_input_file = 0;
3583 b->yy_n_chars = b->yy_buf_size;
3584 b->yy_is_interactive = 0;
3586 b->yy_fill_buffer = 0;
3587 b->yy_buffer_status = YY_BUFFER_NEW;
3589 dax__switch_to_buffer(b );
3594 /** Setup the input buffer state to scan a string. The next call to dax_lex() will
3595 * scan from a @e copy of @a str.
3596 * @param yystr a NUL-terminated string to scan
3598 * @return the newly allocated buffer state object.
3599 * @note If you want to scan bytes that may contain NUL values, then use
3600 * dax__scan_bytes() instead.
3602 YY_BUFFER_STATE dax__scan_string (yyconst char * yystr )
3605 return dax__scan_bytes(yystr,strlen(yystr) );
3608 /** Setup the input buffer state to scan the given bytes. The next call to dax_lex() will
3609 * scan from a @e copy of @a bytes.
3610 * @param yybytes the byte buffer to scan
3611 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
3613 * @return the newly allocated buffer state object.
3615 YY_BUFFER_STATE dax__scan_bytes (yyconst char * yybytes, int _yybytes_len )
3622 /* Get memory for full buffer, including space for trailing EOB's. */
3623 n = _yybytes_len + 2;
3624 buf = (char *) dax_alloc(n );
3626 YY_FATAL_ERROR( "out of dynamic memory in dax__scan_bytes()" );
3628 for ( i = 0; i < _yybytes_len; ++i )
3629 buf[i] = yybytes[i];
3631 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
3633 b = dax__scan_buffer(buf,n );
3635 YY_FATAL_ERROR( "bad buffer in dax__scan_bytes()" );
3637 /* It's okay to grow etc. this buffer, and we should throw it
3638 * away when we're done.
3640 b->yy_is_our_buffer = 1;
3645 static void yy_push_state (int new_state )
3647 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
3651 (yy_start_stack_depth) += YY_START_STACK_INCR;
3652 new_size = (yy_start_stack_depth) * sizeof( int );
3654 if ( ! (yy_start_stack) )
3655 (yy_start_stack) = (int *) dax_alloc(new_size );
3658 (yy_start_stack) = (int *) dax_realloc((void *) (yy_start_stack),new_size );
3660 if ( ! (yy_start_stack) )
3661 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
3664 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
3669 static void yy_pop_state (void)
3671 if ( --(yy_start_stack_ptr) < 0 )
3672 YY_FATAL_ERROR( "start-condition stack underflow" );
3674 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
3677 #ifndef YY_EXIT_FAILURE
3678 #define YY_EXIT_FAILURE 2
3681 static void yy_fatal_error (yyconst char* msg )
3683 (void) fprintf( stderr, "%s\n", msg );
3684 exit( YY_EXIT_FAILURE );
3687 /* Redefine yyless() so it works in section 3 code. */
3693 /* Undo effects of setting up dax_text. */ \
3694 int yyless_macro_arg = (n); \
3695 YY_LESS_LINENO(yyless_macro_arg);\
3696 dax_text[dax_leng] = (yy_hold_char); \
3697 (yy_c_buf_p) = dax_text + yyless_macro_arg; \
3698 (yy_hold_char) = *(yy_c_buf_p); \
3699 *(yy_c_buf_p) = '\0'; \
3700 dax_leng = yyless_macro_arg; \
3704 /* Accessor methods (get/set functions) to struct members. */
3706 /** Get the current line number.
3709 int dax_get_lineno (void)
3715 /** Get the input stream.
3718 FILE *dax_get_in (void)
3723 /** Get the output stream.
3726 FILE *dax_get_out (void)
3731 /** Get the length of the current token.
3734 int dax_get_leng (void)
3739 /** Get the current token.
3743 char *dax_get_text (void)
3748 /** Set the current line number.
3749 * @param line_number
3752 void dax_set_lineno (int line_number )
3755 dax_lineno = line_number;
3758 /** Set the input stream. This does not discard the current
3760 * @param in_str A readable stream.
3762 * @see dax__switch_to_buffer
3764 void dax_set_in (FILE * in_str )
3769 void dax_set_out (FILE * out_str )
3774 int dax_get_debug (void)
3776 return dax__flex_debug;
3779 void dax_set_debug (int bdebug )
3781 dax__flex_debug = bdebug ;
3784 static int yy_init_globals (void)
3786 /* Initialization is the same as for the non-reentrant scanner.
3787 * This function is called from dax_lex_destroy(), so don't allocate here.
3790 /* We do not touch dax_lineno unless the option is enabled. */
3793 (yy_buffer_stack) = 0;
3794 (yy_buffer_stack_top) = 0;
3795 (yy_buffer_stack_max) = 0;
3796 (yy_c_buf_p) = (char *) 0;
3800 (yy_start_stack_ptr) = 0;
3801 (yy_start_stack_depth) = 0;
3802 (yy_start_stack) = NULL;
3804 /* Defined in main.c */
3809 dax_in = (FILE *) 0;
3810 dax_out = (FILE *) 0;
3813 /* For future reference: Set errno on error, since we are called by
3819 /* dax_lex_destroy is for both reentrant and non-reentrant scanners. */
3820 int dax_lex_destroy (void)
3823 /* Pop the buffer stack, destroying each element. */
3824 while(YY_CURRENT_BUFFER){
3825 dax__delete_buffer(YY_CURRENT_BUFFER );
3826 YY_CURRENT_BUFFER_LVALUE = NULL;
3827 dax_pop_buffer_state();
3830 /* Destroy the stack itself. */
3831 dax_free((yy_buffer_stack) );
3832 (yy_buffer_stack) = NULL;
3834 /* Destroy the start condition stack. */
3835 dax_free((yy_start_stack) );
3836 (yy_start_stack) = NULL;
3838 /* Reset the globals. This is important in a non-reentrant scanner so the next time
3839 * dax_lex() is called, initialization will occur. */
3846 * Internal utility routines.
3850 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
3853 for ( i = 0; i < n; ++i )
3858 #ifdef YY_NEED_STRLEN
3859 static int yy_flex_strlen (yyconst char * s )
3862 for ( n = 0; s[n]; ++n )
3869 void *dax_alloc (yy_size_t size )
3871 return (void *) malloc( size );
3874 void *dax_realloc (void * ptr, yy_size_t size )
3876 /* The cast to (char *) in the following accommodates both
3877 * implementations that use char* generic pointers, and those
3878 * that use void* generic pointers. It works with the latter
3879 * because both ANSI C and C++ allow castless assignment from
3880 * any pointer type to void*, and deal with argument conversions
3881 * as though doing an assignment.
3883 return (void *) realloc( (char *) ptr, size );
3886 void dax_free (void * ptr )
3888 free( (char *) ptr ); /* see dax_realloc() for (char *) cast */
3891 #define YYTABLES_NAME "yytables"
3893 /* Element context stack lookup. */
3894 int dax__element_context(int i)
3896 return (0<i && i<yy_start_stack_depth
3897 ? yy_start_stack[yy_start_stack_ptr - i]
3902 void print_yy_stack(char* fmt, ...)
3904 int i = 0; va_list ap; va_start(ap, fmt);
3905 vfprintf(stderr, fmt, ap);
3906 if (dax__statenames) {
3907 for (i=1; i<yy_start_stack_ptr; i++) {
3908 fprintf(stderr, "%s/", dax__statenames[yy_start_stack[i] ]);
3910 fprintf(stderr,"%s\n", dax__statenames[YY_START]);
3915 void print_dax__bufferstack()
3918 fputs("Buffer: ", stderr);
3919 for (i = 0; i < blimit; i++) {
3920 if ( dax__bufferstack[i] == '\377' ) break;
3921 putc(dax__bufferstack[i], stderr);
3926 static void debug_enter(int state, const char* statename) {
3927 yy_push_state(state);
3928 if (dax__flex_debug) {
3929 print_yy_stack("--ENTER(%s) : ",statename);
3930 print_dax__bufferstack();
3934 static void debug_leave(void) {
3935 if (dax__flex_debug) {
3936 print_yy_stack("--LEAVE : ");
3937 print_dax__bufferstack();
3942 static void debug_set(int state, const char* statename) {
3944 if (dax__flex_debug) print_yy_stack("--SET(%s) : ",statename);
3948 static void cleanup(void)
3950 if (dax__statenames) {
3951 free(dax__statenames);
3952 dax__statenames = NULL;
3954 free(dax__bufferstack);
3955 dax__bufferstack = NULL;
3961 static int fail(const char* fmt, ...)
3963 int chars_left, used;
3964 va_list ap; va_start(ap, fmt);
3965 #ifdef FLEXML_yylineno
3966 used = sprintf(flexml_err_msg,
3967 "Invalid XML (XML input line %d, state %d): ",
3968 dax_lineno, YY_START);
3970 used = sprintf(flexml_err_msg,
3971 "Invalid XML (state %d): ",
3974 chars_left = flexml_max_err_msg_size - used - 1;
3975 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
3978 #ifndef FLEXML_quiet_parser
3979 /* print directly to sdterr */
3980 fprintf(stderr, "%s\n", flexml_err_msg);
3981 flexml_err_msg[0] = '\0';