Logo AND Algorithmique Numérique Distribuée

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