Logo AND Algorithmique Numérique Distribuée

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