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 33
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 __STDC_VERSION__ >= 199901L
36 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
37 * if you want the limit (max/min) macros for int types.
39 #ifndef __STDC_LIMIT_MACROS
40 #define __STDC_LIMIT_MACROS 1
44 typedef int8_t flex_int8_t;
45 typedef uint8_t flex_uint8_t;
46 typedef int16_t flex_int16_t;
47 typedef uint16_t flex_uint16_t;
48 typedef int32_t flex_int32_t;
49 typedef uint32_t flex_uint32_t;
51 typedef signed char flex_int8_t;
52 typedef short int flex_int16_t;
53 typedef int flex_int32_t;
54 typedef unsigned char flex_uint8_t;
55 typedef unsigned short int flex_uint16_t;
56 typedef unsigned int flex_uint32_t;
59 /* Limits of integral types. */
61 #define INT8_MIN (-128)
64 #define INT16_MIN (-32767-1)
67 #define INT32_MIN (-2147483647-1)
70 #define INT8_MAX (127)
73 #define INT16_MAX (32767)
76 #define INT32_MAX (2147483647)
79 #define UINT8_MAX (255U)
82 #define UINT16_MAX (65535U)
85 #define UINT32_MAX (4294967295U)
88 #endif /* ! FLEXINT_H */
92 /* The "const" storage-class-modifier is valid. */
95 #else /* ! __cplusplus */
101 #endif /* __STDC__ */
102 #endif /* ! __cplusplus */
105 #define yyconst const
110 /* Returned upon end-of-file. */
113 /* Promotes a possibly negative, possibly signed char to an unsigned
114 * integer for use as an array index. If the signed char is negative,
115 * we want to instead treat it as an 8-bit unsigned char, hence the
118 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
120 /* Enter a start condition. This macro really ought to take a parameter,
121 * but we do it the disgusting crufty way forced on us by the ()-less
122 * definition of BEGIN.
124 #define BEGIN (yy_start) = 1 + 2 *
126 /* Translate the current start state into a value that can be later handed
127 * to BEGIN to return to the state. The YYSTATE alias is for lex
130 #define YY_START (((yy_start) - 1) / 2)
131 #define YYSTATE YY_START
133 /* Action number for EOF rule of a given start state. */
134 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
136 /* Special action meaning "start processing a new file". */
137 #define YY_NEW_FILE surf_parse_restart(surf_parse_in )
139 #define YY_END_OF_BUFFER_CHAR 0
141 /* Size of default input buffer. */
143 #define YY_BUF_SIZE 16384
146 /* The state buf must be large enough to hold one state per character in the main buffer.
148 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
150 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
151 #define YY_TYPEDEF_YY_BUFFER_STATE
152 typedef struct yy_buffer_state *YY_BUFFER_STATE;
155 extern int surf_parse_leng;
157 extern FILE *surf_parse_in, *surf_parse_out;
159 #define EOB_ACT_CONTINUE_SCAN 0
160 #define EOB_ACT_END_OF_FILE 1
161 #define EOB_ACT_LAST_MATCH 2
163 /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
164 * access to the local variable yy_act. Since yyless() is a macro, it would break
165 * existing scanners that call yyless() from OUTSIDE surf_parse_lex.
166 * One obvious solution it to make yy_act a global. I tried that, and saw
167 * a 5% performance hit in a non-surf_parse_lineno scanner, because yy_act is
168 * normally declared as a register variable-- so it is not worth it.
170 #define YY_LESS_LINENO(n) \
173 for ( yyl = n; yyl < surf_parse_leng; ++yyl )\
174 if ( surf_parse_text[yyl] == '\n' )\
175 --surf_parse_lineno;\
178 /* Return all but the first "n" matched characters back to the input stream. */
182 /* Undo effects of setting up surf_parse_text. */ \
183 int yyless_macro_arg = (n); \
184 YY_LESS_LINENO(yyless_macro_arg);\
185 *yy_cp = (yy_hold_char); \
186 YY_RESTORE_YY_MORE_OFFSET \
187 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
188 YY_DO_BEFORE_ACTION; /* set up surf_parse_text again */ \
192 #define unput(c) yyunput( c, (yytext_ptr) )
194 /* The following is because we cannot portably get our hands on size_t
195 * (without autoconf's help, which isn't available because we want
196 * flex-generated scanners to compile on their own).
199 #ifndef YY_TYPEDEF_YY_SIZE_T
200 #define YY_TYPEDEF_YY_SIZE_T
201 typedef unsigned int yy_size_t;
204 #ifndef YY_STRUCT_YY_BUFFER_STATE
205 #define YY_STRUCT_YY_BUFFER_STATE
206 struct yy_buffer_state
210 char *yy_ch_buf; /* input buffer */
211 char *yy_buf_pos; /* current position in input buffer */
213 /* Size of input buffer in bytes, not including room for EOB
216 yy_size_t yy_buf_size;
218 /* Number of characters read into yy_ch_buf, not including EOB
223 /* Whether we "own" the buffer - i.e., we know we created it,
224 * and can realloc() it to grow it, and should free() it to
227 int yy_is_our_buffer;
229 /* Whether this is an "interactive" input source; if so, and
230 * if we're using stdio for input, then we want to use getc()
231 * instead of fread(), to make sure we stop fetching input after
234 int yy_is_interactive;
236 /* Whether we're considered to be at the beginning of a line.
237 * If so, '^' rules will be active on the next match, otherwise
242 int yy_bs_lineno; /**< The line count. */
243 int yy_bs_column; /**< The column count. */
245 /* Whether to try to fill the input buffer when we reach the
250 int yy_buffer_status;
252 #define YY_BUFFER_NEW 0
253 #define YY_BUFFER_NORMAL 1
254 /* When an EOF's been seen but there's still some text to process
255 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
256 * shouldn't try reading from the input source any more. We might
257 * still have a bunch of tokens to match, though, because of
258 * possible backing-up.
260 * When we actually see the EOF, we change the status to "new"
261 * (via surf_parse_restart()), so that the user can continue scanning by
262 * just pointing surf_parse_in at a new input file.
264 #define YY_BUFFER_EOF_PENDING 2
267 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
269 /* Stack of input buffers. */
270 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
271 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
272 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
274 /* We provide macros for accessing buffer states in case in the
275 * future we want to put the buffer states in a more general
278 * Returns the top of the stack, or NULL.
280 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
281 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
284 /* Same as previous macro, but useful when we know that the buffer stack is not
285 * NULL or when we need an lvalue. For internal use only.
287 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
289 /* yy_hold_char holds the character lost when surf_parse_text is formed. */
290 static char yy_hold_char;
291 static int yy_n_chars; /* number of characters read into yy_ch_buf */
294 /* Points to current character in buffer. */
295 static char *yy_c_buf_p = (char *) 0;
296 static int yy_init = 0; /* whether we need to initialize */
297 static int yy_start = 0; /* start state number */
299 /* Flag which is used to allow surf_parse_wrap()'s to do buffer switches
300 * instead of setting up a fresh surf_parse_in. A bit of a hack ...
302 static int yy_did_buffer_switch_on_eof;
304 void surf_parse_restart (FILE *input_file );
305 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer );
306 YY_BUFFER_STATE surf_parse__create_buffer (FILE *file,int size );
307 void surf_parse__delete_buffer (YY_BUFFER_STATE b );
308 void surf_parse__flush_buffer (YY_BUFFER_STATE b );
309 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer );
310 void surf_parse_pop_buffer_state (void );
312 static void surf_parse_ensure_buffer_stack (void );
313 static void surf_parse__load_buffer_state (void );
314 static void surf_parse__init_buffer (YY_BUFFER_STATE b,FILE *file );
316 #define YY_FLUSH_BUFFER surf_parse__flush_buffer(YY_CURRENT_BUFFER )
318 YY_BUFFER_STATE surf_parse__scan_buffer (char *base,yy_size_t size );
319 YY_BUFFER_STATE surf_parse__scan_string (yyconst char *yy_str );
320 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char *bytes,int len );
322 void *surf_parse_alloc (yy_size_t );
323 void *surf_parse_realloc (void *,yy_size_t );
324 void surf_parse_free (void * );
326 #define yy_new_buffer surf_parse__create_buffer
328 #define yy_set_interactive(is_interactive) \
330 if ( ! YY_CURRENT_BUFFER ){ \
331 surf_parse_ensure_buffer_stack (); \
332 YY_CURRENT_BUFFER_LVALUE = \
333 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
335 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
338 #define yy_set_bol(at_bol) \
340 if ( ! YY_CURRENT_BUFFER ){\
341 surf_parse_ensure_buffer_stack (); \
342 YY_CURRENT_BUFFER_LVALUE = \
343 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
345 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
348 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
350 /* Begin user sect3 */
352 #define surf_parse_wrap() 1
353 #define YY_SKIP_YYWRAP
355 typedef unsigned char YY_CHAR;
357 FILE *surf_parse_in = (FILE *) 0, *surf_parse_out = (FILE *) 0;
359 typedef int yy_state_type;
361 extern int surf_parse_lineno;
363 int surf_parse_lineno = 1;
365 extern char *surf_parse_text;
366 #define yytext_ptr surf_parse_text
368 static yy_state_type yy_get_previous_state (void );
369 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
370 static int yy_get_next_buffer (void );
371 static void yy_fatal_error (yyconst char msg[] );
373 /* Done after the current pattern has been matched and before the
374 * corresponding action - sets up surf_parse_text.
376 #define YY_DO_BEFORE_ACTION \
377 (yytext_ptr) = yy_bp; \
378 surf_parse_leng = (size_t) (yy_cp - yy_bp); \
379 (yy_hold_char) = *yy_cp; \
381 (yy_c_buf_p) = yy_cp;
383 #define YY_NUM_RULES 176
384 #define YY_END_OF_BUFFER 177
385 /* This struct is not used in this scanner,
386 but its presence is necessary. */
389 flex_int32_t yy_verify;
392 static yyconst flex_int16_t yy_accept[1333] =
394 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
395 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
396 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
397 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
398 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
399 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
400 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
401 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
402 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
403 0, 0, 177, 175, 22, 10, 10, 22, 22, 155,
405 10, 155, 5, 6, 5, 8, 9, 8, 171, 163,
406 164, 172, 169, 172, 170, 174, 163, 164, 174, 175,
407 26, 10, 26, 26, 26, 24, 30, 10, 30, 175,
408 30, 175, 36, 10, 36, 36, 36, 34, 36, 40,
409 10, 40, 40, 175, 66, 10, 66, 66, 66, 64,
410 66, 66, 66, 66, 66, 66, 70, 10, 70, 175,
411 94, 10, 94, 94, 94, 92, 94, 94, 94, 94,
412 98, 10, 98, 175, 114, 10, 114, 114, 114, 112,
413 114, 114, 114, 118, 10, 118, 175, 118, 124, 10,
414 124, 124, 124, 122, 124, 128, 10, 128, 175, 140,
416 10, 140, 140, 140, 138, 140, 140, 140, 140, 144,
417 10, 144, 175, 144, 150, 10, 150, 150, 150, 148,
418 150, 154, 10, 154, 172, 171, 10, 0, 2, 2,
419 0, 4, 7, 166, 165, 0, 0, 0, 0, 0,
420 0, 0, 25, 27, 0, 0, 0, 0, 0, 0,
421 35, 37, 37, 0, 65, 67, 67, 67, 67, 67,
422 67, 67, 0, 93, 95, 95, 95, 95, 95, 95,
423 0, 113, 115, 115, 115, 115, 0, 0, 123, 125,
424 125, 0, 139, 141, 141, 141, 141, 141, 0, 0,
425 149, 151, 151, 0, 0, 0, 0, 0, 0, 0,
427 3, 0, 0, 0, 0, 0, 0, 0, 173, 0,
428 0, 0, 0, 0, 0, 0, 0, 37, 0, 0,
429 67, 67, 67, 67, 67, 67, 0, 0, 95, 95,
430 95, 95, 95, 0, 0, 115, 115, 115, 0, 0,
431 0, 125, 0, 0, 141, 141, 141, 141, 0, 0,
432 0, 151, 0, 0, 0, 168, 0, 21, 1, 0,
433 0, 161, 0, 0, 0, 158, 157, 0, 0, 0,
434 0, 29, 0, 41, 0, 0, 0, 0, 37, 0,
435 0, 39, 0, 67, 67, 67, 67, 67, 67, 0,
436 0, 69, 0, 95, 95, 95, 95, 95, 0, 0,
438 97, 0, 0, 0, 115, 0, 0, 0, 0, 117,
439 0, 0, 125, 0, 0, 127, 0, 141, 141, 141,
440 141, 0, 0, 143, 0, 0, 151, 0, 0, 153,
441 0, 0, 0, 0, 162, 156, 0, 0, 0, 0,
442 41, 0, 0, 0, 0, 0, 0, 0, 67, 67,
443 67, 0, 0, 67, 67, 0, 95, 95, 0, 0,
444 95, 95, 0, 0, 103, 102, 115, 0, 101, 100,
445 0, 0, 0, 0, 0, 141, 0, 0, 141, 141,
446 0, 0, 151, 0, 0, 0, 0, 0, 12, 0,
447 159, 160, 0, 0, 0, 0, 0, 99, 0, 33,
449 32, 0, 67, 67, 67, 0, 43, 42, 0, 0,
450 0, 0, 67, 0, 68, 95, 95, 0, 73, 72,
451 95, 0, 0, 95, 0, 115, 0, 0, 0, 121,
452 120, 0, 141, 0, 131, 130, 141, 141, 0, 0,
453 0, 0, 0, 0, 0, 0, 0, 11, 0, 0,
454 0, 0, 0, 99, 0, 67, 67, 67, 0, 45,
455 44, 0, 0, 0, 67, 95, 95, 95, 0, 0,
456 0, 95, 0, 115, 0, 0, 0, 141, 141, 141,
457 0, 0, 0, 147, 146, 0, 0, 0, 0, 0,
458 0, 0, 31, 0, 129, 0, 67, 67, 67, 0,
460 0, 67, 95, 0, 0, 95, 95, 0, 0, 95,
461 0, 115, 0, 116, 0, 0, 141, 141, 141, 0,
462 0, 0, 0, 0, 0, 0, 0, 0, 31, 0,
463 129, 0, 67, 67, 67, 0, 0, 0, 0, 67,
464 95, 0, 79, 78, 95, 95, 0, 0, 0, 0,
465 95, 0, 115, 0, 0, 0, 0, 141, 141, 0,
466 145, 0, 167, 0, 0, 0, 0, 0, 0, 0,
467 38, 67, 67, 67, 0, 51, 0, 50, 67, 0,
468 0, 95, 95, 95, 0, 83, 0, 82, 95, 0,
469 115, 0, 0, 0, 133, 132, 0, 0, 141, 0,
471 142, 145, 0, 0, 0, 0, 0, 0, 0, 0,
472 0, 0, 0, 0, 67, 67, 67, 53, 52, 0,
473 0, 0, 75, 74, 95, 95, 95, 85, 84, 0,
474 0, 0, 115, 115, 0, 0, 0, 137, 136, 0,
475 0, 0, 152, 0, 0, 0, 0, 0, 0, 0,
476 0, 0, 0, 0, 0, 67, 67, 67, 0, 55,
477 54, 95, 95, 95, 0, 87, 86, 0, 115, 115,
478 0, 0, 0, 135, 134, 0, 0, 0, 0, 0,
479 0, 0, 0, 0, 0, 0, 71, 0, 0, 67,
480 67, 67, 95, 0, 0, 95, 0, 115, 115, 0,
482 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
483 0, 0, 0, 71, 0, 47, 46, 67, 67, 67,
484 67, 95, 0, 81, 80, 95, 0, 0, 0, 115,
485 0, 0, 115, 119, 0, 0, 0, 0, 0, 0,
486 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,
487 67, 67, 67, 0, 0, 0, 0, 0, 96, 0,
488 107, 106, 115, 0, 105, 104, 115, 119, 0, 0,
489 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
490 0, 0, 0, 0, 67, 67, 67, 67, 0, 77,
491 76, 0, 0, 0, 115, 115, 0, 126, 0, 0,
493 0, 0, 0, 0, 0, 0, 0, 0, 12, 0,
494 12, 0, 0, 0, 67, 67, 67, 67, 0, 0,
495 0, 0, 115, 115, 0, 0, 0, 0, 0, 0,
496 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
497 0, 0, 0, 0, 67, 0, 0, 0, 0, 0,
498 0, 115, 115, 0, 0, 0, 0, 0, 0, 0,
499 0, 0, 0, 0, 0, 49, 48, 0, 59, 58,
500 0, 57, 56, 67, 0, 63, 62, 0, 0, 0,
501 0, 115, 115, 0, 0, 0, 0, 0, 0, 0,
502 0, 11, 0, 0, 67, 0, 0, 0, 0, 115,
504 115, 0, 0, 0, 0, 0, 0, 0, 0, 23,
505 0, 67, 0, 0, 0, 0, 115, 115, 0, 0,
506 0, 0, 0, 0, 0, 0, 0, 23, 0, 67,
507 0, 0, 0, 0, 115, 115, 0, 0, 0, 0,
508 0, 0, 0, 0, 0, 0, 28, 0, 0, 0,
509 89, 0, 88, 115, 115, 0, 0, 0, 0, 0,
510 0, 0, 0, 0, 0, 0, 61, 60, 91, 90,
511 115, 115, 0, 0, 0, 0, 0, 0, 0, 0,
512 0, 0, 115, 115, 0, 0, 0, 0, 0, 0,
513 0, 0, 0, 0, 0, 0, 115, 115, 0, 0,
515 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
516 0, 115, 115, 0, 0, 0, 0, 0, 0, 0,
517 0, 0, 0, 0, 0, 0, 115, 115, 0, 0,
518 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
519 0, 115, 115, 0, 0, 0, 0, 0, 0, 0,
520 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
521 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
522 0, 0, 0, 0, 0, 111, 110, 0, 109, 108,
523 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
524 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
526 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
527 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
528 0, 0, 0, 0, 0, 0, 0, 15, 0, 0,
529 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
530 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
531 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
532 0, 17, 0, 0, 0, 0, 0, 0, 0, 0,
533 0, 0, 0, 0, 0, 16, 0, 0, 0, 0,
534 0, 20, 0, 0, 0, 13, 0, 0, 0, 0,
535 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
537 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
538 19, 0, 0, 0, 0, 0, 0, 14, 0, 0,
539 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
543 static yyconst flex_int32_t yy_ec[256] =
545 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
546 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
547 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
548 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
549 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
550 13, 13, 13, 13, 13, 13, 13, 14, 15, 16,
551 17, 18, 19, 1, 20, 21, 22, 23, 24, 25,
552 14, 26, 27, 14, 14, 14, 28, 29, 30, 31,
553 14, 32, 33, 34, 14, 14, 14, 14, 35, 14,
554 36, 1, 37, 1, 38, 1, 39, 40, 41, 42,
556 43, 44, 45, 46, 47, 14, 48, 49, 50, 51,
557 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
558 62, 14, 1, 1, 1, 1, 1, 1, 1, 1,
559 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
560 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
561 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
562 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
563 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
564 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
565 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
567 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
568 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
569 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
570 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
571 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
575 static yyconst flex_int32_t yy_meta[63] =
577 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
578 3, 1, 4, 5, 1, 1, 1, 6, 1, 7,
579 7, 7, 7, 7, 7, 5, 5, 5, 5, 5,
580 5, 5, 5, 5, 5, 1, 1, 5, 7, 7,
581 7, 7, 7, 7, 5, 5, 5, 5, 5, 5,
582 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
586 static yyconst flex_int16_t yy_base[1389] =
588 0, 0, 0, 3, 6, 9, 24, 27, 11, 14,
589 15, 17, 29, 38, 45, 52, 59, 61, 67, 70,
590 98, 135, 73, 76, 116, 153, 157, 160, 163, 178,
591 181, 184, 200, 244, 218, 222, 225, 262, 266, 269,
592 273, 288, 291, 294, 310, 0, 371, 374, 377, 380,
593 396, 452, 414, 418, 421, 424, 508, 564, 470, 474,
594 477, 480, 526, 530, 533, 536, 582, 586, 620, 671,
595 589, 592, 638, 642, 722, 778, 645, 648, 689, 693,
596 696, 699, 740, 744, 747, 751, 834, 893, 796, 800,
597 817, 852, 3648, 3649, 3649, 91, 119, 47, 62, 3649,
599 122, 170, 3649, 3649, 3637, 3649, 3649, 3628, 3649, 3641,
600 3641, 820, 3649, 3649, 3649, 3649, 3639, 3639, 3604, 699,
601 3649, 125, 3622, 0, 172, 3649, 3649, 228, 872, 873,
602 430, 843, 3649, 297, 3621, 0, 173, 3649, 3591, 3649,
603 495, 926, 542, 787, 3649, 502, 3619, 0, 424, 3649,
604 3577, 3584, 3595, 3594, 3580, 3574, 3649, 554, 598, 756,
605 3649, 610, 3612, 0, 543, 3649, 3590, 3589, 3588, 393,
606 3649, 663, 650, 812, 3649, 717, 3608, 0, 599, 3649,
607 3569, 3574, 3568, 3649, 769, 861, 867, 757, 3649, 806,
608 3604, 0, 800, 3649, 3582, 3649, 879, 927, 902, 3649,
610 931, 3602, 0, 813, 3649, 3561, 3566, 3570, 3559, 3649,
611 938, 931, 932, 942, 3649, 954, 3597, 0, 856, 3649,
612 3575, 3649, 960, 963, 3608, 3575, 981, 34, 3550, 3649,
613 3600, 3591, 3649, 3649, 3649, 26, 32, 3551, 3550, 3548,
614 3587, 3555, 3649, 0, 3550, 3549, 3550, 3557, 3544, 3546,
615 3649, 0, 3548, 3549, 3649, 0, 3556, 3537, 3532, 3542,
616 3531, 3551, 3548, 3649, 0, 3537, 3530, 3536, 3546, 3545,
617 3532, 3649, 0, 3525, 3528, 3539, 3524, 3526, 3649, 0,
618 3527, 3521, 3649, 0, 3524, 3518, 3524, 3533, 3518, 3515,
619 3649, 0, 3520, 3529, 3531, 3548, 3547, 3554, 5, 3513,
621 3649, 75, 0, 3509, 3509, 3545, 3544, 3506, 3649, 3518,
622 984, 987, 3498, 3514, 3497, 3501, 3494, 3508, 990, 993,
623 3503, 3506, 3510, 3504, 3503, 3488, 996, 1013, 3502, 3500,
624 3499, 3486, 3483, 1016, 1019, 1022, 3500, 1025, 1043, 1046,
625 3480, 3494, 1049, 1052, 3495, 3478, 3485, 3478, 1055, 1072,
626 3487, 3473, 1075, 1078, 3508, 3649, 3511, 3649, 3649, 152,
627 3479, 3649, 3512, 3511, 3469, 3649, 3649, 3467, 3466, 1081,
628 1084, 3649, 1103, 1106, 3473, 3461, 3479, 3462, 1109, 1112,
629 1116, 3649, 1120, 3469, 3462, 3464, 1133, 3460, 3471, 1137,
630 1141, 3649, 1144, 3453, 3461, 1149, 3464, 3467, 1154, 1161,
632 3649, 1165, 1171, 1178, 3468, 1174, 1190, 1201, 1205, 3649,
633 1208, 3451, 1211, 1214, 1227, 3649, 1231, 3450, 1234, 3468,
634 3448, 1237, 1240, 3649, 1244, 3446, 3460, 1250, 1257, 3649,
635 1261, 3479, 115, 1267, 3649, 3649, 3486, 3485, 3455, 1270,
636 1274, 3440, 3445, 3453, 3452, 1278, 1288, 1296, 3455, 3449,
637 3434, 1299, 1306, 1315, 1318, 1321, 3444, 3449, 1326, 1338,
638 3438, 1334, 1346, 1351, 3649, 3649, 3431, 1359, 3649, 3649,
639 1367, 3444, 1371, 1374, 1387, 3439, 1390, 1393, 3428, 3446,
640 1407, 3433, 1410, 1413, 3462, 205, 3463, 1416, 3649, 3462,
641 3649, 3649, 3427, 1419, 3436, 3422, 3420, 1426, 1436, 3649,
643 3649, 1447, 3435, 3431, 3416, 1451, 3649, 3649, 1464, 1470,
644 1480, 1483, 3428, 1491, 3649, 3429, 3408, 1497, 3649, 3649,
645 3424, 1508, 1511, 3424, 1519, 3429, 1524, 3428, 1527, 3649,
646 3649, 1536, 3413, 1541, 3649, 3649, 3417, 3406, 1554, 3419,
647 1549, 1559, 1571, 3427, 66, 368, 150, 3649, 3405, 1574,
648 3416, 3410, 3401, 1578, 1581, 3409, 3400, 3409, 1584, 3649,
649 3649, 1592, 3423, 3422, 3404, 3393, 1600, 3411, 1603, 3418,
650 3417, 3399, 1611, 3393, 1616, 3401, 1629, 3392, 3392, 3394,
651 1633, 3389, 1637, 3649, 3649, 1650, 3419, 172, 217, 140,
652 3388, 1646, 1653, 3399, 1656, 1659, 3387, 3392, 3382, 214,
654 254, 3384, 3386, 1667, 1670, 3387, 3377, 277, 280, 3380,
655 1678, 3377, 1688, 3649, 3378, 1695, 1683, 3383, 3375, 1701,
656 3367, 1705, 3387, 1712, 181, 392, 3384, 1718, 1708, 3372,
657 1725, 1729, 3373, 3368, 3371, 3392, 3410, 3390, 3405, 3370,
658 1737, 1740, 3649, 3649, 3365, 3359, 3385, 3403, 3383, 3398,
659 3363, 1748, 3367, 3361, 1756, 1759, 1775, 1768, 3360, 1785,
660 1788, 1791, 3649, 1847, 266, 256, 3360, 1794, 3354, 1797,
661 3649, 3343, 3358, 3347, 3391, 3649, 3387, 3649, 1804, 1814,
662 1820, 3351, 3345, 3344, 3386, 3649, 3382, 3649, 1835, 1838,
663 918, 3340, 1841, 1851, 3649, 3649, 1859, 1864, 1875, 1878,
665 3649, 1831, 1887, 376, 469, 812, 224, 560, 423, 448,
666 433, 3346, 1904, 3337, 3325, 3343, 3340, 3649, 3649, 1907,
667 1910, 1923, 3649, 3649, 3337, 3340, 3335, 3649, 3649, 1931,
668 1934, 1947, 3325, 3325, 3336, 1950, 1953, 3649, 3649, 1967,
669 1970, 1978, 3649, 542, 73, 676, 484, 667, 545, 473,
670 867, 897, 3322, 1983, 3329, 1986, 3338, 3337, 1989, 3649,
671 3649, 3325, 2002, 3332, 2005, 3649, 3649, 2013, 3315, 3330,
672 3319, 2018, 2026, 3649, 3649, 541, 2035, 696, 650, 756,
673 695, 947, 589, 2038, 3328, 2041, 2044, 2048, 2064, 3226,
674 231, 3214, 3216, 2072, 2075, 3194, 2083, 2088, 2091, 3196,
676 2096, 899, 2100, 601, 759, 962, 926, 935, 2107, 2117,
677 2134, 3195, 2142, 2113, 2147, 3649, 3649, 3200, 3201, 3198,
678 3199, 2155, 2159, 3649, 3649, 2167, 2171, 2174, 2184, 3175,
679 2177, 2193, 3168, 2201, 2204, 958, 625, 846, 598, 805,
680 954, 2207, 2210, 2214, 2231, 2261, 2298, 3176, 2239, 3169,
681 3172, 3157, 3146, 2227, 2244, 2279, 2282, 2256, 3649, 2316,
682 3649, 3649, 3151, 2324, 3649, 3649, 3146, 2252, 2334, 989,
683 1099, 995, 985, 746, 1012, 2337, 1017, 2340, 1083, 41,
684 2370, 2407, 2981, 2399, 2990, 2973, 2989, 2987, 2357, 3649,
685 3649, 2388, 413, 518, 2972, 2970, 2365, 3649, 1014, 180,
687 2427, 1025, 991, 2430, 1136, 1051, 1085, 370, 3019, 1177,
688 3015, 2433, 2966, 2436, 2453, 2456, 2459, 2462, 3002, 2990,
689 2989, 2981, 2959, 2958, 2465, 367, 2478, 1076, 1054, 2482,
690 1152, 1182, 2996, 2784, 2792, 2488, 2741, 2491, 2499, 2515,
691 2510, 2526, 2534, 2537, 2688, 2550, 2553, 2691, 2661, 2489,
692 2433, 2404, 2390, 2561, 1239, 1171, 811, 1179, 1269, 1348,
693 1047, 2366, 2304, 2566, 2569, 3649, 3649, 2579, 3649, 3649,
694 2587, 3649, 3649, 2308, 2595, 3649, 3649, 2298, 2261, 2184,
695 2132, 2055, 2019, 1349, 2603, 1293, 1077, 1315, 1313, 476,
696 1316, 3649, 2012, 2606, 2017, 1986, 1921, 1890, 1879, 1812,
698 1696, 1368, 2613, 1369, 1142, 1380, 1428, 1265, 1382, 2396,
699 2623, 1689, 1591, 1588, 1569, 1512, 1333, 1259, 1443, 1408,
700 1414, 1232, 2626, 1183, 1289, 2630, 1386, 2633, 2636, 2643,
701 1260, 1214, 1125, 1122, 1086, 969, 1417, 1438, 1440, 1460,
702 2647, 1486, 1462, 2653, 2664, 2673, 3649, 2681, 2684, 881,
703 3649, 870, 3649, 821, 710, 1490, 1514, 1573, 2692, 1434,
704 1180, 2697, 1552, 1609, 2700, 2703, 3649, 3649, 3649, 3649,
705 719, 678, 2717, 1516, 1598, 2720, 1531, 1506, 2728, 1660,
706 1676, 1484, 655, 498, 2738, 1627, 1706, 1699, 1717, 1473,
707 1390, 1727, 1746, 1764, 1792, 1592, 464, 401, 1802, 1818,
709 1498, 1719, 1707, 1846, 1606, 1334, 1857, 1865, 1786, 1828,
710 1793, 344, 351, 1881, 1883, 1626, 1879, 1875, 1903, 1867,
711 1762, 1942, 1957, 1810, 1900, 1959, 88, 53, 2005, 2007,
712 652, 948, 2036, 2039, 2746, 1913, 2078, 2088, 1949, 1960,
713 2054, 2749, 2755, 2095, 2110, 1902, 1924, 2051, 2105, 2759,
714 2767, 2124, 2137, 1984, 2000, 2771, 2776, 2788, 2779, 2796,
715 2234, 2271, 2070, 2164, 2174, 2201, 2182, 2183, 2804, 2274,
716 2303, 2016, 2130, 2807, 2815, 3649, 3649, 2824, 3649, 3649,
717 2330, 2346, 2269, 2305, 2313, 2332, 2254, 2347, 2386, 2400,
718 2423, 2429, 2432, 2253, 2339, 2459, 2527, 1677, 1537, 2409,
720 2487, 2112, 2290, 2257, 2515, 2531, 2336, 2504, 2486, 2489,
721 2569, 2584, 2832, 2457, 2492, 2542, 2548, 1929, 2532, 2600,
722 2655, 2671, 2470, 2559, 2674, 2718, 2836, 3649, 2651, 2654,
723 2582, 2602, 2646, 2660, 2710, 1807, 2469, 2635, 2768, 2727,
724 2758, 2802, 2805, 2737, 2796, 2208, 2811, 2813, 2839, 2814,
725 2827, 2830, 2831, 2605, 2594, 2833, 2834, 2856, 2721, 2643,
726 2859, 3649, 2846, 2847, 2850, 2786, 2867, 2868, 2869, 2889,
727 2897, 2860, 2863, 2900, 2917, 3649, 2848, 2866, 2502, 2849,
728 2920, 3649, 2895, 2899, 2923, 3649, 2871, 2876, 2696, 2858,
729 2911, 2912, 2913, 2914, 2893, 2896, 2916, 2918, 2931, 2934,
731 2921, 2922, 2926, 2927, 2956, 2924, 2928, 2944, 2952, 2974,
732 3649, 2929, 2945, 2978, 2939, 2949, 2997, 3649, 2953, 2972,
733 2966, 2968, 2954, 2969, 2975, 2976, 2985, 2988, 3010, 3017,
734 3649, 3649, 3035, 3042, 3049, 3056, 3063, 3070, 3077, 3084,
735 3091, 3098, 3105, 3112, 3119, 3126, 3133, 3140, 3147, 3154,
736 3161, 3168, 3175, 3182, 3187, 3192, 3197, 3202, 3207, 3212,
737 3217, 3222, 3229, 3232, 3235, 3238, 3241, 3244, 3247, 3250,
738 3253, 3260, 3264, 3270, 3276, 3282, 3288, 3294, 3300, 3306,
739 3312, 3319, 3326, 3333, 3340, 3347, 3354, 3361
742 static yyconst flex_int16_t yy_def[1389] =
744 1333, 1333, 1334, 1334, 1334, 1334, 1335, 1335, 1336, 1336,
745 1337, 1337, 1338, 1338, 1338, 1338, 1339, 1339, 1333, 1333,
746 1340, 1340, 1341, 1341, 1333, 1333, 1341, 1341, 1341, 1341,
747 1333, 1333, 1342, 1342, 1343, 1343, 1333, 1333, 1343, 1343,
748 1343, 1343, 1333, 1333, 1332, 45, 1344, 1344, 1333, 1333,
749 1345, 1345, 1346, 1346, 1333, 1333, 1347, 1347, 1348, 1348,
750 1333, 1333, 1348, 1348, 1348, 1348, 1333, 1333, 1349, 1349,
751 1350, 1350, 1333, 1333, 1351, 1351, 1352, 1352, 1333, 1333,
752 1352, 1352, 1352, 1352, 1333, 1333, 1353, 1353, 1354, 1354,
753 1338, 1338, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
755 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
756 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
757 1332, 1332, 1332, 1355, 1332, 1332, 1332, 1332, 1332, 1332,
758 1332, 1332, 1332, 1332, 1332, 1356, 1332, 1332, 1356, 1332,
759 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1357, 1332, 1332,
760 1357, 1357, 1357, 1357, 1357, 1357, 1332, 1332, 1332, 1332,
761 1332, 1332, 1332, 1358, 1332, 1332, 1358, 1358, 1358, 1358,
762 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1359, 1332, 1332,
763 1359, 1359, 1359, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
764 1332, 1360, 1332, 1332, 1360, 1332, 1332, 1332, 1332, 1332,
766 1332, 1332, 1361, 1332, 1332, 1361, 1361, 1361, 1361, 1332,
767 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1362, 1332, 1332,
768 1362, 1332, 1332, 1332, 1332, 1332, 1332, 1363, 1332, 1332,
769 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
770 1332, 1332, 1332, 1355, 1364, 1332, 1332, 1332, 1332, 1332,
771 1332, 1356, 1356, 1365, 1332, 1357, 1357, 1357, 1357, 1357,
772 1357, 1357, 1366, 1332, 1358, 1358, 1358, 1358, 1358, 1358,
773 1367, 1332, 1359, 1359, 1359, 1359, 1368, 1332, 1332, 1360,
774 1360, 1369, 1332, 1361, 1361, 1361, 1361, 1361, 1370, 1332,
775 1332, 1362, 1362, 1371, 1332, 1332, 1372, 1332, 1372, 1332,
777 1332, 1332, 1373, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
778 1374, 1374, 1332, 1332, 1332, 1332, 1332, 1356, 1375, 1375,
779 1357, 1357, 1357, 1357, 1357, 1357, 1376, 1376, 1358, 1358,
780 1358, 1358, 1358, 1377, 1377, 1359, 1359, 1359, 1378, 1378,
781 1332, 1360, 1379, 1379, 1361, 1361, 1361, 1361, 1380, 1380,
782 1332, 1362, 1381, 1381, 1332, 1332, 1372, 1332, 1332, 1372,
783 1332, 1332, 1373, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
784 1374, 1332, 1374, 1332, 1332, 1332, 1332, 1332, 1356, 1332,
785 1375, 1332, 1375, 1357, 1357, 1357, 1357, 1357, 1357, 1332,
786 1376, 1332, 1376, 1358, 1358, 1358, 1358, 1358, 1332, 1377,
788 1332, 1377, 1332, 1332, 1359, 1332, 1332, 1332, 1378, 1332,
789 1378, 1332, 1360, 1332, 1379, 1332, 1379, 1361, 1361, 1361,
790 1361, 1332, 1380, 1332, 1380, 1332, 1362, 1332, 1381, 1332,
791 1381, 1332, 1372, 1382, 1332, 1332, 1332, 1332, 1332, 1374,
792 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1375, 1357, 1357,
793 1357, 1332, 1332, 1357, 1357, 1376, 1358, 1358, 1332, 1332,
794 1358, 1358, 1377, 1332, 1332, 1332, 1359, 1332, 1332, 1332,
795 1378, 1332, 1332, 1332, 1379, 1361, 1332, 1332, 1361, 1361,
796 1380, 1332, 1362, 1381, 1332, 1372, 1382, 1382, 1332, 1382,
797 1332, 1332, 1332, 1374, 1332, 1332, 1332, 1332, 1332, 1332,
799 1332, 1375, 1357, 1357, 1357, 1332, 1332, 1332, 1332, 1332,
800 1332, 1332, 1357, 1332, 1332, 1358, 1358, 1332, 1332, 1332,
801 1358, 1332, 1332, 1358, 1377, 1359, 1378, 1332, 1332, 1332,
802 1332, 1379, 1361, 1332, 1332, 1332, 1361, 1361, 1380, 1332,
803 1332, 1332, 1381, 1332, 1372, 1382, 1382, 1332, 1332, 1374,
804 1332, 1332, 1332, 1332, 1375, 1357, 1357, 1357, 1332, 1332,
805 1332, 1332, 1332, 1332, 1357, 1358, 1358, 1358, 1332, 1332,
806 1332, 1358, 1377, 1359, 1378, 1332, 1379, 1361, 1361, 1361,
807 1380, 1332, 1332, 1332, 1332, 1381, 1332, 1372, 1382, 1382,
808 1332, 1374, 1332, 1332, 1332, 1375, 1357, 1357, 1357, 1332,
810 1332, 1357, 1358, 1332, 1332, 1358, 1358, 1332, 1332, 1358,
811 1377, 1359, 1332, 1332, 1332, 1379, 1361, 1361, 1361, 1380,
812 1332, 1381, 1332, 1372, 1382, 1382, 1332, 1374, 1332, 1332,
813 1332, 1375, 1357, 1357, 1357, 1332, 1332, 1332, 1332, 1357,
814 1358, 1332, 1332, 1332, 1358, 1358, 1332, 1332, 1332, 1332,
815 1358, 1377, 1359, 1332, 1379, 1332, 1332, 1361, 1361, 1380,
816 1332, 1381, 1332, 1372, 1382, 1382, 1332, 1374, 1332, 1332,
817 1332, 1357, 1357, 1357, 1332, 1332, 1332, 1332, 1357, 1332,
818 1332, 1358, 1358, 1358, 1332, 1332, 1332, 1332, 1358, 1377,
819 1359, 1332, 1379, 1332, 1332, 1332, 1332, 1332, 1361, 1332,
821 1332, 1332, 1381, 1372, 1372, 1372, 1372, 1372, 1372, 1382,
822 1382, 1332, 1374, 1332, 1357, 1357, 1357, 1332, 1332, 1332,
823 1332, 1332, 1332, 1332, 1358, 1358, 1358, 1332, 1332, 1332,
824 1332, 1377, 1359, 1359, 1332, 1379, 1332, 1332, 1332, 1332,
825 1332, 1332, 1332, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
826 1382, 1382, 1332, 1374, 1332, 1357, 1357, 1357, 1332, 1332,
827 1332, 1358, 1358, 1358, 1332, 1332, 1332, 1377, 1359, 1359,
828 1332, 1379, 1332, 1332, 1332, 1372, 1372, 1372, 1372, 1372,
829 1372, 1372, 1382, 1382, 1332, 1374, 1332, 1332, 1332, 1357,
830 1357, 1357, 1358, 1332, 1332, 1358, 1377, 1359, 1359, 1332,
832 1379, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1382, 1382,
833 1382, 1332, 1374, 1332, 1332, 1332, 1332, 1357, 1357, 1357,
834 1357, 1358, 1332, 1332, 1332, 1358, 1377, 1332, 1332, 1359,
835 1332, 1332, 1359, 1332, 1379, 1372, 1372, 1372, 1372, 1372,
836 1372, 1372, 1382, 1382, 1382, 1383, 1384, 1332, 1374, 1357,
837 1357, 1357, 1357, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
838 1332, 1332, 1359, 1332, 1332, 1332, 1359, 1332, 1379, 1372,
839 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1382, 1385, 1386,
840 1383, 1384, 1332, 1374, 1357, 1357, 1357, 1357, 1332, 1332,
841 1332, 1332, 1332, 1332, 1359, 1359, 1332, 1332, 1372, 1372,
843 1372, 1372, 1372, 1372, 1372, 1372, 1385, 1382, 1387, 1386,
844 1388, 1382, 1332, 1374, 1357, 1357, 1357, 1357, 1332, 1332,
845 1332, 1332, 1359, 1359, 1372, 1372, 1372, 1372, 1372, 1372,
846 1372, 1372, 1387, 1332, 1388, 1382, 1332, 1374, 1332, 1332,
847 1332, 1332, 1332, 1332, 1357, 1332, 1332, 1332, 1332, 1332,
848 1332, 1359, 1359, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
849 1372, 1332, 1332, 1374, 1332, 1332, 1332, 1332, 1332, 1332,
850 1332, 1332, 1332, 1357, 1332, 1332, 1332, 1332, 1332, 1332,
851 1332, 1359, 1359, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
852 1372, 1332, 1332, 1374, 1357, 1332, 1332, 1332, 1332, 1359,
854 1359, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1332,
855 1374, 1357, 1332, 1332, 1332, 1332, 1359, 1359, 1372, 1372,
856 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1332, 1374, 1357,
857 1332, 1332, 1332, 1332, 1359, 1359, 1372, 1372, 1372, 1372,
858 1372, 1372, 1372, 1372, 1372, 1332, 1332, 1332, 1332, 1332,
859 1332, 1332, 1332, 1359, 1359, 1372, 1372, 1372, 1372, 1372,
860 1372, 1372, 1372, 1372, 1372, 1332, 1332, 1332, 1332, 1332,
861 1359, 1359, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
862 1372, 1372, 1359, 1359, 1372, 1372, 1372, 1372, 1372, 1372,
863 1372, 1372, 1372, 1372, 1372, 1372, 1359, 1359, 1372, 1372,
865 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
866 1372, 1359, 1359, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
867 1372, 1372, 1372, 1372, 1372, 1372, 1359, 1359, 1372, 1372,
868 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
869 1372, 1359, 1359, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
870 1372, 1372, 1372, 1372, 1372, 1372, 1332, 1332, 1332, 1332,
871 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
872 1372, 1372, 1372, 1372, 1332, 1332, 1332, 1332, 1332, 1332,
873 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
874 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
876 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
877 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
878 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1332, 1372, 1372,
879 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
880 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
881 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
882 1372, 1332, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
883 1372, 1372, 1372, 1372, 1372, 1332, 1372, 1372, 1372, 1372,
884 1372, 1332, 1372, 1372, 1372, 1332, 1372, 1372, 1372, 1372,
885 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
887 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
888 1332, 1372, 1372, 1372, 1372, 1372, 1372, 1332, 1372, 1372,
889 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
890 1332, 0, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
891 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
892 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
893 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
894 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
895 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332
898 static yyconst flex_int16_t yy_nxt[3712] =
900 1332, 96, 97, 96, 96, 97, 96, 96, 97, 96,
901 96, 97, 96, 104, 1332, 98, 104, 107, 98, 107,
902 105, 99, 358, 105, 99, 101, 97, 101, 101, 97,
903 101, 110, 111, 108, 360, 108, 112, 113, 302, 102,
904 110, 111, 102, 298, 114, 112, 113, 110, 111, 908,
905 115, 228, 112, 114, 110, 111, 299, 115, 911, 112,
906 114, 117, 118, 117, 118, 229, 228, 114, 97, 97,
907 97, 97, 97, 97, 128, 97, 128, 128, 97, 128,
908 230, 304, 120, 358, 305, 120, 303, 302, 129, 362,
909 358, 129, 227, 227, 227, 119, 588, 119, 121, 122,
911 97, 122, 121, 121, 121, 121, 121, 121, 121, 123,
912 121, 1143, 121, 125, 121, 126, 121, 97, 97, 97,
913 227, 227, 227, 227, 227, 227, 227, 227, 227, 1142,
914 777, 130, 358, 121, 121, 121, 122, 97, 122, 121,
915 121, 121, 121, 121, 121, 121, 123, 121, 486, 121,
916 125, 121, 126, 121, 97, 97, 97, 489, 128, 97,
917 128, 128, 97, 128, 128, 97, 128, 489, 130, 358,
918 121, 121, 129, 433, 231, 129, 231, 231, 131, 128,
919 97, 128, 97, 97, 97, 97, 97, 97, 230, 358,
920 230, 230, 590, 131, 626, 624, 132, 358, 489, 132,
922 133, 134, 97, 134, 133, 133, 133, 133, 133, 133,
923 133, 135, 133, 926, 133, 137, 133, 138, 133, 141,
924 97, 141, 358, 141, 97, 141, 97, 97, 97, 227,
925 227, 227, 665, 142, 489, 133, 133, 142, 636, 545,
926 130, 358, 637, 139, 133, 134, 97, 134, 133, 133,
927 133, 133, 133, 133, 133, 135, 133, 625, 133, 137,
928 133, 138, 133, 97, 97, 97, 747, 141, 97, 141,
929 141, 97, 141, 489, 141, 97, 141, 130, 638, 133,
930 133, 142, 639, 489, 142, 819, 820, 139, 143, 141,
931 97, 141, 97, 97, 97, 97, 97, 97, 227, 227,
933 227, 647, 711, 143, 649, 648, 144, 710, 650, 144,
934 145, 146, 97, 146, 145, 145, 145, 145, 145, 145,
935 145, 147, 145, 148, 145, 149, 145, 150, 145, 148,
936 148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
937 148, 148, 148, 148, 148, 145, 145, 148, 151, 148,
938 148, 148, 148, 148, 148, 148, 152, 148, 148, 153,
939 154, 148, 155, 148, 148, 156, 148, 148, 148, 148,
940 148, 148, 158, 97, 158, 158, 97, 158, 97, 97,
941 97, 97, 97, 97, 358, 489, 159, 489, 490, 159,
942 955, 1128, 160, 358, 1127, 160, 161, 162, 97, 162,
944 161, 161, 161, 161, 161, 161, 161, 163, 161, 489,
945 161, 165, 161, 166, 161, 172, 97, 172, 589, 172,
946 97, 172, 97, 97, 97, 97, 97, 97, 231, 173,
947 744, 161, 161, 173, 231, 167, 174, 919, 269, 174,
948 358, 245, 230, 1113, 168, 920, 169, 666, 230, 270,
949 489, 170, 161, 162, 97, 162, 161, 161, 161, 161,
950 161, 161, 161, 163, 161, 489, 161, 165, 161, 166,
951 161, 185, 97, 185, 750, 185, 97, 185, 97, 97,
952 97, 97, 97, 97, 752, 186, 358, 161, 161, 186,
953 358, 167, 187, 358, 751, 187, 227, 227, 227, 1008,
955 168, 358, 169, 227, 227, 227, 1112, 170, 175, 176,
956 97, 176, 175, 175, 175, 175, 175, 175, 175, 177,
957 175, 745, 175, 179, 175, 180, 175, 185, 97, 185,
958 782, 185, 97, 185, 185, 97, 185, 185, 97, 185,
959 779, 186, 921, 175, 175, 186, 231, 231, 188, 181,
960 922, 188, 1098, 254, 182, 227, 227, 227, 358, 358,
961 230, 230, 358, 183, 175, 176, 97, 176, 175, 175,
962 175, 175, 175, 175, 175, 177, 175, 358, 175, 179,
963 175, 180, 175, 97, 97, 97, 776, 97, 97, 97,
964 197, 97, 197, 197, 97, 197, 781, 187, 802, 175,
966 175, 187, 231, 231, 198, 181, 489, 198, 748, 263,
967 182, 227, 227, 227, 749, 358, 230, 230, 358, 183,
968 189, 190, 97, 190, 189, 189, 189, 189, 189, 189,
969 189, 191, 189, 809, 189, 193, 189, 194, 189, 97,
970 97, 97, 358, 97, 97, 97, 211, 97, 211, 211,
971 97, 211, 873, 199, 231, 189, 189, 199, 838, 871,
972 212, 271, 1146, 212, 227, 227, 227, 358, 230, 358,
973 195, 189, 190, 97, 190, 189, 189, 189, 189, 189,
974 189, 189, 191, 189, 358, 189, 193, 189, 194, 189,
975 97, 97, 97, 358, 97, 97, 97, 211, 97, 211,
977 211, 97, 211, 231, 213, 780, 189, 189, 213, 805,
978 1097, 212, 358, 358, 212, 1084, 778, 230, 227, 227,
979 227, 195, 200, 201, 97, 201, 200, 200, 200, 200,
980 200, 200, 200, 202, 200, 807, 200, 204, 200, 205,
981 200, 211, 97, 211, 804, 211, 97, 211, 97, 97,
982 97, 242, 97, 97, 97, 214, 1083, 200, 200, 214,
983 231, 231, 213, 358, 1072, 206, 213, 207, 277, 208,
984 227, 227, 227, 358, 230, 230, 358, 209, 200, 201,
985 97, 201, 200, 200, 200, 200, 200, 200, 200, 202,
986 200, 231, 200, 204, 200, 205, 200, 223, 97, 223,
988 903, 223, 97, 223, 231, 230, 248, 227, 227, 227,
989 839, 224, 806, 200, 200, 224, 231, 231, 230, 110,
990 111, 206, 358, 207, 112, 208, 236, 246, 358, 358,
991 230, 230, 225, 209, 215, 216, 97, 216, 215, 215,
992 215, 215, 215, 215, 215, 217, 215, 231, 215, 219,
993 215, 220, 215, 226, 110, 111, 874, 987, 237, 112,
994 231, 230, 746, 358, 238, 231, 250, 225, 239, 215,
995 215, 231, 277, 240, 230, 1071, 231, 231, 1070, 230,
996 227, 227, 227, 245, 489, 230, 1069, 872, 226, 247,
997 230, 230, 221, 215, 216, 97, 216, 215, 215, 215,
999 215, 215, 215, 215, 217, 215, 231, 215, 219, 215,
1000 220, 215, 246, 246, 489, 278, 358, 783, 247, 247,
1001 230, 278, 248, 248, 249, 249, 250, 250, 215, 215,
1002 231, 231, 227, 227, 227, 231, 231, 254, 282, 227,
1003 227, 227, 289, 358, 230, 230, 231, 784, 836, 230,
1004 230, 221, 358, 289, 249, 227, 227, 227, 1147, 733,
1005 230, 227, 227, 227, 358, 358, 246, 231, 841, 290,
1006 290, 358, 247, 734, 294, 358, 248, 842, 249, 358,
1007 250, 230, 227, 227, 227, 370, 370, 370, 370, 370,
1008 370, 380, 380, 380, 380, 380, 380, 390, 390, 390,
1010 870, 372, 358, 808, 372, 840, 358, 382, 358, 875,
1011 382, 1055, 358, 392, 390, 390, 390, 399, 399, 399,
1012 399, 399, 399, 403, 403, 403, 406, 406, 406, 358,
1013 392, 358, 902, 401, 358, 373, 401, 901, 404, 899,
1014 929, 407, 358, 383, 408, 408, 408, 408, 408, 408,
1015 414, 414, 414, 414, 414, 414, 422, 422, 422, 906,
1016 410, 402, 928, 410, 358, 393, 416, 904, 358, 416,
1017 925, 358, 424, 422, 422, 422, 428, 428, 428, 428,
1018 428, 428, 370, 370, 370, 370, 370, 370, 908, 424,
1019 908, 958, 430, 358, 358, 430, 991, 411, 372, 932,
1021 909, 372, 909, 417, 370, 370, 370, 441, 441, 441,
1022 446, 446, 446, 380, 380, 380, 358, 380, 380, 380,
1023 372, 380, 380, 380, 957, 447, 425, 1005, 1054, 382,
1024 1053, 900, 431, 382, 452, 452, 452, 382, 390, 390,
1025 390, 440, 390, 390, 390, 390, 390, 390, 1052, 453,
1026 459, 459, 459, 358, 392, 399, 399, 399, 392, 358,
1027 448, 392, 399, 399, 399, 460, 399, 399, 399, 358,
1028 931, 401, 403, 403, 403, 406, 406, 406, 401, 464,
1029 464, 464, 401, 465, 960, 908, 466, 404, 358, 1023,
1030 407, 468, 468, 468, 911, 469, 358, 358, 470, 358,
1032 358, 456, 408, 408, 408, 986, 408, 408, 408, 408,
1033 408, 408, 473, 473, 473, 414, 414, 414, 410, 1051,
1034 988, 463, 410, 1042, 961, 410, 1078, 474, 414, 414,
1035 414, 416, 414, 414, 414, 477, 477, 477, 422, 422,
1036 422, 422, 422, 422, 416, 422, 422, 422, 416, 358,
1037 478, 428, 428, 428, 424, 1040, 358, 424, 428, 428,
1038 428, 424, 428, 428, 428, 471, 985, 430, 488, 488,
1039 488, 370, 370, 370, 430, 441, 441, 441, 430, 446,
1040 446, 446, 358, 1050, 489, 490, 358, 372, 475, 499,
1041 499, 499, 1026, 500, 447, 481, 501, 380, 380, 380,
1043 452, 452, 452, 989, 1036, 484, 358, 506, 506, 506,
1044 358, 507, 1043, 382, 508, 453, 509, 509, 509, 511,
1045 511, 511, 514, 514, 514, 1004, 494, 459, 459, 459,
1046 358, 510, 358, 358, 512, 522, 522, 522, 515, 518,
1047 518, 518, 460, 519, 502, 1007, 520, 399, 399, 399,
1048 523, 358, 464, 464, 464, 513, 465, 1006, 1009, 466,
1049 468, 468, 468, 401, 469, 358, 358, 470, 408, 408,
1050 408, 524, 473, 473, 473, 529, 529, 529, 1035, 530,
1051 1121, 990, 531, 1002, 410, 358, 358, 474, 414, 414,
1052 414, 477, 477, 477, 534, 534, 534, 358, 535, 358,
1054 1019, 536, 1022, 358, 416, 525, 478, 358, 422, 422,
1055 422, 541, 541, 541, 428, 428, 428, 488, 488, 488,
1056 370, 370, 370, 527, 424, 358, 542, 554, 554, 554,
1057 430, 358, 1027, 489, 358, 1024, 372, 499, 499, 499,
1058 1056, 500, 1045, 532, 501, 358, 1106, 539, 380, 380,
1059 380, 358, 506, 506, 506, 358, 507, 358, 546, 508,
1060 358, 1025, 550, 1038, 382, 509, 509, 509, 1077, 1039,
1061 543, 559, 559, 559, 547, 560, 1037, 358, 561, 358,
1062 510, 511, 511, 511, 562, 562, 562, 1059, 563, 1062,
1063 358, 564, 514, 514, 514, 1057, 512, 1058, 518, 518,
1065 518, 358, 519, 358, 555, 520, 1105, 358, 515, 522,
1066 522, 522, 569, 569, 569, 358, 570, 1073, 1096, 571,
1067 399, 399, 399, 358, 523, 408, 408, 408, 529, 529,
1068 529, 358, 530, 358, 1034, 531, 401, 414, 414, 414,
1069 1061, 410, 534, 534, 534, 1213, 535, 1116, 358, 536,
1070 541, 541, 541, 416, 358, 422, 422, 422, 1091, 1086,
1071 583, 583, 583, 1090, 584, 542, 575, 585, 1074, 358,
1072 573, 424, 428, 428, 428, 370, 370, 370, 577, 554,
1073 554, 554, 380, 380, 380, 559, 559, 559, 430, 560,
1074 358, 372, 561, 562, 562, 562, 581, 563, 382, 1033,
1076 564, 604, 604, 604, 569, 569, 569, 1080, 570, 358,
1077 1032, 571, 399, 399, 399, 358, 605, 613, 613, 613,
1078 586, 1031, 596, 358, 1111, 592, 358, 1075, 401, 1120,
1079 414, 414, 414, 614, 422, 422, 422, 606, 583, 583,
1080 583, 1087, 584, 358, 358, 585, 416, 370, 370, 370,
1081 424, 428, 428, 428, 629, 629, 629, 631, 631, 631,
1082 380, 380, 380, 372, 1081, 611, 616, 430, 604, 604,
1083 604, 642, 642, 642, 1131, 643, 382, 358, 644, 399,
1084 399, 399, 1213, 605, 656, 656, 656, 1101, 620, 613,
1085 613, 613, 622, 358, 358, 401, 414, 414, 414, 657,
1087 628, 632, 422, 422, 422, 614, 428, 428, 428, 629,
1088 629, 629, 416, 664, 664, 664, 358, 1094, 424, 370,
1089 370, 370, 430, 358, 358, 652, 631, 631, 631, 358,
1090 670, 670, 670, 1095, 358, 372, 358, 655, 680, 680,
1091 680, 642, 642, 642, 358, 643, 671, 1030, 644, 399,
1092 399, 399, 1018, 681, 1103, 662, 660, 414, 414, 414,
1093 656, 656, 656, 358, 1118, 401, 1102, 668, 1117, 697,
1094 697, 697, 1104, 416, 682, 657, 694, 694, 694, 358,
1095 695, 358, 1107, 696, 698, 690, 700, 700, 700, 702,
1096 702, 702, 428, 428, 428, 370, 370, 370, 670, 670,
1098 670, 1108, 701, 358, 693, 720, 720, 720, 430, 358,
1099 358, 372, 1249, 1136, 671, 680, 680, 680, 1109, 358,
1100 721, 722, 722, 722, 358, 723, 1126, 358, 724, 1124,
1101 681, 713, 702, 702, 702, 358, 730, 730, 730, 399,
1102 399, 399, 414, 414, 414, 358, 1110, 703, 664, 664,
1103 664, 731, 694, 694, 694, 401, 695, 1114, 416, 696,
1104 697, 697, 697, 358, 358, 737, 737, 737, 1017, 738,
1105 1139, 1125, 739, 1115, 358, 698, 740, 740, 740, 700,
1106 700, 700, 358, 736, 358, 704, 732, 705, 742, 742,
1107 742, 741, 358, 706, 1135, 701, 358, 707, 358, 708,
1109 358, 709, 1016, 1119, 743, 370, 370, 370, 720, 720,
1110 720, 759, 759, 759, 1122, 760, 1015, 358, 761, 358,
1111 358, 372, 1123, 721, 722, 722, 722, 1132, 723, 1133,
1112 358, 724, 730, 730, 730, 765, 765, 765, 1129, 766,
1113 1130, 358, 767, 1163, 1014, 754, 358, 731, 399, 399,
1114 399, 414, 414, 414, 737, 737, 737, 1134, 738, 358,
1115 1140, 739, 1233, 1151, 401, 1164, 358, 416, 740, 740,
1116 740, 773, 773, 773, 358, 774, 358, 358, 775, 742,
1117 742, 742, 1141, 741, 370, 370, 370, 788, 788, 788,
1118 759, 759, 759, 768, 760, 743, 1137, 761, 1154, 772,
1120 372, 358, 789, 794, 794, 794, 765, 765, 765, 1155,
1121 766, 1138, 1013, 767, 399, 399, 399, 358, 795, 414,
1122 414, 414, 358, 790, 358, 786, 1192, 773, 773, 773,
1123 401, 774, 1172, 358, 775, 416, 803, 803, 803, 810,
1124 810, 810, 370, 370, 370, 814, 814, 814, 1173, 788,
1125 788, 788, 358, 358, 811, 489, 358, 1012, 372, 1144,
1126 801, 1145, 1010, 797, 789, 815, 815, 815, 358, 816,
1127 1001, 358, 817, 794, 794, 794, 823, 823, 823, 1148,
1128 824, 1156, 1149, 825, 399, 399, 399, 358, 795, 828,
1129 828, 828, 831, 831, 831, 358, 813, 414, 414, 414,
1131 401, 803, 803, 803, 829, 358, 1000, 832, 843, 843,
1132 843, 1165, 358, 416, 814, 814, 814, 358, 810, 810,
1133 810, 1152, 358, 844, 489, 830, 1183, 358, 833, 358,
1134 827, 1153, 837, 811, 489, 845, 845, 845, 1161, 846,
1135 1193, 358, 847, 370, 370, 370, 835, 358, 815, 815,
1136 815, 489, 816, 1162, 358, 817, 854, 854, 854, 372,
1137 823, 823, 823, 999, 824, 1166, 1216, 825, 856, 856,
1138 856, 855, 858, 858, 858, 828, 828, 828, 831, 831,
1139 831, 358, 849, 857, 1170, 860, 860, 860, 859, 861,
1140 829, 358, 862, 832, 864, 864, 864, 1171, 865, 358,
1142 358, 866, 868, 868, 868, 414, 414, 414, 876, 876,
1143 876, 843, 843, 843, 998, 878, 878, 878, 358, 879,
1144 1184, 416, 880, 1185, 358, 358, 844, 489, 854, 854,
1145 854, 489, 845, 845, 845, 1258, 846, 1187, 1188, 847,
1146 370, 370, 370, 855, 877, 889, 889, 889, 489, 890,
1147 1186, 358, 891, 868, 868, 868, 372, 858, 858, 858,
1148 869, 487, 487, 487, 487, 487, 487, 487, 487, 487,
1149 358, 358, 487, 859, 358, 487, 487, 487, 489, 487,
1150 856, 856, 856, 892, 892, 892, 358, 893, 358, 1218,
1151 894, 358, 997, 884, 1181, 857, 487, 487, 487, 487,
1153 487, 487, 487, 487, 487, 487, 487, 358, 1209, 487,
1154 1198, 1202, 487, 487, 487, 489, 487, 860, 860, 860,
1155 358, 861, 358, 1190, 862, 864, 864, 864, 996, 865,
1156 358, 1182, 866, 487, 487, 897, 897, 897, 876, 876,
1157 876, 878, 878, 878, 1217, 879, 1199, 358, 880, 358,
1158 995, 898, 1191, 358, 358, 993, 358, 489, 889, 889,
1159 889, 1200, 890, 358, 358, 891, 897, 897, 897, 905,
1160 487, 487, 487, 487, 487, 912, 487, 487, 487, 1196,
1161 1201, 487, 898, 992, 487, 487, 487, 489, 487, 892,
1162 892, 892, 1221, 893, 1210, 1197, 894, 1028, 1028, 1028,
1164 370, 370, 370, 358, 1203, 487, 487, 487, 487, 487,
1165 487, 487, 487, 487, 487, 912, 372, 358, 487, 1214,
1166 1204, 487, 487, 487, 489, 487, 358, 983, 927, 927,
1167 927, 930, 930, 930, 936, 936, 936, 370, 370, 370,
1168 358, 982, 487, 487, 358, 914, 358, 358, 1205, 358,
1169 489, 490, 981, 372, 939, 939, 939, 941, 941, 941,
1170 943, 943, 943, 946, 946, 946, 954, 954, 954, 940,
1171 1207, 1206, 942, 1208, 358, 944, 358, 1249, 947, 927,
1172 927, 927, 358, 930, 930, 930, 358, 358, 938, 936,
1173 936, 936, 370, 370, 370, 358, 945, 1215, 1229, 358,
1175 939, 939, 939, 358, 358, 489, 358, 1211, 372, 358,
1176 956, 941, 941, 941, 959, 940, 965, 965, 965, 358,
1177 966, 358, 980, 967, 1238, 1219, 942, 968, 968, 968,
1178 546, 969, 358, 1230, 970, 943, 943, 943, 971, 971,
1179 971, 1220, 972, 1223, 358, 973, 1224, 964, 358, 358,
1180 944, 946, 946, 946, 975, 975, 975, 1289, 976, 358,
1181 1222, 977, 954, 954, 954, 358, 947, 370, 370, 370,
1182 965, 965, 965, 1234, 966, 1212, 358, 967, 358, 1225,
1183 968, 968, 968, 372, 969, 1231, 358, 970, 971, 971,
1184 971, 1232, 972, 984, 1226, 973, 975, 975, 975, 358,
1186 976, 358, 1267, 977, 1003, 1003, 1003, 370, 370, 370,
1187 1267, 358, 994, 1239, 1003, 1003, 1003, 358, 1020, 358,
1188 358, 1021, 358, 372, 370, 370, 370, 1041, 1041, 1041,
1189 358, 1044, 1044, 1044, 1028, 1028, 1028, 1046, 1046, 1046,
1190 372, 1235, 1244, 358, 1048, 1048, 1048, 358, 1041, 1041,
1191 1041, 1271, 358, 1047, 1044, 1044, 1044, 1011, 1063, 1049,
1192 358, 1064, 1245, 358, 358, 1065, 1065, 1065, 358, 1246,
1193 358, 358, 358, 1029, 1046, 1046, 1046, 358, 1250, 1060,
1194 979, 358, 1048, 1048, 1048, 1066, 1066, 1066, 358, 1067,
1195 1047, 358, 1068, 1076, 1076, 1076, 1236, 1049, 1079, 1079,
1197 1079, 1065, 1065, 1065, 1066, 1066, 1066, 1242, 1067, 358,
1198 1243, 1068, 1237, 358, 358, 1240, 1247, 358, 1085, 1085,
1199 1085, 1076, 1076, 1076, 978, 1088, 1271, 358, 1089, 1079,
1200 1079, 1079, 1082, 1092, 358, 358, 1093, 358, 358, 1085,
1201 1085, 1085, 974, 1099, 358, 358, 1100, 1150, 1150, 1150,
1202 1157, 1157, 1157, 1295, 358, 358, 1159, 1159, 1159, 1241,
1203 1150, 1150, 1150, 358, 1167, 1158, 1248, 1168, 1169, 1169,
1204 1169, 1160, 1174, 1174, 1174, 358, 358, 1157, 1157, 1157,
1205 1159, 1159, 1159, 1252, 358, 358, 1256, 963, 358, 1175,
1206 1175, 1175, 1158, 1176, 1274, 1160, 1177, 1178, 1178, 1178,
1208 934, 1179, 962, 358, 1180, 1169, 1169, 1169, 1174, 1174,
1209 1174, 1251, 1194, 358, 1253, 1195, 1175, 1175, 1175, 358,
1210 1176, 358, 358, 1177, 358, 1178, 1178, 1178, 358, 1179,
1211 358, 358, 1180, 1227, 1227, 1227, 1189, 1227, 1227, 1227,
1212 1261, 1261, 1261, 1254, 358, 1257, 1255, 358, 358, 1228,
1213 358, 358, 1259, 1228, 1260, 1274, 1262, 1270, 1270, 1270,
1214 1261, 1261, 1261, 358, 358, 358, 358, 358, 1275, 1275,
1215 1275, 1265, 1266, 358, 1263, 358, 1262, 358, 1277, 1278,
1216 358, 1268, 1269, 358, 1276, 358, 358, 1264, 358, 1287,
1217 1270, 1270, 1270, 358, 1279, 1272, 1273, 1280, 1281, 1281,
1219 1281, 1285, 1285, 1285, 1290, 1291, 358, 1288, 1283, 1292,
1220 358, 1284, 358, 358, 1282, 1296, 358, 1286, 1275, 1275,
1221 1275, 1281, 1281, 1281, 1285, 1285, 1285, 1293, 358, 358,
1222 358, 358, 1294, 358, 1276, 358, 1305, 1282, 358, 358,
1223 1286, 358, 1305, 358, 358, 358, 358, 1301, 358, 1314,
1224 1302, 358, 1297, 1298, 1299, 1300, 358, 1310, 1310, 1310,
1225 1314, 358, 358, 1321, 1306, 1307, 358, 1308, 1309, 358,
1226 358, 358, 1303, 1311, 1304, 1310, 1310, 1310, 1315, 1317,
1227 1317, 1317, 1322, 358, 1312, 358, 358, 1319, 1313, 358,
1228 1329, 1311, 358, 358, 1316, 1318, 1329, 1320, 1317, 1317,
1230 1317, 934, 358, 953, 952, 358, 951, 1323, 950, 1324,
1231 1325, 1330, 1330, 1330, 1318, 949, 1327, 1328, 1330, 1330,
1232 1330, 948, 937, 934, 934, 1326, 924, 1331, 923, 918,
1233 917, 916, 915, 913, 1331, 94, 94, 94, 94, 94,
1234 94, 94, 95, 95, 95, 95, 95, 95, 95, 100,
1235 100, 100, 100, 100, 100, 100, 103, 103, 103, 103,
1236 103, 103, 103, 106, 106, 106, 106, 106, 106, 106,
1237 109, 109, 109, 109, 109, 109, 109, 116, 116, 116,
1238 116, 116, 116, 116, 124, 124, 124, 124, 124, 124,
1239 124, 127, 127, 127, 127, 127, 127, 127, 136, 136,
1241 136, 136, 136, 136, 136, 140, 140, 140, 140, 140,
1242 140, 140, 157, 157, 157, 157, 157, 157, 157, 164,
1243 164, 164, 164, 164, 164, 164, 171, 171, 171, 171,
1244 171, 171, 171, 178, 178, 178, 178, 178, 178, 178,
1245 184, 184, 184, 184, 184, 184, 184, 192, 192, 192,
1246 192, 192, 192, 192, 196, 196, 196, 196, 196, 196,
1247 196, 203, 203, 203, 203, 203, 203, 203, 210, 210,
1248 210, 210, 210, 210, 210, 218, 218, 218, 218, 218,
1249 218, 218, 222, 222, 222, 222, 222, 222, 222, 244,
1250 244, 244, 896, 244, 252, 252, 252, 895, 252, 256,
1252 256, 256, 888, 256, 265, 265, 265, 887, 265, 273,
1253 273, 273, 886, 273, 280, 280, 280, 885, 280, 284,
1254 284, 284, 883, 284, 292, 292, 292, 867, 292, 297,
1255 297, 297, 297, 297, 863, 297, 311, 853, 311, 319,
1256 852, 319, 327, 851, 327, 334, 850, 334, 339, 848,
1257 339, 343, 834, 343, 349, 826, 349, 353, 822, 353,
1258 357, 357, 357, 357, 357, 357, 357, 363, 821, 818,
1259 363, 371, 371, 371, 371, 371, 371, 381, 381, 381,
1260 381, 381, 381, 391, 391, 391, 391, 391, 391, 400,
1261 400, 400, 400, 400, 400, 409, 409, 409, 409, 409,
1263 409, 415, 415, 415, 415, 415, 415, 423, 423, 423,
1264 423, 423, 423, 429, 429, 429, 429, 429, 429, 487,
1265 487, 487, 487, 487, 487, 487, 881, 881, 881, 881,
1266 881, 881, 881, 882, 882, 882, 882, 882, 882, 882,
1267 907, 907, 907, 907, 907, 907, 907, 910, 910, 910,
1268 910, 910, 910, 910, 933, 933, 933, 933, 933, 933,
1269 933, 935, 935, 935, 935, 935, 935, 935, 812, 800,
1270 799, 798, 796, 793, 792, 791, 787, 785, 771, 770,
1271 769, 764, 763, 762, 758, 757, 756, 755, 753, 735,
1272 729, 728, 727, 726, 725, 719, 718, 717, 716, 715,
1274 714, 712, 699, 692, 691, 689, 688, 687, 686, 685,
1275 684, 683, 679, 678, 677, 676, 675, 674, 673, 672,
1276 669, 667, 663, 661, 659, 658, 654, 653, 651, 646,
1277 645, 641, 640, 635, 634, 633, 630, 627, 623, 621,
1278 619, 618, 617, 615, 612, 610, 609, 608, 607, 603,
1279 602, 601, 600, 599, 598, 597, 595, 594, 593, 591,
1280 587, 582, 580, 579, 578, 576, 574, 572, 568, 567,
1281 566, 565, 558, 557, 556, 553, 552, 551, 549, 548,
1282 489, 544, 540, 538, 537, 533, 528, 526, 521, 517,
1283 516, 505, 504, 503, 498, 497, 496, 495, 493, 492,
1285 491, 485, 483, 482, 480, 479, 476, 472, 467, 462,
1286 461, 458, 457, 455, 454, 451, 450, 449, 445, 444,
1287 443, 442, 439, 438, 437, 436, 435, 434, 358, 432,
1288 427, 426, 421, 420, 419, 418, 413, 412, 405, 398,
1289 397, 396, 395, 394, 389, 388, 387, 386, 385, 384,
1290 379, 378, 377, 376, 375, 374, 369, 368, 367, 366,
1291 365, 364, 361, 359, 358, 356, 355, 354, 352, 351,
1292 350, 348, 347, 346, 345, 344, 342, 341, 340, 338,
1293 337, 336, 335, 333, 332, 331, 330, 329, 328, 326,
1294 325, 324, 323, 322, 321, 320, 318, 317, 316, 315,
1296 314, 313, 312, 310, 309, 308, 307, 306, 301, 298,
1297 300, 296, 295, 293, 291, 288, 287, 286, 285, 283,
1298 281, 279, 276, 275, 274, 272, 268, 267, 266, 264,
1299 262, 261, 260, 259, 258, 257, 255, 253, 251, 243,
1300 241, 235, 234, 235, 234, 233, 232, 1332, 93, 1332,
1301 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
1302 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
1303 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
1304 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
1305 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
1307 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
1311 static yyconst flex_int16_t yy_chk[3712] =
1313 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
1314 6, 6, 6, 9, 0, 3, 10, 11, 4, 12,
1315 9, 5, 299, 10, 6, 7, 7, 7, 8, 8,
1316 8, 13, 13, 11, 299, 12, 13, 13, 236, 7,
1317 14, 14, 8, 228, 13, 14, 14, 15, 15, 880,
1318 15, 98, 15, 14, 16, 16, 228, 16, 880, 16,
1319 15, 17, 17, 18, 18, 98, 99, 16, 19, 19,
1320 19, 20, 20, 20, 23, 23, 23, 24, 24, 24,
1321 99, 237, 19, 545, 237, 20, 236, 302, 23, 302,
1322 745, 24, 96, 96, 96, 17, 545, 18, 21, 21,
1324 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1325 21, 1128, 21, 21, 21, 21, 21, 25, 25, 25,
1326 97, 97, 97, 101, 101, 101, 122, 122, 122, 1127,
1327 745, 25, 433, 21, 21, 22, 22, 22, 22, 22,
1328 22, 22, 22, 22, 22, 22, 22, 22, 433, 22,
1329 22, 22, 22, 22, 26, 26, 26, 590, 27, 27,
1330 27, 28, 28, 28, 29, 29, 29, 547, 26, 360,
1331 22, 22, 27, 360, 102, 28, 125, 137, 29, 30,
1332 30, 30, 31, 31, 31, 32, 32, 32, 102, 588,
1333 125, 137, 547, 30, 590, 588, 31, 900, 625, 32,
1335 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
1336 33, 33, 33, 900, 33, 33, 33, 33, 33, 35,
1337 35, 35, 486, 36, 36, 36, 37, 37, 37, 128,
1338 128, 128, 625, 35, 589, 33, 33, 36, 600, 486,
1339 37, 707, 600, 33, 34, 34, 34, 34, 34, 34,
1340 34, 34, 34, 34, 34, 34, 34, 589, 34, 34,
1341 34, 34, 34, 38, 38, 38, 707, 39, 39, 39,
1342 40, 40, 40, 666, 41, 41, 41, 38, 601, 34,
1343 34, 39, 601, 665, 40, 791, 791, 34, 41, 42,
1344 42, 42, 43, 43, 43, 44, 44, 44, 134, 134,
1346 134, 608, 666, 42, 609, 608, 43, 665, 609, 44,
1347 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1348 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1349 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1350 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1351 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1352 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1353 45, 45, 47, 47, 47, 48, 48, 48, 49, 49,
1354 49, 50, 50, 50, 926, 546, 47, 908, 908, 48,
1355 926, 1113, 49, 704, 1112, 50, 51, 51, 51, 51,
1357 51, 51, 51, 51, 51, 51, 51, 51, 51, 626,
1358 51, 51, 51, 51, 51, 53, 53, 53, 546, 54,
1359 54, 54, 55, 55, 55, 56, 56, 56, 149, 53,
1360 704, 51, 51, 54, 131, 51, 55, 893, 170, 56,
1361 709, 131, 149, 1098, 51, 893, 51, 626, 131, 170,
1362 711, 51, 52, 52, 52, 52, 52, 52, 52, 52,
1363 52, 52, 52, 52, 52, 710, 52, 52, 52, 52,
1364 52, 59, 59, 59, 709, 60, 60, 60, 61, 61,
1365 61, 62, 62, 62, 711, 59, 705, 52, 52, 60,
1366 750, 52, 61, 990, 710, 62, 141, 141, 141, 990,
1368 52, 747, 52, 146, 146, 146, 1097, 52, 57, 57,
1369 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
1370 57, 705, 57, 57, 57, 57, 57, 63, 63, 63,
1371 750, 64, 64, 64, 65, 65, 65, 66, 66, 66,
1372 747, 63, 894, 57, 57, 64, 143, 165, 65, 57,
1373 894, 66, 1084, 143, 57, 158, 158, 158, 776, 744,
1374 143, 165, 749, 57, 58, 58, 58, 58, 58, 58,
1375 58, 58, 58, 58, 58, 58, 58, 708, 58, 58,
1376 58, 58, 58, 67, 67, 67, 744, 68, 68, 68,
1377 71, 71, 71, 72, 72, 72, 749, 67, 776, 58,
1379 58, 68, 159, 179, 71, 58, 783, 72, 708, 159,
1380 58, 162, 162, 162, 708, 839, 159, 179, 804, 58,
1381 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
1382 69, 69, 69, 783, 69, 69, 69, 69, 69, 73,
1383 73, 73, 837, 74, 74, 74, 77, 77, 77, 78,
1384 78, 78, 839, 73, 173, 69, 69, 74, 804, 837,
1385 77, 173, 1131, 78, 172, 172, 172, 779, 173, 1131,
1386 69, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1387 70, 70, 70, 70, 748, 70, 70, 70, 70, 70,
1388 79, 79, 79, 746, 80, 80, 80, 81, 81, 81,
1390 82, 82, 82, 120, 79, 748, 70, 70, 80, 779,
1391 1083, 81, 781, 778, 82, 1072, 746, 120, 176, 176,
1392 176, 70, 75, 75, 75, 75, 75, 75, 75, 75,
1393 75, 75, 75, 75, 75, 781, 75, 75, 75, 75,
1394 75, 83, 83, 83, 778, 84, 84, 84, 85, 85,
1395 85, 120, 86, 86, 86, 83, 1071, 75, 75, 84,
1396 160, 188, 85, 874, 1055, 75, 86, 75, 188, 75,
1397 185, 185, 185, 780, 160, 188, 805, 75, 76, 76,
1398 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
1399 76, 144, 76, 76, 76, 76, 76, 89, 89, 89,
1401 874, 90, 90, 90, 193, 144, 160, 190, 190, 190,
1402 805, 89, 780, 76, 76, 90, 174, 204, 193, 91,
1403 91, 76, 840, 76, 91, 76, 112, 144, 957, 706,
1404 174, 204, 91, 76, 87, 87, 87, 87, 87, 87,
1405 87, 87, 87, 87, 87, 87, 87, 132, 87, 87,
1406 87, 87, 87, 91, 92, 92, 840, 957, 112, 92,
1407 219, 132, 706, 838, 112, 186, 174, 92, 112, 87,
1408 87, 187, 186, 112, 219, 1054, 129, 130, 1052, 186,
1409 197, 197, 197, 129, 751, 187, 1050, 838, 92, 132,
1410 129, 130, 87, 88, 88, 88, 88, 88, 88, 88,
1412 88, 88, 88, 88, 88, 88, 199, 88, 88, 88,
1413 88, 88, 129, 130, 752, 186, 802, 751, 129, 130,
1414 199, 187, 129, 130, 129, 130, 129, 130, 88, 88,
1415 142, 198, 201, 201, 201, 212, 213, 142, 198, 211,
1416 211, 211, 212, 807, 142, 198, 214, 752, 802, 212,
1417 213, 88, 808, 214, 199, 216, 216, 216, 1132, 691,
1418 214, 223, 223, 223, 782, 1132, 142, 224, 807, 212,
1419 213, 841, 142, 691, 224, 836, 142, 808, 142, 806,
1420 142, 224, 227, 227, 227, 311, 311, 311, 312, 312,
1421 312, 319, 319, 319, 320, 320, 320, 327, 327, 327,
1423 836, 311, 873, 782, 312, 806, 870, 319, 903, 841,
1424 320, 1036, 872, 327, 328, 328, 328, 334, 334, 334,
1425 335, 335, 335, 336, 336, 336, 338, 338, 338, 875,
1426 328, 899, 873, 334, 877, 312, 335, 872, 336, 870,
1427 903, 338, 902, 320, 339, 339, 339, 340, 340, 340,
1428 343, 343, 343, 344, 344, 344, 349, 349, 349, 877,
1429 339, 335, 902, 340, 961, 328, 343, 875, 906, 344,
1430 899, 929, 349, 350, 350, 350, 353, 353, 353, 354,
1431 354, 354, 370, 370, 370, 371, 371, 371, 879, 350,
1432 907, 929, 353, 928, 987, 354, 961, 340, 370, 906,
1434 879, 371, 907, 344, 373, 373, 373, 374, 374, 374,
1435 379, 379, 379, 380, 380, 380, 871, 381, 381, 381,
1436 373, 383, 383, 383, 928, 379, 350, 987, 1035, 380,
1437 1034, 871, 354, 381, 387, 387, 387, 383, 390, 390,
1438 390, 373, 391, 391, 391, 393, 393, 393, 1033, 387,
1439 396, 396, 396, 905, 390, 399, 399, 399, 391, 1005,
1440 383, 393, 400, 400, 400, 396, 402, 402, 402, 931,
1441 905, 399, 403, 403, 403, 406, 406, 406, 400, 404,
1442 404, 404, 402, 404, 931, 910, 404, 403, 956, 1005,
1443 406, 407, 407, 407, 910, 407, 958, 1061, 407, 932,
1445 1024, 393, 408, 408, 408, 956, 409, 409, 409, 411,
1446 411, 411, 413, 413, 413, 414, 414, 414, 408, 1032,
1447 958, 402, 409, 1024, 932, 411, 1061, 413, 415, 415,
1448 415, 414, 417, 417, 417, 419, 419, 419, 422, 422,
1449 422, 423, 423, 423, 415, 425, 425, 425, 417, 1022,
1450 419, 428, 428, 428, 422, 1022, 955, 423, 429, 429,
1451 429, 425, 431, 431, 431, 411, 955, 428, 434, 434,
1452 434, 440, 440, 440, 429, 441, 441, 441, 431, 446,
1453 446, 446, 1008, 1031, 434, 434, 959, 440, 417, 447,
1454 447, 447, 1008, 447, 446, 425, 447, 448, 448, 448,
1456 452, 452, 452, 959, 1018, 431, 1025, 453, 453, 453,
1457 986, 453, 1025, 448, 453, 452, 454, 454, 454, 455,
1458 455, 455, 456, 456, 456, 986, 440, 459, 459, 459,
1459 989, 454, 988, 991, 455, 462, 462, 462, 456, 460,
1460 460, 460, 459, 460, 448, 989, 460, 463, 463, 463,
1461 462, 1106, 464, 464, 464, 455, 464, 988, 991, 464,
1462 468, 468, 468, 463, 468, 960, 984, 468, 471, 471,
1463 471, 462, 473, 473, 473, 474, 474, 474, 1017, 474,
1464 1106, 960, 474, 984, 471, 1002, 1004, 473, 475, 475,
1465 475, 477, 477, 477, 478, 478, 478, 1006, 478, 1009,
1467 1002, 478, 1004, 1027, 475, 463, 477, 1091, 481, 481,
1468 481, 483, 483, 483, 484, 484, 484, 488, 488, 488,
1469 494, 494, 494, 471, 481, 1020, 483, 498, 498, 498,
1470 484, 1021, 1009, 488, 1037, 1006, 494, 499, 499, 499,
1471 1037, 499, 1027, 475, 499, 1007, 1091, 481, 502, 502,
1472 502, 1060, 506, 506, 506, 1038, 506, 1039, 488, 506,
1473 1019, 1007, 494, 1020, 502, 509, 509, 509, 1060, 1021,
1474 484, 510, 510, 510, 488, 510, 1019, 1040, 510, 1043,
1475 509, 511, 511, 511, 512, 512, 512, 1040, 512, 1043,
1476 1090, 512, 514, 514, 514, 1038, 511, 1039, 518, 518,
1478 518, 1082, 518, 1042, 502, 518, 1090, 1056, 514, 522,
1479 522, 522, 523, 523, 523, 1101, 523, 1056, 1082, 523,
1480 525, 525, 525, 1078, 522, 527, 527, 527, 529, 529,
1481 529, 1057, 529, 1074, 1016, 529, 525, 532, 532, 532,
1482 1042, 527, 534, 534, 534, 1199, 534, 1101, 1077, 534,
1483 541, 541, 541, 532, 1199, 539, 539, 539, 1078, 1074,
1484 542, 542, 542, 1077, 542, 541, 527, 542, 1057, 1063,
1485 525, 539, 543, 543, 543, 550, 550, 550, 532, 554,
1486 554, 554, 555, 555, 555, 559, 559, 559, 543, 559,
1487 1058, 550, 559, 562, 562, 562, 539, 562, 555, 1015,
1489 562, 567, 567, 567, 569, 569, 569, 1063, 569, 1096,
1490 1014, 569, 573, 573, 573, 1075, 567, 575, 575, 575,
1491 543, 1013, 555, 1105, 1096, 550, 1064, 1058, 573, 1105,
1492 577, 577, 577, 575, 581, 581, 581, 567, 583, 583,
1493 583, 1075, 583, 1116, 1086, 583, 577, 592, 592, 592,
1494 581, 586, 586, 586, 593, 593, 593, 595, 595, 595,
1495 596, 596, 596, 592, 1064, 573, 577, 586, 604, 604,
1496 604, 605, 605, 605, 1116, 605, 596, 1080, 605, 611,
1497 611, 611, 1198, 604, 617, 617, 617, 1086, 581, 613,
1498 613, 613, 586, 1081, 1198, 611, 616, 616, 616, 617,
1500 592, 596, 620, 620, 620, 613, 622, 622, 622, 629,
1501 629, 629, 616, 624, 624, 624, 1088, 1080, 620, 628,
1502 628, 628, 622, 1087, 1103, 611, 631, 631, 631, 624,
1503 632, 632, 632, 1081, 1089, 628, 1102, 616, 641, 641,
1504 641, 642, 642, 642, 1092, 642, 632, 1012, 642, 652,
1505 652, 652, 1001, 641, 1088, 622, 620, 655, 655, 655,
1506 656, 656, 656, 1093, 1103, 652, 1087, 628, 1102, 658,
1507 658, 658, 1089, 655, 641, 656, 657, 657, 657, 1121,
1508 657, 1094, 1092, 657, 658, 652, 660, 660, 660, 661,
1509 661, 661, 662, 662, 662, 668, 668, 668, 670, 670,
1511 670, 1093, 660, 1109, 655, 679, 679, 679, 662, 1095,
1512 1111, 668, 1236, 1121, 670, 680, 680, 680, 1094, 1099,
1513 679, 681, 681, 681, 1236, 681, 1111, 1124, 681, 1109,
1514 680, 668, 702, 702, 702, 1100, 689, 689, 689, 690,
1515 690, 690, 693, 693, 693, 1110, 1095, 662, 664, 664,
1516 664, 689, 694, 694, 694, 690, 694, 1099, 693, 694,
1517 697, 697, 697, 1104, 664, 698, 698, 698, 1000, 698,
1518 1124, 1110, 698, 1100, 1107, 697, 699, 699, 699, 700,
1519 700, 700, 1108, 693, 1120, 664, 690, 664, 703, 703,
1520 703, 699, 1118, 664, 1120, 700, 1117, 664, 1114, 664,
1522 1115, 664, 999, 1104, 703, 713, 713, 713, 720, 720,
1523 720, 721, 721, 721, 1107, 721, 998, 1125, 721, 1146,
1524 1119, 713, 1108, 720, 722, 722, 722, 1117, 722, 1118,
1525 1136, 722, 730, 730, 730, 731, 731, 731, 1114, 731,
1526 1115, 1147, 731, 1146, 997, 713, 1218, 730, 732, 732,
1527 732, 736, 736, 736, 737, 737, 737, 1119, 737, 1122,
1528 1125, 737, 1218, 1136, 732, 1147, 1139, 736, 740, 740,
1529 740, 741, 741, 741, 1123, 741, 1126, 1140, 741, 742,
1530 742, 742, 1126, 740, 754, 754, 754, 756, 756, 756,
1531 759, 759, 759, 732, 759, 742, 1122, 759, 1139, 736,
1533 754, 1154, 756, 763, 763, 763, 765, 765, 765, 1140,
1534 765, 1123, 996, 765, 768, 768, 768, 1155, 763, 772,
1535 772, 772, 1129, 756, 1130, 754, 1172, 773, 773, 773,
1536 768, 773, 1154, 1172, 773, 772, 777, 777, 777, 784,
1537 784, 784, 786, 786, 786, 787, 787, 787, 1155, 788,
1538 788, 788, 777, 1133, 784, 784, 1134, 995, 786, 1129,
1539 772, 1130, 993, 768, 788, 789, 789, 789, 1148, 789,
1540 983, 1141, 789, 794, 794, 794, 795, 795, 795, 1133,
1541 795, 1141, 1134, 795, 797, 797, 797, 1163, 794, 798,
1542 798, 798, 799, 799, 799, 1137, 786, 801, 801, 801,
1544 797, 803, 803, 803, 798, 1138, 982, 799, 809, 809,
1545 809, 1148, 1144, 801, 814, 814, 814, 803, 810, 810,
1546 810, 1137, 1149, 809, 809, 798, 1163, 1145, 799, 1202,
1547 797, 1138, 803, 810, 810, 811, 811, 811, 1144, 811,
1548 1173, 1152, 811, 813, 813, 813, 801, 1173, 815, 815,
1549 815, 811, 815, 1145, 1153, 815, 822, 822, 822, 813,
1550 823, 823, 823, 981, 823, 1149, 1202, 823, 826, 826,
1551 826, 822, 827, 827, 827, 828, 828, 828, 831, 831,
1552 831, 1164, 813, 826, 1152, 829, 829, 829, 827, 829,
1553 828, 1165, 829, 831, 832, 832, 832, 1153, 832, 1167,
1555 1168, 832, 834, 834, 834, 835, 835, 835, 842, 842,
1556 842, 843, 843, 843, 980, 844, 844, 844, 1166, 844,
1557 1164, 835, 844, 1165, 842, 1246, 843, 843, 854, 854,
1558 854, 844, 845, 845, 845, 1246, 845, 1167, 1168, 845,
1559 849, 849, 849, 854, 842, 855, 855, 855, 845, 855,
1560 1166, 1161, 855, 868, 868, 868, 849, 858, 858, 858,
1561 835, 846, 846, 846, 846, 846, 846, 846, 846, 846,
1562 1194, 1187, 846, 858, 1204, 846, 846, 846, 846, 846,
1563 856, 856, 856, 857, 857, 857, 1183, 857, 1162, 1204,
1564 857, 1170, 979, 849, 1161, 856, 846, 846, 847, 847,
1566 847, 847, 847, 847, 847, 847, 847, 1203, 1194, 847,
1567 1183, 1187, 847, 847, 847, 847, 847, 860, 860, 860,
1568 1171, 860, 1184, 1170, 860, 864, 864, 864, 978, 864,
1569 1185, 1162, 864, 847, 847, 869, 869, 869, 876, 876,
1570 876, 878, 878, 878, 1203, 878, 1184, 1181, 878, 1186,
1571 974, 869, 1171, 1207, 876, 963, 1195, 878, 889, 889,
1572 889, 1185, 889, 1182, 1188, 889, 897, 897, 897, 876,
1573 881, 881, 881, 881, 881, 881, 881, 881, 881, 1181,
1574 1186, 881, 897, 962, 881, 881, 881, 881, 881, 892,
1575 892, 892, 1207, 892, 1195, 1182, 892, 1010, 1010, 1010,
1577 884, 884, 884, 1189, 1188, 881, 881, 882, 882, 882,
1578 882, 882, 882, 882, 882, 882, 884, 1190, 882, 1200,
1579 1189, 882, 882, 882, 882, 882, 1200, 953, 901, 901,
1580 901, 904, 904, 904, 912, 912, 912, 914, 914, 914,
1581 1191, 952, 882, 882, 901, 884, 1192, 904, 1190, 1193,
1582 912, 912, 951, 914, 915, 915, 915, 916, 916, 916,
1583 917, 917, 917, 918, 918, 918, 925, 925, 925, 915,
1584 1192, 1191, 916, 1193, 1214, 917, 1196, 1237, 918, 927,
1585 927, 927, 925, 930, 930, 930, 1237, 1223, 914, 936,
1586 936, 936, 938, 938, 938, 927, 917, 1201, 1214, 930,
1588 939, 939, 939, 1209, 1201, 936, 1210, 1196, 938, 1215,
1589 927, 941, 941, 941, 930, 939, 940, 940, 940, 1279,
1590 940, 1208, 950, 940, 1223, 1205, 941, 942, 942, 942,
1591 936, 942, 1205, 1215, 942, 943, 943, 943, 944, 944,
1592 944, 1206, 944, 1209, 1197, 944, 1210, 938, 1206, 1219,
1593 943, 946, 946, 946, 947, 947, 947, 1279, 947, 1216,
1594 1208, 947, 954, 954, 954, 1217, 946, 964, 964, 964,
1595 965, 965, 965, 1219, 965, 1197, 1224, 965, 954, 1211,
1596 968, 968, 968, 964, 968, 1216, 1211, 968, 971, 971,
1597 971, 1217, 971, 954, 1212, 971, 975, 975, 975, 1231,
1599 975, 1212, 1255, 975, 985, 985, 985, 994, 994, 994,
1600 1254, 1255, 964, 1224, 1003, 1003, 1003, 1220, 1003, 1232,
1601 985, 1003, 1254, 994, 1011, 1011, 1011, 1023, 1023, 1023,
1602 1003, 1026, 1026, 1026, 1028, 1028, 1028, 1029, 1029, 1029,
1603 1011, 1220, 1231, 1023, 1030, 1030, 1030, 1026, 1041, 1041,
1604 1041, 1260, 1238, 1029, 1044, 1044, 1044, 994, 1044, 1030,
1605 1260, 1044, 1232, 1233, 1041, 1045, 1045, 1045, 1229, 1233,
1606 1044, 1230, 1221, 1011, 1046, 1046, 1046, 1234, 1238, 1041,
1607 949, 1045, 1048, 1048, 1048, 1049, 1049, 1049, 1222, 1049,
1608 1046, 1225, 1049, 1059, 1059, 1059, 1221, 1048, 1062, 1062,
1610 1062, 1065, 1065, 1065, 1066, 1066, 1066, 1229, 1066, 1059,
1611 1230, 1066, 1222, 1289, 1062, 1225, 1234, 1065, 1073, 1073,
1612 1073, 1076, 1076, 1076, 948, 1076, 1259, 1235, 1076, 1079,
1613 1079, 1079, 1065, 1079, 1073, 1226, 1079, 1076, 1259, 1085,
1614 1085, 1085, 945, 1085, 1240, 1079, 1085, 1135, 1135, 1135,
1615 1142, 1142, 1142, 1289, 1244, 1085, 1143, 1143, 1143, 1226,
1616 1150, 1150, 1150, 1135, 1150, 1142, 1235, 1150, 1151, 1151,
1617 1151, 1143, 1156, 1156, 1156, 1241, 1150, 1157, 1157, 1157,
1618 1159, 1159, 1159, 1240, 1151, 1239, 1244, 937, 1156, 1158,
1619 1158, 1158, 1157, 1158, 1266, 1159, 1158, 1160, 1160, 1160,
1621 935, 1160, 934, 1266, 1160, 1169, 1169, 1169, 1174, 1174,
1622 1174, 1239, 1174, 1245, 1241, 1174, 1175, 1175, 1175, 1242,
1623 1175, 1169, 1243, 1175, 1174, 1178, 1178, 1178, 1247, 1178,
1624 1248, 1250, 1178, 1213, 1213, 1213, 1169, 1227, 1227, 1227,
1625 1249, 1249, 1249, 1242, 1251, 1245, 1243, 1252, 1253, 1213,
1626 1256, 1257, 1247, 1227, 1248, 1265, 1249, 1258, 1258, 1258,
1627 1261, 1261, 1261, 1263, 1264, 1277, 1280, 1265, 1267, 1267,
1628 1267, 1252, 1253, 1258, 1250, 1290, 1261, 1272, 1268, 1269,
1629 1273, 1256, 1257, 1278, 1267, 1268, 1269, 1251, 1287, 1277,
1630 1270, 1270, 1270, 1288, 1270, 1263, 1264, 1270, 1271, 1271,
1632 1271, 1274, 1274, 1274, 1280, 1283, 1270, 1278, 1272, 1284,
1633 1295, 1273, 1283, 1296, 1271, 1290, 1284, 1274, 1275, 1275,
1634 1275, 1281, 1281, 1281, 1285, 1285, 1285, 1287, 1291, 1292,
1635 1293, 1294, 1288, 1297, 1275, 1298, 1299, 1281, 1301, 1302,
1636 1285, 1306, 1300, 1303, 1304, 1307, 1312, 1295, 1299, 1308,
1637 1296, 1300, 1291, 1292, 1293, 1294, 1315, 1305, 1305, 1305,
1638 1309, 1308, 1313, 1319, 1301, 1302, 1316, 1303, 1304, 1309,
1639 1319, 1323, 1297, 1305, 1298, 1310, 1310, 1310, 1312, 1314,
1640 1314, 1314, 1320, 1321, 1306, 1322, 1324, 1315, 1307, 1320,
1641 1327, 1310, 1325, 1326, 1313, 1314, 1328, 1316, 1317, 1317,
1643 1317, 933, 1327, 924, 923, 1328, 922, 1321, 921, 1322,
1644 1323, 1329, 1329, 1329, 1317, 920, 1325, 1326, 1330, 1330,
1645 1330, 919, 913, 911, 909, 1324, 896, 1329, 895, 888,
1646 887, 886, 885, 883, 1330, 1333, 1333, 1333, 1333, 1333,
1647 1333, 1333, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1335,
1648 1335, 1335, 1335, 1335, 1335, 1335, 1336, 1336, 1336, 1336,
1649 1336, 1336, 1336, 1337, 1337, 1337, 1337, 1337, 1337, 1337,
1650 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1339, 1339, 1339,
1651 1339, 1339, 1339, 1339, 1340, 1340, 1340, 1340, 1340, 1340,
1652 1340, 1341, 1341, 1341, 1341, 1341, 1341, 1341, 1342, 1342,
1654 1342, 1342, 1342, 1342, 1342, 1343, 1343, 1343, 1343, 1343,
1655 1343, 1343, 1344, 1344, 1344, 1344, 1344, 1344, 1344, 1345,
1656 1345, 1345, 1345, 1345, 1345, 1345, 1346, 1346, 1346, 1346,
1657 1346, 1346, 1346, 1347, 1347, 1347, 1347, 1347, 1347, 1347,
1658 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1349, 1349, 1349,
1659 1349, 1349, 1349, 1349, 1350, 1350, 1350, 1350, 1350, 1350,
1660 1350, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1352, 1352,
1661 1352, 1352, 1352, 1352, 1352, 1353, 1353, 1353, 1353, 1353,
1662 1353, 1353, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1355,
1663 1355, 1355, 867, 1355, 1356, 1356, 1356, 863, 1356, 1357,
1665 1357, 1357, 853, 1357, 1358, 1358, 1358, 852, 1358, 1359,
1666 1359, 1359, 851, 1359, 1360, 1360, 1360, 850, 1360, 1361,
1667 1361, 1361, 848, 1361, 1362, 1362, 1362, 833, 1362, 1363,
1668 1363, 1363, 1363, 1363, 830, 1363, 1364, 821, 1364, 1365,
1669 820, 1365, 1366, 819, 1366, 1367, 818, 1367, 1368, 812,
1670 1368, 1369, 800, 1369, 1370, 796, 1370, 1371, 793, 1371,
1671 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1373, 792, 790,
1672 1373, 1374, 1374, 1374, 1374, 1374, 1374, 1375, 1375, 1375,
1673 1375, 1375, 1375, 1376, 1376, 1376, 1376, 1376, 1376, 1377,
1674 1377, 1377, 1377, 1377, 1377, 1378, 1378, 1378, 1378, 1378,
1676 1378, 1379, 1379, 1379, 1379, 1379, 1379, 1380, 1380, 1380,
1677 1380, 1380, 1380, 1381, 1381, 1381, 1381, 1381, 1381, 1382,
1678 1382, 1382, 1382, 1382, 1382, 1382, 1383, 1383, 1383, 1383,
1679 1383, 1383, 1383, 1384, 1384, 1384, 1384, 1384, 1384, 1384,
1680 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1386, 1386, 1386,
1681 1386, 1386, 1386, 1386, 1387, 1387, 1387, 1387, 1387, 1387,
1682 1387, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 785, 771,
1683 770, 769, 764, 762, 758, 757, 755, 753, 735, 734,
1684 733, 727, 726, 725, 717, 716, 715, 714, 712, 692,
1685 687, 685, 684, 683, 682, 677, 675, 674, 673, 672,
1687 669, 667, 659, 654, 653, 651, 650, 649, 648, 647,
1688 646, 645, 640, 639, 638, 637, 636, 635, 634, 633,
1689 630, 627, 623, 621, 619, 618, 615, 612, 610, 607,
1690 606, 603, 602, 599, 598, 597, 594, 591, 587, 582,
1691 580, 579, 578, 576, 574, 572, 571, 570, 568, 566,
1692 565, 564, 563, 558, 557, 556, 553, 552, 551, 549,
1693 544, 540, 538, 537, 533, 528, 526, 524, 521, 517,
1694 516, 513, 505, 504, 503, 497, 496, 495, 493, 490,
1695 487, 485, 482, 480, 479, 476, 472, 467, 461, 458,
1696 457, 451, 450, 449, 445, 444, 443, 442, 439, 438,
1698 437, 432, 427, 426, 421, 420, 418, 412, 405, 398,
1699 397, 395, 394, 389, 388, 386, 385, 384, 378, 377,
1700 376, 375, 369, 368, 365, 364, 363, 361, 357, 355,
1701 352, 351, 348, 347, 346, 345, 342, 341, 337, 333,
1702 332, 331, 330, 329, 326, 325, 324, 323, 322, 321,
1703 318, 317, 316, 315, 314, 313, 310, 308, 307, 306,
1704 305, 304, 300, 298, 297, 296, 295, 294, 293, 290,
1705 289, 288, 287, 286, 285, 282, 281, 278, 277, 276,
1706 275, 274, 271, 270, 269, 268, 267, 266, 263, 262,
1707 261, 260, 259, 258, 257, 254, 253, 250, 249, 248,
1709 247, 246, 245, 242, 241, 240, 239, 238, 232, 231,
1710 229, 226, 225, 221, 217, 209, 208, 207, 206, 202,
1711 195, 191, 183, 182, 181, 177, 169, 168, 167, 163,
1712 156, 155, 154, 153, 152, 151, 147, 139, 135, 123,
1713 119, 118, 117, 111, 110, 108, 105, 93, 1332, 1332,
1714 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
1715 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
1716 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
1717 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
1718 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
1720 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
1724 /* Table of booleans, true if rule could match eol. */
1725 static yyconst flex_int32_t yy_rule_can_match_eol[177] =
1727 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1728 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1,
1729 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1730 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1731 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
1732 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
1733 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
1734 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0,
1735 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, };
1737 static yy_state_type yy_last_accepting_state;
1738 static char *yy_last_accepting_cpos;
1740 extern int surf_parse__flex_debug;
1741 int surf_parse__flex_debug = 0;
1743 /* The intent behind this definition is that it'll catch
1744 * any uses of REJECT which flex missed.
1746 #define REJECT reject_used_but_not_detected
1747 #define yymore() yymore_used_but_not_detected
1748 #define YY_MORE_ADJ 0
1749 #define YY_RESTORE_YY_MORE_OFFSET
1750 char *surf_parse_text;
1751 #line 1 "surf/surfxml.l"
1752 /* Validating XML processor for surfxml.dtd.
1753 * Generated 2006/03/21 12:59:32.
1755 * This program was generated with the FleXML XML processor generator.
1756 * FleXML is Copyright © 1999-2005 Kristoffer Rose. All rights reserved.
1757 * (Id: flexml.pl,v 1.46 2006/03/21 08:24:12 legranda Exp).
1759 * There are two, intertwined parts to this program, part A and part B.
1764 * Some parts, here collectively called "Part A", are found in the
1765 * FleXML package. They are Copyright © 1999-2005 Kristoffer Rose.
1766 * All rights reserved.
1768 * You can redistribute, use, perform, display and/or modify "Part A"
1769 * provided the following two conditions hold:
1771 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
1772 * FleXML; without even the implied warranty of MERCHANTABILITY or
1773 * FITNESS FOR A PARTICULAR PURPOSE.
1775 * 2. The program distribution conditions do not in any way affect the
1776 * distribution conditions of the FleXML system used to generate this
1777 * file or any version of FleXML derived from that system.
1779 * Notice that these are explicit rights granted to you for files
1780 * generated by the FleXML system. For your rights in connection with
1781 * the FleXML system itself please consult the GNU General Public License.
1786 * The other parts, here collectively called "Part B", and which came
1787 * from the DTD used by FleXML to generate this program, can be
1788 * distributed (or not, as the case may be) under the terms of whoever
1789 * wrote them, provided these terms respect and obey the two conditions
1790 * above under the heading "Part A".
1792 * The author of and contributors to FleXML specifically disclaim
1793 * any copyright interest in "Part B", unless "Part B" was written
1794 * by the author of or contributors to FleXML.
1797 #line 48 "surf/surfxml.l"
1799 /* Version strings. */
1800 const char rcs_surfxml_flexml_skeleton[] =
1801 "$" "Id: skel,v 1.27 2006/03/21 08:24:12 legranda Exp $";
1802 const char rcs_surfxml_flexml[] =
1803 "$" "Id: flexml.pl,v 1.46 2006/03/21 08:24:12 legranda Exp $";
1813 /* Generated definitions. */
1814 #define FLEXML_yylineno
1815 #define FLEXML_BUFFERSTACKSIZE 1000000
1817 /* XML processor api. */
1818 /* FleXML-provided data. */
1820 AT_surfxml_network_link_bandwidth A_surfxml_network_link_bandwidth;
1821 AT_surfxml_cpu_name A_surfxml_cpu_name;
1822 AT_surfxml_process_kill_time A_surfxml_process_kill_time;
1823 AT_surfxml_network_link_state A_surfxml_network_link_state;
1824 AT_surfxml_argument_value A_surfxml_argument_value;
1825 AT_surfxml_cpu_availability_file A_surfxml_cpu_availability_file;
1826 AT_surfxml_process_host A_surfxml_process_host;
1827 AT_surfxml_route_impact_on_src A_surfxml_route_impact_on_src;
1828 AT_surfxml_route_src A_surfxml_route_src;
1829 AT_surfxml_network_link_latency_file A_surfxml_network_link_latency_file;
1830 AT_surfxml_cpu_max_outgoing_rate A_surfxml_cpu_max_outgoing_rate;
1831 AT_surfxml_route_impact_on_dst_with_other_send A_surfxml_route_impact_on_dst_with_other_send;
1832 AT_surfxml_cpu_interference_send_recv A_surfxml_cpu_interference_send_recv;
1833 AT_surfxml_cpu_availability A_surfxml_cpu_availability;
1834 AT_surfxml_route_impact_on_dst A_surfxml_route_impact_on_dst;
1835 AT_surfxml_cpu_interference_recv A_surfxml_cpu_interference_recv;
1836 AT_surfxml_route_impact_on_src_with_other_recv A_surfxml_route_impact_on_src_with_other_recv;
1837 AT_surfxml_network_link_name A_surfxml_network_link_name;
1838 AT_surfxml_route_element_name A_surfxml_route_element_name;
1839 AT_surfxml_cpu_power A_surfxml_cpu_power;
1840 AT_surfxml_process_start_time A_surfxml_process_start_time;
1841 AT_surfxml_include_file A_surfxml_include_file;
1842 AT_surfxml_process_function A_surfxml_process_function;
1843 AT_surfxml_network_link_sharing_policy A_surfxml_network_link_sharing_policy;
1844 AT_surfxml_route_dst A_surfxml_route_dst;
1845 AT_surfxml_cpu_state A_surfxml_cpu_state;
1846 AT_surfxml_network_link_latency A_surfxml_network_link_latency;
1847 AT_surfxml_network_link_state_file A_surfxml_network_link_state_file;
1848 AT_surfxml_cpu_interference_send A_surfxml_cpu_interference_send;
1849 AT_surfxml_cpu_state_file A_surfxml_cpu_state_file;
1850 AT_surfxml_network_link_bandwidth_file A_surfxml_network_link_bandwidth_file;
1854 # define ENTER(state) debug_enter(state,#state)
1855 # define LEAVE debug_leave()
1856 # define SET(state) debug_set(state,#state)
1857 static void debug_enter(int, const char*);
1858 static void debug_leave(void);
1859 static void debug_set(int, const char*);
1861 # define ENTER(state) (yy_push_state(state))
1862 # define LEAVE (yy_pop_state())
1863 # define SET(state) BEGIN(state)
1866 /* Generic actions. */
1867 #define SKIP /*skip*/
1868 #define SUCCEED CLEANUP; return 0
1870 #define FAIL return fail
1871 static int fail(const char*, ...);
1872 const char * surfxml_parse_err_msg(void);
1875 static void cleanup(void);
1876 #define CLEANUP cleanup()
1878 /* Text buffer stack handling. */
1879 char bufferstack[FLEXML_BUFFERSTACKSIZE];
1880 static char* limit = bufferstack + FLEXML_BUFFERSTACKSIZE;
1881 typedef struct BufferLast_s {
1882 struct BufferLast_s *old; char* saved; char new1[1];
1884 #ifdef FLEXML_HasMixed
1885 static BufferLast* last = (BufferLast*)0;
1887 static char* next = bufferstack;
1889 #define BUFFERSET(P) (P = next)
1890 #define BUFFERPUTC(C) (assert(next<limit), *(next++) = (C))
1891 #define BUFFERDONE (BUFFERPUTC('\0'))
1893 #define BUFFERLITERAL(C,P) bufferliteral(C,&(P),surf_parse_text)
1894 static void bufferliteral(char c, const char** pp, char* text)
1896 char *s = strchr(text,c), *e = strrchr(text,c);
1897 assert(s <= e); BUFFERSET(*pp);
1899 if (isspace(*s)) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
1900 else BUFFERPUTC(*s);
1905 #ifdef FLEXML_HasMixed
1906 static void pushbuffer(char* p)
1908 BufferLast* l = (BufferLast*)next;
1909 assert(next < limit);
1916 static char* popbuffer(void)
1918 BufferLast* l = last;
1919 assert(last != (BufferLast*)0);
1926 /* General internal entities are `unput' back onto the input stream... */
1927 #define ENTITYTEXT(T) \
1928 { char *s = (T), *e = s+strlen(s);\
1929 while (--e >= s) { unput(*e); }}
1930 /* Flex standard options. */
1931 #define YY_NO_INPUT 1
1932 /* Flex user-requested options. */
1933 /* XML character classes (currently restricted to ASCII). */
1934 /* "Common syntactic structures." */
1935 /* "Names and Tokens." */
1936 /* Miscellaneous. */
1937 /* Parser states (flex `exclusive start conditions'):
1939 * PROLOG the XML prolog of the document before <?xml...>
1940 * DOCTYPE the XML prolog of the document after <?xml...>
1941 * EPILOG after the root element
1942 * INCOMMENT inside an XML comment <!--....-->
1943 * INPI inside an XML PI <?...?>
1944 * VALUE1 inside a '...'-delimited literal
1945 * VALUE2 inside a "..."-delimited literal
1946 * CDATA inside a <![CDATA[...] ]> section.
1947 * ROOT_<tag> expect root element <tag>
1948 * AL_<tag> inside the attribute list for <tag>
1949 * IN_<tag> inside a <tag> with element contents (ready for end tag)
1950 * IMPOSSIBLE dummy to permit disabling rules; must be last
1962 #line 239 "surf/surfxml.l"
1964 const char* *surfxml_statenames=NULL;
1965 #line 1966 "surf/surfxml.c"
1976 #define ROOT_surfxml_platform_description 9
1977 #define AL_surfxml_platform_description 10
1978 #define S_surfxml_platform_description 11
1979 #define S_surfxml_platform_description_1 12
1980 #define S_surfxml_platform_description_2 13
1981 #define E_surfxml_platform_description 14
1982 #define ROOT_surfxml_include 15
1983 #define AL_surfxml_include 16
1984 #define S_surfxml_include 17
1985 #define S_surfxml_include_1 18
1986 #define S_surfxml_include_2 19
1987 #define E_surfxml_include 20
1988 #define ROOT_surfxml_cpu 21
1989 #define AL_surfxml_cpu 22
1990 #define E_surfxml_cpu 23
1991 #define ROOT_surfxml_network_link 24
1992 #define AL_surfxml_network_link 25
1993 #define E_surfxml_network_link 26
1994 #define ROOT_surfxml_route 27
1995 #define AL_surfxml_route 28
1996 #define S_surfxml_route 29
1997 #define S_surfxml_route_1 30
1998 #define S_surfxml_route_2 31
1999 #define E_surfxml_route 32
2000 #define ROOT_surfxml_route_element 33
2001 #define AL_surfxml_route_element 34
2002 #define E_surfxml_route_element 35
2003 #define ROOT_surfxml_process 36
2004 #define AL_surfxml_process 37
2005 #define S_surfxml_process 38
2006 #define S_surfxml_process_1 39
2007 #define S_surfxml_process_2 40
2008 #define E_surfxml_process 41
2009 #define ROOT_surfxml_argument 42
2010 #define AL_surfxml_argument 43
2011 #define E_surfxml_argument 44
2012 #define IMPOSSIBLE 45
2014 #ifndef YY_NO_UNISTD_H
2015 /* Special case for "unistd.h", since it is non-ANSI. We include it way
2016 * down here because we want the user's section 1 to have been scanned first.
2017 * The user has a chance to override it with an option.
2022 #ifndef YY_EXTRA_TYPE
2023 #define YY_EXTRA_TYPE void *
2026 static int yy_init_globals (void );
2028 /* Macros after this point can all be overridden by user definitions in
2032 #ifndef YY_SKIP_YYWRAP
2034 extern "C" int surf_parse_wrap (void );
2036 extern int surf_parse_wrap (void );
2041 static void yy_flex_strncpy (char *,yyconst char *,int );
2044 #ifdef YY_NEED_STRLEN
2045 static int yy_flex_strlen (yyconst char * );
2051 static int yyinput (void );
2053 static int input (void );
2058 static int yy_start_stack_ptr = 0;
2059 static int yy_start_stack_depth = 0;
2060 static int *yy_start_stack = NULL;
2062 static void yy_push_state (int new_state );
2064 static void yy_pop_state (void );
2066 /* Amount of stuff to slurp up with each read. */
2067 #ifndef YY_READ_BUF_SIZE
2068 #define YY_READ_BUF_SIZE 8192
2071 /* Copy whatever the last rule matched to the standard output. */
2073 /* This used to be an fputs(), but since the string might contain NUL's,
2074 * we now use fwrite().
2076 #define ECHO (void) fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )
2079 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
2080 * is returned in "result".
2083 #define YY_INPUT(buf,result,max_size) \
2084 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2088 for ( n = 0; n < max_size && \
2089 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
2090 buf[n] = (char) c; \
2092 buf[n++] = (char) c; \
2093 if ( c == EOF && ferror( surf_parse_in ) ) \
2094 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2100 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
2102 if( errno != EINTR) \
2104 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2108 clearerr(surf_parse_in); \
2115 /* No semi-colon after return; correct usage is to write "yyterminate();" -
2116 * we don't want an extra ';' after the "return" because that will cause
2117 * some compilers to complain about unreachable statements.
2120 #define yyterminate() return YY_NULL
2123 /* Number of entries by which start-condition stack grows. */
2124 #ifndef YY_START_STACK_INCR
2125 #define YY_START_STACK_INCR 25
2128 /* Report a fatal error. */
2129 #ifndef YY_FATAL_ERROR
2130 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2133 /* end tables serialization structures and prototypes */
2135 /* Default declaration of generated scanner - a define so the user can
2136 * easily add parameters.
2139 #define YY_DECL_IS_OURS 1
2141 extern int surf_parse_lex (void);
2143 #define YY_DECL int surf_parse_lex (void)
2144 #endif /* !YY_DECL */
2146 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
2149 #ifndef YY_USER_ACTION
2150 #define YY_USER_ACTION
2153 /* Code executed at the end of each rule. */
2155 #define YY_BREAK break;
2158 #define YY_RULE_SETUP \
2161 /** The main scanner function which does all the work.
2165 register yy_state_type yy_current_state;
2166 register char *yy_cp, *yy_bp;
2167 register int yy_act;
2169 #line 243 "surf/surfxml.l"
2172 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
2176 if(!surfxml_statenames) {surfxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
2177 surfxml_statenames[PROLOG] = NULL;
2178 surfxml_statenames[DOCTYPE] = NULL;
2179 surfxml_statenames[EPILOG] = NULL;
2180 surfxml_statenames[INCOMMENT] = NULL;
2181 surfxml_statenames[INPI] = NULL;
2182 surfxml_statenames[VALUE1] = NULL;
2183 surfxml_statenames[VALUE2] = NULL;
2184 surfxml_statenames[CDATA] = NULL;
2185 surfxml_statenames[ROOT_surfxml_platform_description] = NULL;
2186 surfxml_statenames[AL_surfxml_platform_description] = NULL;
2187 surfxml_statenames[S_surfxml_platform_description] = "platform_description";
2188 surfxml_statenames[S_surfxml_platform_description_1] = "platform_description";
2189 surfxml_statenames[S_surfxml_platform_description_2] = "platform_description";
2190 surfxml_statenames[E_surfxml_platform_description] = "platform_description";
2191 surfxml_statenames[ROOT_surfxml_include] = NULL;
2192 surfxml_statenames[AL_surfxml_include] = NULL;
2193 surfxml_statenames[S_surfxml_include] = "include";
2194 surfxml_statenames[S_surfxml_include_1] = "include";
2195 surfxml_statenames[S_surfxml_include_2] = "include";
2196 surfxml_statenames[E_surfxml_include] = "include";
2197 surfxml_statenames[ROOT_surfxml_cpu] = NULL;
2198 surfxml_statenames[AL_surfxml_cpu] = NULL;
2199 surfxml_statenames[E_surfxml_cpu] = "cpu";
2200 surfxml_statenames[ROOT_surfxml_network_link] = NULL;
2201 surfxml_statenames[AL_surfxml_network_link] = NULL;
2202 surfxml_statenames[E_surfxml_network_link] = "network_link";
2203 surfxml_statenames[ROOT_surfxml_route] = NULL;
2204 surfxml_statenames[AL_surfxml_route] = NULL;
2205 surfxml_statenames[S_surfxml_route] = "route";
2206 surfxml_statenames[S_surfxml_route_1] = "route";
2207 surfxml_statenames[S_surfxml_route_2] = "route";
2208 surfxml_statenames[E_surfxml_route] = "route";
2209 surfxml_statenames[ROOT_surfxml_route_element] = NULL;
2210 surfxml_statenames[AL_surfxml_route_element] = NULL;
2211 surfxml_statenames[E_surfxml_route_element] = "route_element";
2212 surfxml_statenames[ROOT_surfxml_process] = NULL;
2213 surfxml_statenames[AL_surfxml_process] = NULL;
2214 surfxml_statenames[S_surfxml_process] = "process";
2215 surfxml_statenames[S_surfxml_process_1] = "process";
2216 surfxml_statenames[S_surfxml_process_2] = "process";
2217 surfxml_statenames[E_surfxml_process] = "process";
2218 surfxml_statenames[ROOT_surfxml_argument] = NULL;
2219 surfxml_statenames[AL_surfxml_argument] = NULL;
2220 surfxml_statenames[E_surfxml_argument] = "argument";
2223 /* COMMENTS and PIs: handled uniformly for efficiency. */
2225 #line 2226 "surf/surfxml.c"
2236 (yy_start) = 1; /* first start state */
2238 if ( ! surf_parse_in )
2239 surf_parse_in = stdin;
2241 if ( ! surf_parse_out )
2242 surf_parse_out = stdout;
2244 if ( ! YY_CURRENT_BUFFER ) {
2245 surf_parse_ensure_buffer_stack ();
2246 YY_CURRENT_BUFFER_LVALUE =
2247 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
2250 surf_parse__load_buffer_state( );
2253 while ( 1 ) /* loops until end-of-file is reached */
2255 yy_cp = (yy_c_buf_p);
2257 /* Support of surf_parse_text. */
2258 *yy_cp = (yy_hold_char);
2260 /* yy_bp points to the position in yy_ch_buf of the start of
2265 yy_current_state = (yy_start);
2269 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
2270 if ( yy_accept[yy_current_state] )
2272 (yy_last_accepting_state) = yy_current_state;
2273 (yy_last_accepting_cpos) = yy_cp;
2275 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2277 yy_current_state = (int) yy_def[yy_current_state];
2278 if ( yy_current_state >= 1333 )
2279 yy_c = yy_meta[(unsigned int) yy_c];
2281 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2284 while ( yy_base[yy_current_state] != 3649 );
2287 yy_act = yy_accept[yy_current_state];
2289 { /* have to back up */
2290 yy_cp = (yy_last_accepting_cpos);
2291 yy_current_state = (yy_last_accepting_state);
2292 yy_act = yy_accept[yy_current_state];
2295 YY_DO_BEFORE_ACTION;
2297 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
2300 for ( yyl = 0; yyl < surf_parse_leng; ++yyl )
2301 if ( surf_parse_text[yyl] == '\n' )
2303 surf_parse_lineno++;
2307 do_action: /* This label is used only to access EOF actions. */
2310 { /* beginning of action switch */
2311 case 0: /* must back up */
2312 /* undo the effects of YY_DO_BEFORE_ACTION */
2313 *yy_cp = (yy_hold_char);
2314 yy_cp = (yy_last_accepting_cpos);
2315 yy_current_state = (yy_last_accepting_state);
2316 goto yy_find_action;
2320 #line 299 "surf/surfxml.l"
2325 #line 300 "surf/surfxml.l"
2332 #line 303 "surf/surfxml.l"
2336 #line 305 "surf/surfxml.l"
2338 #line 306 "surf/surfxml.l"
2340 /* rule 6 can match eol */
2342 #line 306 "surf/surfxml.l"
2345 case YY_STATE_EOF(INCOMMENT):
2346 #line 307 "surf/surfxml.l"
2347 FAIL("EOF in comment.");
2353 #line 310 "surf/surfxml.l"
2357 #line 312 "surf/surfxml.l"
2359 /* rule 9 can match eol */
2361 #line 312 "surf/surfxml.l"
2364 case YY_STATE_EOF(INPI):
2365 #line 313 "surf/surfxml.l"
2366 FAIL("EOF in PI (processing instruction).");
2369 /* SPACES: skipped uniformly */
2371 /* rule 10 can match eol */
2373 #line 318 "surf/surfxml.l"
2376 /* PROLOG: determine root element and process it. */
2379 /* rule 11 can match eol */
2381 #line 323 "surf/surfxml.l"
2385 /* rule 12 can match eol */
2387 #line 324 "surf/surfxml.l"
2388 FAIL("Bad declaration %s.",surf_parse_text);
2393 /* rule 13 can match eol */
2395 #line 328 "surf/surfxml.l"
2396 SET(ROOT_surfxml_argument);
2399 /* rule 14 can match eol */
2401 #line 329 "surf/surfxml.l"
2402 SET(ROOT_surfxml_route_element);
2405 /* rule 15 can match eol */
2407 #line 330 "surf/surfxml.l"
2408 SET(ROOT_surfxml_cpu);
2411 /* rule 16 can match eol */
2413 #line 331 "surf/surfxml.l"
2414 SET(ROOT_surfxml_include);
2417 /* rule 17 can match eol */
2419 #line 332 "surf/surfxml.l"
2420 SET(ROOT_surfxml_route);
2423 /* rule 18 can match eol */
2425 #line 333 "surf/surfxml.l"
2426 SET(ROOT_surfxml_platform_description);
2429 /* rule 19 can match eol */
2431 #line 334 "surf/surfxml.l"
2432 SET(ROOT_surfxml_network_link);
2435 /* rule 20 can match eol */
2437 #line 335 "surf/surfxml.l"
2438 SET(ROOT_surfxml_process);
2441 /* rule 21 can match eol */
2443 #line 336 "surf/surfxml.l"
2444 FAIL("Bad declaration %s.",surf_parse_text);
2448 #line 337 "surf/surfxml.l"
2449 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
2451 case YY_STATE_EOF(PROLOG):
2452 case YY_STATE_EOF(DOCTYPE):
2453 #line 338 "surf/surfxml.l"
2454 FAIL("EOF in prolog.");
2457 /* RULES DERIVED FROM DTD. */
2458 /* <!-- Small DTD for SURF based tools. --> */
2460 /* rule 23 can match eol */
2462 #line 345 "surf/surfxml.l"
2464 ENTER(AL_surfxml_platform_description);
2470 #line 350 "surf/surfxml.l"
2472 LEAVE; STag_surfxml_platform_description();pcdata = NULL; ENTER(S_surfxml_platform_description);
2477 #line 353 "surf/surfxml.l"
2479 LEAVE; STag_surfxml_platform_description(); pcdata = NULL; ETag_surfxml_platform_description();
2481 case ROOT_surfxml_platform_description: SET(EPILOG); break;
2487 #line 359 "surf/surfxml.l"
2488 FAIL("Unexpected character `%c' in attribute list of platform_description element.", surf_parse_text[0]);
2492 #line 360 "surf/surfxml.l"
2493 FAIL("Bad attribute `%s' in `platform_description' element start tag.",surf_parse_text);
2495 case YY_STATE_EOF(AL_surfxml_platform_description):
2496 #line 361 "surf/surfxml.l"
2497 FAIL("EOF in attribute list of `platform_description' element.");
2502 /* rule 28 can match eol */
2504 #line 365 "surf/surfxml.l"
2507 ETag_surfxml_platform_description();
2509 case ROOT_surfxml_platform_description: SET(EPILOG); break;
2514 /* rule 29 can match eol */
2516 #line 372 "surf/surfxml.l"
2517 FAIL("Unexpected end-tag `%s': `</platform_description>' expected.",surf_parse_text);
2521 #line 373 "surf/surfxml.l"
2522 FAIL("Unexpected character `%c': `</platform_description>' expected.",surf_parse_text[0]);
2524 case YY_STATE_EOF(E_surfxml_platform_description):
2525 case YY_STATE_EOF(S_surfxml_platform_description_2):
2526 case YY_STATE_EOF(S_surfxml_platform_description):
2527 #line 374 "surf/surfxml.l"
2528 FAIL("Premature EOF: `</platform_description>' expected.");
2532 /* rule 31 can match eol */
2534 #line 377 "surf/surfxml.l"
2536 A_surfxml_include_file = NULL;
2537 ENTER(AL_surfxml_include);
2542 /* rule 32 can match eol */
2544 #line 383 "surf/surfxml.l"
2545 ENTER(VALUE1); BUFFERSET(A_surfxml_include_file);
2548 /* rule 33 can match eol */
2550 #line 384 "surf/surfxml.l"
2551 ENTER(VALUE2); BUFFERSET(A_surfxml_include_file);
2555 #line 386 "surf/surfxml.l"
2557 if (!A_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
2558 LEAVE; STag_surfxml_include();pcdata = NULL; ENTER(S_surfxml_include);
2563 #line 390 "surf/surfxml.l"
2565 if (!A_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
2566 LEAVE; STag_surfxml_include(); pcdata = NULL; ETag_surfxml_include();
2568 case S_surfxml_platform_description_2: case S_surfxml_platform_description_1: case S_surfxml_platform_description: SET(S_surfxml_platform_description_2); break;
2569 case ROOT_surfxml_include: SET(EPILOG); break;
2570 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
2576 #line 399 "surf/surfxml.l"
2577 FAIL("Unexpected character `%c' in attribute list of include element.", surf_parse_text[0]);
2581 #line 400 "surf/surfxml.l"
2582 FAIL("Bad attribute `%s' in `include' element start tag.",surf_parse_text);
2584 case YY_STATE_EOF(AL_surfxml_include):
2585 #line 401 "surf/surfxml.l"
2586 FAIL("EOF in attribute list of `include' element.");
2591 /* rule 38 can match eol */
2593 #line 405 "surf/surfxml.l"
2596 ETag_surfxml_include();
2598 case S_surfxml_platform_description_2: case S_surfxml_platform_description_1: case S_surfxml_platform_description: SET(S_surfxml_platform_description_2); break;
2599 case ROOT_surfxml_include: SET(EPILOG); break;
2600 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
2605 /* rule 39 can match eol */
2607 #line 414 "surf/surfxml.l"
2608 FAIL("Unexpected end-tag `%s': `</include>' expected.",surf_parse_text);
2612 #line 415 "surf/surfxml.l"
2613 FAIL("Unexpected character `%c': `</include>' expected.",surf_parse_text[0]);
2615 case YY_STATE_EOF(E_surfxml_include):
2616 case YY_STATE_EOF(S_surfxml_include):
2617 case YY_STATE_EOF(S_surfxml_include_2):
2618 #line 416 "surf/surfxml.l"
2619 FAIL("Premature EOF: `</include>' expected.");
2623 /* rule 41 can match eol */
2625 #line 419 "surf/surfxml.l"
2627 A_surfxml_cpu_name = NULL;
2628 A_surfxml_cpu_power = NULL;
2629 A_surfxml_cpu_availability = "1.0";
2630 A_surfxml_cpu_availability_file = NULL;
2631 A_surfxml_cpu_state = A_surfxml_cpu_state_ON;
2632 A_surfxml_cpu_state_file = NULL;
2633 A_surfxml_cpu_interference_send = "1.0";
2634 A_surfxml_cpu_interference_recv = "1.0";
2635 A_surfxml_cpu_interference_send_recv = "1.0";
2636 A_surfxml_cpu_max_outgoing_rate = "-1.0";
2637 ENTER(AL_surfxml_cpu);
2642 /* rule 42 can match eol */
2644 #line 434 "surf/surfxml.l"
2645 ENTER(VALUE1); BUFFERSET(A_surfxml_cpu_name);
2648 /* rule 43 can match eol */
2650 #line 435 "surf/surfxml.l"
2651 ENTER(VALUE2); BUFFERSET(A_surfxml_cpu_name);
2654 /* rule 44 can match eol */
2656 #line 437 "surf/surfxml.l"
2657 ENTER(VALUE1); BUFFERSET(A_surfxml_cpu_power);
2660 /* rule 45 can match eol */
2662 #line 438 "surf/surfxml.l"
2663 ENTER(VALUE2); BUFFERSET(A_surfxml_cpu_power);
2666 /* rule 46 can match eol */
2668 #line 440 "surf/surfxml.l"
2669 ENTER(VALUE1); BUFFERSET(A_surfxml_cpu_availability);
2672 /* rule 47 can match eol */
2674 #line 441 "surf/surfxml.l"
2675 ENTER(VALUE2); BUFFERSET(A_surfxml_cpu_availability);
2678 /* rule 48 can match eol */
2680 #line 443 "surf/surfxml.l"
2681 ENTER(VALUE1); BUFFERSET(A_surfxml_cpu_availability_file);
2684 /* rule 49 can match eol */
2686 #line 444 "surf/surfxml.l"
2687 ENTER(VALUE2); BUFFERSET(A_surfxml_cpu_availability_file);
2690 /* rule 50 can match eol */
2691 #line 447 "surf/surfxml.l"
2693 /* rule 51 can match eol */
2695 #line 447 "surf/surfxml.l"
2696 A_surfxml_cpu_state = A_surfxml_cpu_state_ON;
2699 /* rule 52 can match eol */
2700 #line 449 "surf/surfxml.l"
2702 /* rule 53 can match eol */
2704 #line 449 "surf/surfxml.l"
2705 A_surfxml_cpu_state = A_surfxml_cpu_state_OFF;
2708 /* rule 54 can match eol */
2710 #line 451 "surf/surfxml.l"
2711 ENTER(VALUE1); BUFFERSET(A_surfxml_cpu_state_file);
2714 /* rule 55 can match eol */
2716 #line 452 "surf/surfxml.l"
2717 ENTER(VALUE2); BUFFERSET(A_surfxml_cpu_state_file);
2720 /* rule 56 can match eol */
2722 #line 454 "surf/surfxml.l"
2723 ENTER(VALUE1); BUFFERSET(A_surfxml_cpu_interference_send);
2726 /* rule 57 can match eol */
2728 #line 455 "surf/surfxml.l"
2729 ENTER(VALUE2); BUFFERSET(A_surfxml_cpu_interference_send);
2732 /* rule 58 can match eol */
2734 #line 457 "surf/surfxml.l"
2735 ENTER(VALUE1); BUFFERSET(A_surfxml_cpu_interference_recv);
2738 /* rule 59 can match eol */
2740 #line 458 "surf/surfxml.l"
2741 ENTER(VALUE2); BUFFERSET(A_surfxml_cpu_interference_recv);
2744 /* rule 60 can match eol */
2746 #line 460 "surf/surfxml.l"
2747 ENTER(VALUE1); BUFFERSET(A_surfxml_cpu_interference_send_recv);
2750 /* rule 61 can match eol */
2752 #line 461 "surf/surfxml.l"
2753 ENTER(VALUE2); BUFFERSET(A_surfxml_cpu_interference_send_recv);
2756 /* rule 62 can match eol */
2758 #line 463 "surf/surfxml.l"
2759 ENTER(VALUE1); BUFFERSET(A_surfxml_cpu_max_outgoing_rate);
2762 /* rule 63 can match eol */
2764 #line 464 "surf/surfxml.l"
2765 ENTER(VALUE2); BUFFERSET(A_surfxml_cpu_max_outgoing_rate);
2769 #line 466 "surf/surfxml.l"
2771 if (!A_surfxml_cpu_name) FAIL("Required attribute `name' not set for `cpu' element.");
2772 if (!A_surfxml_cpu_power) FAIL("Required attribute `power' not set for `cpu' element.");
2773 LEAVE; STag_surfxml_cpu();pcdata = NULL; ENTER(E_surfxml_cpu);
2778 #line 471 "surf/surfxml.l"
2780 if (!A_surfxml_cpu_name) FAIL("Required attribute `name' not set for `cpu' element.");
2781 if (!A_surfxml_cpu_power) FAIL("Required attribute `power' not set for `cpu' element.");
2782 LEAVE; STag_surfxml_cpu(); pcdata = NULL; ETag_surfxml_cpu();
2784 case S_surfxml_platform_description_2: case S_surfxml_platform_description_1: case S_surfxml_platform_description: SET(S_surfxml_platform_description_2); break;
2785 case ROOT_surfxml_cpu: SET(EPILOG); break;
2786 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
2792 #line 481 "surf/surfxml.l"
2793 FAIL("Unexpected character `%c' in attribute list of cpu element.", surf_parse_text[0]);
2797 #line 482 "surf/surfxml.l"
2798 FAIL("Bad attribute `%s' in `cpu' element start tag.",surf_parse_text);
2800 case YY_STATE_EOF(AL_surfxml_cpu):
2801 #line 483 "surf/surfxml.l"
2802 FAIL("EOF in attribute list of `cpu' element.");
2807 /* rule 68 can match eol */
2809 #line 487 "surf/surfxml.l"
2814 case S_surfxml_platform_description_2: case S_surfxml_platform_description_1: case S_surfxml_platform_description: SET(S_surfxml_platform_description_2); break;
2815 case ROOT_surfxml_cpu: SET(EPILOG); break;
2816 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
2821 /* rule 69 can match eol */
2823 #line 496 "surf/surfxml.l"
2824 FAIL("Unexpected end-tag `%s': `</cpu>' expected.",surf_parse_text);
2828 #line 497 "surf/surfxml.l"
2829 FAIL("Unexpected character `%c': `</cpu>' expected.",surf_parse_text[0]);
2831 case YY_STATE_EOF(E_surfxml_cpu):
2832 #line 498 "surf/surfxml.l"
2833 FAIL("Premature EOF: `</cpu>' expected.");
2837 /* rule 71 can match eol */
2839 #line 501 "surf/surfxml.l"
2841 A_surfxml_network_link_name = NULL;
2842 A_surfxml_network_link_bandwidth = NULL;
2843 A_surfxml_network_link_bandwidth_file = NULL;
2844 A_surfxml_network_link_latency = "0.0";
2845 A_surfxml_network_link_latency_file = NULL;
2846 A_surfxml_network_link_state = A_surfxml_network_link_state_ON;
2847 A_surfxml_network_link_state_file = NULL;
2848 A_surfxml_network_link_sharing_policy = A_surfxml_network_link_sharing_policy_SHARED;
2849 ENTER(AL_surfxml_network_link);
2854 /* rule 72 can match eol */
2856 #line 514 "surf/surfxml.l"
2857 ENTER(VALUE1); BUFFERSET(A_surfxml_network_link_name);
2860 /* rule 73 can match eol */
2862 #line 515 "surf/surfxml.l"
2863 ENTER(VALUE2); BUFFERSET(A_surfxml_network_link_name);
2866 /* rule 74 can match eol */
2868 #line 517 "surf/surfxml.l"
2869 ENTER(VALUE1); BUFFERSET(A_surfxml_network_link_bandwidth);
2872 /* rule 75 can match eol */
2874 #line 518 "surf/surfxml.l"
2875 ENTER(VALUE2); BUFFERSET(A_surfxml_network_link_bandwidth);
2878 /* rule 76 can match eol */
2880 #line 520 "surf/surfxml.l"
2881 ENTER(VALUE1); BUFFERSET(A_surfxml_network_link_bandwidth_file);
2884 /* rule 77 can match eol */
2886 #line 521 "surf/surfxml.l"
2887 ENTER(VALUE2); BUFFERSET(A_surfxml_network_link_bandwidth_file);
2890 /* rule 78 can match eol */
2892 #line 523 "surf/surfxml.l"
2893 ENTER(VALUE1); BUFFERSET(A_surfxml_network_link_latency);
2896 /* rule 79 can match eol */
2898 #line 524 "surf/surfxml.l"
2899 ENTER(VALUE2); BUFFERSET(A_surfxml_network_link_latency);
2902 /* rule 80 can match eol */
2904 #line 526 "surf/surfxml.l"
2905 ENTER(VALUE1); BUFFERSET(A_surfxml_network_link_latency_file);
2908 /* rule 81 can match eol */
2910 #line 527 "surf/surfxml.l"
2911 ENTER(VALUE2); BUFFERSET(A_surfxml_network_link_latency_file);
2914 /* rule 82 can match eol */
2915 #line 530 "surf/surfxml.l"
2917 /* rule 83 can match eol */
2919 #line 530 "surf/surfxml.l"
2920 A_surfxml_network_link_state = A_surfxml_network_link_state_ON;
2923 /* rule 84 can match eol */
2924 #line 532 "surf/surfxml.l"
2926 /* rule 85 can match eol */
2928 #line 532 "surf/surfxml.l"
2929 A_surfxml_network_link_state = A_surfxml_network_link_state_OFF;
2932 /* rule 86 can match eol */
2934 #line 534 "surf/surfxml.l"
2935 ENTER(VALUE1); BUFFERSET(A_surfxml_network_link_state_file);
2938 /* rule 87 can match eol */
2940 #line 535 "surf/surfxml.l"
2941 ENTER(VALUE2); BUFFERSET(A_surfxml_network_link_state_file);
2944 /* rule 88 can match eol */
2945 #line 538 "surf/surfxml.l"
2947 /* rule 89 can match eol */
2949 #line 538 "surf/surfxml.l"
2950 A_surfxml_network_link_sharing_policy = A_surfxml_network_link_sharing_policy_SHARED;
2953 /* rule 90 can match eol */
2954 #line 540 "surf/surfxml.l"
2956 /* rule 91 can match eol */
2958 #line 540 "surf/surfxml.l"
2959 A_surfxml_network_link_sharing_policy = A_surfxml_network_link_sharing_policy_FATPIPE;
2963 #line 542 "surf/surfxml.l"
2965 if (!A_surfxml_network_link_name) FAIL("Required attribute `name' not set for `network_link' element.");
2966 if (!A_surfxml_network_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `network_link' element.");
2967 LEAVE; STag_surfxml_network_link();pcdata = NULL; ENTER(E_surfxml_network_link);
2972 #line 547 "surf/surfxml.l"
2974 if (!A_surfxml_network_link_name) FAIL("Required attribute `name' not set for `network_link' element.");
2975 if (!A_surfxml_network_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `network_link' element.");
2976 LEAVE; STag_surfxml_network_link(); pcdata = NULL; ETag_surfxml_network_link();
2978 case S_surfxml_platform_description_2: case S_surfxml_platform_description_1: case S_surfxml_platform_description: SET(S_surfxml_platform_description_2); break;
2979 case ROOT_surfxml_network_link: SET(EPILOG); break;
2980 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
2986 #line 557 "surf/surfxml.l"
2987 FAIL("Unexpected character `%c' in attribute list of network_link element.", surf_parse_text[0]);
2991 #line 558 "surf/surfxml.l"
2992 FAIL("Bad attribute `%s' in `network_link' element start tag.",surf_parse_text);
2994 case YY_STATE_EOF(AL_surfxml_network_link):
2995 #line 559 "surf/surfxml.l"
2996 FAIL("EOF in attribute list of `network_link' element.");
3001 /* rule 96 can match eol */
3003 #line 563 "surf/surfxml.l"
3006 ETag_surfxml_network_link();
3008 case S_surfxml_platform_description_2: case S_surfxml_platform_description_1: case S_surfxml_platform_description: SET(S_surfxml_platform_description_2); break;
3009 case ROOT_surfxml_network_link: SET(EPILOG); break;
3010 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
3015 /* rule 97 can match eol */
3017 #line 572 "surf/surfxml.l"
3018 FAIL("Unexpected end-tag `%s': `</network_link>' expected.",surf_parse_text);
3022 #line 573 "surf/surfxml.l"
3023 FAIL("Unexpected character `%c': `</network_link>' expected.",surf_parse_text[0]);
3025 case YY_STATE_EOF(E_surfxml_network_link):
3026 #line 574 "surf/surfxml.l"
3027 FAIL("Premature EOF: `</network_link>' expected.");
3031 /* rule 99 can match eol */
3033 #line 577 "surf/surfxml.l"
3035 A_surfxml_route_src = NULL;
3036 A_surfxml_route_dst = NULL;
3037 A_surfxml_route_impact_on_src = "0.0";
3038 A_surfxml_route_impact_on_dst = "0.0";
3039 A_surfxml_route_impact_on_src_with_other_recv = "0.0";
3040 A_surfxml_route_impact_on_dst_with_other_send = "0.0";
3041 ENTER(AL_surfxml_route);
3046 /* rule 100 can match eol */
3048 #line 588 "surf/surfxml.l"
3049 ENTER(VALUE1); BUFFERSET(A_surfxml_route_src);
3052 /* rule 101 can match eol */
3054 #line 589 "surf/surfxml.l"
3055 ENTER(VALUE2); BUFFERSET(A_surfxml_route_src);
3058 /* rule 102 can match eol */
3060 #line 591 "surf/surfxml.l"
3061 ENTER(VALUE1); BUFFERSET(A_surfxml_route_dst);
3064 /* rule 103 can match eol */
3066 #line 592 "surf/surfxml.l"
3067 ENTER(VALUE2); BUFFERSET(A_surfxml_route_dst);
3070 /* rule 104 can match eol */
3072 #line 594 "surf/surfxml.l"
3073 ENTER(VALUE1); BUFFERSET(A_surfxml_route_impact_on_src);
3076 /* rule 105 can match eol */
3078 #line 595 "surf/surfxml.l"
3079 ENTER(VALUE2); BUFFERSET(A_surfxml_route_impact_on_src);
3082 /* rule 106 can match eol */
3084 #line 597 "surf/surfxml.l"
3085 ENTER(VALUE1); BUFFERSET(A_surfxml_route_impact_on_dst);
3088 /* rule 107 can match eol */
3090 #line 598 "surf/surfxml.l"
3091 ENTER(VALUE2); BUFFERSET(A_surfxml_route_impact_on_dst);
3094 /* rule 108 can match eol */
3096 #line 600 "surf/surfxml.l"
3097 ENTER(VALUE1); BUFFERSET(A_surfxml_route_impact_on_src_with_other_recv);
3100 /* rule 109 can match eol */
3102 #line 601 "surf/surfxml.l"
3103 ENTER(VALUE2); BUFFERSET(A_surfxml_route_impact_on_src_with_other_recv);
3106 /* rule 110 can match eol */
3108 #line 603 "surf/surfxml.l"
3109 ENTER(VALUE1); BUFFERSET(A_surfxml_route_impact_on_dst_with_other_send);
3112 /* rule 111 can match eol */
3114 #line 604 "surf/surfxml.l"
3115 ENTER(VALUE2); BUFFERSET(A_surfxml_route_impact_on_dst_with_other_send);
3119 #line 606 "surf/surfxml.l"
3121 if (!A_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
3122 if (!A_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
3123 LEAVE; STag_surfxml_route();pcdata = NULL; ENTER(S_surfxml_route);
3128 #line 611 "surf/surfxml.l"
3130 if (!A_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
3131 if (!A_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
3132 LEAVE; STag_surfxml_route(); pcdata = NULL; ETag_surfxml_route();
3134 case S_surfxml_platform_description_2: case S_surfxml_platform_description_1: case S_surfxml_platform_description: SET(S_surfxml_platform_description_2); break;
3135 case ROOT_surfxml_route: SET(EPILOG); break;
3136 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
3142 #line 621 "surf/surfxml.l"
3143 FAIL("Unexpected character `%c' in attribute list of route element.", surf_parse_text[0]);
3147 #line 622 "surf/surfxml.l"
3148 FAIL("Bad attribute `%s' in `route' element start tag.",surf_parse_text);
3150 case YY_STATE_EOF(AL_surfxml_route):
3151 #line 623 "surf/surfxml.l"
3152 FAIL("EOF in attribute list of `route' element.");
3157 /* rule 116 can match eol */
3159 #line 627 "surf/surfxml.l"
3162 ETag_surfxml_route();
3164 case S_surfxml_platform_description_2: case S_surfxml_platform_description_1: case S_surfxml_platform_description: SET(S_surfxml_platform_description_2); break;
3165 case ROOT_surfxml_route: SET(EPILOG); break;
3166 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
3171 /* rule 117 can match eol */
3173 #line 636 "surf/surfxml.l"
3174 FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
3178 #line 637 "surf/surfxml.l"
3179 FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
3181 case YY_STATE_EOF(S_surfxml_route):
3182 case YY_STATE_EOF(S_surfxml_route_2):
3183 case YY_STATE_EOF(E_surfxml_route):
3184 #line 638 "surf/surfxml.l"
3185 FAIL("Premature EOF: `</route>' expected.");
3189 /* rule 119 can match eol */
3191 #line 641 "surf/surfxml.l"
3193 A_surfxml_route_element_name = NULL;
3194 ENTER(AL_surfxml_route_element);
3199 /* rule 120 can match eol */
3201 #line 647 "surf/surfxml.l"
3202 ENTER(VALUE1); BUFFERSET(A_surfxml_route_element_name);
3205 /* rule 121 can match eol */
3207 #line 648 "surf/surfxml.l"
3208 ENTER(VALUE2); BUFFERSET(A_surfxml_route_element_name);
3212 #line 650 "surf/surfxml.l"
3214 if (!A_surfxml_route_element_name) FAIL("Required attribute `name' not set for `route_element' element.");
3215 LEAVE; STag_surfxml_route_element();pcdata = NULL; ENTER(E_surfxml_route_element);
3220 #line 654 "surf/surfxml.l"
3222 if (!A_surfxml_route_element_name) FAIL("Required attribute `name' not set for `route_element' element.");
3223 LEAVE; STag_surfxml_route_element(); pcdata = NULL; ETag_surfxml_route_element();
3225 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
3226 case ROOT_surfxml_route_element: SET(EPILOG); break;
3232 #line 662 "surf/surfxml.l"
3233 FAIL("Unexpected character `%c' in attribute list of route_element element.", surf_parse_text[0]);
3237 #line 663 "surf/surfxml.l"
3238 FAIL("Bad attribute `%s' in `route_element' element start tag.",surf_parse_text);
3240 case YY_STATE_EOF(AL_surfxml_route_element):
3241 #line 664 "surf/surfxml.l"
3242 FAIL("EOF in attribute list of `route_element' element.");
3247 /* rule 126 can match eol */
3249 #line 668 "surf/surfxml.l"
3252 ETag_surfxml_route_element();
3254 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
3255 case ROOT_surfxml_route_element: SET(EPILOG); break;
3260 /* rule 127 can match eol */
3262 #line 676 "surf/surfxml.l"
3263 FAIL("Unexpected end-tag `%s': `</route_element>' expected.",surf_parse_text);
3267 #line 677 "surf/surfxml.l"
3268 FAIL("Unexpected character `%c': `</route_element>' expected.",surf_parse_text[0]);
3270 case YY_STATE_EOF(E_surfxml_route_element):
3271 #line 678 "surf/surfxml.l"
3272 FAIL("Premature EOF: `</route_element>' expected.");
3276 /* rule 129 can match eol */
3278 #line 681 "surf/surfxml.l"
3280 A_surfxml_process_host = NULL;
3281 A_surfxml_process_function = NULL;
3282 A_surfxml_process_start_time = "-1.0";
3283 A_surfxml_process_kill_time = "-1.0";
3284 ENTER(AL_surfxml_process);
3289 /* rule 130 can match eol */
3291 #line 690 "surf/surfxml.l"
3292 ENTER(VALUE1); BUFFERSET(A_surfxml_process_host);
3295 /* rule 131 can match eol */
3297 #line 691 "surf/surfxml.l"
3298 ENTER(VALUE2); BUFFERSET(A_surfxml_process_host);
3301 /* rule 132 can match eol */
3303 #line 693 "surf/surfxml.l"
3304 ENTER(VALUE1); BUFFERSET(A_surfxml_process_function);
3307 /* rule 133 can match eol */
3309 #line 694 "surf/surfxml.l"
3310 ENTER(VALUE2); BUFFERSET(A_surfxml_process_function);
3313 /* rule 134 can match eol */
3315 #line 696 "surf/surfxml.l"
3316 ENTER(VALUE1); BUFFERSET(A_surfxml_process_start_time);
3319 /* rule 135 can match eol */
3321 #line 697 "surf/surfxml.l"
3322 ENTER(VALUE2); BUFFERSET(A_surfxml_process_start_time);
3325 /* rule 136 can match eol */
3327 #line 699 "surf/surfxml.l"
3328 ENTER(VALUE1); BUFFERSET(A_surfxml_process_kill_time);
3331 /* rule 137 can match eol */
3333 #line 700 "surf/surfxml.l"
3334 ENTER(VALUE2); BUFFERSET(A_surfxml_process_kill_time);
3338 #line 702 "surf/surfxml.l"
3340 if (!A_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
3341 if (!A_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
3342 LEAVE; STag_surfxml_process();pcdata = NULL; ENTER(S_surfxml_process);
3347 #line 707 "surf/surfxml.l"
3349 if (!A_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
3350 if (!A_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
3351 LEAVE; STag_surfxml_process(); pcdata = NULL; ETag_surfxml_process();
3353 case S_surfxml_platform_description_2: case S_surfxml_platform_description_1: case S_surfxml_platform_description: SET(S_surfxml_platform_description_2); break;
3354 case ROOT_surfxml_process: SET(EPILOG); break;
3355 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
3361 #line 717 "surf/surfxml.l"
3362 FAIL("Unexpected character `%c' in attribute list of process element.", surf_parse_text[0]);
3366 #line 718 "surf/surfxml.l"
3367 FAIL("Bad attribute `%s' in `process' element start tag.",surf_parse_text);
3369 case YY_STATE_EOF(AL_surfxml_process):
3370 #line 719 "surf/surfxml.l"
3371 FAIL("EOF in attribute list of `process' element.");
3376 /* rule 142 can match eol */
3378 #line 723 "surf/surfxml.l"
3381 ETag_surfxml_process();
3383 case S_surfxml_platform_description_2: case S_surfxml_platform_description_1: case S_surfxml_platform_description: SET(S_surfxml_platform_description_2); break;
3384 case ROOT_surfxml_process: SET(EPILOG); break;
3385 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
3390 /* rule 143 can match eol */
3392 #line 732 "surf/surfxml.l"
3393 FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
3397 #line 733 "surf/surfxml.l"
3398 FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
3400 case YY_STATE_EOF(S_surfxml_process):
3401 case YY_STATE_EOF(E_surfxml_process):
3402 case YY_STATE_EOF(S_surfxml_process_2):
3403 #line 734 "surf/surfxml.l"
3404 FAIL("Premature EOF: `</process>' expected.");
3408 /* rule 145 can match eol */
3410 #line 737 "surf/surfxml.l"
3412 A_surfxml_argument_value = NULL;
3413 ENTER(AL_surfxml_argument);
3418 /* rule 146 can match eol */
3420 #line 743 "surf/surfxml.l"
3421 ENTER(VALUE1); BUFFERSET(A_surfxml_argument_value);
3424 /* rule 147 can match eol */
3426 #line 744 "surf/surfxml.l"
3427 ENTER(VALUE2); BUFFERSET(A_surfxml_argument_value);
3431 #line 746 "surf/surfxml.l"
3433 if (!A_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
3434 LEAVE; STag_surfxml_argument();pcdata = NULL; ENTER(E_surfxml_argument);
3439 #line 750 "surf/surfxml.l"
3441 if (!A_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
3442 LEAVE; STag_surfxml_argument(); pcdata = NULL; ETag_surfxml_argument();
3444 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
3445 case ROOT_surfxml_argument: SET(EPILOG); break;
3451 #line 758 "surf/surfxml.l"
3452 FAIL("Unexpected character `%c' in attribute list of argument element.", surf_parse_text[0]);
3456 #line 759 "surf/surfxml.l"
3457 FAIL("Bad attribute `%s' in `argument' element start tag.",surf_parse_text);
3459 case YY_STATE_EOF(AL_surfxml_argument):
3460 #line 760 "surf/surfxml.l"
3461 FAIL("EOF in attribute list of `argument' element.");
3466 /* rule 152 can match eol */
3468 #line 764 "surf/surfxml.l"
3471 ETag_surfxml_argument();
3473 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
3474 case ROOT_surfxml_argument: SET(EPILOG); break;
3479 /* rule 153 can match eol */
3481 #line 772 "surf/surfxml.l"
3482 FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
3486 #line 773 "surf/surfxml.l"
3487 FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
3489 case YY_STATE_EOF(E_surfxml_argument):
3490 #line 774 "surf/surfxml.l"
3491 FAIL("Premature EOF: `</argument>' expected.");
3494 /* EPILOG: after the root element. */
3498 #line 780 "surf/surfxml.l"
3499 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
3501 case YY_STATE_EOF(EPILOG):
3502 #line 781 "surf/surfxml.l"
3506 /* CHARACTER DATA. */
3508 /* Non-defined standard entities... */
3511 #line 788 "surf/surfxml.l"
3516 #line 789 "surf/surfxml.l"
3521 #line 790 "surf/surfxml.l"
3526 #line 791 "surf/surfxml.l"
3531 #line 792 "surf/surfxml.l"
3534 /* Character entities. */
3537 #line 795 "surf/surfxml.l"
3538 BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
3542 #line 796 "surf/surfxml.l"
3543 BUFFERPUTC((unsigned char)strtol(surf_parse_text+3,NULL,16));
3548 /* rule 163 can match eol */
3549 #line 801 "surf/surfxml.l"
3551 /* rule 164 can match eol */
3552 #line 802 "surf/surfxml.l"
3554 /* rule 165 can match eol */
3555 #line 803 "surf/surfxml.l"
3557 /* rule 166 can match eol */
3559 #line 803 "surf/surfxml.l"
3566 #line 807 "surf/surfxml.l"
3571 #line 808 "surf/surfxml.l"
3572 FAIL("Unexpected `]""]>' in character data.");
3578 #line 812 "surf/surfxml.l"
3581 case YY_STATE_EOF(VALUE1):
3582 #line 813 "surf/surfxml.l"
3583 FAIL("EOF in literal (\"'\" expected).");
3589 #line 817 "surf/surfxml.l"
3592 case YY_STATE_EOF(VALUE2):
3593 #line 818 "surf/surfxml.l"
3594 FAIL("EOF in literal (`\"' expected).");
3599 /* rule 171 can match eol */
3601 #line 822 "surf/surfxml.l"
3602 BUFFERPUTC(surf_parse_text[0]);
3606 #line 823 "surf/surfxml.l"
3607 FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
3613 #line 827 "surf/surfxml.l"
3616 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
3619 #line 829 "surf/surfxml.l"
3620 BUFFERPUTC(surf_parse_text[0]);
3622 case YY_STATE_EOF(CDATA):
3623 #line 830 "surf/surfxml.l"
3624 FAIL("EOF in CDATA section.");
3627 /* Impossible rules to avoid warnings from flex(1). */
3628 /* Ideally, this should be replaced by code in flexml.pl that
3629 generates just the states not covered by other rules. */
3632 /* rule 175 can match eol */
3634 #line 837 "surf/surfxml.l"
3635 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
3640 #line 840 "surf/surfxml.l"
3643 #line 3644 "surf/surfxml.c"
3644 case YY_STATE_EOF(INITIAL):
3645 case YY_STATE_EOF(ROOT_surfxml_platform_description):
3646 case YY_STATE_EOF(S_surfxml_platform_description_1):
3647 case YY_STATE_EOF(ROOT_surfxml_include):
3648 case YY_STATE_EOF(S_surfxml_include_1):
3649 case YY_STATE_EOF(ROOT_surfxml_cpu):
3650 case YY_STATE_EOF(ROOT_surfxml_network_link):
3651 case YY_STATE_EOF(ROOT_surfxml_route):
3652 case YY_STATE_EOF(S_surfxml_route_1):
3653 case YY_STATE_EOF(ROOT_surfxml_route_element):
3654 case YY_STATE_EOF(ROOT_surfxml_process):
3655 case YY_STATE_EOF(S_surfxml_process_1):
3656 case YY_STATE_EOF(ROOT_surfxml_argument):
3657 case YY_STATE_EOF(IMPOSSIBLE):
3660 case YY_END_OF_BUFFER:
3662 /* Amount of text matched not including the EOB char. */
3663 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
3665 /* Undo the effects of YY_DO_BEFORE_ACTION. */
3666 *yy_cp = (yy_hold_char);
3667 YY_RESTORE_YY_MORE_OFFSET
3669 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
3671 /* We're scanning a new file or input source. It's
3672 * possible that this happened because the user
3673 * just pointed surf_parse_in at a new source and called
3674 * surf_parse_lex(). If so, then we have to assure
3675 * consistency between YY_CURRENT_BUFFER and our
3676 * globals. Here is the right place to do so, because
3677 * this is the first action (other than possibly a
3678 * back-up) that will match for the new input source.
3680 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3681 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
3682 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
3685 /* Note that here we test for yy_c_buf_p "<=" to the position
3686 * of the first EOB in the buffer, since yy_c_buf_p will
3687 * already have been incremented past the NUL character
3688 * (since all states make transitions on EOB to the
3689 * end-of-buffer state). Contrast this with the test
3692 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3693 { /* This was really a NUL. */
3694 yy_state_type yy_next_state;
3696 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
3698 yy_current_state = yy_get_previous_state( );
3700 /* Okay, we're now positioned to make the NUL
3701 * transition. We couldn't have
3702 * yy_get_previous_state() go ahead and do it
3703 * for us because it doesn't know how to deal
3704 * with the possibility of jamming (and we don't
3705 * want to build jamming into it because then it
3706 * will run more slowly).
3709 yy_next_state = yy_try_NUL_trans( yy_current_state );
3711 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3713 if ( yy_next_state )
3715 /* Consume the NUL. */
3716 yy_cp = ++(yy_c_buf_p);
3717 yy_current_state = yy_next_state;
3723 yy_cp = (yy_c_buf_p);
3724 goto yy_find_action;
3728 else switch ( yy_get_next_buffer( ) )
3730 case EOB_ACT_END_OF_FILE:
3732 (yy_did_buffer_switch_on_eof) = 0;
3734 if ( surf_parse_wrap( ) )
3736 /* Note: because we've taken care in
3737 * yy_get_next_buffer() to have set up
3738 * surf_parse_text, we can now set up
3739 * yy_c_buf_p so that if some total
3740 * hoser (like flex itself) wants to
3741 * call the scanner after we return the
3742 * YY_NULL, it'll still work - another
3743 * YY_NULL will get returned.
3745 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
3747 yy_act = YY_STATE_EOF(YY_START);
3753 if ( ! (yy_did_buffer_switch_on_eof) )
3759 case EOB_ACT_CONTINUE_SCAN:
3761 (yytext_ptr) + yy_amount_of_matched_text;
3763 yy_current_state = yy_get_previous_state( );
3765 yy_cp = (yy_c_buf_p);
3766 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3769 case EOB_ACT_LAST_MATCH:
3771 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
3773 yy_current_state = yy_get_previous_state( );
3775 yy_cp = (yy_c_buf_p);
3776 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3777 goto yy_find_action;
3784 "fatal flex scanner internal error--no action found" );
3785 } /* end of action switch */
3786 } /* end of scanning one token */
3787 } /* end of surf_parse_lex */
3789 /* yy_get_next_buffer - try to read in a new buffer
3791 * Returns a code representing an action:
3792 * EOB_ACT_LAST_MATCH -
3793 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3794 * EOB_ACT_END_OF_FILE - end of file
3796 static int yy_get_next_buffer (void)
3798 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
3799 register char *source = (yytext_ptr);
3800 register int number_to_move, i;
3803 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
3805 "fatal flex scanner internal error--end of buffer missed" );
3807 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
3808 { /* Don't try to fill the buffer, so this is an EOF. */
3809 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
3811 /* We matched a single character, the EOB, so
3812 * treat this as a final EOF.
3814 return EOB_ACT_END_OF_FILE;
3819 /* We matched some text prior to the EOB, first
3822 return EOB_ACT_LAST_MATCH;
3826 /* Try to read more data. */
3828 /* First move last chars to start of buffer. */
3829 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
3831 for ( i = 0; i < number_to_move; ++i )
3832 *(dest++) = *(source++);
3834 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
3835 /* don't do the read, it's not guaranteed to return an EOF,
3838 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
3843 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
3845 while ( num_to_read <= 0 )
3846 { /* Not enough room in the buffer - grow it. */
3848 /* just a shorter name for the current buffer */
3849 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
3851 int yy_c_buf_p_offset =
3852 (int) ((yy_c_buf_p) - b->yy_ch_buf);
3854 if ( b->yy_is_our_buffer )
3856 int new_size = b->yy_buf_size * 2;
3858 if ( new_size <= 0 )
3859 b->yy_buf_size += b->yy_buf_size / 8;
3861 b->yy_buf_size *= 2;
3863 b->yy_ch_buf = (char *)
3864 /* Include room in for 2 EOB chars. */
3865 surf_parse_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
3868 /* Can't grow it, we don't own it. */
3871 if ( ! b->yy_ch_buf )
3873 "fatal error - scanner input buffer overflow" );
3875 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
3877 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
3882 if ( num_to_read > YY_READ_BUF_SIZE )
3883 num_to_read = YY_READ_BUF_SIZE;
3885 /* Read in more data. */
3886 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
3887 (yy_n_chars), num_to_read );
3889 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3892 if ( (yy_n_chars) == 0 )
3894 if ( number_to_move == YY_MORE_ADJ )
3896 ret_val = EOB_ACT_END_OF_FILE;
3897 surf_parse_restart(surf_parse_in );
3902 ret_val = EOB_ACT_LAST_MATCH;
3903 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
3904 YY_BUFFER_EOF_PENDING;
3909 ret_val = EOB_ACT_CONTINUE_SCAN;
3911 (yy_n_chars) += number_to_move;
3912 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
3913 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
3915 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
3920 /* yy_get_previous_state - get the state just before the EOB char was reached */
3922 static yy_state_type yy_get_previous_state (void)
3924 register yy_state_type yy_current_state;
3925 register char *yy_cp;
3927 yy_current_state = (yy_start);
3929 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
3931 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3932 if ( yy_accept[yy_current_state] )
3934 (yy_last_accepting_state) = yy_current_state;
3935 (yy_last_accepting_cpos) = yy_cp;
3937 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3939 yy_current_state = (int) yy_def[yy_current_state];
3940 if ( yy_current_state >= 1333 )
3941 yy_c = yy_meta[(unsigned int) yy_c];
3943 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3946 return yy_current_state;
3949 /* yy_try_NUL_trans - try to make a transition on the NUL character
3952 * next_state = yy_try_NUL_trans( current_state );
3954 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
3956 register int yy_is_jam;
3957 register char *yy_cp = (yy_c_buf_p);
3959 register YY_CHAR yy_c = 1;
3960 if ( yy_accept[yy_current_state] )
3962 (yy_last_accepting_state) = yy_current_state;
3963 (yy_last_accepting_cpos) = yy_cp;
3965 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3967 yy_current_state = (int) yy_def[yy_current_state];
3968 if ( yy_current_state >= 1333 )
3969 yy_c = yy_meta[(unsigned int) yy_c];
3971 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3972 yy_is_jam = (yy_current_state == 1332);
3974 return yy_is_jam ? 0 : yy_current_state;
3979 static int yyinput (void)
3981 static int input (void)
3987 *(yy_c_buf_p) = (yy_hold_char);
3989 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
3991 /* yy_c_buf_p now points to the character we want to return.
3992 * If this occurs *before* the EOB characters, then it's a
3993 * valid NUL; if not, then we've hit the end of the buffer.