1 #line 2 "surf/surfxml.c"
3 #line 4 "surf/surfxml.c"
5 #define YY_INT_ALIGNED short int
7 /* A lexical scanner generated by flex */
10 #define YY_FLEX_MAJOR_VERSION 2
11 #define YY_FLEX_MINOR_VERSION 5
12 #define YY_FLEX_SUBMINOR_VERSION 31
13 #if YY_FLEX_SUBMINOR_VERSION > 0
17 /* First, we deal with platform-specific or compiler-specific issues. */
19 /* begin standard C headers. */
25 /* end standard C headers. */
27 /* flex integer type definitions */
32 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
34 #if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
36 typedef int8_t flex_int8_t;
37 typedef uint8_t flex_uint8_t;
38 typedef int16_t flex_int16_t;
39 typedef uint16_t flex_uint16_t;
40 typedef int32_t flex_int32_t;
41 typedef uint32_t flex_uint32_t;
43 typedef signed char flex_int8_t;
44 typedef short int flex_int16_t;
45 typedef int flex_int32_t;
46 typedef unsigned char flex_uint8_t;
47 typedef unsigned short int flex_uint16_t;
48 typedef unsigned int flex_uint32_t;
51 /* Limits of integral types. */
53 #define INT8_MIN (-128)
56 #define INT16_MIN (-32767-1)
59 #define INT32_MIN (-2147483647-1)
62 #define INT8_MAX (127)
65 #define INT16_MAX (32767)
68 #define INT32_MAX (2147483647)
71 #define UINT8_MAX (255U)
74 #define UINT16_MAX (65535U)
77 #define UINT32_MAX (4294967295U)
80 #endif /* ! FLEXINT_H */
84 /* The "const" storage-class-modifier is valid. */
87 #else /* ! __cplusplus */
94 #endif /* ! __cplusplus */
102 /* Returned upon end-of-file. */
105 /* Promotes a possibly negative, possibly signed char to an unsigned
106 * integer for use as an array index. If the signed char is negative,
107 * we want to instead treat it as an 8-bit unsigned char, hence the
110 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
112 /* Enter a start condition. This macro really ought to take a parameter,
113 * but we do it the disgusting crufty way forced on us by the ()-less
114 * definition of BEGIN.
116 #define BEGIN (yy_start) = 1 + 2 *
118 /* Translate the current start state into a value that can be later handed
119 * to BEGIN to return to the state. The YYSTATE alias is for lex
122 #define YY_START (((yy_start) - 1) / 2)
123 #define YYSTATE YY_START
125 /* Action number for EOF rule of a given start state. */
126 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
128 /* Special action meaning "start processing a new file". */
129 #define YY_NEW_FILE surf_parse_restart(surf_parse_in )
131 #define YY_END_OF_BUFFER_CHAR 0
133 /* Size of default input buffer. */
135 #define YY_BUF_SIZE 16384
138 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
139 #define YY_TYPEDEF_YY_BUFFER_STATE
140 typedef struct yy_buffer_state *YY_BUFFER_STATE;
143 extern int surf_parse_leng;
145 extern FILE *surf_parse_in, *surf_parse_out;
147 #define EOB_ACT_CONTINUE_SCAN 0
148 #define EOB_ACT_END_OF_FILE 1
149 #define EOB_ACT_LAST_MATCH 2
151 /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
152 * access to the local variable yy_act. Since yyless() is a macro, it would break
153 * existing scanners that call yyless() from OUTSIDE surf_parse_lex.
154 * One obvious solution it to make yy_act a global. I tried that, and saw
155 * a 5% performance hit in a non-surf_parse_lineno scanner, because yy_act is
156 * normally declared as a register variable-- so it is not worth it.
158 #define YY_LESS_LINENO(n) \
161 for ( yyl = n; yyl < surf_parse_leng; ++yyl )\
162 if ( surf_parse_text[yyl] == '\n' )\
163 --surf_parse_lineno;\
166 /* Return all but the first "n" matched characters back to the input stream. */
170 /* Undo effects of setting up surf_parse_text. */ \
171 int yyless_macro_arg = (n); \
172 YY_LESS_LINENO(yyless_macro_arg);\
173 *yy_cp = (yy_hold_char); \
174 YY_RESTORE_YY_MORE_OFFSET \
175 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
176 YY_DO_BEFORE_ACTION; /* set up surf_parse_text again */ \
180 #define unput(c) yyunput( c, (yytext_ptr) )
182 /* The following is because we cannot portably get our hands on size_t
183 * (without autoconf's help, which isn't available because we want
184 * flex-generated scanners to compile on their own).
187 #ifndef YY_TYPEDEF_YY_SIZE_T
188 #define YY_TYPEDEF_YY_SIZE_T
189 typedef unsigned int yy_size_t;
192 #ifndef YY_STRUCT_YY_BUFFER_STATE
193 #define YY_STRUCT_YY_BUFFER_STATE
194 struct yy_buffer_state
198 char *yy_ch_buf; /* input buffer */
199 char *yy_buf_pos; /* current position in input buffer */
201 /* Size of input buffer in bytes, not including room for EOB
204 yy_size_t yy_buf_size;
206 /* Number of characters read into yy_ch_buf, not including EOB
211 /* Whether we "own" the buffer - i.e., we know we created it,
212 * and can realloc() it to grow it, and should free() it to
215 int yy_is_our_buffer;
217 /* Whether this is an "interactive" input source; if so, and
218 * if we're using stdio for input, then we want to use getc()
219 * instead of fread(), to make sure we stop fetching input after
222 int yy_is_interactive;
224 /* Whether we're considered to be at the beginning of a line.
225 * If so, '^' rules will be active on the next match, otherwise
230 int yy_bs_lineno; /**< The line count. */
231 int yy_bs_column; /**< The column count. */
233 /* Whether to try to fill the input buffer when we reach the
238 int yy_buffer_status;
240 #define YY_BUFFER_NEW 0
241 #define YY_BUFFER_NORMAL 1
242 /* When an EOF's been seen but there's still some text to process
243 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
244 * shouldn't try reading from the input source any more. We might
245 * still have a bunch of tokens to match, though, because of
246 * possible backing-up.
248 * When we actually see the EOF, we change the status to "new"
249 * (via surf_parse_restart()), so that the user can continue scanning by
250 * just pointing surf_parse_in at a new input file.
252 #define YY_BUFFER_EOF_PENDING 2
255 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
257 /* Stack of input buffers. */
258 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
259 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
260 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
262 /* We provide macros for accessing buffer states in case in the
263 * future we want to put the buffer states in a more general
266 * Returns the top of the stack, or NULL.
268 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
269 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
272 /* Same as previous macro, but useful when we know that the buffer stack is not
273 * NULL or when we need an lvalue. For internal use only.
275 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
277 /* yy_hold_char holds the character lost when surf_parse_text is formed. */
278 static char yy_hold_char;
279 static int yy_n_chars; /* number of characters read into yy_ch_buf */
282 /* Points to current character in buffer. */
283 static char *yy_c_buf_p = (char *) 0;
284 static int yy_init = 1; /* whether we need to initialize */
285 static int yy_start = 0; /* start state number */
287 /* Flag which is used to allow surf_parse_wrap()'s to do buffer switches
288 * instead of setting up a fresh surf_parse_in. A bit of a hack ...
290 static int yy_did_buffer_switch_on_eof;
292 void surf_parse_restart (FILE *input_file );
293 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer );
294 YY_BUFFER_STATE surf_parse__create_buffer (FILE *file,int size );
295 void surf_parse__delete_buffer (YY_BUFFER_STATE b );
296 void surf_parse__flush_buffer (YY_BUFFER_STATE b );
297 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer );
298 void surf_parse_pop_buffer_state (void );
300 static void surf_parse_ensure_buffer_stack (void );
301 static void surf_parse__load_buffer_state (void );
302 static void surf_parse__init_buffer (YY_BUFFER_STATE b,FILE *file );
304 #define YY_FLUSH_BUFFER surf_parse__flush_buffer(YY_CURRENT_BUFFER )
306 YY_BUFFER_STATE surf_parse__scan_buffer (char *base,yy_size_t size );
307 YY_BUFFER_STATE surf_parse__scan_string (yyconst char *yy_str );
308 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char *bytes,int len );
310 void *surf_parse_alloc (yy_size_t );
311 void *surf_parse_realloc (void *,yy_size_t );
312 void surf_parse_free (void * );
314 #define yy_new_buffer surf_parse__create_buffer
316 #define yy_set_interactive(is_interactive) \
318 if ( ! YY_CURRENT_BUFFER ){ \
319 surf_parse_ensure_buffer_stack (); \
320 YY_CURRENT_BUFFER_LVALUE = \
321 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
323 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
326 #define yy_set_bol(at_bol) \
328 if ( ! YY_CURRENT_BUFFER ){\
329 surf_parse_ensure_buffer_stack (); \
330 YY_CURRENT_BUFFER_LVALUE = \
331 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
333 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
336 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
338 /* Begin user sect3 */
340 #define surf_parse_wrap(n) 1
341 #define YY_SKIP_YYWRAP
343 typedef unsigned char YY_CHAR;
345 FILE *surf_parse_in = (FILE *) 0, *surf_parse_out = (FILE *) 0;
347 typedef int yy_state_type;
349 extern int surf_parse_lineno;
351 int surf_parse_lineno = 1;
353 extern char *surf_parse_text;
354 #define yytext_ptr surf_parse_text
356 static yy_state_type yy_get_previous_state (void );
357 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
358 static int yy_get_next_buffer (void );
359 static void yy_fatal_error (yyconst char msg[] );
361 /* Done after the current pattern has been matched and before the
362 * corresponding action - sets up surf_parse_text.
364 #define YY_DO_BEFORE_ACTION \
365 (yytext_ptr) = yy_bp; \
366 surf_parse_leng = (size_t) (yy_cp - yy_bp); \
367 (yy_hold_char) = *yy_cp; \
369 (yy_c_buf_p) = yy_cp;
371 #define YY_NUM_RULES 176
372 #define YY_END_OF_BUFFER 177
373 /* This struct is not used in this scanner,
374 but its presence is necessary. */
377 flex_int32_t yy_verify;
380 static yyconst flex_int16_t yy_accept[1333] =
382 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
383 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
384 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
385 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
386 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
387 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
388 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
389 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
390 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
391 0, 0, 177, 175, 22, 10, 10, 22, 22, 155,
393 10, 155, 5, 6, 5, 8, 9, 8, 171, 163,
394 164, 172, 169, 172, 170, 174, 163, 164, 174, 175,
395 26, 10, 26, 26, 26, 24, 30, 10, 30, 175,
396 30, 175, 36, 10, 36, 36, 36, 34, 36, 40,
397 10, 40, 40, 175, 66, 10, 66, 66, 66, 64,
398 66, 66, 66, 66, 66, 66, 70, 10, 70, 175,
399 94, 10, 94, 94, 94, 92, 94, 94, 94, 94,
400 98, 10, 98, 175, 114, 10, 114, 114, 114, 112,
401 114, 114, 114, 118, 10, 118, 175, 118, 124, 10,
402 124, 124, 124, 122, 124, 128, 10, 128, 175, 140,
404 10, 140, 140, 140, 138, 140, 140, 140, 140, 144,
405 10, 144, 175, 144, 150, 10, 150, 150, 150, 148,
406 150, 154, 10, 154, 172, 171, 10, 0, 2, 2,
407 0, 4, 7, 166, 165, 0, 0, 0, 0, 0,
408 0, 0, 25, 27, 0, 0, 0, 0, 0, 0,
409 35, 37, 37, 0, 65, 67, 67, 67, 67, 67,
410 67, 67, 0, 93, 95, 95, 95, 95, 95, 95,
411 0, 113, 115, 115, 115, 115, 0, 0, 123, 125,
412 125, 0, 139, 141, 141, 141, 141, 141, 0, 0,
413 149, 151, 151, 0, 0, 0, 0, 0, 0, 0,
415 3, 0, 0, 0, 0, 0, 0, 0, 173, 0,
416 0, 0, 0, 0, 0, 0, 0, 37, 0, 0,
417 67, 67, 67, 67, 67, 67, 0, 0, 95, 95,
418 95, 95, 95, 0, 0, 115, 115, 115, 0, 0,
419 0, 125, 0, 0, 141, 141, 141, 141, 0, 0,
420 0, 151, 0, 0, 0, 168, 0, 21, 1, 0,
421 0, 161, 0, 0, 0, 158, 157, 0, 0, 0,
422 0, 29, 0, 41, 0, 0, 0, 0, 37, 0,
423 0, 39, 0, 67, 67, 67, 67, 67, 67, 0,
424 0, 69, 0, 95, 95, 95, 95, 95, 0, 0,
426 97, 0, 0, 0, 115, 0, 0, 0, 0, 117,
427 0, 0, 125, 0, 0, 127, 0, 141, 141, 141,
428 141, 0, 0, 143, 0, 0, 151, 0, 0, 153,
429 0, 0, 0, 0, 162, 156, 0, 0, 0, 0,
430 41, 0, 0, 0, 0, 0, 0, 0, 67, 67,
431 67, 0, 0, 67, 67, 0, 95, 95, 0, 0,
432 95, 95, 0, 0, 103, 102, 115, 0, 101, 100,
433 0, 0, 0, 0, 0, 141, 0, 0, 141, 141,
434 0, 0, 151, 0, 0, 0, 0, 0, 12, 0,
435 159, 160, 0, 0, 0, 0, 0, 99, 0, 33,
437 32, 0, 67, 67, 67, 0, 43, 42, 0, 0,
438 0, 0, 67, 0, 68, 95, 95, 0, 73, 72,
439 95, 0, 0, 95, 0, 115, 0, 0, 0, 121,
440 120, 0, 141, 0, 131, 130, 141, 141, 0, 0,
441 0, 0, 0, 0, 0, 0, 0, 11, 0, 0,
442 0, 0, 0, 99, 0, 67, 67, 67, 0, 45,
443 44, 0, 0, 0, 67, 95, 95, 95, 0, 0,
444 0, 95, 0, 115, 0, 0, 0, 141, 141, 141,
445 0, 0, 0, 147, 146, 0, 0, 0, 0, 0,
446 0, 0, 31, 0, 129, 0, 67, 67, 67, 0,
448 0, 67, 95, 0, 0, 95, 95, 0, 0, 95,
449 0, 115, 0, 116, 0, 0, 141, 141, 141, 0,
450 0, 0, 0, 0, 0, 0, 0, 0, 31, 0,
451 129, 0, 67, 67, 67, 0, 0, 0, 0, 67,
452 95, 0, 79, 78, 95, 95, 0, 0, 0, 0,
453 95, 0, 115, 0, 0, 0, 0, 141, 141, 0,
454 145, 0, 167, 0, 0, 0, 0, 0, 0, 0,
455 38, 67, 67, 67, 0, 51, 0, 50, 67, 0,
456 0, 95, 95, 95, 0, 83, 0, 82, 95, 0,
457 115, 0, 0, 0, 133, 132, 0, 0, 141, 0,
459 142, 145, 0, 0, 0, 0, 0, 0, 0, 0,
460 0, 0, 0, 0, 67, 67, 67, 53, 52, 0,
461 0, 0, 75, 74, 95, 95, 95, 85, 84, 0,
462 0, 0, 115, 115, 0, 0, 0, 137, 136, 0,
463 0, 0, 152, 0, 0, 0, 0, 0, 0, 0,
464 0, 0, 0, 0, 0, 67, 67, 67, 0, 55,
465 54, 95, 95, 95, 0, 87, 86, 0, 115, 115,
466 0, 0, 0, 135, 134, 0, 0, 0, 0, 0,
467 0, 0, 0, 0, 0, 0, 71, 0, 0, 67,
468 67, 67, 95, 0, 0, 95, 0, 115, 115, 0,
470 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
471 0, 0, 0, 71, 0, 47, 46, 67, 67, 67,
472 67, 95, 0, 81, 80, 95, 0, 0, 0, 115,
473 0, 0, 115, 119, 0, 0, 0, 0, 0, 0,
474 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,
475 67, 67, 67, 0, 0, 0, 0, 0, 96, 0,
476 107, 106, 115, 0, 105, 104, 115, 119, 0, 0,
477 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
478 0, 0, 0, 0, 67, 67, 67, 67, 0, 77,
479 76, 0, 0, 0, 115, 115, 0, 126, 0, 0,
481 0, 0, 0, 0, 0, 0, 0, 0, 12, 0,
482 12, 0, 0, 0, 67, 67, 67, 67, 0, 0,
483 0, 0, 115, 115, 0, 0, 0, 0, 0, 0,
484 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
485 0, 0, 0, 0, 67, 0, 0, 0, 0, 0,
486 0, 115, 115, 0, 0, 0, 0, 0, 0, 0,
487 0, 0, 0, 0, 0, 49, 48, 0, 59, 58,
488 0, 57, 56, 67, 0, 63, 62, 0, 0, 0,
489 0, 115, 115, 0, 0, 0, 0, 0, 0, 0,
490 0, 11, 0, 0, 67, 0, 0, 0, 0, 115,
492 115, 0, 0, 0, 0, 0, 0, 0, 0, 23,
493 0, 67, 0, 0, 0, 0, 115, 115, 0, 0,
494 0, 0, 0, 0, 0, 0, 0, 23, 0, 67,
495 0, 0, 0, 0, 115, 115, 0, 0, 0, 0,
496 0, 0, 0, 0, 0, 0, 28, 0, 0, 0,
497 89, 0, 88, 115, 115, 0, 0, 0, 0, 0,
498 0, 0, 0, 0, 0, 0, 61, 60, 91, 90,
499 115, 115, 0, 0, 0, 0, 0, 0, 0, 0,
500 0, 0, 115, 115, 0, 0, 0, 0, 0, 0,
501 0, 0, 0, 0, 0, 0, 115, 115, 0, 0,
503 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
504 0, 115, 115, 0, 0, 0, 0, 0, 0, 0,
505 0, 0, 0, 0, 0, 0, 115, 115, 0, 0,
506 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
507 0, 115, 115, 0, 0, 0, 0, 0, 0, 0,
508 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
509 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
510 0, 0, 0, 0, 0, 111, 110, 0, 109, 108,
511 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
512 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
514 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
515 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
516 0, 0, 0, 0, 0, 0, 0, 15, 0, 0,
517 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
518 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
519 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
520 0, 17, 0, 0, 0, 0, 0, 0, 0, 0,
521 0, 0, 0, 0, 0, 16, 0, 0, 0, 0,
522 0, 20, 0, 0, 0, 13, 0, 0, 0, 0,
523 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
525 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
526 19, 0, 0, 0, 0, 0, 0, 14, 0, 0,
527 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
531 static yyconst flex_int32_t yy_ec[256] =
533 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
534 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
535 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
536 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
537 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
538 13, 13, 13, 13, 13, 13, 13, 14, 15, 16,
539 17, 18, 19, 1, 20, 21, 22, 23, 24, 25,
540 14, 26, 27, 14, 14, 14, 28, 29, 30, 31,
541 14, 32, 33, 34, 14, 14, 14, 14, 35, 14,
542 36, 1, 37, 1, 38, 1, 39, 40, 41, 42,
544 43, 44, 45, 46, 47, 14, 48, 49, 50, 51,
545 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
546 62, 14, 1, 1, 1, 1, 1, 1, 1, 1,
547 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
548 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
549 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
550 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
551 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
552 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
553 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
555 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
556 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
557 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
558 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
559 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
563 static yyconst flex_int32_t yy_meta[63] =
565 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
566 3, 1, 4, 5, 1, 1, 1, 6, 1, 7,
567 7, 7, 7, 7, 7, 5, 5, 5, 5, 5,
568 5, 5, 5, 5, 5, 1, 1, 5, 7, 7,
569 7, 7, 7, 7, 5, 5, 5, 5, 5, 5,
570 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
574 static yyconst flex_int16_t yy_base[1389] =
576 0, 0, 0, 3, 6, 9, 24, 27, 11, 14,
577 15, 17, 29, 38, 45, 52, 59, 61, 67, 70,
578 98, 135, 73, 76, 116, 153, 157, 160, 163, 178,
579 181, 184, 200, 244, 218, 222, 225, 262, 266, 269,
580 273, 288, 291, 294, 310, 0, 371, 374, 377, 380,
581 396, 452, 414, 418, 421, 424, 508, 564, 470, 474,
582 477, 480, 526, 530, 533, 536, 582, 586, 620, 671,
583 589, 592, 638, 642, 722, 778, 645, 648, 689, 693,
584 696, 699, 740, 744, 747, 751, 834, 893, 796, 800,
585 817, 852, 3648, 3649, 3649, 91, 119, 47, 62, 3649,
587 122, 170, 3649, 3649, 3637, 3649, 3649, 3628, 3649, 3641,
588 3641, 820, 3649, 3649, 3649, 3649, 3639, 3639, 3604, 699,
589 3649, 125, 3622, 0, 172, 3649, 3649, 228, 872, 873,
590 430, 843, 3649, 297, 3621, 0, 173, 3649, 3591, 3649,
591 495, 926, 542, 787, 3649, 502, 3619, 0, 424, 3649,
592 3577, 3584, 3595, 3594, 3580, 3574, 3649, 554, 598, 756,
593 3649, 610, 3612, 0, 543, 3649, 3590, 3589, 3588, 393,
594 3649, 663, 650, 812, 3649, 717, 3608, 0, 599, 3649,
595 3569, 3574, 3568, 3649, 769, 861, 867, 757, 3649, 806,
596 3604, 0, 800, 3649, 3582, 3649, 879, 927, 902, 3649,
598 931, 3602, 0, 813, 3649, 3561, 3566, 3570, 3559, 3649,
599 938, 931, 932, 942, 3649, 954, 3597, 0, 856, 3649,
600 3575, 3649, 960, 963, 3608, 3575, 981, 34, 3550, 3649,
601 3600, 3591, 3649, 3649, 3649, 26, 32, 3551, 3550, 3548,
602 3587, 3555, 3649, 0, 3550, 3549, 3550, 3557, 3544, 3546,
603 3649, 0, 3548, 3549, 3649, 0, 3556, 3537, 3532, 3542,
604 3531, 3551, 3548, 3649, 0, 3537, 3530, 3536, 3546, 3545,
605 3532, 3649, 0, 3525, 3528, 3539, 3524, 3526, 3649, 0,
606 3527, 3521, 3649, 0, 3524, 3518, 3524, 3533, 3518, 3515,
607 3649, 0, 3520, 3529, 3531, 3548, 3547, 3554, 5, 3513,
609 3649, 75, 0, 3509, 3509, 3545, 3544, 3506, 3649, 3518,
610 984, 987, 3498, 3514, 3497, 3501, 3494, 3508, 990, 993,
611 3503, 3506, 3510, 3504, 3503, 3488, 996, 1013, 3502, 3500,
612 3499, 3486, 3483, 1016, 1019, 1022, 3500, 1025, 1043, 1046,
613 3480, 3494, 1049, 1052, 3495, 3478, 3485, 3478, 1055, 1072,
614 3487, 3473, 1075, 1078, 3508, 3649, 3511, 3649, 3649, 152,
615 3479, 3649, 3512, 3511, 3469, 3649, 3649, 3467, 3466, 1081,
616 1084, 3649, 1103, 1106, 3473, 3461, 3479, 3462, 1109, 1112,
617 1116, 3649, 1120, 3469, 3462, 3464, 1133, 3460, 3471, 1137,
618 1141, 3649, 1144, 3453, 3461, 1149, 3464, 3467, 1154, 1161,
620 3649, 1165, 1171, 1178, 3468, 1174, 1190, 1201, 1205, 3649,
621 1208, 3451, 1211, 1214, 1227, 3649, 1231, 3450, 1234, 3468,
622 3448, 1237, 1240, 3649, 1244, 3446, 3460, 1250, 1257, 3649,
623 1261, 3479, 115, 1267, 3649, 3649, 3486, 3485, 3455, 1270,
624 1274, 3440, 3445, 3453, 3452, 1278, 1288, 1296, 3455, 3449,
625 3434, 1299, 1306, 1315, 1318, 1321, 3444, 3449, 1326, 1338,
626 3438, 1334, 1346, 1351, 3649, 3649, 3431, 1359, 3649, 3649,
627 1367, 3444, 1371, 1374, 1387, 3439, 1390, 1393, 3428, 3446,
628 1407, 3433, 1410, 1413, 3462, 205, 3463, 1416, 3649, 3462,
629 3649, 3649, 3427, 1419, 3436, 3422, 3420, 1426, 1436, 3649,
631 3649, 1447, 3435, 3431, 3416, 1451, 3649, 3649, 1464, 1470,
632 1480, 1483, 3428, 1491, 3649, 3429, 3408, 1497, 3649, 3649,
633 3424, 1508, 1511, 3424, 1519, 3429, 1524, 3428, 1527, 3649,
634 3649, 1536, 3413, 1541, 3649, 3649, 3417, 3406, 1554, 3419,
635 1549, 1559, 1571, 3427, 66, 368, 150, 3649, 3405, 1574,
636 3416, 3410, 3401, 1578, 1581, 3409, 3400, 3409, 1584, 3649,
637 3649, 1592, 3423, 3422, 3404, 3393, 1600, 3411, 1603, 3418,
638 3417, 3399, 1611, 3393, 1616, 3401, 1629, 3392, 3392, 3394,
639 1633, 3389, 1637, 3649, 3649, 1650, 3419, 172, 217, 140,
640 3388, 1646, 1653, 3399, 1656, 1659, 3387, 3392, 3382, 214,
642 254, 3384, 3386, 1667, 1670, 3387, 3377, 277, 280, 3380,
643 1678, 3377, 1688, 3649, 3378, 1695, 1683, 3383, 3375, 1701,
644 3367, 1705, 3387, 1712, 181, 392, 3384, 1718, 1708, 3372,
645 1725, 1729, 3373, 3368, 3371, 3392, 3410, 3390, 3405, 3370,
646 1737, 1740, 3649, 3649, 3365, 3359, 3385, 3403, 3383, 3398,
647 3363, 1748, 3367, 3361, 1756, 1759, 1775, 1768, 3360, 1785,
648 1788, 1791, 3649, 1847, 266, 256, 3360, 1794, 3354, 1797,
649 3649, 3343, 3358, 3347, 3391, 3649, 3387, 3649, 1804, 1814,
650 1820, 3351, 3345, 3344, 3386, 3649, 3382, 3649, 1835, 1838,
651 918, 3340, 1841, 1851, 3649, 3649, 1859, 1864, 1875, 1878,
653 3649, 1831, 1887, 376, 469, 812, 224, 560, 423, 448,
654 433, 3346, 1904, 3337, 3325, 3343, 3340, 3649, 3649, 1907,
655 1910, 1923, 3649, 3649, 3337, 3340, 3335, 3649, 3649, 1931,
656 1934, 1947, 3325, 3325, 3336, 1950, 1953, 3649, 3649, 1967,
657 1970, 1978, 3649, 542, 73, 676, 484, 667, 545, 473,
658 867, 897, 3322, 1983, 3329, 1986, 3338, 3337, 1989, 3649,
659 3649, 3325, 2002, 3332, 2005, 3649, 3649, 2013, 3315, 3330,
660 3319, 2018, 2026, 3649, 3649, 541, 2035, 696, 650, 756,
661 695, 947, 589, 2038, 3328, 2041, 2044, 2048, 2064, 3226,
662 231, 3214, 3216, 2072, 2075, 3194, 2083, 2088, 2091, 3196,
664 2096, 899, 2100, 601, 759, 962, 926, 935, 2107, 2117,
665 2134, 3195, 2142, 2113, 2147, 3649, 3649, 3200, 3201, 3198,
666 3199, 2155, 2159, 3649, 3649, 2167, 2171, 2174, 2184, 3175,
667 2177, 2193, 3168, 2201, 2204, 958, 625, 846, 598, 805,
668 954, 2207, 2210, 2214, 2231, 2261, 2298, 3176, 2239, 3169,
669 3172, 3157, 3146, 2227, 2244, 2279, 2282, 2256, 3649, 2316,
670 3649, 3649, 3151, 2324, 3649, 3649, 3146, 2252, 2334, 989,
671 1099, 995, 985, 746, 1012, 2337, 1017, 2340, 1083, 41,
672 2370, 2407, 2981, 2399, 2990, 2973, 2989, 2987, 2357, 3649,
673 3649, 2388, 413, 518, 2972, 2970, 2365, 3649, 1014, 180,
675 2427, 1025, 991, 2430, 1136, 1051, 1085, 370, 3019, 1177,
676 3015, 2433, 2966, 2436, 2453, 2456, 2459, 2462, 3002, 2990,
677 2989, 2981, 2959, 2958, 2465, 367, 2478, 1076, 1054, 2482,
678 1152, 1182, 2996, 2784, 2792, 2488, 2741, 2491, 2499, 2515,
679 2510, 2526, 2534, 2537, 2688, 2550, 2553, 2691, 2661, 2489,
680 2433, 2404, 2390, 2561, 1239, 1171, 811, 1179, 1269, 1348,
681 1047, 2366, 2304, 2566, 2569, 3649, 3649, 2579, 3649, 3649,
682 2587, 3649, 3649, 2308, 2595, 3649, 3649, 2298, 2261, 2184,
683 2132, 2055, 2019, 1349, 2603, 1293, 1077, 1315, 1313, 476,
684 1316, 3649, 2012, 2606, 2017, 1986, 1921, 1890, 1879, 1812,
686 1696, 1368, 2613, 1369, 1142, 1380, 1428, 1265, 1382, 2396,
687 2623, 1689, 1591, 1588, 1569, 1512, 1333, 1259, 1443, 1408,
688 1414, 1232, 2626, 1183, 1289, 2630, 1386, 2633, 2636, 2643,
689 1260, 1214, 1125, 1122, 1086, 969, 1417, 1438, 1440, 1460,
690 2647, 1486, 1462, 2653, 2664, 2673, 3649, 2681, 2684, 881,
691 3649, 870, 3649, 821, 710, 1490, 1514, 1573, 2692, 1434,
692 1180, 2697, 1552, 1609, 2700, 2703, 3649, 3649, 3649, 3649,
693 719, 678, 2717, 1516, 1598, 2720, 1531, 1506, 2728, 1660,
694 1676, 1484, 655, 498, 2738, 1627, 1706, 1699, 1717, 1473,
695 1390, 1727, 1746, 1764, 1792, 1592, 464, 401, 1802, 1818,
697 1498, 1719, 1707, 1846, 1606, 1334, 1857, 1865, 1786, 1828,
698 1793, 344, 351, 1881, 1883, 1626, 1879, 1875, 1903, 1867,
699 1762, 1942, 1957, 1810, 1900, 1959, 88, 53, 2005, 2007,
700 652, 948, 2036, 2039, 2746, 1913, 2078, 2088, 1949, 1960,
701 2054, 2749, 2755, 2095, 2110, 1902, 1924, 2051, 2105, 2759,
702 2767, 2124, 2137, 1984, 2000, 2771, 2776, 2788, 2779, 2796,
703 2234, 2271, 2070, 2164, 2174, 2201, 2182, 2183, 2804, 2274,
704 2303, 2016, 2130, 2807, 2815, 3649, 3649, 2824, 3649, 3649,
705 2330, 2346, 2269, 2305, 2313, 2332, 2254, 2347, 2386, 2400,
706 2423, 2429, 2432, 2253, 2339, 2459, 2527, 1677, 1537, 2409,
708 2487, 2112, 2290, 2257, 2515, 2531, 2336, 2504, 2486, 2489,
709 2569, 2584, 2832, 2457, 2492, 2542, 2548, 1929, 2532, 2600,
710 2655, 2671, 2470, 2559, 2674, 2718, 2836, 3649, 2651, 2654,
711 2582, 2602, 2646, 2660, 2710, 1807, 2469, 2635, 2768, 2727,
712 2758, 2802, 2805, 2737, 2796, 2208, 2811, 2813, 2839, 2814,
713 2827, 2830, 2831, 2605, 2594, 2833, 2834, 2856, 2721, 2643,
714 2859, 3649, 2846, 2847, 2850, 2786, 2867, 2868, 2869, 2889,
715 2897, 2860, 2863, 2900, 2917, 3649, 2848, 2866, 2502, 2849,
716 2920, 3649, 2895, 2899, 2923, 3649, 2871, 2876, 2696, 2858,
717 2911, 2912, 2913, 2914, 2893, 2896, 2916, 2918, 2931, 2934,
719 2921, 2922, 2926, 2927, 2956, 2924, 2928, 2944, 2952, 2974,
720 3649, 2929, 2945, 2978, 2939, 2949, 2997, 3649, 2953, 2972,
721 2966, 2968, 2954, 2969, 2975, 2976, 2985, 2988, 3010, 3017,
722 3649, 3649, 3035, 3042, 3049, 3056, 3063, 3070, 3077, 3084,
723 3091, 3098, 3105, 3112, 3119, 3126, 3133, 3140, 3147, 3154,
724 3161, 3168, 3175, 3182, 3187, 3192, 3197, 3202, 3207, 3212,
725 3217, 3222, 3229, 3232, 3235, 3238, 3241, 3244, 3247, 3250,
726 3253, 3260, 3264, 3270, 3276, 3282, 3288, 3294, 3300, 3306,
727 3312, 3319, 3326, 3333, 3340, 3347, 3354, 3361
730 static yyconst flex_int16_t yy_def[1389] =
732 1333, 1333, 1334, 1334, 1334, 1334, 1335, 1335, 1336, 1336,
733 1337, 1337, 1338, 1338, 1338, 1338, 1339, 1339, 1333, 1333,
734 1340, 1340, 1341, 1341, 1333, 1333, 1341, 1341, 1341, 1341,
735 1333, 1333, 1342, 1342, 1343, 1343, 1333, 1333, 1343, 1343,
736 1343, 1343, 1333, 1333, 1332, 45, 1344, 1344, 1333, 1333,
737 1345, 1345, 1346, 1346, 1333, 1333, 1347, 1347, 1348, 1348,
738 1333, 1333, 1348, 1348, 1348, 1348, 1333, 1333, 1349, 1349,
739 1350, 1350, 1333, 1333, 1351, 1351, 1352, 1352, 1333, 1333,
740 1352, 1352, 1352, 1352, 1333, 1333, 1353, 1353, 1354, 1354,
741 1338, 1338, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
743 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
744 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
745 1332, 1332, 1332, 1355, 1332, 1332, 1332, 1332, 1332, 1332,
746 1332, 1332, 1332, 1332, 1332, 1356, 1332, 1332, 1356, 1332,
747 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1357, 1332, 1332,
748 1357, 1357, 1357, 1357, 1357, 1357, 1332, 1332, 1332, 1332,
749 1332, 1332, 1332, 1358, 1332, 1332, 1358, 1358, 1358, 1358,
750 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1359, 1332, 1332,
751 1359, 1359, 1359, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
752 1332, 1360, 1332, 1332, 1360, 1332, 1332, 1332, 1332, 1332,
754 1332, 1332, 1361, 1332, 1332, 1361, 1361, 1361, 1361, 1332,
755 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1362, 1332, 1332,
756 1362, 1332, 1332, 1332, 1332, 1332, 1332, 1363, 1332, 1332,
757 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
758 1332, 1332, 1332, 1355, 1364, 1332, 1332, 1332, 1332, 1332,
759 1332, 1356, 1356, 1365, 1332, 1357, 1357, 1357, 1357, 1357,
760 1357, 1357, 1366, 1332, 1358, 1358, 1358, 1358, 1358, 1358,
761 1367, 1332, 1359, 1359, 1359, 1359, 1368, 1332, 1332, 1360,
762 1360, 1369, 1332, 1361, 1361, 1361, 1361, 1361, 1370, 1332,
763 1332, 1362, 1362, 1371, 1332, 1332, 1372, 1332, 1372, 1332,
765 1332, 1332, 1373, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
766 1374, 1374, 1332, 1332, 1332, 1332, 1332, 1356, 1375, 1375,
767 1357, 1357, 1357, 1357, 1357, 1357, 1376, 1376, 1358, 1358,
768 1358, 1358, 1358, 1377, 1377, 1359, 1359, 1359, 1378, 1378,
769 1332, 1360, 1379, 1379, 1361, 1361, 1361, 1361, 1380, 1380,
770 1332, 1362, 1381, 1381, 1332, 1332, 1372, 1332, 1332, 1372,
771 1332, 1332, 1373, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
772 1374, 1332, 1374, 1332, 1332, 1332, 1332, 1332, 1356, 1332,
773 1375, 1332, 1375, 1357, 1357, 1357, 1357, 1357, 1357, 1332,
774 1376, 1332, 1376, 1358, 1358, 1358, 1358, 1358, 1332, 1377,
776 1332, 1377, 1332, 1332, 1359, 1332, 1332, 1332, 1378, 1332,
777 1378, 1332, 1360, 1332, 1379, 1332, 1379, 1361, 1361, 1361,
778 1361, 1332, 1380, 1332, 1380, 1332, 1362, 1332, 1381, 1332,
779 1381, 1332, 1372, 1382, 1332, 1332, 1332, 1332, 1332, 1374,
780 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1375, 1357, 1357,
781 1357, 1332, 1332, 1357, 1357, 1376, 1358, 1358, 1332, 1332,
782 1358, 1358, 1377, 1332, 1332, 1332, 1359, 1332, 1332, 1332,
783 1378, 1332, 1332, 1332, 1379, 1361, 1332, 1332, 1361, 1361,
784 1380, 1332, 1362, 1381, 1332, 1372, 1382, 1382, 1332, 1382,
785 1332, 1332, 1332, 1374, 1332, 1332, 1332, 1332, 1332, 1332,
787 1332, 1375, 1357, 1357, 1357, 1332, 1332, 1332, 1332, 1332,
788 1332, 1332, 1357, 1332, 1332, 1358, 1358, 1332, 1332, 1332,
789 1358, 1332, 1332, 1358, 1377, 1359, 1378, 1332, 1332, 1332,
790 1332, 1379, 1361, 1332, 1332, 1332, 1361, 1361, 1380, 1332,
791 1332, 1332, 1381, 1332, 1372, 1382, 1382, 1332, 1332, 1374,
792 1332, 1332, 1332, 1332, 1375, 1357, 1357, 1357, 1332, 1332,
793 1332, 1332, 1332, 1332, 1357, 1358, 1358, 1358, 1332, 1332,
794 1332, 1358, 1377, 1359, 1378, 1332, 1379, 1361, 1361, 1361,
795 1380, 1332, 1332, 1332, 1332, 1381, 1332, 1372, 1382, 1382,
796 1332, 1374, 1332, 1332, 1332, 1375, 1357, 1357, 1357, 1332,
798 1332, 1357, 1358, 1332, 1332, 1358, 1358, 1332, 1332, 1358,
799 1377, 1359, 1332, 1332, 1332, 1379, 1361, 1361, 1361, 1380,
800 1332, 1381, 1332, 1372, 1382, 1382, 1332, 1374, 1332, 1332,
801 1332, 1375, 1357, 1357, 1357, 1332, 1332, 1332, 1332, 1357,
802 1358, 1332, 1332, 1332, 1358, 1358, 1332, 1332, 1332, 1332,
803 1358, 1377, 1359, 1332, 1379, 1332, 1332, 1361, 1361, 1380,
804 1332, 1381, 1332, 1372, 1382, 1382, 1332, 1374, 1332, 1332,
805 1332, 1357, 1357, 1357, 1332, 1332, 1332, 1332, 1357, 1332,
806 1332, 1358, 1358, 1358, 1332, 1332, 1332, 1332, 1358, 1377,
807 1359, 1332, 1379, 1332, 1332, 1332, 1332, 1332, 1361, 1332,
809 1332, 1332, 1381, 1372, 1372, 1372, 1372, 1372, 1372, 1382,
810 1382, 1332, 1374, 1332, 1357, 1357, 1357, 1332, 1332, 1332,
811 1332, 1332, 1332, 1332, 1358, 1358, 1358, 1332, 1332, 1332,
812 1332, 1377, 1359, 1359, 1332, 1379, 1332, 1332, 1332, 1332,
813 1332, 1332, 1332, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
814 1382, 1382, 1332, 1374, 1332, 1357, 1357, 1357, 1332, 1332,
815 1332, 1358, 1358, 1358, 1332, 1332, 1332, 1377, 1359, 1359,
816 1332, 1379, 1332, 1332, 1332, 1372, 1372, 1372, 1372, 1372,
817 1372, 1372, 1382, 1382, 1332, 1374, 1332, 1332, 1332, 1357,
818 1357, 1357, 1358, 1332, 1332, 1358, 1377, 1359, 1359, 1332,
820 1379, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1382, 1382,
821 1382, 1332, 1374, 1332, 1332, 1332, 1332, 1357, 1357, 1357,
822 1357, 1358, 1332, 1332, 1332, 1358, 1377, 1332, 1332, 1359,
823 1332, 1332, 1359, 1332, 1379, 1372, 1372, 1372, 1372, 1372,
824 1372, 1372, 1382, 1382, 1382, 1383, 1384, 1332, 1374, 1357,
825 1357, 1357, 1357, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
826 1332, 1332, 1359, 1332, 1332, 1332, 1359, 1332, 1379, 1372,
827 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1382, 1385, 1386,
828 1383, 1384, 1332, 1374, 1357, 1357, 1357, 1357, 1332, 1332,
829 1332, 1332, 1332, 1332, 1359, 1359, 1332, 1332, 1372, 1372,
831 1372, 1372, 1372, 1372, 1372, 1372, 1385, 1382, 1387, 1386,
832 1388, 1382, 1332, 1374, 1357, 1357, 1357, 1357, 1332, 1332,
833 1332, 1332, 1359, 1359, 1372, 1372, 1372, 1372, 1372, 1372,
834 1372, 1372, 1387, 1332, 1388, 1382, 1332, 1374, 1332, 1332,
835 1332, 1332, 1332, 1332, 1357, 1332, 1332, 1332, 1332, 1332,
836 1332, 1359, 1359, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
837 1372, 1332, 1332, 1374, 1332, 1332, 1332, 1332, 1332, 1332,
838 1332, 1332, 1332, 1357, 1332, 1332, 1332, 1332, 1332, 1332,
839 1332, 1359, 1359, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
840 1372, 1332, 1332, 1374, 1357, 1332, 1332, 1332, 1332, 1359,
842 1359, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1332,
843 1374, 1357, 1332, 1332, 1332, 1332, 1359, 1359, 1372, 1372,
844 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1332, 1374, 1357,
845 1332, 1332, 1332, 1332, 1359, 1359, 1372, 1372, 1372, 1372,
846 1372, 1372, 1372, 1372, 1372, 1332, 1332, 1332, 1332, 1332,
847 1332, 1332, 1332, 1359, 1359, 1372, 1372, 1372, 1372, 1372,
848 1372, 1372, 1372, 1372, 1372, 1332, 1332, 1332, 1332, 1332,
849 1359, 1359, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
850 1372, 1372, 1359, 1359, 1372, 1372, 1372, 1372, 1372, 1372,
851 1372, 1372, 1372, 1372, 1372, 1372, 1359, 1359, 1372, 1372,
853 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
854 1372, 1359, 1359, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
855 1372, 1372, 1372, 1372, 1372, 1372, 1359, 1359, 1372, 1372,
856 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
857 1372, 1359, 1359, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
858 1372, 1372, 1372, 1372, 1372, 1372, 1332, 1332, 1332, 1332,
859 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
860 1372, 1372, 1372, 1372, 1332, 1332, 1332, 1332, 1332, 1332,
861 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
862 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
864 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
865 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
866 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1332, 1372, 1372,
867 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
868 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
869 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
870 1372, 1332, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
871 1372, 1372, 1372, 1372, 1372, 1332, 1372, 1372, 1372, 1372,
872 1372, 1332, 1372, 1372, 1372, 1332, 1372, 1372, 1372, 1372,
873 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
875 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
876 1332, 1372, 1372, 1372, 1372, 1372, 1372, 1332, 1372, 1372,
877 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
878 1332, 0, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
879 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
880 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
881 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
882 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
883 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332
886 static yyconst flex_int16_t yy_nxt[3712] =
888 1332, 96, 97, 96, 96, 97, 96, 96, 97, 96,
889 96, 97, 96, 104, 1332, 98, 104, 107, 98, 107,
890 105, 99, 358, 105, 99, 101, 97, 101, 101, 97,
891 101, 110, 111, 108, 360, 108, 112, 113, 302, 102,
892 110, 111, 102, 298, 114, 112, 113, 110, 111, 908,
893 115, 228, 112, 114, 110, 111, 299, 115, 911, 112,
894 114, 117, 118, 117, 118, 229, 228, 114, 97, 97,
895 97, 97, 97, 97, 128, 97, 128, 128, 97, 128,
896 230, 304, 120, 358, 305, 120, 303, 302, 129, 362,
897 358, 129, 227, 227, 227, 119, 588, 119, 121, 122,
899 97, 122, 121, 121, 121, 121, 121, 121, 121, 123,
900 121, 1143, 121, 125, 121, 126, 121, 97, 97, 97,
901 227, 227, 227, 227, 227, 227, 227, 227, 227, 1142,
902 777, 130, 358, 121, 121, 121, 122, 97, 122, 121,
903 121, 121, 121, 121, 121, 121, 123, 121, 486, 121,
904 125, 121, 126, 121, 97, 97, 97, 489, 128, 97,
905 128, 128, 97, 128, 128, 97, 128, 489, 130, 358,
906 121, 121, 129, 433, 231, 129, 231, 231, 131, 128,
907 97, 128, 97, 97, 97, 97, 97, 97, 230, 358,
908 230, 230, 590, 131, 626, 624, 132, 358, 489, 132,
910 133, 134, 97, 134, 133, 133, 133, 133, 133, 133,
911 133, 135, 133, 926, 133, 137, 133, 138, 133, 141,
912 97, 141, 358, 141, 97, 141, 97, 97, 97, 227,
913 227, 227, 665, 142, 489, 133, 133, 142, 636, 545,
914 130, 358, 637, 139, 133, 134, 97, 134, 133, 133,
915 133, 133, 133, 133, 133, 135, 133, 625, 133, 137,
916 133, 138, 133, 97, 97, 97, 747, 141, 97, 141,
917 141, 97, 141, 489, 141, 97, 141, 130, 638, 133,
918 133, 142, 639, 489, 142, 819, 820, 139, 143, 141,
919 97, 141, 97, 97, 97, 97, 97, 97, 227, 227,
921 227, 647, 711, 143, 649, 648, 144, 710, 650, 144,
922 145, 146, 97, 146, 145, 145, 145, 145, 145, 145,
923 145, 147, 145, 148, 145, 149, 145, 150, 145, 148,
924 148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
925 148, 148, 148, 148, 148, 145, 145, 148, 151, 148,
926 148, 148, 148, 148, 148, 148, 152, 148, 148, 153,
927 154, 148, 155, 148, 148, 156, 148, 148, 148, 148,
928 148, 148, 158, 97, 158, 158, 97, 158, 97, 97,
929 97, 97, 97, 97, 358, 489, 159, 489, 490, 159,
930 955, 1128, 160, 358, 1127, 160, 161, 162, 97, 162,
932 161, 161, 161, 161, 161, 161, 161, 163, 161, 489,
933 161, 165, 161, 166, 161, 172, 97, 172, 589, 172,
934 97, 172, 97, 97, 97, 97, 97, 97, 231, 173,
935 744, 161, 161, 173, 231, 167, 174, 919, 269, 174,
936 358, 245, 230, 1113, 168, 920, 169, 666, 230, 270,
937 489, 170, 161, 162, 97, 162, 161, 161, 161, 161,
938 161, 161, 161, 163, 161, 489, 161, 165, 161, 166,
939 161, 185, 97, 185, 750, 185, 97, 185, 97, 97,
940 97, 97, 97, 97, 752, 186, 358, 161, 161, 186,
941 358, 167, 187, 358, 751, 187, 227, 227, 227, 1008,
943 168, 358, 169, 227, 227, 227, 1112, 170, 175, 176,
944 97, 176, 175, 175, 175, 175, 175, 175, 175, 177,
945 175, 745, 175, 179, 175, 180, 175, 185, 97, 185,
946 782, 185, 97, 185, 185, 97, 185, 185, 97, 185,
947 779, 186, 921, 175, 175, 186, 231, 231, 188, 181,
948 922, 188, 1098, 254, 182, 227, 227, 227, 358, 358,
949 230, 230, 358, 183, 175, 176, 97, 176, 175, 175,
950 175, 175, 175, 175, 175, 177, 175, 358, 175, 179,
951 175, 180, 175, 97, 97, 97, 776, 97, 97, 97,
952 197, 97, 197, 197, 97, 197, 781, 187, 802, 175,
954 175, 187, 231, 231, 198, 181, 489, 198, 748, 263,
955 182, 227, 227, 227, 749, 358, 230, 230, 358, 183,
956 189, 190, 97, 190, 189, 189, 189, 189, 189, 189,
957 189, 191, 189, 809, 189, 193, 189, 194, 189, 97,
958 97, 97, 358, 97, 97, 97, 211, 97, 211, 211,
959 97, 211, 873, 199, 231, 189, 189, 199, 838, 871,
960 212, 271, 1146, 212, 227, 227, 227, 358, 230, 358,
961 195, 189, 190, 97, 190, 189, 189, 189, 189, 189,
962 189, 189, 191, 189, 358, 189, 193, 189, 194, 189,
963 97, 97, 97, 358, 97, 97, 97, 211, 97, 211,
965 211, 97, 211, 231, 213, 780, 189, 189, 213, 805,
966 1097, 212, 358, 358, 212, 1084, 778, 230, 227, 227,
967 227, 195, 200, 201, 97, 201, 200, 200, 200, 200,
968 200, 200, 200, 202, 200, 807, 200, 204, 200, 205,
969 200, 211, 97, 211, 804, 211, 97, 211, 97, 97,
970 97, 242, 97, 97, 97, 214, 1083, 200, 200, 214,
971 231, 231, 213, 358, 1072, 206, 213, 207, 277, 208,
972 227, 227, 227, 358, 230, 230, 358, 209, 200, 201,
973 97, 201, 200, 200, 200, 200, 200, 200, 200, 202,
974 200, 231, 200, 204, 200, 205, 200, 223, 97, 223,
976 903, 223, 97, 223, 231, 230, 248, 227, 227, 227,
977 839, 224, 806, 200, 200, 224, 231, 231, 230, 110,
978 111, 206, 358, 207, 112, 208, 236, 246, 358, 358,
979 230, 230, 225, 209, 215, 216, 97, 216, 215, 215,
980 215, 215, 215, 215, 215, 217, 215, 231, 215, 219,
981 215, 220, 215, 226, 110, 111, 874, 987, 237, 112,
982 231, 230, 746, 358, 238, 231, 250, 225, 239, 215,
983 215, 231, 277, 240, 230, 1071, 231, 231, 1070, 230,
984 227, 227, 227, 245, 489, 230, 1069, 872, 226, 247,
985 230, 230, 221, 215, 216, 97, 216, 215, 215, 215,
987 215, 215, 215, 215, 217, 215, 231, 215, 219, 215,
988 220, 215, 246, 246, 489, 278, 358, 783, 247, 247,
989 230, 278, 248, 248, 249, 249, 250, 250, 215, 215,
990 231, 231, 227, 227, 227, 231, 231, 254, 282, 227,
991 227, 227, 289, 358, 230, 230, 231, 784, 836, 230,
992 230, 221, 358, 289, 249, 227, 227, 227, 1147, 733,
993 230, 227, 227, 227, 358, 358, 246, 231, 841, 290,
994 290, 358, 247, 734, 294, 358, 248, 842, 249, 358,
995 250, 230, 227, 227, 227, 370, 370, 370, 370, 370,
996 370, 380, 380, 380, 380, 380, 380, 390, 390, 390,
998 870, 372, 358, 808, 372, 840, 358, 382, 358, 875,
999 382, 1055, 358, 392, 390, 390, 390, 399, 399, 399,
1000 399, 399, 399, 403, 403, 403, 406, 406, 406, 358,
1001 392, 358, 902, 401, 358, 373, 401, 901, 404, 899,
1002 929, 407, 358, 383, 408, 408, 408, 408, 408, 408,
1003 414, 414, 414, 414, 414, 414, 422, 422, 422, 906,
1004 410, 402, 928, 410, 358, 393, 416, 904, 358, 416,
1005 925, 358, 424, 422, 422, 422, 428, 428, 428, 428,
1006 428, 428, 370, 370, 370, 370, 370, 370, 908, 424,
1007 908, 958, 430, 358, 358, 430, 991, 411, 372, 932,
1009 909, 372, 909, 417, 370, 370, 370, 441, 441, 441,
1010 446, 446, 446, 380, 380, 380, 358, 380, 380, 380,
1011 372, 380, 380, 380, 957, 447, 425, 1005, 1054, 382,
1012 1053, 900, 431, 382, 452, 452, 452, 382, 390, 390,
1013 390, 440, 390, 390, 390, 390, 390, 390, 1052, 453,
1014 459, 459, 459, 358, 392, 399, 399, 399, 392, 358,
1015 448, 392, 399, 399, 399, 460, 399, 399, 399, 358,
1016 931, 401, 403, 403, 403, 406, 406, 406, 401, 464,
1017 464, 464, 401, 465, 960, 908, 466, 404, 358, 1023,
1018 407, 468, 468, 468, 911, 469, 358, 358, 470, 358,
1020 358, 456, 408, 408, 408, 986, 408, 408, 408, 408,
1021 408, 408, 473, 473, 473, 414, 414, 414, 410, 1051,
1022 988, 463, 410, 1042, 961, 410, 1078, 474, 414, 414,
1023 414, 416, 414, 414, 414, 477, 477, 477, 422, 422,
1024 422, 422, 422, 422, 416, 422, 422, 422, 416, 358,
1025 478, 428, 428, 428, 424, 1040, 358, 424, 428, 428,
1026 428, 424, 428, 428, 428, 471, 985, 430, 488, 488,
1027 488, 370, 370, 370, 430, 441, 441, 441, 430, 446,
1028 446, 446, 358, 1050, 489, 490, 358, 372, 475, 499,
1029 499, 499, 1026, 500, 447, 481, 501, 380, 380, 380,
1031 452, 452, 452, 989, 1036, 484, 358, 506, 506, 506,
1032 358, 507, 1043, 382, 508, 453, 509, 509, 509, 511,
1033 511, 511, 514, 514, 514, 1004, 494, 459, 459, 459,
1034 358, 510, 358, 358, 512, 522, 522, 522, 515, 518,
1035 518, 518, 460, 519, 502, 1007, 520, 399, 399, 399,
1036 523, 358, 464, 464, 464, 513, 465, 1006, 1009, 466,
1037 468, 468, 468, 401, 469, 358, 358, 470, 408, 408,
1038 408, 524, 473, 473, 473, 529, 529, 529, 1035, 530,
1039 1121, 990, 531, 1002, 410, 358, 358, 474, 414, 414,
1040 414, 477, 477, 477, 534, 534, 534, 358, 535, 358,
1042 1019, 536, 1022, 358, 416, 525, 478, 358, 422, 422,
1043 422, 541, 541, 541, 428, 428, 428, 488, 488, 488,
1044 370, 370, 370, 527, 424, 358, 542, 554, 554, 554,
1045 430, 358, 1027, 489, 358, 1024, 372, 499, 499, 499,
1046 1056, 500, 1045, 532, 501, 358, 1106, 539, 380, 380,
1047 380, 358, 506, 506, 506, 358, 507, 358, 546, 508,
1048 358, 1025, 550, 1038, 382, 509, 509, 509, 1077, 1039,
1049 543, 559, 559, 559, 547, 560, 1037, 358, 561, 358,
1050 510, 511, 511, 511, 562, 562, 562, 1059, 563, 1062,
1051 358, 564, 514, 514, 514, 1057, 512, 1058, 518, 518,
1053 518, 358, 519, 358, 555, 520, 1105, 358, 515, 522,
1054 522, 522, 569, 569, 569, 358, 570, 1073, 1096, 571,
1055 399, 399, 399, 358, 523, 408, 408, 408, 529, 529,
1056 529, 358, 530, 358, 1034, 531, 401, 414, 414, 414,
1057 1061, 410, 534, 534, 534, 1213, 535, 1116, 358, 536,
1058 541, 541, 541, 416, 358, 422, 422, 422, 1091, 1086,
1059 583, 583, 583, 1090, 584, 542, 575, 585, 1074, 358,
1060 573, 424, 428, 428, 428, 370, 370, 370, 577, 554,
1061 554, 554, 380, 380, 380, 559, 559, 559, 430, 560,
1062 358, 372, 561, 562, 562, 562, 581, 563, 382, 1033,
1064 564, 604, 604, 604, 569, 569, 569, 1080, 570, 358,
1065 1032, 571, 399, 399, 399, 358, 605, 613, 613, 613,
1066 586, 1031, 596, 358, 1111, 592, 358, 1075, 401, 1120,
1067 414, 414, 414, 614, 422, 422, 422, 606, 583, 583,
1068 583, 1087, 584, 358, 358, 585, 416, 370, 370, 370,
1069 424, 428, 428, 428, 629, 629, 629, 631, 631, 631,
1070 380, 380, 380, 372, 1081, 611, 616, 430, 604, 604,
1071 604, 642, 642, 642, 1131, 643, 382, 358, 644, 399,
1072 399, 399, 1213, 605, 656, 656, 656, 1101, 620, 613,
1073 613, 613, 622, 358, 358, 401, 414, 414, 414, 657,
1075 628, 632, 422, 422, 422, 614, 428, 428, 428, 629,
1076 629, 629, 416, 664, 664, 664, 358, 1094, 424, 370,
1077 370, 370, 430, 358, 358, 652, 631, 631, 631, 358,
1078 670, 670, 670, 1095, 358, 372, 358, 655, 680, 680,
1079 680, 642, 642, 642, 358, 643, 671, 1030, 644, 399,
1080 399, 399, 1018, 681, 1103, 662, 660, 414, 414, 414,
1081 656, 656, 656, 358, 1118, 401, 1102, 668, 1117, 697,
1082 697, 697, 1104, 416, 682, 657, 694, 694, 694, 358,
1083 695, 358, 1107, 696, 698, 690, 700, 700, 700, 702,
1084 702, 702, 428, 428, 428, 370, 370, 370, 670, 670,
1086 670, 1108, 701, 358, 693, 720, 720, 720, 430, 358,
1087 358, 372, 1249, 1136, 671, 680, 680, 680, 1109, 358,
1088 721, 722, 722, 722, 358, 723, 1126, 358, 724, 1124,
1089 681, 713, 702, 702, 702, 358, 730, 730, 730, 399,
1090 399, 399, 414, 414, 414, 358, 1110, 703, 664, 664,
1091 664, 731, 694, 694, 694, 401, 695, 1114, 416, 696,
1092 697, 697, 697, 358, 358, 737, 737, 737, 1017, 738,
1093 1139, 1125, 739, 1115, 358, 698, 740, 740, 740, 700,
1094 700, 700, 358, 736, 358, 704, 732, 705, 742, 742,
1095 742, 741, 358, 706, 1135, 701, 358, 707, 358, 708,
1097 358, 709, 1016, 1119, 743, 370, 370, 370, 720, 720,
1098 720, 759, 759, 759, 1122, 760, 1015, 358, 761, 358,
1099 358, 372, 1123, 721, 722, 722, 722, 1132, 723, 1133,
1100 358, 724, 730, 730, 730, 765, 765, 765, 1129, 766,
1101 1130, 358, 767, 1163, 1014, 754, 358, 731, 399, 399,
1102 399, 414, 414, 414, 737, 737, 737, 1134, 738, 358,
1103 1140, 739, 1233, 1151, 401, 1164, 358, 416, 740, 740,
1104 740, 773, 773, 773, 358, 774, 358, 358, 775, 742,
1105 742, 742, 1141, 741, 370, 370, 370, 788, 788, 788,
1106 759, 759, 759, 768, 760, 743, 1137, 761, 1154, 772,
1108 372, 358, 789, 794, 794, 794, 765, 765, 765, 1155,
1109 766, 1138, 1013, 767, 399, 399, 399, 358, 795, 414,
1110 414, 414, 358, 790, 358, 786, 1192, 773, 773, 773,
1111 401, 774, 1172, 358, 775, 416, 803, 803, 803, 810,
1112 810, 810, 370, 370, 370, 814, 814, 814, 1173, 788,
1113 788, 788, 358, 358, 811, 489, 358, 1012, 372, 1144,
1114 801, 1145, 1010, 797, 789, 815, 815, 815, 358, 816,
1115 1001, 358, 817, 794, 794, 794, 823, 823, 823, 1148,
1116 824, 1156, 1149, 825, 399, 399, 399, 358, 795, 828,
1117 828, 828, 831, 831, 831, 358, 813, 414, 414, 414,
1119 401, 803, 803, 803, 829, 358, 1000, 832, 843, 843,
1120 843, 1165, 358, 416, 814, 814, 814, 358, 810, 810,
1121 810, 1152, 358, 844, 489, 830, 1183, 358, 833, 358,
1122 827, 1153, 837, 811, 489, 845, 845, 845, 1161, 846,
1123 1193, 358, 847, 370, 370, 370, 835, 358, 815, 815,
1124 815, 489, 816, 1162, 358, 817, 854, 854, 854, 372,
1125 823, 823, 823, 999, 824, 1166, 1216, 825, 856, 856,
1126 856, 855, 858, 858, 858, 828, 828, 828, 831, 831,
1127 831, 358, 849, 857, 1170, 860, 860, 860, 859, 861,
1128 829, 358, 862, 832, 864, 864, 864, 1171, 865, 358,
1130 358, 866, 868, 868, 868, 414, 414, 414, 876, 876,
1131 876, 843, 843, 843, 998, 878, 878, 878, 358, 879,
1132 1184, 416, 880, 1185, 358, 358, 844, 489, 854, 854,
1133 854, 489, 845, 845, 845, 1258, 846, 1187, 1188, 847,
1134 370, 370, 370, 855, 877, 889, 889, 889, 489, 890,
1135 1186, 358, 891, 868, 868, 868, 372, 858, 858, 858,
1136 869, 487, 487, 487, 487, 487, 487, 487, 487, 487,
1137 358, 358, 487, 859, 358, 487, 487, 487, 489, 487,
1138 856, 856, 856, 892, 892, 892, 358, 893, 358, 1218,
1139 894, 358, 997, 884, 1181, 857, 487, 487, 487, 487,
1141 487, 487, 487, 487, 487, 487, 487, 358, 1209, 487,
1142 1198, 1202, 487, 487, 487, 489, 487, 860, 860, 860,
1143 358, 861, 358, 1190, 862, 864, 864, 864, 996, 865,
1144 358, 1182, 866, 487, 487, 897, 897, 897, 876, 876,
1145 876, 878, 878, 878, 1217, 879, 1199, 358, 880, 358,
1146 995, 898, 1191, 358, 358, 993, 358, 489, 889, 889,
1147 889, 1200, 890, 358, 358, 891, 897, 897, 897, 905,
1148 487, 487, 487, 487, 487, 912, 487, 487, 487, 1196,
1149 1201, 487, 898, 992, 487, 487, 487, 489, 487, 892,
1150 892, 892, 1221, 893, 1210, 1197, 894, 1028, 1028, 1028,
1152 370, 370, 370, 358, 1203, 487, 487, 487, 487, 487,
1153 487, 487, 487, 487, 487, 912, 372, 358, 487, 1214,
1154 1204, 487, 487, 487, 489, 487, 358, 983, 927, 927,
1155 927, 930, 930, 930, 936, 936, 936, 370, 370, 370,
1156 358, 982, 487, 487, 358, 914, 358, 358, 1205, 358,
1157 489, 490, 981, 372, 939, 939, 939, 941, 941, 941,
1158 943, 943, 943, 946, 946, 946, 954, 954, 954, 940,
1159 1207, 1206, 942, 1208, 358, 944, 358, 1249, 947, 927,
1160 927, 927, 358, 930, 930, 930, 358, 358, 938, 936,
1161 936, 936, 370, 370, 370, 358, 945, 1215, 1229, 358,
1163 939, 939, 939, 358, 358, 489, 358, 1211, 372, 358,
1164 956, 941, 941, 941, 959, 940, 965, 965, 965, 358,
1165 966, 358, 980, 967, 1238, 1219, 942, 968, 968, 968,
1166 546, 969, 358, 1230, 970, 943, 943, 943, 971, 971,
1167 971, 1220, 972, 1223, 358, 973, 1224, 964, 358, 358,
1168 944, 946, 946, 946, 975, 975, 975, 1289, 976, 358,
1169 1222, 977, 954, 954, 954, 358, 947, 370, 370, 370,
1170 965, 965, 965, 1234, 966, 1212, 358, 967, 358, 1225,
1171 968, 968, 968, 372, 969, 1231, 358, 970, 971, 971,
1172 971, 1232, 972, 984, 1226, 973, 975, 975, 975, 358,
1174 976, 358, 1267, 977, 1003, 1003, 1003, 370, 370, 370,
1175 1267, 358, 994, 1239, 1003, 1003, 1003, 358, 1020, 358,
1176 358, 1021, 358, 372, 370, 370, 370, 1041, 1041, 1041,
1177 358, 1044, 1044, 1044, 1028, 1028, 1028, 1046, 1046, 1046,
1178 372, 1235, 1244, 358, 1048, 1048, 1048, 358, 1041, 1041,
1179 1041, 1271, 358, 1047, 1044, 1044, 1044, 1011, 1063, 1049,
1180 358, 1064, 1245, 358, 358, 1065, 1065, 1065, 358, 1246,
1181 358, 358, 358, 1029, 1046, 1046, 1046, 358, 1250, 1060,
1182 979, 358, 1048, 1048, 1048, 1066, 1066, 1066, 358, 1067,
1183 1047, 358, 1068, 1076, 1076, 1076, 1236, 1049, 1079, 1079,
1185 1079, 1065, 1065, 1065, 1066, 1066, 1066, 1242, 1067, 358,
1186 1243, 1068, 1237, 358, 358, 1240, 1247, 358, 1085, 1085,
1187 1085, 1076, 1076, 1076, 978, 1088, 1271, 358, 1089, 1079,
1188 1079, 1079, 1082, 1092, 358, 358, 1093, 358, 358, 1085,
1189 1085, 1085, 974, 1099, 358, 358, 1100, 1150, 1150, 1150,
1190 1157, 1157, 1157, 1295, 358, 358, 1159, 1159, 1159, 1241,
1191 1150, 1150, 1150, 358, 1167, 1158, 1248, 1168, 1169, 1169,
1192 1169, 1160, 1174, 1174, 1174, 358, 358, 1157, 1157, 1157,
1193 1159, 1159, 1159, 1252, 358, 358, 1256, 963, 358, 1175,
1194 1175, 1175, 1158, 1176, 1274, 1160, 1177, 1178, 1178, 1178,
1196 934, 1179, 962, 358, 1180, 1169, 1169, 1169, 1174, 1174,
1197 1174, 1251, 1194, 358, 1253, 1195, 1175, 1175, 1175, 358,
1198 1176, 358, 358, 1177, 358, 1178, 1178, 1178, 358, 1179,
1199 358, 358, 1180, 1227, 1227, 1227, 1189, 1227, 1227, 1227,
1200 1261, 1261, 1261, 1254, 358, 1257, 1255, 358, 358, 1228,
1201 358, 358, 1259, 1228, 1260, 1274, 1262, 1270, 1270, 1270,
1202 1261, 1261, 1261, 358, 358, 358, 358, 358, 1275, 1275,
1203 1275, 1265, 1266, 358, 1263, 358, 1262, 358, 1277, 1278,
1204 358, 1268, 1269, 358, 1276, 358, 358, 1264, 358, 1287,
1205 1270, 1270, 1270, 358, 1279, 1272, 1273, 1280, 1281, 1281,
1207 1281, 1285, 1285, 1285, 1290, 1291, 358, 1288, 1283, 1292,
1208 358, 1284, 358, 358, 1282, 1296, 358, 1286, 1275, 1275,
1209 1275, 1281, 1281, 1281, 1285, 1285, 1285, 1293, 358, 358,
1210 358, 358, 1294, 358, 1276, 358, 1305, 1282, 358, 358,
1211 1286, 358, 1305, 358, 358, 358, 358, 1301, 358, 1314,
1212 1302, 358, 1297, 1298, 1299, 1300, 358, 1310, 1310, 1310,
1213 1314, 358, 358, 1321, 1306, 1307, 358, 1308, 1309, 358,
1214 358, 358, 1303, 1311, 1304, 1310, 1310, 1310, 1315, 1317,
1215 1317, 1317, 1322, 358, 1312, 358, 358, 1319, 1313, 358,
1216 1329, 1311, 358, 358, 1316, 1318, 1329, 1320, 1317, 1317,
1218 1317, 934, 358, 953, 952, 358, 951, 1323, 950, 1324,
1219 1325, 1330, 1330, 1330, 1318, 949, 1327, 1328, 1330, 1330,
1220 1330, 948, 937, 934, 934, 1326, 924, 1331, 923, 918,
1221 917, 916, 915, 913, 1331, 94, 94, 94, 94, 94,
1222 94, 94, 95, 95, 95, 95, 95, 95, 95, 100,
1223 100, 100, 100, 100, 100, 100, 103, 103, 103, 103,
1224 103, 103, 103, 106, 106, 106, 106, 106, 106, 106,
1225 109, 109, 109, 109, 109, 109, 109, 116, 116, 116,
1226 116, 116, 116, 116, 124, 124, 124, 124, 124, 124,
1227 124, 127, 127, 127, 127, 127, 127, 127, 136, 136,
1229 136, 136, 136, 136, 136, 140, 140, 140, 140, 140,
1230 140, 140, 157, 157, 157, 157, 157, 157, 157, 164,
1231 164, 164, 164, 164, 164, 164, 171, 171, 171, 171,
1232 171, 171, 171, 178, 178, 178, 178, 178, 178, 178,
1233 184, 184, 184, 184, 184, 184, 184, 192, 192, 192,
1234 192, 192, 192, 192, 196, 196, 196, 196, 196, 196,
1235 196, 203, 203, 203, 203, 203, 203, 203, 210, 210,
1236 210, 210, 210, 210, 210, 218, 218, 218, 218, 218,
1237 218, 218, 222, 222, 222, 222, 222, 222, 222, 244,
1238 244, 244, 896, 244, 252, 252, 252, 895, 252, 256,
1240 256, 256, 888, 256, 265, 265, 265, 887, 265, 273,
1241 273, 273, 886, 273, 280, 280, 280, 885, 280, 284,
1242 284, 284, 883, 284, 292, 292, 292, 867, 292, 297,
1243 297, 297, 297, 297, 863, 297, 311, 853, 311, 319,
1244 852, 319, 327, 851, 327, 334, 850, 334, 339, 848,
1245 339, 343, 834, 343, 349, 826, 349, 353, 822, 353,
1246 357, 357, 357, 357, 357, 357, 357, 363, 821, 818,
1247 363, 371, 371, 371, 371, 371, 371, 381, 381, 381,
1248 381, 381, 381, 391, 391, 391, 391, 391, 391, 400,
1249 400, 400, 400, 400, 400, 409, 409, 409, 409, 409,
1251 409, 415, 415, 415, 415, 415, 415, 423, 423, 423,
1252 423, 423, 423, 429, 429, 429, 429, 429, 429, 487,
1253 487, 487, 487, 487, 487, 487, 881, 881, 881, 881,
1254 881, 881, 881, 882, 882, 882, 882, 882, 882, 882,
1255 907, 907, 907, 907, 907, 907, 907, 910, 910, 910,
1256 910, 910, 910, 910, 933, 933, 933, 933, 933, 933,
1257 933, 935, 935, 935, 935, 935, 935, 935, 812, 800,
1258 799, 798, 796, 793, 792, 791, 787, 785, 771, 770,
1259 769, 764, 763, 762, 758, 757, 756, 755, 753, 735,
1260 729, 728, 727, 726, 725, 719, 718, 717, 716, 715,
1262 714, 712, 699, 692, 691, 689, 688, 687, 686, 685,
1263 684, 683, 679, 678, 677, 676, 675, 674, 673, 672,
1264 669, 667, 663, 661, 659, 658, 654, 653, 651, 646,
1265 645, 641, 640, 635, 634, 633, 630, 627, 623, 621,
1266 619, 618, 617, 615, 612, 610, 609, 608, 607, 603,
1267 602, 601, 600, 599, 598, 597, 595, 594, 593, 591,
1268 587, 582, 580, 579, 578, 576, 574, 572, 568, 567,
1269 566, 565, 558, 557, 556, 553, 552, 551, 549, 548,
1270 489, 544, 540, 538, 537, 533, 528, 526, 521, 517,
1271 516, 505, 504, 503, 498, 497, 496, 495, 493, 492,
1273 491, 485, 483, 482, 480, 479, 476, 472, 467, 462,
1274 461, 458, 457, 455, 454, 451, 450, 449, 445, 444,
1275 443, 442, 439, 438, 437, 436, 435, 434, 358, 432,
1276 427, 426, 421, 420, 419, 418, 413, 412, 405, 398,
1277 397, 396, 395, 394, 389, 388, 387, 386, 385, 384,
1278 379, 378, 377, 376, 375, 374, 369, 368, 367, 366,
1279 365, 364, 361, 359, 358, 356, 355, 354, 352, 351,
1280 350, 348, 347, 346, 345, 344, 342, 341, 340, 338,
1281 337, 336, 335, 333, 332, 331, 330, 329, 328, 326,
1282 325, 324, 323, 322, 321, 320, 318, 317, 316, 315,
1284 314, 313, 312, 310, 309, 308, 307, 306, 301, 298,
1285 300, 296, 295, 293, 291, 288, 287, 286, 285, 283,
1286 281, 279, 276, 275, 274, 272, 268, 267, 266, 264,
1287 262, 261, 260, 259, 258, 257, 255, 253, 251, 243,
1288 241, 235, 234, 235, 234, 233, 232, 1332, 93, 1332,
1289 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
1290 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
1291 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
1292 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
1293 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
1295 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
1299 static yyconst flex_int16_t yy_chk[3712] =
1301 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
1302 6, 6, 6, 9, 0, 3, 10, 11, 4, 12,
1303 9, 5, 299, 10, 6, 7, 7, 7, 8, 8,
1304 8, 13, 13, 11, 299, 12, 13, 13, 236, 7,
1305 14, 14, 8, 228, 13, 14, 14, 15, 15, 880,
1306 15, 98, 15, 14, 16, 16, 228, 16, 880, 16,
1307 15, 17, 17, 18, 18, 98, 99, 16, 19, 19,
1308 19, 20, 20, 20, 23, 23, 23, 24, 24, 24,
1309 99, 237, 19, 545, 237, 20, 236, 302, 23, 302,
1310 745, 24, 96, 96, 96, 17, 545, 18, 21, 21,
1312 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1313 21, 1128, 21, 21, 21, 21, 21, 25, 25, 25,
1314 97, 97, 97, 101, 101, 101, 122, 122, 122, 1127,
1315 745, 25, 433, 21, 21, 22, 22, 22, 22, 22,
1316 22, 22, 22, 22, 22, 22, 22, 22, 433, 22,
1317 22, 22, 22, 22, 26, 26, 26, 590, 27, 27,
1318 27, 28, 28, 28, 29, 29, 29, 547, 26, 360,
1319 22, 22, 27, 360, 102, 28, 125, 137, 29, 30,
1320 30, 30, 31, 31, 31, 32, 32, 32, 102, 588,
1321 125, 137, 547, 30, 590, 588, 31, 900, 625, 32,
1323 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
1324 33, 33, 33, 900, 33, 33, 33, 33, 33, 35,
1325 35, 35, 486, 36, 36, 36, 37, 37, 37, 128,
1326 128, 128, 625, 35, 589, 33, 33, 36, 600, 486,
1327 37, 707, 600, 33, 34, 34, 34, 34, 34, 34,
1328 34, 34, 34, 34, 34, 34, 34, 589, 34, 34,
1329 34, 34, 34, 38, 38, 38, 707, 39, 39, 39,
1330 40, 40, 40, 666, 41, 41, 41, 38, 601, 34,
1331 34, 39, 601, 665, 40, 791, 791, 34, 41, 42,
1332 42, 42, 43, 43, 43, 44, 44, 44, 134, 134,
1334 134, 608, 666, 42, 609, 608, 43, 665, 609, 44,
1335 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1336 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1337 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1338 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1339 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1340 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1341 45, 45, 47, 47, 47, 48, 48, 48, 49, 49,
1342 49, 50, 50, 50, 926, 546, 47, 908, 908, 48,
1343 926, 1113, 49, 704, 1112, 50, 51, 51, 51, 51,
1345 51, 51, 51, 51, 51, 51, 51, 51, 51, 626,
1346 51, 51, 51, 51, 51, 53, 53, 53, 546, 54,
1347 54, 54, 55, 55, 55, 56, 56, 56, 149, 53,
1348 704, 51, 51, 54, 131, 51, 55, 893, 170, 56,
1349 709, 131, 149, 1098, 51, 893, 51, 626, 131, 170,
1350 711, 51, 52, 52, 52, 52, 52, 52, 52, 52,
1351 52, 52, 52, 52, 52, 710, 52, 52, 52, 52,
1352 52, 59, 59, 59, 709, 60, 60, 60, 61, 61,
1353 61, 62, 62, 62, 711, 59, 705, 52, 52, 60,
1354 750, 52, 61, 990, 710, 62, 141, 141, 141, 990,
1356 52, 747, 52, 146, 146, 146, 1097, 52, 57, 57,
1357 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
1358 57, 705, 57, 57, 57, 57, 57, 63, 63, 63,
1359 750, 64, 64, 64, 65, 65, 65, 66, 66, 66,
1360 747, 63, 894, 57, 57, 64, 143, 165, 65, 57,
1361 894, 66, 1084, 143, 57, 158, 158, 158, 776, 744,
1362 143, 165, 749, 57, 58, 58, 58, 58, 58, 58,
1363 58, 58, 58, 58, 58, 58, 58, 708, 58, 58,
1364 58, 58, 58, 67, 67, 67, 744, 68, 68, 68,
1365 71, 71, 71, 72, 72, 72, 749, 67, 776, 58,
1367 58, 68, 159, 179, 71, 58, 783, 72, 708, 159,
1368 58, 162, 162, 162, 708, 839, 159, 179, 804, 58,
1369 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
1370 69, 69, 69, 783, 69, 69, 69, 69, 69, 73,
1371 73, 73, 837, 74, 74, 74, 77, 77, 77, 78,
1372 78, 78, 839, 73, 173, 69, 69, 74, 804, 837,
1373 77, 173, 1131, 78, 172, 172, 172, 779, 173, 1131,
1374 69, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1375 70, 70, 70, 70, 748, 70, 70, 70, 70, 70,
1376 79, 79, 79, 746, 80, 80, 80, 81, 81, 81,
1378 82, 82, 82, 120, 79, 748, 70, 70, 80, 779,
1379 1083, 81, 781, 778, 82, 1072, 746, 120, 176, 176,
1380 176, 70, 75, 75, 75, 75, 75, 75, 75, 75,
1381 75, 75, 75, 75, 75, 781, 75, 75, 75, 75,
1382 75, 83, 83, 83, 778, 84, 84, 84, 85, 85,
1383 85, 120, 86, 86, 86, 83, 1071, 75, 75, 84,
1384 160, 188, 85, 874, 1055, 75, 86, 75, 188, 75,
1385 185, 185, 185, 780, 160, 188, 805, 75, 76, 76,
1386 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
1387 76, 144, 76, 76, 76, 76, 76, 89, 89, 89,
1389 874, 90, 90, 90, 193, 144, 160, 190, 190, 190,
1390 805, 89, 780, 76, 76, 90, 174, 204, 193, 91,
1391 91, 76, 840, 76, 91, 76, 112, 144, 957, 706,
1392 174, 204, 91, 76, 87, 87, 87, 87, 87, 87,
1393 87, 87, 87, 87, 87, 87, 87, 132, 87, 87,
1394 87, 87, 87, 91, 92, 92, 840, 957, 112, 92,
1395 219, 132, 706, 838, 112, 186, 174, 92, 112, 87,
1396 87, 187, 186, 112, 219, 1054, 129, 130, 1052, 186,
1397 197, 197, 197, 129, 751, 187, 1050, 838, 92, 132,
1398 129, 130, 87, 88, 88, 88, 88, 88, 88, 88,
1400 88, 88, 88, 88, 88, 88, 199, 88, 88, 88,
1401 88, 88, 129, 130, 752, 186, 802, 751, 129, 130,
1402 199, 187, 129, 130, 129, 130, 129, 130, 88, 88,
1403 142, 198, 201, 201, 201, 212, 213, 142, 198, 211,
1404 211, 211, 212, 807, 142, 198, 214, 752, 802, 212,
1405 213, 88, 808, 214, 199, 216, 216, 216, 1132, 691,
1406 214, 223, 223, 223, 782, 1132, 142, 224, 807, 212,
1407 213, 841, 142, 691, 224, 836, 142, 808, 142, 806,
1408 142, 224, 227, 227, 227, 311, 311, 311, 312, 312,
1409 312, 319, 319, 319, 320, 320, 320, 327, 327, 327,
1411 836, 311, 873, 782, 312, 806, 870, 319, 903, 841,
1412 320, 1036, 872, 327, 328, 328, 328, 334, 334, 334,
1413 335, 335, 335, 336, 336, 336, 338, 338, 338, 875,
1414 328, 899, 873, 334, 877, 312, 335, 872, 336, 870,
1415 903, 338, 902, 320, 339, 339, 339, 340, 340, 340,
1416 343, 343, 343, 344, 344, 344, 349, 349, 349, 877,
1417 339, 335, 902, 340, 961, 328, 343, 875, 906, 344,
1418 899, 929, 349, 350, 350, 350, 353, 353, 353, 354,
1419 354, 354, 370, 370, 370, 371, 371, 371, 879, 350,
1420 907, 929, 353, 928, 987, 354, 961, 340, 370, 906,
1422 879, 371, 907, 344, 373, 373, 373, 374, 374, 374,
1423 379, 379, 379, 380, 380, 380, 871, 381, 381, 381,
1424 373, 383, 383, 383, 928, 379, 350, 987, 1035, 380,
1425 1034, 871, 354, 381, 387, 387, 387, 383, 390, 390,
1426 390, 373, 391, 391, 391, 393, 393, 393, 1033, 387,
1427 396, 396, 396, 905, 390, 399, 399, 399, 391, 1005,
1428 383, 393, 400, 400, 400, 396, 402, 402, 402, 931,
1429 905, 399, 403, 403, 403, 406, 406, 406, 400, 404,
1430 404, 404, 402, 404, 931, 910, 404, 403, 956, 1005,
1431 406, 407, 407, 407, 910, 407, 958, 1061, 407, 932,
1433 1024, 393, 408, 408, 408, 956, 409, 409, 409, 411,
1434 411, 411, 413, 413, 413, 414, 414, 414, 408, 1032,
1435 958, 402, 409, 1024, 932, 411, 1061, 413, 415, 415,
1436 415, 414, 417, 417, 417, 419, 419, 419, 422, 422,
1437 422, 423, 423, 423, 415, 425, 425, 425, 417, 1022,
1438 419, 428, 428, 428, 422, 1022, 955, 423, 429, 429,
1439 429, 425, 431, 431, 431, 411, 955, 428, 434, 434,
1440 434, 440, 440, 440, 429, 441, 441, 441, 431, 446,
1441 446, 446, 1008, 1031, 434, 434, 959, 440, 417, 447,
1442 447, 447, 1008, 447, 446, 425, 447, 448, 448, 448,
1444 452, 452, 452, 959, 1018, 431, 1025, 453, 453, 453,
1445 986, 453, 1025, 448, 453, 452, 454, 454, 454, 455,
1446 455, 455, 456, 456, 456, 986, 440, 459, 459, 459,
1447 989, 454, 988, 991, 455, 462, 462, 462, 456, 460,
1448 460, 460, 459, 460, 448, 989, 460, 463, 463, 463,
1449 462, 1106, 464, 464, 464, 455, 464, 988, 991, 464,
1450 468, 468, 468, 463, 468, 960, 984, 468, 471, 471,
1451 471, 462, 473, 473, 473, 474, 474, 474, 1017, 474,
1452 1106, 960, 474, 984, 471, 1002, 1004, 473, 475, 475,
1453 475, 477, 477, 477, 478, 478, 478, 1006, 478, 1009,
1455 1002, 478, 1004, 1027, 475, 463, 477, 1091, 481, 481,
1456 481, 483, 483, 483, 484, 484, 484, 488, 488, 488,
1457 494, 494, 494, 471, 481, 1020, 483, 498, 498, 498,
1458 484, 1021, 1009, 488, 1037, 1006, 494, 499, 499, 499,
1459 1037, 499, 1027, 475, 499, 1007, 1091, 481, 502, 502,
1460 502, 1060, 506, 506, 506, 1038, 506, 1039, 488, 506,
1461 1019, 1007, 494, 1020, 502, 509, 509, 509, 1060, 1021,
1462 484, 510, 510, 510, 488, 510, 1019, 1040, 510, 1043,
1463 509, 511, 511, 511, 512, 512, 512, 1040, 512, 1043,
1464 1090, 512, 514, 514, 514, 1038, 511, 1039, 518, 518,
1466 518, 1082, 518, 1042, 502, 518, 1090, 1056, 514, 522,
1467 522, 522, 523, 523, 523, 1101, 523, 1056, 1082, 523,
1468 525, 525, 525, 1078, 522, 527, 527, 527, 529, 529,
1469 529, 1057, 529, 1074, 1016, 529, 525, 532, 532, 532,
1470 1042, 527, 534, 534, 534, 1199, 534, 1101, 1077, 534,
1471 541, 541, 541, 532, 1199, 539, 539, 539, 1078, 1074,
1472 542, 542, 542, 1077, 542, 541, 527, 542, 1057, 1063,
1473 525, 539, 543, 543, 543, 550, 550, 550, 532, 554,
1474 554, 554, 555, 555, 555, 559, 559, 559, 543, 559,
1475 1058, 550, 559, 562, 562, 562, 539, 562, 555, 1015,
1477 562, 567, 567, 567, 569, 569, 569, 1063, 569, 1096,
1478 1014, 569, 573, 573, 573, 1075, 567, 575, 575, 575,
1479 543, 1013, 555, 1105, 1096, 550, 1064, 1058, 573, 1105,
1480 577, 577, 577, 575, 581, 581, 581, 567, 583, 583,
1481 583, 1075, 583, 1116, 1086, 583, 577, 592, 592, 592,
1482 581, 586, 586, 586, 593, 593, 593, 595, 595, 595,
1483 596, 596, 596, 592, 1064, 573, 577, 586, 604, 604,
1484 604, 605, 605, 605, 1116, 605, 596, 1080, 605, 611,
1485 611, 611, 1198, 604, 617, 617, 617, 1086, 581, 613,
1486 613, 613, 586, 1081, 1198, 611, 616, 616, 616, 617,
1488 592, 596, 620, 620, 620, 613, 622, 622, 622, 629,
1489 629, 629, 616, 624, 624, 624, 1088, 1080, 620, 628,
1490 628, 628, 622, 1087, 1103, 611, 631, 631, 631, 624,
1491 632, 632, 632, 1081, 1089, 628, 1102, 616, 641, 641,
1492 641, 642, 642, 642, 1092, 642, 632, 1012, 642, 652,
1493 652, 652, 1001, 641, 1088, 622, 620, 655, 655, 655,
1494 656, 656, 656, 1093, 1103, 652, 1087, 628, 1102, 658,
1495 658, 658, 1089, 655, 641, 656, 657, 657, 657, 1121,
1496 657, 1094, 1092, 657, 658, 652, 660, 660, 660, 661,
1497 661, 661, 662, 662, 662, 668, 668, 668, 670, 670,
1499 670, 1093, 660, 1109, 655, 679, 679, 679, 662, 1095,
1500 1111, 668, 1236, 1121, 670, 680, 680, 680, 1094, 1099,
1501 679, 681, 681, 681, 1236, 681, 1111, 1124, 681, 1109,
1502 680, 668, 702, 702, 702, 1100, 689, 689, 689, 690,
1503 690, 690, 693, 693, 693, 1110, 1095, 662, 664, 664,
1504 664, 689, 694, 694, 694, 690, 694, 1099, 693, 694,
1505 697, 697, 697, 1104, 664, 698, 698, 698, 1000, 698,
1506 1124, 1110, 698, 1100, 1107, 697, 699, 699, 699, 700,
1507 700, 700, 1108, 693, 1120, 664, 690, 664, 703, 703,
1508 703, 699, 1118, 664, 1120, 700, 1117, 664, 1114, 664,
1510 1115, 664, 999, 1104, 703, 713, 713, 713, 720, 720,
1511 720, 721, 721, 721, 1107, 721, 998, 1125, 721, 1146,
1512 1119, 713, 1108, 720, 722, 722, 722, 1117, 722, 1118,
1513 1136, 722, 730, 730, 730, 731, 731, 731, 1114, 731,
1514 1115, 1147, 731, 1146, 997, 713, 1218, 730, 732, 732,
1515 732, 736, 736, 736, 737, 737, 737, 1119, 737, 1122,
1516 1125, 737, 1218, 1136, 732, 1147, 1139, 736, 740, 740,
1517 740, 741, 741, 741, 1123, 741, 1126, 1140, 741, 742,
1518 742, 742, 1126, 740, 754, 754, 754, 756, 756, 756,
1519 759, 759, 759, 732, 759, 742, 1122, 759, 1139, 736,
1521 754, 1154, 756, 763, 763, 763, 765, 765, 765, 1140,
1522 765, 1123, 996, 765, 768, 768, 768, 1155, 763, 772,
1523 772, 772, 1129, 756, 1130, 754, 1172, 773, 773, 773,
1524 768, 773, 1154, 1172, 773, 772, 777, 777, 777, 784,
1525 784, 784, 786, 786, 786, 787, 787, 787, 1155, 788,
1526 788, 788, 777, 1133, 784, 784, 1134, 995, 786, 1129,
1527 772, 1130, 993, 768, 788, 789, 789, 789, 1148, 789,
1528 983, 1141, 789, 794, 794, 794, 795, 795, 795, 1133,
1529 795, 1141, 1134, 795, 797, 797, 797, 1163, 794, 798,
1530 798, 798, 799, 799, 799, 1137, 786, 801, 801, 801,
1532 797, 803, 803, 803, 798, 1138, 982, 799, 809, 809,
1533 809, 1148, 1144, 801, 814, 814, 814, 803, 810, 810,
1534 810, 1137, 1149, 809, 809, 798, 1163, 1145, 799, 1202,
1535 797, 1138, 803, 810, 810, 811, 811, 811, 1144, 811,
1536 1173, 1152, 811, 813, 813, 813, 801, 1173, 815, 815,
1537 815, 811, 815, 1145, 1153, 815, 822, 822, 822, 813,
1538 823, 823, 823, 981, 823, 1149, 1202, 823, 826, 826,
1539 826, 822, 827, 827, 827, 828, 828, 828, 831, 831,
1540 831, 1164, 813, 826, 1152, 829, 829, 829, 827, 829,
1541 828, 1165, 829, 831, 832, 832, 832, 1153, 832, 1167,
1543 1168, 832, 834, 834, 834, 835, 835, 835, 842, 842,
1544 842, 843, 843, 843, 980, 844, 844, 844, 1166, 844,
1545 1164, 835, 844, 1165, 842, 1246, 843, 843, 854, 854,
1546 854, 844, 845, 845, 845, 1246, 845, 1167, 1168, 845,
1547 849, 849, 849, 854, 842, 855, 855, 855, 845, 855,
1548 1166, 1161, 855, 868, 868, 868, 849, 858, 858, 858,
1549 835, 846, 846, 846, 846, 846, 846, 846, 846, 846,
1550 1194, 1187, 846, 858, 1204, 846, 846, 846, 846, 846,
1551 856, 856, 856, 857, 857, 857, 1183, 857, 1162, 1204,
1552 857, 1170, 979, 849, 1161, 856, 846, 846, 847, 847,
1554 847, 847, 847, 847, 847, 847, 847, 1203, 1194, 847,
1555 1183, 1187, 847, 847, 847, 847, 847, 860, 860, 860,
1556 1171, 860, 1184, 1170, 860, 864, 864, 864, 978, 864,
1557 1185, 1162, 864, 847, 847, 869, 869, 869, 876, 876,
1558 876, 878, 878, 878, 1203, 878, 1184, 1181, 878, 1186,
1559 974, 869, 1171, 1207, 876, 963, 1195, 878, 889, 889,
1560 889, 1185, 889, 1182, 1188, 889, 897, 897, 897, 876,
1561 881, 881, 881, 881, 881, 881, 881, 881, 881, 1181,
1562 1186, 881, 897, 962, 881, 881, 881, 881, 881, 892,
1563 892, 892, 1207, 892, 1195, 1182, 892, 1010, 1010, 1010,
1565 884, 884, 884, 1189, 1188, 881, 881, 882, 882, 882,
1566 882, 882, 882, 882, 882, 882, 884, 1190, 882, 1200,
1567 1189, 882, 882, 882, 882, 882, 1200, 953, 901, 901,
1568 901, 904, 904, 904, 912, 912, 912, 914, 914, 914,
1569 1191, 952, 882, 882, 901, 884, 1192, 904, 1190, 1193,
1570 912, 912, 951, 914, 915, 915, 915, 916, 916, 916,
1571 917, 917, 917, 918, 918, 918, 925, 925, 925, 915,
1572 1192, 1191, 916, 1193, 1214, 917, 1196, 1237, 918, 927,
1573 927, 927, 925, 930, 930, 930, 1237, 1223, 914, 936,
1574 936, 936, 938, 938, 938, 927, 917, 1201, 1214, 930,
1576 939, 939, 939, 1209, 1201, 936, 1210, 1196, 938, 1215,
1577 927, 941, 941, 941, 930, 939, 940, 940, 940, 1279,
1578 940, 1208, 950, 940, 1223, 1205, 941, 942, 942, 942,
1579 936, 942, 1205, 1215, 942, 943, 943, 943, 944, 944,
1580 944, 1206, 944, 1209, 1197, 944, 1210, 938, 1206, 1219,
1581 943, 946, 946, 946, 947, 947, 947, 1279, 947, 1216,
1582 1208, 947, 954, 954, 954, 1217, 946, 964, 964, 964,
1583 965, 965, 965, 1219, 965, 1197, 1224, 965, 954, 1211,
1584 968, 968, 968, 964, 968, 1216, 1211, 968, 971, 971,
1585 971, 1217, 971, 954, 1212, 971, 975, 975, 975, 1231,
1587 975, 1212, 1255, 975, 985, 985, 985, 994, 994, 994,
1588 1254, 1255, 964, 1224, 1003, 1003, 1003, 1220, 1003, 1232,
1589 985, 1003, 1254, 994, 1011, 1011, 1011, 1023, 1023, 1023,
1590 1003, 1026, 1026, 1026, 1028, 1028, 1028, 1029, 1029, 1029,
1591 1011, 1220, 1231, 1023, 1030, 1030, 1030, 1026, 1041, 1041,
1592 1041, 1260, 1238, 1029, 1044, 1044, 1044, 994, 1044, 1030,
1593 1260, 1044, 1232, 1233, 1041, 1045, 1045, 1045, 1229, 1233,
1594 1044, 1230, 1221, 1011, 1046, 1046, 1046, 1234, 1238, 1041,
1595 949, 1045, 1048, 1048, 1048, 1049, 1049, 1049, 1222, 1049,
1596 1046, 1225, 1049, 1059, 1059, 1059, 1221, 1048, 1062, 1062,
1598 1062, 1065, 1065, 1065, 1066, 1066, 1066, 1229, 1066, 1059,
1599 1230, 1066, 1222, 1289, 1062, 1225, 1234, 1065, 1073, 1073,
1600 1073, 1076, 1076, 1076, 948, 1076, 1259, 1235, 1076, 1079,
1601 1079, 1079, 1065, 1079, 1073, 1226, 1079, 1076, 1259, 1085,
1602 1085, 1085, 945, 1085, 1240, 1079, 1085, 1135, 1135, 1135,
1603 1142, 1142, 1142, 1289, 1244, 1085, 1143, 1143, 1143, 1226,
1604 1150, 1150, 1150, 1135, 1150, 1142, 1235, 1150, 1151, 1151,
1605 1151, 1143, 1156, 1156, 1156, 1241, 1150, 1157, 1157, 1157,
1606 1159, 1159, 1159, 1240, 1151, 1239, 1244, 937, 1156, 1158,
1607 1158, 1158, 1157, 1158, 1266, 1159, 1158, 1160, 1160, 1160,
1609 935, 1160, 934, 1266, 1160, 1169, 1169, 1169, 1174, 1174,
1610 1174, 1239, 1174, 1245, 1241, 1174, 1175, 1175, 1175, 1242,
1611 1175, 1169, 1243, 1175, 1174, 1178, 1178, 1178, 1247, 1178,
1612 1248, 1250, 1178, 1213, 1213, 1213, 1169, 1227, 1227, 1227,
1613 1249, 1249, 1249, 1242, 1251, 1245, 1243, 1252, 1253, 1213,
1614 1256, 1257, 1247, 1227, 1248, 1265, 1249, 1258, 1258, 1258,
1615 1261, 1261, 1261, 1263, 1264, 1277, 1280, 1265, 1267, 1267,
1616 1267, 1252, 1253, 1258, 1250, 1290, 1261, 1272, 1268, 1269,
1617 1273, 1256, 1257, 1278, 1267, 1268, 1269, 1251, 1287, 1277,
1618 1270, 1270, 1270, 1288, 1270, 1263, 1264, 1270, 1271, 1271,
1620 1271, 1274, 1274, 1274, 1280, 1283, 1270, 1278, 1272, 1284,
1621 1295, 1273, 1283, 1296, 1271, 1290, 1284, 1274, 1275, 1275,
1622 1275, 1281, 1281, 1281, 1285, 1285, 1285, 1287, 1291, 1292,
1623 1293, 1294, 1288, 1297, 1275, 1298, 1299, 1281, 1301, 1302,
1624 1285, 1306, 1300, 1303, 1304, 1307, 1312, 1295, 1299, 1308,
1625 1296, 1300, 1291, 1292, 1293, 1294, 1315, 1305, 1305, 1305,
1626 1309, 1308, 1313, 1319, 1301, 1302, 1316, 1303, 1304, 1309,
1627 1319, 1323, 1297, 1305, 1298, 1310, 1310, 1310, 1312, 1314,
1628 1314, 1314, 1320, 1321, 1306, 1322, 1324, 1315, 1307, 1320,
1629 1327, 1310, 1325, 1326, 1313, 1314, 1328, 1316, 1317, 1317,
1631 1317, 933, 1327, 924, 923, 1328, 922, 1321, 921, 1322,
1632 1323, 1329, 1329, 1329, 1317, 920, 1325, 1326, 1330, 1330,
1633 1330, 919, 913, 911, 909, 1324, 896, 1329, 895, 888,
1634 887, 886, 885, 883, 1330, 1333, 1333, 1333, 1333, 1333,
1635 1333, 1333, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1335,
1636 1335, 1335, 1335, 1335, 1335, 1335, 1336, 1336, 1336, 1336,
1637 1336, 1336, 1336, 1337, 1337, 1337, 1337, 1337, 1337, 1337,
1638 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1339, 1339, 1339,
1639 1339, 1339, 1339, 1339, 1340, 1340, 1340, 1340, 1340, 1340,
1640 1340, 1341, 1341, 1341, 1341, 1341, 1341, 1341, 1342, 1342,
1642 1342, 1342, 1342, 1342, 1342, 1343, 1343, 1343, 1343, 1343,
1643 1343, 1343, 1344, 1344, 1344, 1344, 1344, 1344, 1344, 1345,
1644 1345, 1345, 1345, 1345, 1345, 1345, 1346, 1346, 1346, 1346,
1645 1346, 1346, 1346, 1347, 1347, 1347, 1347, 1347, 1347, 1347,
1646 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1349, 1349, 1349,
1647 1349, 1349, 1349, 1349, 1350, 1350, 1350, 1350, 1350, 1350,
1648 1350, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1352, 1352,
1649 1352, 1352, 1352, 1352, 1352, 1353, 1353, 1353, 1353, 1353,
1650 1353, 1353, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1355,
1651 1355, 1355, 867, 1355, 1356, 1356, 1356, 863, 1356, 1357,
1653 1357, 1357, 853, 1357, 1358, 1358, 1358, 852, 1358, 1359,
1654 1359, 1359, 851, 1359, 1360, 1360, 1360, 850, 1360, 1361,
1655 1361, 1361, 848, 1361, 1362, 1362, 1362, 833, 1362, 1363,
1656 1363, 1363, 1363, 1363, 830, 1363, 1364, 821, 1364, 1365,
1657 820, 1365, 1366, 819, 1366, 1367, 818, 1367, 1368, 812,
1658 1368, 1369, 800, 1369, 1370, 796, 1370, 1371, 793, 1371,
1659 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1373, 792, 790,
1660 1373, 1374, 1374, 1374, 1374, 1374, 1374, 1375, 1375, 1375,
1661 1375, 1375, 1375, 1376, 1376, 1376, 1376, 1376, 1376, 1377,
1662 1377, 1377, 1377, 1377, 1377, 1378, 1378, 1378, 1378, 1378,
1664 1378, 1379, 1379, 1379, 1379, 1379, 1379, 1380, 1380, 1380,
1665 1380, 1380, 1380, 1381, 1381, 1381, 1381, 1381, 1381, 1382,
1666 1382, 1382, 1382, 1382, 1382, 1382, 1383, 1383, 1383, 1383,
1667 1383, 1383, 1383, 1384, 1384, 1384, 1384, 1384, 1384, 1384,
1668 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1386, 1386, 1386,
1669 1386, 1386, 1386, 1386, 1387, 1387, 1387, 1387, 1387, 1387,
1670 1387, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 785, 771,
1671 770, 769, 764, 762, 758, 757, 755, 753, 735, 734,
1672 733, 727, 726, 725, 717, 716, 715, 714, 712, 692,
1673 687, 685, 684, 683, 682, 677, 675, 674, 673, 672,
1675 669, 667, 659, 654, 653, 651, 650, 649, 648, 647,
1676 646, 645, 640, 639, 638, 637, 636, 635, 634, 633,
1677 630, 627, 623, 621, 619, 618, 615, 612, 610, 607,
1678 606, 603, 602, 599, 598, 597, 594, 591, 587, 582,
1679 580, 579, 578, 576, 574, 572, 571, 570, 568, 566,
1680 565, 564, 563, 558, 557, 556, 553, 552, 551, 549,
1681 544, 540, 538, 537, 533, 528, 526, 524, 521, 517,
1682 516, 513, 505, 504, 503, 497, 496, 495, 493, 490,
1683 487, 485, 482, 480, 479, 476, 472, 467, 461, 458,
1684 457, 451, 450, 449, 445, 444, 443, 442, 439, 438,
1686 437, 432, 427, 426, 421, 420, 418, 412, 405, 398,
1687 397, 395, 394, 389, 388, 386, 385, 384, 378, 377,
1688 376, 375, 369, 368, 365, 364, 363, 361, 357, 355,
1689 352, 351, 348, 347, 346, 345, 342, 341, 337, 333,
1690 332, 331, 330, 329, 326, 325, 324, 323, 322, 321,
1691 318, 317, 316, 315, 314, 313, 310, 308, 307, 306,
1692 305, 304, 300, 298, 297, 296, 295, 294, 293, 290,
1693 289, 288, 287, 286, 285, 282, 281, 278, 277, 276,
1694 275, 274, 271, 270, 269, 268, 267, 266, 263, 262,
1695 261, 260, 259, 258, 257, 254, 253, 250, 249, 248,
1697 247, 246, 245, 242, 241, 240, 239, 238, 232, 231,
1698 229, 226, 225, 221, 217, 209, 208, 207, 206, 202,
1699 195, 191, 183, 182, 181, 177, 169, 168, 167, 163,
1700 156, 155, 154, 153, 152, 151, 147, 139, 135, 123,
1701 119, 118, 117, 111, 110, 108, 105, 93, 1332, 1332,
1702 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
1703 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
1704 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
1705 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
1706 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
1708 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
1712 /* Table of booleans, true if rule could match eol. */
1713 static yyconst flex_int32_t yy_rule_can_match_eol[177] =
1715 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1716 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1,
1717 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1718 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1719 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
1720 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
1721 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
1722 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0,
1723 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, };
1725 static yy_state_type yy_last_accepting_state;
1726 static char *yy_last_accepting_cpos;
1728 extern int surf_parse__flex_debug;
1729 int surf_parse__flex_debug = 0;
1731 /* The intent behind this definition is that it'll catch
1732 * any uses of REJECT which flex missed.
1734 #define REJECT reject_used_but_not_detected
1735 #define yymore() yymore_used_but_not_detected
1736 #define YY_MORE_ADJ 0
1737 #define YY_RESTORE_YY_MORE_OFFSET
1738 char *surf_parse_text;
1739 #line 1 "surf/surfxml.l"
1740 /* Validating XML processor for surfxml.dtd.
1741 * Generated 2005/07/25 10:16:11.
1743 * This program was generated with the FleXML XML processor generator.
1744 * FleXML is Copyright © 1999-2005 Kristoffer Rose. All rights reserved.
1745 * (Id: flexml.pl,v 1.44 2005/02/23 23:08:16 mquinson Exp).
1747 * There are two, intertwined parts to this program, part A and part B.
1752 * Some parts, here collectively called "Part A", are found in the
1753 * FleXML package. They are Copyright © 1999-2005 Kristoffer Rose.
1754 * All rights reserved.
1756 * You can redistribute, use, perform, display and/or modify "Part A"
1757 * provided the following two conditions hold:
1759 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
1760 * FleXML; without even the implied warranty of MERCHANTABILITY or
1761 * FITNESS FOR A PARTICULAR PURPOSE.
1763 * 2. The program distribution conditions do not in any way affect the
1764 * distribution conditions of the FleXML system used to generate this
1765 * file or any version of FleXML derived from that system.
1767 * Notice that these are explicit rights granted to you for files
1768 * generated by the FleXML system. For your rights in connection with
1769 * the FleXML system itself please consult the GNU General Public License.
1774 * The other parts, here collectively called "Part B", and which came
1775 * from the DTD used by FleXML to generate this program, can be
1776 * distributed (or not, as the case may be) under the terms of whoever
1777 * wrote them, provided these terms respect and obey the two conditions
1778 * above under the heading "Part A".
1780 * The author of and contributors to FleXML specifically disclaim
1781 * any copyright interest in "Part B", unless "Part B" was written
1782 * by the author of or contributors to FleXML.
1785 #line 48 "surf/surfxml.l"
1787 /* Version strings. */
1788 const char rcs_flexml_skeleton[] =
1789 "$" "Id: skel,v 1.26 2005/02/23 22:22:20 wdowling Exp $";
1790 const char rcs_flexml[] =
1791 "$" "Id: flexml.pl,v 1.44 2005/02/23 23:08:16 mquinson Exp $";
1801 /* Generated definitions. */
1802 #define FLEXML_yylineno
1803 #define FLEXML_BUFFERSTACKSIZE 1000000
1805 /* XML processor api. */
1806 /* FleXML-provided data. */
1808 AT_network_link_bandwidth A_network_link_bandwidth;
1809 AT_cpu_name A_cpu_name;
1810 AT_process_kill_time A_process_kill_time;
1811 AT_network_link_state A_network_link_state;
1812 AT_argument_value A_argument_value;
1813 AT_cpu_availability_file A_cpu_availability_file;
1814 AT_process_host A_process_host;
1815 AT_route_impact_on_src A_route_impact_on_src;
1816 AT_route_src A_route_src;
1817 AT_network_link_latency_file A_network_link_latency_file;
1818 AT_cpu_max_outgoing_rate A_cpu_max_outgoing_rate;
1819 AT_route_impact_on_dst_with_other_send A_route_impact_on_dst_with_other_send;
1820 AT_cpu_interference_send_recv A_cpu_interference_send_recv;
1821 AT_cpu_availability A_cpu_availability;
1822 AT_route_impact_on_dst A_route_impact_on_dst;
1823 AT_cpu_interference_recv A_cpu_interference_recv;
1824 AT_route_impact_on_src_with_other_recv A_route_impact_on_src_with_other_recv;
1825 AT_network_link_name A_network_link_name;
1826 AT_route_element_name A_route_element_name;
1827 AT_cpu_power A_cpu_power;
1828 AT_process_start_time A_process_start_time;
1829 AT_include_file A_include_file;
1830 AT_process_function A_process_function;
1831 AT_network_link_sharing_policy A_network_link_sharing_policy;
1832 AT_route_dst A_route_dst;
1833 AT_cpu_state A_cpu_state;
1834 AT_network_link_latency A_network_link_latency;
1835 AT_network_link_state_file A_network_link_state_file;
1836 AT_cpu_interference_send A_cpu_interference_send;
1837 AT_cpu_state_file A_cpu_state_file;
1838 AT_network_link_bandwidth_file A_network_link_bandwidth_file;
1842 # define ENTER(state) debug_enter(state,#state)
1843 # define LEAVE debug_leave()
1844 # define SET(state) debug_set(state,#state)
1845 static void debug_enter(int, const char*);
1846 static void debug_leave(void);
1847 static void debug_set(int, const char*);
1849 # define ENTER(state) (yy_push_state(state))
1850 # define LEAVE (yy_pop_state())
1851 # define SET(state) BEGIN(state)
1854 /* Generic actions. */
1855 #define SKIP /*skip*/
1856 #define SUCCEED CLEANUP; return 0
1858 #define FAIL return fail
1859 static int fail(const char*, ...);
1860 const char * parse_err_msg(void);
1863 static void cleanup(void);
1864 #define CLEANUP cleanup()
1866 /* Text buffer stack handling. */
1867 char bufferstack[FLEXML_BUFFERSTACKSIZE];
1868 char* limit = bufferstack + FLEXML_BUFFERSTACKSIZE;
1869 typedef struct BufferLast_s {
1870 struct BufferLast_s *old; char* saved; char new1[1];
1872 BufferLast* last = (BufferLast*)0;
1873 char* next = bufferstack;
1875 #define BUFFERSET(P) (P = next)
1876 #define BUFFERPUTC(C) (assert(next<limit), *(next++) = (C))
1877 #define BUFFERDONE (BUFFERPUTC('\0'))
1879 #define BUFFERLITERAL(C,P) bufferliteral(C,&(P),surf_parse_text)
1880 static void bufferliteral(char c, const char** pp, char* text)
1882 char *s = strchr(text,c), *e = strrchr(text,c);
1883 assert(s <= e); BUFFERSET(*pp);
1885 if (isspace(*s)) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
1886 else BUFFERPUTC(*s);
1891 #ifdef FLEXML_HasMixed
1892 static void pushbuffer(char* p)
1894 BufferLast* l = (BufferLast*)next;
1895 assert(next < limit);
1902 static char* popbuffer(void)
1904 BufferLast* l = last;
1905 assert(last != (BufferLast*)0);
1912 /* General internal entities are `unput' back onto the input stream... */
1913 #define ENTITYTEXT(T) \
1914 { char *s = (T), *e = s+strlen(s);\
1915 while (--e >= s) { unput(*e); }}
1916 /* Flex standard options. */
1917 #define YY_NO_INPUT 1
1918 /* Flex user-requested options. */
1919 /* XML character classes (currently restricted to ASCII). */
1920 /* "Common syntactic structures." */
1921 /* "Names and Tokens." */
1922 /* Miscellaneous. */
1923 /* Parser states (flex `exclusive start conditions'):
1925 * PROLOG the XML prolog of the document before <?xml...>
1926 * DOCTYPE the XML prolog of the document after <?xml...>
1927 * EPILOG after the root element
1928 * INCOMMENT inside an XML comment <!--....-->
1929 * INPI inside an XML PI <?...?>
1930 * VALUE1 inside a '...'-delimited literal
1931 * VALUE2 inside a "..."-delimited literal
1932 * CDATA inside a <![CDATA[...m4_userquote_end()> section.
1933 * ROOT_<tag> expect root element <tag>
1934 * AL_<tag> inside the attribute list for <tag>
1935 * IN_<tag> inside a <tag> with element contents (ready for end tag)
1936 * IMPOSSIBLE dummy to permit disabling rules; must be last
1948 #line 237 "surf/surfxml.l"
1950 const char* *statenames=NULL;
1951 #line 1952 "surf/surfxml.c"
1962 #define ROOT_platform_description 9
1963 #define AL_platform_description 10
1964 #define S_platform_description 11
1965 #define S_platform_description_1 12
1966 #define S_platform_description_2 13
1967 #define E_platform_description 14
1968 #define ROOT_include 15
1969 #define AL_include 16
1970 #define S_include 17
1971 #define S_include_1 18
1972 #define S_include_2 19
1973 #define E_include 20
1977 #define ROOT_network_link 24
1978 #define AL_network_link 25
1979 #define E_network_link 26
1980 #define ROOT_route 27
1983 #define S_route_1 30
1984 #define S_route_2 31
1986 #define ROOT_route_element 33
1987 #define AL_route_element 34
1988 #define E_route_element 35
1989 #define ROOT_process 36
1990 #define AL_process 37
1991 #define S_process 38
1992 #define S_process_1 39
1993 #define S_process_2 40
1994 #define E_process 41
1995 #define ROOT_argument 42
1996 #define AL_argument 43
1997 #define E_argument 44
1998 #define IMPOSSIBLE 45
2000 #ifndef YY_NO_UNISTD_H
2001 /* Special case for "unistd.h", since it is non-ANSI. We include it way
2002 * down here because we want the user's section 1 to have been scanned first.
2003 * The user has a chance to override it with an option.
2008 #ifndef YY_EXTRA_TYPE
2009 #define YY_EXTRA_TYPE void *
2012 /* Macros after this point can all be overridden by user definitions in
2016 #ifndef YY_SKIP_YYWRAP
2018 extern "C" int surf_parse_wrap (void );
2020 extern int surf_parse_wrap (void );
2025 static void yy_flex_strncpy (char *,yyconst char *,int );
2028 #ifdef YY_NEED_STRLEN
2029 static int yy_flex_strlen (yyconst char * );
2035 static int yyinput (void );
2037 static int input (void );
2042 static int yy_start_stack_ptr = 0;
2043 static int yy_start_stack_depth = 0;
2044 static int *yy_start_stack = 0;
2046 static void yy_push_state (int new_state );
2048 static void yy_pop_state (void );
2050 /* Amount of stuff to slurp up with each read. */
2051 #ifndef YY_READ_BUF_SIZE
2052 #define YY_READ_BUF_SIZE 8192
2055 /* Copy whatever the last rule matched to the standard output. */
2057 /* This used to be an fputs(), but since the string might contain NUL's,
2058 * we now use fwrite().
2060 #define ECHO (void) fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )
2063 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
2064 * is returned in "result".
2067 #define YY_INPUT(buf,result,max_size) \
2068 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2072 for ( n = 0; n < max_size && \
2073 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
2074 buf[n] = (char) c; \
2076 buf[n++] = (char) c; \
2077 if ( c == EOF && ferror( surf_parse_in ) ) \
2078 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2084 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
2086 if( errno != EINTR) \
2088 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2092 clearerr(surf_parse_in); \
2099 /* No semi-colon after return; correct usage is to write "yyterminate();" -
2100 * we don't want an extra ';' after the "return" because that will cause
2101 * some compilers to complain about unreachable statements.
2104 #define yyterminate() return YY_NULL
2107 /* Number of entries by which start-condition stack grows. */
2108 #ifndef YY_START_STACK_INCR
2109 #define YY_START_STACK_INCR 25
2112 /* Report a fatal error. */
2113 #ifndef YY_FATAL_ERROR
2114 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2117 /* end tables serialization structures and prototypes */
2119 /* Default declaration of generated scanner - a define so the user can
2120 * easily add parameters.
2123 #define YY_DECL_IS_OURS 1
2125 extern int surf_parse_lex (void);
2127 #define YY_DECL int surf_parse_lex (void)
2128 #endif /* !YY_DECL */
2130 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
2133 #ifndef YY_USER_ACTION
2134 #define YY_USER_ACTION
2137 /* Code executed at the end of each rule. */
2139 #define YY_BREAK break;
2142 #define YY_RULE_SETUP \
2145 /** The main scanner function which does all the work.
2149 register yy_state_type yy_current_state;
2150 register char *yy_cp, *yy_bp;
2151 register int yy_act;
2153 #line 241 "surf/surfxml.l"
2156 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
2160 if(!statenames) {statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
2161 statenames[PROLOG] = NULL;
2162 statenames[DOCTYPE] = NULL;
2163 statenames[EPILOG] = NULL;
2164 statenames[INCOMMENT] = NULL;
2165 statenames[INPI] = NULL;
2166 statenames[VALUE1] = NULL;
2167 statenames[VALUE2] = NULL;
2168 statenames[CDATA] = NULL;
2169 statenames[ROOT_platform_description] = NULL;
2170 statenames[AL_platform_description] = NULL;
2171 statenames[S_platform_description] = "platform_description";
2172 statenames[S_platform_description_1] = "platform_description";
2173 statenames[S_platform_description_2] = "platform_description";
2174 statenames[E_platform_description] = "platform_description";
2175 statenames[ROOT_include] = NULL;
2176 statenames[AL_include] = NULL;
2177 statenames[S_include] = "include";
2178 statenames[S_include_1] = "include";
2179 statenames[S_include_2] = "include";
2180 statenames[E_include] = "include";
2181 statenames[ROOT_cpu] = NULL;
2182 statenames[AL_cpu] = NULL;
2183 statenames[E_cpu] = "cpu";
2184 statenames[ROOT_network_link] = NULL;
2185 statenames[AL_network_link] = NULL;
2186 statenames[E_network_link] = "network_link";
2187 statenames[ROOT_route] = NULL;
2188 statenames[AL_route] = NULL;
2189 statenames[S_route] = "route";
2190 statenames[S_route_1] = "route";
2191 statenames[S_route_2] = "route";
2192 statenames[E_route] = "route";
2193 statenames[ROOT_route_element] = NULL;
2194 statenames[AL_route_element] = NULL;
2195 statenames[E_route_element] = "route_element";
2196 statenames[ROOT_process] = NULL;
2197 statenames[AL_process] = NULL;
2198 statenames[S_process] = "process";
2199 statenames[S_process_1] = "process";
2200 statenames[S_process_2] = "process";
2201 statenames[E_process] = "process";
2202 statenames[ROOT_argument] = NULL;
2203 statenames[AL_argument] = NULL;
2204 statenames[E_argument] = "argument";
2207 /* COMMENTS and PIs: handled uniformly for efficiency. */
2209 #line 2210 "surf/surfxml.c"
2220 (yy_start) = 1; /* first start state */
2222 if ( ! surf_parse_in )
2223 surf_parse_in = stdin;
2225 if ( ! surf_parse_out )
2226 surf_parse_out = stdout;
2228 if ( ! YY_CURRENT_BUFFER ) {
2229 surf_parse_ensure_buffer_stack ();
2230 YY_CURRENT_BUFFER_LVALUE =
2231 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
2234 surf_parse__load_buffer_state( );
2237 while ( 1 ) /* loops until end-of-file is reached */
2239 yy_cp = (yy_c_buf_p);
2241 /* Support of surf_parse_text. */
2242 *yy_cp = (yy_hold_char);
2244 /* yy_bp points to the position in yy_ch_buf of the start of
2249 yy_current_state = (yy_start);
2253 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
2254 if ( yy_accept[yy_current_state] )
2256 (yy_last_accepting_state) = yy_current_state;
2257 (yy_last_accepting_cpos) = yy_cp;
2259 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2261 yy_current_state = (int) yy_def[yy_current_state];
2262 if ( yy_current_state >= 1333 )
2263 yy_c = yy_meta[(unsigned int) yy_c];
2265 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2268 while ( yy_base[yy_current_state] != 3649 );
2271 yy_act = yy_accept[yy_current_state];
2273 { /* have to back up */
2274 yy_cp = (yy_last_accepting_cpos);
2275 yy_current_state = (yy_last_accepting_state);
2276 yy_act = yy_accept[yy_current_state];
2279 YY_DO_BEFORE_ACTION;
2281 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
2284 for ( yyl = 0; yyl < surf_parse_leng; ++yyl )
2285 if ( surf_parse_text[yyl] == '\n' )
2287 surf_parse_lineno++;
2291 do_action: /* This label is used only to access EOF actions. */
2294 { /* beginning of action switch */
2295 case 0: /* must back up */
2296 /* undo the effects of YY_DO_BEFORE_ACTION */
2297 *yy_cp = (yy_hold_char);
2298 yy_cp = (yy_last_accepting_cpos);
2299 yy_current_state = (yy_last_accepting_state);
2300 goto yy_find_action;
2304 #line 297 "surf/surfxml.l"
2309 #line 298 "surf/surfxml.l"
2316 #line 301 "surf/surfxml.l"
2320 #line 303 "surf/surfxml.l"
2322 #line 304 "surf/surfxml.l"
2324 /* rule 6 can match eol */
2326 #line 304 "surf/surfxml.l"
2329 case YY_STATE_EOF(INCOMMENT):
2330 #line 305 "surf/surfxml.l"
2331 FAIL("EOF in comment.");
2337 #line 308 "surf/surfxml.l"
2341 #line 310 "surf/surfxml.l"
2343 /* rule 9 can match eol */
2345 #line 310 "surf/surfxml.l"
2348 case YY_STATE_EOF(INPI):
2349 #line 311 "surf/surfxml.l"
2350 FAIL("EOF in PI (processing instruction).");
2353 /* SPACES: skipped uniformly */
2355 /* rule 10 can match eol */
2357 #line 316 "surf/surfxml.l"
2360 /* PROLOG: determine root element and process it. */
2363 /* rule 11 can match eol */
2365 #line 321 "surf/surfxml.l"
2369 /* rule 12 can match eol */
2371 #line 322 "surf/surfxml.l"
2372 FAIL("Bad declaration %s.",surf_parse_text);
2377 /* rule 13 can match eol */
2379 #line 326 "surf/surfxml.l"
2383 /* rule 14 can match eol */
2385 #line 327 "surf/surfxml.l"
2386 SET(ROOT_route_element);
2389 /* rule 15 can match eol */
2391 #line 328 "surf/surfxml.l"
2395 /* rule 16 can match eol */
2397 #line 329 "surf/surfxml.l"
2401 /* rule 17 can match eol */
2403 #line 330 "surf/surfxml.l"
2407 /* rule 18 can match eol */
2409 #line 331 "surf/surfxml.l"
2410 SET(ROOT_platform_description);
2413 /* rule 19 can match eol */
2415 #line 332 "surf/surfxml.l"
2416 SET(ROOT_network_link);
2419 /* rule 20 can match eol */
2421 #line 333 "surf/surfxml.l"
2425 /* rule 21 can match eol */
2427 #line 334 "surf/surfxml.l"
2428 FAIL("Bad declaration %s.",surf_parse_text);
2432 #line 335 "surf/surfxml.l"
2433 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
2435 case YY_STATE_EOF(PROLOG):
2436 case YY_STATE_EOF(DOCTYPE):
2437 #line 336 "surf/surfxml.l"
2438 FAIL("EOF in prolog.");
2441 /* RULES DERIVED FROM DTD. */
2442 /* <!-- Small DTD for SURF based tools. --> */
2444 /* rule 23 can match eol */
2446 #line 343 "surf/surfxml.l"
2448 ENTER(AL_platform_description);
2454 #line 348 "surf/surfxml.l"
2456 LEAVE; STag_platform_description();pcdata = NULL; ENTER(S_platform_description);
2461 #line 351 "surf/surfxml.l"
2463 LEAVE; STag_platform_description(); pcdata = NULL; ETag_platform_description();
2465 case ROOT_platform_description: SET(EPILOG); break;
2471 #line 357 "surf/surfxml.l"
2472 FAIL("Unexpected character `%c' in attribute list of platform_description element.", surf_parse_text[0]);
2476 #line 358 "surf/surfxml.l"
2477 FAIL("Bad attribute `%s' in `platform_description' element start tag.",surf_parse_text);
2479 case YY_STATE_EOF(AL_platform_description):
2480 #line 359 "surf/surfxml.l"
2481 FAIL("EOF in attribute list of `platform_description' element.");
2486 /* rule 28 can match eol */
2488 #line 363 "surf/surfxml.l"
2491 ETag_platform_description();
2493 case ROOT_platform_description: SET(EPILOG); break;
2498 /* rule 29 can match eol */
2500 #line 370 "surf/surfxml.l"
2501 FAIL("Unexpected end-tag `%s': `</platform_description>' expected.",surf_parse_text);
2505 #line 371 "surf/surfxml.l"
2506 FAIL("Unexpected character `%c': `</platform_description>' expected.",surf_parse_text[0]);
2508 case YY_STATE_EOF(E_platform_description):
2509 case YY_STATE_EOF(S_platform_description_2):
2510 case YY_STATE_EOF(S_platform_description):
2511 #line 372 "surf/surfxml.l"
2512 FAIL("Premature EOF: `</platform_description>' expected.");
2516 /* rule 31 can match eol */
2518 #line 375 "surf/surfxml.l"
2520 A_include_file = NULL;
2526 /* rule 32 can match eol */
2528 #line 381 "surf/surfxml.l"
2529 ENTER(VALUE1); BUFFERSET(A_include_file);
2532 /* rule 33 can match eol */
2534 #line 382 "surf/surfxml.l"
2535 ENTER(VALUE2); BUFFERSET(A_include_file);
2539 #line 384 "surf/surfxml.l"
2541 if (!A_include_file) FAIL("Required attribute `file' not set for `include' element.");
2542 LEAVE; STag_include();pcdata = NULL; ENTER(S_include);
2547 #line 388 "surf/surfxml.l"
2549 if (!A_include_file) FAIL("Required attribute `file' not set for `include' element.");
2550 LEAVE; STag_include(); pcdata = NULL; ETag_include();
2552 case S_platform_description_2: case S_platform_description_1: case S_platform_description: SET(S_platform_description_2); break;
2553 case S_include: case S_include_2: case S_include_1: SET(S_include_2); break;
2554 case ROOT_include: SET(EPILOG); break;
2560 #line 397 "surf/surfxml.l"
2561 FAIL("Unexpected character `%c' in attribute list of include element.", surf_parse_text[0]);
2565 #line 398 "surf/surfxml.l"
2566 FAIL("Bad attribute `%s' in `include' element start tag.",surf_parse_text);
2568 case YY_STATE_EOF(AL_include):
2569 #line 399 "surf/surfxml.l"
2570 FAIL("EOF in attribute list of `include' element.");
2575 /* rule 38 can match eol */
2577 #line 403 "surf/surfxml.l"
2582 case S_platform_description_2: case S_platform_description_1: case S_platform_description: SET(S_platform_description_2); break;
2583 case S_include: case S_include_2: case S_include_1: SET(S_include_2); break;
2584 case ROOT_include: SET(EPILOG); break;
2589 /* rule 39 can match eol */
2591 #line 412 "surf/surfxml.l"
2592 FAIL("Unexpected end-tag `%s': `</include>' expected.",surf_parse_text);
2596 #line 413 "surf/surfxml.l"
2597 FAIL("Unexpected character `%c': `</include>' expected.",surf_parse_text[0]);
2599 case YY_STATE_EOF(E_include):
2600 case YY_STATE_EOF(S_include):
2601 case YY_STATE_EOF(S_include_2):
2602 #line 414 "surf/surfxml.l"
2603 FAIL("Premature EOF: `</include>' expected.");
2607 /* rule 41 can match eol */
2609 #line 417 "surf/surfxml.l"
2613 A_cpu_availability = "1.0";
2614 A_cpu_availability_file = NULL;
2615 A_cpu_state = A_cpu_state_ON;
2616 A_cpu_state_file = NULL;
2617 A_cpu_interference_send = "1.0";
2618 A_cpu_interference_recv = "1.0";
2619 A_cpu_interference_send_recv = "1.0";
2620 A_cpu_max_outgoing_rate = "-1.0";
2626 /* rule 42 can match eol */
2628 #line 432 "surf/surfxml.l"
2629 ENTER(VALUE1); BUFFERSET(A_cpu_name);
2632 /* rule 43 can match eol */
2634 #line 433 "surf/surfxml.l"
2635 ENTER(VALUE2); BUFFERSET(A_cpu_name);
2638 /* rule 44 can match eol */
2640 #line 435 "surf/surfxml.l"
2641 ENTER(VALUE1); BUFFERSET(A_cpu_power);
2644 /* rule 45 can match eol */
2646 #line 436 "surf/surfxml.l"
2647 ENTER(VALUE2); BUFFERSET(A_cpu_power);
2650 /* rule 46 can match eol */
2652 #line 438 "surf/surfxml.l"
2653 ENTER(VALUE1); BUFFERSET(A_cpu_availability);
2656 /* rule 47 can match eol */
2658 #line 439 "surf/surfxml.l"
2659 ENTER(VALUE2); BUFFERSET(A_cpu_availability);
2662 /* rule 48 can match eol */
2664 #line 441 "surf/surfxml.l"
2665 ENTER(VALUE1); BUFFERSET(A_cpu_availability_file);
2668 /* rule 49 can match eol */
2670 #line 442 "surf/surfxml.l"
2671 ENTER(VALUE2); BUFFERSET(A_cpu_availability_file);
2674 /* rule 50 can match eol */
2675 #line 445 "surf/surfxml.l"
2677 /* rule 51 can match eol */
2679 #line 445 "surf/surfxml.l"
2680 A_cpu_state = A_cpu_state_ON;
2683 /* rule 52 can match eol */
2684 #line 447 "surf/surfxml.l"
2686 /* rule 53 can match eol */
2688 #line 447 "surf/surfxml.l"
2689 A_cpu_state = A_cpu_state_OFF;
2692 /* rule 54 can match eol */
2694 #line 449 "surf/surfxml.l"
2695 ENTER(VALUE1); BUFFERSET(A_cpu_state_file);
2698 /* rule 55 can match eol */
2700 #line 450 "surf/surfxml.l"
2701 ENTER(VALUE2); BUFFERSET(A_cpu_state_file);
2704 /* rule 56 can match eol */
2706 #line 452 "surf/surfxml.l"
2707 ENTER(VALUE1); BUFFERSET(A_cpu_interference_send);
2710 /* rule 57 can match eol */
2712 #line 453 "surf/surfxml.l"
2713 ENTER(VALUE2); BUFFERSET(A_cpu_interference_send);
2716 /* rule 58 can match eol */
2718 #line 455 "surf/surfxml.l"
2719 ENTER(VALUE1); BUFFERSET(A_cpu_interference_recv);
2722 /* rule 59 can match eol */
2724 #line 456 "surf/surfxml.l"
2725 ENTER(VALUE2); BUFFERSET(A_cpu_interference_recv);
2728 /* rule 60 can match eol */
2730 #line 458 "surf/surfxml.l"
2731 ENTER(VALUE1); BUFFERSET(A_cpu_interference_send_recv);
2734 /* rule 61 can match eol */
2736 #line 459 "surf/surfxml.l"
2737 ENTER(VALUE2); BUFFERSET(A_cpu_interference_send_recv);
2740 /* rule 62 can match eol */
2742 #line 461 "surf/surfxml.l"
2743 ENTER(VALUE1); BUFFERSET(A_cpu_max_outgoing_rate);
2746 /* rule 63 can match eol */
2748 #line 462 "surf/surfxml.l"
2749 ENTER(VALUE2); BUFFERSET(A_cpu_max_outgoing_rate);
2753 #line 464 "surf/surfxml.l"
2755 if (!A_cpu_name) FAIL("Required attribute `name' not set for `cpu' element.");
2756 if (!A_cpu_power) FAIL("Required attribute `power' not set for `cpu' element.");
2757 LEAVE; STag_cpu();pcdata = NULL; ENTER(E_cpu);
2762 #line 469 "surf/surfxml.l"
2764 if (!A_cpu_name) FAIL("Required attribute `name' not set for `cpu' element.");
2765 if (!A_cpu_power) FAIL("Required attribute `power' not set for `cpu' element.");
2766 LEAVE; STag_cpu(); pcdata = NULL; ETag_cpu();
2768 case S_platform_description_2: case S_platform_description_1: case S_platform_description: SET(S_platform_description_2); break;
2769 case S_include: case S_include_2: case S_include_1: SET(S_include_2); break;
2770 case ROOT_cpu: SET(EPILOG); break;
2776 #line 479 "surf/surfxml.l"
2777 FAIL("Unexpected character `%c' in attribute list of cpu element.", surf_parse_text[0]);
2781 #line 480 "surf/surfxml.l"
2782 FAIL("Bad attribute `%s' in `cpu' element start tag.",surf_parse_text);
2784 case YY_STATE_EOF(AL_cpu):
2785 #line 481 "surf/surfxml.l"
2786 FAIL("EOF in attribute list of `cpu' element.");
2791 /* rule 68 can match eol */
2793 #line 485 "surf/surfxml.l"
2798 case S_platform_description_2: case S_platform_description_1: case S_platform_description: SET(S_platform_description_2); break;
2799 case S_include: case S_include_2: case S_include_1: SET(S_include_2); break;
2800 case ROOT_cpu: SET(EPILOG); break;
2805 /* rule 69 can match eol */
2807 #line 494 "surf/surfxml.l"
2808 FAIL("Unexpected end-tag `%s': `</cpu>' expected.",surf_parse_text);
2812 #line 495 "surf/surfxml.l"
2813 FAIL("Unexpected character `%c': `</cpu>' expected.",surf_parse_text[0]);
2815 case YY_STATE_EOF(E_cpu):
2816 #line 496 "surf/surfxml.l"
2817 FAIL("Premature EOF: `</cpu>' expected.");
2821 /* rule 71 can match eol */
2823 #line 499 "surf/surfxml.l"
2825 A_network_link_name = NULL;
2826 A_network_link_bandwidth = NULL;
2827 A_network_link_bandwidth_file = NULL;
2828 A_network_link_latency = "0.0";
2829 A_network_link_latency_file = NULL;
2830 A_network_link_state = A_network_link_state_ON;
2831 A_network_link_state_file = NULL;
2832 A_network_link_sharing_policy = A_network_link_sharing_policy_SHARED;
2833 ENTER(AL_network_link);
2838 /* rule 72 can match eol */
2840 #line 512 "surf/surfxml.l"
2841 ENTER(VALUE1); BUFFERSET(A_network_link_name);
2844 /* rule 73 can match eol */
2846 #line 513 "surf/surfxml.l"
2847 ENTER(VALUE2); BUFFERSET(A_network_link_name);
2850 /* rule 74 can match eol */
2852 #line 515 "surf/surfxml.l"
2853 ENTER(VALUE1); BUFFERSET(A_network_link_bandwidth);
2856 /* rule 75 can match eol */
2858 #line 516 "surf/surfxml.l"
2859 ENTER(VALUE2); BUFFERSET(A_network_link_bandwidth);
2862 /* rule 76 can match eol */
2864 #line 518 "surf/surfxml.l"
2865 ENTER(VALUE1); BUFFERSET(A_network_link_bandwidth_file);
2868 /* rule 77 can match eol */
2870 #line 519 "surf/surfxml.l"
2871 ENTER(VALUE2); BUFFERSET(A_network_link_bandwidth_file);
2874 /* rule 78 can match eol */
2876 #line 521 "surf/surfxml.l"
2877 ENTER(VALUE1); BUFFERSET(A_network_link_latency);
2880 /* rule 79 can match eol */
2882 #line 522 "surf/surfxml.l"
2883 ENTER(VALUE2); BUFFERSET(A_network_link_latency);
2886 /* rule 80 can match eol */
2888 #line 524 "surf/surfxml.l"
2889 ENTER(VALUE1); BUFFERSET(A_network_link_latency_file);
2892 /* rule 81 can match eol */
2894 #line 525 "surf/surfxml.l"
2895 ENTER(VALUE2); BUFFERSET(A_network_link_latency_file);
2898 /* rule 82 can match eol */
2899 #line 528 "surf/surfxml.l"
2901 /* rule 83 can match eol */
2903 #line 528 "surf/surfxml.l"
2904 A_network_link_state = A_network_link_state_ON;
2907 /* rule 84 can match eol */
2908 #line 530 "surf/surfxml.l"
2910 /* rule 85 can match eol */
2912 #line 530 "surf/surfxml.l"
2913 A_network_link_state = A_network_link_state_OFF;
2916 /* rule 86 can match eol */
2918 #line 532 "surf/surfxml.l"
2919 ENTER(VALUE1); BUFFERSET(A_network_link_state_file);
2922 /* rule 87 can match eol */
2924 #line 533 "surf/surfxml.l"
2925 ENTER(VALUE2); BUFFERSET(A_network_link_state_file);
2928 /* rule 88 can match eol */
2929 #line 536 "surf/surfxml.l"
2931 /* rule 89 can match eol */
2933 #line 536 "surf/surfxml.l"
2934 A_network_link_sharing_policy = A_network_link_sharing_policy_SHARED;
2937 /* rule 90 can match eol */
2938 #line 538 "surf/surfxml.l"
2940 /* rule 91 can match eol */
2942 #line 538 "surf/surfxml.l"
2943 A_network_link_sharing_policy = A_network_link_sharing_policy_FATPIPE;
2947 #line 540 "surf/surfxml.l"
2949 if (!A_network_link_name) FAIL("Required attribute `name' not set for `network_link' element.");
2950 if (!A_network_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `network_link' element.");
2951 LEAVE; STag_network_link();pcdata = NULL; ENTER(E_network_link);
2956 #line 545 "surf/surfxml.l"
2958 if (!A_network_link_name) FAIL("Required attribute `name' not set for `network_link' element.");
2959 if (!A_network_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `network_link' element.");
2960 LEAVE; STag_network_link(); pcdata = NULL; ETag_network_link();
2962 case S_platform_description_2: case S_platform_description_1: case S_platform_description: SET(S_platform_description_2); break;
2963 case S_include: case S_include_2: case S_include_1: SET(S_include_2); break;
2964 case ROOT_network_link: SET(EPILOG); break;
2970 #line 555 "surf/surfxml.l"
2971 FAIL("Unexpected character `%c' in attribute list of network_link element.", surf_parse_text[0]);
2975 #line 556 "surf/surfxml.l"
2976 FAIL("Bad attribute `%s' in `network_link' element start tag.",surf_parse_text);
2978 case YY_STATE_EOF(AL_network_link):
2979 #line 557 "surf/surfxml.l"
2980 FAIL("EOF in attribute list of `network_link' element.");
2985 /* rule 96 can match eol */
2987 #line 561 "surf/surfxml.l"
2990 ETag_network_link();
2992 case S_platform_description_2: case S_platform_description_1: case S_platform_description: SET(S_platform_description_2); break;
2993 case S_include: case S_include_2: case S_include_1: SET(S_include_2); break;
2994 case ROOT_network_link: SET(EPILOG); break;
2999 /* rule 97 can match eol */
3001 #line 570 "surf/surfxml.l"
3002 FAIL("Unexpected end-tag `%s': `</network_link>' expected.",surf_parse_text);
3006 #line 571 "surf/surfxml.l"
3007 FAIL("Unexpected character `%c': `</network_link>' expected.",surf_parse_text[0]);
3009 case YY_STATE_EOF(E_network_link):
3010 #line 572 "surf/surfxml.l"
3011 FAIL("Premature EOF: `</network_link>' expected.");
3015 /* rule 99 can match eol */
3017 #line 575 "surf/surfxml.l"
3021 A_route_impact_on_src = "0.0";
3022 A_route_impact_on_dst = "0.0";
3023 A_route_impact_on_src_with_other_recv = "0.0";
3024 A_route_impact_on_dst_with_other_send = "0.0";
3030 /* rule 100 can match eol */
3032 #line 586 "surf/surfxml.l"
3033 ENTER(VALUE1); BUFFERSET(A_route_src);
3036 /* rule 101 can match eol */
3038 #line 587 "surf/surfxml.l"
3039 ENTER(VALUE2); BUFFERSET(A_route_src);
3042 /* rule 102 can match eol */
3044 #line 589 "surf/surfxml.l"
3045 ENTER(VALUE1); BUFFERSET(A_route_dst);
3048 /* rule 103 can match eol */
3050 #line 590 "surf/surfxml.l"
3051 ENTER(VALUE2); BUFFERSET(A_route_dst);
3054 /* rule 104 can match eol */
3056 #line 592 "surf/surfxml.l"
3057 ENTER(VALUE1); BUFFERSET(A_route_impact_on_src);
3060 /* rule 105 can match eol */
3062 #line 593 "surf/surfxml.l"
3063 ENTER(VALUE2); BUFFERSET(A_route_impact_on_src);
3066 /* rule 106 can match eol */
3068 #line 595 "surf/surfxml.l"
3069 ENTER(VALUE1); BUFFERSET(A_route_impact_on_dst);
3072 /* rule 107 can match eol */
3074 #line 596 "surf/surfxml.l"
3075 ENTER(VALUE2); BUFFERSET(A_route_impact_on_dst);
3078 /* rule 108 can match eol */
3080 #line 598 "surf/surfxml.l"
3081 ENTER(VALUE1); BUFFERSET(A_route_impact_on_src_with_other_recv);
3084 /* rule 109 can match eol */
3086 #line 599 "surf/surfxml.l"
3087 ENTER(VALUE2); BUFFERSET(A_route_impact_on_src_with_other_recv);
3090 /* rule 110 can match eol */
3092 #line 601 "surf/surfxml.l"
3093 ENTER(VALUE1); BUFFERSET(A_route_impact_on_dst_with_other_send);
3096 /* rule 111 can match eol */
3098 #line 602 "surf/surfxml.l"
3099 ENTER(VALUE2); BUFFERSET(A_route_impact_on_dst_with_other_send);
3103 #line 604 "surf/surfxml.l"
3105 if (!A_route_src) FAIL("Required attribute `src' not set for `route' element.");
3106 if (!A_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
3107 LEAVE; STag_route();pcdata = NULL; ENTER(S_route);
3112 #line 609 "surf/surfxml.l"
3114 if (!A_route_src) FAIL("Required attribute `src' not set for `route' element.");
3115 if (!A_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
3116 LEAVE; STag_route(); pcdata = NULL; ETag_route();
3118 case S_platform_description_2: case S_platform_description_1: case S_platform_description: SET(S_platform_description_2); break;
3119 case S_include: case S_include_2: case S_include_1: SET(S_include_2); break;
3120 case ROOT_route: SET(EPILOG); break;
3126 #line 619 "surf/surfxml.l"
3127 FAIL("Unexpected character `%c' in attribute list of route element.", surf_parse_text[0]);
3131 #line 620 "surf/surfxml.l"
3132 FAIL("Bad attribute `%s' in `route' element start tag.",surf_parse_text);
3134 case YY_STATE_EOF(AL_route):
3135 #line 621 "surf/surfxml.l"
3136 FAIL("EOF in attribute list of `route' element.");
3141 /* rule 116 can match eol */
3143 #line 625 "surf/surfxml.l"
3148 case S_platform_description_2: case S_platform_description_1: case S_platform_description: SET(S_platform_description_2); break;
3149 case S_include: case S_include_2: case S_include_1: SET(S_include_2); break;
3150 case ROOT_route: SET(EPILOG); break;
3155 /* rule 117 can match eol */
3157 #line 634 "surf/surfxml.l"
3158 FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
3162 #line 635 "surf/surfxml.l"
3163 FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
3165 case YY_STATE_EOF(S_route):
3166 case YY_STATE_EOF(S_route_2):
3167 case YY_STATE_EOF(E_route):
3168 #line 636 "surf/surfxml.l"
3169 FAIL("Premature EOF: `</route>' expected.");
3173 /* rule 119 can match eol */
3175 #line 639 "surf/surfxml.l"
3177 A_route_element_name = NULL;
3178 ENTER(AL_route_element);
3183 /* rule 120 can match eol */
3185 #line 645 "surf/surfxml.l"
3186 ENTER(VALUE1); BUFFERSET(A_route_element_name);
3189 /* rule 121 can match eol */
3191 #line 646 "surf/surfxml.l"
3192 ENTER(VALUE2); BUFFERSET(A_route_element_name);
3196 #line 648 "surf/surfxml.l"
3198 if (!A_route_element_name) FAIL("Required attribute `name' not set for `route_element' element.");
3199 LEAVE; STag_route_element();pcdata = NULL; ENTER(E_route_element);
3204 #line 652 "surf/surfxml.l"
3206 if (!A_route_element_name) FAIL("Required attribute `name' not set for `route_element' element.");
3207 LEAVE; STag_route_element(); pcdata = NULL; ETag_route_element();
3209 case S_route_1: case S_route: case S_route_2: SET(S_route_2); break;
3210 case ROOT_route_element: SET(EPILOG); break;
3216 #line 660 "surf/surfxml.l"
3217 FAIL("Unexpected character `%c' in attribute list of route_element element.", surf_parse_text[0]);
3221 #line 661 "surf/surfxml.l"
3222 FAIL("Bad attribute `%s' in `route_element' element start tag.",surf_parse_text);
3224 case YY_STATE_EOF(AL_route_element):
3225 #line 662 "surf/surfxml.l"
3226 FAIL("EOF in attribute list of `route_element' element.");
3231 /* rule 126 can match eol */
3233 #line 666 "surf/surfxml.l"
3236 ETag_route_element();
3238 case S_route_1: case S_route: case S_route_2: SET(S_route_2); break;
3239 case ROOT_route_element: SET(EPILOG); break;
3244 /* rule 127 can match eol */
3246 #line 674 "surf/surfxml.l"
3247 FAIL("Unexpected end-tag `%s': `</route_element>' expected.",surf_parse_text);
3251 #line 675 "surf/surfxml.l"
3252 FAIL("Unexpected character `%c': `</route_element>' expected.",surf_parse_text[0]);
3254 case YY_STATE_EOF(E_route_element):
3255 #line 676 "surf/surfxml.l"
3256 FAIL("Premature EOF: `</route_element>' expected.");
3260 /* rule 129 can match eol */
3262 #line 679 "surf/surfxml.l"
3264 A_process_host = NULL;
3265 A_process_function = NULL;
3266 A_process_start_time = "-1.0";
3267 A_process_kill_time = "-1.0";
3273 /* rule 130 can match eol */
3275 #line 688 "surf/surfxml.l"
3276 ENTER(VALUE1); BUFFERSET(A_process_host);
3279 /* rule 131 can match eol */
3281 #line 689 "surf/surfxml.l"
3282 ENTER(VALUE2); BUFFERSET(A_process_host);
3285 /* rule 132 can match eol */
3287 #line 691 "surf/surfxml.l"
3288 ENTER(VALUE1); BUFFERSET(A_process_function);
3291 /* rule 133 can match eol */
3293 #line 692 "surf/surfxml.l"
3294 ENTER(VALUE2); BUFFERSET(A_process_function);
3297 /* rule 134 can match eol */
3299 #line 694 "surf/surfxml.l"
3300 ENTER(VALUE1); BUFFERSET(A_process_start_time);
3303 /* rule 135 can match eol */
3305 #line 695 "surf/surfxml.l"
3306 ENTER(VALUE2); BUFFERSET(A_process_start_time);
3309 /* rule 136 can match eol */
3311 #line 697 "surf/surfxml.l"
3312 ENTER(VALUE1); BUFFERSET(A_process_kill_time);
3315 /* rule 137 can match eol */
3317 #line 698 "surf/surfxml.l"
3318 ENTER(VALUE2); BUFFERSET(A_process_kill_time);
3322 #line 700 "surf/surfxml.l"
3324 if (!A_process_host) FAIL("Required attribute `host' not set for `process' element.");
3325 if (!A_process_function) FAIL("Required attribute `function' not set for `process' element.");
3326 LEAVE; STag_process();pcdata = NULL; ENTER(S_process);
3331 #line 705 "surf/surfxml.l"
3333 if (!A_process_host) FAIL("Required attribute `host' not set for `process' element.");
3334 if (!A_process_function) FAIL("Required attribute `function' not set for `process' element.");
3335 LEAVE; STag_process(); pcdata = NULL; ETag_process();
3337 case S_platform_description_2: case S_platform_description_1: case S_platform_description: SET(S_platform_description_2); break;
3338 case S_include: case S_include_2: case S_include_1: SET(S_include_2); break;
3339 case ROOT_process: SET(EPILOG); break;
3345 #line 715 "surf/surfxml.l"
3346 FAIL("Unexpected character `%c' in attribute list of process element.", surf_parse_text[0]);
3350 #line 716 "surf/surfxml.l"
3351 FAIL("Bad attribute `%s' in `process' element start tag.",surf_parse_text);
3353 case YY_STATE_EOF(AL_process):
3354 #line 717 "surf/surfxml.l"
3355 FAIL("EOF in attribute list of `process' element.");
3360 /* rule 142 can match eol */
3362 #line 721 "surf/surfxml.l"
3367 case S_platform_description_2: case S_platform_description_1: case S_platform_description: SET(S_platform_description_2); break;
3368 case S_include: case S_include_2: case S_include_1: SET(S_include_2); break;
3369 case ROOT_process: SET(EPILOG); break;
3374 /* rule 143 can match eol */
3376 #line 730 "surf/surfxml.l"
3377 FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
3381 #line 731 "surf/surfxml.l"
3382 FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
3384 case YY_STATE_EOF(S_process):
3385 case YY_STATE_EOF(E_process):
3386 case YY_STATE_EOF(S_process_2):
3387 #line 732 "surf/surfxml.l"
3388 FAIL("Premature EOF: `</process>' expected.");
3392 /* rule 145 can match eol */
3394 #line 735 "surf/surfxml.l"
3396 A_argument_value = NULL;
3402 /* rule 146 can match eol */
3404 #line 741 "surf/surfxml.l"
3405 ENTER(VALUE1); BUFFERSET(A_argument_value);
3408 /* rule 147 can match eol */
3410 #line 742 "surf/surfxml.l"
3411 ENTER(VALUE2); BUFFERSET(A_argument_value);
3415 #line 744 "surf/surfxml.l"
3417 if (!A_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
3418 LEAVE; STag_argument();pcdata = NULL; ENTER(E_argument);
3423 #line 748 "surf/surfxml.l"
3425 if (!A_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
3426 LEAVE; STag_argument(); pcdata = NULL; ETag_argument();
3428 case ROOT_argument: SET(EPILOG); break;
3429 case S_process_1: case S_process: case S_process_2: SET(S_process_2); break;
3435 #line 756 "surf/surfxml.l"
3436 FAIL("Unexpected character `%c' in attribute list of argument element.", surf_parse_text[0]);
3440 #line 757 "surf/surfxml.l"
3441 FAIL("Bad attribute `%s' in `argument' element start tag.",surf_parse_text);
3443 case YY_STATE_EOF(AL_argument):
3444 #line 758 "surf/surfxml.l"
3445 FAIL("EOF in attribute list of `argument' element.");
3450 /* rule 152 can match eol */
3452 #line 762 "surf/surfxml.l"
3457 case ROOT_argument: SET(EPILOG); break;
3458 case S_process_1: case S_process: case S_process_2: SET(S_process_2); break;
3463 /* rule 153 can match eol */
3465 #line 770 "surf/surfxml.l"
3466 FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
3470 #line 771 "surf/surfxml.l"
3471 FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
3473 case YY_STATE_EOF(E_argument):
3474 #line 772 "surf/surfxml.l"
3475 FAIL("Premature EOF: `</argument>' expected.");
3478 /* EPILOG: after the root element. */
3482 #line 778 "surf/surfxml.l"
3483 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
3485 case YY_STATE_EOF(EPILOG):
3486 #line 779 "surf/surfxml.l"
3490 /* CHARACTER DATA. */
3492 /* Non-defined standard entities... */
3495 #line 786 "surf/surfxml.l"
3500 #line 787 "surf/surfxml.l"
3505 #line 788 "surf/surfxml.l"
3510 #line 789 "surf/surfxml.l"
3515 #line 790 "surf/surfxml.l"
3518 /* Character entities. */
3521 #line 793 "surf/surfxml.l"
3522 BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
3526 #line 794 "surf/surfxml.l"
3527 BUFFERPUTC((unsigned char)strtol(surf_parse_text+3,NULL,16));
3532 /* rule 163 can match eol */
3533 #line 799 "surf/surfxml.l"
3535 /* rule 164 can match eol */
3536 #line 800 "surf/surfxml.l"
3538 /* rule 165 can match eol */
3539 #line 801 "surf/surfxml.l"
3541 /* rule 166 can match eol */
3543 #line 801 "surf/surfxml.l"
3550 #line 805 "surf/surfxml.l"
3555 #line 806 "surf/surfxml.l"
3556 FAIL("Unexpected `]""]>' in character data.");
3562 #line 810 "surf/surfxml.l"
3565 case YY_STATE_EOF(VALUE1):
3566 #line 811 "surf/surfxml.l"
3567 FAIL("EOF in literal (\"'\" expected).");
3573 #line 815 "surf/surfxml.l"
3576 case YY_STATE_EOF(VALUE2):
3577 #line 816 "surf/surfxml.l"
3578 FAIL("EOF in literal (`\"' expected).");
3583 /* rule 171 can match eol */
3585 #line 820 "surf/surfxml.l"
3586 BUFFERPUTC(surf_parse_text[0]);
3590 #line 821 "surf/surfxml.l"
3591 FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
3597 #line 825 "surf/surfxml.l"
3600 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
3603 #line 827 "surf/surfxml.l"
3604 BUFFERPUTC(surf_parse_text[0]);
3606 case YY_STATE_EOF(CDATA):
3607 #line 828 "surf/surfxml.l"
3608 FAIL("EOF in CDATA section.");
3611 /* Impossible rules to avoid warnings from flex(1). */
3612 /* Ideally, this should be replaced by code in flexml.pl that
3613 generates just the states not covered by other rules. */
3616 /* rule 175 can match eol */
3618 #line 835 "surf/surfxml.l"
3619 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
3624 #line 838 "surf/surfxml.l"
3627 #line 3628 "surf/surfxml.c"
3628 case YY_STATE_EOF(INITIAL):
3629 case YY_STATE_EOF(ROOT_platform_description):
3630 case YY_STATE_EOF(S_platform_description_1):
3631 case YY_STATE_EOF(ROOT_include):
3632 case YY_STATE_EOF(S_include_1):
3633 case YY_STATE_EOF(ROOT_cpu):
3634 case YY_STATE_EOF(ROOT_network_link):
3635 case YY_STATE_EOF(ROOT_route):
3636 case YY_STATE_EOF(S_route_1):
3637 case YY_STATE_EOF(ROOT_route_element):
3638 case YY_STATE_EOF(ROOT_process):
3639 case YY_STATE_EOF(S_process_1):
3640 case YY_STATE_EOF(ROOT_argument):
3641 case YY_STATE_EOF(IMPOSSIBLE):
3644 case YY_END_OF_BUFFER:
3646 /* Amount of text matched not including the EOB char. */
3647 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
3649 /* Undo the effects of YY_DO_BEFORE_ACTION. */
3650 *yy_cp = (yy_hold_char);
3651 YY_RESTORE_YY_MORE_OFFSET
3653 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
3655 /* We're scanning a new file or input source. It's
3656 * possible that this happened because the user
3657 * just pointed surf_parse_in at a new source and called
3658 * surf_parse_lex(). If so, then we have to assure
3659 * consistency between YY_CURRENT_BUFFER and our
3660 * globals. Here is the right place to do so, because
3661 * this is the first action (other than possibly a
3662 * back-up) that will match for the new input source.
3664 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3665 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
3666 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
3669 /* Note that here we test for yy_c_buf_p "<=" to the position
3670 * of the first EOB in the buffer, since yy_c_buf_p will
3671 * already have been incremented past the NUL character
3672 * (since all states make transitions on EOB to the
3673 * end-of-buffer state). Contrast this with the test
3676 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3677 { /* This was really a NUL. */
3678 yy_state_type yy_next_state;
3680 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
3682 yy_current_state = yy_get_previous_state( );
3684 /* Okay, we're now positioned to make the NUL
3685 * transition. We couldn't have
3686 * yy_get_previous_state() go ahead and do it
3687 * for us because it doesn't know how to deal
3688 * with the possibility of jamming (and we don't
3689 * want to build jamming into it because then it
3690 * will run more slowly).
3693 yy_next_state = yy_try_NUL_trans( yy_current_state );
3695 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3697 if ( yy_next_state )
3699 /* Consume the NUL. */
3700 yy_cp = ++(yy_c_buf_p);
3701 yy_current_state = yy_next_state;
3707 yy_cp = (yy_c_buf_p);
3708 goto yy_find_action;
3712 else switch ( yy_get_next_buffer( ) )
3714 case EOB_ACT_END_OF_FILE:
3716 (yy_did_buffer_switch_on_eof) = 0;
3718 if ( surf_parse_wrap( ) )
3720 /* Note: because we've taken care in
3721 * yy_get_next_buffer() to have set up
3722 * surf_parse_text, we can now set up
3723 * yy_c_buf_p so that if some total
3724 * hoser (like flex itself) wants to
3725 * call the scanner after we return the
3726 * YY_NULL, it'll still work - another
3727 * YY_NULL will get returned.
3729 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
3731 yy_act = YY_STATE_EOF(YY_START);
3737 if ( ! (yy_did_buffer_switch_on_eof) )
3743 case EOB_ACT_CONTINUE_SCAN:
3745 (yytext_ptr) + yy_amount_of_matched_text;
3747 yy_current_state = yy_get_previous_state( );
3749 yy_cp = (yy_c_buf_p);
3750 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3753 case EOB_ACT_LAST_MATCH:
3755 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
3757 yy_current_state = yy_get_previous_state( );
3759 yy_cp = (yy_c_buf_p);
3760 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3761 goto yy_find_action;
3768 "fatal flex scanner internal error--no action found" );
3769 } /* end of action switch */
3770 } /* end of scanning one token */
3771 } /* end of surf_parse_lex */
3773 /* yy_get_next_buffer - try to read in a new buffer
3775 * Returns a code representing an action:
3776 * EOB_ACT_LAST_MATCH -
3777 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3778 * EOB_ACT_END_OF_FILE - end of file
3780 static int yy_get_next_buffer (void)
3782 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
3783 register char *source = (yytext_ptr);
3784 register int number_to_move, i;
3787 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
3789 "fatal flex scanner internal error--end of buffer missed" );
3791 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
3792 { /* Don't try to fill the buffer, so this is an EOF. */
3793 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
3795 /* We matched a single character, the EOB, so
3796 * treat this as a final EOF.
3798 return EOB_ACT_END_OF_FILE;
3803 /* We matched some text prior to the EOB, first
3806 return EOB_ACT_LAST_MATCH;
3810 /* Try to read more data. */
3812 /* First move last chars to start of buffer. */
3813 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
3815 for ( i = 0; i < number_to_move; ++i )
3816 *(dest++) = *(source++);
3818 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
3819 /* don't do the read, it's not guaranteed to return an EOF,
3822 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
3826 size_t num_to_read =
3827 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
3829 while ( num_to_read <= 0 )
3830 { /* Not enough room in the buffer - grow it. */
3832 /* just a shorter name for the current buffer */
3833 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
3835 int yy_c_buf_p_offset =
3836 (int) ((yy_c_buf_p) - b->yy_ch_buf);
3838 if ( b->yy_is_our_buffer )
3840 int new_size = b->yy_buf_size * 2;
3842 if ( new_size <= 0 )
3843 b->yy_buf_size += b->yy_buf_size / 8;
3845 b->yy_buf_size *= 2;
3847 b->yy_ch_buf = (char *)
3848 /* Include room in for 2 EOB chars. */
3849 surf_parse_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
3852 /* Can't grow it, we don't own it. */
3855 if ( ! b->yy_ch_buf )
3857 "fatal error - scanner input buffer overflow" );
3859 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
3861 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
3866 if ( num_to_read > YY_READ_BUF_SIZE )
3867 num_to_read = YY_READ_BUF_SIZE;
3869 /* Read in more data. */
3870 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
3871 (yy_n_chars), num_to_read );
3873 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3876 if ( (yy_n_chars) == 0 )
3878 if ( number_to_move == YY_MORE_ADJ )
3880 ret_val = EOB_ACT_END_OF_FILE;
3881 surf_parse_restart(surf_parse_in );
3886 ret_val = EOB_ACT_LAST_MATCH;
3887 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
3888 YY_BUFFER_EOF_PENDING;
3893 ret_val = EOB_ACT_CONTINUE_SCAN;
3895 (yy_n_chars) += number_to_move;
3896 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
3897 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
3899 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
3904 /* yy_get_previous_state - get the state just before the EOB char was reached */
3906 static yy_state_type yy_get_previous_state (void)
3908 register yy_state_type yy_current_state;
3909 register char *yy_cp;
3911 yy_current_state = (yy_start);
3913 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
3915 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3916 if ( yy_accept[yy_current_state] )
3918 (yy_last_accepting_state) = yy_current_state;
3919 (yy_last_accepting_cpos) = yy_cp;
3921 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3923 yy_current_state = (int) yy_def[yy_current_state];
3924 if ( yy_current_state >= 1333 )
3925 yy_c = yy_meta[(unsigned int) yy_c];
3927 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3930 return yy_current_state;
3933 /* yy_try_NUL_trans - try to make a transition on the NUL character
3936 * next_state = yy_try_NUL_trans( current_state );
3938 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
3940 register int yy_is_jam;
3941 register char *yy_cp = (yy_c_buf_p);
3943 register YY_CHAR yy_c = 1;
3944 if ( yy_accept[yy_current_state] )
3946 (yy_last_accepting_state) = yy_current_state;
3947 (yy_last_accepting_cpos) = yy_cp;
3949 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3951 yy_current_state = (int) yy_def[yy_current_state];
3952 if ( yy_current_state >= 1333 )
3953 yy_c = yy_meta[(unsigned int) yy_c];
3955 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3956 yy_is_jam = (yy_current_state == 1332);
3958 return yy_is_jam ? 0 : yy_current_state;
3963 static int yyinput (void)
3965 static int input (void)
3971 *(yy_c_buf_p) = (yy_hold_char);
3973 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
3975 /* yy_c_buf_p now points to the character we want to return.
3976 * If this occurs *before* the EOB characters, then it's a
3977 * valid NUL; if not, then we've hit the end of the buffer.
3979 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3980 /* This was really a NUL. */
3981 *(yy_c_buf_p) = '\0';
3984 { /* need more input */
3985 int offset = (yy_c_buf_p) - (yytext_ptr);
3988 switch ( yy_get_next_buffer( ) )
3990 case EOB_ACT_LAST_MATCH:
3991 /* This happens because yy_g_n_b()