Logo AND Algorithmique Numérique Distribuée

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