Logo AND Algorithmique Numérique Distribuée

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