1 #line 2 "surf/surfxml.c"
3 #line 4 "surf/surfxml.c"
5 #define YY_INT_ALIGNED short int
7 /* A lexical scanner generated by flex */
10 #define YY_FLEX_MAJOR_VERSION 2
11 #define YY_FLEX_MINOR_VERSION 5
12 #define YY_FLEX_SUBMINOR_VERSION 31
13 #if YY_FLEX_SUBMINOR_VERSION > 0
17 /* First, we deal with platform-specific or compiler-specific issues. */
19 /* begin standard C headers. */
25 /* end standard C headers. */
27 /* flex integer type definitions */
32 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
34 #if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
36 typedef int8_t flex_int8_t;
37 typedef uint8_t flex_uint8_t;
38 typedef int16_t flex_int16_t;
39 typedef uint16_t flex_uint16_t;
40 typedef int32_t flex_int32_t;
41 typedef uint32_t flex_uint32_t;
43 typedef signed char flex_int8_t;
44 typedef short int flex_int16_t;
45 typedef int flex_int32_t;
46 typedef unsigned char flex_uint8_t;
47 typedef unsigned short int flex_uint16_t;
48 typedef unsigned int flex_uint32_t;
51 /* Limits of integral types. */
53 #define INT8_MIN (-128)
56 #define INT16_MIN (-32767-1)
59 #define INT32_MIN (-2147483647-1)
62 #define INT8_MAX (127)
65 #define INT16_MAX (32767)
68 #define INT32_MAX (2147483647)
71 #define UINT8_MAX (255U)
74 #define UINT16_MAX (65535U)
77 #define UINT32_MAX (4294967295U)
80 #endif /* ! FLEXINT_H */
84 /* The "const" storage-class-modifier is valid. */
87 #else /* ! __cplusplus */
94 #endif /* ! __cplusplus */
102 /* Returned upon end-of-file. */
105 /* Promotes a possibly negative, possibly signed char to an unsigned
106 * integer for use as an array index. If the signed char is negative,
107 * we want to instead treat it as an 8-bit unsigned char, hence the
110 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
112 /* Enter a start condition. This macro really ought to take a parameter,
113 * but we do it the disgusting crufty way forced on us by the ()-less
114 * definition of BEGIN.
116 #define BEGIN (yy_start) = 1 + 2 *
118 /* Translate the current start state into a value that can be later handed
119 * to BEGIN to return to the state. The YYSTATE alias is for lex
122 #define YY_START (((yy_start) - 1) / 2)
123 #define YYSTATE YY_START
125 /* Action number for EOF rule of a given start state. */
126 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
128 /* Special action meaning "start processing a new file". */
129 #define YY_NEW_FILE surf_parse_restart(surf_parse_in )
131 #define YY_END_OF_BUFFER_CHAR 0
133 /* Size of default input buffer. */
135 #define YY_BUF_SIZE 16384
138 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
139 #define YY_TYPEDEF_YY_BUFFER_STATE
140 typedef struct yy_buffer_state *YY_BUFFER_STATE;
143 extern int surf_parse_leng;
145 extern FILE *surf_parse_in, *surf_parse_out;
147 #define EOB_ACT_CONTINUE_SCAN 0
148 #define EOB_ACT_END_OF_FILE 1
149 #define EOB_ACT_LAST_MATCH 2
151 /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
152 * access to the local variable yy_act. Since yyless() is a macro, it would break
153 * existing scanners that call yyless() from OUTSIDE surf_parse_lex.
154 * One obvious solution it to make yy_act a global. I tried that, and saw
155 * a 5% performance hit in a non-surf_parse_lineno scanner, because yy_act is
156 * normally declared as a register variable-- so it is not worth it.
158 #define YY_LESS_LINENO(n) \
161 for ( yyl = n; yyl < surf_parse_leng; ++yyl )\
162 if ( surf_parse_text[yyl] == '\n' )\
163 --surf_parse_lineno;\
166 /* Return all but the first "n" matched characters back to the input stream. */
170 /* Undo effects of setting up surf_parse_text. */ \
171 int yyless_macro_arg = (n); \
172 YY_LESS_LINENO(yyless_macro_arg);\
173 *yy_cp = (yy_hold_char); \
174 YY_RESTORE_YY_MORE_OFFSET \
175 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
176 YY_DO_BEFORE_ACTION; /* set up surf_parse_text again */ \
180 #define unput(c) yyunput( c, (yytext_ptr) )
182 /* The following is because we cannot portably get our hands on size_t
183 * (without autoconf's help, which isn't available because we want
184 * flex-generated scanners to compile on their own).
187 #ifndef YY_TYPEDEF_YY_SIZE_T
188 #define YY_TYPEDEF_YY_SIZE_T
189 typedef unsigned int yy_size_t;
192 #ifndef YY_STRUCT_YY_BUFFER_STATE
193 #define YY_STRUCT_YY_BUFFER_STATE
194 struct yy_buffer_state
198 char *yy_ch_buf; /* input buffer */
199 char *yy_buf_pos; /* current position in input buffer */
201 /* Size of input buffer in bytes, not including room for EOB
204 yy_size_t yy_buf_size;
206 /* Number of characters read into yy_ch_buf, not including EOB
211 /* Whether we "own" the buffer - i.e., we know we created it,
212 * and can realloc() it to grow it, and should free() it to
215 int yy_is_our_buffer;
217 /* Whether this is an "interactive" input source; if so, and
218 * if we're using stdio for input, then we want to use getc()
219 * instead of fread(), to make sure we stop fetching input after
222 int yy_is_interactive;
224 /* Whether we're considered to be at the beginning of a line.
225 * If so, '^' rules will be active on the next match, otherwise
230 int yy_bs_lineno; /**< The line count. */
231 int yy_bs_column; /**< The column count. */
233 /* Whether to try to fill the input buffer when we reach the
238 int yy_buffer_status;
240 #define YY_BUFFER_NEW 0
241 #define YY_BUFFER_NORMAL 1
242 /* When an EOF's been seen but there's still some text to process
243 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
244 * shouldn't try reading from the input source any more. We might
245 * still have a bunch of tokens to match, though, because of
246 * possible backing-up.
248 * When we actually see the EOF, we change the status to "new"
249 * (via surf_parse_restart()), so that the user can continue scanning by
250 * just pointing surf_parse_in at a new input file.
252 #define YY_BUFFER_EOF_PENDING 2
255 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
257 /* Stack of input buffers. */
258 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
259 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
260 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
262 /* We provide macros for accessing buffer states in case in the
263 * future we want to put the buffer states in a more general
266 * Returns the top of the stack, or NULL.
268 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
269 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
272 /* Same as previous macro, but useful when we know that the buffer stack is not
273 * NULL or when we need an lvalue. For internal use only.
275 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
277 /* yy_hold_char holds the character lost when surf_parse_text is formed. */
278 static char yy_hold_char;
279 static int yy_n_chars; /* number of characters read into yy_ch_buf */
282 /* Points to current character in buffer. */
283 static char *yy_c_buf_p = (char *) 0;
284 static int yy_init = 1; /* whether we need to initialize */
285 static int yy_start = 0; /* start state number */
287 /* Flag which is used to allow surf_parse_wrap()'s to do buffer switches
288 * instead of setting up a fresh surf_parse_in. A bit of a hack ...
290 static int yy_did_buffer_switch_on_eof;
292 void surf_parse_restart (FILE *input_file );
293 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer );
294 YY_BUFFER_STATE surf_parse__create_buffer (FILE *file,int size );
295 void surf_parse__delete_buffer (YY_BUFFER_STATE b );
296 void surf_parse__flush_buffer (YY_BUFFER_STATE b );
297 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer );
298 void surf_parse_pop_buffer_state (void );
300 static void surf_parse_ensure_buffer_stack (void );
301 static void surf_parse__load_buffer_state (void );
302 static void surf_parse__init_buffer (YY_BUFFER_STATE b,FILE *file );
304 #define YY_FLUSH_BUFFER surf_parse__flush_buffer(YY_CURRENT_BUFFER )
306 YY_BUFFER_STATE surf_parse__scan_buffer (char *base,yy_size_t size );
307 YY_BUFFER_STATE surf_parse__scan_string (yyconst char *yy_str );
308 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char *bytes,int len );
310 void *surf_parse_alloc (yy_size_t );
311 void *surf_parse_realloc (void *,yy_size_t );
312 void surf_parse_free (void * );
314 #define yy_new_buffer surf_parse__create_buffer
316 #define yy_set_interactive(is_interactive) \
318 if ( ! YY_CURRENT_BUFFER ){ \
319 surf_parse_ensure_buffer_stack (); \
320 YY_CURRENT_BUFFER_LVALUE = \
321 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
323 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
326 #define yy_set_bol(at_bol) \
328 if ( ! YY_CURRENT_BUFFER ){\
329 surf_parse_ensure_buffer_stack (); \
330 YY_CURRENT_BUFFER_LVALUE = \
331 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
333 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
336 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
338 /* Begin user sect3 */
340 #define surf_parse_wrap(n) 1
341 #define YY_SKIP_YYWRAP
343 typedef unsigned char YY_CHAR;
345 FILE *surf_parse_in = (FILE *) 0, *surf_parse_out = (FILE *) 0;
347 typedef int yy_state_type;
349 extern int surf_parse_lineno;
351 int surf_parse_lineno = 1;
353 extern char *surf_parse_text;
354 #define yytext_ptr surf_parse_text
356 static yy_state_type yy_get_previous_state (void );
357 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
358 static int yy_get_next_buffer (void );
359 static void yy_fatal_error (yyconst char msg[] );
361 /* Done after the current pattern has been matched and before the
362 * corresponding action - sets up surf_parse_text.
364 #define YY_DO_BEFORE_ACTION \
365 (yytext_ptr) = yy_bp; \
366 surf_parse_leng = (size_t) (yy_cp - yy_bp); \
367 (yy_hold_char) = *yy_cp; \
369 (yy_c_buf_p) = yy_cp;
371 #define YY_NUM_RULES 172
372 #define YY_END_OF_BUFFER 173
373 /* This struct is not used in this scanner,
374 but its presence is necessary. */
377 flex_int32_t yy_verify;
380 static yyconst flex_int16_t yy_accept[1285] =
382 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
383 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
384 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
385 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
386 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
387 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
388 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
389 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
390 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
391 0, 0, 173, 171, 22, 10, 10, 22, 22, 151,
393 10, 151, 5, 6, 5, 8, 9, 8, 167, 159,
394 160, 168, 165, 168, 166, 170, 159, 160, 170, 171,
395 26, 10, 26, 26, 26, 24, 30, 10, 30, 171,
396 30, 171, 36, 10, 36, 36, 36, 34, 36, 40,
397 10, 40, 40, 171, 66, 10, 66, 66, 66, 64,
398 66, 66, 66, 66, 66, 66, 70, 10, 70, 171,
399 90, 10, 90, 90, 90, 88, 90, 90, 90, 90,
400 94, 10, 94, 171, 110, 10, 110, 110, 110, 108,
401 110, 110, 110, 114, 10, 114, 171, 114, 120, 10,
402 120, 120, 120, 118, 120, 124, 10, 124, 171, 136,
404 10, 136, 136, 136, 134, 136, 136, 136, 136, 140,
405 10, 140, 171, 140, 146, 10, 146, 146, 146, 144,
406 146, 150, 10, 150, 168, 167, 10, 0, 2, 2,
407 0, 4, 7, 162, 161, 0, 0, 0, 0, 0,
408 0, 0, 25, 27, 0, 0, 0, 0, 0, 0,
409 35, 37, 37, 0, 65, 67, 67, 67, 67, 67,
410 67, 67, 0, 89, 91, 91, 91, 91, 91, 0,
411 109, 111, 111, 111, 111, 0, 0, 119, 121, 121,
412 0, 135, 137, 137, 137, 137, 137, 0, 0, 145,
413 147, 147, 0, 0, 0, 0, 0, 0, 0, 3,
415 0, 0, 0, 0, 0, 0, 0, 169, 0, 0,
416 0, 0, 0, 0, 0, 0, 37, 0, 0, 67,
417 67, 67, 67, 67, 67, 0, 0, 91, 91, 91,
418 91, 0, 0, 111, 111, 111, 0, 0, 0, 121,
419 0, 0, 137, 137, 137, 137, 0, 0, 0, 147,
420 0, 0, 0, 164, 0, 21, 1, 0, 0, 157,
421 0, 0, 0, 154, 153, 0, 0, 0, 0, 29,
422 0, 41, 0, 0, 0, 0, 37, 0, 0, 39,
423 0, 67, 67, 67, 67, 67, 67, 0, 0, 69,
424 0, 91, 91, 91, 91, 0, 0, 93, 0, 0,
426 0, 111, 0, 0, 0, 0, 113, 0, 0, 121,
427 0, 0, 123, 0, 137, 137, 137, 137, 0, 0,
428 139, 0, 0, 147, 0, 0, 149, 0, 0, 0,
429 0, 158, 152, 0, 0, 0, 0, 41, 0, 0,
430 0, 0, 0, 0, 0, 67, 67, 67, 0, 0,
431 67, 67, 0, 91, 91, 0, 0, 91, 0, 0,
432 99, 98, 111, 0, 97, 96, 0, 0, 0, 0,
433 0, 137, 0, 0, 137, 137, 0, 0, 147, 0,
434 0, 0, 0, 0, 12, 0, 155, 156, 0, 0,
435 0, 0, 0, 95, 0, 33, 32, 0, 67, 67,
437 67, 0, 43, 42, 0, 0, 0, 0, 67, 0,
438 68, 91, 91, 0, 73, 72, 0, 0, 91, 0,
439 111, 0, 0, 0, 117, 116, 0, 137, 0, 127,
440 126, 137, 137, 0, 0, 0, 0, 0, 0, 0,
441 0, 0, 11, 0, 0, 0, 0, 0, 95, 0,
442 67, 67, 67, 0, 45, 44, 0, 0, 0, 67,
443 91, 91, 0, 0, 0, 91, 0, 111, 0, 0,
444 0, 137, 137, 137, 0, 0, 0, 143, 142, 0,
445 0, 0, 0, 0, 0, 0, 31, 0, 125, 0,
446 67, 67, 67, 0, 0, 67, 91, 0, 0, 91,
448 0, 0, 91, 0, 111, 0, 112, 0, 0, 137,
449 137, 137, 0, 0, 0, 0, 0, 0, 0, 0,
450 0, 31, 0, 125, 0, 67, 67, 67, 0, 0,
451 0, 0, 67, 91, 0, 79, 78, 91, 0, 0,
452 0, 0, 91, 0, 111, 0, 0, 0, 0, 137,
453 137, 0, 141, 0, 163, 0, 0, 0, 0, 0,
454 0, 0, 38, 67, 67, 67, 0, 51, 0, 50,
455 67, 0, 0, 91, 91, 0, 83, 0, 82, 91,
456 0, 111, 0, 0, 0, 129, 128, 0, 0, 137,
457 0, 138, 141, 0, 0, 0, 0, 0, 0, 0,
459 0, 0, 0, 0, 0, 67, 67, 67, 53, 52,
460 0, 0, 0, 75, 74, 91, 91, 85, 84, 0,
461 0, 0, 111, 111, 0, 0, 0, 133, 132, 0,
462 0, 0, 148, 0, 0, 0, 0, 0, 0, 0,
463 0, 0, 0, 0, 0, 67, 67, 67, 0, 55,
464 54, 91, 91, 0, 87, 86, 0, 111, 111, 0,
465 0, 0, 131, 130, 0, 0, 0, 0, 0, 0,
466 0, 0, 0, 0, 0, 71, 0, 0, 67, 67,
467 67, 91, 0, 0, 0, 111, 111, 0, 0, 0,
468 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
470 0, 71, 0, 47, 46, 67, 67, 67, 67, 91,
471 0, 81, 80, 0, 0, 0, 111, 0, 0, 111,
472 115, 0, 0, 0, 0, 0, 0, 0, 0, 0,
473 0, 0, 0, 0, 0, 0, 67, 67, 67, 67,
474 0, 0, 0, 92, 0, 103, 102, 111, 0, 101,
475 100, 111, 115, 0, 0, 0, 0, 0, 0, 0,
476 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,
477 67, 67, 67, 0, 77, 76, 111, 111, 0, 122,
478 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
479 12, 0, 12, 0, 0, 0, 67, 67, 67, 67,
481 111, 111, 0, 0, 0, 0, 0, 0, 0, 0,
482 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
483 0, 0, 67, 0, 0, 111, 111, 0, 0, 0,
484 0, 0, 0, 0, 0, 0, 0, 0, 0, 49,
485 48, 0, 59, 58, 0, 57, 56, 67, 0, 63,
486 62, 111, 111, 0, 0, 0, 0, 0, 0, 0,
487 0, 11, 0, 0, 67, 111, 111, 0, 0, 0,
488 0, 0, 0, 0, 0, 23, 0, 67, 111, 111,
489 0, 0, 0, 0, 0, 0, 0, 0, 0, 23,
490 0, 67, 111, 111, 0, 0, 0, 0, 0, 0,
492 0, 0, 0, 0, 28, 0, 0, 111, 111, 0,
493 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
494 61, 60, 111, 111, 0, 0, 0, 0, 0, 0,
495 0, 0, 0, 0, 111, 111, 0, 0, 0, 0,
496 0, 0, 0, 0, 0, 0, 0, 0, 111, 111,
497 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
498 0, 0, 0, 111, 111, 0, 0, 0, 0, 0,
499 0, 0, 0, 0, 0, 0, 0, 0, 111, 111,
500 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
501 0, 0, 0, 111, 111, 0, 0, 0, 0, 0,
503 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
504 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
505 0, 0, 0, 0, 0, 0, 0, 107, 106, 0,
506 105, 104, 0, 0, 0, 0, 0, 0, 0, 0,
507 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
508 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
509 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
510 0, 0, 0, 0, 0, 0, 0, 0, 0, 15,
511 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
512 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
514 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
515 0, 0, 0, 17, 0, 0, 0, 0, 0, 0,
516 0, 0, 0, 0, 0, 0, 0, 16, 0, 0,
517 0, 0, 0, 20, 0, 0, 0, 13, 0, 0,
518 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
519 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
520 0, 0, 19, 0, 0, 0, 0, 0, 0, 14,
521 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
525 static yyconst flex_int32_t yy_ec[256] =
527 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
528 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
529 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
530 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
531 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
532 13, 13, 13, 13, 13, 13, 13, 14, 15, 16,
533 17, 18, 19, 1, 20, 21, 22, 23, 24, 25,
534 14, 14, 14, 14, 14, 14, 26, 27, 28, 29,
535 14, 14, 30, 31, 14, 14, 14, 14, 32, 14,
536 33, 1, 34, 1, 35, 1, 36, 37, 38, 39,
538 40, 41, 42, 43, 44, 14, 45, 46, 47, 48,
539 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
540 59, 14, 1, 1, 1, 1, 1, 1, 1, 1,
541 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
542 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
543 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
544 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
545 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
546 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
547 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
549 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
550 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
551 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
552 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
553 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
557 static yyconst flex_int32_t yy_meta[60] =
559 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
560 3, 1, 4, 5, 1, 1, 1, 6, 1, 7,
561 7, 7, 7, 7, 7, 5, 5, 5, 5, 5,
562 5, 5, 1, 1, 5, 7, 7, 7, 7, 7,
563 7, 5, 5, 5, 5, 5, 5, 5, 5, 5,
564 5, 5, 5, 5, 5, 5, 5, 5, 5
567 static yyconst flex_int16_t yy_base[1339] =
569 0, 0, 0, 3, 6, 9, 24, 27, 11, 14,
570 15, 17, 29, 38, 45, 52, 59, 61, 67, 70,
571 95, 129, 73, 76, 148, 151, 154, 157, 172, 175,
572 178, 181, 197, 238, 216, 219, 257, 260, 264, 279,
573 282, 285, 288, 303, 319, 0, 377, 380, 383, 386,
574 402, 0, 460, 463, 466, 469, 485, 538, 504, 507,
575 510, 557, 560, 563, 581, 584, 590, 599, 615, 663,
576 634, 637, 640, 643, 711, 0, 682, 685, 688, 691,
577 769, 772, 775, 778, 793, 796, 812, 868, 831, 834,
578 848, 887, 3593, 3594, 3594, 113, 116, 47, 62, 3594,
580 119, 167, 3594, 3594, 3582, 3594, 3594, 3573, 3594, 3586,
581 3586, 267, 3594, 3594, 3594, 3594, 3584, 3584, 3552, 585,
582 3594, 122, 3567, 0, 206, 3594, 3594, 224, 887, 888,
583 516, 570, 3594, 308, 3566, 0, 289, 3594, 3539, 3594,
584 312, 903, 593, 591, 3594, 513, 3564, 0, 517, 3594,
585 3525, 3532, 3543, 3542, 3528, 3522, 3594, 528, 836, 784,
586 3594, 566, 3557, 0, 576, 3594, 3538, 3537, 3536, 3517,
587 3594, 605, 848, 787, 3594, 658, 3552, 0, 594, 3594,
588 3516, 3521, 3515, 3594, 706, 892, 788, 893, 3594, 840,
589 3548, 0, 782, 3594, 3529, 3594, 855, 904, 844, 3594,
591 915, 3546, 0, 785, 3594, 3508, 3513, 3517, 3506, 3594,
592 925, 937, 929, 938, 3594, 956, 3541, 0, 891, 3594,
593 3522, 3594, 959, 959, 3552, 3522, 964, 34, 3497, 3594,
594 3544, 3535, 3594, 3594, 3594, 26, 35, 3498, 3497, 3495,
595 3531, 3502, 3594, 0, 3497, 3496, 3497, 3504, 3491, 3493,
596 3594, 0, 3495, 3496, 3594, 0, 3503, 3484, 3479, 3489,
597 3478, 3498, 3495, 3594, 0, 3484, 3477, 3483, 3493, 3480,
598 3594, 0, 3473, 3476, 3487, 3472, 3474, 3594, 0, 3475,
599 3469, 3594, 0, 3472, 3466, 3472, 3481, 3466, 3463, 3594,
600 0, 3468, 3477, 3479, 3493, 3492, 3499, 206, 3461, 3594,
602 75, 0, 3457, 3457, 3490, 3489, 3454, 3594, 3466, 972,
603 977, 3446, 3462, 3445, 3449, 3442, 3456, 980, 983, 3451,
604 3454, 3458, 3452, 3451, 3436, 989, 1000, 3450, 3448, 3447,
605 3432, 1006, 1009, 1012, 3449, 1017, 1033, 1036, 3429, 3443,
606 1039, 1042, 3444, 3427, 3434, 3427, 1059, 1062, 3436, 3422,
607 1065, 1068, 3454, 3594, 3457, 3594, 3594, 69, 3428, 3594,
608 3458, 3457, 3418, 3594, 3594, 3416, 3415, 1071, 1090, 3594,
609 1093, 1096, 3422, 3410, 3428, 3411, 1099, 1103, 1115, 3594,
610 1120, 3418, 3411, 3413, 1123, 3409, 3420, 1128, 1132, 3594,
611 1139, 3402, 3410, 1145, 3417, 1149, 1152, 3594, 1157, 1161,
613 1170, 3418, 1178, 1181, 1189, 1194, 3594, 1197, 3401, 1200,
614 1206, 1216, 3594, 1219, 3400, 1223, 3418, 3398, 1226, 1229,
615 3594, 1239, 3396, 3410, 1246, 1251, 3594, 1257, 3426, 234,
616 1263, 3594, 3594, 3433, 3432, 3405, 1268, 1274, 3390, 3395,
617 3403, 3402, 1281, 1287, 1298, 3405, 3399, 3384, 1301, 1304,
618 1317, 1321, 1324, 3394, 3399, 1328, 1337, 1333, 1345, 1349,
619 3594, 3594, 3382, 1358, 3594, 3594, 1367, 3395, 1370, 1373,
620 1386, 3390, 1389, 1392, 3379, 3397, 1405, 3384, 1408, 1411,
621 3410, 882, 3411, 1414, 3594, 3410, 3594, 3594, 3378, 1424,
622 3387, 3373, 3371, 1431, 1435, 3594, 3594, 1443, 3386, 3382,
624 3367, 1446, 3594, 3594, 1454, 1470, 1460, 1478, 3379, 1465,
625 3594, 3380, 3359, 1486, 3594, 3594, 1497, 1500, 3376, 1508,
626 3381, 1513, 3380, 1516, 3594, 3594, 1525, 3365, 1530, 3594,
627 3594, 3369, 3358, 1538, 3371, 1542, 1545, 1558, 3379, 240,
628 147, 109, 3594, 3357, 1564, 3368, 3362, 3353, 1567, 1570,
629 3361, 3352, 3361, 1577, 3594, 3594, 1587, 3374, 3373, 3356,
630 3345, 1595, 1598, 3370, 3369, 3352, 1613, 3346, 1616, 3354,
631 1619, 3345, 3345, 3347, 1622, 3342, 1639, 3594, 3594, 1648,
632 3369, 169, 151, 91, 3341, 1653, 1625, 3352, 1656, 1659,
633 3340, 3345, 3335, 141, 165, 3337, 3339, 1665, 1670, 3340,
635 250, 272, 3334, 1682, 3331, 1688, 3594, 3332, 1691, 1694,
636 3337, 3329, 1699, 3321, 1710, 3341, 1716, 456, 41, 3338,
637 1719, 1722, 3326, 1736, 1739, 3327, 3322, 3325, 3343, 3361,
638 3341, 3258, 3226, 1742, 1745, 3594, 3594, 3212, 3228, 3244,
639 3222, 3235, 3201, 1758, 3203, 3195, 1761, 1765, 1769, 1781,
640 3192, 1784, 1787, 1792, 3594, 1845, 178, 252, 3186, 1797,
641 3176, 1801, 3594, 3161, 3172, 3157, 3194, 3594, 3186, 3594,
642 1809, 1814, 1818, 3149, 2999, 3038, 3594, 3034, 3594, 1826,
643 1832, 994, 2995, 1835, 1852, 3594, 3594, 1862, 1865, 1882,
644 1888, 3594, 1838, 1898, 481, 633, 951, 260, 954, 509,
646 534, 562, 3001, 1901, 2992, 2980, 2996, 2993, 3594, 3594,
647 1905, 1908, 1921, 3594, 3594, 2990, 2993, 3594, 3594, 1929,
648 1932, 1940, 2974, 2974, 2983, 1945, 1948, 3594, 3594, 1957,
649 1962, 1973, 3594, 275, 519, 639, 808, 766, 871, 915,
650 978, 1004, 2969, 1976, 2974, 1979, 2983, 2981, 1984, 3594,
651 3594, 2963, 1995, 1998, 3594, 3594, 2006, 2931, 2946, 2914,
652 2015, 2019, 3594, 3594, 934, 2027, 765, 999, 976, 959,
653 1030, 768, 2032, 2772, 2035, 2038, 2044, 2054, 2766, 184,
654 2745, 2681, 2062, 2065, 2073, 2078, 2081, 2653, 2090, 1035,
655 2097, 970, 1010, 847, 1069, 1070, 2102, 2107, 2126, 2514,
657 2119, 2137, 2143, 3594, 3594, 2520, 2523, 2521, 2478, 2151,
658 2156, 3594, 3594, 2167, 2170, 2173, 2431, 2186, 2189, 2411,
659 2197, 2202, 1072, 1255, 1037, 1061, 1119, 1086, 2205, 2208,
660 2212, 2225, 2256, 2290, 2397, 2233, 2351, 2342, 2331, 2268,
661 2250, 2274, 2308, 3594, 2311, 3594, 3594, 2256, 2325, 3594,
662 3594, 2225, 2242, 2333, 1097, 5, 1126, 987, 1153, 1198,
663 2336, 1195, 2339, 848, 382, 2366, 2400, 2174, 2392, 2173,
664 2127, 2128, 2124, 2356, 3594, 3594, 2080, 2032, 2419, 3594,
665 1238, 1227, 2422, 895, 1159, 2425, 1262, 1168, 1291, 376,
666 2064, 383, 2050, 2428, 1973, 2446, 2284, 2449, 2452, 2455,
668 1962, 1829, 2458, 457, 2471, 1311, 1228, 2475, 1336, 1277,
669 1817, 1789, 1772, 2479, 1666, 2482, 2500, 2384, 2504, 2507,
670 2520, 2523, 1631, 2531, 2536, 1598, 1597, 2547, 928, 1365,
671 1218, 1294, 1368, 1347, 1221, 1545, 1426, 2550, 2553, 3594,
672 3594, 2567, 3594, 3594, 2576, 3594, 3594, 1411, 2584, 3594,
673 3594, 1266, 1262, 1387, 2593, 1406, 1412, 1341, 1467, 459,
674 1413, 3594, 1190, 2596, 1151, 1134, 1115, 1475, 2599, 1460,
675 1441, 1261, 1476, 1495, 1490, 2245, 2616, 1072, 1038, 902,
676 1506, 1505, 1532, 460, 2619, 1040, 634, 2622, 1366, 2488,
677 2625, 2629, 821, 768, 681, 1537, 1559, 1569, 2645, 1478,
679 1585, 2648, 2656, 2665, 3594, 2668, 2675, 753, 651, 1618,
680 1628, 1629, 2684, 1576, 1566, 2687, 1617, 1697, 2690, 2694,
681 3594, 3594, 667, 620, 2707, 1362, 1381, 2710, 1534, 1588,
682 2720, 1698, 1715, 1621, 601, 428, 2728, 1517, 1631, 1756,
683 1807, 1826, 1738, 1827, 1834, 1762, 1844, 1852, 358, 357,
684 1841, 1900, 1660, 1908, 1833, 1858, 682, 1686, 1951, 1971,
685 1646, 1714, 1897, 254, 195, 1977, 1997, 1690, 1921, 2026,
686 2044, 1903, 1954, 2055, 2079, 1815, 1927, 1711, 190, 115,
687 2084, 2096, 2002, 2115, 2071, 2125, 2737, 2069, 2143, 2145,
688 2025, 2133, 1944, 2740, 2745, 2176, 2178, 1859, 2163, 1993,
690 2221, 2750, 2761, 2223, 2224, 2132, 2204, 2767, 2770, 2774,
691 2786, 2789, 2286, 2298, 1902, 1919, 2237, 2285, 2179, 2300,
692 2797, 2303, 2329, 2380, 2402, 2802, 2810, 3594, 3594, 2819,
693 3594, 3594, 2345, 2420, 2307, 2396, 2220, 2315, 2215, 2334,
694 2124, 2331, 2393, 2424, 2426, 2427, 2477, 2452, 2453, 2525,
695 516, 2549, 2563, 2312, 2476, 2528, 2573, 2595, 2301, 2529,
696 2554, 2557, 2624, 2644, 2827, 2502, 2571, 2574, 2589, 2072,
697 2626, 2643, 2662, 2688, 2586, 2621, 2697, 2727, 2830, 3594,
698 2681, 2732, 2598, 2618, 2494, 2740, 2742, 2635, 1788, 2677,
699 2743, 2763, 2764, 2808, 2817, 2497, 2686, 2749, 2818, 2819,
701 2836, 2784, 2791, 2823, 2825, 2845, 2835, 2806, 2828, 2857,
702 2849, 2859, 2867, 3594, 2832, 2847, 2860, 2863, 2880, 2862,
703 2875, 2886, 2897, 2873, 2878, 2903, 2907, 3594, 2858, 2869,
704 2884, 2885, 2910, 3594, 2905, 2909, 2927, 3594, 2899, 2900,
705 2904, 2908, 2916, 2917, 2918, 2921, 2699, 2914, 2915, 2922,
706 2940, 2932, 2924, 2926, 2925, 2929, 2968, 2930, 2931, 2955,
707 2965, 2975, 3594, 2933, 2934, 2988, 2957, 2964, 2993, 3594,
708 2976, 2987, 2981, 2982, 2983, 2984, 2986, 2989, 3006, 2999,
709 3011, 3028, 3594, 3594, 3046, 3053, 3060, 3067, 3074, 3081,
710 3088, 3095, 3102, 3109, 3116, 3123, 3130, 3137, 3144, 3151,
712 3158, 3165, 3172, 3179, 3184, 3189, 3194, 3199, 3204, 3209,
713 3214, 3219, 3226, 3229, 3232, 3235, 3238, 3241, 3244, 3247,
714 3250, 3257, 3261, 3267, 3273, 3279, 3285, 3291, 3297, 3303,
715 3309, 3316, 3323, 3330, 3337, 3344, 3351, 3358
718 static yyconst flex_int16_t yy_def[1339] =
720 1285, 1285, 1286, 1286, 1286, 1286, 1287, 1287, 1288, 1288,
721 1289, 1289, 1290, 1290, 1290, 1290, 1291, 1291, 1285, 1285,
722 1292, 1292, 1293, 1293, 1285, 1285, 1293, 1293, 1293, 1293,
723 1285, 1285, 1294, 1294, 1295, 1295, 1285, 1285, 1295, 1295,
724 1295, 1295, 1285, 1285, 1284, 45, 1296, 1296, 1285, 1285,
725 1284, 51, 1297, 1297, 1285, 1285, 1298, 1298, 1299, 1299,
726 1285, 1285, 1299, 1299, 1299, 1299, 1285, 1285, 1300, 1300,
727 1301, 1301, 1285, 1285, 1284, 75, 1302, 1302, 1285, 1285,
728 1302, 1302, 1302, 1302, 1285, 1285, 1303, 1303, 1304, 1304,
729 1290, 1290, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
731 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
732 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
733 1284, 1284, 1284, 1305, 1284, 1284, 1284, 1284, 1284, 1284,
734 1284, 1284, 1284, 1284, 1284, 1306, 1284, 1284, 1306, 1284,
735 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1307, 1284, 1284,
736 1307, 1307, 1307, 1307, 1307, 1307, 1284, 1284, 1284, 1284,
737 1284, 1284, 1284, 1308, 1284, 1284, 1308, 1308, 1308, 1308,
738 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1309, 1284, 1284,
739 1309, 1309, 1309, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
740 1284, 1310, 1284, 1284, 1310, 1284, 1284, 1284, 1284, 1284,
742 1284, 1284, 1311, 1284, 1284, 1311, 1311, 1311, 1311, 1284,
743 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1312, 1284, 1284,
744 1312, 1284, 1284, 1284, 1284, 1284, 1284, 1313, 1284, 1284,
745 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
746 1284, 1284, 1284, 1305, 1314, 1284, 1284, 1284, 1284, 1284,
747 1284, 1306, 1306, 1315, 1284, 1307, 1307, 1307, 1307, 1307,
748 1307, 1307, 1316, 1284, 1308, 1308, 1308, 1308, 1308, 1317,
749 1284, 1309, 1309, 1309, 1309, 1318, 1284, 1284, 1310, 1310,
750 1319, 1284, 1311, 1311, 1311, 1311, 1311, 1320, 1284, 1284,
751 1312, 1312, 1321, 1284, 1284, 1322, 1284, 1322, 1284, 1284,
753 1284, 1323, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1324,
754 1324, 1284, 1284, 1284, 1284, 1284, 1306, 1325, 1325, 1307,
755 1307, 1307, 1307, 1307, 1307, 1326, 1326, 1308, 1308, 1308,
756 1308, 1327, 1327, 1309, 1309, 1309, 1328, 1328, 1284, 1310,
757 1329, 1329, 1311, 1311, 1311, 1311, 1330, 1330, 1284, 1312,
758 1331, 1331, 1284, 1284, 1322, 1284, 1284, 1322, 1284, 1284,
759 1323, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1324, 1284,
760 1324, 1284, 1284, 1284, 1284, 1284, 1306, 1284, 1325, 1284,
761 1325, 1307, 1307, 1307, 1307, 1307, 1307, 1284, 1326, 1284,
762 1326, 1308, 1308, 1308, 1308, 1284, 1327, 1284, 1327, 1284,
764 1284, 1309, 1284, 1284, 1284, 1328, 1284, 1328, 1284, 1310,
765 1284, 1329, 1284, 1329, 1311, 1311, 1311, 1311, 1284, 1330,
766 1284, 1330, 1284, 1312, 1284, 1331, 1284, 1331, 1284, 1322,
767 1332, 1284, 1284, 1284, 1284, 1284, 1324, 1284, 1284, 1284,
768 1284, 1284, 1284, 1284, 1325, 1307, 1307, 1307, 1284, 1284,
769 1307, 1307, 1326, 1308, 1308, 1284, 1284, 1308, 1327, 1284,
770 1284, 1284, 1309, 1284, 1284, 1284, 1328, 1284, 1284, 1284,
771 1329, 1311, 1284, 1284, 1311, 1311, 1330, 1284, 1312, 1331,
772 1284, 1322, 1332, 1332, 1284, 1332, 1284, 1284, 1284, 1324,
773 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1325, 1307, 1307,
775 1307, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1307, 1284,
776 1284, 1308, 1308, 1284, 1284, 1284, 1284, 1284, 1308, 1327,
777 1309, 1328, 1284, 1284, 1284, 1284, 1329, 1311, 1284, 1284,
778 1284, 1311, 1311, 1330, 1284, 1284, 1284, 1331, 1284, 1322,
779 1332, 1332, 1284, 1284, 1324, 1284, 1284, 1284, 1284, 1325,
780 1307, 1307, 1307, 1284, 1284, 1284, 1284, 1284, 1284, 1307,
781 1308, 1308, 1284, 1284, 1284, 1308, 1327, 1309, 1328, 1284,
782 1329, 1311, 1311, 1311, 1330, 1284, 1284, 1284, 1284, 1331,
783 1284, 1322, 1332, 1332, 1284, 1324, 1284, 1284, 1284, 1325,
784 1307, 1307, 1307, 1284, 1284, 1307, 1308, 1284, 1284, 1308,
786 1284, 1284, 1308, 1327, 1309, 1284, 1284, 1284, 1329, 1311,
787 1311, 1311, 1330, 1284, 1331, 1284, 1322, 1332, 1332, 1284,
788 1324, 1284, 1284, 1284, 1325, 1307, 1307, 1307, 1284, 1284,
789 1284, 1284, 1307, 1308, 1284, 1284, 1284, 1308, 1284, 1284,
790 1284, 1284, 1308, 1327, 1309, 1284, 1329, 1284, 1284, 1311,
791 1311, 1330, 1284, 1331, 1284, 1322, 1332, 1332, 1284, 1324,
792 1284, 1284, 1284, 1307, 1307, 1307, 1284, 1284, 1284, 1284,
793 1307, 1284, 1284, 1308, 1308, 1284, 1284, 1284, 1284, 1308,
794 1327, 1309, 1284, 1329, 1284, 1284, 1284, 1284, 1284, 1311,
795 1284, 1284, 1284, 1331, 1322, 1322, 1322, 1322, 1322, 1322,
797 1332, 1332, 1284, 1324, 1284, 1307, 1307, 1307, 1284, 1284,
798 1284, 1284, 1284, 1284, 1284, 1308, 1308, 1284, 1284, 1284,
799 1284, 1327, 1309, 1309, 1284, 1329, 1284, 1284, 1284, 1284,
800 1284, 1284, 1284, 1322, 1322, 1322, 1322, 1322, 1322, 1322,
801 1332, 1332, 1284, 1324, 1284, 1307, 1307, 1307, 1284, 1284,
802 1284, 1308, 1308, 1284, 1284, 1284, 1327, 1309, 1309, 1284,
803 1329, 1284, 1284, 1284, 1322, 1322, 1322, 1322, 1322, 1322,
804 1322, 1332, 1332, 1284, 1324, 1284, 1284, 1284, 1307, 1307,
805 1307, 1308, 1284, 1284, 1327, 1309, 1309, 1284, 1329, 1322,
806 1322, 1322, 1322, 1322, 1322, 1322, 1332, 1332, 1332, 1284,
808 1324, 1284, 1284, 1284, 1284, 1307, 1307, 1307, 1307, 1308,
809 1284, 1284, 1284, 1327, 1284, 1284, 1309, 1284, 1284, 1309,
810 1284, 1329, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1332,
811 1332, 1332, 1333, 1334, 1284, 1324, 1307, 1307, 1307, 1307,
812 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1309, 1284, 1284,
813 1284, 1309, 1284, 1329, 1322, 1322, 1322, 1322, 1322, 1322,
814 1322, 1322, 1332, 1335, 1336, 1333, 1334, 1284, 1324, 1307,
815 1307, 1307, 1307, 1284, 1284, 1284, 1309, 1309, 1284, 1284,
816 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1335, 1332,
817 1337, 1336, 1338, 1332, 1284, 1324, 1307, 1307, 1307, 1307,
819 1309, 1309, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322,
820 1337, 1284, 1338, 1332, 1284, 1324, 1284, 1284, 1284, 1284,
821 1284, 1284, 1307, 1284, 1284, 1309, 1309, 1322, 1322, 1322,
822 1322, 1322, 1322, 1322, 1322, 1284, 1284, 1324, 1284, 1284,
823 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1307, 1284, 1284,
824 1284, 1309, 1309, 1322, 1322, 1322, 1322, 1322, 1322, 1322,
825 1322, 1284, 1284, 1324, 1307, 1309, 1309, 1322, 1322, 1322,
826 1322, 1322, 1322, 1322, 1322, 1284, 1324, 1307, 1309, 1309,
827 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1284,
828 1324, 1307, 1309, 1309, 1322, 1322, 1322, 1322, 1322, 1322,
830 1322, 1322, 1322, 1284, 1284, 1284, 1284, 1309, 1309, 1322,
831 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1284,
832 1284, 1284, 1309, 1309, 1322, 1322, 1322, 1322, 1322, 1322,
833 1322, 1322, 1322, 1322, 1309, 1309, 1322, 1322, 1322, 1322,
834 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1309, 1309,
835 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322,
836 1322, 1322, 1322, 1309, 1309, 1322, 1322, 1322, 1322, 1322,
837 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1309, 1309,
838 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322,
839 1322, 1322, 1322, 1309, 1309, 1322, 1322, 1322, 1322, 1322,
841 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1284, 1284,
842 1284, 1284, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322,
843 1322, 1322, 1322, 1322, 1322, 1322, 1284, 1284, 1284, 1284,
844 1284, 1284, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322,
845 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322,
846 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322,
847 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322,
848 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1284,
849 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322,
850 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322,
852 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322,
853 1322, 1322, 1322, 1284, 1322, 1322, 1322, 1322, 1322, 1322,
854 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1284, 1322, 1322,
855 1322, 1322, 1322, 1284, 1322, 1322, 1322, 1284, 1322, 1322,
856 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322,
857 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322,
858 1322, 1322, 1284, 1322, 1322, 1322, 1322, 1322, 1322, 1284,
859 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322,
860 1322, 1322, 1284, 0, 1284, 1284, 1284, 1284, 1284, 1284,
861 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
863 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
864 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
865 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
866 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284
869 static yyconst flex_int16_t yy_nxt[3654] =
871 1284, 96, 97, 96, 96, 97, 96, 96, 97, 96,
872 96, 97, 96, 104, 1284, 98, 104, 107, 98, 107,
873 105, 99, 356, 105, 99, 101, 97, 101, 101, 97,
874 101, 110, 111, 108, 882, 108, 112, 113, 301, 102,
875 110, 111, 102, 297, 114, 112, 113, 110, 111, 1284,
876 115, 228, 112, 114, 110, 111, 298, 115, 485, 112,
877 114, 117, 118, 117, 118, 229, 228, 114, 97, 97,
878 97, 97, 97, 97, 128, 97, 128, 128, 97, 128,
879 230, 303, 120, 302, 304, 120, 356, 301, 129, 360,
880 430, 129, 119, 658, 119, 121, 122, 97, 122, 121,
882 121, 121, 121, 121, 121, 121, 123, 121, 485, 121,
883 125, 121, 126, 121, 227, 227, 227, 227, 227, 227,
884 227, 227, 227, 227, 227, 227, 485, 121, 121, 121,
885 122, 97, 122, 121, 121, 121, 121, 121, 121, 121,
886 123, 121, 619, 121, 125, 121, 126, 121, 584, 97,
887 97, 97, 97, 97, 97, 128, 97, 128, 128, 97,
888 128, 121, 121, 130, 485, 629, 130, 630, 485, 129,
889 1095, 231, 129, 128, 97, 128, 128, 97, 128, 97,
890 97, 97, 97, 97, 97, 230, 356, 131, 618, 631,
891 131, 632, 617, 132, 583, 485, 132, 133, 134, 97,
893 134, 133, 133, 133, 133, 133, 133, 133, 135, 133,
894 231, 133, 137, 133, 138, 133, 701, 141, 97, 141,
895 141, 97, 141, 356, 230, 227, 227, 227, 1094, 133,
896 133, 142, 1080, 358, 142, 807, 808, 139, 133, 134,
897 97, 134, 133, 133, 133, 133, 133, 133, 133, 135,
898 133, 356, 133, 137, 133, 138, 133, 356, 97, 97,
899 97, 97, 97, 97, 482, 141, 97, 141, 582, 485,
900 133, 133, 130, 236, 639, 130, 640, 356, 139, 142,
901 141, 97, 141, 141, 97, 141, 141, 97, 141, 97,
902 97, 97, 356, 231, 142, 702, 641, 143, 642, 737,
904 143, 1079, 237, 144, 97, 97, 97, 230, 238, 227,
905 227, 227, 239, 227, 227, 227, 765, 240, 144, 145,
906 146, 97, 146, 145, 145, 145, 145, 145, 145, 145,
907 147, 145, 148, 145, 149, 145, 150, 145, 148, 148,
908 148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
909 148, 145, 145, 148, 151, 148, 148, 148, 148, 148,
910 148, 148, 152, 148, 148, 153, 154, 148, 155, 148,
911 148, 156, 148, 148, 148, 148, 148, 148, 158, 97,
912 158, 158, 97, 158, 97, 97, 97, 97, 97, 97,
913 890, 890, 159, 485, 486, 159, 1065, 1064, 160, 893,
915 893, 160, 161, 162, 97, 162, 161, 161, 161, 161,
916 161, 161, 161, 163, 161, 164, 161, 165, 161, 166,
917 161, 164, 164, 164, 164, 164, 164, 164, 164, 164,
918 164, 164, 164, 164, 161, 161, 164, 164, 167, 164,
919 164, 164, 164, 164, 164, 164, 164, 168, 164, 169,
920 164, 164, 164, 164, 170, 164, 164, 164, 164, 164,
921 164, 172, 97, 172, 172, 97, 172, 97, 97, 97,
922 97, 97, 97, 485, 356, 173, 356, 356, 173, 1050,
923 929, 174, 974, 998, 174, 175, 176, 97, 176, 175,
924 175, 175, 175, 175, 175, 175, 177, 175, 356, 175,
926 179, 175, 180, 175, 657, 185, 97, 185, 185, 97,
927 185, 97, 97, 97, 227, 227, 227, 175, 175, 186,
928 231, 231, 186, 181, 1165, 187, 356, 245, 182, 227,
929 227, 227, 734, 356, 230, 230, 356, 183, 175, 176,
930 97, 176, 175, 175, 175, 175, 175, 175, 175, 177,
931 175, 485, 175, 179, 175, 180, 175, 740, 97, 97,
932 97, 185, 97, 185, 185, 97, 185, 227, 227, 227,
933 175, 175, 187, 766, 231, 186, 181, 741, 186, 485,
934 231, 182, 185, 97, 185, 185, 97, 185, 230, 231,
935 183, 97, 97, 97, 230, 231, 188, 231, 231, 188,
937 97, 97, 97, 230, 254, 187, 227, 227, 227, 230,
938 742, 230, 230, 247, 187, 189, 190, 97, 190, 189,
939 189, 189, 189, 189, 189, 189, 191, 189, 246, 189,
940 193, 189, 194, 189, 242, 197, 97, 197, 197, 97,
941 197, 97, 97, 97, 97, 97, 97, 189, 189, 198,
942 356, 356, 198, 1049, 1036, 199, 356, 1001, 199, 227,
943 227, 227, 195, 189, 190, 97, 190, 189, 189, 189,
944 189, 189, 189, 189, 191, 189, 767, 189, 193, 189,
945 194, 189, 735, 211, 97, 211, 211, 97, 211, 97,
946 97, 97, 97, 97, 97, 189, 189, 212, 356, 356,
948 212, 1035, 1024, 213, 1010, 1072, 213, 227, 227, 227,
949 195, 200, 201, 97, 201, 200, 200, 200, 200, 200,
950 200, 200, 202, 200, 203, 200, 204, 200, 205, 200,
951 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
952 203, 203, 203, 200, 200, 203, 203, 203, 203, 203,
953 203, 206, 203, 207, 203, 208, 203, 203, 203, 203,
954 203, 203, 203, 209, 203, 203, 203, 203, 203, 203,
955 211, 97, 211, 211, 97, 211, 211, 97, 211, 211,
956 97, 211, 356, 356, 212, 485, 231, 212, 231, 231,
957 214, 231, 231, 214, 97, 97, 97, 97, 97, 97,
959 230, 769, 230, 230, 1023, 230, 230, 1009, 213, 797,
960 792, 213, 215, 216, 97, 216, 215, 215, 215, 215,
961 215, 215, 215, 217, 215, 356, 215, 219, 215, 220,
962 215, 248, 223, 97, 223, 223, 97, 223, 250, 277,
963 231, 227, 227, 227, 215, 215, 224, 263, 231, 224,
964 110, 111, 231, 890, 230, 112, 227, 227, 227, 270,
965 1008, 768, 230, 225, 356, 891, 230, 221, 215, 216,
966 97, 216, 215, 215, 215, 215, 215, 215, 215, 217,
967 215, 226, 215, 219, 215, 220, 215, 827, 356, 110,
968 111, 231, 231, 249, 112, 231, 231, 231, 245, 356,
970 215, 215, 225, 276, 276, 230, 230, 231, 231, 230,
971 230, 230, 356, 540, 254, 281, 227, 227, 227, 770,
972 226, 230, 230, 221, 246, 246, 227, 227, 227, 906,
973 247, 247, 356, 231, 248, 248, 249, 249, 250, 250,
974 246, 231, 231, 277, 994, 356, 247, 230, 288, 288,
975 248, 356, 249, 955, 250, 230, 230, 227, 227, 227,
976 227, 227, 227, 231, 289, 227, 227, 227, 356, 771,
977 293, 356, 289, 368, 368, 368, 356, 230, 368, 368,
978 368, 378, 378, 378, 378, 378, 378, 356, 790, 370,
979 388, 388, 388, 356, 370, 485, 795, 380, 736, 738,
981 380, 388, 388, 388, 356, 739, 390, 396, 396, 396,
982 396, 396, 396, 400, 400, 400, 356, 390, 403, 403,
983 403, 485, 371, 398, 825, 772, 398, 356, 401, 794,
984 381, 884, 723, 404, 405, 405, 405, 405, 405, 405,
985 411, 411, 411, 411, 411, 411, 724, 356, 399, 391,
986 407, 773, 356, 407, 356, 793, 413, 356, 826, 413,
987 419, 419, 419, 419, 419, 419, 425, 425, 425, 425,
988 425, 425, 368, 368, 368, 857, 421, 1000, 356, 421,
989 993, 823, 427, 796, 408, 427, 356, 356, 370, 356,
990 414, 368, 368, 368, 368, 368, 368, 438, 438, 438,
992 443, 443, 443, 356, 378, 378, 378, 370, 828, 829,
993 370, 855, 858, 422, 356, 444, 378, 378, 378, 428,
994 380, 378, 378, 378, 449, 449, 449, 992, 437, 388,
995 388, 388, 380, 388, 388, 388, 356, 380, 860, 450,
996 388, 388, 388, 356, 881, 390, 456, 456, 456, 390,
997 396, 396, 396, 396, 396, 396, 390, 445, 396, 396,
998 396, 457, 400, 400, 400, 883, 398, 859, 980, 398,
999 356, 460, 460, 460, 398, 461, 356, 401, 462, 403,
1000 403, 403, 464, 464, 464, 356, 465, 979, 978, 466,
1001 405, 405, 405, 453, 404, 405, 405, 405, 405, 405,
1003 405, 469, 469, 469, 885, 907, 407, 411, 411, 411,
1004 459, 407, 356, 910, 407, 356, 470, 411, 411, 411,
1005 411, 411, 411, 413, 473, 473, 473, 419, 419, 419,
1006 419, 419, 419, 413, 888, 356, 413, 976, 356, 474,
1007 419, 419, 419, 421, 356, 356, 421, 425, 425, 425,
1008 886, 467, 425, 425, 425, 356, 421, 904, 425, 425,
1009 425, 957, 932, 427, 484, 484, 484, 961, 427, 368,
1010 368, 368, 356, 471, 427, 438, 438, 438, 356, 356,
1011 485, 486, 443, 443, 443, 370, 856, 477, 495, 495,
1012 495, 903, 496, 909, 356, 497, 890, 444, 480, 378,
1014 378, 378, 449, 449, 449, 502, 502, 502, 891, 503,
1015 967, 356, 504, 986, 966, 380, 935, 450, 505, 505,
1016 505, 490, 507, 507, 507, 510, 510, 510, 356, 456,
1017 456, 456, 958, 506, 517, 517, 517, 508, 514, 514,
1018 514, 511, 515, 498, 457, 516, 396, 396, 396, 518,
1019 460, 460, 460, 356, 461, 509, 931, 462, 356, 464,
1020 464, 464, 398, 465, 356, 934, 466, 519, 405, 405,
1021 405, 469, 469, 469, 524, 524, 524, 960, 525, 356,
1022 972, 526, 356, 356, 407, 356, 470, 411, 411, 411,
1023 473, 473, 473, 529, 529, 529, 956, 530, 356, 959,
1025 531, 520, 1038, 413, 356, 474, 419, 419, 419, 536,
1026 536, 536, 425, 425, 425, 484, 484, 484, 968, 1003,
1027 522, 1039, 421, 356, 537, 368, 368, 368, 427, 356,
1028 356, 485, 549, 549, 549, 970, 495, 495, 495, 527,
1029 496, 370, 534, 497, 378, 378, 378, 502, 502, 502,
1030 965, 503, 975, 541, 504, 505, 505, 505, 356, 971,
1031 380, 507, 507, 507, 545, 538, 510, 510, 510, 542,
1032 506, 554, 554, 554, 963, 555, 508, 356, 556, 557,
1033 557, 557, 511, 558, 356, 985, 559, 514, 514, 514,
1034 984, 515, 356, 356, 516, 356, 973, 550, 517, 517,
1036 517, 563, 563, 563, 981, 564, 987, 356, 565, 396,
1037 396, 396, 356, 518, 405, 405, 405, 524, 524, 524,
1038 988, 525, 356, 356, 526, 398, 411, 411, 411, 1015,
1039 407, 529, 529, 529, 356, 530, 995, 989, 531, 419,
1040 419, 419, 413, 536, 536, 536, 577, 577, 577, 356,
1041 578, 356, 569, 579, 356, 421, 567, 996, 537, 425,
1042 425, 425, 962, 1042, 571, 368, 368, 368, 549, 549,
1043 549, 378, 378, 378, 1053, 427, 356, 575, 554, 554,
1044 554, 370, 555, 356, 997, 556, 356, 380, 557, 557,
1045 557, 1011, 558, 356, 1013, 559, 598, 598, 598, 563,
1047 563, 563, 356, 564, 580, 356, 565, 1029, 590, 1030,
1048 1016, 599, 586, 1012, 396, 396, 396, 606, 606, 606,
1049 411, 411, 411, 419, 419, 419, 622, 622, 622, 600,
1050 398, 953, 952, 607, 356, 356, 413, 1043, 356, 421,
1051 577, 577, 577, 1025, 578, 356, 356, 579, 356, 425,
1052 425, 425, 1048, 609, 368, 368, 368, 624, 624, 624,
1053 378, 378, 378, 356, 604, 427, 598, 598, 598, 1032,
1054 370, 635, 635, 635, 613, 636, 380, 356, 637, 1026,
1055 1027, 599, 948, 396, 396, 396, 1076, 615, 1054, 606,
1056 606, 606, 411, 411, 411, 648, 648, 648, 625, 398,
1058 419, 419, 419, 356, 621, 607, 1068, 356, 413, 937,
1059 649, 425, 425, 425, 356, 356, 421, 656, 656, 656,
1060 368, 368, 368, 622, 622, 622, 644, 427, 356, 1073,
1061 647, 356, 356, 356, 1093, 1083, 370, 624, 624, 624,
1062 662, 662, 662, 672, 672, 672, 635, 635, 635, 1033,
1063 636, 652, 1046, 637, 1077, 356, 663, 654, 673, 396,
1064 396, 396, 411, 411, 411, 660, 648, 648, 648, 1047,
1065 685, 685, 685, 356, 686, 398, 674, 687, 413, 356,
1066 912, 649, 688, 688, 688, 691, 691, 691, 693, 693,
1067 693, 1058, 681, 425, 425, 425, 1201, 689, 368, 368,
1069 368, 692, 662, 662, 662, 356, 684, 936, 1055, 427,
1070 711, 711, 711, 1061, 370, 672, 672, 672, 663, 713,
1071 713, 713, 912, 714, 356, 712, 715, 720, 720, 720,
1072 673, 704, 356, 396, 396, 396, 411, 411, 411, 693,
1073 693, 693, 721, 356, 356, 694, 656, 656, 656, 398,
1074 356, 356, 413, 685, 685, 685, 1057, 686, 356, 1056,
1075 687, 356, 356, 688, 688, 688, 727, 727, 727, 356,
1076 728, 927, 1091, 729, 726, 356, 356, 722, 689, 1059,
1077 695, 1063, 696, 730, 730, 730, 1060, 1070, 697, 691,
1078 691, 691, 698, 1066, 699, 1062, 700, 1115, 731, 732,
1080 732, 732, 368, 368, 368, 692, 711, 711, 711, 749,
1081 749, 749, 1071, 750, 356, 733, 751, 356, 370, 356,
1082 356, 712, 713, 713, 713, 356, 714, 1078, 1087, 715,
1083 720, 720, 720, 754, 754, 754, 356, 755, 356, 744,
1084 756, 396, 396, 396, 356, 721, 411, 411, 411, 727,
1085 727, 727, 1067, 728, 1069, 1135, 729, 398, 730, 730,
1086 730, 356, 413, 762, 762, 762, 1084, 763, 356, 1108,
1087 764, 356, 1136, 731, 732, 732, 732, 368, 368, 368,
1088 777, 777, 777, 757, 1092, 749, 749, 749, 356, 750,
1089 733, 761, 751, 370, 356, 778, 783, 783, 783, 754,
1091 754, 754, 1088, 755, 926, 1074, 756, 396, 396, 396,
1092 356, 784, 1098, 779, 356, 775, 411, 411, 411, 356,
1093 762, 762, 762, 398, 763, 1075, 915, 764, 791, 791,
1094 791, 1081, 413, 798, 798, 798, 368, 368, 368, 802,
1095 802, 802, 356, 356, 356, 777, 777, 777, 799, 485,
1096 1117, 1082, 370, 785, 789, 803, 803, 803, 912, 804,
1097 778, 356, 805, 783, 783, 783, 811, 811, 811, 912,
1098 812, 1106, 356, 813, 396, 396, 396, 1085, 784, 815,
1099 815, 815, 818, 818, 818, 902, 356, 801, 356, 356,
1100 398, 411, 411, 411, 816, 1086, 356, 819, 791, 791,
1102 791, 356, 1185, 830, 830, 830, 1089, 413, 798, 798,
1103 798, 1100, 817, 356, 356, 820, 1103, 814, 831, 485,
1104 368, 368, 368, 799, 485, 1099, 824, 832, 832, 832,
1105 1090, 833, 356, 901, 834, 1096, 370, 822, 802, 802,
1106 802, 356, 356, 485, 803, 803, 803, 1097, 804, 356,
1107 356, 805, 841, 841, 841, 1156, 836, 811, 811, 811,
1108 356, 812, 356, 900, 813, 1101, 899, 842, 843, 843,
1109 843, 815, 815, 815, 845, 845, 845, 1124, 846, 1107,
1110 356, 847, 898, 1104, 844, 1105, 816, 818, 818, 818,
1111 849, 849, 849, 356, 850, 356, 356, 851, 853, 853,
1113 853, 1116, 819, 411, 411, 411, 861, 861, 861, 830,
1114 830, 830, 897, 863, 863, 863, 1113, 864, 1114, 413,
1115 865, 356, 356, 895, 831, 485, 832, 832, 832, 485,
1116 833, 1139, 356, 834, 368, 368, 368, 356, 356, 862,
1117 356, 356, 485, 853, 853, 853, 990, 990, 990, 1125,
1118 370, 841, 841, 841, 356, 854, 483, 483, 483, 483,
1119 483, 483, 483, 483, 483, 1152, 842, 483, 878, 1154,
1120 483, 483, 483, 485, 483, 874, 874, 874, 1118, 875,
1121 1122, 1123, 876, 1137, 869, 917, 917, 917, 483, 483,
1122 483, 483, 483, 483, 483, 483, 483, 483, 483, 877,
1124 918, 483, 356, 356, 483, 483, 483, 485, 483, 843,
1125 843, 843, 845, 845, 845, 356, 846, 356, 356, 847,
1126 356, 873, 483, 483, 356, 844, 849, 849, 849, 356,
1127 850, 1138, 356, 851, 879, 879, 879, 861, 861, 861,
1128 863, 863, 863, 1133, 864, 1150, 356, 865, 356, 1142,
1129 880, 356, 1140, 356, 1173, 1134, 485, 874, 874, 874,
1130 1153, 875, 356, 1168, 876, 887, 483, 483, 483, 483,
1131 483, 894, 483, 483, 483, 1143, 1157, 483, 872, 871,
1132 483, 483, 483, 485, 483, 939, 939, 939, 1155, 940,
1133 1144, 1148, 941, 368, 368, 368, 870, 356, 483, 483,
1135 483, 483, 483, 483, 483, 483, 483, 483, 894, 370,
1136 356, 483, 1145, 356, 483, 483, 483, 485, 483, 356,
1137 879, 879, 879, 905, 905, 905, 908, 908, 908, 914,
1138 914, 914, 483, 483, 1151, 896, 880, 356, 1158, 356,
1139 868, 356, 356, 356, 356, 485, 486, 368, 368, 368,
1140 919, 919, 919, 921, 921, 921, 924, 924, 924, 928,
1141 928, 928, 1159, 370, 1160, 920, 1149, 852, 922, 356,
1142 356, 925, 905, 905, 905, 356, 908, 908, 908, 1161,
1143 914, 914, 914, 368, 368, 368, 923, 848, 356, 990,
1144 990, 990, 356, 356, 356, 916, 485, 1163, 1164, 370,
1146 930, 917, 917, 917, 933, 919, 919, 919, 942, 942,
1147 942, 356, 943, 840, 356, 944, 918, 1198, 541, 356,
1148 920, 921, 921, 921, 945, 945, 945, 1169, 946, 1162,
1149 1165, 947, 924, 924, 924, 938, 922, 949, 949, 949,
1150 1181, 950, 356, 1208, 951, 356, 356, 925, 928, 928,
1151 928, 368, 368, 368, 939, 939, 939, 1170, 940, 1166,
1152 839, 941, 838, 837, 356, 835, 356, 370, 942, 942,
1153 942, 356, 943, 1167, 356, 944, 954, 945, 945, 945,
1154 356, 946, 1174, 1171, 947, 949, 949, 949, 356, 950,
1155 356, 356, 951, 964, 969, 969, 969, 368, 368, 368,
1157 969, 969, 969, 356, 982, 1172, 356, 983, 1175, 1182,
1158 356, 1176, 356, 370, 1183, 356, 356, 368, 368, 368,
1159 999, 999, 999, 1002, 1002, 1002, 1004, 1004, 1004, 1184,
1160 1006, 1006, 1006, 370, 1177, 356, 356, 1190, 356, 356,
1161 1201, 356, 1005, 356, 977, 1007, 999, 999, 999, 1002,
1162 1002, 1002, 356, 1017, 1178, 1196, 1018, 1019, 1019, 1019,
1163 356, 356, 356, 991, 1186, 356, 1004, 1004, 1004, 1006,
1164 1006, 1006, 1191, 356, 1014, 1197, 1020, 1020, 1020, 356,
1165 1021, 1187, 1005, 1022, 1007, 1028, 1028, 1028, 1031, 1031,
1166 1031, 1019, 1019, 1019, 356, 1020, 1020, 1020, 356, 1021,
1168 1188, 356, 1022, 356, 356, 356, 821, 356, 1037, 1037,
1169 1037, 1028, 1028, 1028, 356, 1040, 356, 1202, 1041, 1034,
1170 810, 1031, 1031, 1031, 356, 1044, 1189, 356, 1045, 1037,
1171 1037, 1037, 1209, 1051, 1194, 1192, 1052, 356, 1102, 1102,
1172 1102, 1109, 1109, 1109, 356, 356, 1111, 1111, 1111, 356,
1173 1253, 1102, 1102, 1102, 356, 1119, 1110, 356, 1120, 356,
1174 356, 1112, 1121, 1121, 1121, 1193, 356, 356, 1126, 1126,
1175 1126, 1109, 1109, 1109, 1210, 1127, 1127, 1127, 356, 1128,
1176 356, 356, 1129, 1203, 356, 1195, 1110, 1111, 1111, 1111,
1177 1130, 1130, 1130, 1199, 1131, 1200, 809, 1132, 1121, 1121,
1179 1121, 356, 1112, 1126, 1126, 1126, 806, 1146, 356, 800,
1180 1147, 1127, 1127, 1127, 356, 1128, 1204, 1205, 1129, 356,
1181 1130, 1130, 1130, 356, 1131, 356, 1141, 1132, 1179, 1179,
1182 1179, 1179, 1179, 1179, 356, 356, 356, 1213, 1213, 1213,
1183 356, 1215, 356, 1219, 1180, 356, 1206, 1180, 1216, 356,
1184 1219, 1220, 356, 1214, 1223, 1207, 1211, 1212, 1222, 1222,
1185 1222, 1217, 356, 1218, 356, 1226, 356, 1223, 1213, 1213,
1186 1213, 1226, 1229, 1221, 356, 356, 356, 356, 1224, 356,
1187 356, 1227, 1227, 1227, 1214, 1230, 356, 1222, 1222, 1222,
1188 356, 1231, 356, 1225, 1232, 356, 1239, 1228, 1233, 1233,
1190 1233, 356, 356, 356, 1237, 1237, 1237, 1240, 1227, 1227,
1191 1227, 1233, 1233, 1233, 1234, 1243, 356, 356, 1235, 1244,
1192 1238, 356, 356, 1236, 1228, 356, 356, 1234, 1237, 1237,
1193 1237, 356, 356, 356, 356, 356, 1241, 1242, 356, 356,
1194 1257, 356, 356, 356, 1238, 1257, 356, 356, 356, 356,
1195 356, 356, 1245, 1246, 1249, 1250, 1251, 356, 1247, 1252,
1196 1266, 788, 1248, 1260, 1258, 1254, 1259, 1261, 1255, 1262,
1197 1262, 1262, 356, 1266, 356, 1256, 1262, 1262, 1262, 1267,
1198 1268, 356, 356, 787, 786, 1263, 1273, 1264, 1265, 1269,
1199 1269, 1269, 1263, 356, 1269, 1269, 1269, 1274, 356, 356,
1201 356, 356, 1271, 356, 356, 1270, 356, 1281, 782, 1272,
1202 1270, 1281, 1282, 1282, 1282, 781, 356, 780, 776, 1275,
1203 1276, 774, 760, 356, 1279, 759, 758, 1280, 1283, 1282,
1204 1282, 1282, 753, 752, 748, 747, 1277, 1278, 746, 745,
1205 743, 725, 719, 718, 717, 1283, 94, 94, 94, 94,
1206 94, 94, 94, 95, 95, 95, 95, 95, 95, 95,
1207 100, 100, 100, 100, 100, 100, 100, 103, 103, 103,
1208 103, 103, 103, 103, 106, 106, 106, 106, 106, 106,
1209 106, 109, 109, 109, 109, 109, 109, 109, 116, 116,
1210 116, 116, 116, 116, 116, 124, 124, 124, 124, 124,
1212 124, 124, 127, 127, 127, 127, 127, 127, 127, 136,
1213 136, 136, 136, 136, 136, 136, 140, 140, 140, 140,
1214 140, 140, 140, 157, 157, 157, 157, 157, 157, 157,
1215 171, 171, 171, 171, 171, 171, 171, 178, 178, 178,
1216 178, 178, 178, 178, 184, 184, 184, 184, 184, 184,
1217 184, 192, 192, 192, 192, 192, 192, 192, 196, 196,
1218 196, 196, 196, 196, 196, 210, 210, 210, 210, 210,
1219 210, 210, 218, 218, 218, 218, 218, 218, 218, 222,
1220 222, 222, 222, 222, 222, 222, 244, 244, 244, 716,
1221 244, 252, 252, 252, 710, 252, 256, 256, 256, 709,
1223 256, 265, 265, 265, 708, 265, 272, 272, 272, 707,
1224 272, 279, 279, 279, 706, 279, 283, 283, 283, 705,
1225 283, 291, 291, 291, 703, 291, 296, 296, 296, 296,
1226 296, 690, 296, 310, 683, 310, 318, 682, 318, 326,
1227 680, 326, 332, 679, 332, 337, 678, 337, 341, 677,
1228 341, 347, 676, 347, 351, 675, 351, 355, 355, 355,
1229 355, 355, 355, 355, 361, 671, 670, 361, 369, 369,
1230 369, 369, 369, 369, 379, 379, 379, 379, 379, 379,
1231 389, 389, 389, 389, 389, 389, 397, 397, 397, 397,
1232 397, 397, 406, 406, 406, 406, 406, 406, 412, 412,
1234 412, 412, 412, 412, 420, 420, 420, 420, 420, 420,
1235 426, 426, 426, 426, 426, 426, 483, 483, 483, 483,
1236 483, 483, 483, 866, 866, 866, 866, 866, 866, 866,
1237 867, 867, 867, 867, 867, 867, 867, 889, 889, 889,
1238 889, 889, 889, 889, 892, 892, 892, 892, 892, 892,
1239 892, 911, 911, 911, 911, 911, 911, 911, 913, 913,
1240 913, 913, 913, 913, 913, 669, 668, 667, 666, 665,
1241 664, 661, 659, 655, 653, 651, 650, 646, 645, 643,
1242 638, 634, 633, 628, 627, 626, 623, 620, 616, 614,
1243 612, 611, 610, 608, 605, 603, 602, 601, 597, 596,
1245 595, 594, 593, 592, 591, 589, 588, 587, 585, 581,
1246 576, 574, 573, 572, 570, 568, 566, 562, 561, 560,
1247 553, 552, 551, 548, 547, 546, 544, 543, 485, 539,
1248 535, 533, 532, 528, 523, 521, 513, 512, 501, 500,
1249 499, 494, 493, 492, 491, 489, 488, 487, 481, 479,
1250 478, 476, 475, 472, 468, 463, 458, 455, 454, 452,
1251 451, 448, 447, 446, 442, 441, 440, 439, 436, 435,
1252 434, 433, 432, 431, 356, 429, 424, 423, 418, 417,
1253 416, 415, 410, 409, 402, 395, 394, 393, 392, 387,
1254 386, 385, 384, 383, 382, 377, 376, 375, 374, 373,
1256 372, 367, 366, 365, 364, 363, 362, 359, 357, 356,
1257 354, 353, 352, 350, 349, 348, 346, 345, 344, 343,
1258 342, 340, 339, 338, 336, 335, 334, 333, 331, 330,
1259 329, 328, 327, 325, 324, 323, 322, 321, 320, 319,
1260 317, 316, 315, 314, 313, 312, 311, 309, 308, 307,
1261 306, 305, 300, 297, 299, 295, 294, 292, 290, 287,
1262 286, 285, 284, 282, 280, 278, 275, 274, 273, 271,
1263 269, 268, 267, 266, 264, 262, 261, 260, 259, 258,
1264 257, 255, 253, 251, 243, 241, 235, 234, 235, 234,
1265 233, 232, 1284, 93, 1284, 1284, 1284, 1284, 1284, 1284,
1267 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1268 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1269 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1270 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1271 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1275 static yyconst flex_int16_t yy_chk[3654] =
1277 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
1278 6, 6, 6, 9, 0, 3, 10, 11, 4, 12,
1279 9, 5, 856, 10, 6, 7, 7, 7, 8, 8,
1280 8, 13, 13, 11, 856, 12, 13, 13, 236, 7,
1281 14, 14, 8, 228, 13, 14, 14, 15, 15, 0,
1282 15, 98, 15, 14, 16, 16, 228, 16, 619, 16,
1283 15, 17, 17, 18, 18, 98, 99, 16, 19, 19,
1284 19, 20, 20, 20, 23, 23, 23, 24, 24, 24,
1285 99, 237, 19, 236, 237, 20, 358, 301, 23, 301,
1286 358, 24, 17, 619, 18, 21, 21, 21, 21, 21,
1288 21, 21, 21, 21, 21, 21, 21, 21, 584, 21,
1289 21, 21, 21, 21, 96, 96, 96, 97, 97, 97,
1290 101, 101, 101, 122, 122, 122, 542, 21, 21, 22,
1291 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
1292 22, 22, 584, 22, 22, 22, 22, 22, 542, 25,
1293 25, 25, 26, 26, 26, 27, 27, 27, 28, 28,
1294 28, 22, 22, 25, 541, 594, 26, 594, 583, 27,
1295 1080, 102, 28, 29, 29, 29, 30, 30, 30, 31,
1296 31, 31, 32, 32, 32, 102, 582, 29, 583, 595,
1297 30, 595, 582, 31, 541, 657, 32, 33, 33, 33,
1299 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
1300 125, 33, 33, 33, 33, 33, 657, 35, 35, 35,
1301 36, 36, 36, 298, 125, 128, 128, 128, 1079, 33,
1302 33, 35, 1065, 298, 36, 780, 780, 33, 34, 34,
1303 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
1304 34, 430, 34, 34, 34, 34, 34, 540, 37, 37,
1305 37, 38, 38, 38, 430, 39, 39, 39, 540, 658,
1306 34, 34, 37, 112, 601, 38, 601, 698, 34, 39,
1307 40, 40, 40, 41, 41, 41, 42, 42, 42, 43,
1308 43, 43, 734, 137, 40, 658, 602, 41, 602, 698,
1310 42, 1064, 112, 43, 44, 44, 44, 137, 112, 134,
1311 134, 134, 112, 141, 141, 141, 734, 112, 44, 45,
1312 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1313 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1314 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1315 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1316 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1317 45, 45, 45, 45, 45, 45, 45, 45, 47, 47,
1318 47, 48, 48, 48, 49, 49, 49, 50, 50, 50,
1319 865, 892, 47, 890, 890, 48, 1050, 1049, 49, 865,
1321 892, 50, 51, 51, 51, 51, 51, 51, 51, 51,
1322 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
1323 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
1324 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
1325 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
1326 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
1327 51, 53, 53, 53, 54, 54, 54, 55, 55, 55,
1328 56, 56, 56, 618, 904, 53, 960, 984, 54, 1036,
1329 904, 55, 960, 984, 56, 57, 57, 57, 57, 57,
1330 57, 57, 57, 57, 57, 57, 57, 57, 695, 57,
1332 57, 57, 57, 57, 618, 59, 59, 59, 60, 60,
1333 60, 61, 61, 61, 146, 146, 146, 57, 57, 59,
1334 131, 149, 60, 57, 1151, 61, 700, 131, 57, 158,
1335 158, 158, 695, 1151, 131, 149, 735, 57, 58, 58,
1336 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1337 58, 701, 58, 58, 58, 58, 58, 700, 62, 62,
1338 62, 63, 63, 63, 64, 64, 64, 162, 162, 162,
1339 58, 58, 62, 735, 132, 63, 58, 701, 64, 702,
1340 165, 58, 65, 65, 65, 66, 66, 66, 132, 120,
1341 58, 67, 67, 67, 165, 144, 65, 143, 179, 66,
1343 68, 68, 68, 120, 143, 67, 172, 172, 172, 144,
1344 702, 143, 179, 132, 68, 69, 69, 69, 69, 69,
1345 69, 69, 69, 69, 69, 69, 69, 69, 144, 69,
1346 69, 69, 69, 69, 120, 71, 71, 71, 72, 72,
1347 72, 73, 73, 73, 74, 74, 74, 69, 69, 71,
1348 696, 987, 72, 1035, 1024, 73, 736, 987, 74, 176,
1349 176, 176, 69, 70, 70, 70, 70, 70, 70, 70,
1350 70, 70, 70, 70, 70, 70, 736, 70, 70, 70,
1351 70, 70, 696, 77, 77, 77, 78, 78, 78, 79,
1352 79, 79, 80, 80, 80, 70, 70, 77, 995, 1057,
1354 78, 1023, 1009, 79, 995, 1057, 80, 185, 185, 185,
1355 70, 75, 75, 75, 75, 75, 75, 75, 75, 75,
1356 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
1357 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
1358 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
1359 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
1360 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
1361 81, 81, 81, 82, 82, 82, 83, 83, 83, 84,
1362 84, 84, 767, 738, 81, 772, 193, 82, 160, 204,
1363 83, 174, 187, 84, 85, 85, 85, 86, 86, 86,
1365 193, 738, 160, 204, 1008, 174, 187, 994, 85, 772,
1366 767, 86, 87, 87, 87, 87, 87, 87, 87, 87,
1367 87, 87, 87, 87, 87, 737, 87, 87, 87, 87,
1368 87, 160, 89, 89, 89, 90, 90, 90, 174, 187,
1369 159, 190, 190, 190, 87, 87, 89, 159, 199, 90,
1370 91, 91, 173, 864, 159, 91, 197, 197, 197, 173,
1371 993, 737, 199, 91, 794, 864, 173, 87, 88, 88,
1372 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
1373 88, 91, 88, 88, 88, 88, 88, 794, 739, 92,
1374 92, 129, 130, 199, 92, 219, 186, 188, 129, 482,
1376 88, 88, 92, 186, 188, 129, 130, 142, 198, 219,
1377 186, 188, 884, 482, 142, 198, 201, 201, 201, 739,
1378 92, 142, 198, 88, 129, 130, 211, 211, 211, 884,
1379 129, 130, 740, 213, 129, 130, 129, 130, 129, 130,
1380 142, 212, 214, 186, 980, 929, 142, 213, 212, 214,
1381 142, 765, 142, 929, 142, 212, 214, 216, 216, 216,
1382 223, 223, 223, 224, 213, 227, 227, 227, 697, 740,
1383 224, 699, 212, 310, 310, 310, 770, 224, 311, 311,
1384 311, 318, 318, 318, 319, 319, 319, 792, 765, 310,
1385 326, 326, 326, 769, 311, 741, 770, 318, 697, 699,
1387 319, 327, 327, 327, 858, 699, 326, 332, 332, 332,
1388 333, 333, 333, 334, 334, 334, 768, 327, 336, 336,
1389 336, 742, 311, 332, 792, 741, 333, 793, 334, 769,
1390 319, 858, 682, 336, 337, 337, 337, 338, 338, 338,
1391 341, 341, 341, 342, 342, 342, 682, 771, 333, 327,
1392 337, 742, 790, 338, 825, 768, 341, 986, 793, 342,
1393 347, 347, 347, 348, 348, 348, 351, 351, 351, 352,
1394 352, 352, 368, 368, 368, 825, 347, 986, 826, 348,
1395 979, 790, 351, 771, 338, 352, 795, 796, 368, 823,
1396 342, 369, 369, 369, 371, 371, 371, 372, 372, 372,
1398 377, 377, 377, 828, 378, 378, 378, 369, 795, 796,
1399 371, 823, 826, 348, 855, 377, 379, 379, 379, 352,
1400 378, 381, 381, 381, 385, 385, 385, 978, 371, 388,
1401 388, 388, 379, 389, 389, 389, 827, 381, 828, 385,
1402 391, 391, 391, 857, 855, 388, 394, 394, 394, 389,
1403 396, 396, 396, 397, 397, 397, 391, 381, 399, 399,
1404 399, 394, 400, 400, 400, 857, 396, 827, 967, 397,
1405 859, 401, 401, 401, 399, 401, 885, 400, 401, 403,
1406 403, 403, 404, 404, 404, 888, 404, 966, 965, 404,
1407 405, 405, 405, 391, 403, 406, 406, 406, 408, 408,
1409 408, 410, 410, 410, 859, 885, 405, 411, 411, 411,
1410 399, 406, 862, 888, 408, 860, 410, 412, 412, 412,
1411 414, 414, 414, 411, 416, 416, 416, 419, 419, 419,
1412 420, 420, 420, 412, 862, 931, 414, 963, 935, 416,
1413 422, 422, 422, 419, 882, 907, 420, 425, 425, 425,
1414 860, 408, 426, 426, 426, 881, 422, 882, 428, 428,
1415 428, 931, 907, 425, 431, 431, 431, 935, 426, 437,
1416 437, 437, 824, 414, 428, 438, 438, 438, 972, 887,
1417 431, 431, 443, 443, 443, 437, 824, 422, 444, 444,
1418 444, 881, 444, 887, 910, 444, 889, 443, 428, 445,
1420 445, 445, 449, 449, 449, 450, 450, 450, 889, 450,
1421 953, 932, 450, 972, 952, 445, 910, 449, 451, 451,
1422 451, 437, 452, 452, 452, 453, 453, 453, 906, 456,
1423 456, 456, 932, 451, 458, 458, 458, 452, 457, 457,
1424 457, 453, 457, 445, 456, 457, 459, 459, 459, 458,
1425 460, 460, 460, 909, 460, 452, 906, 460, 958, 464,
1426 464, 464, 459, 464, 934, 909, 464, 458, 467, 467,
1427 467, 469, 469, 469, 470, 470, 470, 934, 470, 1026,
1428 958, 470, 930, 989, 467, 933, 469, 471, 471, 471,
1429 473, 473, 473, 474, 474, 474, 930, 474, 1027, 933,
1431 474, 459, 1026, 471, 954, 473, 477, 477, 477, 479,
1432 479, 479, 480, 480, 480, 484, 484, 484, 954, 989,
1433 467, 1027, 477, 956, 479, 490, 490, 490, 480, 957,
1434 961, 484, 494, 494, 494, 956, 495, 495, 495, 471,
1435 495, 490, 477, 495, 498, 498, 498, 502, 502, 502,
1436 948, 502, 961, 484, 502, 505, 505, 505, 971, 957,
1437 498, 507, 507, 507, 490, 480, 510, 510, 510, 484,
1438 505, 506, 506, 506, 937, 506, 507, 970, 506, 508,
1439 508, 508, 510, 508, 959, 971, 508, 514, 514, 514,
1440 970, 514, 968, 973, 514, 1000, 959, 498, 517, 517,
1442 517, 518, 518, 518, 968, 518, 973, 975, 518, 520,
1443 520, 520, 974, 517, 522, 522, 522, 524, 524, 524,
1444 974, 524, 982, 981, 524, 520, 527, 527, 527, 1000,
1445 522, 529, 529, 529, 1038, 529, 981, 975, 529, 534,
1446 534, 534, 527, 536, 536, 536, 537, 537, 537, 983,
1447 537, 1029, 522, 537, 996, 534, 520, 982, 536, 538,
1448 538, 538, 936, 1029, 527, 545, 545, 545, 549, 549,
1449 549, 550, 550, 550, 1038, 538, 997, 534, 554, 554,
1450 554, 545, 554, 1015, 983, 554, 998, 550, 557, 557,
1451 557, 996, 557, 1014, 998, 557, 562, 562, 562, 563,
1453 563, 563, 1001, 563, 538, 1030, 563, 1014, 550, 1015,
1454 1001, 562, 545, 997, 567, 567, 567, 569, 569, 569,
1455 571, 571, 571, 575, 575, 575, 587, 587, 587, 562,
1456 567, 927, 926, 569, 1017, 1010, 571, 1030, 1034, 575,
1457 577, 577, 577, 1010, 577, 1011, 1012, 577, 1039, 580,
1458 580, 580, 1034, 571, 586, 586, 586, 589, 589, 589,
1459 590, 590, 590, 1061, 567, 580, 598, 598, 598, 1017,
1460 586, 599, 599, 599, 575, 599, 590, 1053, 599, 1011,
1461 1012, 598, 923, 604, 604, 604, 1061, 580, 1039, 606,
1462 606, 606, 609, 609, 609, 610, 610, 610, 590, 604,
1464 613, 613, 613, 1058, 586, 606, 1053, 1068, 609, 915,
1465 610, 615, 615, 615, 1018, 1032, 613, 617, 617, 617,
1466 621, 621, 621, 622, 622, 622, 604, 615, 1078, 1058,
1467 609, 1062, 1033, 617, 1078, 1068, 621, 624, 624, 624,
1468 625, 625, 625, 634, 634, 634, 635, 635, 635, 1018,
1469 635, 613, 1032, 635, 1062, 1043, 625, 615, 634, 644,
1470 644, 644, 647, 647, 647, 621, 648, 648, 648, 1033,
1471 649, 649, 649, 1040, 649, 644, 634, 649, 647, 1046,
1472 913, 648, 650, 650, 650, 652, 652, 652, 653, 653,
1473 653, 1043, 644, 654, 654, 654, 1189, 650, 660, 660,
1475 660, 652, 662, 662, 662, 1189, 647, 912, 1040, 654,
1476 671, 671, 671, 1046, 660, 672, 672, 672, 662, 673,
1477 673, 673, 911, 673, 1041, 671, 673, 680, 680, 680,
1478 672, 660, 1076, 681, 681, 681, 684, 684, 684, 693,
1479 693, 693, 680, 1042, 1044, 654, 656, 656, 656, 681,
1480 1055, 1045, 684, 685, 685, 685, 1042, 685, 1051, 1041,
1481 685, 1047, 656, 688, 688, 688, 689, 689, 689, 1048,
1482 689, 902, 1076, 689, 684, 1056, 1098, 681, 688, 1044,
1483 656, 1048, 656, 690, 690, 690, 1045, 1055, 656, 691,
1484 691, 691, 656, 1051, 656, 1047, 656, 1098, 690, 694,
1486 694, 694, 704, 704, 704, 691, 711, 711, 711, 712,
1487 712, 712, 1056, 712, 1063, 694, 712, 1052, 704, 1115,
1488 1072, 711, 713, 713, 713, 1054, 713, 1063, 1072, 713,
1489 720, 720, 720, 721, 721, 721, 1116, 721, 1069, 704,
1490 721, 722, 722, 722, 1077, 720, 726, 726, 726, 727,
1491 727, 727, 1052, 727, 1054, 1115, 727, 722, 730, 730,
1492 730, 1093, 726, 731, 731, 731, 1069, 731, 1059, 1093,
1493 731, 1073, 1116, 730, 732, 732, 732, 744, 744, 744,
1494 746, 746, 746, 722, 1077, 749, 749, 749, 1060, 749,
1495 732, 726, 749, 744, 1066, 746, 753, 753, 753, 754,
1497 754, 754, 1073, 754, 901, 1059, 754, 757, 757, 757,
1498 1100, 753, 1083, 746, 1067, 744, 761, 761, 761, 1083,
1499 762, 762, 762, 757, 762, 1060, 895, 762, 766, 766,
1500 766, 1066, 761, 773, 773, 773, 775, 775, 775, 776,
1501 776, 776, 1091, 1070, 766, 777, 777, 777, 773, 773,
1502 1100, 1067, 775, 757, 761, 778, 778, 778, 893, 778,
1503 777, 1071, 778, 783, 783, 783, 784, 784, 784, 891,
1504 784, 1091, 1074, 784, 785, 785, 785, 1070, 783, 786,
1505 786, 786, 787, 787, 787, 878, 1088, 775, 1085, 1170,
1506 785, 789, 789, 789, 786, 1071, 1075, 787, 791, 791,
1508 791, 1081, 1170, 797, 797, 797, 1074, 789, 798, 798,
1509 798, 1085, 786, 1082, 791, 787, 1088, 785, 797, 797,
1510 801, 801, 801, 798, 798, 1084, 791, 799, 799, 799,
1511 1075, 799, 1084, 877, 799, 1081, 801, 789, 802, 802,
1512 802, 1141, 1086, 799, 803, 803, 803, 1082, 803, 1106,
1513 1092, 803, 810, 810, 810, 1141, 801, 811, 811, 811,
1514 1089, 811, 1090, 873, 811, 1086, 872, 810, 814, 814,
1515 814, 815, 815, 815, 816, 816, 816, 1106, 816, 1092,
1516 1099, 816, 871, 1089, 814, 1090, 815, 818, 818, 818,
1517 819, 819, 819, 1096, 819, 1097, 1119, 819, 821, 821,
1519 821, 1099, 818, 822, 822, 822, 829, 829, 829, 830,
1520 830, 830, 870, 831, 831, 831, 1096, 831, 1097, 822,
1521 831, 1107, 829, 868, 830, 830, 832, 832, 832, 831,
1522 832, 1119, 1139, 832, 836, 836, 836, 1137, 1101, 829,
1523 1104, 1105, 832, 853, 853, 853, 976, 976, 976, 1107,
1524 836, 841, 841, 841, 1117, 822, 833, 833, 833, 833,
1525 833, 833, 833, 833, 833, 1137, 841, 833, 852, 1139,
1526 833, 833, 833, 833, 833, 842, 842, 842, 1101, 842,
1527 1104, 1105, 842, 1117, 836, 897, 897, 897, 833, 833,
1528 834, 834, 834, 834, 834, 834, 834, 834, 834, 848,
1530 897, 834, 1118, 1113, 834, 834, 834, 834, 834, 843,
1531 843, 843, 845, 845, 845, 1114, 845, 1120, 1159, 845,
1532 1122, 840, 834, 834, 1135, 843, 849, 849, 849, 1154,
1533 849, 1118, 1138, 849, 854, 854, 854, 861, 861, 861,
1534 863, 863, 863, 1113, 863, 1135, 1123, 863, 1142, 1122,
1535 854, 1140, 1120, 861, 1159, 1114, 863, 874, 874, 874,
1536 1138, 874, 1133, 1154, 874, 861, 866, 866, 866, 866,
1537 866, 866, 866, 866, 866, 1123, 1142, 866, 839, 838,
1538 866, 866, 866, 866, 866, 918, 918, 918, 1140, 918,
1539 1124, 1133, 918, 869, 869, 869, 837, 1124, 866, 866,
1541 867, 867, 867, 867, 867, 867, 867, 867, 867, 869,
1542 1143, 867, 1125, 1136, 867, 867, 867, 867, 867, 1125,
1543 879, 879, 879, 883, 883, 883, 886, 886, 886, 894,
1544 894, 894, 867, 867, 1136, 869, 879, 1134, 1143, 883,
1545 835, 1144, 886, 1145, 1146, 894, 894, 896, 896, 896,
1546 898, 898, 898, 899, 899, 899, 900, 900, 900, 903,
1547 903, 903, 1144, 896, 1145, 898, 1134, 820, 899, 1148,
1548 1149, 900, 905, 905, 905, 903, 908, 908, 908, 1146,
1549 914, 914, 914, 916, 916, 916, 899, 817, 905, 990,
1550 990, 990, 908, 1155, 1147, 896, 914, 1148, 1149, 916,
1552 905, 917, 917, 917, 908, 919, 919, 919, 920, 920,
1553 920, 1185, 920, 809, 1196, 920, 917, 1185, 914, 1166,
1554 919, 921, 921, 921, 922, 922, 922, 1155, 922, 1147,
1555 1150, 922, 924, 924, 924, 916, 921, 925, 925, 925,
1556 1166, 925, 1150, 1196, 925, 1156, 1160, 924, 928, 928,
1557 928, 938, 938, 938, 939, 939, 939, 1156, 939, 1152,
1558 808, 939, 807, 806, 928, 800, 1152, 938, 942, 942,
1559 942, 1161, 942, 1153, 1162, 942, 928, 945, 945, 945,
1560 1153, 945, 1160, 1157, 945, 949, 949, 949, 1167, 949,
1561 1157, 1168, 949, 938, 955, 955, 955, 964, 964, 964,
1563 969, 969, 969, 1175, 969, 1158, 1169, 969, 1161, 1167,
1564 955, 1162, 1158, 964, 1168, 1183, 969, 977, 977, 977,
1565 985, 985, 985, 988, 988, 988, 991, 991, 991, 1169,
1566 992, 992, 992, 977, 1163, 1184, 985, 1175, 1176, 988,
1567 1188, 1163, 991, 1171, 964, 992, 999, 999, 999, 1002,
1568 1002, 1002, 1188, 1002, 1164, 1183, 1002, 1003, 1003, 1003,
1569 1172, 1164, 999, 977, 1171, 1002, 1004, 1004, 1004, 1006,
1570 1006, 1006, 1176, 1003, 999, 1184, 1007, 1007, 1007, 1173,
1571 1007, 1172, 1004, 1007, 1006, 1013, 1013, 1013, 1016, 1016,
1572 1016, 1019, 1019, 1019, 1190, 1020, 1020, 1020, 1181, 1020,
1574 1173, 1013, 1020, 1197, 1016, 1174, 788, 1019, 1025, 1025,
1575 1025, 1028, 1028, 1028, 1177, 1028, 1247, 1190, 1028, 1019,
1576 782, 1031, 1031, 1031, 1025, 1031, 1174, 1028, 1031, 1037,
1577 1037, 1037, 1197, 1037, 1181, 1177, 1037, 1031, 1087, 1087,
1578 1087, 1094, 1094, 1094, 1178, 1037, 1095, 1095, 1095, 1182,
1579 1247, 1102, 1102, 1102, 1087, 1102, 1094, 1186, 1102, 1187,
1580 1191, 1095, 1103, 1103, 1103, 1178, 1198, 1102, 1108, 1108,
1581 1108, 1109, 1109, 1109, 1198, 1110, 1110, 1110, 1103, 1110,
1582 1192, 1193, 1110, 1191, 1108, 1182, 1109, 1111, 1111, 1111,
1583 1112, 1112, 1112, 1186, 1112, 1187, 781, 1112, 1121, 1121,
1585 1121, 1202, 1111, 1126, 1126, 1126, 779, 1126, 1203, 774,
1586 1126, 1127, 1127, 1127, 1121, 1127, 1192, 1193, 1127, 1126,
1587 1130, 1130, 1130, 1208, 1130, 1194, 1121, 1130, 1165, 1165,
1588 1165, 1179, 1179, 1179, 1195, 1199, 1200, 1201, 1201, 1201,
1589 1204, 1202, 1205, 1207, 1165, 1209, 1194, 1179, 1203, 1215,
1590 1206, 1208, 1207, 1201, 1211, 1195, 1199, 1200, 1210, 1210,
1591 1210, 1204, 1206, 1205, 1216, 1217, 1211, 1212, 1213, 1213,
1592 1213, 1218, 1220, 1209, 1210, 1229, 1212, 1217, 1215, 1220,
1593 1218, 1219, 1219, 1219, 1213, 1221, 1230, 1222, 1222, 1222,
1594 1224, 1222, 1221, 1216, 1222, 1225, 1229, 1219, 1223, 1223,
1596 1223, 1231, 1232, 1222, 1226, 1226, 1226, 1230, 1227, 1227,
1597 1227, 1233, 1233, 1233, 1223, 1235, 1239, 1240, 1224, 1236,
1598 1226, 1241, 1235, 1225, 1227, 1242, 1236, 1233, 1237, 1237,
1599 1237, 1248, 1249, 1243, 1244, 1245, 1231, 1232, 1246, 1250,
1600 1252, 1253, 1255, 1254, 1237, 1251, 1256, 1258, 1259, 1252,
1601 1264, 1265, 1239, 1240, 1243, 1244, 1245, 1251, 1241, 1246,
1602 1260, 760, 1242, 1255, 1253, 1248, 1254, 1256, 1249, 1257,
1603 1257, 1257, 1260, 1261, 1267, 1250, 1262, 1262, 1262, 1264,
1604 1265, 1268, 1261, 759, 758, 1257, 1271, 1258, 1259, 1266,
1605 1266, 1266, 1262, 1271, 1269, 1269, 1269, 1272, 1273, 1274,
1607 1275, 1276, 1267, 1277, 1272, 1266, 1278, 1280, 752, 1268,
1608 1269, 1279, 1281, 1281, 1281, 748, 1280, 747, 745, 1273,
1609 1274, 743, 725, 1279, 1277, 724, 723, 1278, 1281, 1282,
1610 1282, 1282, 717, 716, 708, 707, 1275, 1276, 706, 705,
1611 703, 683, 678, 676, 675, 1282, 1285, 1285, 1285, 1285,
1612 1285, 1285, 1285, 1286, 1286, 1286, 1286, 1286, 1286, 1286,
1613 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1288, 1288, 1288,
1614 1288, 1288, 1288, 1288, 1289, 1289, 1289, 1289, 1289, 1289,
1615 1289, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1291, 1291,
1616 1291, 1291, 1291, 1291, 1291, 1292, 1292, 1292, 1292, 1292,
1618 1292, 1292, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1294,
1619 1294, 1294, 1294, 1294, 1294, 1294, 1295, 1295, 1295, 1295,
1620 1295, 1295, 1295, 1296, 1296, 1296, 1296, 1296, 1296, 1296,
1621 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1298, 1298, 1298,
1622 1298, 1298, 1298, 1298, 1299, 1299, 1299, 1299, 1299, 1299,
1623 1299, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1301, 1301,
1624 1301, 1301, 1301, 1301, 1301, 1302, 1302, 1302, 1302, 1302,
1625 1302, 1302, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1304,
1626 1304, 1304, 1304, 1304, 1304, 1304, 1305, 1305, 1305, 674,
1627 1305, 1306, 1306, 1306, 669, 1306, 1307, 1307, 1307, 667,
1629 1307, 1308, 1308, 1308, 666, 1308, 1309, 1309, 1309, 665,
1630 1309, 1310, 1310, 1310, 664, 1310, 1311, 1311, 1311, 661,
1631 1311, 1312, 1312, 1312, 659, 1312, 1313, 1313, 1313, 1313,
1632 1313, 651, 1313, 1314, 646, 1314, 1315, 645, 1315, 1316,
1633 643, 1316, 1317, 642, 1317, 1318, 641, 1318, 1319, 640,
1634 1319, 1320, 639, 1320, 1321, 638, 1321, 1322, 1322, 1322,
1635 1322, 1322, 1322, 1322, 1323, 633, 632, 1323, 1324, 1324,
1636 1324, 1324, 1324, 1324, 1325, 1325, 1325, 1325, 1325, 1325,
1637 1326, 1326, 1326, 1326, 1326, 1326, 1327, 1327, 1327, 1327,
1638 1327, 1327, 1328, 1328, 1328, 1328, 1328, 1328, 1329, 1329,
1640 1329, 1329, 1329, 1329, 1330, 1330, 1330, 1330, 1330, 1330,
1641 1331, 1331, 1331, 1331, 1331, 1331, 1332, 1332, 1332, 1332,
1642 1332, 1332, 1332, 1333, 1333, 1333, 1333, 1333, 1333, 1333,
1643 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1335, 1335, 1335,
1644 1335, 1335, 1335, 1335, 1336, 1336, 1336, 1336, 1336, 1336,
1645 1336, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1338, 1338,
1646 1338, 1338, 1338, 1338, 1338, 631, 630, 629, 628, 627,
1647 626, 623, 620, 616, 614, 612, 611, 608, 605, 603,
1648 600, 597, 596, 593, 592, 591, 588, 585, 581, 576,
1649 574, 573, 572, 570, 568, 566, 565, 564, 561, 560,
1651 559, 558, 553, 552, 551, 548, 547, 546, 544, 539,
1652 535, 533, 532, 528, 523, 521, 519, 513, 512, 509,
1653 501, 500, 499, 493, 492, 491, 489, 486, 483, 481,
1654 478, 476, 475, 472, 468, 463, 455, 454, 448, 447,
1655 446, 442, 441, 440, 439, 436, 435, 434, 429, 424,
1656 423, 418, 417, 415, 409, 402, 395, 393, 392, 387,
1657 386, 384, 383, 382, 376, 375, 374, 373, 367, 366,
1658 363, 362, 361, 359, 355, 353, 350, 349, 346, 345,
1659 344, 343, 340, 339, 335, 331, 330, 329, 328, 325,
1660 324, 323, 322, 321, 320, 317, 316, 315, 314, 313,
1662 312, 309, 307, 306, 305, 304, 303, 299, 297, 296,
1663 295, 294, 293, 292, 289, 288, 287, 286, 285, 284,
1664 281, 280, 277, 276, 275, 274, 273, 270, 269, 268,
1665 267, 266, 263, 262, 261, 260, 259, 258, 257, 254,
1666 253, 250, 249, 248, 247, 246, 245, 242, 241, 240,
1667 239, 238, 232, 231, 229, 226, 225, 221, 217, 209,
1668 208, 207, 206, 202, 195, 191, 183, 182, 181, 177,
1669 170, 169, 168, 167, 163, 156, 155, 154, 153, 152,
1670 151, 147, 139, 135, 123, 119, 118, 117, 111, 110,
1671 108, 105, 93, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1673 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1674 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1675 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1676 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1677 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1681 /* Table of booleans, true if rule could match eol. */
1682 static yyconst flex_int32_t yy_rule_can_match_eol[173] =
1684 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1685 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1,
1686 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1687 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1688 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1,
1689 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0,
1690 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1,
1691 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
1692 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, };
1694 static yy_state_type yy_last_accepting_state;
1695 static char *yy_last_accepting_cpos;
1697 extern int surf_parse__flex_debug;
1698 int surf_parse__flex_debug = 0;
1700 /* The intent behind this definition is that it'll catch
1701 * any uses of REJECT which flex missed.
1703 #define REJECT reject_used_but_not_detected
1704 #define yymore() yymore_used_but_not_detected
1705 #define YY_MORE_ADJ 0
1706 #define YY_RESTORE_YY_MORE_OFFSET
1707 char *surf_parse_text;
1708 #line 1 "surf/surfxml.l"
1709 /* Validating XML processor for surfxml.dtd.
1710 * Generated 2005/06/21 12:23:56.
1712 * This program was generated with the FleXML XML processor generator.
1713 * FleXML is Copyright © 1999-2005 Kristoffer Rose. All rights reserved.
1714 * (Id: flexml.pl,v 1.44 2005/02/23 23:08:16 mquinson Exp).
1716 * There are two, intertwined parts to this program, part A and part B.
1721 * Some parts, here collectively called "Part A", are found in the
1722 * FleXML package. They are Copyright © 1999-2005 Kristoffer Rose.
1723 * All rights reserved.
1725 * You can redistribute, use, perform, display and/or modify "Part A"
1726 * provided the following two conditions hold:
1728 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
1729 * FleXML; without even the implied warranty of MERCHANTABILITY or
1730 * FITNESS FOR A PARTICULAR PURPOSE.
1732 * 2. The program distribution conditions do not in any way affect the
1733 * distribution conditions of the FleXML system used to generate this
1734 * file or any version of FleXML derived from that system.
1736 * Notice that these are explicit rights granted to you for files
1737 * generated by the FleXML system. For your rights in connection with
1738 * the FleXML system itself please consult the GNU General Public License.
1743 * The other parts, here collectively called "Part B", and which came
1744 * from the DTD used by FleXML to generate this program, can be
1745 * distributed (or not, as the case may be) under the terms of whoever
1746 * wrote them, provided these terms respect and obey the two conditions
1747 * above under the heading "Part A".
1749 * The author of and contributors to FleXML specifically disclaim
1750 * any copyright interest in "Part B", unless "Part B" was written
1751 * by the author of or contributors to FleXML.
1754 #line 48 "surf/surfxml.l"
1756 /* Version strings. */
1757 const char rcs_flexml_skeleton[] =
1758 "$" "Id: skel,v 1.26 2005/02/23 22:22:20 wdowling Exp $";
1759 const char rcs_flexml[] =
1760 "$" "Id: flexml.pl,v 1.44 2005/02/23 23:08:16 mquinson Exp $";
1770 /* Generated definitions. */
1771 #define FLEXML_yylineno
1772 #define FLEXML_BUFFERSTACKSIZE 1000000
1774 /* XML processor api. */
1775 /* FleXML-provided data. */
1777 AT_network_link_bandwidth A_network_link_bandwidth;
1778 AT_cpu_name A_cpu_name;
1779 AT_process_kill_time A_process_kill_time;
1780 AT_network_link_state A_network_link_state;
1781 AT_argument_value A_argument_value;
1782 AT_cpu_availability_file A_cpu_availability_file;
1783 AT_process_host A_process_host;
1784 AT_route_impact_on_src A_route_impact_on_src;
1785 AT_route_src A_route_src;
1786 AT_network_link_latency_file A_network_link_latency_file;
1787 AT_cpu_max_outgoing_rate A_cpu_max_outgoing_rate;
1788 AT_route_impact_on_dst_with_other_send A_route_impact_on_dst_with_other_send;
1789 AT_cpu_interference_send_recv A_cpu_interference_send_recv;
1790 AT_cpu_availability A_cpu_availability;
1791 AT_route_impact_on_dst A_route_impact_on_dst;
1792 AT_cpu_interference_recv A_cpu_interference_recv;
1793 AT_route_impact_on_src_with_other_recv A_route_impact_on_src_with_other_recv;
1794 AT_network_link_name A_network_link_name;
1795 AT_route_element_name A_route_element_name;
1796 AT_cpu_power A_cpu_power;
1797 AT_process_start_time A_process_start_time;
1798 AT_include_file A_include_file;
1799 AT_process_function A_process_function;
1800 AT_route_dst A_route_dst;
1801 AT_cpu_state A_cpu_state;
1802 AT_network_link_latency A_network_link_latency;
1803 AT_network_link_state_file A_network_link_state_file;
1804 AT_cpu_interference_send A_cpu_interference_send;
1805 AT_cpu_state_file A_cpu_state_file;
1806 AT_network_link_bandwidth_file A_network_link_bandwidth_file;
1810 # define ENTER(state) debug_enter(state,#state)
1811 # define LEAVE debug_leave()
1812 # define SET(state) debug_set(state,#state)
1813 static void debug_enter(int, const char*);
1814 static void debug_leave(void);
1815 static void debug_set(int, const char*);
1817 # define ENTER(state) (yy_push_state(state))
1818 # define LEAVE (yy_pop_state())
1819 # define SET(state) BEGIN(state)
1822 /* Generic actions. */
1823 #define SKIP /*skip*/
1824 #define SUCCEED CLEANUP; return 0
1826 #define FAIL return fail
1827 static int fail(const char*, ...);
1828 const char * parse_err_msg(void);
1831 static void cleanup(void);
1832 #define CLEANUP cleanup()
1834 /* Text buffer stack handling. */
1835 char bufferstack[FLEXML_BUFFERSTACKSIZE];
1836 char* limit = bufferstack + FLEXML_BUFFERSTACKSIZE;
1837 typedef struct BufferLast_s {
1838 struct BufferLast_s *old; char* saved; char new1[1];
1840 BufferLast* last = (BufferLast*)0;
1841 char* next = bufferstack;
1843 #define BUFFERSET(P) (P = next)
1844 #define BUFFERPUTC(C) (assert(next<limit), *(next++) = (C))
1845 #define BUFFERDONE (BUFFERPUTC('\0'))
1847 #define BUFFERLITERAL(C,P) bufferliteral(C,&(P),surf_parse_text)
1848 static void bufferliteral(char c, const char** pp, char* text)
1850 char *s = strchr(text,c), *e = strrchr(text,c);
1851 assert(s <= e); BUFFERSET(*pp);
1853 if (isspace(*s)) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
1854 else BUFFERPUTC(*s);
1859 #ifdef FLEXML_HasMixed
1860 static void pushbuffer(char* p)
1862 BufferLast* l = (BufferLast*)next;
1863 assert(next < limit);
1870 static char* popbuffer(void)
1872 BufferLast* l = last;
1873 assert(last != (BufferLast*)0);
1880 /* General internal entities are `unput' back onto the input stream... */
1881 #define ENTITYTEXT(T) \
1882 { char *s = (T), *e = s+strlen(s);\
1883 while (--e >= s) { unput(*e); }}
1884 /* Flex standard options. */
1885 #define YY_NO_INPUT 1
1886 /* Flex user-requested options. */
1887 /* XML character classes (currently restricted to ASCII). */
1888 /* "Common syntactic structures." */
1889 /* "Names and Tokens." */
1890 /* Miscellaneous. */
1891 /* Parser states (flex `exclusive start conditions'):
1893 * PROLOG the XML prolog of the document before <?xml...>
1894 * DOCTYPE the XML prolog of the document after <?xml...>
1895 * EPILOG after the root element
1896 * INCOMMENT inside an XML comment <!--....-->
1897 * INPI inside an XML PI <?...?>
1898 * VALUE1 inside a '...'-delimited literal
1899 * VALUE2 inside a "..."-delimited literal
1900 * CDATA inside a <![CDATA[...m4_userquote_end()> section.
1901 * ROOT_<tag> expect root element <tag>
1902 * AL_<tag> inside the attribute list for <tag>
1903 * IN_<tag> inside a <tag> with element contents (ready for end tag)
1904 * IMPOSSIBLE dummy to permit disabling rules; must be last
1916 #line 236 "surf/surfxml.l"
1918 const char* *statenames=NULL;
1919 #line 1920 "surf/surfxml.c"
1930 #define ROOT_platform_description 9
1931 #define AL_platform_description 10
1932 #define S_platform_description 11
1933 #define S_platform_description_1 12
1934 #define S_platform_description_2 13
1935 #define E_platform_description 14
1936 #define ROOT_include 15
1937 #define AL_include 16
1938 #define S_include 17
1939 #define S_include_1 18
1940 #define S_include_2 19
1941 #define E_include 20
1945 #define ROOT_network_link 24
1946 #define AL_network_link 25
1947 #define E_network_link 26
1948 #define ROOT_route 27
1951 #define S_route_1 30
1952 #define S_route_2 31
1954 #define ROOT_route_element 33
1955 #define AL_route_element 34
1956 #define E_route_element 35
1957 #define ROOT_process 36
1958 #define AL_process 37
1959 #define S_process 38
1960 #define S_process_1 39
1961 #define S_process_2 40
1962 #define E_process 41
1963 #define ROOT_argument 42
1964 #define AL_argument 43
1965 #define E_argument 44
1966 #define IMPOSSIBLE 45
1968 #ifndef YY_NO_UNISTD_H
1969 /* Special case for "unistd.h", since it is non-ANSI. We include it way
1970 * down here because we want the user's section 1 to have been scanned first.
1971 * The user has a chance to override it with an option.
1976 #ifndef YY_EXTRA_TYPE
1977 #define YY_EXTRA_TYPE void *
1980 /* Macros after this point can all be overridden by user definitions in
1984 #ifndef YY_SKIP_YYWRAP
1986 extern "C" int surf_parse_wrap (void );
1988 extern int surf_parse_wrap (void );
1993 static void yy_flex_strncpy (char *,yyconst char *,int );
1996 #ifdef YY_NEED_STRLEN
1997 static int yy_flex_strlen (yyconst char * );
2003 static int yyinput (void );
2005 static int input (void );
2010 static int yy_start_stack_ptr = 0;
2011 static int yy_start_stack_depth = 0;
2012 static int *yy_start_stack = 0;
2014 static void yy_push_state (int new_state );
2016 static void yy_pop_state (void );
2018 /* Amount of stuff to slurp up with each read. */
2019 #ifndef YY_READ_BUF_SIZE
2020 #define YY_READ_BUF_SIZE 8192
2023 /* Copy whatever the last rule matched to the standard output. */
2025 /* This used to be an fputs(), but since the string might contain NUL's,
2026 * we now use fwrite().
2028 #define ECHO (void) fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )
2031 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
2032 * is returned in "result".
2035 #define YY_INPUT(buf,result,max_size) \
2036 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2040 for ( n = 0; n < max_size && \
2041 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
2042 buf[n] = (char) c; \
2044 buf[n++] = (char) c; \
2045 if ( c == EOF && ferror( surf_parse_in ) ) \
2046 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2052 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
2054 if( errno != EINTR) \
2056 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2060 clearerr(surf_parse_in); \
2067 /* No semi-colon after return; correct usage is to write "yyterminate();" -
2068 * we don't want an extra ';' after the "return" because that will cause
2069 * some compilers to complain about unreachable statements.
2072 #define yyterminate() return YY_NULL
2075 /* Number of entries by which start-condition stack grows. */
2076 #ifndef YY_START_STACK_INCR
2077 #define YY_START_STACK_INCR 25
2080 /* Report a fatal error. */
2081 #ifndef YY_FATAL_ERROR
2082 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2085 /* end tables serialization structures and prototypes */
2087 /* Default declaration of generated scanner - a define so the user can
2088 * easily add parameters.
2091 #define YY_DECL_IS_OURS 1
2093 extern int surf_parse_lex (void);
2095 #define YY_DECL int surf_parse_lex (void)
2096 #endif /* !YY_DECL */
2098 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
2101 #ifndef YY_USER_ACTION
2102 #define YY_USER_ACTION
2105 /* Code executed at the end of each rule. */
2107 #define YY_BREAK break;
2110 #define YY_RULE_SETUP \
2113 /** The main scanner function which does all the work.
2117 register yy_state_type yy_current_state;
2118 register char *yy_cp, *yy_bp;
2119 register int yy_act;
2121 #line 240 "surf/surfxml.l"
2124 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
2128 if(!statenames) {statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
2129 statenames[PROLOG] = NULL;
2130 statenames[DOCTYPE] = NULL;
2131 statenames[EPILOG] = NULL;
2132 statenames[INCOMMENT] = NULL;
2133 statenames[INPI] = NULL;
2134 statenames[VALUE1] = NULL;
2135 statenames[VALUE2] = NULL;
2136 statenames[CDATA] = NULL;
2137 statenames[ROOT_platform_description] = NULL;
2138 statenames[AL_platform_description] = NULL;
2139 statenames[S_platform_description] = "platform_description";
2140 statenames[S_platform_description_1] = "platform_description";
2141 statenames[S_platform_description_2] = "platform_description";
2142 statenames[E_platform_description] = "platform_description";
2143 statenames[ROOT_include] = NULL;
2144 statenames[AL_include] = NULL;
2145 statenames[S_include] = "include";
2146 statenames[S_include_1] = "include";
2147 statenames[S_include_2] = "include";
2148 statenames[E_include] = "include";
2149 statenames[ROOT_cpu] = NULL;
2150 statenames[AL_cpu] = NULL;
2151 statenames[E_cpu] = "cpu";
2152 statenames[ROOT_network_link] = NULL;
2153 statenames[AL_network_link] = NULL;
2154 statenames[E_network_link] = "network_link";
2155 statenames[ROOT_route] = NULL;
2156 statenames[AL_route] = NULL;
2157 statenames[S_route] = "route";
2158 statenames[S_route_1] = "route";
2159 statenames[S_route_2] = "route";
2160 statenames[E_route] = "route";
2161 statenames[ROOT_route_element] = NULL;
2162 statenames[AL_route_element] = NULL;
2163 statenames[E_route_element] = "route_element";
2164 statenames[ROOT_process] = NULL;
2165 statenames[AL_process] = NULL;
2166 statenames[S_process] = "process";
2167 statenames[S_process_1] = "process";
2168 statenames[S_process_2] = "process";
2169 statenames[E_process] = "process";
2170 statenames[ROOT_argument] = NULL;
2171 statenames[AL_argument] = NULL;
2172 statenames[E_argument] = "argument";
2175 /* COMMENTS and PIs: handled uniformly for efficiency. */
2177 #line 2178 "surf/surfxml.c"
2188 (yy_start) = 1; /* first start state */
2190 if ( ! surf_parse_in )
2191 surf_parse_in = stdin;
2193 if ( ! surf_parse_out )
2194 surf_parse_out = stdout;
2196 if ( ! YY_CURRENT_BUFFER ) {
2197 surf_parse_ensure_buffer_stack ();
2198 YY_CURRENT_BUFFER_LVALUE =
2199 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
2202 surf_parse__load_buffer_state( );
2205 while ( 1 ) /* loops until end-of-file is reached */
2207 yy_cp = (yy_c_buf_p);
2209 /* Support of surf_parse_text. */
2210 *yy_cp = (yy_hold_char);
2212 /* yy_bp points to the position in yy_ch_buf of the start of
2217 yy_current_state = (yy_start);
2221 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
2222 if ( yy_accept[yy_current_state] )
2224 (yy_last_accepting_state) = yy_current_state;
2225 (yy_last_accepting_cpos) = yy_cp;
2227 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2229 yy_current_state = (int) yy_def[yy_current_state];
2230 if ( yy_current_state >= 1285 )
2231 yy_c = yy_meta[(unsigned int) yy_c];
2233 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2236 while ( yy_base[yy_current_state] != 3594 );
2239 yy_act = yy_accept[yy_current_state];
2241 { /* have to back up */
2242 yy_cp = (yy_last_accepting_cpos);
2243 yy_current_state = (yy_last_accepting_state);
2244 yy_act = yy_accept[yy_current_state];
2247 YY_DO_BEFORE_ACTION;
2249 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
2252 for ( yyl = 0; yyl < surf_parse_leng; ++yyl )
2253 if ( surf_parse_text[yyl] == '\n' )
2255 surf_parse_lineno++;
2259 do_action: /* This label is used only to access EOF actions. */
2262 { /* beginning of action switch */
2263 case 0: /* must back up */
2264 /* undo the effects of YY_DO_BEFORE_ACTION */
2265 *yy_cp = (yy_hold_char);
2266 yy_cp = (yy_last_accepting_cpos);
2267 yy_current_state = (yy_last_accepting_state);
2268 goto yy_find_action;
2272 #line 296 "surf/surfxml.l"
2277 #line 297 "surf/surfxml.l"
2284 #line 300 "surf/surfxml.l"
2288 #line 302 "surf/surfxml.l"
2290 #line 303 "surf/surfxml.l"
2292 /* rule 6 can match eol */
2294 #line 303 "surf/surfxml.l"
2297 case YY_STATE_EOF(INCOMMENT):
2298 #line 304 "surf/surfxml.l"
2299 FAIL("EOF in comment.");
2305 #line 307 "surf/surfxml.l"
2309 #line 309 "surf/surfxml.l"
2311 /* rule 9 can match eol */
2313 #line 309 "surf/surfxml.l"
2316 case YY_STATE_EOF(INPI):
2317 #line 310 "surf/surfxml.l"
2318 FAIL("EOF in PI (processing instruction).");
2321 /* SPACES: skipped uniformly */
2323 /* rule 10 can match eol */
2325 #line 315 "surf/surfxml.l"
2328 /* PROLOG: determine root element and process it. */
2331 /* rule 11 can match eol */
2333 #line 320 "surf/surfxml.l"
2337 /* rule 12 can match eol */
2339 #line 321 "surf/surfxml.l"
2340 FAIL("Bad declaration %s.",surf_parse_text);
2345 /* rule 13 can match eol */
2347 #line 325 "surf/surfxml.l"
2351 /* rule 14 can match eol */
2353 #line 326 "surf/surfxml.l"
2354 SET(ROOT_route_element);
2357 /* rule 15 can match eol */
2359 #line 327 "surf/surfxml.l"
2363 /* rule 16 can match eol */
2365 #line 328 "surf/surfxml.l"
2369 /* rule 17 can match eol */
2371 #line 329 "surf/surfxml.l"
2375 /* rule 18 can match eol */
2377 #line 330 "surf/surfxml.l"
2378 SET(ROOT_platform_description);
2381 /* rule 19 can match eol */
2383 #line 331 "surf/surfxml.l"
2384 SET(ROOT_network_link);
2387 /* rule 20 can match eol */
2389 #line 332 "surf/surfxml.l"
2393 /* rule 21 can match eol */
2395 #line 333 "surf/surfxml.l"
2396 FAIL("Bad declaration %s.",surf_parse_text);
2400 #line 334 "surf/surfxml.l"
2401 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
2403 case YY_STATE_EOF(PROLOG):
2404 case YY_STATE_EOF(DOCTYPE):
2405 #line 335 "surf/surfxml.l"
2406 FAIL("EOF in prolog.");
2409 /* RULES DERIVED FROM DTD. */
2410 /* <!-- Small DTD for SURF based tools. --> */
2412 /* rule 23 can match eol */
2414 #line 342 "surf/surfxml.l"
2416 ENTER(AL_platform_description);
2422 #line 347 "surf/surfxml.l"
2424 LEAVE; STag_platform_description();pcdata = NULL; ENTER(S_platform_description);
2429 #line 350 "surf/surfxml.l"
2431 LEAVE; STag_platform_description(); pcdata = NULL; ETag_platform_description();
2433 case ROOT_platform_description: SET(EPILOG); break;
2439 #line 356 "surf/surfxml.l"
2440 FAIL("Unexpected character `%c' in attribute list of platform_description element.", surf_parse_text[0]);
2444 #line 357 "surf/surfxml.l"
2445 FAIL("Bad attribute `%s' in `platform_description' element start tag.",surf_parse_text);
2447 case YY_STATE_EOF(AL_platform_description):
2448 #line 358 "surf/surfxml.l"
2449 FAIL("EOF in attribute list of `platform_description' element.");
2454 /* rule 28 can match eol */
2456 #line 362 "surf/surfxml.l"
2459 ETag_platform_description();
2461 case ROOT_platform_description: SET(EPILOG); break;
2466 /* rule 29 can match eol */
2468 #line 369 "surf/surfxml.l"
2469 FAIL("Unexpected end-tag `%s': `</platform_description>' expected.",surf_parse_text);
2473 #line 370 "surf/surfxml.l"
2474 FAIL("Unexpected character `%c': `</platform_description>' expected.",surf_parse_text[0]);
2476 case YY_STATE_EOF(E_platform_description):
2477 case YY_STATE_EOF(S_platform_description_2):
2478 case YY_STATE_EOF(S_platform_description):
2479 #line 371 "surf/surfxml.l"
2480 FAIL("Premature EOF: `</platform_description>' expected.");
2484 /* rule 31 can match eol */
2486 #line 374 "surf/surfxml.l"
2488 A_include_file = NULL;
2494 /* rule 32 can match eol */
2496 #line 380 "surf/surfxml.l"
2497 ENTER(VALUE1); BUFFERSET(A_include_file);
2500 /* rule 33 can match eol */
2502 #line 381 "surf/surfxml.l"
2503 ENTER(VALUE2); BUFFERSET(A_include_file);
2507 #line 383 "surf/surfxml.l"
2509 if (!A_include_file) FAIL("Required attribute `file' not set for `include' element.");
2510 LEAVE; STag_include();pcdata = NULL; ENTER(S_include);
2515 #line 387 "surf/surfxml.l"
2517 if (!A_include_file) FAIL("Required attribute `file' not set for `include' element.");
2518 LEAVE; STag_include(); pcdata = NULL; ETag_include();
2520 case S_platform_description_2: case S_platform_description_1: case S_platform_description: SET(S_platform_description_2); break;
2521 case S_include: case S_include_2: case S_include_1: SET(S_include_2); break;
2522 case ROOT_include: SET(EPILOG); break;
2528 #line 396 "surf/surfxml.l"
2529 FAIL("Unexpected character `%c' in attribute list of include element.", surf_parse_text[0]);
2533 #line 397 "surf/surfxml.l"
2534 FAIL("Bad attribute `%s' in `include' element start tag.",surf_parse_text);
2536 case YY_STATE_EOF(AL_include):
2537 #line 398 "surf/surfxml.l"
2538 FAIL("EOF in attribute list of `include' element.");
2543 /* rule 38 can match eol */
2545 #line 402 "surf/surfxml.l"
2550 case S_platform_description_2: case S_platform_description_1: case S_platform_description: SET(S_platform_description_2); break;
2551 case S_include: case S_include_2: case S_include_1: SET(S_include_2); break;
2552 case ROOT_include: SET(EPILOG); break;
2557 /* rule 39 can match eol */
2559 #line 411 "surf/surfxml.l"
2560 FAIL("Unexpected end-tag `%s': `</include>' expected.",surf_parse_text);
2564 #line 412 "surf/surfxml.l"
2565 FAIL("Unexpected character `%c': `</include>' expected.",surf_parse_text[0]);
2567 case YY_STATE_EOF(E_include):
2568 case YY_STATE_EOF(S_include):
2569 case YY_STATE_EOF(S_include_2):
2570 #line 413 "surf/surfxml.l"
2571 FAIL("Premature EOF: `</include>' expected.");
2575 /* rule 41 can match eol */
2577 #line 416 "surf/surfxml.l"
2581 A_cpu_availability = "1.0";
2582 A_cpu_availability_file = NULL;
2583 A_cpu_state = A_cpu_state_ON;
2584 A_cpu_state_file = NULL;
2585 A_cpu_interference_send = "1.0";
2586 A_cpu_interference_recv = "1.0";
2587 A_cpu_interference_send_recv = "1.0";
2588 A_cpu_max_outgoing_rate = "-1.0";
2594 /* rule 42 can match eol */
2596 #line 431 "surf/surfxml.l"
2597 ENTER(VALUE1); BUFFERSET(A_cpu_name);
2600 /* rule 43 can match eol */
2602 #line 432 "surf/surfxml.l"
2603 ENTER(VALUE2); BUFFERSET(A_cpu_name);
2606 /* rule 44 can match eol */
2608 #line 434 "surf/surfxml.l"
2609 ENTER(VALUE1); BUFFERSET(A_cpu_power);
2612 /* rule 45 can match eol */
2614 #line 435 "surf/surfxml.l"
2615 ENTER(VALUE2); BUFFERSET(A_cpu_power);
2618 /* rule 46 can match eol */
2620 #line 437 "surf/surfxml.l"
2621 ENTER(VALUE1); BUFFERSET(A_cpu_availability);
2624 /* rule 47 can match eol */
2626 #line 438 "surf/surfxml.l"
2627 ENTER(VALUE2); BUFFERSET(A_cpu_availability);
2630 /* rule 48 can match eol */
2632 #line 440 "surf/surfxml.l"
2633 ENTER(VALUE1); BUFFERSET(A_cpu_availability_file);
2636 /* rule 49 can match eol */
2638 #line 441 "surf/surfxml.l"
2639 ENTER(VALUE2); BUFFERSET(A_cpu_availability_file);
2642 /* rule 50 can match eol */
2643 #line 444 "surf/surfxml.l"
2645 /* rule 51 can match eol */
2647 #line 444 "surf/surfxml.l"
2648 A_cpu_state = A_cpu_state_ON;
2651 /* rule 52 can match eol */
2652 #line 446 "surf/surfxml.l"
2654 /* rule 53 can match eol */
2656 #line 446 "surf/surfxml.l"
2657 A_cpu_state = A_cpu_state_OFF;
2660 /* rule 54 can match eol */
2662 #line 448 "surf/surfxml.l"
2663 ENTER(VALUE1); BUFFERSET(A_cpu_state_file);
2666 /* rule 55 can match eol */
2668 #line 449 "surf/surfxml.l"
2669 ENTER(VALUE2); BUFFERSET(A_cpu_state_file);
2672 /* rule 56 can match eol */
2674 #line 451 "surf/surfxml.l"
2675 ENTER(VALUE1); BUFFERSET(A_cpu_interference_send);
2678 /* rule 57 can match eol */
2680 #line 452 "surf/surfxml.l"
2681 ENTER(VALUE2); BUFFERSET(A_cpu_interference_send);
2684 /* rule 58 can match eol */
2686 #line 454 "surf/surfxml.l"
2687 ENTER(VALUE1); BUFFERSET(A_cpu_interference_recv);
2690 /* rule 59 can match eol */
2692 #line 455 "surf/surfxml.l"
2693 ENTER(VALUE2); BUFFERSET(A_cpu_interference_recv);
2696 /* rule 60 can match eol */
2698 #line 457 "surf/surfxml.l"
2699 ENTER(VALUE1); BUFFERSET(A_cpu_interference_send_recv);
2702 /* rule 61 can match eol */
2704 #line 458 "surf/surfxml.l"
2705 ENTER(VALUE2); BUFFERSET(A_cpu_interference_send_recv);
2708 /* rule 62 can match eol */
2710 #line 460 "surf/surfxml.l"
2711 ENTER(VALUE1); BUFFERSET(A_cpu_max_outgoing_rate);
2714 /* rule 63 can match eol */
2716 #line 461 "surf/surfxml.l"
2717 ENTER(VALUE2); BUFFERSET(A_cpu_max_outgoing_rate);
2721 #line 463 "surf/surfxml.l"
2723 if (!A_cpu_name) FAIL("Required attribute `name' not set for `cpu' element.");
2724 if (!A_cpu_power) FAIL("Required attribute `power' not set for `cpu' element.");
2725 LEAVE; STag_cpu();pcdata = NULL; ENTER(E_cpu);
2730 #line 468 "surf/surfxml.l"
2732 if (!A_cpu_name) FAIL("Required attribute `name' not set for `cpu' element.");
2733 if (!A_cpu_power) FAIL("Required attribute `power' not set for `cpu' element.");
2734 LEAVE; STag_cpu(); pcdata = NULL; ETag_cpu();
2736 case S_platform_description_2: case S_platform_description_1: case S_platform_description: SET(S_platform_description_2); break;
2737 case S_include: case S_include_2: case S_include_1: SET(S_include_2); break;
2738 case ROOT_cpu: SET(EPILOG); break;
2744 #line 478 "surf/surfxml.l"
2745 FAIL("Unexpected character `%c' in attribute list of cpu element.", surf_parse_text[0]);
2749 #line 479 "surf/surfxml.l"
2750 FAIL("Bad attribute `%s' in `cpu' element start tag.",surf_parse_text);
2752 case YY_STATE_EOF(AL_cpu):
2753 #line 480 "surf/surfxml.l"
2754 FAIL("EOF in attribute list of `cpu' element.");
2759 /* rule 68 can match eol */
2761 #line 484 "surf/surfxml.l"
2766 case S_platform_description_2: case S_platform_description_1: case S_platform_description: SET(S_platform_description_2); break;
2767 case S_include: case S_include_2: case S_include_1: SET(S_include_2); break;
2768 case ROOT_cpu: SET(EPILOG); break;
2773 /* rule 69 can match eol */
2775 #line 493 "surf/surfxml.l"
2776 FAIL("Unexpected end-tag `%s': `</cpu>' expected.",surf_parse_text);
2780 #line 494 "surf/surfxml.l"
2781 FAIL("Unexpected character `%c': `</cpu>' expected.",surf_parse_text[0]);
2783 case YY_STATE_EOF(E_cpu):
2784 #line 495 "surf/surfxml.l"
2785 FAIL("Premature EOF: `</cpu>' expected.");
2789 /* rule 71 can match eol */
2791 #line 498 "surf/surfxml.l"
2793 A_network_link_name = NULL;
2794 A_network_link_bandwidth = NULL;
2795 A_network_link_bandwidth_file = NULL;
2796 A_network_link_latency = "0.0";
2797 A_network_link_latency_file = NULL;
2798 A_network_link_state = A_network_link_state_ON;
2799 A_network_link_state_file = NULL;
2800 ENTER(AL_network_link);
2805 /* rule 72 can match eol */
2807 #line 510 "surf/surfxml.l"
2808 ENTER(VALUE1); BUFFERSET(A_network_link_name);
2811 /* rule 73 can match eol */
2813 #line 511 "surf/surfxml.l"
2814 ENTER(VALUE2); BUFFERSET(A_network_link_name);
2817 /* rule 74 can match eol */
2819 #line 513 "surf/surfxml.l"
2820 ENTER(VALUE1); BUFFERSET(A_network_link_bandwidth);
2823 /* rule 75 can match eol */
2825 #line 514 "surf/surfxml.l"
2826 ENTER(VALUE2); BUFFERSET(A_network_link_bandwidth);
2829 /* rule 76 can match eol */
2831 #line 516 "surf/surfxml.l"
2832 ENTER(VALUE1); BUFFERSET(A_network_link_bandwidth_file);
2835 /* rule 77 can match eol */
2837 #line 517 "surf/surfxml.l"
2838 ENTER(VALUE2); BUFFERSET(A_network_link_bandwidth_file);
2841 /* rule 78 can match eol */
2843 #line 519 "surf/surfxml.l"
2844 ENTER(VALUE1); BUFFERSET(A_network_link_latency);
2847 /* rule 79 can match eol */
2849 #line 520 "surf/surfxml.l"
2850 ENTER(VALUE2); BUFFERSET(A_network_link_latency);
2853 /* rule 80 can match eol */
2855 #line 522 "surf/surfxml.l"
2856 ENTER(VALUE1); BUFFERSET(A_network_link_latency_file);
2859 /* rule 81 can match eol */
2861 #line 523 "surf/surfxml.l"
2862 ENTER(VALUE2); BUFFERSET(A_network_link_latency_file);
2865 /* rule 82 can match eol */
2866 #line 526 "surf/surfxml.l"
2868 /* rule 83 can match eol */
2870 #line 526 "surf/surfxml.l"
2871 A_network_link_state = A_network_link_state_ON;
2874 /* rule 84 can match eol */
2875 #line 528 "surf/surfxml.l"
2877 /* rule 85 can match eol */
2879 #line 528 "surf/surfxml.l"
2880 A_network_link_state = A_network_link_state_OFF;
2883 /* rule 86 can match eol */
2885 #line 530 "surf/surfxml.l"
2886 ENTER(VALUE1); BUFFERSET(A_network_link_state_file);
2889 /* rule 87 can match eol */
2891 #line 531 "surf/surfxml.l"
2892 ENTER(VALUE2); BUFFERSET(A_network_link_state_file);
2896 #line 533 "surf/surfxml.l"
2898 if (!A_network_link_name) FAIL("Required attribute `name' not set for `network_link' element.");
2899 if (!A_network_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `network_link' element.");
2900 LEAVE; STag_network_link();pcdata = NULL; ENTER(E_network_link);
2905 #line 538 "surf/surfxml.l"
2907 if (!A_network_link_name) FAIL("Required attribute `name' not set for `network_link' element.");
2908 if (!A_network_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `network_link' element.");
2909 LEAVE; STag_network_link(); pcdata = NULL; ETag_network_link();
2911 case S_platform_description_2: case S_platform_description_1: case S_platform_description: SET(S_platform_description_2); break;
2912 case S_include: case S_include_2: case S_include_1: SET(S_include_2); break;
2913 case ROOT_network_link: SET(EPILOG); break;
2919 #line 548 "surf/surfxml.l"
2920 FAIL("Unexpected character `%c' in attribute list of network_link element.", surf_parse_text[0]);
2924 #line 549 "surf/surfxml.l"
2925 FAIL("Bad attribute `%s' in `network_link' element start tag.",surf_parse_text);
2927 case YY_STATE_EOF(AL_network_link):
2928 #line 550 "surf/surfxml.l"
2929 FAIL("EOF in attribute list of `network_link' element.");
2934 /* rule 92 can match eol */
2936 #line 554 "surf/surfxml.l"
2939 ETag_network_link();
2941 case S_platform_description_2: case S_platform_description_1: case S_platform_description: SET(S_platform_description_2); break;
2942 case S_include: case S_include_2: case S_include_1: SET(S_include_2); break;
2943 case ROOT_network_link: SET(EPILOG); break;
2948 /* rule 93 can match eol */
2950 #line 563 "surf/surfxml.l"
2951 FAIL("Unexpected end-tag `%s': `</network_link>' expected.",surf_parse_text);
2955 #line 564 "surf/surfxml.l"
2956 FAIL("Unexpected character `%c': `</network_link>' expected.",surf_parse_text[0]);
2958 case YY_STATE_EOF(E_network_link):
2959 #line 565 "surf/surfxml.l"
2960 FAIL("Premature EOF: `</network_link>' expected.");
2964 /* rule 95 can match eol */
2966 #line 568 "surf/surfxml.l"
2970 A_route_impact_on_src = "0.0";
2971 A_route_impact_on_dst = "0.0";
2972 A_route_impact_on_src_with_other_recv = "0.0";
2973 A_route_impact_on_dst_with_other_send = "0.0";
2979 /* rule 96 can match eol */
2981 #line 579 "surf/surfxml.l"
2982 ENTER(VALUE1); BUFFERSET(A_route_src);
2985 /* rule 97 can match eol */
2987 #line 580 "surf/surfxml.l"
2988 ENTER(VALUE2); BUFFERSET(A_route_src);
2991 /* rule 98 can match eol */
2993 #line 582 "surf/surfxml.l"
2994 ENTER(VALUE1); BUFFERSET(A_route_dst);
2997 /* rule 99 can match eol */
2999 #line 583 "surf/surfxml.l"
3000 ENTER(VALUE2); BUFFERSET(A_route_dst);
3003 /* rule 100 can match eol */
3005 #line 585 "surf/surfxml.l"
3006 ENTER(VALUE1); BUFFERSET(A_route_impact_on_src);
3009 /* rule 101 can match eol */
3011 #line 586 "surf/surfxml.l"
3012 ENTER(VALUE2); BUFFERSET(A_route_impact_on_src);
3015 /* rule 102 can match eol */
3017 #line 588 "surf/surfxml.l"
3018 ENTER(VALUE1); BUFFERSET(A_route_impact_on_dst);
3021 /* rule 103 can match eol */
3023 #line 589 "surf/surfxml.l"
3024 ENTER(VALUE2); BUFFERSET(A_route_impact_on_dst);
3027 /* rule 104 can match eol */
3029 #line 591 "surf/surfxml.l"
3030 ENTER(VALUE1); BUFFERSET(A_route_impact_on_src_with_other_recv);
3033 /* rule 105 can match eol */
3035 #line 592 "surf/surfxml.l"
3036 ENTER(VALUE2); BUFFERSET(A_route_impact_on_src_with_other_recv);
3039 /* rule 106 can match eol */
3041 #line 594 "surf/surfxml.l"
3042 ENTER(VALUE1); BUFFERSET(A_route_impact_on_dst_with_other_send);
3045 /* rule 107 can match eol */
3047 #line 595 "surf/surfxml.l"
3048 ENTER(VALUE2); BUFFERSET(A_route_impact_on_dst_with_other_send);
3052 #line 597 "surf/surfxml.l"
3054 if (!A_route_src) FAIL("Required attribute `src' not set for `route' element.");
3055 if (!A_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
3056 LEAVE; STag_route();pcdata = NULL; ENTER(S_route);
3061 #line 602 "surf/surfxml.l"
3063 if (!A_route_src) FAIL("Required attribute `src' not set for `route' element.");
3064 if (!A_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
3065 LEAVE; STag_route(); pcdata = NULL; ETag_route();
3067 case S_platform_description_2: case S_platform_description_1: case S_platform_description: SET(S_platform_description_2); break;
3068 case S_include: case S_include_2: case S_include_1: SET(S_include_2); break;
3069 case ROOT_route: SET(EPILOG); break;
3075 #line 612 "surf/surfxml.l"
3076 FAIL("Unexpected character `%c' in attribute list of route element.", surf_parse_text[0]);
3080 #line 613 "surf/surfxml.l"
3081 FAIL("Bad attribute `%s' in `route' element start tag.",surf_parse_text);
3083 case YY_STATE_EOF(AL_route):
3084 #line 614 "surf/surfxml.l"
3085 FAIL("EOF in attribute list of `route' element.");
3090 /* rule 112 can match eol */
3092 #line 618 "surf/surfxml.l"
3097 case S_platform_description_2: case S_platform_description_1: case S_platform_description: SET(S_platform_description_2); break;
3098 case S_include: case S_include_2: case S_include_1: SET(S_include_2); break;
3099 case ROOT_route: SET(EPILOG); break;
3104 /* rule 113 can match eol */
3106 #line 627 "surf/surfxml.l"
3107 FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
3111 #line 628 "surf/surfxml.l"
3112 FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
3114 case YY_STATE_EOF(S_route):
3115 case YY_STATE_EOF(S_route_2):
3116 case YY_STATE_EOF(E_route):
3117 #line 629 "surf/surfxml.l"
3118 FAIL("Premature EOF: `</route>' expected.");
3122 /* rule 115 can match eol */
3124 #line 632 "surf/surfxml.l"
3126 A_route_element_name = NULL;
3127 ENTER(AL_route_element);
3132 /* rule 116 can match eol */
3134 #line 638 "surf/surfxml.l"
3135 ENTER(VALUE1); BUFFERSET(A_route_element_name);
3138 /* rule 117 can match eol */
3140 #line 639 "surf/surfxml.l"
3141 ENTER(VALUE2); BUFFERSET(A_route_element_name);
3145 #line 641 "surf/surfxml.l"
3147 if (!A_route_element_name) FAIL("Required attribute `name' not set for `route_element' element.");
3148 LEAVE; STag_route_element();pcdata = NULL; ENTER(E_route_element);
3153 #line 645 "surf/surfxml.l"
3155 if (!A_route_element_name) FAIL("Required attribute `name' not set for `route_element' element.");
3156 LEAVE; STag_route_element(); pcdata = NULL; ETag_route_element();
3158 case S_route_1: case S_route: case S_route_2: SET(S_route_2); break;
3159 case ROOT_route_element: SET(EPILOG); break;
3165 #line 653 "surf/surfxml.l"
3166 FAIL("Unexpected character `%c' in attribute list of route_element element.", surf_parse_text[0]);
3170 #line 654 "surf/surfxml.l"
3171 FAIL("Bad attribute `%s' in `route_element' element start tag.",surf_parse_text);
3173 case YY_STATE_EOF(AL_route_element):
3174 #line 655 "surf/surfxml.l"
3175 FAIL("EOF in attribute list of `route_element' element.");
3180 /* rule 122 can match eol */
3182 #line 659 "surf/surfxml.l"
3185 ETag_route_element();
3187 case S_route_1: case S_route: case S_route_2: SET(S_route_2); break;
3188 case ROOT_route_element: SET(EPILOG); break;
3193 /* rule 123 can match eol */
3195 #line 667 "surf/surfxml.l"
3196 FAIL("Unexpected end-tag `%s': `</route_element>' expected.",surf_parse_text);
3200 #line 668 "surf/surfxml.l"
3201 FAIL("Unexpected character `%c': `</route_element>' expected.",surf_parse_text[0]);
3203 case YY_STATE_EOF(E_route_element):
3204 #line 669 "surf/surfxml.l"
3205 FAIL("Premature EOF: `</route_element>' expected.");
3209 /* rule 125 can match eol */
3211 #line 672 "surf/surfxml.l"
3213 A_process_host = NULL;
3214 A_process_function = NULL;
3215 A_process_start_time = "-1.0";
3216 A_process_kill_time = "-1.0";
3222 /* rule 126 can match eol */
3224 #line 681 "surf/surfxml.l"
3225 ENTER(VALUE1); BUFFERSET(A_process_host);
3228 /* rule 127 can match eol */
3230 #line 682 "surf/surfxml.l"
3231 ENTER(VALUE2); BUFFERSET(A_process_host);
3234 /* rule 128 can match eol */
3236 #line 684 "surf/surfxml.l"
3237 ENTER(VALUE1); BUFFERSET(A_process_function);
3240 /* rule 129 can match eol */
3242 #line 685 "surf/surfxml.l"
3243 ENTER(VALUE2); BUFFERSET(A_process_function);
3246 /* rule 130 can match eol */
3248 #line 687 "surf/surfxml.l"
3249 ENTER(VALUE1); BUFFERSET(A_process_start_time);
3252 /* rule 131 can match eol */
3254 #line 688 "surf/surfxml.l"
3255 ENTER(VALUE2); BUFFERSET(A_process_start_time);
3258 /* rule 132 can match eol */
3260 #line 690 "surf/surfxml.l"
3261 ENTER(VALUE1); BUFFERSET(A_process_kill_time);
3264 /* rule 133 can match eol */
3266 #line 691 "surf/surfxml.l"
3267 ENTER(VALUE2); BUFFERSET(A_process_kill_time);
3271 #line 693 "surf/surfxml.l"
3273 if (!A_process_host) FAIL("Required attribute `host' not set for `process' element.");
3274 if (!A_process_function) FAIL("Required attribute `function' not set for `process' element.");
3275 LEAVE; STag_process();pcdata = NULL; ENTER(S_process);
3280 #line 698 "surf/surfxml.l"
3282 if (!A_process_host) FAIL("Required attribute `host' not set for `process' element.");
3283 if (!A_process_function) FAIL("Required attribute `function' not set for `process' element.");
3284 LEAVE; STag_process(); pcdata = NULL; ETag_process();
3286 case S_platform_description_2: case S_platform_description_1: case S_platform_description: SET(S_platform_description_2); break;
3287 case S_include: case S_include_2: case S_include_1: SET(S_include_2); break;
3288 case ROOT_process: SET(EPILOG); break;
3294 #line 708 "surf/surfxml.l"
3295 FAIL("Unexpected character `%c' in attribute list of process element.", surf_parse_text[0]);
3299 #line 709 "surf/surfxml.l"
3300 FAIL("Bad attribute `%s' in `process' element start tag.",surf_parse_text);
3302 case YY_STATE_EOF(AL_process):
3303 #line 710 "surf/surfxml.l"
3304 FAIL("EOF in attribute list of `process' element.");
3309 /* rule 138 can match eol */
3311 #line 714 "surf/surfxml.l"
3316 case S_platform_description_2: case S_platform_description_1: case S_platform_description: SET(S_platform_description_2); break;
3317 case S_include: case S_include_2: case S_include_1: SET(S_include_2); break;
3318 case ROOT_process: SET(EPILOG); break;
3323 /* rule 139 can match eol */
3325 #line 723 "surf/surfxml.l"
3326 FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
3330 #line 724 "surf/surfxml.l"
3331 FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
3333 case YY_STATE_EOF(S_process):
3334 case YY_STATE_EOF(E_process):
3335 case YY_STATE_EOF(S_process_2):
3336 #line 725 "surf/surfxml.l"
3337 FAIL("Premature EOF: `</process>' expected.");
3341 /* rule 141 can match eol */
3343 #line 728 "surf/surfxml.l"
3345 A_argument_value = NULL;
3351 /* rule 142 can match eol */
3353 #line 734 "surf/surfxml.l"
3354 ENTER(VALUE1); BUFFERSET(A_argument_value);
3357 /* rule 143 can match eol */
3359 #line 735 "surf/surfxml.l"
3360 ENTER(VALUE2); BUFFERSET(A_argument_value);
3364 #line 737 "surf/surfxml.l"
3366 if (!A_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
3367 LEAVE; STag_argument();pcdata = NULL; ENTER(E_argument);
3372 #line 741 "surf/surfxml.l"
3374 if (!A_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
3375 LEAVE; STag_argument(); pcdata = NULL; ETag_argument();
3377 case ROOT_argument: SET(EPILOG); break;
3378 case S_process_1: case S_process: case S_process_2: SET(S_process_2); break;
3384 #line 749 "surf/surfxml.l"
3385 FAIL("Unexpected character `%c' in attribute list of argument element.", surf_parse_text[0]);
3389 #line 750 "surf/surfxml.l"
3390 FAIL("Bad attribute `%s' in `argument' element start tag.",surf_parse_text);
3392 case YY_STATE_EOF(AL_argument):
3393 #line 751 "surf/surfxml.l"
3394 FAIL("EOF in attribute list of `argument' element.");
3399 /* rule 148 can match eol */
3401 #line 755 "surf/surfxml.l"
3406 case ROOT_argument: SET(EPILOG); break;
3407 case S_process_1: case S_process: case S_process_2: SET(S_process_2); break;
3412 /* rule 149 can match eol */
3414 #line 763 "surf/surfxml.l"
3415 FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
3419 #line 764 "surf/surfxml.l"
3420 FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
3422 case YY_STATE_EOF(E_argument):
3423 #line 765 "surf/surfxml.l"
3424 FAIL("Premature EOF: `</argument>' expected.");
3427 /* EPILOG: after the root element. */
3431 #line 771 "surf/surfxml.l"
3432 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
3434 case YY_STATE_EOF(EPILOG):
3435 #line 772 "surf/surfxml.l"
3439 /* CHARACTER DATA. */
3441 /* Non-defined standard entities... */
3444 #line 779 "surf/surfxml.l"
3449 #line 780 "surf/surfxml.l"
3454 #line 781 "surf/surfxml.l"
3459 #line 782 "surf/surfxml.l"
3464 #line 783 "surf/surfxml.l"
3467 /* Character entities. */
3470 #line 786 "surf/surfxml.l"
3471 BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
3475 #line 787 "surf/surfxml.l"
3476 BUFFERPUTC((unsigned char)strtol(surf_parse_text+3,NULL,16));
3481 /* rule 159 can match eol */
3482 #line 792 "surf/surfxml.l"
3484 /* rule 160 can match eol */
3485 #line 793 "surf/surfxml.l"
3487 /* rule 161 can match eol */
3488 #line 794 "surf/surfxml.l"
3490 /* rule 162 can match eol */
3492 #line 794 "surf/surfxml.l"
3499 #line 798 "surf/surfxml.l"
3504 #line 799 "surf/surfxml.l"
3505 FAIL("Unexpected `]""]>' in character data.");
3511 #line 803 "surf/surfxml.l"
3514 case YY_STATE_EOF(VALUE1):
3515 #line 804 "surf/surfxml.l"
3516 FAIL("EOF in literal (\"'\" expected).");
3522 #line 808 "surf/surfxml.l"
3525 case YY_STATE_EOF(VALUE2):
3526 #line 809 "surf/surfxml.l"
3527 FAIL("EOF in literal (`\"' expected).");
3532 /* rule 167 can match eol */
3534 #line 813 "surf/surfxml.l"
3535 BUFFERPUTC(surf_parse_text[0]);
3539 #line 814 "surf/surfxml.l"
3540 FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
3546 #line 818 "surf/surfxml.l"
3549 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
3552 #line 820 "surf/surfxml.l"
3553 BUFFERPUTC(surf_parse_text[0]);
3555 case YY_STATE_EOF(CDATA):
3556 #line 821 "surf/surfxml.l"
3557 FAIL("EOF in CDATA section.");
3560 /* Impossible rules to avoid warnings from flex(1). */
3561 /* Ideally, this should be replaced by code in flexml.pl that
3562 generates just the states not covered by other rules. */
3565 /* rule 171 can match eol */
3567 #line 828 "surf/surfxml.l"
3568 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
3573 #line 831 "surf/surfxml.l"
3576 #line 3577 "surf/surfxml.c"
3577 case YY_STATE_EOF(INITIAL):
3578 case YY_STATE_EOF(ROOT_platform_description):
3579 case YY_STATE_EOF(S_platform_description_1):
3580 case YY_STATE_EOF(ROOT_include):
3581 case YY_STATE_EOF(S_include_1):
3582 case YY_STATE_EOF(ROOT_cpu):
3583 case YY_STATE_EOF(ROOT_network_link):
3584 case YY_STATE_EOF(ROOT_route):
3585 case YY_STATE_EOF(S_route_1):
3586 case YY_STATE_EOF(ROOT_route_element):
3587 case YY_STATE_EOF(ROOT_process):
3588 case YY_STATE_EOF(S_process_1):
3589 case YY_STATE_EOF(ROOT_argument):
3590 case YY_STATE_EOF(IMPOSSIBLE):
3593 case YY_END_OF_BUFFER:
3595 /* Amount of text matched not including the EOB char. */
3596 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
3598 /* Undo the effects of YY_DO_BEFORE_ACTION. */
3599 *yy_cp = (yy_hold_char);
3600 YY_RESTORE_YY_MORE_OFFSET
3602 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
3604 /* We're scanning a new file or input source. It's
3605 * possible that this happened because the user
3606 * just pointed surf_parse_in at a new source and called
3607 * surf_parse_lex(). If so, then we have to assure
3608 * consistency between YY_CURRENT_BUFFER and our
3609 * globals. Here is the right place to do so, because
3610 * this is the first action (other than possibly a
3611 * back-up) that will match for the new input source.
3613 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3614 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
3615 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
3618 /* Note that here we test for yy_c_buf_p "<=" to the position
3619 * of the first EOB in the buffer, since yy_c_buf_p will
3620 * already have been incremented past the NUL character
3621 * (since all states make transitions on EOB to the
3622 * end-of-buffer state). Contrast this with the test
3625 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3626 { /* This was really a NUL. */
3627 yy_state_type yy_next_state;
3629 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
3631 yy_current_state = yy_get_previous_state( );
3633 /* Okay, we're now positioned to make the NUL
3634 * transition. We couldn't have
3635 * yy_get_previous_state() go ahead and do it
3636 * for us because it doesn't know how to deal
3637 * with the possibility of jamming (and we don't
3638 * want to build jamming into it because then it
3639 * will run more slowly).
3642 yy_next_state = yy_try_NUL_trans( yy_current_state );
3644 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3646 if ( yy_next_state )
3648 /* Consume the NUL. */
3649 yy_cp = ++(yy_c_buf_p);
3650 yy_current_state = yy_next_state;
3656 yy_cp = (yy_c_buf_p);
3657 goto yy_find_action;
3661 else switch ( yy_get_next_buffer( ) )
3663 case EOB_ACT_END_OF_FILE:
3665 (yy_did_buffer_switch_on_eof) = 0;
3667 if ( surf_parse_wrap( ) )
3669 /* Note: because we've taken care in
3670 * yy_get_next_buffer() to have set up
3671 * surf_parse_text, we can now set up
3672 * yy_c_buf_p so that if some total
3673 * hoser (like flex itself) wants to
3674 * call the scanner after we return the
3675 * YY_NULL, it'll still work - another
3676 * YY_NULL will get returned.
3678 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
3680 yy_act = YY_STATE_EOF(YY_START);
3686 if ( ! (yy_did_buffer_switch_on_eof) )
3692 case EOB_ACT_CONTINUE_SCAN:
3694 (yytext_ptr) + yy_amount_of_matched_text;
3696 yy_current_state = yy_get_previous_state( );
3698 yy_cp = (yy_c_buf_p);
3699 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3702 case EOB_ACT_LAST_MATCH:
3704 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
3706 yy_current_state = yy_get_previous_state( );
3708 yy_cp = (yy_c_buf_p);
3709 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3710 goto yy_find_action;
3717 "fatal flex scanner internal error--no action found" );
3718 } /* end of action switch */
3719 } /* end of scanning one token */
3720 } /* end of surf_parse_lex */
3722 /* yy_get_next_buffer - try to read in a new buffer
3724 * Returns a code representing an action:
3725 * EOB_ACT_LAST_MATCH -
3726 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3727 * EOB_ACT_END_OF_FILE - end of file
3729 static int yy_get_next_buffer (void)
3731 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
3732 register char *source = (yytext_ptr);
3733 register int number_to_move, i;
3736 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
3738 "fatal flex scanner internal error--end of buffer missed" );
3740 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
3741 { /* Don't try to fill the buffer, so this is an EOF. */
3742 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
3744 /* We matched a single character, the EOB, so
3745 * treat this as a final EOF.
3747 return EOB_ACT_END_OF_FILE;
3752 /* We matched some text prior to the EOB, first
3755 return EOB_ACT_LAST_MATCH;
3759 /* Try to read more data. */
3761 /* First move last chars to start of buffer. */
3762 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
3764 for ( i = 0; i < number_to_move; ++i )
3765 *(dest++) = *(source++);
3767 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
3768 /* don't do the read, it's not guaranteed to return an EOF,
3771 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
3775 size_t num_to_read =
3776 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
3778 while ( num_to_read <= 0 )
3779 { /* Not enough room in the buffer - grow it. */
3781 /* just a shorter name for the current buffer */
3782 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
3784 int yy_c_buf_p_offset =
3785 (int) ((yy_c_buf_p) - b->yy_ch_buf);
3787 if ( b->yy_is_our_buffer )
3789 int new_size = b->yy_buf_size * 2;
3791 if ( new_size <= 0 )
3792 b->yy_buf_size += b->yy_buf_size / 8;
3794 b->yy_buf_size *= 2;
3796 b->yy_ch_buf = (char *)
3797 /* Include room in for 2 EOB chars. */
3798 surf_parse_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
3801 /* Can't grow it, we don't own it. */
3804 if ( ! b->yy_ch_buf )
3806 "fatal error - scanner input buffer overflow" );
3808 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
3810 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
3815 if ( num_to_read > YY_READ_BUF_SIZE )
3816 num_to_read = YY_READ_BUF_SIZE;
3818 /* Read in more data. */
3819 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
3820 (yy_n_chars), num_to_read );
3822 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3825 if ( (yy_n_chars) == 0 )
3827 if ( number_to_move == YY_MORE_ADJ )
3829 ret_val = EOB_ACT_END_OF_FILE;
3830 surf_parse_restart(surf_parse_in );
3835 ret_val = EOB_ACT_LAST_MATCH;
3836 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
3837 YY_BUFFER_EOF_PENDING;
3842 ret_val = EOB_ACT_CONTINUE_SCAN;
3844 (yy_n_chars) += number_to_move;
3845 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
3846 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
3848 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
3853 /* yy_get_previous_state - get the state just before the EOB char was reached */
3855 static yy_state_type yy_get_previous_state (void)
3857 register yy_state_type yy_current_state;
3858 register char *yy_cp;
3860 yy_current_state = (yy_start);
3862 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
3864 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3865 if ( yy_accept[yy_current_state] )
3867 (yy_last_accepting_state) = yy_current_state;
3868 (yy_last_accepting_cpos) = yy_cp;
3870 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3872 yy_current_state = (int) yy_def[yy_current_state];
3873 if ( yy_current_state >= 1285 )
3874 yy_c = yy_meta[(unsigned int) yy_c];
3876 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3879 return yy_current_state;
3882 /* yy_try_NUL_trans - try to make a transition on the NUL character
3885 * next_state = yy_try_NUL_trans( current_state );
3887 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
3889 register int yy_is_jam;
3890 register char *yy_cp = (yy_c_buf_p);
3892 register YY_CHAR yy_c = 1;
3893 if ( yy_accept[yy_current_state] )
3895 (yy_last_accepting_state) = yy_current_state;
3896 (yy_last_accepting_cpos) = yy_cp;
3898 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3900 yy_current_state = (int) yy_def[yy_current_state];
3901 if ( yy_current_state >= 1285 )
3902 yy_c = yy_meta[(unsigned int) yy_c];
3904 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3905 yy_is_jam = (yy_current_state == 1284);
3907 return yy_is_jam ? 0 : yy_current_state;
3912 static int yyinput (void)
3914 static int input (void)
3920 *(yy_c_buf_p) = (yy_hold_char);
3922 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
3924 /* yy_c_buf_p now points to the character we want to return.
3925 * If this occurs *before* the EOB characters, then it's a
3926 * valid NUL; if not, then we've hit the end of the buffer.
3928 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3929 /* This was really a NUL. */
3930 *(yy_c_buf_p) = '\0';
3933 { /* need more input */
3934 int offset = (yy_c_buf_p) - (yytext_ptr);
3937 switch ( yy_get_next_buffer( ) )
3939 case EOB_ACT_LAST_MATCH:
3940 /* This happens because yy_g_n_b()
3941 * sees that we've accumulated a
3942 * token and flags that we need to
3943 * try matching the token before
3944 * proceeding. But for input(),
3945 * there's no matching to consider.
3946 * So convert the EOB_ACT_LAST_MATCH
3947 * to EOB_ACT_END_OF_FILE.
3950 /* Reset buffer status. */
3951 surf_parse_restart(surf_parse_in );
3955 case EOB_ACT_END_OF_FILE:
3957 if ( surf_parse_wrap( ) )
3960 if ( ! (yy_did_buffer_switch_on_eof) )
3969 case EOB_ACT_CONTINUE_SCAN:
3970 (yy_c_buf_p) = (yytext_ptr) + offset;
3976 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
3977 *(yy_c_buf_p) = '\0'; /* preserve surf_parse_text */
3978 (yy_hold_char) = *++(yy_c_buf_p);
3982 surf_parse_lineno++;
3987 #endif /* ifndef YY_NO_INPUT */
3989 /** Immediately switch to a different input stream.
3990 * @param input_file A readable stream.
3992 * @note This function does not reset the start condition to @c INITIAL .
3994 void surf_parse_restart (FILE * input_file )
3997 if ( ! YY_CURRENT_BUFFER ){
3998 surf_parse_ensure_buffer_stack ();
3999 YY_CURRENT_BUFFER_LVALUE =
4000 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
4003 surf_parse__init_buffer(YY_CURRENT_BUFFER,input_file );
4004 surf_parse__load_buffer_state( );
4007 /** Switch to a different input buffer.
4008 * @param new_buffer The new input buffer.
4011 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer )
4014 /* TODO. We should be able to replace this entire function body
4016 * surf_parse_pop_buffer_state();
4017 * surf_parse_push_buffer_state(new_buffer);
4019 surf_parse_ensure_buffer_stack ();
4020 if ( YY_CURRENT_BUFFER == new_buffer )
4023 if ( YY_CURRENT_BUFFER )
4025 /* Flush out information for old buffer. */
4026 *(yy_c_buf_p) = (yy_hold_char);
4027 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
4028 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4031 YY_CURRENT_BUFFER_LVALUE = new_buffer;
4032 surf_parse__load_buffer_state( );
4034 /* We don't actually know whether we did this switch during
4035 * EOF (surf_parse_wrap()) processing, but the only time this flag
4036 * is looked at is after surf_parse_wrap() is called, so it's safe
4037 * to go ahead and always set it.
4039 (yy_did_buffer_switch_on_eof) = 1;
4042 static void surf_parse__load_buffer_state (void)
4044 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
4045 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
4046 surf_parse_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
4047 (yy_hold_char) = *(yy_c_buf_p);
4050 /** Allocate and initialize an input buffer state.
4051 * @param file A readable stream.
4052 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
4054 * @return the allocated buffer state.
4056 YY_BUFFER_STATE surf_parse__create_buffer (FILE * file, int size )
4060 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
4062 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
4064 b->yy_buf_size = size;
4066 /* yy_ch_buf has to be 2 characters longer than the size given because
4067 * we need to put in 2 end-of-buffer characters.
4069 b->yy_ch_buf = (char *) surf_parse_alloc(b->yy_buf_size + 2 );
4070 if ( ! b->yy_ch_buf )
4071 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
4073 b->yy_is_our_buffer = 1;
4075 surf_parse__init_buffer(b,file );
4080 /** Destroy the buffer.
4081 * @param b a buffer created with surf_parse__create_buffer()
4084 void surf_parse__delete_buffer (YY_BUFFER_STATE b )
4090 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
4091 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
4093 if ( b->yy_is_our_buffer )
4094 surf_parse_free((void *) b->yy_ch_buf );
4096 surf_parse_free((void *) b );
4100 extern int isatty (int );
4101 #endif /* __cplusplus */
4103 /* Initializes or reinitializes a buffer.
4104 * This function is sometimes called more than once on the same buffer,
4105 * such as during a surf_parse_restart() or at EOF.
4107 static void surf_parse__init_buffer (YY_BUFFER_STATE b, FILE * file )
4112 surf_parse__flush_buffer(b );
4114 b->yy_input_file = file;
4115 b->yy_fill_buffer = 1;
4117 /* If b is the current buffer, then surf_parse__init_buffer was _probably_
4118 * called from surf_parse_restart() or through yy_get_next_buffer.
4119 * In that case, we don't want to reset the lineno or column.
4121 if (b != YY_CURRENT_BUFFER){
4122 b->yy_bs_lineno = 1;
4123 b->yy_bs_column = 0;
4126 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
4131 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
4132 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
4135 void surf_parse__flush_buffer (YY_BUFFER_STATE b )
4142 /* We always need two end-of-buffer characters. The first causes
4143 * a transition to the end-of-buffer state. The second causes
4144 * a jam in that state.
4146 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
4147 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
4149 b->yy_buf_pos = &b->yy_ch_buf[0];
4152 b->yy_buffer_status = YY_BUFFER_NEW;
4154 if ( b == YY_CURRENT_BUFFER )
4155 surf_parse__load_buffer_state( );
4158 /** Pushes the new state onto the stack. The new state becomes
4159 * the current state. This function will allocate the stack
4161 * @param new_buffer The new state.
4164 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer )
4166 if (new_buffer == NULL)
4169 surf_parse_ensure_buffer_stack();
4171 /* This block is copied from surf_parse__switch_to_buffer. */
4172 if ( YY_CURRENT_BUFFER )
4174 /* Flush out information for old buffer. */
4175 *(yy_c_buf_p) = (yy_hold_char);
4176 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
4177 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4180 /* Only push if top exists. Otherwise, replace top. */
4181 if (YY_CURRENT_BUFFER)
4182 (yy_buffer_stack_top)++;
4183 YY_CURRENT_BUFFER_LVALUE = new_buffer;
4185 /* copied from surf_parse__switch_to_buffer. */
4186 surf_parse__load_buffer_state( );
4187 (yy_did_buffer_switch_on_eof) = 1;
4190 /** Removes and deletes the top of the stack, if present.
4191 * The next element becomes the new top.
4194 void surf_parse_pop_buffer_state (void)
4196 if (!YY_CURRENT_BUFFER)
4199 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
4200 YY_CURRENT_BUFFER_LVALUE = NULL;
4201 if ((yy_buffer_stack_top) > 0)
4202 --(yy_buffer_stack_top);
4204 if (YY_CURRENT_BUFFER) {
4205 surf_parse__load_buffer_state( );
4206 (yy_did_buffer_switch_on_eof) = 1;
4210 /* Allocates the stack if it does not exist.
4211 * Guarantees space for at least one push.
4213 static void surf_parse_ensure_buffer_stack (void)
4217 if (!(yy_buffer_stack)) {
4219 /* First allocation is just for 2 elements, since we don't know if this
4220 * scanner will even need a stack. We use 2 instead of 1 to avoid an
4221 * immediate realloc on the next call.
4224 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_alloc
4225 (num_to_alloc * sizeof(struct yy_buffer_state*)
4228 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
4230 (yy_buffer_stack_max) = num_to_alloc;
4231 (yy_buffer_stack_top) = 0;
4235 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
4237 /* Increase the buffer to prepare for a possible push. */
4238 int grow_size = 8 /* arbitrary grow size */;
4240 num_to_alloc = (yy_buffer_stack_max) + grow_size;
4241 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_realloc
4243 num_to_alloc * sizeof(struct yy_buffer_state*)
4246 /* zero only the new slots.*/
4247 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
4248 (yy_buffer_stack_max) = num_to_alloc;
4252 /** Setup the input buffer state to scan directly from a user-specified character buffer.
4253 * @param base the character buffer
4254 * @param size the size in bytes of the character buffer
4256 * @return the newly allocated buffer state object.
4258 YY_BUFFER_STATE surf_parse__scan_buffer (char * base, yy_size_t size )
4263 base[size-2] != YY_END_OF_BUFFER_CHAR ||
4264 base[size-1] != YY_END_OF_BUFFER_CHAR )
4265 /* They forgot to leave room for the EOB's. */
4268 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
4270 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_buffer()" );
4272 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
4273 b->yy_buf_pos = b->yy_ch_buf = base;
4274 b->yy_is_our_buffer = 0;
4275 b->yy_input_file = 0;
4276 b->yy_n_chars = b->yy_buf_size;
4277 b->yy_is_interactive = 0;
4279 b->yy_fill_buffer = 0;
4280 b->yy_buffer_status = YY_BUFFER_NEW;
4282 surf_parse__switch_to_buffer(b );
4287 /** Setup the input buffer state to scan a string. The next call to surf_parse_lex() will
4288 * scan from a @e copy of @a str.
4289 * @param str a NUL-terminated string to scan
4291 * @return the newly allocated buffer state object.
4292 * @note If you want to scan bytes that may contain NUL values, then use
4293 * surf_parse__scan_bytes() instead.
4295 YY_BUFFER_STATE surf_parse__scan_string (yyconst char * yy_str )
4298 return surf_parse__scan_bytes(yy_str,strlen(yy_str) );
4301 /** Setup the input buffer state to scan the given bytes. The next call to surf_parse_lex() will
4302 * scan from a @e copy of @a bytes.
4303 * @param bytes the byte buffer to scan
4304 * @param len the number of bytes in the buffer pointed to by @a bytes.
4306 * @return the newly allocated buffer state object.
4308 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char * bytes, int len )
4315 /* Get memory for full buffer, including space for trailing EOB's. */
4317 buf = (char *) surf_parse_alloc(n );
4319 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_bytes()" );
4321 for ( i = 0; i < len; ++i )
4324 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
4326 b = surf_parse__scan_buffer(buf,n );
4328 YY_FATAL_ERROR( "bad buffer in surf_parse__scan_bytes()" );
4330 /* It's okay to grow etc. this buffer, and we should throw it
4331 * away when we're done.
4333 b->yy_is_our_buffer = 1;
4338 static void yy_push_state (int new_state )
4340 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
4344 (yy_start_stack_depth) += YY_START_STACK_INCR;
4345 new_size = (yy_start_stack_depth) * sizeof( int );
4347 if ( ! (yy_start_stack) )
4348 (yy_start_stack) = (int *) surf_parse_alloc(new_size );
4351 (yy_start_stack) = (int *) surf_parse_realloc((void *) (yy_start_stack),new_size );
4353 if ( ! (yy_start_stack) )
4355 "out of memory expanding start-condition stack" );
4358 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
4363 static void yy_pop_state (void)
4365 if ( --(yy_start_stack_ptr) < 0 )
4366 YY_FATAL_ERROR( "start-condition stack underflow" );
4368 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
4371 #ifndef YY_EXIT_FAILURE
4372 #define YY_EXIT_FAILURE 2
4375 static void yy_fatal_error (yyconst char* msg )
4377 (void) fprintf( stderr, "%s\n", msg );
4378 exit( YY_EXIT_FAILURE );
4381 /* Redefine yyless() so it works in section 3 code. */
4387 /* Undo effects of setting up surf_parse_text. */ \
4388 int yyless_macro_arg = (n); \
4389 YY_LESS_LINENO(yyless_macro_arg);\
4390 surf_parse_text[surf_parse_leng] = (yy_hold_char); \
4391 (yy_c_buf_p) = surf_parse_text + yyless_macro_arg; \
4392 (yy_hold_char) = *(yy_c_buf_p); \
4393 *(yy_c_buf_p) = '\0'; \
4394 surf_parse_leng = yyless_macro_arg; \
4398 /* Accessor methods (get/set functions) to struct members. */
4400 /** Get the current line number.
4403 int surf_parse_get_lineno (void)
4406 return surf_parse_lineno;
4409 /** Get the input stream.
4412 FILE *surf_parse_get_in (void)
4414 return surf_parse_in;
4417 /** Get the output stream.
4420 FILE *surf_parse_get_out (void)
4422 return surf_parse_out;
4425 /** Get the length of the current token.
4428 int surf_parse_get_leng (void)
4430 return surf_parse_leng;
4433 /** Get the current token.
4437 char *surf_parse_get_text (void)
4439 return surf_parse_text;
4442 /** Set the current line number.
4443 * @param line_number
4446 void surf_parse_set_lineno (int line_number )
4449 surf_parse_lineno = line_number;
4452 /** Set the input stream. This does not discard the current
4454 * @param in_str A readable stream.
4456 * @see surf_parse__switch_to_buffer
4458 void surf_parse_set_in (FILE * in_str )
4460 surf_parse_in = in_str ;
4463 void surf_parse_set_out (FILE * out_str )
4465 surf_parse_out = out_str ;
4468 int surf_parse_get_debug (void)
4470 return surf_parse__flex_debug;
4473 void surf_parse_set_debug (int bdebug )
4475 surf_parse__flex_debug = bdebug ;
4478 /* surf_parse_lex_destroy is for both reentrant and non-reentrant scanners. */
4479 int surf_parse_lex_destroy (void)
4482 /* Pop the buffer stack, destroying each element. */
4483 while(YY_CURRENT_BUFFER){
4484 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
4485 YY_CURRENT_BUFFER_LVALUE = NULL;
4486 surf_parse_pop_buffer_state();
4489 /* Destroy the stack itself. */
4490 surf_parse_free((yy_buffer_stack) );
4491 (yy_buffer_stack) = NULL;
4493 /* Destroy the start condition stack. */
4494 surf_parse_free((yy_start_stack) );
4495 (yy_start_stack) = NULL;
4501 * Internal utility routines.
4505 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
4508 for ( i = 0; i < n; ++i )
4513 #ifdef YY_NEED_STRLEN
4514 static int yy_flex_strlen (yyconst char * s )
4517 for ( n = 0; s[n]; ++n )
4524 void *surf_parse_alloc (yy_size_t size )
4526 return (void *) malloc( size );
4529 void *surf_parse_realloc (void * ptr, yy_size_t size )
4531 /* The cast to (char *) in the following accommodates both
4532 * implementations that use char* generic pointers, and those
4533 * that use void* generic pointers. It works with the latter
4534 * because both ANSI C and C++ allow castless assignment from
4535 * any pointer type to void*, and deal with argument conversions
4536 * as though doing an assignment.
4538 return (void *) realloc( (char *) ptr, size );
4541 void surf_parse_free (void * ptr )
4543 free( (char *) ptr ); /* see surf_parse_realloc() for (char *) cast */
4546 #define YYTABLES_NAME "yytables"
4549 #undef YY_FLUSH_BUFFER
4551 #undef yy_new_buffer
4552 #undef yy_set_interactive
4554 #undef YY_DO_BEFORE_ACTION
4556 #ifdef YY_DECL_IS_OURS
4557 #undef YY_DECL_IS_OURS
4560 #line 831 "surf/surfxml.l"
4564 /* Element context stack lookup. */
4565 int element_context(int i)
4567 return (0<i && i<yy_start_stack_depth
4568 ? yy_start_stack[yy_start_stack_ptr - i]
4573 void print_yy_stack(char* fmt, ...)
4575 int i = 0; va_list ap; va_start(ap, fmt);
4576 vfprintf(stderr, fmt, ap);
4577 for (i=1; i<yy_start_stack_ptr; i++)
4578 fprintf(stderr, "%s/", statenames[yy_start_stack[i] ]);
4579 fprintf(stderr,"%s\n", statenames[YY_START]);
4583 static void debug_enter(int state, const char* statename) {
4584 yy_push_state(state);
4585 if (surf_parse__flex_debug) print_yy_stack("--ENTER(%s) : ",statename);
4588 static void debug_leave(void) {
4589 if (surf_parse__flex_debug) print_yy_stack("--LEAVE : ");
4593 static void debug_set(int state, const char* statename) {
4595 if (surf_parse__flex_debug) print_yy_stack("--SET(%s) : ",statename);
4599 enum {flexml_max_err_msg_size = 512};
4601 static char flexml_err_msg[flexml_max_err_msg_size];
4602 const char * parse_err_msg()
4604 return flexml_err_msg;
4607 static void reset_parse_err_msg()
4609 flexml_err_msg[0] = '\0';
4613 static void cleanup(void)
4622 static int fail(const char* fmt, ...)
4624 int chars_left, used;
4625 va_list ap; va_start(ap, fmt);
4626 #ifdef FLEXML_yylineno
4627 used = sprintf(flexml_err_msg,
4628 "Invalid XML (XML input line %d, state %d): ",
4629 surf_parse_lineno, YY_START);
4631 used = sprintf(flexml_err_msg,
4632 "Invalid XML (state %d): ",
4635 chars_left = flexml_max_err_msg_size - used - 1;
4636 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
4639 #ifndef FLEXML_quiet_parser
4640 /* print directly to sdterr */
4641 fprintf(stderr, "%s\n", flexml_err_msg);
4642 flexml_err_msg[0] = '\0';