1 #line 2 "ConfigLexer.cpp"
3 #line 4 "ConfigLexer.cpp"
5 #define YY_INT_ALIGNED short int
7 /* A lexical scanner generated by flex */
10 #define YY_FLEX_MAJOR_VERSION 2
11 #define YY_FLEX_MINOR_VERSION 5
12 #define YY_FLEX_SUBMINOR_VERSION 33
13 #if YY_FLEX_SUBMINOR_VERSION > 0
17 /* First, we deal with platform-specific or compiler-specific issues. */
19 /* begin standard C headers. */
25 /* end standard C headers. */
27 /* flex integer type definitions */
32 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
34 #if __STDC_VERSION__ >= 199901L
36 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
37 * if you want the limit (max/min) macros for int types.
39 #ifndef __STDC_LIMIT_MACROS
40 #define __STDC_LIMIT_MACROS 1
44 typedef int8_t flex_int8_t;
45 typedef uint8_t flex_uint8_t;
46 typedef int16_t flex_int16_t;
47 typedef uint16_t flex_uint16_t;
48 typedef int32_t flex_int32_t;
49 typedef uint32_t flex_uint32_t;
51 typedef signed char flex_int8_t;
52 typedef short int flex_int16_t;
53 typedef int flex_int32_t;
54 typedef unsigned char flex_uint8_t;
55 typedef unsigned short int flex_uint16_t;
56 typedef unsigned int flex_uint32_t;
59 /* Limits of integral types. */
61 #define INT8_MIN (-128)
64 #define INT16_MIN (-32767-1)
67 #define INT32_MIN (-2147483647-1)
70 #define INT8_MAX (127)
73 #define INT16_MAX (32767)
76 #define INT32_MAX (2147483647)
79 #define UINT8_MAX (255U)
82 #define UINT16_MAX (65535U)
85 #define UINT32_MAX (4294967295U)
88 #endif /* ! FLEXINT_H */
92 /* The "const" storage-class-modifier is valid. */
95 #else /* ! __cplusplus */
101 #endif /* __STDC__ */
102 #endif /* ! __cplusplus */
105 #define yyconst const
110 /* Returned upon end-of-file. */
113 /* Promotes a possibly negative, possibly signed char to an unsigned
114 * integer for use as an array index. If the signed char is negative,
115 * we want to instead treat it as an 8-bit unsigned char, hence the
118 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
120 /* Enter a start condition. This macro really ought to take a parameter,
121 * but we do it the disgusting crufty way forced on us by the ()-less
122 * definition of BEGIN.
124 #define BEGIN (yy_start) = 1 + 2 *
126 /* Translate the current start state into a value that can be later handed
127 * to BEGIN to return to the state. The YYSTATE alias is for lex
130 #define YY_START (((yy_start) - 1) / 2)
131 #define YYSTATE YY_START
133 /* Action number for EOF rule of a given start state. */
134 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
136 /* Special action meaning "start processing a new file". */
137 #define YY_NEW_FILE Configrestart(Configin )
139 #define YY_END_OF_BUFFER_CHAR 0
141 /* Size of default input buffer. */
143 #define YY_BUF_SIZE (16384*64)
146 /* The state buf must be large enough to hold one state per character in the main buffer.
148 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
150 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
151 #define YY_TYPEDEF_YY_BUFFER_STATE
152 typedef struct yy_buffer_state *YY_BUFFER_STATE;
155 extern int Configleng;
157 extern FILE *Configin, *Configout;
159 #define EOB_ACT_CONTINUE_SCAN 0
160 #define EOB_ACT_END_OF_FILE 1
161 #define EOB_ACT_LAST_MATCH 2
163 #define YY_LESS_LINENO(n)
165 /* Return all but the first "n" matched characters back to the input stream. */
169 /* Undo effects of setting up Configtext. */ \
170 int yyless_macro_arg = (n); \
171 YY_LESS_LINENO(yyless_macro_arg);\
172 *yy_cp = (yy_hold_char); \
173 YY_RESTORE_YY_MORE_OFFSET \
174 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
175 YY_DO_BEFORE_ACTION; /* set up Configtext again */ \
179 #define unput(c) yyunput( c, (yytext_ptr) )
181 /* The following is because we cannot portably get our hands on size_t
182 * (without autoconf's help, which isn't available because we want
183 * flex-generated scanners to compile on their own).
186 #ifndef YY_TYPEDEF_YY_SIZE_T
187 #define YY_TYPEDEF_YY_SIZE_T
188 typedef unsigned int yy_size_t;
191 #ifndef YY_STRUCT_YY_BUFFER_STATE
192 #define YY_STRUCT_YY_BUFFER_STATE
193 struct yy_buffer_state
197 char *yy_ch_buf; /* input buffer */
198 char *yy_buf_pos; /* current position in input buffer */
200 /* Size of input buffer in bytes, not including room for EOB
203 yy_size_t yy_buf_size;
205 /* Number of characters read into yy_ch_buf, not including EOB
210 /* Whether we "own" the buffer - i.e., we know we created it,
211 * and can realloc() it to grow it, and should free() it to
214 int yy_is_our_buffer;
216 /* Whether this is an "interactive" input source; if so, and
217 * if we're using stdio for input, then we want to use getc()
218 * instead of fread(), to make sure we stop fetching input after
221 int yy_is_interactive;
223 /* Whether we're considered to be at the beginning of a line.
224 * If so, '^' rules will be active on the next match, otherwise
229 int yy_bs_lineno; /**< The line count. */
230 int yy_bs_column; /**< The column count. */
232 /* Whether to try to fill the input buffer when we reach the
237 int yy_buffer_status;
239 #define YY_BUFFER_NEW 0
240 #define YY_BUFFER_NORMAL 1
241 /* When an EOF's been seen but there's still some text to process
242 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
243 * shouldn't try reading from the input source any more. We might
244 * still have a bunch of tokens to match, though, because of
245 * possible backing-up.
247 * When we actually see the EOF, we change the status to "new"
248 * (via Configrestart()), so that the user can continue scanning by
249 * just pointing Configin at a new input file.
251 #define YY_BUFFER_EOF_PENDING 2
254 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
256 /* Stack of input buffers. */
257 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
258 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
259 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
261 /* We provide macros for accessing buffer states in case in the
262 * future we want to put the buffer states in a more general
265 * Returns the top of the stack, or NULL.
267 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
268 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
271 /* Same as previous macro, but useful when we know that the buffer stack is not
272 * NULL or when we need an lvalue. For internal use only.
274 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
276 /* yy_hold_char holds the character lost when Configtext is formed. */
277 static char yy_hold_char;
278 static int yy_n_chars; /* number of characters read into yy_ch_buf */
281 /* Points to current character in buffer. */
282 static char *yy_c_buf_p = (char *) 0;
283 static int yy_init = 0; /* whether we need to initialize */
284 static int yy_start = 0; /* start state number */
286 /* Flag which is used to allow Configwrap()'s to do buffer switches
287 * instead of setting up a fresh Configin. A bit of a hack ...
289 static int yy_did_buffer_switch_on_eof;
291 void Configrestart (FILE *input_file );
292 void Config_switch_to_buffer (YY_BUFFER_STATE new_buffer );
293 YY_BUFFER_STATE Config_create_buffer (FILE *file,int size );
294 void Config_delete_buffer (YY_BUFFER_STATE b );
295 void Config_flush_buffer (YY_BUFFER_STATE b );
296 void Configpush_buffer_state (YY_BUFFER_STATE new_buffer );
297 void Configpop_buffer_state (void );
299 static void Configensure_buffer_stack (void );
300 static void Config_load_buffer_state (void );
301 static void Config_init_buffer (YY_BUFFER_STATE b,FILE *file );
303 #define YY_FLUSH_BUFFER Config_flush_buffer(YY_CURRENT_BUFFER )
305 YY_BUFFER_STATE Config_scan_buffer (char *base,yy_size_t size );
306 YY_BUFFER_STATE Config_scan_string (yyconst char *yy_str );
307 YY_BUFFER_STATE Config_scan_bytes (yyconst char *bytes,int len );
309 void *Configalloc (yy_size_t );
310 void *Configrealloc (void *,yy_size_t );
311 void Configfree (void * );
313 #define yy_new_buffer Config_create_buffer
315 #define yy_set_interactive(is_interactive) \
317 if ( ! YY_CURRENT_BUFFER ){ \
318 Configensure_buffer_stack (); \
319 YY_CURRENT_BUFFER_LVALUE = \
320 Config_create_buffer(Configin,YY_BUF_SIZE ); \
322 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
325 #define yy_set_bol(at_bol) \
327 if ( ! YY_CURRENT_BUFFER ){\
328 Configensure_buffer_stack (); \
329 YY_CURRENT_BUFFER_LVALUE = \
330 Config_create_buffer(Configin,YY_BUF_SIZE ); \
332 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
335 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
337 /* Begin user sect3 */
339 #define Configwrap(n) 1
340 #define YY_SKIP_YYWRAP
342 typedef unsigned char YY_CHAR;
344 FILE *Configin = (FILE *) 0, *Configout = (FILE *) 0;
346 typedef int yy_state_type;
348 extern int Configlineno;
350 int Configlineno = 1;
352 extern char *Configtext;
353 #define yytext_ptr Configtext
355 static yy_state_type yy_get_previous_state (void );
356 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
357 static int yy_get_next_buffer (void );
358 static void yy_fatal_error (yyconst char msg[] );
360 /* Done after the current pattern has been matched and before the
361 * corresponding action - sets up Configtext.
363 #define YY_DO_BEFORE_ACTION \
364 (yytext_ptr) = yy_bp; \
365 Configleng = (size_t) (yy_cp - yy_bp); \
366 (yy_hold_char) = *yy_cp; \
368 (yy_c_buf_p) = yy_cp;
370 #define YY_NUM_RULES 55
371 #define YY_END_OF_BUFFER 56
372 /* This struct is not used in this scanner,
373 but its presence is necessary. */
376 flex_int32_t yy_verify;
379 static yyconst flex_int16_t yy_accept[408] =
381 1, 1, 56, 55, 1, 4, 55, 55, 55, 52,
382 52, 6, 5, 52, 52, 52, 52, 52, 52, 52,
383 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
384 52, 52, 52, 52, 52, 52, 52, 52, 1, 4,
385 0, 53, 0, 2, 0, 54, 52, 52, 52, 52,
386 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
387 52, 52, 49, 52, 52, 52, 52, 52, 52, 52,
388 52, 52, 52, 52, 51, 52, 52, 50, 52, 52,
389 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
390 52, 52, 52, 3, 0, 52, 52, 52, 52, 52,
392 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
393 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
394 52, 52, 52, 52, 52, 48, 52, 52, 52, 52,
395 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
396 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
397 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
398 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
399 52, 52, 52, 52, 52, 52, 52, 29, 52, 52,
400 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
401 52, 52, 52, 52, 52, 8, 9, 52, 52, 10,
403 11, 12, 13, 14, 15, 52, 52, 52, 52, 52,
404 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
405 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
406 52, 52, 52, 52, 52, 52, 52, 52, 39, 40,
407 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
408 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
409 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
410 52, 52, 52, 52, 52, 52, 26, 52, 28, 52,
411 52, 52, 32, 52, 52, 52, 52, 43, 52, 52,
412 52, 52, 52, 52, 52, 25, 52, 21, 52, 52,
414 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
415 52, 52, 52, 52, 52, 46, 47, 52, 45, 30,
416 52, 52, 52, 52, 41, 52, 52, 52, 52, 17,
417 52, 52, 52, 52, 52, 52, 52, 52, 7, 52,
418 52, 52, 52, 52, 27, 31, 52, 52, 52, 42,
419 52, 52, 52, 52, 52, 52, 52, 18, 52, 52,
420 52, 52, 52, 52, 37, 52, 35, 52, 52, 36,
421 44, 24, 22, 52, 52, 52, 52, 52, 52, 52,
422 52, 52, 52, 52, 52, 52, 52, 23, 19, 52,
423 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
425 52, 33, 20, 16, 38, 34, 0
428 static yyconst flex_int32_t yy_ec[256] =
430 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
431 1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
432 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
433 1, 2, 1, 5, 6, 1, 7, 1, 1, 1,
434 1, 1, 8, 8, 8, 9, 8, 8, 10, 11,
435 12, 13, 14, 8, 8, 8, 8, 8, 1, 1,
436 15, 1, 1, 16, 17, 18, 19, 20, 21, 22,
437 23, 24, 25, 24, 26, 27, 28, 29, 30, 31,
438 32, 33, 34, 35, 36, 37, 38, 24, 39, 40,
439 1, 41, 1, 1, 8, 1, 42, 43, 44, 45,
441 46, 47, 48, 49, 50, 24, 51, 52, 53, 54,
442 55, 56, 57, 58, 59, 60, 61, 62, 24, 63,
443 64, 65, 1, 8, 1, 1, 1, 1, 1, 1,
444 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
445 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
446 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
447 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
448 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
449 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
450 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
452 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
453 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
454 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
455 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
456 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
460 static yyconst flex_int32_t yy_meta[66] =
462 1, 1, 1, 1, 1, 1, 2, 3, 1, 3,
463 3, 3, 3, 3, 1, 3, 3, 3, 3, 3,
464 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
465 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
466 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
467 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
471 static yyconst flex_int16_t yy_base[412] =
473 0, 0, 716, 3252, 713, 3252, 711, 708, 63, 61,
474 0, 3252, 3252, 36, 57, 50, 67, 68, 70, 93,
475 59, 73, 68, 93, 106, 75, 652, 46, 655, 667,
476 41, 86, 89, 650, 661, 648, 659, 658, 701, 3252,
477 697, 3252, 94, 3252, 698, 3252, 0, 148, 183, 218,
478 253, 305, 349, 389, 424, 472, 518, 573, 627, 671,
479 103, 641, 0, 664, 638, 669, 643, 668, 642, 664,
480 115, 638, 92, 663, 0, 637, 667, 0, 653, 651,
481 633, 616, 615, 653, 627, 640, 614, 115, 92, 637,
482 609, 632, 606, 3252, 661, 89, 603, 609, 609, 606,
484 114, 606, 611, 597, 596, 609, 597, 121, 595, 593,
485 711, 761, 811, 853, 901, 942, 992, 1030, 1067, 1123,
486 1177, 1231, 1267, 1319, 1366, 0, 630, 604, 630, 604,
487 619, 593, 611, 585, 619, 602, 606, 583, 571, 578,
488 607, 581, 159, 595, 164, 569, 593, 592, 586, 560,
489 591, 598, 564, 571, 582, 556, 567, 568, 558, 551,
490 561, 549, 556, 560, 190, 549, 548, 542, 548, 555,
491 541, 1418, 1472, 1526, 1579, 1618, 1671, 3252, 1725, 1771,
492 1824, 231, 242, 1871, 1925, 1967, 2007, 571, 545, 567,
493 541, 577, 551, 571, 545, 0, 0, 569, 542, 0,
495 0, 0, 0, 0, 0, 550, 541, 523, 514, 540,
496 514, 546, 513, 526, 499, 531, 500, 494, 491, 501,
497 491, 481, 468, 458, 452, 459, 448, 451, 2044, 2097,
498 263, 2150, 279, 2194, 2247, 2300, 289, 2344, 3252, 3252,
499 2386, 2439, 325, 2479, 473, 438, 457, 431, 445, 419,
500 438, 403, 430, 417, 399, 383, 409, 378, 396, 370,
501 400, 373, 386, 360, 370, 367, 357, 352, 359, 348,
502 352, 348, 346, 339, 337, 363, 3252, 2528, 3252, 373,
503 410, 2580, 3252, 2632, 2670, 434, 2727, 3252, 2781, 366,
504 340, 370, 342, 362, 327, 0, 329, 0, 303, 348,
506 320, 337, 308, 335, 301, 313, 286, 282, 285, 284,
507 263, 283, 280, 283, 270, 3252, 3252, 446, 3252, 3252,
508 456, 482, 2834, 2872, 3252, 492, 2929, 144, 121, 0,
509 302, 276, 293, 264, 289, 263, 272, 246, 0, 134,
510 252, 242, 240, 224, 3252, 3252, 74, 2969, 504, 3252,
511 528, 249, 223, 247, 220, 234, 203, 0, 158, 160,
512 199, 193, 187, 161, 3252, 185, 3252, 3008, 3060, 3252,
513 3252, 0, 0, 202, 176, 199, 194, 164, 164, 162,
514 161, 154, 150, 3104, 3142, 187, 163, 0, 0, 164,
515 146, 3194, 541, 158, 154, 127, 123, 107, 80, 81,
517 554, 3252, 0, 0, 3252, 3252, 3252, 3243, 3246, 3248,
521 static yyconst flex_int16_t yy_def[412] =
523 407, 1, 407, 407, 407, 407, 407, 408, 409, 410,
524 411, 407, 407, 411, 411, 411, 411, 411, 411, 411,
525 411, 411, 411, 411, 411, 411, 411, 411, 411, 411,
526 411, 411, 411, 411, 411, 411, 411, 411, 407, 407,
527 408, 407, 409, 407, 407, 407, 411, 410, 410, 410,
528 410, 410, 410, 410, 410, 410, 410, 410, 410, 410,
529 411, 411, 411, 411, 411, 411, 411, 411, 411, 411,
530 411, 411, 411, 411, 411, 411, 411, 411, 411, 411,
531 411, 411, 411, 411, 411, 411, 411, 411, 411, 411,
532 411, 411, 411, 407, 407, 411, 411, 411, 411, 411,
534 411, 411, 411, 411, 411, 411, 411, 411, 411, 411,
535 410, 410, 410, 410, 410, 410, 410, 410, 410, 410,
536 410, 410, 410, 410, 410, 411, 411, 411, 411, 411,
537 411, 411, 411, 411, 411, 411, 411, 411, 411, 411,
538 411, 411, 411, 411, 411, 411, 411, 411, 411, 411,
539 411, 411, 411, 411, 411, 411, 411, 411, 411, 411,
540 411, 411, 411, 411, 411, 411, 411, 411, 411, 411,
541 411, 410, 410, 410, 410, 410, 410, 407, 410, 410,
542 410, 410, 410, 410, 410, 410, 410, 411, 411, 411,
543 411, 411, 411, 411, 411, 411, 411, 411, 411, 411,
545 411, 411, 411, 411, 411, 411, 411, 411, 411, 411,
546 411, 411, 411, 411, 411, 411, 411, 411, 411, 411,
547 411, 411, 411, 411, 411, 411, 411, 411, 410, 410,
548 410, 410, 410, 410, 410, 410, 410, 410, 407, 407,
549 410, 410, 410, 410, 411, 411, 411, 411, 411, 411,
550 411, 411, 411, 411, 411, 411, 411, 411, 411, 411,
551 411, 411, 411, 411, 411, 411, 411, 411, 411, 411,
552 411, 411, 411, 411, 410, 410, 407, 410, 407, 410,
553 410, 410, 407, 410, 410, 410, 410, 407, 410, 411,
554 411, 411, 411, 411, 411, 411, 411, 411, 411, 411,
556 411, 411, 411, 411, 411, 411, 411, 411, 411, 411,
557 411, 411, 411, 411, 411, 407, 407, 410, 407, 407,
558 410, 410, 410, 410, 407, 410, 410, 411, 411, 411,
559 411, 411, 411, 411, 411, 411, 411, 411, 411, 411,
560 411, 411, 411, 411, 407, 407, 411, 410, 410, 407,
561 410, 411, 411, 411, 411, 411, 411, 411, 411, 411,
562 411, 411, 411, 411, 407, 411, 407, 410, 410, 407,
563 407, 411, 411, 411, 411, 411, 411, 411, 411, 411,
564 411, 411, 411, 410, 410, 411, 411, 411, 411, 411,
565 411, 410, 410, 411, 411, 411, 411, 411, 411, 411,
567 410, 407, 411, 411, 407, 407, 0, 407, 407, 407,
571 static yyconst flex_int16_t yy_nxt[3318] =
573 4, 5, 6, 7, 8, 9, 10, 11, 12, 11,
574 11, 11, 11, 11, 13, 4, 14, 15, 16, 11,
575 11, 17, 11, 11, 11, 11, 18, 11, 19, 20,
576 21, 11, 22, 11, 23, 11, 24, 11, 25, 11,
577 26, 27, 28, 29, 11, 11, 30, 11, 11, 11,
578 11, 31, 11, 32, 33, 34, 11, 35, 11, 36,
579 11, 37, 11, 38, 11, 44, 45, 46, 47, 61,
580 47, 47, 47, 47, 47, 63, 47, 94, 95, 66,
581 365, 64, 100, 68, 70, 47, 74, 405, 49, 63,
582 101, 84, 71, 86, 62, 97, 44, 45, 50, 75,
584 88, 47, 51, 52, 67, 53, 65, 54, 69, 72,
585 55, 76, 56, 90, 77, 57, 85, 73, 87, 58,
586 59, 78, 60, 79, 75, 89, 92, 102, 80, 366,
587 126, 151, 136, 153, 139, 103, 127, 404, 91, 81,
588 75, 126, 78, 137, 104, 140, 78, 157, 82, 105,
589 152, 93, 154, 83, 46, 47, 162, 47, 47, 47,
590 47, 47, 169, 47, 352, 403, 353, 163, 201, 202,
591 203, 204, 205, 201, 202, 203, 204, 205, 376, 361,
592 404, 170, 126, 206, 126, 403, 404, 377, 47, 46,
593 47, 403, 47, 47, 47, 47, 47, 126, 47, 201,
595 202, 203, 204, 205, 400, 378, 381, 394, 396, 398,
596 391, 389, 111, 208, 379, 382, 395, 397, 399, 388,
597 390, 389, 388, 47, 46, 47, 389, 47, 47, 47,
598 47, 47, 388, 47, 387, 386, 383, 239, 47, 223,
599 47, 47, 47, 47, 47, 380, 47, 112, 240, 47,
600 373, 47, 47, 47, 47, 47, 372, 47, 47, 46,
601 47, 375, 47, 47, 47, 47, 47, 374, 47, 277,
602 47, 47, 47, 47, 47, 47, 47, 373, 47, 373,
603 372, 372, 47, 364, 358, 279, 47, 363, 47, 47,
604 47, 47, 47, 47, 47, 283, 47, 362, 47, 47,
606 47, 47, 47, 47, 47, 360, 359, 358, 358, 357,
607 113, 46, 47, 356, 47, 47, 47, 47, 47, 47,
608 47, 355, 354, 339, 344, 343, 342, 341, 330, 47,
609 63, 288, 47, 340, 47, 47, 47, 47, 47, 339,
610 47, 339, 338, 316, 47, 47, 47, 47, 47, 47,
611 47, 337, 47, 336, 114, 46, 47, 335, 47, 47,
612 47, 47, 47, 334, 47, 47, 333, 332, 331, 317,
613 47, 330, 47, 47, 47, 47, 47, 47, 47, 319,
614 47, 330, 47, 47, 47, 47, 47, 63, 47, 47,
615 63, 329, 328, 315, 115, 46, 47, 314, 47, 47,
617 47, 47, 47, 47, 47, 313, 312, 298, 311, 296,
618 310, 309, 308, 47, 307, 306, 320, 47, 116, 47,
619 47, 47, 47, 47, 305, 47, 304, 303, 302, 47,
620 46, 47, 301, 47, 47, 47, 47, 47, 300, 47,
621 325, 47, 298, 47, 47, 47, 47, 47, 299, 47,
622 47, 298, 345, 47, 297, 47, 47, 47, 47, 47,
623 296, 47, 346, 47, 47, 47, 47, 47, 47, 47,
624 296, 47, 295, 294, 47, 293, 292, 117, 46, 47,
625 291, 47, 47, 47, 47, 47, 47, 47, 46, 47,
626 290, 347, 47, 47, 47, 47, 47, 47, 350, 47,
628 274, 47, 47, 47, 47, 47, 273, 47, 272, 271,
629 370, 47, 47, 47, 47, 47, 47, 47, 270, 47,
630 269, 118, 47, 119, 46, 47, 268, 47, 47, 47,
631 47, 47, 47, 47, 371, 47, 75, 47, 47, 47,
632 47, 47, 267, 47, 47, 266, 265, 402, 47, 264,
633 47, 47, 47, 47, 47, 263, 47, 262, 47, 261,
634 406, 47, 260, 47, 47, 47, 47, 47, 47, 47,
635 259, 258, 257, 120, 256, 255, 254, 253, 121, 46,
636 47, 47, 47, 47, 47, 47, 47, 252, 47, 251,
637 75, 75, 250, 249, 47, 248, 247, 246, 245, 228,
639 78, 227, 226, 225, 224, 200, 222, 197, 196, 221,
640 220, 219, 218, 47, 217, 216, 78, 215, 78, 214,
641 213, 212, 211, 210, 209, 207, 200, 200, 199, 197,
642 196, 198, 122, 46, 47, 197, 47, 47, 47, 47,
643 47, 196, 47, 195, 194, 193, 192, 191, 190, 189,
644 188, 78, 171, 168, 167, 166, 165, 75, 164, 161,
645 160, 159, 158, 94, 78, 78, 156, 47, 123, 155,
646 150, 149, 148, 147, 146, 145, 124, 46, 47, 75,
647 47, 47, 47, 47, 47, 144, 47, 143, 75, 142,
648 141, 138, 135, 134, 133, 132, 131, 130, 129, 128,
650 44, 42, 39, 110, 109, 108, 107, 106, 99, 98,
651 96, 47, 42, 40, 39, 407, 125, 46, 47, 407,
652 47, 47, 47, 47, 47, 407, 47, 407, 407, 407,
653 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
654 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
655 407, 47, 407, 407, 407, 407, 407, 407, 407, 407,
656 407, 407, 407, 407, 407, 407, 172, 46, 47, 407,
657 47, 47, 47, 47, 47, 407, 47, 407, 407, 407,
658 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
659 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
661 407, 47, 407, 407, 407, 407, 407, 407, 407, 407,
662 407, 407, 407, 407, 407, 407, 173, 46, 47, 407,
663 47, 47, 47, 47, 47, 407, 47, 407, 407, 407,
664 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
665 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
666 407, 47, 407, 407, 407, 407, 407, 407, 174, 46,
667 47, 407, 47, 47, 47, 47, 47, 407, 47, 407,
668 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
669 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
670 407, 407, 407, 47, 407, 407, 407, 407, 407, 407,
672 407, 407, 407, 407, 407, 407, 175, 46, 47, 407,
673 47, 47, 47, 47, 47, 407, 47, 407, 407, 407,
674 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
675 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
676 407, 47, 407, 407, 407, 407, 407, 176, 46, 47,
677 407, 47, 47, 47, 47, 47, 407, 47, 407, 407,
678 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
679 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
680 407, 407, 47, 407, 407, 407, 407, 407, 407, 407,
681 407, 407, 407, 407, 407, 407, 407, 177, 178, 47,
683 407, 47, 47, 47, 47, 47, 407, 47, 407, 407,
684 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
685 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
686 407, 407, 47, 407, 407, 179, 46, 47, 407, 47,
687 47, 47, 47, 47, 407, 47, 407, 407, 407, 407,
688 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
689 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
690 47, 407, 180, 46, 47, 407, 47, 47, 47, 47,
691 47, 407, 47, 407, 407, 407, 407, 407, 407, 407,
692 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
694 407, 407, 407, 407, 407, 407, 407, 47, 407, 407,
695 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
696 407, 407, 407, 407, 407, 407, 407, 407, 181, 46,
697 47, 407, 47, 47, 47, 47, 47, 407, 47, 407,
698 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
699 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
700 407, 407, 407, 47, 407, 407, 407, 407, 407, 407,
701 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
702 407, 407, 182, 46, 47, 407, 47, 47, 47, 47,
703 47, 407, 47, 407, 407, 407, 407, 407, 407, 407,
705 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
706 407, 407, 407, 407, 407, 407, 407, 47, 407, 407,
707 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
708 407, 407, 407, 407, 407, 407, 183, 46, 47, 407,
709 47, 47, 47, 47, 47, 407, 47, 407, 407, 407,
710 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
711 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
712 407, 47, 184, 46, 47, 407, 47, 47, 47, 47,
713 47, 407, 47, 407, 407, 407, 407, 407, 407, 407,
714 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
716 407, 407, 407, 407, 407, 407, 407, 47, 407, 407,
717 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
718 407, 407, 407, 407, 185, 46, 47, 407, 47, 47,
719 47, 47, 47, 407, 47, 407, 407, 407, 407, 407,
720 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
721 407, 407, 407, 407, 407, 407, 407, 407, 407, 47,
722 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
723 407, 186, 46, 47, 407, 47, 47, 47, 47, 47,
724 407, 47, 407, 407, 407, 407, 407, 407, 407, 407,
725 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
727 407, 407, 407, 407, 407, 407, 47, 407, 407, 407,
728 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
729 407, 407, 407, 187, 46, 47, 407, 47, 47, 47,
730 47, 47, 407, 47, 407, 407, 407, 407, 407, 407,
731 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
732 407, 407, 407, 407, 407, 407, 407, 407, 47, 407,
733 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
734 407, 407, 407, 407, 407, 407, 407, 229, 46, 47,
735 407, 47, 47, 47, 47, 47, 407, 47, 407, 407,
736 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
738 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
739 407, 407, 47, 407, 407, 407, 407, 407, 407, 407,
740 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
741 407, 230, 46, 47, 407, 47, 47, 47, 47, 47,
742 407, 47, 407, 407, 407, 407, 407, 407, 407, 407,
743 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
744 407, 407, 407, 407, 407, 407, 47, 407, 407, 407,
745 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
746 407, 407, 407, 407, 231, 46, 47, 407, 47, 47,
747 47, 47, 47, 407, 47, 407, 407, 407, 407, 407,
749 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
750 407, 407, 407, 407, 407, 407, 407, 407, 407, 47,
751 407, 407, 407, 232, 46, 47, 407, 47, 47, 47,
752 47, 47, 407, 47, 407, 407, 407, 407, 407, 407,
753 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
754 407, 407, 407, 407, 407, 407, 407, 407, 47, 407,
755 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
756 407, 407, 407, 407, 407, 407, 233, 46, 47, 407,
757 47, 47, 47, 47, 47, 407, 47, 407, 407, 407,
758 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
760 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
761 407, 47, 407, 407, 407, 407, 407, 407, 407, 407,
762 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
763 234, 46, 47, 407, 47, 47, 47, 47, 47, 407,
764 47, 407, 407, 407, 407, 407, 407, 407, 407, 407,
765 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
766 407, 407, 407, 407, 407, 47, 407, 407, 407, 407,
767 407, 407, 407, 407, 407, 407, 235, 46, 47, 407,
768 47, 47, 47, 47, 47, 407, 47, 407, 407, 407,
769 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
771 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
772 407, 47, 407, 407, 407, 236, 407, 407, 407, 407,
773 407, 407, 407, 407, 407, 407, 407, 407, 407, 237,
774 46, 47, 407, 47, 47, 47, 47, 47, 407, 47,
775 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
776 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
777 407, 407, 407, 407, 47, 407, 407, 407, 407, 407,
778 407, 407, 407, 407, 407, 407, 238, 46, 47, 407,
779 47, 47, 47, 47, 47, 407, 47, 407, 407, 407,
780 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
782 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
783 407, 47, 407, 407, 407, 407, 407, 407, 407, 407,
784 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
785 241, 46, 47, 407, 47, 47, 47, 47, 47, 407,
786 47, 407, 407, 407, 407, 407, 407, 407, 407, 407,
787 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
788 407, 407, 407, 407, 407, 47, 407, 407, 407, 407,
789 407, 407, 242, 46, 47, 407, 47, 47, 47, 47,
790 47, 407, 47, 407, 407, 407, 407, 407, 407, 407,
791 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
793 407, 407, 407, 407, 407, 407, 407, 47, 407, 407,
794 407, 407, 243, 46, 47, 407, 47, 47, 47, 47,
795 47, 407, 47, 407, 407, 407, 407, 407, 407, 407,
796 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
797 407, 407, 407, 407, 407, 407, 407, 47, 407, 244,
798 46, 47, 407, 47, 47, 47, 47, 47, 407, 47,
799 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
800 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
801 407, 407, 407, 407, 47, 407, 407, 407, 407, 407,
802 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
804 407, 407, 275, 46, 47, 407, 47, 47, 47, 47,
805 47, 407, 47, 407, 407, 407, 407, 407, 407, 407,
806 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
807 407, 407, 407, 407, 407, 407, 407, 47, 407, 407,
808 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
809 407, 407, 407, 407, 407, 276, 46, 47, 407, 47,
810 47, 47, 47, 47, 407, 47, 407, 407, 407, 407,
811 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
812 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
813 47, 407, 407, 407, 407, 407, 407, 407, 407, 278,
815 46, 47, 407, 47, 47, 47, 47, 47, 407, 47,
816 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
817 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
818 407, 407, 407, 407, 47, 407, 407, 407, 407, 407,
819 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
820 407, 407, 280, 46, 47, 407, 47, 47, 47, 47,
821 47, 407, 47, 407, 407, 407, 407, 407, 407, 407,
822 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
823 407, 407, 407, 407, 407, 407, 407, 47, 407, 407,
824 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
826 407, 407, 407, 407, 407, 281, 46, 47, 407, 47,
827 47, 47, 47, 47, 407, 47, 407, 407, 407, 407,
828 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
829 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
830 47, 407, 407, 407, 407, 407, 407, 407, 407, 282,
831 46, 47, 407, 47, 47, 47, 47, 47, 407, 47,
832 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
833 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
834 407, 407, 407, 407, 47, 407, 407, 284, 407, 407,
835 407, 285, 46, 47, 407, 47, 47, 47, 47, 47,
837 407, 47, 407, 407, 407, 407, 407, 407, 407, 407,
838 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
839 407, 407, 407, 407, 407, 407, 47, 407, 407, 407,
840 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
841 407, 407, 407, 407, 286, 46, 47, 407, 47, 47,
842 47, 47, 47, 407, 47, 407, 407, 407, 407, 407,
843 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
844 407, 407, 407, 407, 407, 407, 407, 407, 407, 47,
845 407, 407, 407, 407, 287, 46, 47, 407, 47, 47,
846 47, 47, 47, 407, 47, 407, 407, 407, 407, 407,
848 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
849 407, 407, 407, 407, 407, 407, 407, 407, 407, 47,
850 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
851 407, 407, 407, 289, 46, 47, 407, 47, 47, 47,
852 47, 47, 407, 47, 407, 407, 407, 407, 407, 407,
853 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
854 407, 407, 407, 407, 407, 407, 407, 407, 47, 407,
855 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
856 407, 407, 407, 407, 407, 318, 46, 47, 407, 47,
857 47, 47, 47, 47, 407, 47, 407, 407, 407, 407,
859 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
860 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
861 47, 407, 407, 407, 407, 407, 407, 407, 407, 407,
862 407, 407, 407, 407, 407, 407, 407, 321, 46, 47,
863 407, 47, 47, 47, 47, 47, 407, 47, 407, 407,
864 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
865 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
866 407, 407, 47, 407, 407, 322, 46, 47, 407, 47,
867 47, 47, 47, 47, 407, 47, 407, 407, 407, 407,
868 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
870 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
871 47, 407, 407, 323, 407, 407, 407, 407, 407, 407,
872 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
873 407, 407, 324, 46, 47, 407, 47, 47, 47, 47,
874 47, 407, 47, 407, 407, 407, 407, 407, 407, 407,
875 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
876 407, 407, 407, 407, 407, 407, 407, 47, 407, 407,
877 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
878 407, 407, 407, 407, 407, 407, 326, 46, 47, 407,
879 47, 47, 47, 47, 47, 407, 47, 407, 407, 407,
881 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
882 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
883 407, 47, 407, 407, 407, 407, 407, 407, 407, 407,
884 407, 407, 407, 407, 407, 407, 407, 407, 407, 327,
885 46, 47, 407, 47, 47, 47, 47, 47, 407, 47,
886 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
887 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
888 407, 407, 407, 407, 47, 407, 407, 348, 46, 47,
889 407, 47, 47, 47, 47, 47, 407, 47, 407, 407,
890 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
892 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
893 407, 407, 47, 407, 407, 407, 407, 407, 407, 407,
894 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
895 407, 407, 407, 407, 349, 46, 47, 407, 47, 47,
896 47, 47, 47, 407, 47, 407, 407, 407, 407, 407,
897 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
898 407, 407, 407, 407, 407, 407, 407, 407, 407, 47,
899 407, 407, 407, 407, 351, 367, 47, 407, 47, 47,
900 47, 47, 47, 407, 47, 407, 407, 407, 407, 407,
901 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
903 407, 407, 407, 407, 407, 407, 407, 407, 407, 47,
904 368, 407, 407, 369, 46, 47, 407, 47, 47, 47,
905 47, 47, 407, 47, 407, 407, 407, 407, 407, 407,
906 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
907 407, 407, 407, 407, 407, 407, 407, 407, 47, 407,
908 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
909 407, 407, 407, 407, 407, 384, 46, 47, 407, 47,
910 47, 47, 47, 47, 407, 47, 407, 407, 407, 407,
911 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
912 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
914 47, 407, 407, 407, 407, 407, 407, 407, 407, 385,
915 46, 47, 407, 47, 47, 47, 47, 47, 407, 47,
916 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
917 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
918 407, 407, 407, 407, 47, 407, 407, 392, 46, 47,
919 407, 47, 47, 47, 47, 47, 407, 47, 407, 407,
920 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
921 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
922 407, 407, 47, 407, 407, 407, 407, 407, 407, 407,
923 407, 407, 407, 407, 407, 407, 407, 407, 407, 393,
925 46, 47, 407, 47, 47, 47, 47, 47, 407, 47,
926 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
927 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
928 407, 407, 407, 407, 47, 407, 407, 407, 407, 407,
929 407, 407, 401, 41, 41, 41, 43, 43, 43, 48,
930 48, 3, 407, 407, 407, 407, 407, 407, 407, 407,
931 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
932 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
933 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
934 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
936 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
937 407, 407, 407, 407, 407, 407, 407
940 static yyconst flex_int16_t yy_chk[3318] =
942 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
943 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
944 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
945 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
946 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
947 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
948 1, 1, 1, 1, 1, 9, 9, 10, 10, 14,
949 10, 10, 10, 10, 10, 15, 10, 26, 26, 16,
950 347, 15, 31, 17, 18, 411, 19, 400, 10, 28,
951 31, 21, 18, 22, 14, 28, 43, 43, 10, 19,
953 23, 10, 10, 10, 16, 10, 15, 10, 17, 18,
954 10, 19, 10, 24, 20, 10, 21, 18, 22, 10,
955 10, 20, 10, 20, 19, 23, 25, 32, 20, 347,
956 61, 88, 71, 89, 73, 33, 61, 399, 24, 20,
957 32, 96, 33, 71, 33, 73, 20, 96, 20, 33,
958 88, 25, 89, 20, 48, 48, 101, 48, 48, 48,
959 48, 48, 108, 48, 328, 398, 329, 101, 143, 143,
960 143, 143, 143, 145, 145, 145, 145, 145, 359, 340,
961 397, 108, 328, 143, 329, 396, 395, 359, 48, 49,
962 49, 394, 49, 49, 49, 49, 49, 340, 49, 165,
964 165, 165, 165, 165, 391, 360, 364, 386, 387, 390,
965 383, 382, 49, 145, 360, 364, 386, 387, 390, 381,
966 380, 379, 378, 49, 50, 50, 377, 50, 50, 50,
967 50, 50, 376, 50, 375, 374, 366, 182, 182, 165,
968 182, 182, 182, 182, 182, 363, 182, 50, 183, 183,
969 362, 183, 183, 183, 183, 183, 361, 183, 50, 51,
970 51, 357, 51, 51, 51, 51, 51, 356, 51, 231,
971 231, 182, 231, 231, 231, 231, 231, 355, 231, 354,
972 353, 352, 183, 344, 343, 233, 233, 342, 233, 233,
973 233, 233, 233, 51, 233, 237, 237, 341, 237, 237,
975 237, 237, 237, 231, 237, 338, 337, 336, 335, 334,
976 51, 52, 52, 333, 52, 52, 52, 52, 52, 233,
977 52, 332, 331, 315, 314, 313, 312, 311, 310, 237,
978 309, 243, 243, 308, 243, 243, 243, 243, 243, 307,
979 243, 306, 305, 275, 275, 52, 275, 275, 275, 275,
980 275, 304, 275, 303, 52, 53, 53, 302, 53, 53,
981 53, 53, 53, 301, 53, 243, 300, 299, 297, 276,
982 276, 295, 276, 276, 276, 276, 276, 275, 276, 280,
983 280, 294, 280, 280, 280, 280, 280, 293, 280, 53,
984 292, 291, 290, 274, 53, 54, 54, 273, 54, 54,
986 54, 54, 54, 276, 54, 272, 271, 270, 269, 268,
987 267, 266, 265, 280, 264, 263, 281, 281, 54, 281,
988 281, 281, 281, 281, 262, 281, 261, 260, 259, 54,
989 55, 55, 258, 55, 55, 55, 55, 55, 257, 55,
990 286, 286, 256, 286, 286, 286, 286, 286, 255, 286,
991 281, 254, 318, 318, 253, 318, 318, 318, 318, 318,
992 252, 318, 321, 321, 55, 321, 321, 321, 321, 321,
993 251, 321, 250, 249, 286, 248, 247, 55, 56, 56,
994 246, 56, 56, 56, 56, 56, 318, 56, 322, 322,
995 245, 322, 322, 322, 322, 322, 321, 322, 326, 326,
997 228, 326, 326, 326, 326, 326, 227, 326, 226, 225,
998 349, 349, 56, 349, 349, 349, 349, 349, 224, 349,
999 223, 56, 322, 56, 57, 57, 222, 57, 57, 57,
1000 57, 57, 326, 57, 351, 351, 221, 351, 351, 351,
1001 351, 351, 220, 351, 349, 219, 218, 393, 393, 217,
1002 393, 393, 393, 393, 393, 216, 393, 215, 57, 214,
1003 401, 401, 213, 401, 401, 401, 401, 401, 351, 401,
1004 212, 211, 210, 57, 209, 208, 207, 206, 57, 58,
1005 58, 393, 58, 58, 58, 58, 58, 199, 58, 198,
1006 195, 194, 193, 192, 401, 191, 190, 189, 188, 171,
1008 170, 169, 168, 167, 166, 164, 163, 162, 161, 160,
1009 159, 158, 157, 58, 156, 155, 154, 153, 152, 151,
1010 150, 149, 148, 147, 146, 144, 142, 141, 140, 139,
1011 138, 137, 58, 59, 59, 136, 59, 59, 59, 59,
1012 59, 135, 59, 134, 133, 132, 131, 130, 129, 128,
1013 127, 110, 109, 107, 106, 105, 104, 103, 102, 100,
1014 99, 98, 97, 95, 93, 92, 91, 59, 59, 90,
1015 87, 86, 85, 84, 83, 82, 59, 60, 60, 81,
1016 60, 60, 60, 60, 60, 80, 60, 79, 77, 76,
1017 74, 72, 70, 69, 68, 67, 66, 65, 64, 62,
1019 45, 41, 39, 38, 37, 36, 35, 34, 30, 29,
1020 27, 60, 8, 7, 5, 3, 60, 111, 111, 0,
1021 111, 111, 111, 111, 111, 0, 111, 0, 0, 0,
1022 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1023 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1024 0, 111, 0, 0, 0, 0, 0, 0, 0, 0,
1025 0, 0, 0, 0, 0, 0, 111, 112, 112, 0,
1026 112, 112, 112, 112, 112, 0, 112, 0, 0, 0,
1027 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1028 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1030 0, 112, 0, 0, 0, 0, 0, 0, 0, 0,
1031 0, 0, 0, 0, 0, 0, 112, 113, 113, 0,
1032 113, 113, 113, 113, 113, 0, 113, 0, 0, 0,
1033 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1034 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1035 0, 113, 0, 0, 0, 0, 0, 0, 113, 114,
1036 114, 0, 114, 114, 114, 114, 114, 0, 114, 0,
1037 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1038 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1039 0, 0, 0, 114, 0, 0, 0, 0, 0, 0,
1041 0, 0, 0, 0, 0, 0, 114, 115, 115, 0,
1042 115, 115, 115, 115, 115, 0, 115, 0, 0, 0,
1043 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1044 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1045 0, 115, 0, 0, 0, 0, 0, 115, 116, 116,
1046 0, 116, 116, 116, 116, 116, 0, 116, 0, 0,
1047 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1048 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1049 0, 0, 116, 0, 0, 0, 0, 0, 0, 0,
1050 0, 0, 0, 0, 0, 0, 0, 116, 117, 117,
1052 0, 117, 117, 117, 117, 117, 0, 117, 0, 0,
1053 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1054 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1055 0, 0, 117, 0, 0, 117, 118, 118, 0, 118,
1056 118, 118, 118, 118, 0, 118, 0, 0, 0, 0,
1057 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1058 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1059 118, 0, 118, 119, 119, 0, 119, 119, 119, 119,
1060 119, 0, 119, 0, 0, 0, 0, 0, 0, 0,
1061 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1063 0, 0, 0, 0, 0, 0, 0, 119, 0, 0,
1064 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1065 0, 0, 0, 0, 0, 0, 0, 0, 119, 120,
1066 120, 0, 120, 120, 120, 120, 120, 0, 120, 0,
1067 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1068 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1069 0, 0, 0, 120, 0, 0, 0, 0, 0, 0,
1070 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1071 0, 0, 120, 121, 121, 0, 121, 121, 121, 121,
1072 121, 0, 121, 0, 0, 0, 0, 0, 0, 0,
1074 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1075 0, 0, 0, 0, 0, 0, 0, 121, 0, 0,
1076 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1077 0, 0, 0, 0, 0, 0, 121, 122, 122, 0,
1078 122, 122, 122, 122, 122, 0, 122, 0, 0, 0,
1079 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1080 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1081 0, 122, 122, 123, 123, 0, 123, 123, 123, 123,
1082 123, 0, 123, 0, 0, 0, 0, 0, 0, 0,
1083 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1085 0, 0, 0, 0, 0, 0, 0, 123, 0, 0,
1086 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1087 0, 0, 0, 0, 123, 124, 124, 0, 124, 124,
1088 124, 124, 124, 0, 124, 0, 0, 0, 0, 0,
1089 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1090 0, 0, 0, 0, 0, 0, 0, 0, 0, 124,
1091 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1092 0, 124, 125, 125, 0, 125, 125, 125, 125, 125,
1093 0, 125, 0, 0, 0, 0, 0, 0, 0, 0,
1094 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1096 0, 0, 0, 0, 0, 0, 125, 0, 0, 0,
1097 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1098 0, 0, 0, 125, 172, 172, 0, 172, 172, 172,
1099 172, 172, 0, 172, 0, 0, 0, 0, 0, 0,
1100 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1101 0, 0, 0, 0, 0, 0, 0, 0, 172, 0,
1102 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1103 0, 0, 0, 0, 0, 0, 0, 172, 173, 173,
1104 0, 173, 173, 173, 173, 173, 0, 173, 0, 0,
1105 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1107 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1108 0, 0, 173, 0, 0, 0, 0, 0, 0, 0,
1109 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1110 0, 173, 174, 174, 0, 174, 174, 174, 174, 174,
1111 0, 174, 0, 0, 0, 0, 0, 0, 0, 0,
1112 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1113 0, 0, 0, 0, 0, 0, 174, 0, 0, 0,
1114 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1115 0, 0, 0, 0, 174, 175, 175, 0, 175, 175,
1116 175, 175, 175, 0, 175, 0, 0, 0, 0, 0,
1118 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1119 0, 0, 0, 0, 0, 0, 0, 0, 0, 175,
1120 0, 0, 0, 175, 176, 176, 0, 176, 176, 176,
1121 176, 176, 0, 176, 0, 0, 0, 0, 0, 0,
1122 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1123 0, 0, 0, 0, 0, 0, 0, 0, 176, 0,
1124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1125 0, 0, 0, 0, 0, 0, 176, 177, 177, 0,
1126 177, 177, 177, 177, 177, 0, 177, 0, 0, 0,
1127 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1129 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1130 0, 177, 0, 0, 0, 0, 0, 0, 0, 0,
1131 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1132 177, 179, 179, 0, 179, 179, 179, 179, 179, 0,
1133 179, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1134 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1135 0, 0, 0, 0, 0, 179, 0, 0, 0, 0,
1136 0, 0, 0, 0, 0, 0, 179, 180, 180, 0,
1137 180, 180, 180, 180, 180, 0, 180, 0, 0, 0,
1138 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1140 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1141 0, 180, 0, 0, 0, 180, 0, 0, 0, 0,
1142 0, 0, 0, 0, 0, 0, 0, 0, 0, 180,
1143 181, 181, 0, 181, 181, 181, 181, 181, 0, 181,
1144 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1145 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1146 0, 0, 0, 0, 181, 0, 0, 0, 0, 0,
1147 0, 0, 0, 0, 0, 0, 181, 184, 184, 0,
1148 184, 184, 184, 184, 184, 0, 184, 0, 0, 0,
1149 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1151 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1152 0, 184, 0, 0, 0, 0, 0, 0, 0, 0,
1153 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1154 184, 185, 185, 0, 185, 185, 185, 185, 185, 0,
1155 185, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1156 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1157 0, 0, 0, 0, 0, 185, 0, 0, 0, 0,
1158 0, 0, 185, 186, 186, 0, 186, 186, 186, 186,
1159 186, 0, 186, 0, 0, 0, 0, 0, 0, 0,
1160 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1162 0, 0, 0, 0, 0, 0, 0, 186, 0, 0,
1163 0, 0, 186, 187, 187, 0, 187, 187, 187, 187,
1164 187, 0, 187, 0, 0, 0, 0, 0, 0, 0,
1165 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1166 0, 0, 0, 0, 0, 0, 0, 187, 0, 187,
1167 229, 229, 0, 229, 229, 229, 229, 229, 0, 229,
1168 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1169 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1170 0, 0, 0, 0, 229, 0, 0, 0, 0, 0,
1171 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1173 0, 0, 229, 230, 230, 0, 230, 230, 230, 230,
1174 230, 0, 230, 0, 0, 0, 0, 0, 0, 0,
1175 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1176 0, 0, 0, 0, 0, 0, 0, 230, 0, 0,
1177 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1178 0, 0, 0, 0, 0, 230, 232, 232, 0, 232,
1179 232, 232, 232, 232, 0, 232, 0, 0, 0, 0,
1180 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1181 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1182 232, 0, 0, 0, 0, 0, 0, 0, 0, 232,
1184 234, 234, 0, 234, 234, 234, 234, 234, 0, 234,
1185 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1186 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1187 0, 0, 0, 0, 234, 0, 0, 0, 0, 0,
1188 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1189 0, 0, 234, 235, 235, 0, 235, 235, 235, 235,
1190 235, 0, 235, 0, 0, 0, 0, 0, 0, 0,
1191 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1192 0, 0, 0, 0, 0, 0, 0, 235, 0, 0,
1193 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1195 0, 0, 0, 0, 0, 235, 236, 236, 0, 236,
1196 236, 236, 236, 236, 0, 236, 0, 0, 0, 0,
1197 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1198 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1199 236, 0, 0, 0, 0, 0, 0, 0, 0, 236,
1200 238, 238, 0, 238, 238, 238, 238, 238, 0, 238,
1201 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1202 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1203 0, 0, 0, 0, 238, 0, 0, 238, 0, 0,
1204 0, 238, 241, 241, 0, 241, 241, 241, 241, 241,
1206 0, 241, 0, 0, 0, 0, 0, 0, 0, 0,
1207 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1208 0, 0, 0, 0, 0, 0, 241, 0, 0, 0,
1209 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1210 0, 0, 0, 0, 241, 242, 242, 0, 242, 242,
1211 242, 242, 242, 0, 242, 0, 0, 0, 0, 0,
1212 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1213 0, 0, 0, 0, 0, 0, 0, 0, 0, 242,
1214 0, 0, 0, 0, 242, 244, 244, 0, 244, 244,
1215 244, 244, 244, 0, 244, 0, 0, 0, 0, 0,
1217 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1218 0, 0, 0, 0, 0, 0, 0, 0, 0, 244,
1219 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1220 0, 0, 0, 244, 278, 278, 0, 278, 278, 278,
1221 278, 278, 0, 278, 0, 0, 0, 0, 0, 0,
1222 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1223 0, 0, 0, 0, 0, 0, 0, 0, 278, 0,
1224 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1225 0, 0, 0, 0, 0, 278, 282, 282, 0, 282,
1226 282, 282, 282, 282, 0, 282, 0, 0, 0, 0,
1228 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1229 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1230 282, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1231 0, 0, 0, 0, 0, 0, 0, 282, 284, 284,
1232 0, 284, 284, 284, 284, 284, 0, 284, 0, 0,
1233 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1234 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1235 0, 0, 284, 0, 0, 284, 285, 285, 0, 285,
1236 285, 285, 285, 285, 0, 285, 0, 0, 0, 0,
1237 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1239 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1240 285, 0, 0, 285, 0, 0, 0, 0, 0, 0,
1241 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1242 0, 0, 285, 287, 287, 0, 287, 287, 287, 287,
1243 287, 0, 287, 0, 0, 0, 0, 0, 0, 0,
1244 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1245 0, 0, 0, 0, 0, 0, 0, 287, 0, 0,
1246 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1247 0, 0, 0, 0, 0, 0, 287, 289, 289, 0,
1248 289, 289, 289, 289, 289, 0, 289, 0, 0, 0,
1250 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1251 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1252 0, 289, 0, 0, 0, 0, 0, 0, 0, 0,
1253 0, 0, 0, 0, 0, 0, 0, 0, 0, 289,
1254 323, 323, 0, 323, 323, 323, 323, 323, 0, 323,
1255 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1256 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1257 0, 0, 0, 0, 323, 0, 0, 323, 324, 324,
1258 0, 324, 324, 324, 324, 324, 0, 324, 0, 0,
1259 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1261 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1262 0, 0, 324, 0, 0, 0, 0, 0, 0, 0,
1263 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1264 0, 0, 0, 0, 324, 327, 327, 0, 327, 327,
1265 327, 327, 327, 0, 327, 0, 0, 0, 0, 0,
1266 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1267 0, 0, 0, 0, 0, 0, 0, 0, 0, 327,
1268 0, 0, 0, 0, 327, 348, 348, 0, 348, 348,
1269 348, 348, 348, 0, 348, 0, 0, 0, 0, 0,
1270 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1272 0, 0, 0, 0, 0, 0, 0, 0, 0, 348,
1273 348, 0, 0, 348, 368, 368, 0, 368, 368, 368,
1274 368, 368, 0, 368, 0, 0, 0, 0, 0, 0,
1275 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1276 0, 0, 0, 0, 0, 0, 0, 0, 368, 0,
1277 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1278 0, 0, 0, 0, 0, 368, 369, 369, 0, 369,
1279 369, 369, 369, 369, 0, 369, 0, 0, 0, 0,
1280 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1281 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1283 369, 0, 0, 0, 0, 0, 0, 0, 0, 369,
1284 384, 384, 0, 384, 384, 384, 384, 384, 0, 384,
1285 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1286 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1287 0, 0, 0, 0, 384, 0, 0, 384, 385, 385,
1288 0, 385, 385, 385, 385, 385, 0, 385, 0, 0,
1289 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1290 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1291 0, 0, 385, 0, 0, 0, 0, 0, 0, 0,
1292 0, 0, 0, 0, 0, 0, 0, 0, 0, 385,
1294 392, 392, 0, 392, 392, 392, 392, 392, 0, 392,
1295 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1296 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1297 0, 0, 0, 0, 392, 0, 0, 0, 0, 0,
1298 0, 0, 392, 408, 408, 408, 409, 409, 409, 410,
1299 410, 407, 407, 407, 407, 407, 407, 407, 407, 407,
1300 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
1301 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
1302 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
1303 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
1305 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
1306 407, 407, 407, 407, 407, 407, 407
1309 static yy_state_type yy_last_accepting_state;
1310 static char *yy_last_accepting_cpos;
1312 extern int Config_flex_debug;
1313 int Config_flex_debug = 0;
1315 /* The intent behind this definition is that it'll catch
1316 * any uses of REJECT which flex missed.
1318 #define REJECT reject_used_but_not_detected
1319 #define yymore() yymore_used_but_not_detected
1320 #define YY_MORE_ADJ 0
1321 #define YY_RESTORE_YY_MORE_OFFSET
1323 #line 1 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1324 /*===- ConfigLexer.l - Scanner for CompilerDriver Config Files -*- C++ -*--===//
1326 // The LLVM Compiler Infrastructure
1328 // This file is distributed under the University of Illinois Open Source
1329 // License. See LICENSE.TXT for details.
1331 //===----------------------------------------------------------------------===//
1333 // This file implements the flex scanner for configuration files for the
1334 // llvmc CompilerDriver.
1336 //===----------------------------------------------------------------------===*/
1337 #line 29 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1339 #include "ConfigLexer.h"
1341 #define YY_INPUT(buf,result,max_size) \
1343 assert(ConfigLexerInput != 0 && "Oops"); \
1344 result = ConfigLexerInput->read(buf,max_size); \
1345 if (result == 0 ) result = YY_NULL; \
1348 #define YY_FATAL_ERROR(msg) \
1350 assert(ConfigLexerInput != 0 && "Oops"); \
1351 ConfigLexerInput->error(msg); \
1354 #define YY_DECL ConfigLexerTokens llvm::Configlex()
1356 #define yyterminate() { return EOFTOK; }
1358 using namespace llvm;
1360 inline llvm::ConfigLexerTokens
1361 handleNameContext(llvm::ConfigLexerTokens token) {
1362 ConfigLexerState.StringVal = Configtext;
1363 if (ConfigLexerState.in_value)
1368 inline llvm::ConfigLexerTokens
1369 handleSubstitution(llvm::ConfigLexerTokens token) {
1370 if (ConfigLexerState.in_value) {
1371 ConfigLexerState.StringVal = Configtext;
1374 YY_FATAL_ERROR("Substitition tokens not allowed in names" );
1378 inline llvm::ConfigLexerTokens handleValueContext(llvm::ConfigLexerTokens token) {
1379 ConfigLexerState.StringVal = Configtext;
1380 if (ConfigLexerState.in_value)
1385 #line 1386 "ConfigLexer.cpp"
1389 #ifndef YY_NO_UNISTD_H
1390 /* Special case for "unistd.h", since it is non-ANSI. We include it way
1391 * down here because we want the user's section 1 to have been scanned first.
1392 * The user has a chance to override it with an option.
1397 #ifndef YY_EXTRA_TYPE
1398 #define YY_EXTRA_TYPE void *
1401 static int yy_init_globals (void );
1403 /* Macros after this point can all be overridden by user definitions in
1407 #ifndef YY_SKIP_YYWRAP
1409 extern "C" int Configwrap (void );
1411 extern int Configwrap (void );
1415 static inline void yyunput (int c,char *buf_ptr );
1418 static void yy_flex_strncpy (char *,yyconst char *,int );
1421 #ifdef YY_NEED_STRLEN
1422 static int yy_flex_strlen (yyconst char * );
1428 static int yyinput (void );
1430 static int input (void );
1435 /* Amount of stuff to slurp up with each read. */
1436 #ifndef YY_READ_BUF_SIZE
1437 #define YY_READ_BUF_SIZE 8192
1440 /* Copy whatever the last rule matched to the standard output. */
1442 /* This used to be an fputs(), but since the string might contain NUL's,
1443 * we now use fwrite().
1445 #define ECHO (void) fwrite( Configtext, Configleng, 1, Configout )
1448 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1449 * is returned in "result".
1452 #define YY_INPUT(buf,result,max_size) \
1453 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1457 for ( n = 0; n < max_size && \
1458 (c = getc( Configin )) != EOF && c != '\n'; ++n ) \
1459 buf[n] = (char) c; \
1461 buf[n++] = (char) c; \
1462 if ( c == EOF && ferror( Configin ) ) \
1463 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1469 while ( (result = fread(buf, 1, max_size, Configin))==0 && ferror(Configin)) \
1471 if( errno != EINTR) \
1473 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1477 clearerr(Configin); \
1484 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1485 * we don't want an extra ';' after the "return" because that will cause
1486 * some compilers to complain about unreachable statements.
1489 #define yyterminate() return YY_NULL
1492 /* Number of entries by which start-condition stack grows. */
1493 #ifndef YY_START_STACK_INCR
1494 #define YY_START_STACK_INCR 25
1497 /* Report a fatal error. */
1498 #ifndef YY_FATAL_ERROR
1499 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1502 /* end tables serialization structures and prototypes */
1504 /* Default declaration of generated scanner - a define so the user can
1505 * easily add parameters.
1508 #define YY_DECL_IS_OURS 1
1510 extern int Configlex (void);
1512 #define YY_DECL int Configlex (void)
1513 #endif /* !YY_DECL */
1515 /* Code executed at the beginning of each rule, after Configtext and Configleng
1518 #ifndef YY_USER_ACTION
1519 #define YY_USER_ACTION
1522 /* Code executed at the end of each rule. */
1524 #define YY_BREAK break;
1527 #define YY_RULE_SETUP \
1530 /** The main scanner function which does all the work.
1534 register yy_state_type yy_current_state;
1535 register char *yy_cp, *yy_bp;
1536 register int yy_act;
1538 #line 114 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1541 #line 1542 "ConfigLexer.cpp"
1552 (yy_start) = 1; /* first start state */
1560 if ( ! YY_CURRENT_BUFFER ) {
1561 Configensure_buffer_stack ();
1562 YY_CURRENT_BUFFER_LVALUE =
1563 Config_create_buffer(Configin,YY_BUF_SIZE );
1566 Config_load_buffer_state( );
1569 while ( 1 ) /* loops until end-of-file is reached */
1571 yy_cp = (yy_c_buf_p);
1573 /* Support of Configtext. */
1574 *yy_cp = (yy_hold_char);
1576 /* yy_bp points to the position in yy_ch_buf of the start of
1581 yy_current_state = (yy_start);
1585 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1586 if ( yy_accept[yy_current_state] )
1588 (yy_last_accepting_state) = yy_current_state;
1589 (yy_last_accepting_cpos) = yy_cp;
1591 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1593 yy_current_state = (int) yy_def[yy_current_state];
1594 if ( yy_current_state >= 408 )
1595 yy_c = yy_meta[(unsigned int) yy_c];
1597 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1600 while ( yy_current_state != 407 );
1601 yy_cp = (yy_last_accepting_cpos);
1602 yy_current_state = (yy_last_accepting_state);
1605 yy_act = yy_accept[yy_current_state];
1607 YY_DO_BEFORE_ACTION;
1609 do_action: /* This label is used only to access EOF actions. */
1612 { /* beginning of action switch */
1613 case 0: /* must back up */
1614 /* undo the effects of YY_DO_BEFORE_ACTION */
1615 *yy_cp = (yy_hold_char);
1616 yy_cp = (yy_last_accepting_cpos);
1617 yy_current_state = (yy_last_accepting_state);
1618 goto yy_find_action;
1622 #line 116 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1623 { if (ConfigLexerState.in_value) return SPACE; }
1626 /* rule 2 can match eol */
1628 #line 118 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1629 { /* Ignore comments */
1630 ConfigLexerState.in_value = false;
1631 ConfigLexerState.lineNum++;
1636 /* rule 3 can match eol */
1638 #line 124 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1639 { ConfigLexerState.lineNum++;
1640 /* Don't return EOLTOK! */
1644 /* rule 4 can match eol */
1646 #line 128 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1647 { ConfigLexerState.in_value = false;
1648 ConfigLexerState.lineNum++;
1654 #line 133 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1655 { ConfigLexerState.in_value = true;
1661 #line 137 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1662 { return SEPARATOR; }
1666 #line 139 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1667 { return handleNameContext(VERSION_TOK); }
1671 #line 141 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1672 { return handleNameContext(LANG); }
1676 #line 142 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1677 { return handleNameContext(LIBS); }
1681 #line 143 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1682 { return handleNameContext(NAME); }
1686 #line 144 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1687 { return handleNameContext(OPT1); }
1691 #line 145 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1692 { return handleNameContext(OPT2); }
1696 #line 146 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1697 { return handleNameContext(OPT3); }
1701 #line 147 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1702 { return handleNameContext(OPT4); }
1706 #line 148 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1707 { return handleNameContext(OPT5); }
1711 #line 150 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1712 { return handleNameContext(PREPROCESSOR); }
1716 #line 151 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1717 { return handleNameContext(COMMAND); }
1721 #line 152 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1722 { return handleNameContext(REQUIRED); }
1726 #line 154 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1727 { return handleNameContext(TRANSLATOR); }
1731 #line 155 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1732 { return handleNameContext(PREPROCESSES); }
1736 #line 156 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1737 { return handleNameContext(OUTPUT); }
1741 #line 158 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1742 { return handleNameContext(OPTIMIZER); }
1746 #line 159 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1747 { return handleNameContext(TRANSLATES); }
1751 #line 161 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1752 { return handleNameContext(ASSEMBLER); }
1756 #line 163 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1757 { return handleNameContext(LINKER); }
1761 #line 165 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1762 { return handleSubstitution(ARGS_SUBST); }
1766 #line 166 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1767 { return handleSubstitution(BINDIR_SUBST); }
1771 #line 167 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1772 { return handleSubstitution(DEFS_SUBST); }
1776 #line 168 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1777 { return handleSubstitution(IN_SUBST); }
1781 #line 169 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1782 { return handleSubstitution(INCLS_SUBST); }
1786 #line 170 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1787 { return handleSubstitution(LIBDIR_SUBST); }
1791 #line 171 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1792 { return handleSubstitution(LIBS_SUBST); }
1796 #line 172 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1797 { return handleSubstitution(LLVMGCCDIR_SUBST); }
1801 #line 173 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1802 { return handleSubstitution(LLVMGCCARCH_SUBST); }
1806 #line 174 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1807 { return handleSubstitution(LLVMGCC_SUBST); }
1811 #line 175 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1812 { return handleSubstitution(LLVMGXX_SUBST); }
1816 #line 176 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1817 { return handleSubstitution(LLVMCC1_SUBST); }
1821 #line 177 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1822 { return handleSubstitution(LLVMCC1PLUS_SUBST); }
1826 #line 178 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1827 { return handleSubstitution(OPT_SUBST); }
1831 #line 179 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1832 { return handleSubstitution(OUT_SUBST); }
1836 #line 180 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1837 { return handleSubstitution(STATS_SUBST); }
1841 #line 181 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1842 { return handleSubstitution(TARGET_SUBST); }
1846 #line 182 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1847 { return handleSubstitution(TIME_SUBST); }
1851 #line 183 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1852 { return handleSubstitution(VERBOSE_SUBST); }
1856 #line 184 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1857 { return handleSubstitution(FOPTS_SUBST); }
1861 #line 185 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1862 { return handleSubstitution(MOPTS_SUBST); }
1866 #line 186 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1867 { return handleSubstitution(WOPTS_SUBST); }
1871 #line 188 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1872 { return handleValueContext(ASSEMBLY); }
1876 #line 189 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1877 { return handleValueContext(BITCODE); }
1881 #line 190 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1882 { return handleValueContext(TRUETOK); }
1886 #line 191 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1887 { return handleValueContext(FALSETOK); }
1891 #line 193 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1892 { ConfigLexerState.StringVal = Configtext; return OPTION; }
1895 /* rule 53 can match eol */
1897 #line 194 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1898 { ConfigLexerState.StringVal = Configtext+1; // Nuke start quote
1899 ConfigLexerState.StringVal.erase(
1900 --ConfigLexerState.StringVal.end());
1906 #line 199 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1907 { YY_FATAL_ERROR("Invalid substitution token"); }
1911 #line 201 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1914 #line 1915 "ConfigLexer.cpp"
1915 case YY_STATE_EOF(INITIAL):
1918 case YY_END_OF_BUFFER:
1920 /* Amount of text matched not including the EOB char. */
1921 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
1923 /* Undo the effects of YY_DO_BEFORE_ACTION. */
1924 *yy_cp = (yy_hold_char);
1925 YY_RESTORE_YY_MORE_OFFSET
1927 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
1929 /* We're scanning a new file or input source. It's
1930 * possible that this happened because the user
1931 * just pointed Configin at a new source and called
1932 * Configlex(). If so, then we have to assure
1933 * consistency between YY_CURRENT_BUFFER and our
1934 * globals. Here is the right place to do so, because
1935 * this is the first action (other than possibly a
1936 * back-up) that will match for the new input source.
1938 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
1939 YY_CURRENT_BUFFER_LVALUE->yy_input_file = Configin;
1940 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
1943 /* Note that here we test for yy_c_buf_p "<=" to the position
1944 * of the first EOB in the buffer, since yy_c_buf_p will
1945 * already have been incremented past the NUL character
1946 * (since all states make transitions on EOB to the
1947 * end-of-buffer state). Contrast this with the test
1950 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
1951 { /* This was really a NUL. */
1952 yy_state_type yy_next_state;
1954 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
1956 yy_current_state = yy_get_previous_state( );
1958 /* Okay, we're now positioned to make the NUL
1959 * transition. We couldn't have
1960 * yy_get_previous_state() go ahead and do it
1961 * for us because it doesn't know how to deal
1962 * with the possibility of jamming (and we don't
1963 * want to build jamming into it because then it
1964 * will run more slowly).
1967 yy_next_state = yy_try_NUL_trans( yy_current_state );
1969 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
1971 if ( yy_next_state )
1973 /* Consume the NUL. */
1974 yy_cp = ++(yy_c_buf_p);
1975 yy_current_state = yy_next_state;
1981 yy_cp = (yy_last_accepting_cpos);
1982 yy_current_state = (yy_last_accepting_state);
1983 goto yy_find_action;
1987 else switch ( yy_get_next_buffer( ) )
1989 case EOB_ACT_END_OF_FILE:
1991 (yy_did_buffer_switch_on_eof) = 0;
1993 if ( Configwrap( ) )
1995 /* Note: because we've taken care in
1996 * yy_get_next_buffer() to have set up
1997 * Configtext, we can now set up
1998 * yy_c_buf_p so that if some total
1999 * hoser (like flex itself) wants to
2000 * call the scanner after we return the
2001 * YY_NULL, it'll still work - another
2002 * YY_NULL will get returned.
2004 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
2006 yy_act = YY_STATE_EOF(YY_START);
2012 if ( ! (yy_did_buffer_switch_on_eof) )
2018 case EOB_ACT_CONTINUE_SCAN:
2020 (yytext_ptr) + yy_amount_of_matched_text;
2022 yy_current_state = yy_get_previous_state( );
2024 yy_cp = (yy_c_buf_p);
2025 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2028 case EOB_ACT_LAST_MATCH:
2030 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
2032 yy_current_state = yy_get_previous_state( );
2034 yy_cp = (yy_c_buf_p);
2035 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2036 goto yy_find_action;
2043 "fatal flex scanner internal error--no action found" );
2044 } /* end of action switch */
2045 } /* end of scanning one token */
2046 } /* end of Configlex */
2048 /* yy_get_next_buffer - try to read in a new buffer
2050 * Returns a code representing an action:
2051 * EOB_ACT_LAST_MATCH -
2052 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2053 * EOB_ACT_END_OF_FILE - end of file
2055 static int yy_get_next_buffer (void)
2057 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
2058 register char *source = (yytext_ptr);
2059 register int number_to_move, i;
2062 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
2064 "fatal flex scanner internal error--end of buffer missed" );
2066 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
2067 { /* Don't try to fill the buffer, so this is an EOF. */
2068 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
2070 /* We matched a single character, the EOB, so
2071 * treat this as a final EOF.
2073 return EOB_ACT_END_OF_FILE;
2078 /* We matched some text prior to the EOB, first
2081 return EOB_ACT_LAST_MATCH;
2085 /* Try to read more data. */
2087 /* First move last chars to start of buffer. */
2088 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
2090 for ( i = 0; i < number_to_move; ++i )
2091 *(dest++) = *(source++);
2093 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2094 /* don't do the read, it's not guaranteed to return an EOF,
2097 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
2102 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
2104 while ( num_to_read <= 0 )
2105 { /* Not enough room in the buffer - grow it. */
2107 /* just a shorter name for the current buffer */
2108 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
2110 int yy_c_buf_p_offset =
2111 (int) ((yy_c_buf_p) - b->yy_ch_buf);
2113 if ( b->yy_is_our_buffer )
2115 int new_size = b->yy_buf_size * 2;
2117 if ( new_size <= 0 )
2118 b->yy_buf_size += b->yy_buf_size / 8;
2120 b->yy_buf_size *= 2;
2122 b->yy_ch_buf = (char *)
2123 /* Include room in for 2 EOB chars. */
2124 Configrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
2127 /* Can't grow it, we don't own it. */
2130 if ( ! b->yy_ch_buf )
2132 "fatal error - scanner input buffer overflow" );
2134 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
2136 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
2141 if ( num_to_read > YY_READ_BUF_SIZE )
2142 num_to_read = YY_READ_BUF_SIZE;
2144 /* Read in more data. */
2145 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
2146 (yy_n_chars), num_to_read );
2148 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2151 if ( (yy_n_chars) == 0 )
2153 if ( number_to_move == YY_MORE_ADJ )
2155 ret_val = EOB_ACT_END_OF_FILE;
2156 Configrestart(Configin );
2161 ret_val = EOB_ACT_LAST_MATCH;
2162 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
2163 YY_BUFFER_EOF_PENDING;
2168 ret_val = EOB_ACT_CONTINUE_SCAN;
2170 (yy_n_chars) += number_to_move;
2171 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
2172 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
2174 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
2179 /* yy_get_previous_state - get the state just before the EOB char was reached */
2181 static yy_state_type yy_get_previous_state (void)
2183 register yy_state_type yy_current_state;
2184 register char *yy_cp;
2186 yy_current_state = (yy_start);
2188 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
2190 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2191 if ( yy_accept[yy_current_state] )
2193 (yy_last_accepting_state) = yy_current_state;
2194 (yy_last_accepting_cpos) = yy_cp;
2196 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2198 yy_current_state = (int) yy_def[yy_current_state];
2199 if ( yy_current_state >= 408 )
2200 yy_c = yy_meta[(unsigned int) yy_c];
2202 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2205 return yy_current_state;
2208 /* yy_try_NUL_trans - try to make a transition on the NUL character
2211 * next_state = yy_try_NUL_trans( current_state );
2213 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
2215 register int yy_is_jam;
2216 register char *yy_cp = (yy_c_buf_p);
2218 register YY_CHAR yy_c = 1;
2219 if ( yy_accept[yy_current_state] )
2221 (yy_last_accepting_state) = yy_current_state;
2222 (yy_last_accepting_cpos) = yy_cp;
2224 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2226 yy_current_state = (int) yy_def[yy_current_state];
2227 if ( yy_current_state >= 408 )
2228 yy_c = yy_meta[(unsigned int) yy_c];
2230 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2231 yy_is_jam = (yy_current_state == 407);
2233 return yy_is_jam ? 0 : yy_current_state;
2236 static inline void yyunput (int c, register char * yy_bp )
2238 register char *yy_cp;
2240 yy_cp = (yy_c_buf_p);
2242 /* undo effects of setting up Configtext */
2243 *yy_cp = (yy_hold_char);
2245 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
2246 { /* need to shift things up to make room */
2247 /* +2 for EOB chars. */
2248 register int number_to_move = (yy_n_chars) + 2;
2249 register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
2250 YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
2251 register char *source =
2252 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
2254 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
2255 *--dest = *--source;
2257 yy_cp += (int) (dest - source);
2258 yy_bp += (int) (dest - source);
2259 YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
2260 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
2262 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
2263 YY_FATAL_ERROR( "flex scanner push-back overflow" );
2266 *--yy_cp = (char) c;
2268 (yytext_ptr) = yy_bp;
2269 (yy_hold_char) = *yy_cp;
2270 (yy_c_buf_p) = yy_cp;
2275 static int yyinput (void)
2277 static int input (void)
2283 *(yy_c_buf_p) = (yy_hold_char);
2285 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
2287 /* yy_c_buf_p now points to the character we want to return.
2288 * If this occurs *before* the EOB characters, then it's a
2289 * valid NUL; if not, then we've hit the end of the buffer.
2291 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2292 /* This was really a NUL. */
2293 *(yy_c_buf_p) = '\0';
2296 { /* need more input */
2297 int offset = (yy_c_buf_p) - (yytext_ptr);
2300 switch ( yy_get_next_buffer( ) )
2302 case EOB_ACT_LAST_MATCH:
2303 /* This happens because yy_g_n_b()
2304 * sees that we've accumulated a
2305 * token and flags that we need to
2306 * try matching the token before
2307 * proceeding. But for input(),
2308 * there's no matching to consider.
2309 * So convert the EOB_ACT_LAST_MATCH
2310 * to EOB_ACT_END_OF_FILE.
2313 /* Reset buffer status. */
2314 Configrestart(Configin );
2318 case EOB_ACT_END_OF_FILE:
2320 if ( Configwrap( ) )
2323 if ( ! (yy_did_buffer_switch_on_eof) )
2332 case EOB_ACT_CONTINUE_SCAN:
2333 (yy_c_buf_p) = (yytext_ptr) + offset;
2339 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
2340 *(yy_c_buf_p) = '\0'; /* preserve Configtext */
2341 (yy_hold_char) = *++(yy_c_buf_p);
2345 #endif /* ifndef YY_NO_INPUT */
2347 /** Immediately switch to a different input stream.
2348 * @param input_file A readable stream.
2350 * @note This function does not reset the start condition to @c INITIAL .
2352 void Configrestart (FILE * input_file )
2355 if ( ! YY_CURRENT_BUFFER ){
2356 Configensure_buffer_stack ();
2357 YY_CURRENT_BUFFER_LVALUE =
2358 Config_create_buffer(Configin,YY_BUF_SIZE );
2361 Config_init_buffer(YY_CURRENT_BUFFER,input_file );
2362 Config_load_buffer_state( );
2365 /** Switch to a different input buffer.
2366 * @param new_buffer The new input buffer.
2369 void Config_switch_to_buffer (YY_BUFFER_STATE new_buffer )
2372 /* TODO. We should be able to replace this entire function body
2374 * Configpop_buffer_state();
2375 * Configpush_buffer_state(new_buffer);
2377 Configensure_buffer_stack ();
2378 if ( YY_CURRENT_BUFFER == new_buffer )
2381 if ( YY_CURRENT_BUFFER )
2383 /* Flush out information for old buffer. */
2384 *(yy_c_buf_p) = (yy_hold_char);
2385 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
2386 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2389 YY_CURRENT_BUFFER_LVALUE = new_buffer;
2390 Config_load_buffer_state( );
2392 /* We don't actually know whether we did this switch during
2393 * EOF (Configwrap()) processing, but the only time this flag
2394 * is looked at is after Configwrap() is called, so it's safe
2395 * to go ahead and always set it.
2397 (yy_did_buffer_switch_on_eof) = 1;
2400 static void Config_load_buffer_state (void)
2402 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2403 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
2404 Configin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
2405 (yy_hold_char) = *(yy_c_buf_p);
2408 /** Allocate and initialize an input buffer state.
2409 * @param file A readable stream.
2410 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
2412 * @return the allocated buffer state.
2414 YY_BUFFER_STATE Config_create_buffer (FILE * file, int size )
2418 b = (YY_BUFFER_STATE) Configalloc(sizeof( struct yy_buffer_state ) );
2420 YY_FATAL_ERROR( "out of dynamic memory in Config_create_buffer()" );
2422 b->yy_buf_size = size;
2424 /* yy_ch_buf has to be 2 characters longer than the size given because
2425 * we need to put in 2 end-of-buffer characters.
2427 b->yy_ch_buf = (char *) Configalloc(b->yy_buf_size + 2 );
2428 if ( ! b->yy_ch_buf )
2429 YY_FATAL_ERROR( "out of dynamic memory in Config_create_buffer()" );
2431 b->yy_is_our_buffer = 1;
2433 Config_init_buffer(b,file );
2438 /** Destroy the buffer.
2439 * @param b a buffer created with Config_create_buffer()
2442 void Config_delete_buffer (YY_BUFFER_STATE b )
2448 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
2449 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
2451 if ( b->yy_is_our_buffer )
2452 Configfree((void *) b->yy_ch_buf );
2454 Configfree((void *) b );
2457 /* Initializes or reinitializes a buffer.
2458 * This function is sometimes called more than once on the same buffer,
2459 * such as during a Configrestart() or at EOF.
2461 static void Config_init_buffer (YY_BUFFER_STATE b, FILE * file )
2466 Config_flush_buffer(b );
2468 b->yy_input_file = file;
2469 b->yy_fill_buffer = 1;
2471 /* If b is the current buffer, then Config_init_buffer was _probably_
2472 * called from Configrestart() or through yy_get_next_buffer.
2473 * In that case, we don't want to reset the lineno or column.
2475 if (b != YY_CURRENT_BUFFER){
2476 b->yy_bs_lineno = 1;
2477 b->yy_bs_column = 0;
2480 b->yy_is_interactive = 0;
2485 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
2486 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
2489 void Config_flush_buffer (YY_BUFFER_STATE b )
2496 /* We always need two end-of-buffer characters. The first causes
2497 * a transition to the end-of-buffer state. The second causes
2498 * a jam in that state.
2500 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2501 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2503 b->yy_buf_pos = &b->yy_ch_buf[0];
2506 b->yy_buffer_status = YY_BUFFER_NEW;
2508 if ( b == YY_CURRENT_BUFFER )
2509 Config_load_buffer_state( );
2512 /** Pushes the new state onto the stack. The new state becomes
2513 * the current state. This function will allocate the stack
2515 * @param new_buffer The new state.
2518 void Configpush_buffer_state (YY_BUFFER_STATE new_buffer )
2520 if (new_buffer == NULL)
2523 Configensure_buffer_stack();
2525 /* This block is copied from Config_switch_to_buffer. */
2526 if ( YY_CURRENT_BUFFER )
2528 /* Flush out information for old buffer. */
2529 *(yy_c_buf_p) = (yy_hold_char);
2530 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
2531 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2534 /* Only push if top exists. Otherwise, replace top. */
2535 if (YY_CURRENT_BUFFER)
2536 (yy_buffer_stack_top)++;
2537 YY_CURRENT_BUFFER_LVALUE = new_buffer;
2539 /* copied from Config_switch_to_buffer. */
2540 Config_load_buffer_state( );
2541 (yy_did_buffer_switch_on_eof) = 1;
2544 /** Removes and deletes the top of the stack, if present.
2545 * The next element becomes the new top.
2548 void Configpop_buffer_state (void)
2550 if (!YY_CURRENT_BUFFER)
2553 Config_delete_buffer(YY_CURRENT_BUFFER );
2554 YY_CURRENT_BUFFER_LVALUE = NULL;
2555 if ((yy_buffer_stack_top) > 0)
2556 --(yy_buffer_stack_top);
2558 if (YY_CURRENT_BUFFER) {
2559 Config_load_buffer_state( );
2560 (yy_did_buffer_switch_on_eof) = 1;
2564 /* Allocates the stack if it does not exist.
2565 * Guarantees space for at least one push.
2567 static void Configensure_buffer_stack (void)
2571 if (!(yy_buffer_stack)) {
2573 /* First allocation is just for 2 elements, since we don't know if this
2574 * scanner will even need a stack. We use 2 instead of 1 to avoid an
2575 * immediate realloc on the next call.
2578 (yy_buffer_stack) = (struct yy_buffer_state**)Configalloc
2579 (num_to_alloc * sizeof(struct yy_buffer_state*)
2582 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
2584 (yy_buffer_stack_max) = num_to_alloc;
2585 (yy_buffer_stack_top) = 0;
2589 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
2591 /* Increase the buffer to prepare for a possible push. */
2592 int grow_size = 8 /* arbitrary grow size */;
2594 num_to_alloc = (yy_buffer_stack_max) + grow_size;
2595 (yy_buffer_stack) = (struct yy_buffer_state**)Configrealloc
2597 num_to_alloc * sizeof(struct yy_buffer_state*)
2600 /* zero only the new slots.*/
2601 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
2602 (yy_buffer_stack_max) = num_to_alloc;
2606 /** Setup the input buffer state to scan directly from a user-specified character buffer.
2607 * @param base the character buffer
2608 * @param size the size in bytes of the character buffer
2610 * @return the newly allocated buffer state object.
2612 YY_BUFFER_STATE Config_scan_buffer (char * base, yy_size_t size )
2617 base[size-2] != YY_END_OF_BUFFER_CHAR ||
2618 base[size-1] != YY_END_OF_BUFFER_CHAR )
2619 /* They forgot to leave room for the EOB's. */
2622 b = (YY_BUFFER_STATE) Configalloc(sizeof( struct yy_buffer_state ) );
2624 YY_FATAL_ERROR( "out of dynamic memory in Config_scan_buffer()" );
2626 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
2627 b->yy_buf_pos = b->yy_ch_buf = base;
2628 b->yy_is_our_buffer = 0;
2629 b->yy_input_file = 0;
2630 b->yy_n_chars = b->yy_buf_size;
2631 b->yy_is_interactive = 0;
2633 b->yy_fill_buffer = 0;
2634 b->yy_buffer_status = YY_BUFFER_NEW;
2636 Config_switch_to_buffer(b );
2641 /** Setup the input buffer state to scan a string. The next call to Configlex() will
2642 * scan from a @e copy of @a str.
2643 * @param str a NUL-terminated string to scan
2645 * @return the newly allocated buffer state object.
2646 * @note If you want to scan bytes that may contain NUL values, then use
2647 * Config_scan_bytes() instead.
2649 YY_BUFFER_STATE Config_scan_string (yyconst char * yystr )
2652 return Config_scan_bytes(yystr,strlen(yystr) );
2655 /** Setup the input buffer state to scan the given bytes. The next call to Configlex() will
2656 * scan from a @e copy of @a bytes.
2657 * @param bytes the byte buffer to scan
2658 * @param len the number of bytes in the buffer pointed to by @a bytes.
2660 * @return the newly allocated buffer state object.
2662 YY_BUFFER_STATE Config_scan_bytes (yyconst char * yybytes, int _yybytes_len )
2669 /* Get memory for full buffer, including space for trailing EOB's. */
2670 n = _yybytes_len + 2;
2671 buf = (char *) Configalloc(n );
2673 YY_FATAL_ERROR( "out of dynamic memory in Config_scan_bytes()" );
2675 for ( i = 0; i < _yybytes_len; ++i )
2676 buf[i] = yybytes[i];
2678 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
2680 b = Config_scan_buffer(buf,n );
2682 YY_FATAL_ERROR( "bad buffer in Config_scan_bytes()" );
2684 /* It's okay to grow etc. this buffer, and we should throw it
2685 * away when we're done.
2687 b->yy_is_our_buffer = 1;
2692 #ifndef YY_EXIT_FAILURE
2693 #define YY_EXIT_FAILURE 2
2696 static void yy_fatal_error (yyconst char* msg )
2698 (void) fprintf( stderr, "%s\n", msg );
2699 exit( YY_EXIT_FAILURE );
2702 /* Redefine yyless() so it works in section 3 code. */
2708 /* Undo effects of setting up Configtext. */ \
2709 int yyless_macro_arg = (n); \
2710 YY_LESS_LINENO(yyless_macro_arg);\
2711 Configtext[Configleng] = (yy_hold_char); \
2712 (yy_c_buf_p) = Configtext + yyless_macro_arg; \
2713 (yy_hold_char) = *(yy_c_buf_p); \
2714 *(yy_c_buf_p) = '\0'; \
2715 Configleng = yyless_macro_arg; \
2719 /* Accessor methods (get/set functions) to struct members. */
2721 /** Get the current line number.
2724 int Configget_lineno (void)
2727 return Configlineno;
2730 /** Get the input stream.
2733 FILE *Configget_in (void)
2738 /** Get the output stream.
2741 FILE *Configget_out (void)
2746 /** Get the length of the current token.
2749 int Configget_leng (void)
2754 /** Get the current token.
2758 char *Configget_text (void)
2763 /** Set the current line number.
2764 * @param line_number
2767 void Configset_lineno (int line_number )
2770 Configlineno = line_number;
2773 /** Set the input stream. This does not discard the current
2775 * @param in_str A readable stream.
2777 * @see Config_switch_to_buffer
2779 void Configset_in (FILE * in_str )
2784 void Configset_out (FILE * out_str )
2786 Configout = out_str ;
2789 int Configget_debug (void)
2791 return Config_flex_debug;
2794 void Configset_debug (int bdebug )
2796 Config_flex_debug = bdebug ;
2799 static int yy_init_globals (void)
2801 /* Initialization is the same as for the non-reentrant scanner.
2802 * This function is called from Configlex_destroy(), so don't allocate here.
2805 (yy_buffer_stack) = 0;
2806 (yy_buffer_stack_top) = 0;
2807 (yy_buffer_stack_max) = 0;
2808 (yy_c_buf_p) = (char *) 0;
2812 /* Defined in main.c */
2817 Configin = (FILE *) 0;
2818 Configout = (FILE *) 0;
2821 /* For future reference: Set errno on error, since we are called by
2827 /* Configlex_destroy is for both reentrant and non-reentrant scanners. */
2828 int Configlex_destroy (void)
2831 /* Pop the buffer stack, destroying each element. */
2832 while(YY_CURRENT_BUFFER){
2833 Config_delete_buffer(YY_CURRENT_BUFFER );
2834 YY_CURRENT_BUFFER_LVALUE = NULL;
2835 Configpop_buffer_state();
2838 /* Destroy the stack itself. */
2839 Configfree((yy_buffer_stack) );
2840 (yy_buffer_stack) = NULL;
2842 /* Reset the globals. This is important in a non-reentrant scanner so the next time
2843 * Configlex() is called, initialization will occur. */
2850 * Internal utility routines.
2854 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
2857 for ( i = 0; i < n; ++i )
2862 #ifdef YY_NEED_STRLEN
2863 static int yy_flex_strlen (yyconst char * s )
2866 for ( n = 0; s[n]; ++n )
2873 void *Configalloc (yy_size_t size )
2875 return (void *) malloc( size );
2878 void *Configrealloc (void * ptr, yy_size_t size )
2880 /* The cast to (char *) in the following accommodates both
2881 * implementations that use char* generic pointers, and those
2882 * that use void* generic pointers. It works with the latter
2883 * because both ANSI C and C++ allow castless assignment from
2884 * any pointer type to void*, and deal with argument conversions
2885 * as though doing an assignment.
2887 return (void *) realloc( (char *) ptr, size );
2890 void Configfree (void * ptr )
2892 free( (char *) ptr ); /* see Configrealloc() for (char *) cast */
2895 #define YYTABLES_NAME "yytables"
2897 #line 201 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"