Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
853e760e0c2d974b8edce3d3f39398e12d8da3a8
[simgrid.git] / src / simdag / dax_dtd.c
1
2 #define  YY_INT_ALIGNED short int
3
4 /* A lexical scanner generated by flex */
5
6 #define yy_create_buffer dax__create_buffer
7 #define yy_delete_buffer dax__delete_buffer
8 #define yy_scan_buffer dax__scan_buffer
9 #define yy_scan_string dax__scan_string
10 #define yy_scan_bytes dax__scan_bytes
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
15 #define yypush_buffer_state dax_push_buffer_state
16 #define yypop_buffer_state dax_pop_buffer_state
17 #define yyensure_buffer_stack dax_ensure_buffer_stack
18 #define yy_flex_debug dax__flex_debug
19 #define yyin dax_in
20 #define yyleng dax_leng
21 #define yylex dax_lex
22 #define yylineno dax_lineno
23 #define yyout dax_out
24 #define yyrestart dax_restart
25 #define yytext dax_text
26 #define yywrap dax_wrap
27 #define yyalloc dax_alloc
28 #define yyrealloc dax_realloc
29 #define yyfree dax_free
30
31 #define FLEX_SCANNER
32 #define YY_FLEX_MAJOR_VERSION 2
33 #define YY_FLEX_MINOR_VERSION 6
34 #define YY_FLEX_SUBMINOR_VERSION 4
35 #if YY_FLEX_SUBMINOR_VERSION > 0
36 #define FLEX_BETA
37 #endif
38
39 #ifdef yy_create_buffer
40 #define dax__create_buffer_ALREADY_DEFINED
41 #else
42 #define yy_create_buffer dax__create_buffer
43 #endif
44
45 #ifdef yy_delete_buffer
46 #define dax__delete_buffer_ALREADY_DEFINED
47 #else
48 #define yy_delete_buffer dax__delete_buffer
49 #endif
50
51 #ifdef yy_scan_buffer
52 #define dax__scan_buffer_ALREADY_DEFINED
53 #else
54 #define yy_scan_buffer dax__scan_buffer
55 #endif
56
57 #ifdef yy_scan_string
58 #define dax__scan_string_ALREADY_DEFINED
59 #else
60 #define yy_scan_string dax__scan_string
61 #endif
62
63 #ifdef yy_scan_bytes
64 #define dax__scan_bytes_ALREADY_DEFINED
65 #else
66 #define yy_scan_bytes dax__scan_bytes
67 #endif
68
69 #ifdef yy_init_buffer
70 #define dax__init_buffer_ALREADY_DEFINED
71 #else
72 #define yy_init_buffer dax__init_buffer
73 #endif
74
75 #ifdef yy_flush_buffer
76 #define dax__flush_buffer_ALREADY_DEFINED
77 #else
78 #define yy_flush_buffer dax__flush_buffer
79 #endif
80
81 #ifdef yy_load_buffer_state
82 #define dax__load_buffer_state_ALREADY_DEFINED
83 #else
84 #define yy_load_buffer_state dax__load_buffer_state
85 #endif
86
87 #ifdef yy_switch_to_buffer
88 #define dax__switch_to_buffer_ALREADY_DEFINED
89 #else
90 #define yy_switch_to_buffer dax__switch_to_buffer
91 #endif
92
93 #ifdef yypush_buffer_state
94 #define dax_push_buffer_state_ALREADY_DEFINED
95 #else
96 #define yypush_buffer_state dax_push_buffer_state
97 #endif
98
99 #ifdef yypop_buffer_state
100 #define dax_pop_buffer_state_ALREADY_DEFINED
101 #else
102 #define yypop_buffer_state dax_pop_buffer_state
103 #endif
104
105 #ifdef yyensure_buffer_stack
106 #define dax_ensure_buffer_stack_ALREADY_DEFINED
107 #else
108 #define yyensure_buffer_stack dax_ensure_buffer_stack
109 #endif
110
111 #ifdef yylex
112 #define dax_lex_ALREADY_DEFINED
113 #else
114 #define yylex dax_lex
115 #endif
116
117 #ifdef yyrestart
118 #define dax_restart_ALREADY_DEFINED
119 #else
120 #define yyrestart dax_restart
121 #endif
122
123 #ifdef yylex_init
124 #define dax_lex_init_ALREADY_DEFINED
125 #else
126 #define yylex_init dax_lex_init
127 #endif
128
129 #ifdef yylex_init_extra
130 #define dax_lex_init_extra_ALREADY_DEFINED
131 #else
132 #define yylex_init_extra dax_lex_init_extra
133 #endif
134
135 #ifdef yylex_destroy
136 #define dax_lex_destroy_ALREADY_DEFINED
137 #else
138 #define yylex_destroy dax_lex_destroy
139 #endif
140
141 #ifdef yyget_debug
142 #define dax_get_debug_ALREADY_DEFINED
143 #else
144 #define yyget_debug dax_get_debug
145 #endif
146
147 #ifdef yyset_debug
148 #define dax_set_debug_ALREADY_DEFINED
149 #else
150 #define yyset_debug dax_set_debug
151 #endif
152
153 #ifdef yyget_extra
154 #define dax_get_extra_ALREADY_DEFINED
155 #else
156 #define yyget_extra dax_get_extra
157 #endif
158
159 #ifdef yyset_extra
160 #define dax_set_extra_ALREADY_DEFINED
161 #else
162 #define yyset_extra dax_set_extra
163 #endif
164
165 #ifdef yyget_in
166 #define dax_get_in_ALREADY_DEFINED
167 #else
168 #define yyget_in dax_get_in
169 #endif
170
171 #ifdef yyset_in
172 #define dax_set_in_ALREADY_DEFINED
173 #else
174 #define yyset_in dax_set_in
175 #endif
176
177 #ifdef yyget_out
178 #define dax_get_out_ALREADY_DEFINED
179 #else
180 #define yyget_out dax_get_out
181 #endif
182
183 #ifdef yyset_out
184 #define dax_set_out_ALREADY_DEFINED
185 #else
186 #define yyset_out dax_set_out
187 #endif
188
189 #ifdef yyget_leng
190 #define dax_get_leng_ALREADY_DEFINED
191 #else
192 #define yyget_leng dax_get_leng
193 #endif
194
195 #ifdef yyget_text
196 #define dax_get_text_ALREADY_DEFINED
197 #else
198 #define yyget_text dax_get_text
199 #endif
200
201 #ifdef yyget_lineno
202 #define dax_get_lineno_ALREADY_DEFINED
203 #else
204 #define yyget_lineno dax_get_lineno
205 #endif
206
207 #ifdef yyset_lineno
208 #define dax_set_lineno_ALREADY_DEFINED
209 #else
210 #define yyset_lineno dax_set_lineno
211 #endif
212
213 #ifdef yywrap
214 #define dax_wrap_ALREADY_DEFINED
215 #else
216 #define yywrap dax_wrap
217 #endif
218
219 #ifdef yyalloc
220 #define dax_alloc_ALREADY_DEFINED
221 #else
222 #define yyalloc dax_alloc
223 #endif
224
225 #ifdef yyrealloc
226 #define dax_realloc_ALREADY_DEFINED
227 #else
228 #define yyrealloc dax_realloc
229 #endif
230
231 #ifdef yyfree
232 #define dax_free_ALREADY_DEFINED
233 #else
234 #define yyfree dax_free
235 #endif
236
237 #ifdef yytext
238 #define dax_text_ALREADY_DEFINED
239 #else
240 #define yytext dax_text
241 #endif
242
243 #ifdef yyleng
244 #define dax_leng_ALREADY_DEFINED
245 #else
246 #define yyleng dax_leng
247 #endif
248
249 #ifdef yyin
250 #define dax_in_ALREADY_DEFINED
251 #else
252 #define yyin dax_in
253 #endif
254
255 #ifdef yyout
256 #define dax_out_ALREADY_DEFINED
257 #else
258 #define yyout dax_out
259 #endif
260
261 #ifdef yy_flex_debug
262 #define dax__flex_debug_ALREADY_DEFINED
263 #else
264 #define yy_flex_debug dax__flex_debug
265 #endif
266
267 #ifdef yylineno
268 #define dax_lineno_ALREADY_DEFINED
269 #else
270 #define yylineno dax_lineno
271 #endif
272
273 /* First, we deal with  platform-specific or compiler-specific issues. */
274
275 /* begin standard C headers. */
276 #include <stdio.h>
277 #include <string.h>
278 #include <errno.h>
279 #include <stdlib.h>
280
281 /* end standard C headers. */
282
283 /* flex integer type definitions */
284
285 #ifndef FLEXINT_H
286 #define FLEXINT_H
287
288 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
289
290 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
291
292 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
293  * if you want the limit (max/min) macros for int types. 
294  */
295 #ifndef __STDC_LIMIT_MACROS
296 #define __STDC_LIMIT_MACROS 1
297 #endif
298
299 #include <inttypes.h>
300 typedef int8_t flex_int8_t;
301 typedef uint8_t flex_uint8_t;
302 typedef int16_t flex_int16_t;
303 typedef uint16_t flex_uint16_t;
304 typedef int32_t flex_int32_t;
305 typedef uint32_t flex_uint32_t;
306 #else
307 typedef signed char flex_int8_t;
308 typedef short int flex_int16_t;
309 typedef int flex_int32_t;
310 typedef unsigned char flex_uint8_t; 
311 typedef unsigned short int flex_uint16_t;
312 typedef unsigned int flex_uint32_t;
313
314 /* Limits of integral types. */
315 #ifndef INT8_MIN
316 #define INT8_MIN               (-128)
317 #endif
318 #ifndef INT16_MIN
319 #define INT16_MIN              (-32767-1)
320 #endif
321 #ifndef INT32_MIN
322 #define INT32_MIN              (-2147483647-1)
323 #endif
324 #ifndef INT8_MAX
325 #define INT8_MAX               (127)
326 #endif
327 #ifndef INT16_MAX
328 #define INT16_MAX              (32767)
329 #endif
330 #ifndef INT32_MAX
331 #define INT32_MAX              (2147483647)
332 #endif
333 #ifndef UINT8_MAX
334 #define UINT8_MAX              (255U)
335 #endif
336 #ifndef UINT16_MAX
337 #define UINT16_MAX             (65535U)
338 #endif
339 #ifndef UINT32_MAX
340 #define UINT32_MAX             (4294967295U)
341 #endif
342
343 #ifndef SIZE_MAX
344 #define SIZE_MAX               (~(size_t)0)
345 #endif
346
347 #endif /* ! C99 */
348
349 #endif /* ! FLEXINT_H */
350
351 /* begin standard C++ headers. */
352
353 /* TODO: this is always defined, so inline it */
354 #define yyconst const
355
356 #if defined(__GNUC__) && __GNUC__ >= 3
357 #define yynoreturn __attribute__((__noreturn__))
358 #else
359 #define yynoreturn
360 #endif
361
362 /* Returned upon end-of-file. */
363 #define YY_NULL 0
364
365 /* Promotes a possibly negative, possibly signed char to an
366  *   integer in range [0..255] for use as an array index.
367  */
368 #define YY_SC_TO_UI(c) ((YY_CHAR) (c))
369
370 /* Enter a start condition.  This macro really ought to take a parameter,
371  * but we do it the disgusting crufty way forced on us by the ()-less
372  * definition of BEGIN.
373  */
374 #define BEGIN (yy_start) = 1 + 2 *
375 /* Translate the current start state into a value that can be later handed
376  * to BEGIN to return to the state.  The YYSTATE alias is for lex
377  * compatibility.
378  */
379 #define YY_START (((yy_start) - 1) / 2)
380 #define YYSTATE YY_START
381 /* Action number for EOF rule of a given start state. */
382 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
383 /* Special action meaning "start processing a new file". */
384 #define YY_NEW_FILE yyrestart( yyin  )
385 #define YY_END_OF_BUFFER_CHAR 0
386
387 /* Size of default input buffer. */
388 #ifndef YY_BUF_SIZE
389 #ifdef __ia64__
390 /* On IA-64, the buffer size is 16k, not 8k.
391  * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
392  * Ditto for the __ia64__ case accordingly.
393  */
394 #define YY_BUF_SIZE 32768
395 #else
396 #define YY_BUF_SIZE 16384
397 #endif /* __ia64__ */
398 #endif
399
400 /* The state buf must be large enough to hold one state per character in the main buffer.
401  */
402 #define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
403
404 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
405 #define YY_TYPEDEF_YY_BUFFER_STATE
406 typedef struct yy_buffer_state *YY_BUFFER_STATE;
407 #endif
408
409 #ifndef YY_TYPEDEF_YY_SIZE_T
410 #define YY_TYPEDEF_YY_SIZE_T
411 typedef size_t yy_size_t;
412 #endif
413
414 extern int yyleng;
415
416 extern FILE *yyin, *yyout;
417
418 #define EOB_ACT_CONTINUE_SCAN 0
419 #define EOB_ACT_END_OF_FILE 1
420 #define EOB_ACT_LAST_MATCH 2
421     
422     /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
423      *       access to the local variable yy_act. Since yyless() is a macro, it would break
424      *       existing scanners that call yyless() from OUTSIDE yylex.
425      *       One obvious solution it to make yy_act a global. I tried that, and saw
426      *       a 5% performance hit in a non-yylineno scanner, because yy_act is
427      *       normally declared as a register variable-- so it is not worth it.
428      */
429     #define  YY_LESS_LINENO(n) \
430             do { \
431                 int yyl;\
432                 for ( yyl = n; yyl < yyleng; ++yyl )\
433                     if ( yytext[yyl] == '\n' )\
434                         --yylineno;\
435             }while(0)
436     #define YY_LINENO_REWIND_TO(dst) \
437             do {\
438                 const char *p;\
439                 for ( p = yy_cp-1; p >= (dst); --p)\
440                     if ( *p == '\n' )\
441                         --yylineno;\
442             }while(0)
443     
444 /* Return all but the first "n" matched characters back to the input stream. */
445 #define yyless(n) \
446         do \
447                 { \
448                 /* Undo effects of setting up yytext. */ \
449         int yyless_macro_arg = (n); \
450         YY_LESS_LINENO(yyless_macro_arg);\
451                 *yy_cp = (yy_hold_char); \
452                 YY_RESTORE_YY_MORE_OFFSET \
453                 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
454                 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
455                 } \
456         while ( 0 )
457 #define unput(c) yyunput( c, (yytext_ptr)  )
458
459 #ifndef YY_STRUCT_YY_BUFFER_STATE
460 #define YY_STRUCT_YY_BUFFER_STATE
461 struct yy_buffer_state
462         {
463         FILE *yy_input_file;
464
465         char *yy_ch_buf;                /* input buffer */
466         char *yy_buf_pos;               /* current position in input buffer */
467
468         /* Size of input buffer in bytes, not including room for EOB
469          * characters.
470          */
471         int yy_buf_size;
472
473         /* Number of characters read into yy_ch_buf, not including EOB
474          * characters.
475          */
476         int yy_n_chars;
477
478         /* Whether we "own" the buffer - i.e., we know we created it,
479          * and can realloc() it to grow it, and should free() it to
480          * delete it.
481          */
482         int yy_is_our_buffer;
483
484         /* Whether this is an "interactive" input source; if so, and
485          * if we're using stdio for input, then we want to use getc()
486          * instead of fread(), to make sure we stop fetching input after
487          * each newline.
488          */
489         int yy_is_interactive;
490
491         /* Whether we're considered to be at the beginning of a line.
492          * If so, '^' rules will be active on the next match, otherwise
493          * not.
494          */
495         int yy_at_bol;
496
497     int yy_bs_lineno; /**< The line count. */
498     int yy_bs_column; /**< The column count. */
499
500         /* Whether to try to fill the input buffer when we reach the
501          * end of it.
502          */
503         int yy_fill_buffer;
504
505         int yy_buffer_status;
506
507 #define YY_BUFFER_NEW 0
508 #define YY_BUFFER_NORMAL 1
509         /* When an EOF's been seen but there's still some text to process
510          * then we mark the buffer as YY_EOF_PENDING, to indicate that we
511          * shouldn't try reading from the input source any more.  We might
512          * still have a bunch of tokens to match, though, because of
513          * possible backing-up.
514          *
515          * When we actually see the EOF, we change the status to "new"
516          * (via yyrestart()), so that the user can continue scanning by
517          * just pointing yyin at a new input file.
518          */
519 #define YY_BUFFER_EOF_PENDING 2
520
521         };
522 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
523
524 /* Stack of input buffers. */
525 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
526 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
527 static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
528
529 /* We provide macros for accessing buffer states in case in the
530  * future we want to put the buffer states in a more general
531  * "scanner state".
532  *
533  * Returns the top of the stack, or NULL.
534  */
535 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
536                           ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
537                           : NULL)
538 /* Same as previous macro, but useful when we know that the buffer stack is not
539  * NULL or when we need an lvalue. For internal use only.
540  */
541 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
542
543 /* yy_hold_char holds the character lost when yytext is formed. */
544 static char yy_hold_char;
545 static int yy_n_chars;          /* number of characters read into yy_ch_buf */
546 int yyleng;
547
548 /* Points to current character in buffer. */
549 static char *yy_c_buf_p = NULL;
550 static int yy_init = 0;         /* whether we need to initialize */
551 static int yy_start = 0;        /* start state number */
552
553 /* Flag which is used to allow yywrap()'s to do buffer switches
554  * instead of setting up a fresh yyin.  A bit of a hack ...
555  */
556 static int yy_did_buffer_switch_on_eof;
557
558 void yyrestart ( FILE *input_file  );
559 void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer  );
560 YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size  );
561 void yy_delete_buffer ( YY_BUFFER_STATE b  );
562 void yy_flush_buffer ( YY_BUFFER_STATE b  );
563 void yypush_buffer_state ( YY_BUFFER_STATE new_buffer  );
564 void yypop_buffer_state ( void );
565
566 static void yyensure_buffer_stack ( void );
567 static void yy_load_buffer_state ( void );
568 static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file  );
569 #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
570
571 YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size  );
572 YY_BUFFER_STATE yy_scan_string ( const char *yy_str  );
573 YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len  );
574
575 void *yyalloc ( yy_size_t  );
576 void *yyrealloc ( void *, yy_size_t  );
577 void yyfree ( void *  );
578
579 #define yy_new_buffer yy_create_buffer
580 #define yy_set_interactive(is_interactive) \
581         { \
582         if ( ! YY_CURRENT_BUFFER ){ \
583         yyensure_buffer_stack (); \
584                 YY_CURRENT_BUFFER_LVALUE =    \
585             yy_create_buffer( yyin, YY_BUF_SIZE ); \
586         } \
587         YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
588         }
589 #define yy_set_bol(at_bol) \
590         { \
591         if ( ! YY_CURRENT_BUFFER ){\
592         yyensure_buffer_stack (); \
593                 YY_CURRENT_BUFFER_LVALUE =    \
594             yy_create_buffer( yyin, YY_BUF_SIZE ); \
595         } \
596         YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
597         }
598 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
599
600 /* Begin user sect3 */
601
602 #define dax_wrap() (/*CONSTCOND*/1)
603 #define YY_SKIP_YYWRAP
604 typedef flex_uint8_t YY_CHAR;
605
606 FILE *yyin = NULL, *yyout = NULL;
607
608 typedef int yy_state_type;
609
610 extern int yylineno;
611 int yylineno = 1;
612
613 extern char *yytext;
614 #ifdef yytext_ptr
615 #undef yytext_ptr
616 #endif
617 #define yytext_ptr yytext
618
619 static yy_state_type yy_get_previous_state ( void );
620 static yy_state_type yy_try_NUL_trans ( yy_state_type current_state  );
621 static int yy_get_next_buffer ( void );
622 static void yynoreturn yy_fatal_error ( const char* msg  );
623
624 /* Done after the current pattern has been matched and before the
625  * corresponding action - sets up yytext.
626  */
627 #define YY_DO_BEFORE_ACTION \
628         (yytext_ptr) = yy_bp; \
629         yyleng = (int) (yy_cp - yy_bp); \
630         (yy_hold_char) = *yy_cp; \
631         *yy_cp = '\0'; \
632         (yy_c_buf_p) = yy_cp;
633 #define YY_NUM_RULES 140
634 #define YY_END_OF_BUFFER 141
635 /* This struct is not used in this scanner,
636    but its presence is necessary. */
637 struct yy_trans_info
638         {
639         flex_int32_t yy_verify;
640         flex_int32_t yy_nxt;
641         };
642         static const flex_int16_t yy_accept[775] = {
643             0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
644             0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
645             0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
646             0,   0,   0,   0,   141, 139, 15,  10,  10,  15,  15,  119, 10,  119, 5,   6,   5,   8,   9,   8,   135,
647             127, 128, 136, 133, 136, 134, 138, 127, 128, 138, 139, 40,  10,  40,  40,  40,  38,
648
649             40,  40,  40,  40,  40,  40,  40,  44,  10,  44,  44,  139, 139, 44,  61,  10,  61,  61,  61,  59,  61,
650             61,  61,  61,  61,  65,  10,  65,  139, 65,  92,  10,  92,  92,  92,  90,  92,  92,  92,  92,  92,  92,
651             96,  10,  96,  103, 10,  103, 103, 103, 101, 103, 107, 10,  107, 139, 107, 114, 10,  114, 114, 114, 112,
652             114, 118, 10,  118, 136, 135, 10,  0,   2,   2,   0,   4,   7,   130, 129, 0,   0,   0,   0,   0,   0,
653             0,   39,  41,  41,  41,  41,  41,  41,  41,  41,  41,  41,  0,   0,   0,   0,
654
655             0,   0,   0,   0,   60,  62,  62,  62,  62,  62,  62,  0,   0,   91,  93,  93,  93,  93,  93,  93,  93,
656             93,  0,   102, 104, 104, 0,   0,   113, 115, 115, 0,   0,   0,   0,   0,   0,   0,   3,   0,   0,   0,
657             0,   0,   0,   0,   137, 0,   41,  41,  41,  41,  41,  41,  41,  41,  41,  0,   0,   0,   0,   0,   0,
658             0,   0,   0,   0,   0,   62,  62,  62,  62,  0,   0,   0,   93,  93,  93,  93,  93,  93,  93,  0,   0,
659             104, 0,   0,   0,   115, 0,   0,   0,   132, 0,   14,  1,   0,   0,   125, 0,
660
661             0,   0,   122, 121, 0,   0,   41,  41,  41,  41,  41,  41,  41,  41,  41,  0,   0,   43,  0,   0,   0,
662             46,  0,   0,   45,  0,   0,   48,  47,  62,  62,  62,  62,  0,   0,   64,  0,   0,   93,  93,  93,  93,
663             93,  93,  93,  0,   0,   95,  0,   0,   0,   0,   0,   106, 0,   0,   0,   0,   0,   0,   117, 0,   0,
664             0,   0,   126, 120, 0,   0,   17,  41,  41,  41,  41,  41,  0,   0,   41,  41,  41,  0,   16,  0,   46,
665             0,   66,  45,  0,   62,  0,   0,   62,  62,  62,  0,   67,  0,   0,   0,   0,
666
667             93,  93,  0,   0,   93,  0,   0,   0,   0,   100, 99,  0,   0,   0,   111, 110, 0,   0,   0,   0,   0,
668             12,  0,   123, 124, 17,  41,  0,   0,   41,  0,   0,   41,  0,   31,  30,  41,  0,   41,  0,   41,  0,
669             16,  98,  0,   66,  97,  0,   0,   0,   52,  51,  62,  62,  62,  0,   63,  67,  0,   69,  68,  0,   0,
670             0,   93,  93,  0,   89,  88,  93,  0,   87,  86,  0,   0,   0,   0,   0,   0,   0,   0,   11,  41,  0,
671             27,  26,  41,  0,   29,  28,  41,  41,  41,  0,   19,  18,  41,  0,   42,  98,
672
673             108, 97,  0,   58,  57,  62,  62,  62,  0,   0,   0,   0,   93,  93,  93,  0,   94,  0,   109, 0,   0,
674             0,   0,   0,   41,  41,  41,  0,   0,   41,  41,  108, 62,  0,   0,   0,   0,   0,   0,   0,   0,   93,
675             93,  93,  0,   105, 109, 0,   0,   0,   0,   0,   41,  41,  0,   0,   0,   25,  24,  41,  41,  62,  0,
676             56,  55,  0,   54,  53,  0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   116, 131, 0,   0,   0,
677             41,  0,   0,   0,   33,  32,  0,   0,   41,  0,   0,   0,   0,   0,   0,   0,
678
679             0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   35,  34,  0,   21,  20,  41,  0,
680             50,  49,  0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
681             0,   37,  36,  41,  71,  0,   70,  0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
682             0,   0,   41,  73,  72,  0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
683             41,  0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
684
685             0,   0,   0,   41,  0,   85,  0,   84,  0,   77,  0,   76,  0,   81,  0,   80,  0,   0,   0,   0,   0,
686             0,   41,  83,  82,  75,  74,  79,  78,  0,   0,   0,   12,  0,   12,  0,   41,  0,   0,   0,   0,   0,
687             41,  0,   0,   0,   0,   0,   11,  0,   23,  22,  0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
688             0,   0,   0,   0,   0,   0,   0,   0,   0,   13,  0};
689
690         static const YY_CHAR yy_ec[256] = {
691             0,  1,  1,  1,  1,  1,  1,  1,  1,  2,  3,  1,  2,  4,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
692             1,  1,  1,  1,  1,  1,  2,  5,  6,  7,  1,  1,  8,  9,  1,  1,  1,  1,  1,  10, 11, 12, 13, 13, 13, 13,
693             13, 13, 13, 13, 13, 13, 14, 15, 16, 17, 18, 19, 1,  20, 21, 22, 23, 24, 21, 25, 25, 25, 25, 25, 26, 27,
694             25, 28, 29, 25, 25, 30, 31, 25, 25, 25, 25, 32, 25, 33, 1,  34, 1,  25, 1,  35, 36, 37, 38,
695
696             39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 25, 57, 58, 59, 1,  1,  1,  1,
697             1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
698             1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
699             1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
700
701             1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
702             1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
703             1,  1,  1};
704
705         static const YY_CHAR yy_meta[60] = {0, 1, 2, 2, 2, 1, 1, 1, 1, 1, 3, 3, 1, 4, 5, 1, 1, 1, 6, 1,
706                                             7, 7, 7, 7, 7, 5, 5, 5, 5, 5, 5, 5, 5, 1, 1, 7, 7, 7, 7, 7,
707                                             7, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5};
708
709         static const flex_int16_t yy_base[814] = {
710             0,    0,    0,    0,    3,    6,    9,    24,   27,   11,   14,   15,   17,   29,   38,   45,   52,
711             59,   61,   67,   70,   95,   0,    73,   76,   153,  156,  159,  162,  177,  180,  183,  186,  201,
712             204,  207,  210,  226,  0,    284,  287,  290,  293,  308,  311,  314,  317,  333,  0,    391,  394,
713             410,  462,  429,  432,  435,  438,  481,  484,  487,  490,  514,  566,  533,  536,  585,  587,  1886,
714             2164, 2164, 397,  400,  47,   62,   2164, 453,  172,  2164, 2164, 1875, 2164, 2164, 1865, 2164, 1866,
715             1863, 551,  2164, 2164, 2164, 2164, 1861, 1861, 1829, 441,  2164, 505,  1844, 0,    196,  2164,
716
717             8,    1818, 1812, 1810, 1823, 1813, 35,   2164, 508,  593,  601,  589,  622,  630,  2164, 539,  1833,
718             0,    303,  2164, 1811, 1809, 1793, 1772, 1786, 2164, 542,  649,  657,  676,  2164, 551,  1798, 0,
719             442,  2164, 1772, 1770, 1750, 1760, 1751, 32,   2164, 557,  545,  2164, 607,  1775, 0,    494,  2164,
720             1752, 2164, 612,  684,  703,  711,  2164, 667,  1764, 0,    546,  2164, 1722, 2164, 733,  641,  1752,
721             1721, 739,  594,  1690, 2164, 1735, 1723, 2164, 2164, 2164, 2,    44,   1685, 1684, 1675, 1711, 1689,
722             2164, 0,    1678, 1663, 1670, 1677, 1676, 1664, 1658, 1650, 1652, 1658, 1650, 1645, 1636,
723
724             1645, 1626, 1628, 1630, 2164, 0,    747,  1615, 1618, 1615, 1610, 1616, 1599, 2164, 0,    1605, 1601,
725             1590, 1602, 1582, 1601, 1585, 1578, 2164, 0,    1588, 1590, 1590, 2164, 0,    1584, 1572, 1584, 1594,
726             1593, 1599, 431,  1554, 2164, 72,   0,    1549, 1549, 1581, 1576, 1541, 2164, 1553, 1540, 1535, 1533,
727             1528, 1544, 1525, 1503, 1507, 1539, 765,  768,  1517, 1507, 1509, 1488, 1500, 1501, 1486, 771,  775,
728             1489, 1487, 1467, 1467, 787,  790,  1479, 1477, 1470, 1470, 1459, 1462, 1445, 1429, 793,  796,  799,
729             815,  818,  1415, 821,  824,  827,  1443, 2164, 1446, 2164, 2164, 17,   1400, 2164, 1428,
730
731             1426, 1384, 2164, 2164, 1381, 1389, 1391, 1373, 1394, 1358, 1364, 844,  1368, 1357, 1344, 848,  851,
732             2164, 854,  1355, 1344, 861,  1350, 1318, 871,  1324, 874,  2164, 2164, 1322, 882,  1317, 1316, 888,
733             891,  2164, 894,  1301, 898,  901,  1304, 1295, 917,  1290, 920,  923,  929,  2164, 936,  940,  946,
734             956,  959,  2164, 962,  1301, 965,  981,  968,  989,  2164, 992,  1309, 616,  995,  2164, 2164, 1316,
735             1314, 998,  1302, 1013, 1274, 1016, 1266, 1019, 1022, 1269, 1035, 1279, 1038, 1043, 1274, 1051, 1253,
736             1055, 1058, 1262, 1061, 1064, 1067, 1248, 1246, 1243, 1080, 1083, 1086, 1090, 1098, 1102,
737
738             1242, 1231, 1110, 1114, 1244, 1122, 1126, 1134, 1138, 2164, 2164, 1146, 1234, 1151, 2164, 2164, 1159,
739             1257, 632,  1258, 1163, 2164, 1256, 2164, 2164, 1166, 1224, 1169, 1176, 1216, 1172, 1191, 1212, 1201,
740             2164, 2164, 1211, 1209, 1196, 1212, 1209, 1220, 1225, 1228, 1196, 1231, 1237, 1240, 1243, 1252, 2164,
741             2164, 1213, 1198, 1188, 1260, 2164, 1263, 1266, 2164, 2164, 1277, 124,  125,  1190, 1181, 1285, 2164,
742             2164, 1178, 1293, 2164, 2164, 1301, 1304, 1155, 1307, 1177, 578,  152,  5,    2164, 1151, 1311, 2164,
743             2164, 1153, 1324, 2164, 2164, 1145, 1332, 1143, 1335, 2164, 2164, 1152, 1343, 2164, 1348,
744
745             1354, 1360, 1363, 2164, 2164, 1153, 1371, 1374, 1140, 1129, 1135, 1104, 1112, 1104, 1099, 1377, 2164,
746             1380, 1383, 1390, 1126, 174,  158,  280,  1097, 1089, 1397, 1400, 1403, 1091, 1086, 1416, 1092, 1419,
747             1422, 1430, 1436, 1072, 1067, 1069, 1056, 1446, 1449, 1452, 1455, 2164, 1458, 1468, 1076, 1472, 176,
748             510,  1053, 1475, 1478, 1485, 1494, 2164, 2164, 1502, 1062, 1505, 1508, 2164, 2164, 1521, 2164, 2164,
749             1040, 1041, 1025, 1027, 1529, 1532, 1540, 1545, 1556, 1559, 1481, 2164, 2164, 1567, 287,  179,  1572,
750             1575, 1578, 1591, 2164, 2164, 1601, 1604, 1049, 1612, 1617, 1020, 1017, 997,  995,  1628,
751
752             633,  643,  1636, 651,  660,  1644, 670,  675,  412,  283,  538,  1652, 1655, 1664, 2164, 2164, 1672,
753             2164, 2164, 999,  1680, 2164, 2164, 1037, 981,  1025, 978,  994,  975,  977,  959,  974,  956,  971,
754             952,  968,  937,  953,  929,  605,  281,  434,  1688, 2164, 2164, 942,  2164, 972,  2164, 967,  927,
755             901,  907,  896,  900,  890,  890,  874,  882,  859,  867,  856,  611,  614,  1696, 875,  2164, 2164,
756             855,  820,  760,  773,  757,  770,  732,  713,  674,  686,  664,  670,  1699, 1702, 1705, 1722, 652,
757             659,  673,  619,  616,  541,  556,  495,  496,  463,  495,  419,  444,  1730, 1733, 1740,
758
759             1750, 1768, 1802, 381,  403,  2164, 399,  2164, 400,  2164, 396,  2164, 325,  2164, 319,  2164, 700,
760             1820, 657,  613,  1838, 1872, 274,  2164, 2164, 2164, 2164, 2164, 2164, 660,  727,  200,  301,  745,
761             295,  1760, 254,  726,  218,  202,  207,  1794, 1865, 480,  153,  1890, 1786, 738,  2164, 1828, 2164,
762             2164, 1763, 1893, 664,  742,  741,  769,  814,  822,  823,  826,  744,  797,  789,  863,  849,  850,
763             864,  898,  1906, 1910, 2164, 2164, 1928, 1935, 1942, 1949, 1956, 1963, 1970, 1977, 1984, 1991, 1998,
764             2005, 2012, 2019, 2024, 2029, 2034, 2039, 2044, 2051, 2054, 2057, 2060, 2063, 2066, 2073,
765
766             2077, 2083, 2089, 2095, 2101, 2107, 2114, 2121, 2128, 2135, 2142, 2149, 2156};
767
768         static const flex_int16_t yy_def[814] = {
769             0,   775, 775, 776, 776, 776, 776, 777, 777, 778, 778, 779, 779, 780, 780, 780, 780, 781, 781, 775, 775,
770             774, 21,  782, 782, 782, 782, 775, 775, 782, 782, 775, 775, 782, 782, 782, 782, 774, 37,  783, 783, 775,
771             775, 783, 783, 783, 783, 774, 47,  784, 784, 785, 785, 786, 786, 775, 775, 786, 786, 786, 786, 787, 787,
772             788, 788, 780, 780, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
773             774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 789, 774, 774,
774
775             789, 789, 789, 789, 789, 789, 789, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 790, 774, 774, 790,
776             790, 790, 790, 790, 774, 774, 774, 774, 774, 774, 774, 774, 791, 774, 774, 791, 791, 791, 791, 791, 791,
777             774, 774, 774, 774, 774, 774, 792, 774, 774, 792, 774, 774, 774, 774, 774, 774, 774, 774, 793, 774, 774,
778             793, 774, 774, 774, 774, 774, 774, 794, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
779             774, 774, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 795, 774, 774, 774,
780
781             774, 774, 774, 774, 774, 790, 790, 790, 790, 790, 790, 796, 774, 774, 791, 791, 791, 791, 791, 791, 791,
782             791, 797, 774, 792, 792, 798, 774, 774, 793, 793, 799, 774, 774, 800, 774, 800, 774, 774, 774, 801, 774,
783             774, 774, 774, 774, 774, 774, 789, 789, 789, 789, 789, 789, 789, 789, 789, 802, 802, 774, 774, 774, 774,
784             774, 774, 774, 774, 774, 790, 790, 790, 790, 803, 803, 774, 791, 791, 791, 791, 791, 791, 791, 804, 804,
785             792, 805, 805, 774, 793, 806, 806, 774, 774, 800, 774, 774, 800, 774, 774, 801,
786
787             774, 774, 774, 774, 774, 774, 789, 789, 789, 789, 789, 789, 789, 789, 789, 774, 802, 774, 802, 774, 774,
788             774, 774, 774, 774, 774, 774, 774, 774, 790, 790, 790, 790, 774, 803, 774, 803, 774, 791, 791, 791, 791,
789             791, 791, 791, 774, 804, 774, 804, 774, 774, 774, 805, 774, 805, 774, 774, 774, 774, 806, 774, 806, 774,
790             800, 807, 774, 774, 774, 774, 774, 789, 789, 789, 789, 789, 774, 774, 789, 789, 789, 802, 774, 774, 774,
791             774, 774, 774, 774, 790, 774, 774, 790, 790, 790, 803, 774, 774, 774, 774, 774,
792
793             791, 791, 774, 774, 791, 774, 774, 804, 774, 774, 774, 805, 774, 774, 774, 774, 806, 774, 800, 807, 807,
794             774, 807, 774, 774, 774, 789, 774, 774, 789, 774, 774, 789, 774, 774, 774, 789, 774, 789, 774, 789, 802,
795             774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 790, 790, 790, 774, 774, 774, 774, 774, 774, 774, 774,
796             774, 791, 791, 774, 774, 774, 791, 774, 774, 774, 804, 805, 774, 806, 774, 800, 807, 807, 774, 789, 774,
797             774, 774, 789, 774, 774, 774, 789, 789, 789, 774, 774, 774, 789, 774, 774, 774,
798
799             774, 774, 774, 774, 774, 790, 790, 790, 774, 774, 774, 774, 791, 791, 791, 774, 774, 805, 774, 806, 774,
800             800, 807, 807, 789, 789, 789, 774, 774, 789, 789, 774, 790, 774, 774, 774, 774, 774, 774, 774, 774, 791,
801             791, 791, 774, 774, 774, 806, 774, 800, 807, 807, 789, 789, 774, 774, 774, 774, 774, 789, 789, 790, 774,
802             774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 800, 807, 807,
803             789, 774, 774, 774, 774, 774, 774, 774, 789, 774, 774, 774, 774, 774, 774, 774,
804
805             774, 774, 774, 774, 774, 774, 774, 774, 800, 807, 807, 774, 774, 774, 774, 774, 774, 774, 774, 789, 774,
806             774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 800, 807, 807,
807             774, 774, 774, 789, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 800,
808             807, 807, 789, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 800, 807, 807, 807,
809             789, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 800, 807, 807,
810
811             807, 808, 809, 789, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 800, 807, 810, 811, 808,
812             809, 789, 774, 774, 774, 774, 774, 774, 800, 810, 807, 812, 811, 813, 807, 789, 800, 812, 774, 813, 807,
813             789, 800, 774, 774, 774, 800, 774, 774, 774, 774, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800,
814             800, 800, 800, 800, 800, 800, 800, 800, 800, 774, 0,   774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
815             774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
816
817             774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774};
818
819         static const flex_int16_t yy_nxt[2224] = {
820             0,   774, 70,  71,  70,  70,  71,  70,  70,  71,  70,  70,  71,  70,  78,  240, 72,  78,  81,  72,  81,
821             79,  73,  422, 79,  73,  75,  71,  75,  75,  71,  75,  84,  85,  82,  295, 82,  86,  87,  364, 76,  84,
822             85,  76,  524, 88,  86,  87,  84,  85,  188, 89,  171, 86,  88,  84,  85,  189, 89,  241, 86,  88,  91,
823             92,  91,  92,  172, 171, 88,  71,  71,  71,  71,  71,  71,  109, 71,  109, 109, 71,  109, 173, 195, 94,
824             221, 240, 94,  299, 196, 110, 222, 242, 110, 93,  243, 93,  95,  96,  71,  96,  95,
825
826             95,  95,  95,  95,  95,  95,  97,  95,  98,  95,  99,  95,  100, 95,  98,  98,  98,  98,  98,  98,  98,
827             98,  98,  98,  98,  98,  98,  95,  95,  98,  98,  101, 98,  98,  102, 98,  98,  103, 104, 98,  98,  98,
828             105, 98,  98,  98,  98,  98,  98,  98,  106, 107, 98,  98,  109, 71,  109, 109, 71,  109, 71,  71,  71,
829             71,  71,  71,  509, 511, 111, 422, 749, 111, 510, 512, 112, 422, 174, 112, 109, 71,  109, 109, 71,  109,
830             71,  71,  71,  71,  71,  71,  173, 295, 110, 422, 551, 110, 422, 550, 113, 523,
831
832             174, 113, 109, 71,  109, 109, 71,  109, 109, 71,  109, 109, 71,  109, 173, 740, 111, 422, 423, 111, 745,
833             611, 114, 740, 583, 114, 115, 116, 71,  116, 115, 115, 115, 115, 115, 115, 115, 117, 115, 118, 115, 119,
834             115, 120, 115, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 115, 115, 118, 118, 118,
835             118, 118, 118, 118, 118, 121, 118, 118, 122, 118, 123, 118, 118, 118, 124, 118, 118, 118, 125, 118, 118,
836             118, 127, 71,  127, 127, 71,  127, 71,  71,  71,  71,  71,  71,  422, 422, 128,
837
838             422, 743, 128, 740, 422, 129, 740, 174, 129, 127, 71,  127, 127, 71,  127, 127, 71,  127, 127, 71,  127,
839             173, 737, 128, 610, 641, 128, 729, 664, 130, 728, 552, 130, 131, 132, 71,  132, 131, 131, 131, 131, 131,
840             131, 131, 133, 131, 134, 131, 135, 131, 136, 131, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
841             134, 134, 131, 131, 134, 134, 134, 134, 134, 137, 134, 134, 134, 134, 134, 138, 134, 134, 139, 134, 134,
842             140, 141, 142, 134, 134, 134, 134, 134, 144, 71,  144, 144, 71,  144, 170, 170,
843
844             170, 170, 170, 170, 727, 726, 145, 725, 724, 145, 146, 147, 71,  147, 146, 146, 146, 146, 146, 146, 146,
845             148, 146, 723, 146, 150, 146, 151, 146, 295, 154, 71,  154, 154, 71,  154, 71,  71,  71,  71,  71,  71,
846             146, 146, 155, 174, 174, 155, 295, 640, 156, 422, 716, 156, 170, 170, 170, 715, 297, 173, 173, 152, 146,
847             147, 71,  147, 146, 146, 146, 146, 146, 146, 146, 148, 146, 185, 146, 150, 146, 151, 146, 665, 154, 71,
848             154, 154, 71,  154, 154, 71,  154, 154, 71,  154, 146, 146, 155, 295, 174, 155,
849
850             714, 713, 157, 748, 712, 157, 170, 170, 170, 170, 170, 170, 173, 152, 158, 159, 71,  159, 158, 158, 158,
851             158, 158, 158, 158, 160, 158, 422, 158, 162, 158, 163, 158, 711, 166, 71,  166, 166, 71,  166, 170, 170,
852             170, 170, 170, 170, 158, 158, 167, 174, 174, 167, 170, 170, 170, 422, 223, 179, 170, 170, 170, 710, 584,
853             173, 173, 164, 158, 159, 71,  159, 158, 158, 158, 158, 158, 158, 158, 160, 158, 709, 158, 162, 158, 163,
854             158, 180, 642, 84,  85,  84,  85,  181, 86,  174, 86,  295, 182, 174, 158, 158,
855
856             168, 183, 168, 236, 197, 174, 522, 173, 170, 170, 170, 173, 197, 170, 170, 170, 237, 164, 169, 173, 169,
857             732, 295, 198, 708, 204, 174, 198, 295, 199, 735, 422, 200, 295, 174, 198, 200, 199, 201, 663, 173, 197,
858             201, 202, 203, 174, 419, 202, 173, 295, 201, 681, 232, 174, 682, 202, 198, 707, 199, 173, 212, 174, 732,
859             479, 198, 203, 204, 173, 170, 170, 170, 201, 628, 203, 733, 173, 202, 295, 706, 201, 174, 295, 630, 198,
860             202, 204, 629, 212, 174, 738, 632, 198, 203, 204, 173, 227, 631, 705, 201, 634,
861
862             203, 757, 173, 213, 633, 704, 201, 174, 697, 636, 198, 213, 204, 635, 638, 174, 696, 295, 198, 203, 204,
863             173, 227, 637, 695, 201, 694, 203, 639, 173, 202, 730, 732, 228, 170, 170, 170, 198, 202, 204, 170, 170,
864             170, 295, 733, 198, 203, 204, 267, 267, 267, 693, 228, 732, 203, 295, 744, 202, 295, 295, 201, 295, 735,
865             268, 753, 202, 316, 316, 316, 316, 316, 316, 267, 267, 267, 759, 327, 327, 327, 758, 328, 765, 318, 329,
866             692, 318, 295, 268, 334, 334, 334, 334, 334, 334, 346, 346, 346, 346, 346, 346,
867
868             350, 350, 350, 760, 336, 319, 295, 336, 691, 690, 348, 689, 688, 348, 295, 351, 352, 352, 352, 352, 352,
869             352, 357, 357, 357, 359, 359, 359, 359, 359, 359, 295, 354, 763, 766, 354, 764, 358, 337, 295, 295, 361,
870             767, 295, 361, 376, 376, 376, 349, 316, 316, 316, 316, 316, 316, 316, 316, 316, 687, 355, 377, 362, 384,
871             384, 384, 318, 295, 295, 318, 771, 761, 318, 387, 387, 387, 327, 327, 327, 762, 328, 295, 295, 329, 390,
872             390, 390, 769, 770, 381, 334, 334, 334, 334, 334, 334, 334, 334, 334, 391, 397,
873
874             397, 397, 399, 399, 399, 336, 771, 686, 336, 685, 680, 336, 679, 678, 398, 295, 768, 400, 403, 403, 403,
875             406, 406, 406, 346, 346, 346, 677, 676, 395, 346, 346, 346, 404, 392, 675, 407, 346, 346, 346, 348, 350,
876             350, 350, 674, 673, 348, 409, 409, 409, 672, 410, 671, 348, 411, 670, 351, 352, 352, 352, 352, 352, 352,
877             352, 352, 352, 357, 357, 357, 359, 359, 359, 669, 354, 408, 668, 354, 667, 666, 354, 662, 358, 414, 414,
878             414, 361, 415, 661, 660, 416, 359, 359, 359, 359, 359, 359, 421, 421, 421, 426,
879
880             426, 426, 659, 658, 412, 657, 361, 656, 655, 361, 654, 653, 422, 423, 428, 428, 428, 431, 431, 431, 376,
881             376, 376, 434, 434, 434, 652, 435, 651, 429, 436, 650, 432, 649, 648, 377, 438, 438, 438, 316, 316, 316,
882             647, 417, 443, 443, 443, 646, 439, 627, 626, 440, 384, 384, 384, 318, 446, 446, 446, 387, 387, 387, 448,
883             448, 448, 390, 390, 390, 450, 450, 450, 625, 451, 624, 620, 452, 599, 449, 442, 598, 391, 456, 456, 456,
884             458, 458, 458, 397, 397, 397, 597, 459, 459, 459, 596, 460, 593, 457, 461, 399,
885
886             399, 399, 398, 462, 462, 462, 585, 463, 581, 572, 464, 403, 403, 403, 400, 467, 467, 467, 571, 468, 570,
887             569, 469, 406, 406, 406, 404, 471, 471, 471, 562, 472, 561, 560, 473, 346, 346, 346, 407, 409, 409, 409,
888             554, 410, 553, 549, 411, 352, 352, 352, 544, 348, 414, 414, 414, 543, 415, 542, 541, 416, 359, 359, 359,
889             354, 421, 421, 421, 426, 426, 426, 428, 428, 428, 431, 431, 431, 361, 484, 484, 484, 422, 485, 540, 539,
890             486, 429, 474, 538, 432, 533, 531, 475, 488, 488, 488, 530, 489, 477, 527, 490,
891
892             526, 480, 434, 434, 434, 525, 435, 521, 519, 436, 438, 438, 438, 494, 494, 494, 515, 495, 481, 514, 496,
893             498, 498, 498, 513, 440, 443, 443, 443, 500, 500, 500, 446, 446, 446, 508, 507, 499, 502, 502, 502, 448,
894             448, 448, 503, 503, 503, 506, 504, 501, 497, 505, 493, 450, 450, 450, 449, 451, 492, 491, 452, 456, 456,
895             456, 458, 458, 458, 459, 459, 459, 487, 460, 483, 482, 461, 422, 478, 457, 462, 462, 462, 476, 463, 470,
896             466, 464, 467, 467, 467, 465, 468, 455, 454, 469, 471, 471, 471, 453, 472, 447,
897
898             445, 473, 516, 516, 516, 352, 352, 352, 359, 359, 359, 444, 484, 484, 484, 441, 485, 437, 517, 486, 433,
899             354, 430, 427, 361, 488, 488, 488, 425, 489, 424, 418, 490, 528, 528, 528, 494, 494, 494, 413, 495, 518,
900             405, 496, 498, 498, 498, 402, 529, 500, 500, 500, 401, 396, 520, 532, 532, 532, 394, 393, 499, 502, 502,
901             502, 503, 503, 503, 389, 504, 388, 386, 505, 534, 534, 534, 536, 536, 536, 516, 516, 516, 545, 545, 545,
902             547, 547, 547, 535, 385, 383, 537, 359, 359, 359, 517, 382, 380, 546, 555, 555,
903
904             555, 528, 528, 528, 557, 557, 557, 361, 558, 379, 378, 559, 375, 556, 374, 373, 529, 532, 532, 532, 534,
905             534, 534, 563, 563, 563, 372, 564, 371, 370, 565, 536, 536, 536, 369, 535, 368, 566, 566, 566, 367, 567,
906             366, 548, 568, 365, 537, 573, 573, 573, 575, 575, 575, 577, 577, 577, 545, 545, 545, 547, 547, 547, 574,
907             295, 363, 576, 356, 345, 578, 579, 579, 579, 546, 582, 582, 582, 586, 586, 586, 555, 555, 555, 579, 579,
908             579, 580, 588, 588, 588, 295, 589, 587, 344, 590, 556, 557, 557, 557, 580, 558,
909
910             343, 342, 559, 591, 591, 591, 594, 594, 594, 563, 563, 563, 341, 564, 340, 339, 565, 338, 592, 333, 332,
911             595, 566, 566, 566, 331, 567, 330, 326, 568, 573, 573, 573, 600, 600, 600, 325, 601, 324, 323, 602, 575,
912             575, 575, 322, 574, 603, 603, 603, 321, 604, 320, 315, 605, 314, 313, 576, 577, 577, 577, 606, 606, 606,
913             312, 607, 311, 310, 608, 582, 582, 582, 309, 578, 612, 612, 612, 586, 586, 586, 614, 614, 614, 308, 615,
914             295, 307, 616, 306, 613, 305, 304, 587, 588, 588, 588, 303, 589, 302, 301, 590,
915
916             298, 609, 591, 591, 591, 617, 617, 617, 296, 618, 295, 293, 619, 594, 594, 594, 292, 592, 621, 621, 621,
917             291, 622, 289, 288, 623, 287, 285, 595, 600, 600, 600, 284, 601, 282, 281, 602, 603, 603, 603, 280, 604,
918             279, 278, 605, 606, 606, 606, 277, 607, 276, 275, 608, 612, 612, 612, 643, 643, 643, 274, 644, 272, 271,
919             645, 270, 614, 614, 614, 613, 615, 269, 266, 616, 617, 617, 617, 265, 618, 264, 263, 619, 621, 621, 621,
920             262, 622, 261, 260, 623, 643, 643, 643, 259, 644, 257, 256, 645, 683, 683, 683,
921
922             698, 698, 698, 699, 699, 699, 683, 683, 683, 255, 254, 253, 684, 422, 252, 251, 295, 250, 700, 422, 249,
923             684, 422, 701, 701, 701, 248, 702, 247, 246, 703, 698, 698, 698, 699, 699, 699, 245, 244, 422, 239, 718,
924             718, 718, 236, 719, 238, 295, 720, 700, 422, 701, 701, 701, 234, 702, 233, 422, 703, 717, 231, 742, 742,
925             742, 754, 754, 754, 422, 420, 420, 420, 420, 420, 420, 420, 420, 420, 422, 423, 420, 295, 229, 420, 420,
926             420, 422, 420, 750, 750, 750, 226, 751, 224, 220, 752, 742, 742, 742, 219, 218,
927
928             420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 422, 217, 420, 216, 214, 420, 420, 420, 422, 420,
929             718, 718, 718, 211, 719, 210, 209, 720, 750, 750, 750, 480, 751, 420, 420, 752, 422, 420, 420, 420, 420,
930             420, 736, 420, 420, 420, 208, 207, 420, 205, 194, 420, 420, 420, 422, 420, 193, 192, 191, 190, 186, 184,
931             178, 177, 178, 746, 746, 746, 177, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 736, 747, 176, 420,
932             175, 774, 420, 420, 420, 422, 420, 746, 746, 746, 754, 754, 754, 774, 755, 774,
933
934             774, 756, 774, 774, 420, 420, 747, 772, 772, 772, 295, 772, 772, 772, 774, 774, 774, 774, 774, 774, 774,
935             774, 774, 773, 774, 774, 774, 773, 68,  68,  68,  68,  68,  68,  68,  69,  69,  69,  69,  69,  69,  69,
936             74,  74,  74,  74,  74,  74,  74,  77,  77,  77,  77,  77,  77,  77,  80,  80,  80,  80,  80,  80,  80,
937             83,  83,  83,  83,  83,  83,  83,  90,  90,  90,  90,  90,  90,  90,  108, 108, 108, 108, 108, 108, 108,
938             126, 126, 126, 126, 126, 126, 126, 143, 143, 143, 143, 143, 143, 143, 149, 149,
939
940             149, 149, 149, 149, 149, 153, 153, 153, 153, 153, 153, 153, 161, 161, 161, 161, 161, 161, 161, 165, 165,
941             165, 165, 165, 165, 165, 187, 187, 187, 774, 187, 206, 206, 206, 774, 206, 215, 215, 215, 774, 215, 225,
942             225, 225, 774, 225, 230, 230, 230, 774, 230, 235, 235, 235, 235, 235, 774, 235, 258, 774, 258, 273, 774,
943             273, 283, 774, 283, 286, 774, 286, 290, 774, 290, 294, 294, 294, 294, 294, 294, 294, 300, 774, 774, 300,
944             317, 317, 317, 317, 317, 317, 335, 335, 335, 335, 335, 335, 347, 347, 347, 347,
945
946             347, 347, 353, 353, 353, 353, 353, 353, 360, 360, 360, 360, 360, 360, 420, 420, 420, 420, 420, 420, 420,
947             721, 721, 721, 721, 721, 721, 721, 722, 722, 722, 722, 722, 722, 722, 731, 731, 731, 731, 731, 731, 731,
948             734, 734, 734, 734, 734, 734, 734, 739, 739, 739, 739, 739, 739, 739, 741, 741, 741, 741, 741, 741, 741,
949             67,  774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
950             774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
951
952             774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
953             774, 774};
954
955         static const flex_int16_t yy_chk[2224] = {
956             0,   0,   3,   3,   3,   4,   4,   4,   5,   5,   5,   6,   6,   6,   9,   179, 3,   10,  11,  4,   12,
957             9,   5,   481, 10,  6,   7,   7,   7,   8,   8,   8,   13,  13,  11,  297, 12,  13,  13,  297, 7,   14,
958             14,  8,   481, 13,  14,  14,  15,  15,  101, 15,  72,  15,  14,  16,  16,  101, 16,  179, 16,  15,  17,
959             17,  18,  18,  72,  73,  16,  19,  19,  19,  20,  20,  20,  23,  23,  23,  24,  24,  24,  73,  107, 19,
960             142, 240, 20,  240, 107, 23,  142, 180, 24,  17,  180, 18,  21,  21,  21,  21,  21,
961
962             21,  21,  21,  21,  21,  21,  21,  21,  21,  21,  21,  21,  21,  21,  21,  21,  21,  21,  21,  21,  21,
963             21,  21,  21,  21,  21,  21,  21,  21,  21,  21,  21,  21,  21,  21,  21,  21,  21,  21,  21,  21,  21,
964             21,  21,  21,  21,  21,  21,  21,  21,  21,  21,  21,  21,  25,  25,  25,  26,  26,  26,  27,  27,  27,
965             28,  28,  28,  463, 464, 25,  480, 745, 26,  463, 464, 27,  523, 76,  28,  29,  29,  29,  30,  30,  30,
966             31,  31,  31,  32,  32,  32,  76,  522, 29,  551, 523, 30,  584, 522, 31,  480,
967
968             99,  32,  33,  33,  33,  34,  34,  34,  35,  35,  35,  36,  36,  36,  99,  741, 33,  732, 732, 34,  740,
969             584, 35,  739, 551, 36,  37,  37,  37,  37,  37,  37,  37,  37,  37,  37,  37,  37,  37,  37,  37,  37,
970             37,  37,  37,  37,  37,  37,  37,  37,  37,  37,  37,  37,  37,  37,  37,  37,  37,  37,  37,  37,  37,
971             37,  37,  37,  37,  37,  37,  37,  37,  37,  37,  37,  37,  37,  37,  37,  37,  37,  37,  37,  37,  37,
972             37,  39,  39,  39,  40,  40,  40,  41,  41,  41,  42,  42,  42,  524, 641, 39,
973
974             610, 737, 40,  735, 583, 41,  733, 119, 42,  43,  43,  43,  44,  44,  44,  45,  45,  45,  46,  46,  46,
975             119, 723, 43,  583, 610, 44,  715, 641, 45,  713, 524, 46,  47,  47,  47,  47,  47,  47,  47,  47,  47,
976             47,  47,  47,  47,  47,  47,  47,  47,  47,  47,  47,  47,  47,  47,  47,  47,  47,  47,  47,  47,  47,
977             47,  47,  47,  47,  47,  47,  47,  47,  47,  47,  47,  47,  47,  47,  47,  47,  47,  47,  47,  47,  47,
978             47,  47,  47,  47,  47,  47,  47,  47,  49,  49,  49,  50,  50,  50,  70,  70,
979
980             70,  71,  71,  71,  711, 709, 49,  707, 705, 50,  51,  51,  51,  51,  51,  51,  51,  51,  51,  51,  51,
981             51,  51,  704, 51,  51,  51,  51,  51,  609, 53,  53,  53,  54,  54,  54,  55,  55,  55,  56,  56,  56,
982             51,  51,  53,  94,  135, 54,  237, 609, 55,  642, 697, 56,  75,  75,  75,  696, 237, 94,  135, 51,  52,
983             52,  52,  52,  52,  52,  52,  52,  52,  52,  52,  52,  52,  94,  52,  52,  52,  52,  52,  642, 57,  57,
984             57,  58,  58,  58,  59,  59,  59,  60,  60,  60,  52,  52,  57,  744, 150, 58,
985
986             695, 694, 59,  744, 693, 60,  96,  96,  96,  109, 109, 109, 150, 52,  61,  61,  61,  61,  61,  61,  61,
987             61,  61,  61,  61,  61,  61,  552, 61,  61,  61,  61,  61,  692, 63,  63,  63,  64,  64,  64,  116, 116,
988             116, 127, 127, 127, 61,  61,  63,  145, 162, 64,  132, 132, 132, 611, 145, 86,  144, 144, 144, 691, 552,
989             145, 162, 61,  62,  62,  62,  62,  62,  62,  62,  62,  62,  62,  62,  62,  62,  690, 62,  62,  62,  62,
990             62,  86,  611, 65,  65,  66,  66,  86,  65,  112, 66,  479, 86,  110, 62,  62,
991
992             65,  86,  66,  171, 110, 111, 479, 112, 147, 147, 147, 110, 111, 154, 154, 154, 171, 62,  65,  111, 66,
993             720, 640, 112, 689, 112, 113, 110, 663, 110, 720, 664, 112, 364, 114, 111, 110, 111, 112, 640, 113, 114,
994             110, 112, 111, 167, 364, 110, 114, 419, 111, 663, 167, 128, 664, 111, 113, 688, 113, 167, 128, 129, 719,
995             419, 114, 113, 114, 128, 159, 159, 159, 113, 601, 114, 719, 129, 113, 730, 687, 114, 130, 755, 602, 128,
996             114, 128, 601, 130, 155, 730, 604, 129, 128, 129, 130, 155, 602, 686, 128, 605,
997
998             129, 755, 155, 128, 604, 685, 129, 156, 680, 607, 130, 129, 130, 605, 608, 157, 679, 717, 155, 130, 155,
999             156, 157, 607, 678, 130, 677, 155, 608, 157, 130, 717, 731, 155, 166, 166, 166, 156, 155, 156, 170, 170,
1000             170, 738, 731, 157, 156, 157, 207, 207, 207, 676, 156, 734, 157, 748, 738, 156, 757, 756, 157, 763, 734,
1001             207, 748, 157, 258, 258, 258, 259, 259, 259, 267, 267, 267, 757, 268, 268, 268, 756, 268, 763, 258, 268,
1002             675, 259, 758, 267, 273, 273, 273, 274, 274, 274, 283, 283, 283, 284, 284, 284,
1003
1004             285, 285, 285, 758, 273, 259, 765, 274, 674, 673, 283, 672, 671, 284, 764, 285, 286, 286, 286, 287, 287,
1005             287, 289, 289, 289, 290, 290, 290, 291, 291, 291, 759, 286, 761, 764, 287, 762, 289, 274, 760, 761, 290,
1006             765, 762, 291, 312, 312, 312, 284, 316, 316, 316, 317, 317, 317, 319, 319, 319, 670, 287, 312, 291, 322,
1007             322, 322, 316, 767, 768, 317, 769, 759, 319, 325, 325, 325, 327, 327, 327, 760, 327, 766, 769, 327, 331,
1008             331, 331, 767, 768, 319, 334, 334, 334, 335, 335, 335, 337, 337, 337, 331, 339,
1009
1010             339, 339, 340, 340, 340, 334, 770, 669, 335, 666, 662, 337, 661, 660, 339, 770, 766, 340, 343, 343, 343,
1011             345, 345, 345, 346, 346, 346, 659, 658, 337, 347, 347, 347, 343, 331, 657, 345, 349, 349, 349, 346, 350,
1012             350, 350, 656, 655, 347, 351, 351, 351, 654, 351, 653, 349, 351, 652, 350, 352, 352, 352, 353, 353, 353,
1013             355, 355, 355, 357, 357, 357, 359, 359, 359, 651, 352, 349, 650, 353, 648, 646, 355, 639, 357, 358, 358,
1014             358, 359, 358, 638, 637, 358, 360, 360, 360, 362, 362, 362, 365, 365, 365, 370,
1015
1016             370, 370, 636, 635, 355, 634, 360, 633, 632, 362, 631, 630, 365, 365, 372, 372, 372, 374, 374, 374, 376,
1017             376, 376, 377, 377, 377, 629, 377, 628, 372, 377, 627, 374, 626, 625, 376, 379, 379, 379, 381, 381, 381,
1018             624, 362, 382, 382, 382, 620, 379, 599, 598, 379, 384, 384, 384, 381, 386, 386, 386, 387, 387, 387, 389,
1019             389, 389, 390, 390, 390, 391, 391, 391, 597, 391, 596, 593, 391, 572, 389, 381, 571, 390, 395, 395, 395,
1020             396, 396, 396, 397, 397, 397, 570, 398, 398, 398, 569, 398, 561, 395, 398, 399,
1021
1022             399, 399, 397, 400, 400, 400, 553, 400, 549, 541, 400, 403, 403, 403, 399, 404, 404, 404, 540, 404, 539,
1023             538, 404, 406, 406, 406, 403, 407, 407, 407, 533, 407, 531, 530, 407, 408, 408, 408, 406, 409, 409, 409,
1024             526, 409, 525, 521, 409, 412, 412, 412, 515, 408, 414, 414, 414, 514, 414, 513, 512, 414, 417, 417, 417,
1025             412, 421, 421, 421, 426, 426, 426, 428, 428, 428, 431, 431, 431, 417, 429, 429, 429, 421, 429, 511, 510,
1026             429, 428, 408, 509, 431, 506, 497, 412, 432, 432, 432, 493, 432, 417, 491, 432,
1027
1028             487, 421, 434, 434, 434, 483, 434, 478, 476, 434, 438, 438, 438, 440, 440, 440, 470, 440, 421, 466, 440,
1029             442, 442, 442, 465, 438, 443, 443, 443, 444, 444, 444, 446, 446, 446, 455, 454, 442, 447, 447, 447, 448,
1030             448, 448, 449, 449, 449, 453, 449, 445, 441, 449, 439, 450, 450, 450, 448, 450, 437, 433, 450, 456, 456,
1031             456, 458, 458, 458, 459, 459, 459, 430, 459, 427, 423, 459, 420, 418, 456, 462, 462, 462, 413, 462, 405,
1032             402, 462, 467, 467, 467, 401, 467, 394, 393, 467, 471, 471, 471, 392, 471, 388,
1033
1034             385, 471, 474, 474, 474, 475, 475, 475, 477, 477, 477, 383, 484, 484, 484, 380, 484, 378, 474, 484, 375,
1035             475, 373, 371, 477, 488, 488, 488, 369, 488, 368, 363, 488, 492, 492, 492, 494, 494, 494, 356, 494, 475,
1036             344, 494, 498, 498, 498, 342, 492, 500, 500, 500, 341, 338, 477, 501, 501, 501, 333, 332, 498, 502, 502,
1037             502, 503, 503, 503, 330, 503, 326, 324, 503, 507, 507, 507, 508, 508, 508, 516, 516, 516, 518, 518, 518,
1038             519, 519, 519, 507, 323, 321, 508, 520, 520, 520, 516, 320, 315, 518, 527, 527,
1039
1040             527, 528, 528, 528, 529, 529, 529, 520, 529, 314, 313, 529, 311, 527, 310, 309, 528, 532, 532, 532, 534,
1041             534, 534, 535, 535, 535, 308, 535, 307, 306, 535, 536, 536, 536, 305, 534, 302, 537, 537, 537, 301, 537,
1042             300, 520, 537, 298, 536, 542, 542, 542, 543, 543, 543, 544, 544, 544, 545, 545, 545, 547, 547, 547, 542,
1043             294, 292, 543, 288, 282, 544, 548, 548, 548, 545, 550, 550, 550, 554, 554, 554, 555, 555, 555, 579, 579,
1044             579, 548, 556, 556, 556, 550, 556, 554, 281, 556, 555, 557, 557, 557, 579, 557,
1045
1046             280, 279, 557, 560, 560, 560, 562, 562, 562, 563, 563, 563, 278, 563, 277, 276, 563, 275, 560, 272, 271,
1047             562, 566, 566, 566, 270, 566, 269, 266, 566, 573, 573, 573, 574, 574, 574, 265, 574, 264, 263, 574, 575,
1048             575, 575, 262, 573, 576, 576, 576, 261, 576, 260, 257, 576, 256, 255, 575, 577, 577, 577, 578, 578, 578,
1049             254, 578, 253, 252, 578, 582, 582, 582, 251, 577, 585, 585, 585, 586, 586, 586, 587, 587, 587, 250, 587,
1050             582, 249, 587, 248, 585, 246, 245, 586, 588, 588, 588, 244, 588, 243, 242, 588,
1051
1052             238, 582, 591, 591, 591, 592, 592, 592, 236, 592, 235, 234, 592, 594, 594, 594, 233, 591, 595, 595, 595,
1053             232, 595, 231, 228, 595, 227, 226, 594, 600, 600, 600, 223, 600, 222, 221, 600, 603, 603, 603, 220, 603,
1054             219, 218, 603, 606, 606, 606, 217, 606, 216, 213, 606, 612, 612, 612, 613, 613, 613, 212, 613, 211, 210,
1055             613, 209, 614, 614, 614, 612, 614, 208, 204, 614, 617, 617, 617, 203, 617, 202, 201, 617, 621, 621, 621,
1056             200, 621, 199, 198, 621, 643, 643, 643, 197, 643, 196, 195, 643, 665, 665, 665,
1057
1058             681, 681, 681, 682, 682, 682, 683, 683, 683, 194, 193, 192, 665, 665, 191, 190, 681, 189, 682, 682, 188,
1059             683, 683, 684, 684, 684, 185, 684, 184, 183, 684, 698, 698, 698, 699, 699, 699, 182, 181, 684, 175, 700,
1060             700, 700, 174, 700, 172, 698, 700, 699, 699, 701, 701, 701, 169, 701, 168, 700, 701, 698, 164, 736, 736,
1061             736, 753, 753, 753, 701, 702, 702, 702, 702, 702, 702, 702, 702, 702, 736, 736, 702, 753, 160, 702, 702,
1062             702, 702, 702, 747, 747, 747, 152, 747, 148, 141, 747, 742, 742, 742, 140, 139,
1063
1064             702, 702, 703, 703, 703, 703, 703, 703, 703, 703, 703, 742, 138, 703, 137, 133, 703, 703, 703, 703, 703,
1065             718, 718, 718, 125, 718, 124, 123, 718, 750, 750, 750, 742, 750, 703, 703, 750, 718, 721, 721, 721, 721,
1066             721, 721, 721, 721, 721, 122, 121, 721, 117, 106, 721, 721, 721, 721, 721, 105, 104, 103, 102, 97,  93,
1067             92,  91,  85,  743, 743, 743, 84,  721, 721, 722, 722, 722, 722, 722, 722, 722, 722, 722, 743, 82,  722,
1068             79,  67,  722, 722, 722, 722, 722, 746, 746, 746, 754, 754, 754, 0,   754, 0,
1069
1070             0,   754, 0,   0,   722, 722, 746, 771, 771, 771, 754, 772, 772, 772, 0,   0,   0,   0,   0,   0,   0,
1071             0,   0,   771, 0,   0,   0,   772, 775, 775, 775, 775, 775, 775, 775, 776, 776, 776, 776, 776, 776, 776,
1072             777, 777, 777, 777, 777, 777, 777, 778, 778, 778, 778, 778, 778, 778, 779, 779, 779, 779, 779, 779, 779,
1073             780, 780, 780, 780, 780, 780, 780, 781, 781, 781, 781, 781, 781, 781, 782, 782, 782, 782, 782, 782, 782,
1074             783, 783, 783, 783, 783, 783, 783, 784, 784, 784, 784, 784, 784, 784, 785, 785,
1075
1076             785, 785, 785, 785, 785, 786, 786, 786, 786, 786, 786, 786, 787, 787, 787, 787, 787, 787, 787, 788, 788,
1077             788, 788, 788, 788, 788, 789, 789, 789, 0,   789, 790, 790, 790, 0,   790, 791, 791, 791, 0,   791, 792,
1078             792, 792, 0,   792, 793, 793, 793, 0,   793, 794, 794, 794, 794, 794, 0,   794, 795, 0,   795, 796, 0,
1079             796, 797, 0,   797, 798, 0,   798, 799, 0,   799, 800, 800, 800, 800, 800, 800, 800, 801, 0,   0,   801,
1080             802, 802, 802, 802, 802, 802, 803, 803, 803, 803, 803, 803, 804, 804, 804, 804,
1081
1082             804, 804, 805, 805, 805, 805, 805, 805, 806, 806, 806, 806, 806, 806, 807, 807, 807, 807, 807, 807, 807,
1083             808, 808, 808, 808, 808, 808, 808, 809, 809, 809, 809, 809, 809, 809, 810, 810, 810, 810, 810, 810, 810,
1084             811, 811, 811, 811, 811, 811, 811, 812, 812, 812, 812, 812, 812, 812, 813, 813, 813, 813, 813, 813, 813,
1085             774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
1086             774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
1087
1088             774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
1089             774, 774};
1090
1091         /* Table of booleans, true if rule could match eol. */
1092         static const flex_int32_t yy_rule_can_match_eol[141] = {
1093             0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1094             1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1,
1095             1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0,
1096             1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0,
1097         };
1098
1099         static yy_state_type yy_last_accepting_state;
1100         static char* yy_last_accepting_cpos;
1101
1102         extern int yy_flex_debug;
1103         int yy_flex_debug = 0;
1104
1105         /* The intent behind this definition is that it'll catch
1106          * any uses of REJECT which flex missed.
1107          */
1108 #define REJECT reject_used_but_not_detected
1109 #define yymore() yymore_used_but_not_detected
1110 #define YY_MORE_ADJ 0
1111 #define YY_RESTORE_YY_MORE_OFFSET
1112 char *yytext;
1113 /* Validating XML processor for src/simdag/dax.dtd.
1114  *
1115  * This program was generated with the FleXML XML processor generator.
1116  * FleXML is Copyright (C) 1999-2005 Kristoffer Rose.  All rights reserved.
1117  * FleXML is Copyright (C) 2003-2013 Martin Quinson.  All rights reserved.
1118  * (1.9.6).
1119  * 
1120  * There are two, intertwined parts to this program, part A and part B.
1121  *
1122  * Part A
1123  * ------
1124  * 
1125  * Some parts, here collectively called "Part A", are found in the 
1126  * FleXML package.  They are Copyright (C) 1999-2005 Kristoffer Rose
1127  * and Copyright (C) 2003-2013 Martin Quinson. All rights reserved.
1128  *
1129  * You can redistribute, use, perform, display and/or modify "Part A"
1130  * provided the following two conditions hold:
1131  *
1132  * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
1133  *    FleXML; without even the implied warranty of MERCHANTABILITY or
1134  *    FITNESS FOR A PARTICULAR PURPOSE.
1135  *
1136  * 2. The program distribution conditions do not in any way affect the
1137  *    distribution conditions of the FleXML system used to generate this
1138  *    file or any version of FleXML derived from that system.
1139  *
1140  * Notice that these are explicit rights granted to you for files
1141  * generated by the FleXML system.  For your rights in connection with
1142  * the FleXML system itself please consult the GNU General Public License.
1143  * 
1144  * Part B
1145  * ------
1146  * 
1147  * The other parts, here collectively called "Part B", and which came 
1148  * from the DTD used by FleXML to generate this program, can be 
1149  * distributed (or not, as the case may be) under the terms of whoever
1150  * wrote them, provided these terms respect and obey the two conditions 
1151  * above under the heading "Part A".
1152  *
1153  * The author of and contributors to FleXML specifically disclaim
1154  * any copyright interest in "Part B", unless "Part B" was written 
1155  * by the author of or contributors to FleXML.
1156  * 
1157  */
1158
1159 /* Version strings. */
1160 const char dax__flexml_version[] = "1.9.6";
1161
1162 /* ANSI headers. */
1163 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
1164 #include <stdio.h>
1165 #include <string.h>
1166 #include <assert.h>
1167 #include <stdarg.h>
1168 #include <ctype.h>
1169      
1170 #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
1171 # ifndef __STRICT_ANSI__
1172 #  include <io.h>
1173 #  include <process.h>
1174 # endif
1175 #else
1176 # include <unistd.h>
1177 #endif
1178      
1179 #ifndef FLEXML_INDEXSTACKSIZE
1180 #define FLEXML_INDEXSTACKSIZE 1000
1181 #endif
1182
1183 /* Generated definitions. */
1184 #define FLEXML_yylineno
1185 #ifndef FLEXML_BUFFERSTACKSIZE
1186 #define FLEXML_BUFFERSTACKSIZE 1000000
1187 #endif
1188 #define FLEXML_NEED_BUFFERLIT
1189
1190 /* XML processor api. */
1191 /* FleXML-provided data. */
1192 int dax__pcdata_ix;
1193 extern char *dax__bufferstack;
1194 #define dax__pcdata (dax__bufferstack + dax__pcdata_ix)
1195 AT_dax__job_name AX_dax__job_name;
1196 #define A_dax__job_name (dax__bufferstack + AX_dax__job_name)
1197 short int dax__job_name_isset;
1198 AT_dax__uses_link AX_dax__uses_link;
1199 #define A_dax__uses_link AX_dax__uses_link
1200 short int dax__uses_link_isset;
1201 AT_dax__uses_transfer AX_dax__uses_transfer;
1202 #define A_dax__uses_transfer AX_dax__uses_transfer
1203 short int dax__uses_transfer_isset;
1204 AT_dax__adag_xmlns_c_xsi AX_dax__adag_xmlns_c_xsi;
1205 #define A_dax__adag_xmlns_c_xsi (dax__bufferstack + AX_dax__adag_xmlns_c_xsi)
1206 short int dax__adag_xmlns_c_xsi_isset;
1207 AT_dax__uses_optional AX_dax__uses_optional;
1208 #define A_dax__uses_optional AX_dax__uses_optional
1209 short int dax__uses_optional_isset;
1210 AT_dax__parent_ref AX_dax__parent_ref;
1211 #define A_dax__parent_ref (dax__bufferstack + AX_dax__parent_ref)
1212 short int dax__parent_ref_isset;
1213 AT_dax__uses_register AX_dax__uses_register;
1214 #define A_dax__uses_register AX_dax__uses_register
1215 short int dax__uses_register_isset;
1216 AT_dax__uses_file AX_dax__uses_file;
1217 #define A_dax__uses_file (dax__bufferstack + AX_dax__uses_file)
1218 short int dax__uses_file_isset;
1219 AT_dax__uses_type AX_dax__uses_type;
1220 #define A_dax__uses_type (dax__bufferstack + AX_dax__uses_type)
1221 short int dax__uses_type_isset;
1222 AT_dax__adag_xmlns AX_dax__adag_xmlns;
1223 #define A_dax__adag_xmlns (dax__bufferstack + AX_dax__adag_xmlns)
1224 short int dax__adag_xmlns_isset;
1225 AT_dax__adag_fileCount AX_dax__adag_fileCount;
1226 #define A_dax__adag_fileCount (dax__bufferstack + AX_dax__adag_fileCount)
1227 short int dax__adag_fileCount_isset;
1228 AT_dax__job_version AX_dax__job_version;
1229 #define A_dax__job_version (dax__bufferstack + AX_dax__job_version)
1230 short int dax__job_version_isset;
1231 AT_dax__adag_count AX_dax__adag_count;
1232 #define A_dax__adag_count (dax__bufferstack + AX_dax__adag_count)
1233 short int dax__adag_count_isset;
1234 AT_dax__child_ref AX_dax__child_ref;
1235 #define A_dax__child_ref (dax__bufferstack + AX_dax__child_ref)
1236 short int dax__child_ref_isset;
1237 AT_dax__adag_xsi_c_schemaLocation AX_dax__adag_xsi_c_schemaLocation;
1238 #define A_dax__adag_xsi_c_schemaLocation (dax__bufferstack + AX_dax__adag_xsi_c_schemaLocation)
1239 short int dax__adag_xsi_c_schemaLocation_isset;
1240 AT_dax__job_runtime AX_dax__job_runtime;
1241 #define A_dax__job_runtime (dax__bufferstack + AX_dax__job_runtime)
1242 short int dax__job_runtime_isset;
1243 AT_dax__adag_childCount AX_dax__adag_childCount;
1244 #define A_dax__adag_childCount (dax__bufferstack + AX_dax__adag_childCount)
1245 short int dax__adag_childCount_isset;
1246 AT_dax__uses_size AX_dax__uses_size;
1247 #define A_dax__uses_size (dax__bufferstack + AX_dax__uses_size)
1248 short int dax__uses_size_isset;
1249 AT_dax__job_namespace AX_dax__job_namespace;
1250 #define A_dax__job_namespace (dax__bufferstack + AX_dax__job_namespace)
1251 short int dax__job_namespace_isset;
1252 AT_dax__adag_jobCount AX_dax__adag_jobCount;
1253 #define A_dax__adag_jobCount (dax__bufferstack + AX_dax__adag_jobCount)
1254 short int dax__adag_jobCount_isset;
1255 AT_dax__job_id AX_dax__job_id;
1256 #define A_dax__job_id (dax__bufferstack + AX_dax__job_id)
1257 short int dax__job_id_isset;
1258 AT_dax__job_level AX_dax__job_level;
1259 #define A_dax__job_level (dax__bufferstack + AX_dax__job_level)
1260 short int dax__job_level_isset;
1261 AT_dax__adag_index AX_dax__adag_index;
1262 #define A_dax__adag_index (dax__bufferstack + AX_dax__adag_index)
1263 short int dax__adag_index_isset;
1264 AT_dax__adag_name AX_dax__adag_name;
1265 #define A_dax__adag_name (dax__bufferstack + AX_dax__adag_name)
1266 short int dax__adag_name_isset;
1267 AT_dax__adag_version AX_dax__adag_version;
1268 #define A_dax__adag_version (dax__bufferstack + AX_dax__adag_version)
1269 short int dax__adag_version_isset;
1270
1271 /* XML state. */
1272 #ifdef FLEX_DEBUG
1273 # define ENTER(state)   debug_enter(state,#state)
1274 # define LEAVE          debug_leave()
1275 # define SET(state)     debug_set(state,#state)
1276   static void debug_enter(int, const char*);
1277   static void debug_leave(void);
1278   static void debug_set(int, const char*);
1279 #else
1280 # define ENTER(state)   (yy_push_state(state))
1281 # define LEAVE          (yy_pop_state())
1282 # define SET(state)     BEGIN(state)
1283 #endif
1284
1285 /* Generic actions. */
1286 #define SKIP    /*skip*/
1287 #define SUCCEED        CLEANUP; return 0
1288
1289 #define FAIL    return fail
1290 static int fail(const char*, ...);
1291
1292 enum {flexml_max_err_msg_size = 512};
1293 static char flexml_err_msg[flexml_max_err_msg_size];
1294 const char * dax__parse_err_msg()
1295 {
1296     return flexml_err_msg;
1297 }
1298 static void reset_dax__parse_err_msg()
1299 {
1300     flexml_err_msg[0] = '\0';
1301 }
1302
1303 /* Cleanup */
1304 static void cleanup(void);
1305 #define CLEANUP  cleanup()
1306
1307 /* Text buffer stack handling. */
1308 char *dax__bufferstack = NULL;
1309 static int blimit = FLEXML_BUFFERSTACKSIZE;
1310 static int bnext = 1;
1311
1312 static int *indexstack = NULL;
1313 static int ilimit = FLEXML_INDEXSTACKSIZE;
1314 static int inext = 1;
1315
1316 #define BUFFERSET(P)  (P = bnext)
1317 #define BUFFERPUTC(C) (ck_blimit(), dax__bufferstack[bnext++] = (C))
1318 #define BUFFERDONE    (BUFFERPUTC('\0'))
1319
1320 #define BUFFERLITERAL(C, P) dax__bufferliteral(C, &(P), yytext)
1321
1322 /* after this is called, there are at least 2 slots left in the stack */
1323 static int ck_blimit()
1324 {
1325      if (bnext >= blimit) {
1326          blimit += FLEXML_BUFFERSTACKSIZE + 2;
1327          {
1328              char *temp = (char *) realloc(dax__bufferstack, blimit);
1329              assert(temp);
1330              dax__bufferstack = temp;
1331          }
1332      }
1333      return 0;
1334 }
1335
1336 /* after this is called, there are at least 2 slots left in the stack */
1337 static int ck_ilimit()
1338 {
1339      if (inext >= ilimit) {
1340          ilimit += FLEXML_INDEXSTACKSIZE + 2;
1341          {
1342              int *temp = (int *) realloc(indexstack, ilimit);
1343              assert(temp);
1344              indexstack = temp;
1345          }
1346      }
1347      return 0;
1348 }
1349
1350 #ifdef FLEXML_NEED_BUFFERLIT
1351 static void dax__bufferliteral(char c, int* pp, const char* text)
1352 {
1353    BUFFERSET(*pp);
1354    if (c) {
1355       const char *s = strchr(text, c), *e = strrchr(text, c);
1356       assert(s && e && s <= e);
1357       ++s;
1358       while (s < e) {
1359          if (isspace(*s)) {
1360             BUFFERPUTC(' ');
1361             do ++s; while (s < e && isspace(*s));
1362          } else
1363            BUFFERPUTC(*s++);
1364       }
1365    } else {
1366       const char *s = text;
1367       while (*s)
1368         BUFFERPUTC(*s++);
1369    }
1370    BUFFERDONE;
1371 }
1372 #endif
1373
1374 static void pushbuffer(int p)
1375 {
1376     ck_ilimit();
1377     indexstack[inext++] = p;
1378     indexstack[inext++] = bnext;    
1379 }
1380
1381 static int popbuffer(void)
1382 {
1383     assert(inext >= 2);
1384     bnext = indexstack[--inext];
1385     return indexstack[--inext];
1386 }
1387
1388 /* General internal entities are `unput' back onto the input stream... */
1389 #define ENTITYTEXT(T) \
1390   { char *s = (T), *e = s+strlen(s);\
1391     while (--e >= s) { unput(*e); }}
1392
1393 /* Flex standard options. */
1394 #define YY_NO_INPUT 1
1395 /* Flex user-requested options. */
1396 /* XML character classes (currently restricted to ASCII). */
1397 /* "Common syntactic structures." */
1398 /* "Names and Tokens." */
1399 /* Miscellaneous. */
1400 /* Parser states (flex `exclusive start conditions'):
1401  *
1402  * PROLOG       the XML prolog of the document before <?xml...>
1403  * DOCTYPE      the XML prolog of the document after <?xml...>
1404  * EPILOG       after the root element
1405  * INCOMMENT    inside an XML comment <!--....-->
1406  * INPI         inside an XML PI <?...?>
1407  * VALUE1       inside a '...'-delimited literal
1408  * VALUE2       inside a "..."-delimited literal
1409  * CDATA        inside a <![CDATA[...] ]> section.
1410  * ROOT_<tag>   expect root element <tag>
1411  * AL_<tag>     inside the attribute list for <tag>
1412  * IN_<tag>     inside a <tag> with element contents (ready for end tag)
1413  * IMPOSSIBLE   dummy to permit disabling rules; must be last
1414  */
1415
1416 /* State names. */
1417 const char* *dax__statenames=NULL;
1418
1419 #define INITIAL 0
1420 #define PROLOG 1
1421 #define DOCTYPE 2
1422 #define EPILOG 3
1423 #define INCOMMENT 4
1424 #define INPI 5
1425 #define VALUE1 6
1426 #define VALUE2 7
1427 #define CDATA 8
1428 #define ROOT_dax__adag 9
1429 #define AL_dax__adag 10
1430 #define S_dax__adag 11
1431 #define S_dax__adag_1 12
1432 #define S_dax__adag_2 13
1433 #define S_dax__adag_3 14
1434 #define S_dax__adag_4 15
1435 #define S_dax__adag_5 16
1436 #define E_dax__adag 17
1437 #define AL_dax__job 18
1438 #define S_dax__job 19
1439 #define S_dax__job_1 20
1440 #define S_dax__job_2 21
1441 #define E_dax__job 22
1442 #define AL_dax__uses 23
1443 #define E_dax__uses 24
1444 #define AL_dax__child 25
1445 #define S_dax__child 26
1446 #define S_dax__child_1 27
1447 #define S_dax__child_2 28
1448 #define E_dax__child 29
1449 #define AL_dax__parent 30
1450 #define E_dax__parent 31
1451 #define IMPOSSIBLE 32
1452
1453 #ifndef YY_NO_UNISTD_H
1454 /* Special case for "unistd.h", since it is non-ANSI. We include it way
1455  * down here because we want the user's section 1 to have been scanned first.
1456  * The user has a chance to override it with an option.
1457  */
1458 #if defined(_WIN32)
1459 #  ifndef __STRICT_ANSI__
1460 #    include <io.h>
1461 #    include <process.h>
1462 #  endif
1463 #else
1464 #  include <unistd.h>
1465 #endif
1466 #endif
1467
1468 #ifndef YY_EXTRA_TYPE
1469 #define YY_EXTRA_TYPE void *
1470 #endif
1471
1472 static int yy_init_globals ( void );
1473
1474 /* Accessor methods to globals.
1475    These are made visible to non-reentrant scanners for convenience. */
1476
1477 int yylex_destroy ( void );
1478
1479 int yyget_debug ( void );
1480
1481 void yyset_debug ( int debug_flag  );
1482
1483 YY_EXTRA_TYPE yyget_extra ( void );
1484
1485 void yyset_extra ( YY_EXTRA_TYPE user_defined  );
1486
1487 FILE *yyget_in ( void );
1488
1489 void yyset_in  ( FILE * _in_str  );
1490
1491 FILE *yyget_out ( void );
1492
1493 void yyset_out  ( FILE * _out_str  );
1494
1495                         int yyget_leng ( void );
1496
1497 char *yyget_text ( void );
1498
1499 int yyget_lineno ( void );
1500
1501 void yyset_lineno ( int _line_number  );
1502
1503 /* Macros after this point can all be overridden by user definitions in
1504  * section 1.
1505  */
1506
1507 #ifndef YY_SKIP_YYWRAP
1508 #ifdef __cplusplus
1509 extern "C" int yywrap ( void );
1510 #else
1511 extern int yywrap ( void );
1512 #endif
1513 #endif
1514
1515 #ifndef YY_NO_UNPUT
1516     
1517 #endif
1518
1519 #ifndef yytext_ptr
1520 static void yy_flex_strncpy ( char *, const char *, int );
1521 #endif
1522
1523 #ifdef YY_NEED_STRLEN
1524 static int yy_flex_strlen ( const char * );
1525 #endif
1526
1527 #ifndef YY_NO_INPUT
1528 #ifdef __cplusplus
1529 static int yyinput ( void );
1530 #else
1531 static int input ( void );
1532 #endif
1533
1534 #endif
1535
1536         static int yy_start_stack_ptr = 0;
1537         static int yy_start_stack_depth = 0;
1538         static int *yy_start_stack = NULL;
1539     
1540     static void yy_push_state ( int _new_state );
1541     
1542     static void yy_pop_state ( void );
1543     
1544 /* Amount of stuff to slurp up with each read. */
1545 #ifndef YY_READ_BUF_SIZE
1546 #ifdef __ia64__
1547 /* On IA-64, the buffer size is 16k, not 8k */
1548 #define YY_READ_BUF_SIZE 16384
1549 #else
1550 #define YY_READ_BUF_SIZE 8192
1551 #endif /* __ia64__ */
1552 #endif
1553
1554 /* Copy whatever the last rule matched to the standard output. */
1555 #ifndef ECHO
1556 /* This used to be an fputs(), but since the string might contain NUL's,
1557  * we now use fwrite().
1558  */
1559 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
1560 #endif
1561
1562 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
1563  * is returned in "result".
1564  */
1565 #ifndef YY_INPUT
1566 #define YY_INPUT(buf,result,max_size) \
1567         if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1568                 { \
1569                 int c = '*'; \
1570                 int n; \
1571                 for ( n = 0; n < max_size && \
1572                              (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1573                         buf[n] = (char) c; \
1574                 if ( c == '\n' ) \
1575                         buf[n++] = (char) c; \
1576                 if ( c == EOF && ferror( yyin ) ) \
1577                         YY_FATAL_ERROR( "input in flex scanner failed" ); \
1578                 result = n; \
1579                 } \
1580         else \
1581                 { \
1582                 errno=0; \
1583                 while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
1584                         { \
1585                         if( errno != EINTR) \
1586                                 { \
1587                                 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1588                                 break; \
1589                                 } \
1590                         errno=0; \
1591                         clearerr(yyin); \
1592                         } \
1593                 }\
1594 \
1595
1596 #endif
1597
1598 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1599  * we don't want an extra ';' after the "return" because that will cause
1600  * some compilers to complain about unreachable statements.
1601  */
1602 #ifndef yyterminate
1603 #define yyterminate() return YY_NULL
1604 #endif
1605
1606 /* Number of entries by which start-condition stack grows. */
1607 #ifndef YY_START_STACK_INCR
1608 #define YY_START_STACK_INCR 25
1609 #endif
1610
1611 /* Report a fatal error. */
1612 #ifndef YY_FATAL_ERROR
1613 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1614 #endif
1615
1616 /* end tables serialization structures and prototypes */
1617
1618 /* Default declaration of generated scanner - a define so the user can
1619  * easily add parameters.
1620  */
1621 #ifndef YY_DECL
1622 #define YY_DECL_IS_OURS 1
1623
1624 extern int yylex (void);
1625
1626 #define YY_DECL int yylex (void)
1627 #endif /* !YY_DECL */
1628
1629 /* Code executed at the beginning of each rule, after yytext and yyleng
1630  * have been set up.
1631  */
1632 #ifndef YY_USER_ACTION
1633 #define YY_USER_ACTION
1634 #endif
1635
1636 /* Code executed at the end of each rule. */
1637 #ifndef YY_BREAK
1638 #define YY_BREAK /*LINTED*/break;
1639 #endif
1640
1641 #define YY_RULE_SETUP \
1642         YY_USER_ACTION
1643
1644 /** The main scanner function which does all the work.
1645  */
1646 YY_DECL
1647 {
1648         yy_state_type yy_current_state;
1649         char *yy_cp, *yy_bp;
1650         int yy_act;
1651     
1652         if ( !(yy_init) )
1653                 {
1654                 (yy_init) = 1;
1655
1656 #ifdef YY_USER_INIT
1657                 YY_USER_INIT;
1658 #endif
1659
1660                 if ( ! (yy_start) )
1661                         (yy_start) = 1; /* first start state */
1662
1663                 if ( ! yyin )
1664                         yyin = stdin;
1665
1666                 if ( ! yyout )
1667                         yyout = stdout;
1668
1669                 if ( ! YY_CURRENT_BUFFER ) {
1670                         yyensure_buffer_stack ();
1671                         YY_CURRENT_BUFFER_LVALUE =
1672                                 yy_create_buffer( yyin, YY_BUF_SIZE );
1673                 }
1674
1675                 yy_load_buffer_state(  );
1676                 }
1677
1678         {
1679
1680  /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
1681  SET(PROLOG);
1682  reset_dax__parse_err_msg();
1683  dax__bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
1684  assert(dax__bufferstack);
1685  #ifdef FLEX_DEBUG
1686  {
1687      int i;
1688      for (i = 0; i < blimit; i++) {
1689          dax__bufferstack[i] = '\377';
1690      }
1691  }
1692  #endif
1693  dax__bufferstack[0] = '\0';
1694  indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
1695  assert(indexstack);
1696  indexstack[0] = 0;
1697
1698   /* FleXML_init */
1699   bnext = inext = 1;
1700   dax__bufferliteral('\0', &bnext, "http://pegasus.isi.edu/schema/DAX");
1701   dax__bufferliteral('\0', &bnext, "http://www.w3.org/2001/XMLSchema-instance");
1702   dax__bufferliteral('\0', &bnext, "http://pegasus.isi.edu/schema/DAX http://pegasus.isi.edu/schema/dax-2.1.xsd");
1703   dax__bufferliteral('\0', &bnext, "1.0");
1704   dax__bufferliteral('\0', &bnext, "0.0");
1705   dax__bufferliteral('\0', &bnext, "data");
1706   if(!dax__statenames) {dax__statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
1707   dax__statenames[PROLOG] = NULL;
1708   dax__statenames[DOCTYPE] = NULL;
1709   dax__statenames[EPILOG] = NULL;
1710   dax__statenames[INCOMMENT] = NULL;
1711   dax__statenames[INPI] = NULL;
1712   dax__statenames[VALUE1] = NULL;
1713   dax__statenames[VALUE2] = NULL;
1714   dax__statenames[CDATA] = NULL;
1715   dax__statenames[ROOT_dax__adag] = NULL;
1716   dax__statenames[AL_dax__adag] = NULL;
1717   dax__statenames[S_dax__adag] = "adag";
1718   dax__statenames[S_dax__adag_1] = "adag";
1719   dax__statenames[S_dax__adag_2] = "adag";
1720   dax__statenames[S_dax__adag_3] = "adag";
1721   dax__statenames[S_dax__adag_4] = "adag";
1722   dax__statenames[S_dax__adag_5] = "adag";
1723   dax__statenames[E_dax__adag] = "adag";
1724   dax__statenames[AL_dax__job] = NULL;
1725   dax__statenames[S_dax__job] = "job";
1726   dax__statenames[S_dax__job_1] = "job";
1727   dax__statenames[S_dax__job_2] = "job";
1728   dax__statenames[E_dax__job] = "job";
1729   dax__statenames[AL_dax__uses] = NULL;
1730   dax__statenames[E_dax__uses] = "uses";
1731   dax__statenames[AL_dax__child]       = NULL;
1732   dax__statenames[S_dax__child]        = "child";
1733   dax__statenames[S_dax__child_1]      = "child";
1734   dax__statenames[S_dax__child_2]      = "child";
1735   dax__statenames[E_dax__child]        = "child";
1736   dax__statenames[AL_dax__parent]      = NULL;
1737   dax__statenames[E_dax__parent]       = "parent";
1738   }
1739
1740  /* COMMENTS and PIs: handled uniformly for efficiency. */
1741
1742         while ( /*CONSTCOND*/1 )                /* loops until end-of-file is reached */
1743                 {
1744                 yy_cp = (yy_c_buf_p);
1745
1746                 /* Support of yytext. */
1747                 *yy_cp = (yy_hold_char);
1748
1749                 /* yy_bp points to the position in yy_ch_buf of the start of
1750                  * the current run.
1751                  */
1752                 yy_bp = yy_cp;
1753
1754                 yy_current_state = (yy_start);
1755 yy_match:
1756                 do
1757                         {
1758                         YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
1759                         if ( yy_accept[yy_current_state] )
1760                                 {
1761                                 (yy_last_accepting_state) = yy_current_state;
1762                                 (yy_last_accepting_cpos) = yy_cp;
1763                                 }
1764                         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1765                                 {
1766                                 yy_current_state = (int) yy_def[yy_current_state];
1767                                 if ( yy_current_state >= 775 )
1768                                         yy_c = yy_meta[yy_c];
1769                                 }
1770                         yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
1771                         ++yy_cp;
1772                 } while (yy_base[yy_current_state] != 2164);
1773
1774 yy_find_action:
1775                 yy_act = yy_accept[yy_current_state];
1776                 if ( yy_act == 0 )
1777                         { /* have to back up */
1778                         yy_cp = (yy_last_accepting_cpos);
1779                         yy_current_state = (yy_last_accepting_state);
1780                         yy_act = yy_accept[yy_current_state];
1781                         }
1782
1783                 YY_DO_BEFORE_ACTION;
1784
1785                 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
1786                         {
1787                         int yyl;
1788                         for ( yyl = 0; yyl < yyleng; ++yyl )
1789                                 if ( yytext[yyl] == '\n' )
1790                                         
1791     yylineno++;
1792 ;
1793                         }
1794
1795 do_action:      /* This label is used only to access EOF actions. */
1796
1797                 switch ( yy_act )
1798         { /* beginning of action switch */
1799                         case 0: /* must back up */
1800                         /* undo the effects of YY_DO_BEFORE_ACTION */
1801                         *yy_cp = (yy_hold_char);
1802                         yy_cp = (yy_last_accepting_cpos);
1803                         yy_current_state = (yy_last_accepting_state);
1804                         goto yy_find_action;
1805
1806 case 1:
1807 YY_RULE_SETUP
1808 ENTER(INCOMMENT);
1809         YY_BREAK
1810 case 2:
1811 YY_RULE_SETUP
1812 ENTER(INPI);
1813         YY_BREAK
1814
1815 case 3:
1816 YY_RULE_SETUP
1817 LEAVE;
1818         YY_BREAK
1819 case 4:
1820 case 5:
1821 case 6:
1822 /* rule 6 can match eol */
1823 YY_RULE_SETUP
1824 SKIP;
1825         YY_BREAK
1826 case YY_STATE_EOF(INCOMMENT):
1827 FAIL("EOF in comment.");
1828         YY_BREAK
1829
1830 case 7:
1831 YY_RULE_SETUP
1832 LEAVE;
1833         YY_BREAK
1834 case 8:
1835 case 9:
1836 /* rule 9 can match eol */
1837 YY_RULE_SETUP
1838 SKIP;
1839         YY_BREAK
1840 case YY_STATE_EOF(INPI):
1841 FAIL("EOF in PI (processing instruction).");
1842         YY_BREAK
1843
1844 /* SPACES: skipped uniformly */
1845 case 10:
1846 /* rule 10 can match eol */
1847 YY_RULE_SETUP
1848 SKIP;
1849         YY_BREAK
1850 /* PROLOG: determine root element and process it. */
1851
1852 case 11:
1853 /* rule 11 can match eol */
1854 YY_RULE_SETUP
1855 SET(ROOT_dax__adag); 
1856         YY_BREAK
1857 case 12:
1858 /* rule 12 can match eol */
1859 YY_RULE_SETUP
1860 FAIL("Bad declaration %s.",yytext);
1861         YY_BREAK
1862
1863 case 13:
1864 /* rule 13 can match eol */
1865 YY_RULE_SETUP
1866 SET(ROOT_dax__adag);
1867         YY_BREAK
1868 case 14:
1869 /* rule 14 can match eol */
1870 YY_RULE_SETUP
1871 FAIL("Bad declaration %s.",yytext);
1872         YY_BREAK
1873 case 15:
1874 YY_RULE_SETUP
1875 FAIL("Unexpected character `%c' in prolog.", yytext[0]);
1876         YY_BREAK
1877 case YY_STATE_EOF(PROLOG):
1878 case YY_STATE_EOF(DOCTYPE):
1879 FAIL("EOF in prolog.");
1880         YY_BREAK
1881
1882 /* RULES DERIVED FROM DTD. */
1883 /* <!-- Small DTD for DAX files. -->  */
1884 case 16:
1885 /* rule 16 can match eol */
1886 YY_RULE_SETUP
1887 FAIL("Starting tag <adag> is not allowed here.");
1888         YY_BREAK
1889 case 17:
1890 /* rule 17 can match eol */
1891 YY_RULE_SETUP
1892 {
1893   AX_dax__adag_xmlns = 1;
1894   dax__adag_xmlns_isset = 0;
1895   AX_dax__adag_xmlns_c_xsi = 35;
1896   dax__adag_xmlns_c_xsi_isset = 0;
1897   AX_dax__adag_xsi_c_schemaLocation = 77;
1898   dax__adag_xsi_c_schemaLocation_isset = 0;
1899   AX_dax__adag_version                 = 153;
1900   dax__adag_version_isset              = 0;
1901   AX_dax__adag_count                   = 0;
1902   dax__adag_count_isset                = 0;
1903   AX_dax__adag_index                   = 0;
1904   dax__adag_index_isset                = 0;
1905   AX_dax__adag_name                    = 0;
1906   dax__adag_name_isset                 = 0;
1907   AX_dax__adag_jobCount                = 0;
1908   dax__adag_jobCount_isset             = 0;
1909   AX_dax__adag_fileCount               = 0;
1910   dax__adag_fileCount_isset            = 0;
1911   AX_dax__adag_childCount              = 0;
1912   dax__adag_childCount_isset           = 0;
1913   ENTER(AL_dax__adag); pushbuffer(0);
1914   }
1915         YY_BREAK
1916
1917 case 18:
1918 /* rule 18 can match eol */
1919 YY_RULE_SETUP
1920 if (dax__adag_xmlns_isset != 0) {
1921   FAIL("Multiple definition of attribute xmlns in <dax__adag>");
1922 }
1923 dax__adag_xmlns_isset = 1;
1924 ENTER(VALUE1);
1925 BUFFERSET(AX_dax__adag_xmlns);
1926 YY_BREAK
1927 case 19:
1928 /* rule 19 can match eol */
1929 YY_RULE_SETUP
1930 if (dax__adag_xmlns_isset != 0) {
1931   FAIL("Multiple definition of attribute xmlns in <dax__adag>");
1932 }
1933 dax__adag_xmlns_isset = 1;
1934 ENTER(VALUE2);
1935 BUFFERSET(AX_dax__adag_xmlns);
1936 YY_BREAK
1937 case 20:
1938 /* rule 20 can match eol */
1939 YY_RULE_SETUP
1940 if (dax__adag_xmlns_c_xsi_isset != 0) {
1941   FAIL("Multiple definition of attribute xmlns:xsi in <dax__adag>");
1942 }
1943 dax__adag_xmlns_c_xsi_isset = 1;
1944 ENTER(VALUE1);
1945 BUFFERSET(AX_dax__adag_xmlns_c_xsi);
1946 YY_BREAK
1947 case 21:
1948 /* rule 21 can match eol */
1949 YY_RULE_SETUP
1950 if (dax__adag_xmlns_c_xsi_isset != 0) {
1951   FAIL("Multiple definition of attribute xmlns:xsi in <dax__adag>");
1952 }
1953 dax__adag_xmlns_c_xsi_isset = 1;
1954 ENTER(VALUE2);
1955 BUFFERSET(AX_dax__adag_xmlns_c_xsi);
1956 YY_BREAK
1957 case 22:
1958 /* rule 22 can match eol */
1959 YY_RULE_SETUP
1960 if (dax__adag_xsi_c_schemaLocation_isset != 0) {
1961   FAIL("Multiple definition of attribute xsi:schemaLocation in <dax__adag>");
1962 }
1963 dax__adag_xsi_c_schemaLocation_isset = 1;
1964 ENTER(VALUE1);
1965 BUFFERSET(AX_dax__adag_xsi_c_schemaLocation);
1966 YY_BREAK
1967 case 23:
1968 /* rule 23 can match eol */
1969 YY_RULE_SETUP
1970 if (dax__adag_xsi_c_schemaLocation_isset != 0) {
1971   FAIL("Multiple definition of attribute xsi:schemaLocation in <dax__adag>");
1972 }
1973 dax__adag_xsi_c_schemaLocation_isset = 1;
1974 ENTER(VALUE2);
1975 BUFFERSET(AX_dax__adag_xsi_c_schemaLocation);
1976 YY_BREAK
1977 case 24:
1978 /* rule 24 can match eol */
1979 YY_RULE_SETUP
1980 if (dax__adag_version_isset != 0) {
1981   FAIL("Multiple definition of attribute version in <dax__adag>");
1982 }
1983 dax__adag_version_isset = 1;
1984 ENTER(VALUE1);
1985 BUFFERSET(AX_dax__adag_version);
1986 YY_BREAK
1987 case 25:
1988 /* rule 25 can match eol */
1989 YY_RULE_SETUP
1990 if (dax__adag_version_isset != 0) {
1991   FAIL("Multiple definition of attribute version in <dax__adag>");
1992 }
1993 dax__adag_version_isset = 1;
1994 ENTER(VALUE2);
1995 BUFFERSET(AX_dax__adag_version);
1996 YY_BREAK
1997 case 26:
1998 /* rule 26 can match eol */
1999 YY_RULE_SETUP
2000 if (dax__adag_count_isset != 0) {
2001   FAIL("Multiple definition of attribute count in <dax__adag>");
2002 }
2003 dax__adag_count_isset = 1;
2004 ENTER(VALUE1);
2005 BUFFERSET(AX_dax__adag_count);
2006 YY_BREAK
2007 case 27:
2008 /* rule 27 can match eol */
2009 YY_RULE_SETUP
2010 if (dax__adag_count_isset != 0) {
2011   FAIL("Multiple definition of attribute count in <dax__adag>");
2012 }
2013 dax__adag_count_isset = 1;
2014 ENTER(VALUE2);
2015 BUFFERSET(AX_dax__adag_count);
2016 YY_BREAK
2017 case 28:
2018 /* rule 28 can match eol */
2019 YY_RULE_SETUP
2020 if (dax__adag_index_isset != 0) {
2021   FAIL("Multiple definition of attribute index in <dax__adag>");
2022 }
2023 dax__adag_index_isset = 1;
2024 ENTER(VALUE1);
2025 BUFFERSET(AX_dax__adag_index);
2026 YY_BREAK
2027 case 29:
2028 /* rule 29 can match eol */
2029 YY_RULE_SETUP
2030 if (dax__adag_index_isset != 0) {
2031   FAIL("Multiple definition of attribute index in <dax__adag>");
2032 }
2033 dax__adag_index_isset = 1;
2034 ENTER(VALUE2);
2035 BUFFERSET(AX_dax__adag_index);
2036 YY_BREAK
2037 case 30:
2038 /* rule 30 can match eol */
2039 YY_RULE_SETUP
2040 if (dax__adag_name_isset != 0) {
2041   FAIL("Multiple definition of attribute name in <dax__adag>");
2042 }
2043 dax__adag_name_isset = 1;
2044 ENTER(VALUE1);
2045 BUFFERSET(AX_dax__adag_name);
2046 YY_BREAK
2047 case 31:
2048 /* rule 31 can match eol */
2049 YY_RULE_SETUP
2050 if (dax__adag_name_isset != 0) {
2051   FAIL("Multiple definition of attribute name in <dax__adag>");
2052 }
2053 dax__adag_name_isset = 1;
2054 ENTER(VALUE2);
2055 BUFFERSET(AX_dax__adag_name);
2056 YY_BREAK
2057 case 32:
2058 /* rule 32 can match eol */
2059 YY_RULE_SETUP
2060 if (dax__adag_jobCount_isset != 0) {
2061   FAIL("Multiple definition of attribute jobCount in <dax__adag>");
2062 }
2063 dax__adag_jobCount_isset = 1;
2064 ENTER(VALUE1);
2065 BUFFERSET(AX_dax__adag_jobCount);
2066 YY_BREAK
2067 case 33:
2068 /* rule 33 can match eol */
2069 YY_RULE_SETUP
2070 if (dax__adag_jobCount_isset != 0) {
2071   FAIL("Multiple definition of attribute jobCount in <dax__adag>");
2072 }
2073 dax__adag_jobCount_isset = 1;
2074 ENTER(VALUE2);
2075 BUFFERSET(AX_dax__adag_jobCount);
2076 YY_BREAK
2077 case 34:
2078 /* rule 34 can match eol */
2079 YY_RULE_SETUP
2080 if (dax__adag_fileCount_isset != 0) {
2081   FAIL("Multiple definition of attribute fileCount in <dax__adag>");
2082 }
2083 dax__adag_fileCount_isset = 1;
2084 ENTER(VALUE1);
2085 BUFFERSET(AX_dax__adag_fileCount);
2086 YY_BREAK
2087 case 35:
2088 /* rule 35 can match eol */
2089 YY_RULE_SETUP
2090 if (dax__adag_fileCount_isset != 0) {
2091   FAIL("Multiple definition of attribute fileCount in <dax__adag>");
2092 }
2093 dax__adag_fileCount_isset = 1;
2094 ENTER(VALUE2);
2095 BUFFERSET(AX_dax__adag_fileCount);
2096 YY_BREAK
2097 case 36:
2098 /* rule 36 can match eol */
2099 YY_RULE_SETUP
2100 if (dax__adag_childCount_isset != 0) {
2101   FAIL("Multiple definition of attribute childCount in <dax__adag>");
2102 }
2103 dax__adag_childCount_isset = 1;
2104 ENTER(VALUE1);
2105 BUFFERSET(AX_dax__adag_childCount);
2106 YY_BREAK
2107 case 37:
2108 /* rule 37 can match eol */
2109 YY_RULE_SETUP
2110 if (dax__adag_childCount_isset != 0) {
2111   FAIL("Multiple definition of attribute childCount in <dax__adag>");
2112 }
2113 dax__adag_childCount_isset = 1;
2114 ENTER(VALUE2);
2115 BUFFERSET(AX_dax__adag_childCount);
2116 YY_BREAK
2117 case 38:
2118 YY_RULE_SETUP
2119 {
2120   LEAVE; STag_dax__adag();dax__pcdata_ix = 0; ENTER(S_dax__adag);
2121  }
2122         YY_BREAK
2123 case 39:
2124 YY_RULE_SETUP
2125 {
2126   LEAVE; STag_dax__adag(); dax__pcdata_ix = 0; ETag_dax__adag(); popbuffer(); /* attribute */
2127   switch (YY_START) {
2128    case ROOT_dax__adag: SET(EPILOG); break;
2129   }
2130  }
2131         YY_BREAK
2132 case 40:
2133 YY_RULE_SETUP
2134 FAIL("Unexpected character `%c' in attribute list of adag element.", yytext[0]);
2135         YY_BREAK
2136 case 41:
2137 YY_RULE_SETUP
2138 FAIL("Bad attribute `%s' in `adag' element start tag.",yytext);
2139         YY_BREAK
2140 case YY_STATE_EOF(AL_dax__adag):
2141 FAIL("EOF in attribute list of `adag' element.");
2142         YY_BREAK
2143
2144 case 42:
2145 /* rule 42 can match eol */
2146 YY_RULE_SETUP
2147 {
2148   LEAVE;
2149   ETag_dax__adag();
2150   popbuffer(); /* attribute */
2151   switch (YY_START) {
2152    case ROOT_dax__adag: SET(EPILOG); break;
2153   }
2154  }
2155         YY_BREAK
2156 case 43:
2157 /* rule 43 can match eol */
2158 YY_RULE_SETUP
2159 FAIL("Unexpected end-tag `%s': `</adag>' expected.",yytext);
2160         YY_BREAK
2161 case 44:
2162 YY_RULE_SETUP
2163 FAIL("Unexpected character `%c': `</adag>' expected.",yytext[0]);
2164         YY_BREAK
2165 case YY_STATE_EOF(S_dax__adag_1):
2166 case YY_STATE_EOF(S_dax__adag_3):
2167 case YY_STATE_EOF(S_dax__adag_5):
2168 case YY_STATE_EOF(S_dax__adag):
2169 case YY_STATE_EOF(E_dax__adag):
2170   FAIL("Premature EOF: `</adag>' expected.");
2171   YY_BREAK
2172
2173 case 45:
2174 /* rule 45 can match eol */
2175 YY_RULE_SETUP
2176 FAIL("Starting tag <job> is not allowed here.");
2177 YY_BREAK
2178 case 46:
2179 /* rule 46 can match eol */
2180 YY_RULE_SETUP
2181 {
2182   AX_dax__job_id           = 0;
2183   dax__job_id_isset        = 0;
2184   AX_dax__job_namespace    = 0;
2185   dax__job_namespace_isset = 0;
2186   AX_dax__job_name         = 0;
2187   dax__job_name_isset      = 0;
2188   AX_dax__job_version      = 157;
2189   dax__job_version_isset   = 0;
2190   AX_dax__job_runtime      = 0;
2191   dax__job_runtime_isset   = 0;
2192   AX_dax__job_level        = 0;
2193   dax__job_level_isset     = 0;
2194   ENTER(AL_dax__job);
2195   pushbuffer(0);
2196   }
2197         YY_BREAK
2198
2199 case 47:
2200 /* rule 47 can match eol */
2201 YY_RULE_SETUP
2202 if (dax__job_id_isset != 0) {
2203   FAIL("Multiple definition of attribute id in <dax__job>");
2204 }
2205 dax__job_id_isset = 1;
2206 ENTER(VALUE1);
2207 BUFFERSET(AX_dax__job_id);
2208 YY_BREAK
2209 case 48:
2210 /* rule 48 can match eol */
2211 YY_RULE_SETUP
2212 if (dax__job_id_isset != 0) {
2213   FAIL("Multiple definition of attribute id in <dax__job>");
2214 }
2215 dax__job_id_isset = 1;
2216 ENTER(VALUE2);
2217 BUFFERSET(AX_dax__job_id);
2218 YY_BREAK
2219 case 49:
2220   /* rule 49 can match eol */
2221   YY_RULE_SETUP
2222   if (dax__job_namespace_isset != 0) {
2223     FAIL("Multiple definition of attribute namespace in <dax__job>");
2224   }
2225   dax__job_namespace_isset = 1;
2226   ENTER(VALUE1);
2227   BUFFERSET(AX_dax__job_namespace);
2228   YY_BREAK
2229 case 50:
2230   /* rule 50 can match eol */
2231   YY_RULE_SETUP
2232   if (dax__job_namespace_isset != 0) {
2233     FAIL("Multiple definition of attribute namespace in <dax__job>");
2234   }
2235   dax__job_namespace_isset = 1;
2236   ENTER(VALUE2);
2237   BUFFERSET(AX_dax__job_namespace);
2238   YY_BREAK
2239 case 51:
2240   /* rule 51 can match eol */
2241   YY_RULE_SETUP
2242   if (dax__job_name_isset != 0) {
2243     FAIL("Multiple definition of attribute name in <dax__job>");
2244   }
2245   dax__job_name_isset = 1;
2246   ENTER(VALUE1);
2247   BUFFERSET(AX_dax__job_name);
2248   YY_BREAK
2249 case 52:
2250   /* rule 52 can match eol */
2251   YY_RULE_SETUP
2252   if (dax__job_name_isset != 0) {
2253     FAIL("Multiple definition of attribute name in <dax__job>");
2254   }
2255   dax__job_name_isset = 1;
2256   ENTER(VALUE2);
2257   BUFFERSET(AX_dax__job_name);
2258   YY_BREAK
2259 case 53:
2260 /* rule 53 can match eol */
2261 YY_RULE_SETUP
2262 if (dax__job_version_isset != 0) {
2263   FAIL("Multiple definition of attribute version in <dax__job>");
2264 }
2265 dax__job_version_isset = 1;
2266 ENTER(VALUE1);
2267 BUFFERSET(AX_dax__job_version);
2268 YY_BREAK
2269 case 54:
2270 /* rule 54 can match eol */
2271 YY_RULE_SETUP
2272 if (dax__job_version_isset != 0) {
2273   FAIL("Multiple definition of attribute version in <dax__job>");
2274 }
2275 dax__job_version_isset = 1;
2276 ENTER(VALUE2);
2277 BUFFERSET(AX_dax__job_version);
2278 YY_BREAK
2279 case 55:
2280   /* rule 55 can match eol */
2281   YY_RULE_SETUP
2282   if (dax__job_runtime_isset != 0) {
2283     FAIL("Multiple definition of attribute runtime in <dax__job>");
2284   }
2285   dax__job_runtime_isset = 1;
2286   ENTER(VALUE1);
2287   BUFFERSET(AX_dax__job_runtime);
2288   YY_BREAK
2289 case 56:
2290 /* rule 56 can match eol */
2291 YY_RULE_SETUP
2292 if (dax__job_runtime_isset != 0) {
2293   FAIL("Multiple definition of attribute runtime in <dax__job>");
2294 }
2295 dax__job_runtime_isset = 1;
2296 ENTER(VALUE2);
2297 BUFFERSET(AX_dax__job_runtime);
2298 YY_BREAK
2299 case 57:
2300 /* rule 57 can match eol */
2301 YY_RULE_SETUP
2302 if (dax__job_level_isset != 0) {
2303   FAIL("Multiple definition of attribute level in <dax__job>");
2304 }
2305 dax__job_level_isset = 1;
2306 ENTER(VALUE1);
2307 BUFFERSET(AX_dax__job_level);
2308 YY_BREAK
2309 case 58:
2310 /* rule 58 can match eol */
2311 YY_RULE_SETUP
2312 if (dax__job_level_isset != 0) {
2313   FAIL("Multiple definition of attribute level in <dax__job>");
2314 }
2315 dax__job_level_isset = 1;
2316 ENTER(VALUE2);
2317 BUFFERSET(AX_dax__job_level);
2318 YY_BREAK
2319 case 59:
2320 YY_RULE_SETUP
2321 {
2322   if (!AX_dax__job_id)
2323     FAIL("Required attribute `id' not set for `job' element.");
2324   if (!AX_dax__job_name)
2325     FAIL("Required attribute `name' not set for `job' element.");
2326   if (!AX_dax__job_runtime)
2327     FAIL("Required attribute `runtime' not set for `job' element.");
2328   LEAVE;
2329   STag_dax__job();
2330   dax__pcdata_ix = 0;
2331   ENTER(S_dax__job);
2332 }
2333         YY_BREAK
2334 case 60:
2335 YY_RULE_SETUP
2336 {
2337   if (!AX_dax__job_id)
2338     FAIL("Required attribute `id' not set for `job' element.");
2339   if (!AX_dax__job_name)
2340     FAIL("Required attribute `name' not set for `job' element.");
2341   if (!AX_dax__job_runtime)
2342     FAIL("Required attribute `runtime' not set for `job' element.");
2343   LEAVE;
2344   STag_dax__job();
2345   dax__pcdata_ix = 0;
2346   ETag_dax__job();
2347   popbuffer(); /* attribute */
2348   switch (YY_START) {
2349     case S_dax__adag:
2350     case S_dax__adag_2:
2351     case S_dax__adag_3:
2352       SET(S_dax__adag_3);
2353       break;
2354   }
2355 }
2356         YY_BREAK
2357 case 61:
2358 YY_RULE_SETUP
2359 FAIL("Unexpected character `%c' in attribute list of job element.", yytext[0]);
2360 YY_BREAK
2361 case 62:
2362 YY_RULE_SETUP
2363 FAIL("Bad attribute `%s' in `job' element start tag.", yytext);
2364 YY_BREAK
2365 case YY_STATE_EOF(AL_dax__job):
2366   FAIL("EOF in attribute list of `job' element.");
2367   YY_BREAK
2368
2369 case 63:
2370 /* rule 63 can match eol */
2371 YY_RULE_SETUP
2372 {
2373   LEAVE;
2374   ETag_dax__job();
2375   popbuffer(); /* attribute */
2376   switch (YY_START) {
2377     case S_dax__adag:
2378     case S_dax__adag_2:
2379     case S_dax__adag_3:
2380       SET(S_dax__adag_3);
2381       break;
2382   }
2383 }
2384         YY_BREAK
2385 case 64:
2386 /* rule 64 can match eol */
2387 YY_RULE_SETUP
2388 FAIL("Unexpected end-tag `%s': `</job>' expected.", yytext);
2389 YY_BREAK
2390 case 65:
2391 YY_RULE_SETUP
2392 FAIL("Unexpected character `%c': `</job>' expected.", yytext[0]);
2393 YY_BREAK
2394 case YY_STATE_EOF(S_dax__job_2):
2395 case YY_STATE_EOF(S_dax__job):
2396 case YY_STATE_EOF(E_dax__job):
2397   FAIL("Premature EOF: `</job>' expected.");
2398   YY_BREAK
2399
2400 /* <!-- ignored -->
2401  * <!-- ignored -->  */
2402 case 66:
2403 /* rule 66 can match eol */
2404 YY_RULE_SETUP
2405 FAIL("Starting tag <uses> is not allowed here.");
2406 YY_BREAK
2407 case 67:
2408 /* rule 67 can match eol */
2409 YY_RULE_SETUP
2410 {
2411   AX_dax__uses_file        = 0;
2412   dax__uses_file_isset     = 0;
2413   AX_dax__uses_link        = AU_dax__uses_link;
2414   dax__uses_link_isset     = 0;
2415   AX_dax__uses_register    = A_dax__uses_register_true;
2416   dax__uses_register_isset = 0;
2417   AX_dax__uses_transfer    = A_dax__uses_transfer_true;
2418   dax__uses_transfer_isset = 0;
2419   AX_dax__uses_optional    = A_dax__uses_optional_false;
2420   dax__uses_optional_isset = 0;
2421   AX_dax__uses_type        = 161;
2422   dax__uses_type_isset     = 0;
2423   AX_dax__uses_size        = 0;
2424   dax__uses_size_isset     = 0;
2425   ENTER(AL_dax__uses);
2426   pushbuffer(0);
2427 }
2428         YY_BREAK
2429
2430 case 68:
2431 /* rule 68 can match eol */
2432 YY_RULE_SETUP
2433 if (dax__uses_file_isset != 0) {
2434   FAIL("Multiple definition of attribute file in <dax__uses>");
2435 }
2436 dax__uses_file_isset = 1;
2437 ENTER(VALUE1);
2438 BUFFERSET(AX_dax__uses_file);
2439 YY_BREAK
2440 case 69:
2441 /* rule 69 can match eol */
2442 YY_RULE_SETUP
2443 if (dax__uses_file_isset != 0) {
2444   FAIL("Multiple definition of attribute file in <dax__uses>");
2445 }
2446 dax__uses_file_isset = 1;
2447 ENTER(VALUE2);
2448 BUFFERSET(AX_dax__uses_file);
2449 YY_BREAK
2450 case 70:
2451 /* rule 70 can match eol */
2452 case 71:
2453   /* rule 71 can match eol */
2454   YY_RULE_SETUP
2455   A_dax__uses_link = A_dax__uses_link_input;
2456   YY_BREAK
2457 case 72:
2458 /* rule 72 can match eol */
2459 case 73:
2460   /* rule 73 can match eol */
2461   YY_RULE_SETUP
2462   A_dax__uses_link = A_dax__uses_link_output;
2463   YY_BREAK
2464 case 74:
2465 /* rule 74 can match eol */
2466 case 75:
2467 /* rule 75 can match eol */
2468 YY_RULE_SETUP
2469 A_dax__uses_register = A_dax__uses_register_false;
2470 YY_BREAK
2471 case 76:
2472 /* rule 76 can match eol */
2473 case 77:
2474 /* rule 77 can match eol */
2475 YY_RULE_SETUP
2476 A_dax__uses_register = A_dax__uses_register_true;
2477 YY_BREAK
2478 case 78:
2479 /* rule 78 can match eol */
2480 case 79:
2481 /* rule 79 can match eol */
2482 YY_RULE_SETUP
2483 A_dax__uses_transfer = A_dax__uses_transfer_false;
2484 YY_BREAK
2485 case 80:
2486 /* rule 80 can match eol */
2487 case 81:
2488   /* rule 81 can match eol */
2489   YY_RULE_SETUP
2490   A_dax__uses_transfer = A_dax__uses_transfer_true;
2491   YY_BREAK
2492 case 82:
2493 /* rule 82 can match eol */
2494 case 83:
2495   /* rule 83 can match eol */
2496   YY_RULE_SETUP
2497   A_dax__uses_optional = A_dax__uses_optional_false;
2498   YY_BREAK
2499 case 84:
2500 /* rule 84 can match eol */
2501 case 85:
2502 /* rule 85 can match eol */
2503 YY_RULE_SETUP
2504 A_dax__uses_optional = A_dax__uses_optional_true;
2505 YY_BREAK
2506 case 86:
2507 /* rule 86 can match eol */
2508 YY_RULE_SETUP
2509 if (dax__uses_type_isset != 0) {
2510   FAIL("Multiple definition of attribute type in <dax__uses>");
2511 }
2512 dax__uses_type_isset = 1;
2513 ENTER(VALUE1);
2514 BUFFERSET(AX_dax__uses_type);
2515 YY_BREAK
2516 case 87:
2517   /* rule 87 can match eol */
2518   YY_RULE_SETUP
2519   if (dax__uses_type_isset != 0) {
2520     FAIL("Multiple definition of attribute type in <dax__uses>");
2521   }
2522   dax__uses_type_isset = 1;
2523   ENTER(VALUE2);
2524   BUFFERSET(AX_dax__uses_type);
2525   YY_BREAK
2526 case 88:
2527 /* rule 88 can match eol */
2528 YY_RULE_SETUP
2529 if (dax__uses_size_isset != 0) {
2530   FAIL("Multiple definition of attribute size in <dax__uses>");
2531 }
2532 dax__uses_size_isset = 1;
2533 ENTER(VALUE1);
2534 BUFFERSET(AX_dax__uses_size);
2535 YY_BREAK
2536 case 89:
2537 /* rule 89 can match eol */
2538 YY_RULE_SETUP
2539 if (dax__uses_size_isset != 0) {
2540   FAIL("Multiple definition of attribute size in <dax__uses>");
2541 }
2542 dax__uses_size_isset = 1;
2543 ENTER(VALUE2);
2544 BUFFERSET(AX_dax__uses_size);
2545 YY_BREAK
2546 case 90:
2547 YY_RULE_SETUP
2548 {
2549   if (!AX_dax__uses_file)
2550     FAIL("Required attribute `file' not set for `uses' element.");
2551   if (!AX_dax__uses_size)
2552     FAIL("Required attribute `size' not set for `uses' element.");
2553   LEAVE;
2554   STag_dax__uses();
2555   dax__pcdata_ix = 0;
2556   ENTER(E_dax__uses);
2557 }
2558         YY_BREAK
2559 case 91:
2560 YY_RULE_SETUP
2561 {
2562   if (!AX_dax__uses_file)
2563     FAIL("Required attribute `file' not set for `uses' element.");
2564   if (!AX_dax__uses_size)
2565     FAIL("Required attribute `size' not set for `uses' element.");
2566   LEAVE;
2567   STag_dax__uses();
2568   dax__pcdata_ix = 0;
2569   ETag_dax__uses();
2570   popbuffer(); /* attribute */
2571   switch (YY_START) {
2572     case S_dax__job_1:
2573     case S_dax__job_2:
2574     case S_dax__job:
2575       SET(S_dax__job_2);
2576       break;
2577   }
2578 }
2579         YY_BREAK
2580 case 92:
2581   YY_RULE_SETUP
2582   FAIL("Unexpected character `%c' in attribute list of uses element.", yytext[0]);
2583   YY_BREAK
2584 case 93:
2585 YY_RULE_SETUP
2586 FAIL("Bad attribute `%s' in `uses' element start tag.", yytext);
2587 YY_BREAK
2588 case YY_STATE_EOF(AL_dax__uses):
2589   FAIL("EOF in attribute list of `uses' element.");
2590   YY_BREAK
2591
2592 case 94:
2593 /* rule 94 can match eol */
2594 YY_RULE_SETUP
2595 {
2596   LEAVE;
2597   ETag_dax__uses();
2598   popbuffer(); /* attribute */
2599   switch (YY_START) {
2600     case S_dax__job_1:
2601     case S_dax__job_2:
2602     case S_dax__job:
2603       SET(S_dax__job_2);
2604       break;
2605   }
2606 }
2607 YY_BREAK
2608 case 95:
2609 /* rule 95 can match eol */
2610 YY_RULE_SETUP
2611 FAIL("Unexpected end-tag `%s': `</uses>' expected.", yytext);
2612 YY_BREAK
2613 case 96:
2614   YY_RULE_SETUP
2615   FAIL("Unexpected character `%c': `</uses>' expected.", yytext[0]);
2616   YY_BREAK
2617 case YY_STATE_EOF(E_dax__uses):
2618   FAIL("Premature EOF: `</uses>' expected.");
2619   YY_BREAK
2620
2621 case 97:
2622 /* rule 97 can match eol */
2623 YY_RULE_SETUP
2624 FAIL("Starting tag <child> is not allowed here.");
2625 YY_BREAK
2626 case 98:
2627 /* rule 98 can match eol */
2628 YY_RULE_SETUP
2629 {
2630   AX_dax__child_ref    = 0;
2631   dax__child_ref_isset = 0;
2632   ENTER(AL_dax__child);
2633   pushbuffer(0);
2634 }
2635 YY_BREAK
2636
2637 case 99:
2638 /* rule 99 can match eol */
2639 YY_RULE_SETUP
2640 if (dax__child_ref_isset != 0) {
2641   FAIL("Multiple definition of attribute ref in <dax__child>");
2642 }
2643 dax__child_ref_isset = 1;
2644 ENTER(VALUE1);
2645 BUFFERSET(AX_dax__child_ref);
2646 YY_BREAK
2647 case 100:
2648 /* rule 100 can match eol */
2649 YY_RULE_SETUP
2650 if (dax__child_ref_isset != 0) {
2651   FAIL("Multiple definition of attribute ref in <dax__child>");
2652 }
2653 dax__child_ref_isset = 1;
2654 ENTER(VALUE2);
2655 BUFFERSET(AX_dax__child_ref);
2656 YY_BREAK
2657 case 101:
2658 YY_RULE_SETUP
2659 {
2660   if (!AX_dax__child_ref)
2661     FAIL("Required attribute `ref' not set for `child' element.");
2662   LEAVE;
2663   STag_dax__child();
2664   dax__pcdata_ix = 0;
2665   ENTER(S_dax__child);
2666 }
2667         YY_BREAK
2668 case 102:
2669   YY_RULE_SETUP
2670   {
2671     if (!AX_dax__child_ref)
2672       FAIL("Required attribute `ref' not set for `child' element.");
2673     LEAVE;
2674     STag_dax__child();
2675     dax__pcdata_ix = 0;
2676     ETag_dax__child();
2677     popbuffer(); /* attribute */
2678     switch (YY_START) {
2679       case S_dax__adag_1:
2680       case S_dax__adag_3:
2681       case S_dax__adag_4:
2682       case S_dax__adag:
2683       case S_dax__adag_5:
2684         SET(S_dax__adag_5);
2685         break;
2686     }
2687   }
2688   YY_BREAK
2689 case 103:
2690 YY_RULE_SETUP
2691 FAIL("Unexpected character `%c' in attribute list of child element.", yytext[0]);
2692 YY_BREAK
2693 case 104:
2694 YY_RULE_SETUP
2695 FAIL("Bad attribute `%s' in `child' element start tag.", yytext);
2696 YY_BREAK
2697 case YY_STATE_EOF(AL_dax__child):
2698   FAIL("EOF in attribute list of `child' element.");
2699   YY_BREAK
2700
2701 case 105:
2702 /* rule 105 can match eol */
2703 YY_RULE_SETUP
2704 {
2705   LEAVE;
2706   ETag_dax__child();
2707   popbuffer(); /* attribute */
2708   switch (YY_START) {
2709     case S_dax__adag_1:
2710     case S_dax__adag_3:
2711     case S_dax__adag_4:
2712     case S_dax__adag:
2713     case S_dax__adag_5:
2714       SET(S_dax__adag_5);
2715       break;
2716   }
2717 }
2718         YY_BREAK
2719 case 106:
2720 /* rule 106 can match eol */
2721 YY_RULE_SETUP
2722 FAIL("Unexpected end-tag `%s': `</child>' expected.", yytext);
2723 YY_BREAK
2724 case 107:
2725 YY_RULE_SETUP
2726 FAIL("Unexpected character `%c': `</child>' expected.", yytext[0]);
2727 YY_BREAK
2728 case YY_STATE_EOF(S_dax__child_2):
2729 case YY_STATE_EOF(S_dax__child):
2730 case YY_STATE_EOF(E_dax__child):
2731   FAIL("Premature EOF: `</child>' expected.");
2732   YY_BREAK
2733
2734 case 108:
2735 /* rule 108 can match eol */
2736 YY_RULE_SETUP
2737 FAIL("Starting tag <parent> is not allowed here.");
2738 YY_BREAK
2739 case 109:
2740 /* rule 109 can match eol */
2741 YY_RULE_SETUP
2742 {
2743   AX_dax__parent_ref    = 0;
2744   dax__parent_ref_isset = 0;
2745   ENTER(AL_dax__parent);
2746   pushbuffer(0);
2747 }
2748         YY_BREAK
2749
2750 case 110:
2751 /* rule 110 can match eol */
2752 YY_RULE_SETUP
2753 if (dax__parent_ref_isset != 0) {
2754   FAIL("Multiple definition of attribute ref in <dax__parent>");
2755 }
2756 dax__parent_ref_isset = 1;
2757 ENTER(VALUE1);
2758 BUFFERSET(AX_dax__parent_ref);
2759 YY_BREAK
2760 case 111:
2761 /* rule 111 can match eol */
2762 YY_RULE_SETUP
2763 if (dax__parent_ref_isset != 0) {
2764   FAIL("Multiple definition of attribute ref in <dax__parent>");
2765 }
2766 dax__parent_ref_isset = 1;
2767 ENTER(VALUE2);
2768 BUFFERSET(AX_dax__parent_ref);
2769 YY_BREAK
2770 case 112:
2771 YY_RULE_SETUP
2772 {
2773   if (!AX_dax__parent_ref)
2774     FAIL("Required attribute `ref' not set for `parent' element.");
2775   LEAVE;
2776   STag_dax__parent();
2777   dax__pcdata_ix = 0;
2778   ENTER(E_dax__parent);
2779  }
2780         YY_BREAK
2781 case 113:
2782 YY_RULE_SETUP
2783 {
2784   if (!AX_dax__parent_ref)
2785     FAIL("Required attribute `ref' not set for `parent' element.");
2786   LEAVE;
2787   STag_dax__parent();
2788   dax__pcdata_ix = 0;
2789   ETag_dax__parent();
2790   popbuffer(); /* attribute */
2791   switch (YY_START) {
2792     case S_dax__child:
2793     case S_dax__child_1:
2794     case S_dax__child_2:
2795       SET(S_dax__child_2);
2796       break;
2797   }
2798  }
2799         YY_BREAK
2800 case 114:
2801 YY_RULE_SETUP
2802 FAIL("Unexpected character `%c' in attribute list of parent element.", yytext[0]);
2803 YY_BREAK
2804 case 115:
2805 YY_RULE_SETUP
2806 FAIL("Bad attribute `%s' in `parent' element start tag.", yytext);
2807 YY_BREAK
2808 case YY_STATE_EOF(AL_dax__parent):
2809   FAIL("EOF in attribute list of `parent' element.");
2810   YY_BREAK
2811
2812 case 116:
2813 /* rule 116 can match eol */
2814 YY_RULE_SETUP
2815 {
2816   LEAVE;
2817   ETag_dax__parent();
2818   popbuffer(); /* attribute */
2819   switch (YY_START) {
2820     case S_dax__child:
2821     case S_dax__child_1:
2822     case S_dax__child_2:
2823       SET(S_dax__child_2);
2824       break;
2825   }
2826  }
2827         YY_BREAK
2828 case 117:
2829 /* rule 117 can match eol */
2830 YY_RULE_SETUP
2831 FAIL("Unexpected end-tag `%s': `</parent>' expected.", yytext);
2832 YY_BREAK
2833 case 118:
2834 YY_RULE_SETUP
2835 FAIL("Unexpected character `%c': `</parent>' expected.", yytext[0]);
2836 YY_BREAK
2837 case YY_STATE_EOF(E_dax__parent):
2838   FAIL("Premature EOF: `</parent>' expected.");
2839   YY_BREAK
2840
2841   /* EPILOG: after the root element. */
2842
2843 case 119:
2844 YY_RULE_SETUP
2845 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
2846         YY_BREAK
2847 case YY_STATE_EOF(EPILOG):
2848 SUCCEED;
2849         YY_BREAK
2850
2851 /* CHARACTER DATA. */
2852
2853 /* Non-defined standard entities... */
2854 case 120:
2855 YY_RULE_SETUP
2856 BUFFERPUTC('&');
2857         YY_BREAK
2858 case 121:
2859 YY_RULE_SETUP
2860 BUFFERPUTC('<');
2861         YY_BREAK
2862 case 122:
2863 YY_RULE_SETUP
2864 BUFFERPUTC('>');
2865         YY_BREAK
2866 case 123:
2867 YY_RULE_SETUP
2868 BUFFERPUTC('\'');
2869         YY_BREAK
2870 case 124:
2871 YY_RULE_SETUP
2872 BUFFERPUTC('"');
2873         YY_BREAK
2874 /* Character entities. */
2875 case 125:
2876 YY_RULE_SETUP
2877 BUFFERPUTC((unsigned char)atoi(yytext+2));
2878         YY_BREAK
2879 case 126:
2880 YY_RULE_SETUP
2881 BUFFERPUTC((unsigned char)strtol(yytext+3,NULL,16));
2882         YY_BREAK
2883
2884 case 127:
2885 /* rule 127 can match eol */
2886 case 128:
2887 /* rule 128 can match eol */
2888 case 129:
2889 /* rule 129 can match eol */
2890 case 130:
2891 /* rule 130 can match eol */
2892 YY_RULE_SETUP
2893 BUFFERPUTC('\n');
2894         YY_BREAK
2895
2896 case 131:
2897 YY_RULE_SETUP
2898 ENTER(CDATA);
2899         YY_BREAK
2900 case 132:
2901 YY_RULE_SETUP
2902 FAIL("Unexpected `]""]>' in character data.");
2903         YY_BREAK
2904
2905 case 133:
2906 YY_RULE_SETUP
2907 BUFFERDONE; LEAVE;
2908         YY_BREAK
2909 case YY_STATE_EOF(VALUE1):
2910 FAIL("EOF in literal (\"'\" expected).");
2911         YY_BREAK
2912
2913 case 134:
2914 YY_RULE_SETUP
2915 BUFFERDONE; LEAVE;
2916         YY_BREAK
2917 case YY_STATE_EOF(VALUE2):
2918 FAIL("EOF in literal (`\"' expected).");
2919         YY_BREAK
2920
2921 case 135:
2922 /* rule 135 can match eol */
2923 YY_RULE_SETUP
2924 BUFFERPUTC(yytext[0]);
2925         YY_BREAK
2926 case 136:
2927 YY_RULE_SETUP
2928 FAIL("Spurious `%c' in character data.",yytext[0]);
2929         YY_BREAK
2930
2931 case 137:
2932 YY_RULE_SETUP
2933 LEAVE;
2934         YY_BREAK
2935 /* "]""]"               BUFFERPUTC(yytext[0]); BUFFERPUTC(yytext[1]); */
2936 case 138:
2937 YY_RULE_SETUP
2938 BUFFERPUTC(yytext[0]);
2939         YY_BREAK
2940 case YY_STATE_EOF(CDATA):
2941 FAIL("EOF in CDATA section.");
2942         YY_BREAK
2943
2944 /* Impossible rules to avoid warnings from flex(1). */
2945 /* Ideally, this should be replaced by code in flexml.pl that
2946     generates just the states not covered by other rules. */
2947
2948 case 139:
2949 /* rule 139 can match eol */
2950 YY_RULE_SETUP
2951 FAIL("Syntax error on character `%c'.", yytext[0]);
2952         YY_BREAK
2953
2954 case 140:
2955 YY_RULE_SETUP
2956 ECHO;
2957         YY_BREAK
2958 case YY_STATE_EOF(INITIAL):
2959 case YY_STATE_EOF(ROOT_dax__adag):
2960 case YY_STATE_EOF(S_dax__adag_2):
2961 case YY_STATE_EOF(S_dax__adag_4):
2962 case YY_STATE_EOF(S_dax__job_1):
2963 case YY_STATE_EOF(S_dax__child_1):
2964 case YY_STATE_EOF(IMPOSSIBLE):
2965         yyterminate();
2966
2967         case YY_END_OF_BUFFER:
2968                 {
2969                 /* Amount of text matched not including the EOB char. */
2970                 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
2971
2972                 /* Undo the effects of YY_DO_BEFORE_ACTION. */
2973                 *yy_cp = (yy_hold_char);
2974                 YY_RESTORE_YY_MORE_OFFSET
2975
2976                 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
2977                         {
2978                         /* We're scanning a new file or input source.  It's
2979                          * possible that this happened because the user
2980                          * just pointed yyin at a new source and called
2981                          * yylex().  If so, then we have to assure
2982                          * consistency between YY_CURRENT_BUFFER and our
2983                          * globals.  Here is the right place to do so, because
2984                          * this is the first action (other than possibly a
2985                          * back-up) that will match for the new input source.
2986                          */
2987                         (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2988                         YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
2989                         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
2990                         }
2991
2992                 /* Note that here we test for yy_c_buf_p "<=" to the position
2993                  * of the first EOB in the buffer, since yy_c_buf_p will
2994                  * already have been incremented past the NUL character
2995                  * (since all states make transitions on EOB to the
2996                  * end-of-buffer state).  Contrast this with the test
2997                  * in input().
2998                  */
2999                 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3000                         { /* This was really a NUL. */
3001                         yy_state_type yy_next_state;
3002
3003                         (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
3004
3005                         yy_current_state = yy_get_previous_state(  );
3006
3007                         /* Okay, we're now positioned to make the NUL
3008                          * transition.  We couldn't have
3009                          * yy_get_previous_state() go ahead and do it
3010                          * for us because it doesn't know how to deal
3011                          * with the possibility of jamming (and we don't
3012                          * want to build jamming into it because then it
3013                          * will run more slowly).
3014                          */
3015
3016                         yy_next_state = yy_try_NUL_trans( yy_current_state );
3017
3018                         yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3019
3020                         if ( yy_next_state )
3021                                 {
3022                                 /* Consume the NUL. */
3023                                 yy_cp = ++(yy_c_buf_p);
3024                                 yy_current_state = yy_next_state;
3025                                 goto yy_match;
3026                                 }
3027
3028                         else
3029                                 {
3030                                 yy_cp = (yy_c_buf_p);
3031                                 goto yy_find_action;
3032                                 }
3033                         }
3034
3035                 else switch ( yy_get_next_buffer(  ) )
3036                         {
3037                         case EOB_ACT_END_OF_FILE:
3038                                 {
3039                                 (yy_did_buffer_switch_on_eof) = 0;
3040
3041                                 if ( yywrap(  ) )
3042                                         {
3043                                         /* Note: because we've taken care in
3044                                          * yy_get_next_buffer() to have set up
3045                                          * yytext, we can now set up
3046                                          * yy_c_buf_p so that if some total
3047                                          * hoser (like flex itself) wants to
3048                                          * call the scanner after we return the
3049                                          * YY_NULL, it'll still work - another
3050                                          * YY_NULL will get returned.
3051                                          */
3052                                         (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
3053
3054                                         yy_act = YY_STATE_EOF(YY_START);
3055                                         goto do_action;
3056                                         }
3057
3058                                 else
3059                                         {
3060                                         if ( ! (yy_did_buffer_switch_on_eof) )
3061                                                 YY_NEW_FILE;
3062                                         }
3063                                 break;
3064                                 }
3065
3066                         case EOB_ACT_CONTINUE_SCAN:
3067                                 (yy_c_buf_p) =
3068                                         (yytext_ptr) + yy_amount_of_matched_text;
3069
3070                                 yy_current_state = yy_get_previous_state(  );
3071
3072                                 yy_cp = (yy_c_buf_p);
3073                                 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3074                                 goto yy_match;
3075
3076                         case EOB_ACT_LAST_MATCH:
3077                                 (yy_c_buf_p) =
3078                                 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
3079
3080                                 yy_current_state = yy_get_previous_state(  );
3081
3082                                 yy_cp = (yy_c_buf_p);
3083                                 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3084                                 goto yy_find_action;
3085                         }
3086                 break;
3087                 }
3088
3089         default:
3090                 YY_FATAL_ERROR(
3091                         "fatal flex scanner internal error--no action found" );
3092         } /* end of action switch */
3093                 } /* end of scanning one token */
3094         } /* end of user's declarations */
3095 } /* end of yylex */
3096
3097 /* yy_get_next_buffer - try to read in a new buffer
3098  *
3099  * Returns a code representing an action:
3100  *      EOB_ACT_LAST_MATCH -
3101  *      EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3102  *      EOB_ACT_END_OF_FILE - end of file
3103  */
3104 static int yy_get_next_buffer (void)
3105 {
3106         char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
3107         char *source = (yytext_ptr);
3108         int number_to_move, i;
3109         int ret_val;
3110
3111         if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
3112                 YY_FATAL_ERROR(
3113                 "fatal flex scanner internal error--end of buffer missed" );
3114
3115         if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
3116                 { /* Don't try to fill the buffer, so this is an EOF. */
3117                 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
3118                         {
3119                         /* We matched a single character, the EOB, so
3120                          * treat this as a final EOF.
3121                          */
3122                         return EOB_ACT_END_OF_FILE;
3123                         }
3124
3125                 else
3126                         {
3127                         /* We matched some text prior to the EOB, first
3128                          * process it.
3129                          */
3130                         return EOB_ACT_LAST_MATCH;
3131                         }
3132                 }
3133
3134         /* Try to read more data. */
3135
3136         /* First move last chars to start of buffer. */
3137         number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
3138
3139         for ( i = 0; i < number_to_move; ++i )
3140                 *(dest++) = *(source++);
3141
3142         if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
3143                 /* don't do the read, it's not guaranteed to return an EOF,
3144                  * just force an EOF
3145                  */
3146                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
3147
3148         else
3149                 {
3150                         int num_to_read =
3151                         YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
3152
3153                 while ( num_to_read <= 0 )
3154                         { /* Not enough room in the buffer - grow it. */
3155
3156                         /* just a shorter name for the current buffer */
3157                         YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
3158
3159                         int yy_c_buf_p_offset =
3160                                 (int) ((yy_c_buf_p) - b->yy_ch_buf);
3161
3162                         if ( b->yy_is_our_buffer )
3163                                 {
3164                                 int new_size = b->yy_buf_size * 2;
3165
3166                                 if ( new_size <= 0 )
3167                                         b->yy_buf_size += b->yy_buf_size / 8;
3168                                 else
3169                                         b->yy_buf_size *= 2;
3170
3171                                 b->yy_ch_buf = (char *)
3172                                         /* Include room in for 2 EOB chars. */
3173                                         yyrealloc( (void *) b->yy_ch_buf,
3174                                                          (yy_size_t) (b->yy_buf_size + 2)  );
3175                                 }
3176                         else
3177                                 /* Can't grow it, we don't own it. */
3178                                 b->yy_ch_buf = NULL;
3179
3180                         if ( ! b->yy_ch_buf )
3181                                 YY_FATAL_ERROR(
3182                                 "fatal error - scanner input buffer overflow" );
3183
3184                         (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
3185
3186                         num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
3187                                                 number_to_move - 1;
3188
3189                         }
3190
3191                 if ( num_to_read > YY_READ_BUF_SIZE )
3192                         num_to_read = YY_READ_BUF_SIZE;
3193
3194                 /* Read in more data. */
3195                 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
3196                         (yy_n_chars), num_to_read );
3197
3198                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3199                 }
3200
3201         if ( (yy_n_chars) == 0 )
3202                 {
3203                 if ( number_to_move == YY_MORE_ADJ )
3204                         {
3205                         ret_val = EOB_ACT_END_OF_FILE;
3206                         yyrestart( yyin  );
3207                         }
3208
3209                 else
3210                         {
3211                         ret_val = EOB_ACT_LAST_MATCH;
3212                         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
3213                                 YY_BUFFER_EOF_PENDING;
3214                         }
3215                 }
3216
3217         else
3218                 ret_val = EOB_ACT_CONTINUE_SCAN;
3219
3220         if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
3221                 /* Extend the array by 50%, plus the number we really need. */
3222                 int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
3223                 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
3224                         (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size  );
3225                 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3226                         YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
3227                 /* "- 2" to take care of EOB's */
3228                 YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
3229         }
3230
3231         (yy_n_chars) += number_to_move;
3232         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
3233         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
3234
3235         (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
3236
3237         return ret_val;
3238 }
3239
3240 /* yy_get_previous_state - get the state just before the EOB char was reached */
3241
3242     static yy_state_type yy_get_previous_state (void)
3243 {
3244         yy_state_type yy_current_state;
3245         char *yy_cp;
3246     
3247         yy_current_state = (yy_start);
3248
3249         for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
3250                 {
3251                 YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3252                 if ( yy_accept[yy_current_state] )
3253                         {
3254                         (yy_last_accepting_state) = yy_current_state;
3255                         (yy_last_accepting_cpos) = yy_cp;
3256                         }
3257                 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3258                         {
3259                         yy_current_state = (int) yy_def[yy_current_state];
3260                         if ( yy_current_state >= 775 )
3261                                 yy_c = yy_meta[yy_c];
3262                         }
3263                 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
3264                 }
3265
3266         return yy_current_state;
3267 }
3268
3269 /* yy_try_NUL_trans - try to make a transition on the NUL character
3270  *
3271  * synopsis
3272  *      next_state = yy_try_NUL_trans( current_state );
3273  */
3274     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
3275 {
3276         int yy_is_jam;
3277         char *yy_cp = (yy_c_buf_p);
3278
3279         YY_CHAR yy_c = 1;
3280         if ( yy_accept[yy_current_state] )
3281                 {
3282                 (yy_last_accepting_state) = yy_current_state;
3283                 (yy_last_accepting_cpos) = yy_cp;
3284                 }
3285         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3286                 {
3287                 yy_current_state = (int) yy_def[yy_current_state];
3288                 if ( yy_current_state >= 775 )
3289                         yy_c = yy_meta[yy_c];
3290                 }
3291         yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
3292         yy_is_jam = (yy_current_state == 774);
3293
3294                 return yy_is_jam ? 0 : yy_current_state;
3295 }
3296
3297 #ifndef YY_NO_UNPUT
3298
3299 #endif
3300
3301 #ifndef YY_NO_INPUT
3302 #ifdef __cplusplus
3303     static int yyinput (void)
3304 #else
3305     static int input  (void)
3306 #endif
3307
3308 {
3309         int c;
3310     
3311         *(yy_c_buf_p) = (yy_hold_char);
3312
3313         if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
3314                 {
3315                 /* yy_c_buf_p now points to the character we want to return.
3316                  * If this occurs *before* the EOB characters, then it's a
3317                  * valid NUL; if not, then we've hit the end of the buffer.
3318                  */
3319                 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3320                         /* This was really a NUL. */
3321                         *(yy_c_buf_p) = '\0';
3322
3323                 else
3324                         { /* need more input */
3325                         int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
3326                         ++(yy_c_buf_p);
3327
3328                         switch ( yy_get_next_buffer(  ) )
3329                                 {
3330                                 case EOB_ACT_LAST_MATCH:
3331                                         /* This happens because yy_g_n_b()
3332                                          * sees that we've accumulated a
3333                                          * token and flags that we need to
3334                                          * try matching the token before
3335                                          * proceeding.  But for input(),
3336                                          * there's no matching to consider.
3337                                          * So convert the EOB_ACT_LAST_MATCH
3338                                          * to EOB_ACT_END_OF_FILE.
3339                                          */
3340
3341                                         /* Reset buffer status. */
3342                                         yyrestart( yyin );
3343
3344                                         /*FALLTHROUGH*/
3345
3346                                 case EOB_ACT_END_OF_FILE:
3347                                         {
3348                                         if ( yywrap(  ) )
3349                                                 return 0;
3350
3351                                         if ( ! (yy_did_buffer_switch_on_eof) )
3352                                                 YY_NEW_FILE;
3353 #ifdef __cplusplus
3354                                         return yyinput();
3355 #else
3356                                         return input();
3357 #endif
3358                                         }
3359
3360                                 case EOB_ACT_CONTINUE_SCAN:
3361                                         (yy_c_buf_p) = (yytext_ptr) + offset;
3362                                         break;
3363                                 }
3364                         }
3365                 }
3366
3367         c = *(unsigned char *) (yy_c_buf_p);    /* cast for 8-bit char's */
3368         *(yy_c_buf_p) = '\0';   /* preserve yytext */
3369         (yy_hold_char) = *++(yy_c_buf_p);
3370
3371         if ( c == '\n' )
3372                 
3373     yylineno++;
3374 ;
3375
3376         return c;
3377 }
3378 #endif  /* ifndef YY_NO_INPUT */
3379
3380 /** Immediately switch to a different input stream.
3381  * @param input_file A readable stream.
3382  * 
3383  * @note This function does not reset the start condition to @c INITIAL .
3384  */
3385     void yyrestart  (FILE * input_file )
3386 {
3387     
3388         if ( ! YY_CURRENT_BUFFER ){
3389         yyensure_buffer_stack ();
3390                 YY_CURRENT_BUFFER_LVALUE =
3391             yy_create_buffer( yyin, YY_BUF_SIZE );
3392         }
3393
3394         yy_init_buffer( YY_CURRENT_BUFFER, input_file );
3395         yy_load_buffer_state(  );
3396 }
3397
3398 /** Switch to a different input buffer.
3399  * @param new_buffer The new input buffer.
3400  * 
3401  */
3402     void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
3403 {
3404     
3405         /* TODO. We should be able to replace this entire function body
3406          * with
3407          *              yypop_buffer_state();
3408          *              yypush_buffer_state(new_buffer);
3409      */
3410         yyensure_buffer_stack ();
3411         if ( YY_CURRENT_BUFFER == new_buffer )
3412                 return;
3413
3414         if ( YY_CURRENT_BUFFER )
3415                 {
3416                 /* Flush out information for old buffer. */
3417                 *(yy_c_buf_p) = (yy_hold_char);
3418                 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3419                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3420                 }
3421
3422         YY_CURRENT_BUFFER_LVALUE = new_buffer;
3423         yy_load_buffer_state(  );
3424
3425         /* We don't actually know whether we did this switch during
3426          * EOF (yywrap()) processing, but the only time this flag
3427          * is looked at is after yywrap() is called, so it's safe
3428          * to go ahead and always set it.
3429          */
3430         (yy_did_buffer_switch_on_eof) = 1;
3431 }
3432
3433 static void yy_load_buffer_state  (void)
3434 {
3435         (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3436         (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
3437         yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
3438         (yy_hold_char) = *(yy_c_buf_p);
3439 }
3440
3441 /** Allocate and initialize an input buffer state.
3442  * @param file A readable stream.
3443  * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
3444  * 
3445  * @return the allocated buffer state.
3446  */
3447     YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
3448 {
3449         YY_BUFFER_STATE b;
3450     
3451         b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
3452         if ( ! b )
3453                 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3454
3455         b->yy_buf_size = size;
3456
3457         /* yy_ch_buf has to be 2 characters longer than the size given because
3458          * we need to put in 2 end-of-buffer characters.
3459          */
3460         b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2)  );
3461         if ( ! b->yy_ch_buf )
3462                 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3463
3464         b->yy_is_our_buffer = 1;
3465
3466         yy_init_buffer( b, file );
3467
3468         return b;
3469 }
3470
3471 /** Destroy the buffer.
3472  * @param b a buffer created with yy_create_buffer()
3473  * 
3474  */
3475     void yy_delete_buffer (YY_BUFFER_STATE  b )
3476 {
3477     
3478         if ( ! b )
3479                 return;
3480
3481         if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
3482                 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
3483
3484         if ( b->yy_is_our_buffer )
3485                 yyfree( (void *) b->yy_ch_buf  );
3486
3487         yyfree( (void *) b  );
3488 }
3489
3490 /* Initializes or reinitializes a buffer.
3491  * This function is sometimes called more than once on the same buffer,
3492  * such as during a yyrestart() or at EOF.
3493  */
3494     static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
3495
3496 {
3497         int oerrno = errno;
3498     
3499         yy_flush_buffer( b );
3500
3501         b->yy_input_file = file;
3502         b->yy_fill_buffer = 1;
3503
3504     /* If b is the current buffer, then yy_init_buffer was _probably_
3505      * called from yyrestart() or through yy_get_next_buffer.
3506      * In that case, we don't want to reset the lineno or column.
3507      */
3508     if (b != YY_CURRENT_BUFFER){
3509         b->yy_bs_lineno = 1;
3510         b->yy_bs_column = 0;
3511     }
3512
3513         b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
3514     
3515         errno = oerrno;
3516 }
3517
3518 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
3519  * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
3520  * 
3521  */
3522     void yy_flush_buffer (YY_BUFFER_STATE  b )
3523 {
3524         if ( ! b )
3525                 return;
3526
3527         b->yy_n_chars = 0;
3528
3529         /* We always need two end-of-buffer characters.  The first causes
3530          * a transition to the end-of-buffer state.  The second causes
3531          * a jam in that state.
3532          */
3533         b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3534         b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3535
3536         b->yy_buf_pos = &b->yy_ch_buf[0];
3537
3538         b->yy_at_bol = 1;
3539         b->yy_buffer_status = YY_BUFFER_NEW;
3540
3541         if ( b == YY_CURRENT_BUFFER )
3542                 yy_load_buffer_state(  );
3543 }
3544
3545 /** Pushes the new state onto the stack. The new state becomes
3546  *  the current state. This function will allocate the stack
3547  *  if necessary.
3548  *  @param new_buffer The new state.
3549  *  
3550  */
3551 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
3552 {
3553         if (new_buffer == NULL)
3554                 return;
3555
3556         yyensure_buffer_stack();
3557
3558         /* This block is copied from yy_switch_to_buffer. */
3559         if ( YY_CURRENT_BUFFER )
3560                 {
3561                 /* Flush out information for old buffer. */
3562                 *(yy_c_buf_p) = (yy_hold_char);
3563                 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3564                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3565                 }
3566
3567         /* Only push if top exists. Otherwise, replace top. */
3568         if (YY_CURRENT_BUFFER)
3569                 (yy_buffer_stack_top)++;
3570         YY_CURRENT_BUFFER_LVALUE = new_buffer;
3571
3572         /* copied from yy_switch_to_buffer. */
3573         yy_load_buffer_state(  );
3574         (yy_did_buffer_switch_on_eof) = 1;
3575 }
3576
3577 /** Removes and deletes the top of the stack, if present.
3578  *  The next element becomes the new top.
3579  *  
3580  */
3581 void yypop_buffer_state (void)
3582 {
3583         if (!YY_CURRENT_BUFFER)
3584                 return;
3585
3586         yy_delete_buffer(YY_CURRENT_BUFFER );
3587         YY_CURRENT_BUFFER_LVALUE = NULL;
3588         if ((yy_buffer_stack_top) > 0)
3589                 --(yy_buffer_stack_top);
3590
3591         if (YY_CURRENT_BUFFER) {
3592                 yy_load_buffer_state(  );
3593                 (yy_did_buffer_switch_on_eof) = 1;
3594         }
3595 }
3596
3597 /* Allocates the stack if it does not exist.
3598  *  Guarantees space for at least one push.
3599  */
3600 static void yyensure_buffer_stack (void)
3601 {
3602         yy_size_t num_to_alloc;
3603     
3604         if (!(yy_buffer_stack)) {
3605
3606                 /* First allocation is just for 2 elements, since we don't know if this
3607                  * scanner will even need a stack. We use 2 instead of 1 to avoid an
3608                  * immediate realloc on the next call.
3609          */
3610       num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
3611                 (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
3612                                                                 (num_to_alloc * sizeof(struct yy_buffer_state*)
3613                                                                 );
3614                 if ( ! (yy_buffer_stack) )
3615                         YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3616
3617                 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
3618
3619                 (yy_buffer_stack_max) = num_to_alloc;
3620                 (yy_buffer_stack_top) = 0;
3621                 return;
3622         }
3623
3624         if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
3625
3626                 /* Increase the buffer to prepare for a possible push. */
3627                 yy_size_t grow_size = 8 /* arbitrary grow size */;
3628
3629                 num_to_alloc = (yy_buffer_stack_max) + grow_size;
3630                 (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
3631                                                                 ((yy_buffer_stack),
3632                                                                 num_to_alloc * sizeof(struct yy_buffer_state*)
3633                                                                 );
3634                 if ( ! (yy_buffer_stack) )
3635                         YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3636
3637                 /* zero only the new slots.*/
3638                 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
3639                 (yy_buffer_stack_max) = num_to_alloc;
3640         }
3641 }
3642
3643 /** Setup the input buffer state to scan directly from a user-specified character buffer.
3644  * @param base the character buffer
3645  * @param size the size in bytes of the character buffer
3646  * 
3647  * @return the newly allocated buffer state object.
3648  */
3649 YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
3650 {
3651         YY_BUFFER_STATE b;
3652     
3653         if ( size < 2 ||
3654              base[size-2] != YY_END_OF_BUFFER_CHAR ||
3655              base[size-1] != YY_END_OF_BUFFER_CHAR )
3656                 /* They forgot to leave room for the EOB's. */
3657                 return NULL;
3658
3659         b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
3660         if ( ! b )
3661                 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
3662
3663         b->yy_buf_size = (int) (size - 2);      /* "- 2" to take care of EOB's */
3664         b->yy_buf_pos = b->yy_ch_buf = base;
3665         b->yy_is_our_buffer = 0;
3666         b->yy_input_file = NULL;
3667         b->yy_n_chars = b->yy_buf_size;
3668         b->yy_is_interactive = 0;
3669         b->yy_at_bol = 1;
3670         b->yy_fill_buffer = 0;
3671         b->yy_buffer_status = YY_BUFFER_NEW;
3672
3673         yy_switch_to_buffer( b  );
3674
3675         return b;
3676 }
3677
3678 /** Setup the input buffer state to scan a string. The next call to yylex() will
3679  * scan from a @e copy of @a str.
3680  * @param yystr a NUL-terminated string to scan
3681  * 
3682  * @return the newly allocated buffer state object.
3683  * @note If you want to scan bytes that may contain NUL values, then use
3684  *       yy_scan_bytes() instead.
3685  */
3686 YY_BUFFER_STATE yy_scan_string (const char * yystr )
3687 {
3688     
3689         return yy_scan_bytes( yystr, (int) strlen(yystr) );
3690 }
3691
3692 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
3693  * scan from a @e copy of @a bytes.
3694  * @param yybytes the byte buffer to scan
3695  * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
3696  * 
3697  * @return the newly allocated buffer state object.
3698  */
3699 YY_BUFFER_STATE yy_scan_bytes  (const char * yybytes, int  _yybytes_len )
3700 {
3701         YY_BUFFER_STATE b;
3702         char *buf;
3703         yy_size_t n;
3704         int i;
3705     
3706         /* Get memory for full buffer, including space for trailing EOB's. */
3707         n = (yy_size_t) (_yybytes_len + 2);
3708         buf = (char *) yyalloc( n  );
3709         if ( ! buf )
3710                 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
3711
3712         for ( i = 0; i < _yybytes_len; ++i )
3713                 buf[i] = yybytes[i];
3714
3715         buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
3716
3717         b = yy_scan_buffer( buf, n );
3718         if ( ! b )
3719                 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
3720
3721         /* It's okay to grow etc. this buffer, and we should throw it
3722          * away when we're done.
3723          */
3724         b->yy_is_our_buffer = 1;
3725
3726         return b;
3727 }
3728
3729     static void yy_push_state (int  _new_state )
3730 {
3731         if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
3732                 {
3733                 yy_size_t new_size;
3734
3735                 (yy_start_stack_depth) += YY_START_STACK_INCR;
3736                 new_size = (yy_size_t) (yy_start_stack_depth) * sizeof( int );
3737
3738                 if ( ! (yy_start_stack) )
3739                         (yy_start_stack) = (int *) yyalloc( new_size  );
3740
3741                 else
3742                         (yy_start_stack) = (int *) yyrealloc(
3743                                         (void *) (yy_start_stack), new_size  );
3744
3745                 if ( ! (yy_start_stack) )
3746                         YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
3747                 }
3748
3749         (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
3750
3751         BEGIN(_new_state);
3752 }
3753
3754     static void yy_pop_state  (void)
3755 {
3756         if ( --(yy_start_stack_ptr) < 0 )
3757                 YY_FATAL_ERROR( "start-condition stack underflow" );
3758
3759         BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
3760 }
3761
3762 #ifndef YY_EXIT_FAILURE
3763 #define YY_EXIT_FAILURE 2
3764 #endif
3765
3766 static void yynoreturn yy_fatal_error (const char* msg )
3767 {
3768                         fprintf( stderr, "%s\n", msg );
3769         exit( YY_EXIT_FAILURE );
3770 }
3771
3772 /* Redefine yyless() so it works in section 3 code. */
3773
3774 #undef yyless
3775 #define yyless(n) \
3776         do \
3777                 { \
3778                 /* Undo effects of setting up yytext. */ \
3779         int yyless_macro_arg = (n); \
3780         YY_LESS_LINENO(yyless_macro_arg);\
3781                 yytext[yyleng] = (yy_hold_char); \
3782                 (yy_c_buf_p) = yytext + yyless_macro_arg; \
3783                 (yy_hold_char) = *(yy_c_buf_p); \
3784                 *(yy_c_buf_p) = '\0'; \
3785                 yyleng = yyless_macro_arg; \
3786                 } \
3787         while ( 0 )
3788
3789 /* Accessor  methods (get/set functions) to struct members. */
3790
3791 /** Get the current line number.
3792  * 
3793  */
3794 int yyget_lineno  (void)
3795 {
3796     
3797     return yylineno;
3798 }
3799
3800 /** Get the input stream.
3801  * 
3802  */
3803 FILE *yyget_in  (void)
3804 {
3805         return yyin;
3806 }
3807
3808 /** Get the output stream.
3809  * 
3810  */
3811 FILE *yyget_out  (void)
3812 {
3813         return yyout;
3814 }
3815
3816 /** Get the length of the current token.
3817  * 
3818  */
3819 int yyget_leng  (void)
3820 {
3821         return yyleng;
3822 }
3823
3824 /** Get the current token.
3825  * 
3826  */
3827
3828 char *yyget_text  (void)
3829 {
3830         return yytext;
3831 }
3832
3833 /** Set the current line number.
3834  * @param _line_number line number
3835  * 
3836  */
3837 void yyset_lineno (int  _line_number )
3838 {
3839     
3840     yylineno = _line_number;
3841 }
3842
3843 /** Set the input stream. This does not discard the current
3844  * input buffer.
3845  * @param _in_str A readable stream.
3846  * 
3847  * @see yy_switch_to_buffer
3848  */
3849 void yyset_in (FILE *  _in_str )
3850 {
3851         yyin = _in_str ;
3852 }
3853
3854 void yyset_out (FILE *  _out_str )
3855 {
3856         yyout = _out_str ;
3857 }
3858
3859 int yyget_debug  (void)
3860 {
3861         return yy_flex_debug;
3862 }
3863
3864 void yyset_debug (int  _bdebug )
3865 {
3866         yy_flex_debug = _bdebug ;
3867 }
3868
3869 static int yy_init_globals (void)
3870 {
3871         /* Initialization is the same as for the non-reentrant scanner.
3872      * This function is called from yylex_destroy(), so don't allocate here.
3873      */
3874
3875     /* We do not touch yylineno unless the option is enabled. */
3876     yylineno =  1;
3877     
3878     (yy_buffer_stack) = NULL;
3879     (yy_buffer_stack_top) = 0;
3880     (yy_buffer_stack_max) = 0;
3881     (yy_c_buf_p) = NULL;
3882     (yy_init) = 0;
3883     (yy_start) = 0;
3884
3885     (yy_start_stack_ptr) = 0;
3886     (yy_start_stack_depth) = 0;
3887     (yy_start_stack) =  NULL;
3888
3889 /* Defined in main.c */
3890 #ifdef YY_STDINIT
3891     yyin = stdin;
3892     yyout = stdout;
3893 #else
3894     yyin = NULL;
3895     yyout = NULL;
3896 #endif
3897
3898     /* For future reference: Set errno on error, since we are called by
3899      * yylex_init()
3900      */
3901     return 0;
3902 }
3903
3904 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
3905 int yylex_destroy  (void)
3906 {
3907     
3908     /* Pop the buffer stack, destroying each element. */
3909         while(YY_CURRENT_BUFFER){
3910                 yy_delete_buffer( YY_CURRENT_BUFFER  );
3911                 YY_CURRENT_BUFFER_LVALUE = NULL;
3912                 yypop_buffer_state();
3913         }
3914
3915         /* Destroy the stack itself. */
3916         yyfree((yy_buffer_stack) );
3917         (yy_buffer_stack) = NULL;
3918
3919     /* Destroy the start condition stack. */
3920         yyfree( (yy_start_stack)  );
3921         (yy_start_stack) = NULL;
3922
3923     /* Reset the globals. This is important in a non-reentrant scanner so the next time
3924      * yylex() is called, initialization will occur. */
3925     yy_init_globals( );
3926
3927     return 0;
3928 }
3929
3930 /*
3931  * Internal utility routines.
3932  */
3933
3934 #ifndef yytext_ptr
3935 static void yy_flex_strncpy (char* s1, const char * s2, int n )
3936 {
3937                 
3938         int i;
3939         for ( i = 0; i < n; ++i )
3940                 s1[i] = s2[i];
3941 }
3942 #endif
3943
3944 #ifdef YY_NEED_STRLEN
3945 static int yy_flex_strlen (const char * s )
3946 {
3947         int n;
3948         for ( n = 0; s[n]; ++n )
3949                 ;
3950
3951         return n;
3952 }
3953 #endif
3954
3955 void *yyalloc (yy_size_t  size )
3956 {
3957                         return malloc(size);
3958 }
3959
3960 void *yyrealloc  (void * ptr, yy_size_t  size )
3961 {
3962                 
3963         /* The cast to (char *) in the following accommodates both
3964          * implementations that use char* generic pointers, and those
3965          * that use void* generic pointers.  It works with the latter
3966          * because both ANSI C and C++ allow castless assignment from
3967          * any pointer type to void*, and deal with argument conversions
3968          * as though doing an assignment.
3969          */
3970         return realloc(ptr, size);
3971 }
3972
3973 void yyfree (void * ptr )
3974 {
3975                         free( (char *) ptr );   /* see yyrealloc() for (char *) cast */
3976 }
3977
3978 #define YYTABLES_NAME "yytables"
3979
3980 /* Element context stack lookup. */
3981 int dax__element_context(int i)
3982 {
3983   return (0<i && i<yy_start_stack_depth
3984           ? yy_start_stack[yy_start_stack_ptr - i]
3985           : 0);
3986 }
3987
3988 #ifdef FLEX_DEBUG
3989 void print_yy_stack(char* fmt, ...)
3990 {
3991   int i = 0; va_list ap; va_start(ap, fmt);
3992   vfprintf(stderr, fmt, ap);
3993   if (dax__statenames) {
3994       for (i=1; i<yy_start_stack_ptr; i++) {
3995           fprintf(stderr, "%s/", dax__statenames[yy_start_stack[i] ]);
3996       }
3997       fprintf(stderr,"%s\n", dax__statenames[YY_START]);
3998   }
3999   va_end(ap);
4000 }
4001
4002 void print_dax__bufferstack()
4003 {
4004     int i;
4005     fputs("Buffer: ", stderr);
4006     for (i = 0; i < blimit; i++) {
4007        if ( dax__bufferstack[i] == '\377' ) break;
4008          putc(dax__bufferstack[i], stderr);
4009     }
4010     putc('\n', stderr);
4011 }
4012
4013 static void debug_enter(int state, const char* statename) {
4014   yy_push_state(state);
4015   if (yy_flex_debug) {
4016        print_yy_stack("--ENTER(%s) : ",statename);
4017        print_dax__bufferstack();
4018   }
4019 }
4020
4021 static void debug_leave(void) {
4022     if (yy_flex_debug) {
4023         print_yy_stack("--LEAVE : ");
4024         print_dax__bufferstack();
4025     }
4026   yy_pop_state();
4027 }
4028
4029 static void debug_set(int state, const char* statename) {
4030   BEGIN(state);
4031   if (yy_flex_debug) print_yy_stack("--SET(%s) : ",statename);
4032 }
4033 #endif
4034
4035 static void cleanup(void)
4036 {
4037     if (dax__statenames) {
4038         free(dax__statenames);
4039         dax__statenames = NULL;
4040     }
4041     free(dax__bufferstack);
4042     dax__bufferstack = NULL;
4043
4044     free(indexstack);
4045     indexstack = NULL;
4046 }
4047
4048 static int fail(const char* fmt, ...)
4049 {
4050     int chars_left, used;
4051     va_list ap; va_start(ap, fmt);
4052 #ifdef FLEXML_yylineno
4053     used = sprintf(flexml_err_msg, "Invalid XML (XML input line %d, state %d): ", yylineno, YY_START);
4054 #else
4055     used  = sprintf(flexml_err_msg, "Invalid XML (state %d): ", YY_START);
4056 #endif
4057     chars_left = flexml_max_err_msg_size - used - 1;
4058     vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
4059     va_end(ap);
4060
4061 #ifndef FLEXML_quiet_parser
4062     /* print directly to sdterr */
4063     fprintf(stderr, "%s\n", flexml_err_msg);
4064     flexml_err_msg[0] = '\0';
4065 #endif
4066
4067     cleanup();
4068
4069     return 1;
4070 }
4071