4 #define YY_INT_ALIGNED short int
6 /* A lexical scanner generated by flex */
9 #define YY_FLEX_MAJOR_VERSION 2
10 #define YY_FLEX_MINOR_VERSION 5
11 #define YY_FLEX_SUBMINOR_VERSION 35
12 #if YY_FLEX_SUBMINOR_VERSION > 0
16 /* First, we deal with platform-specific or compiler-specific issues. */
18 /* begin standard C headers. */
24 /* end standard C headers. */
26 /* flex integer type definitions */
31 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
33 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
35 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
36 * if you want the limit (max/min) macros for int types.
38 #ifndef __STDC_LIMIT_MACROS
39 #define __STDC_LIMIT_MACROS 1
43 typedef int8_t flex_int8_t
;
44 typedef uint8_t flex_uint8_t
;
45 typedef int16_t flex_int16_t
;
46 typedef uint16_t flex_uint16_t
;
47 typedef int32_t flex_int32_t
;
48 typedef uint32_t flex_uint32_t
;
50 typedef signed char flex_int8_t
;
51 typedef short int flex_int16_t
;
52 typedef int flex_int32_t
;
53 typedef unsigned char flex_uint8_t
;
54 typedef unsigned short int flex_uint16_t
;
55 typedef unsigned int flex_uint32_t
;
58 /* Limits of integral types. */
60 #define INT8_MIN (-128)
63 #define INT16_MIN (-32767-1)
66 #define INT32_MIN (-2147483647-1)
69 #define INT8_MAX (127)
72 #define INT16_MAX (32767)
75 #define INT32_MAX (2147483647)
78 #define UINT8_MAX (255U)
81 #define UINT16_MAX (65535U)
84 #define UINT32_MAX (4294967295U)
87 #endif /* ! FLEXINT_H */
91 /* The "const" storage-class-modifier is valid. */
94 #else /* ! __cplusplus */
96 /* C99 requires __STDC__ to be defined as 1. */
97 #if defined (__STDC__)
101 #endif /* defined (__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 yyrestart(yyin )
139 #define YY_END_OF_BUFFER_CHAR 0
141 /* Size of default input buffer. */
143 #define YY_BUF_SIZE 16384
146 /* The state buf must be large enough to hold one state per character in the main buffer.
148 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
150 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
151 #define YY_TYPEDEF_YY_BUFFER_STATE
152 typedef struct yy_buffer_state
*YY_BUFFER_STATE
;
155 #ifndef YY_TYPEDEF_YY_SIZE_T
156 #define YY_TYPEDEF_YY_SIZE_T
157 typedef size_t yy_size_t
;
160 extern yy_size_t yyleng
;
162 extern FILE *yyin
, *yyout
;
164 #define EOB_ACT_CONTINUE_SCAN 0
165 #define EOB_ACT_END_OF_FILE 1
166 #define EOB_ACT_LAST_MATCH 2
168 #define YY_LESS_LINENO(n)
170 /* Return all but the first "n" matched characters back to the input stream. */
174 /* Undo effects of setting up yytext. */ \
175 int yyless_macro_arg = (n); \
176 YY_LESS_LINENO(yyless_macro_arg);\
177 *yy_cp = (yy_hold_char); \
178 YY_RESTORE_YY_MORE_OFFSET \
179 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
180 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
184 #define unput(c) yyunput( c, (yytext_ptr) )
186 #ifndef YY_STRUCT_YY_BUFFER_STATE
187 #define YY_STRUCT_YY_BUFFER_STATE
188 struct yy_buffer_state
192 char *yy_ch_buf
; /* input buffer */
193 char *yy_buf_pos
; /* current position in input buffer */
195 /* Size of input buffer in bytes, not including room for EOB
198 yy_size_t yy_buf_size
;
200 /* Number of characters read into yy_ch_buf, not including EOB
203 yy_size_t yy_n_chars
;
205 /* Whether we "own" the buffer - i.e., we know we created it,
206 * and can realloc() it to grow it, and should free() it to
209 int yy_is_our_buffer
;
211 /* Whether this is an "interactive" input source; if so, and
212 * if we're using stdio for input, then we want to use getc()
213 * instead of fread(), to make sure we stop fetching input after
216 int yy_is_interactive
;
218 /* Whether we're considered to be at the beginning of a line.
219 * If so, '^' rules will be active on the next match, otherwise
224 int yy_bs_lineno
; /**< The line count. */
225 int yy_bs_column
; /**< The column count. */
227 /* Whether to try to fill the input buffer when we reach the
232 int yy_buffer_status
;
234 #define YY_BUFFER_NEW 0
235 #define YY_BUFFER_NORMAL 1
236 /* When an EOF's been seen but there's still some text to process
237 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
238 * shouldn't try reading from the input source any more. We might
239 * still have a bunch of tokens to match, though, because of
240 * possible backing-up.
242 * When we actually see the EOF, we change the status to "new"
243 * (via yyrestart()), so that the user can continue scanning by
244 * just pointing yyin at a new input file.
246 #define YY_BUFFER_EOF_PENDING 2
249 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
251 /* Stack of input buffers. */
252 static size_t yy_buffer_stack_top
= 0; /**< index of top of stack. */
253 static size_t yy_buffer_stack_max
= 0; /**< capacity of stack. */
254 static YY_BUFFER_STATE
* yy_buffer_stack
= 0; /**< Stack as an array. */
256 /* We provide macros for accessing buffer states in case in the
257 * future we want to put the buffer states in a more general
260 * Returns the top of the stack, or NULL.
262 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
263 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
266 /* Same as previous macro, but useful when we know that the buffer stack is not
267 * NULL or when we need an lvalue. For internal use only.
269 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
271 /* yy_hold_char holds the character lost when yytext is formed. */
272 static char yy_hold_char
;
273 static yy_size_t yy_n_chars
; /* number of characters read into yy_ch_buf */
276 /* Points to current character in buffer. */
277 static char *yy_c_buf_p
= (char *) 0;
278 static int yy_init
= 0; /* whether we need to initialize */
279 static int yy_start
= 0; /* start state number */
281 /* Flag which is used to allow yywrap()'s to do buffer switches
282 * instead of setting up a fresh yyin. A bit of a hack ...
284 static int yy_did_buffer_switch_on_eof
;
286 void yyrestart (FILE *input_file
);
287 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer
);
288 YY_BUFFER_STATE
yy_create_buffer (FILE *file
,int size
);
289 void yy_delete_buffer (YY_BUFFER_STATE b
);
290 void yy_flush_buffer (YY_BUFFER_STATE b
);
291 void yypush_buffer_state (YY_BUFFER_STATE new_buffer
);
292 void yypop_buffer_state (void );
294 static void yyensure_buffer_stack (void );
295 static void yy_load_buffer_state (void );
296 static void yy_init_buffer (YY_BUFFER_STATE b
,FILE *file
);
298 #define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
300 YY_BUFFER_STATE
yy_scan_buffer (char *base
,yy_size_t size
);
301 YY_BUFFER_STATE
yy_scan_string (yyconst
char *yy_str
);
302 YY_BUFFER_STATE
yy_scan_bytes (yyconst
char *bytes
,yy_size_t len
);
304 void *yyalloc (yy_size_t
);
305 void *yyrealloc (void *,yy_size_t
);
306 void yyfree (void * );
308 #define yy_new_buffer yy_create_buffer
310 #define yy_set_interactive(is_interactive) \
312 if ( ! YY_CURRENT_BUFFER ){ \
313 yyensure_buffer_stack (); \
314 YY_CURRENT_BUFFER_LVALUE = \
315 yy_create_buffer(yyin,YY_BUF_SIZE ); \
317 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
320 #define yy_set_bol(at_bol) \
322 if ( ! YY_CURRENT_BUFFER ){\
323 yyensure_buffer_stack (); \
324 YY_CURRENT_BUFFER_LVALUE = \
325 yy_create_buffer(yyin,YY_BUF_SIZE ); \
327 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
330 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
332 /* Begin user sect3 */
334 typedef unsigned char YY_CHAR
;
336 FILE *yyin
= (FILE *) 0, *yyout
= (FILE *) 0;
338 typedef int yy_state_type
;
345 #define yytext_ptr yytext
347 static yy_state_type
yy_get_previous_state (void );
348 static yy_state_type
yy_try_NUL_trans (yy_state_type current_state
);
349 static int yy_get_next_buffer (void );
350 static void yy_fatal_error (yyconst
char msg
[] );
352 /* Done after the current pattern has been matched and before the
353 * corresponding action - sets up yytext.
355 #define YY_DO_BEFORE_ACTION \
356 (yytext_ptr) = yy_bp; \
357 yyleng = (size_t) (yy_cp - yy_bp); \
358 (yy_hold_char) = *yy_cp; \
360 (yy_c_buf_p) = yy_cp;
362 #define YY_NUM_RULES 190
363 #define YY_END_OF_BUFFER 191
364 /* This struct is not used in this scanner,
365 but its presence is necessary. */
368 flex_int32_t yy_verify
;
371 static yyconst flex_int16_t yy_accept
[1591] =
373 0, 0, 170, 170, 0, 0, 0, 0, 0, 0,
374 0, 0, 0, 0, 0, 0, 0, 0, 191, 190,
375 188, 173, 172, 32, 188, 170, 38, 29, 44, 43,
376 34, 35, 28, 36, 170, 37, 8, 8, 45, 46,
377 39, 40, 27, 33, 170, 170, 170, 170, 170, 170,
378 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
379 170, 170, 170, 170, 10, 9, 170, 115, 113, 170,
380 42, 30, 41, 31, 189, 173, 32, 189, 168, 38,
381 29, 44, 43, 34, 35, 28, 36, 168, 37, 8,
382 8, 45, 46, 39, 40, 27, 33, 168, 168, 168,
384 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
385 168, 168, 10, 9, 168, 168, 42, 30, 41, 31,
386 166, 36, 166, 37, 8, 8, 166, 166, 166, 166,
387 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
388 166, 166, 166, 166, 166, 166, 166, 115, 113, 166,
389 31, 4, 3, 2, 4, 5, 127, 126, 165, 34,
390 35, 28, 36, 165, 37, 8, 8, 45, 46, 40,
391 33, 165, 165, 165, 165, 165, 165, 165, 165, 165,
392 165, 165, 165, 10, 9, 165, 165, 165, 165, 165,
393 165, 165, 165, 165, 165, 165, 31, 187, 185, 186,
395 188, 180, 179, 174, 181, 182, 178, 178, 178, 178,
396 183, 184, 173, 15, 0, 171, 170, 8, 26, 24,
397 22, 20, 21, 1, 23, 8, 8, 170, 18, 17,
398 14, 16, 19, 170, 170, 170, 170, 170, 119, 170,
399 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
400 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
401 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
402 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
403 170, 170, 170, 170, 170, 170, 25, 13, 168, 6,
404 22, 20, 21, 0, 1, 23, 8, 0, 7, 7,
406 8, 7, 14, 168, 7, 7, 7, 168, 168, 119,
407 7, 168, 168, 7, 168, 168, 168, 7, 168, 168,
408 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
409 168, 168, 168, 168, 168, 7, 168, 166, 8, 0,
410 23, 8, 0, 166, 166, 166, 166, 166, 119, 166,
411 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
412 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
413 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
414 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
415 166, 166, 166, 166, 166, 166, 166, 4, 4, 126,
417 126, 165, 6, 128, 22, 129, 165, 7, 7, 7,
418 165, 165, 165, 7, 165, 7, 7, 165, 165, 165,
419 165, 165, 165, 165, 165, 7, 165, 165, 165, 7,
420 165, 7, 7, 165, 165, 165, 165, 165, 165, 165,
421 165, 187, 186, 179, 178, 0, 178, 178, 178, 11,
422 12, 170, 170, 170, 170, 170, 170, 170, 170, 170,
423 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
424 170, 170, 170, 170, 91, 170, 170, 170, 170, 170,
425 170, 170, 170, 170, 70, 170, 170, 170, 170, 170,
426 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
428 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
429 170, 170, 116, 114, 170, 8, 169, 8, 168, 7,
430 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
431 168, 168, 168, 168, 168, 168, 168, 61, 62, 168,
432 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
433 168, 168, 8, 167, 166, 166, 166, 166, 166, 166,
434 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
435 166, 166, 166, 166, 166, 166, 166, 91, 166, 166,
436 166, 166, 166, 166, 166, 166, 166, 70, 61, 166,
437 62, 166, 166, 166, 166, 166, 166, 166, 166, 166,
439 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
440 166, 166, 166, 166, 166, 166, 166, 116, 114, 166,
441 4, 8, 165, 165, 165, 165, 165, 130, 165, 165,
442 165, 165, 165, 165, 165, 165, 165, 165, 165, 165,
443 165, 165, 165, 147, 165, 165, 165, 165, 165, 165,
444 165, 165, 165, 165, 178, 178, 178, 170, 58, 170,
445 170, 170, 170, 170, 52, 170, 98, 170, 107, 170,
446 170, 170, 170, 170, 170, 170, 87, 170, 170, 170,
447 170, 108, 170, 170, 170, 123, 170, 170, 96, 170,
448 66, 170, 170, 170, 170, 170, 170, 170, 170, 170,
450 94, 170, 170, 170, 170, 170, 170, 104, 170, 170,
451 170, 170, 170, 170, 170, 170, 170, 168, 58, 168,
452 168, 168, 52, 168, 168, 107, 168, 168, 168, 168,
453 168, 168, 108, 123, 168, 168, 66, 168, 168, 168,
454 168, 168, 168, 168, 168, 168, 168, 168, 168, 166,
455 58, 166, 166, 166, 166, 166, 52, 166, 98, 166,
456 107, 166, 166, 166, 166, 166, 166, 166, 87, 166,
457 166, 166, 166, 108, 166, 166, 166, 123, 166, 166,
458 96, 166, 66, 166, 166, 166, 166, 166, 166, 166,
459 166, 166, 94, 166, 166, 166, 166, 166, 166, 104,
461 166, 166, 166, 166, 166, 166, 166, 166, 166, 165,
462 165, 165, 134, 142, 133, 165, 165, 144, 137, 140,
463 165, 165, 145, 165, 165, 165, 165, 165, 151, 159,
464 150, 165, 165, 162, 154, 157, 165, 165, 163, 165,
465 165, 178, 178, 178, 170, 85, 54, 170, 170, 170,
466 51, 170, 170, 170, 170, 106, 64, 170, 170, 93,
467 170, 76, 170, 170, 75, 170, 170, 170, 170, 170,
468 170, 170, 170, 170, 170, 170, 118, 170, 170, 170,
469 170, 170, 97, 170, 170, 170, 95, 170, 170, 170,
470 170, 170, 170, 170, 168, 54, 168, 168, 51, 168,
472 168, 168, 106, 168, 76, 168, 168, 168, 168, 168,
473 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
474 166, 85, 54, 166, 166, 166, 51, 166, 166, 166,
475 166, 106, 64, 166, 166, 93, 166, 76, 166, 166,
476 75, 166, 166, 166, 166, 166, 166, 166, 166, 166,
477 166, 166, 118, 166, 166, 166, 166, 166, 97, 166,
478 166, 166, 95, 166, 166, 166, 166, 166, 166, 166,
479 165, 135, 132, 165, 165, 144, 144, 139, 165, 143,
480 165, 165, 152, 149, 165, 165, 162, 162, 156, 165,
481 161, 165, 178, 178, 176, 170, 170, 63, 170, 86,
483 170, 170, 170, 170, 170, 170, 65, 170, 170, 170,
484 84, 53, 170, 47, 170, 170, 105, 170, 49, 74,
485 170, 170, 170, 170, 170, 170, 71, 170, 170, 170,
486 170, 92, 72, 170, 170, 170, 168, 168, 63, 168,
487 168, 168, 168, 168, 168, 53, 168, 168, 105, 168,
488 49, 168, 168, 168, 71, 168, 168, 168, 168, 166,
489 166, 63, 166, 86, 166, 166, 166, 166, 166, 166,
490 65, 166, 166, 166, 84, 53, 166, 47, 166, 166,
491 105, 166, 49, 74, 166, 166, 166, 166, 166, 166,
492 71, 166, 166, 166, 166, 92, 72, 166, 166, 166,
494 165, 165, 65, 141, 138, 165, 165, 165, 160, 158,
495 155, 165, 177, 175, 170, 60, 170, 170, 170, 170,
496 170, 78, 170, 170, 117, 170, 170, 170, 99, 170,
497 170, 101, 121, 170, 170, 170, 170, 170, 170, 112,
498 88, 170, 50, 170, 170, 168, 60, 168, 168, 168,
499 78, 168, 117, 168, 168, 168, 109, 121, 168, 168,
500 112, 168, 168, 168, 166, 60, 166, 166, 166, 166,
501 166, 78, 166, 166, 117, 166, 166, 166, 99, 166,
502 166, 101, 121, 166, 166, 166, 166, 166, 166, 112,
503 88, 166, 50, 166, 166, 165, 165, 165, 165, 165,
505 165, 146, 170, 125, 170, 170, 170, 170, 170, 170,
506 59, 170, 170, 170, 170, 170, 170, 170, 83, 170,
507 170, 170, 120, 164, 170, 146, 168, 125, 168, 168,
508 59, 168, 168, 168, 168, 168, 120, 164, 168, 146,
509 166, 125, 166, 166, 166, 166, 166, 166, 59, 166,
510 166, 166, 166, 166, 166, 166, 83, 166, 166, 166,
511 120, 164, 166, 146, 131, 136, 164, 148, 153, 77,
512 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
513 170, 170, 170, 170, 170, 170, 170, 170, 77, 168,
514 168, 168, 168, 168, 168, 168, 168, 77, 166, 166,
516 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
517 166, 166, 166, 166, 166, 166, 170, 170, 170, 170,
518 170, 170, 170, 110, 111, 170, 170, 170, 170, 73,
519 170, 170, 170, 170, 170, 168, 168, 168, 110, 111,
520 168, 168, 168, 168, 166, 166, 166, 166, 166, 166,
521 166, 110, 111, 166, 166, 166, 166, 73, 166, 166,
522 166, 166, 166, 170, 170, 170, 170, 170, 170, 100,
523 90, 170, 170, 170, 170, 170, 170, 170, 170, 168,
524 168, 100, 168, 168, 168, 168, 166, 166, 166, 166,
525 166, 166, 100, 90, 166, 166, 166, 166, 166, 166,
527 166, 166, 80, 170, 170, 124, 170, 170, 170, 170,
528 48, 170, 170, 170, 102, 170, 168, 124, 168, 168,
529 168, 168, 80, 166, 166, 124, 166, 166, 166, 166,
530 48, 166, 166, 166, 102, 166, 170, 170, 170, 170,
531 89, 170, 69, 170, 170, 170, 168, 168, 69, 168,
532 168, 166, 166, 166, 166, 89, 166, 69, 166, 166,
533 166, 170, 170, 170, 170, 170, 170, 122, 68, 170,
534 67, 168, 168, 168, 122, 68, 67, 166, 166, 166,
535 166, 166, 166, 122, 68, 166, 67, 170, 170, 170,
536 170, 170, 170, 170, 168, 168, 168, 166, 166, 166,
538 166, 166, 166, 166, 170, 170, 57, 170, 170, 170,
539 170, 168, 57, 168, 166, 166, 57, 166, 166, 166,
540 166, 170, 170, 170, 170, 170, 103, 168, 168, 166,
541 166, 166, 166, 166, 103, 170, 55, 170, 170, 170,
542 55, 168, 166, 55, 166, 166, 166, 170, 170, 170,
543 170, 168, 166, 166, 166, 166, 170, 170, 170, 170,
544 168, 166, 166, 166, 166, 79, 170, 170, 170, 168,
545 79, 166, 166, 166, 56, 170, 170, 56, 56, 166,
546 166, 81, 170, 81, 166, 170, 166, 82, 82, 0
549 static yyconst flex_int32_t yy_ec
[256] =
551 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
552 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
553 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
554 1, 2, 4, 5, 6, 7, 8, 9, 1, 10,
555 11, 12, 13, 14, 15, 16, 17, 18, 19, 19,
556 19, 19, 19, 19, 19, 19, 19, 20, 21, 22,
557 23, 24, 25, 1, 26, 27, 28, 29, 30, 31,
558 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
559 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
560 52, 53, 54, 55, 56, 1, 57, 58, 59, 60,
562 61, 62, 63, 64, 65, 16, 66, 67, 68, 69,
563 70, 71, 16, 72, 73, 74, 75, 16, 16, 76,
564 16, 77, 78, 79, 80, 81, 1, 1, 1, 1,
565 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
566 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
567 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
568 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
569 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
570 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
571 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
573 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
574 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
575 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
576 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
577 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
581 static yyconst flex_int32_t yy_meta
[82] =
583 1, 1, 2, 3, 1, 1, 4, 1, 1, 1,
584 1, 5, 6, 7, 8, 9, 10, 11, 11, 8,
585 1, 1, 7, 1, 5, 11, 11, 11, 11, 11,
586 11, 9, 9, 9, 9, 9, 9, 9, 9, 9,
587 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
588 9, 8, 4, 8, 3, 9, 11, 11, 11, 11,
589 11, 11, 9, 9, 9, 9, 9, 9, 9, 9,
590 9, 9, 9, 9, 9, 9, 9, 1, 1, 1,
594 static yyconst flex_int16_t yy_base
[1615] =
596 0, 0, 0, 0, 81, 0, 162, 0, 243, 323,
597 403, 0, 271, 273, 484, 565, 646, 727, 2549, 2550,
598 2550, 2546, 2550, 2524, 2541, 791, 2550, 260, 2550, 2550,
599 2522, 2521, 0, 2520, 0, 247, 321, 492, 0, 2550,
600 249, 2519, 257, 0, 255, 257, 253, 259, 262, 268,
601 2498, 2503, 2500, 2508, 274, 280, 279, 315, 317, 2491,
602 2506, 350, 2509, 2504, 0, 0, 2475, 2471, 2459, 2465,
603 2550, 237, 2550, 0, 2550, 2527, 2505, 2522, 836, 2550,
604 343, 2550, 2550, 2503, 2502, 2550, 289, 0, 341, 881,
605 306, 2550, 2550, 295, 2501, 344, 2550, 940, 487, 506,
607 565, 577, 571, 2480, 2483, 2491, 333, 345, 346, 476,
608 2477, 488, 2550, 2550, 644, 2454, 2550, 290, 2550, 0,
609 999, 477, 0, 362, 735, 747, 596, 511, 477, 567,
610 349, 515, 2475, 2480, 2477, 2485, 517, 573, 594, 589,
611 596, 2468, 2483, 645, 2486, 2481, 2452, 2448, 2436, 2442,
612 0, 1044, 2550, 2550, 0, 2550, 2550, 2503, 1089, 2482,
613 2481, 2550, 2480, 0, 2479, 0, 323, 2550, 0, 2478,
614 2550, 1134, 635, 666, 647, 667, 671, 519, 2474, 2456,
615 2452, 482, 2454, 2550, 2550, 685, 730, 732, 694, 754,
616 250, 2439, 2423, 2419, 320, 2421, 0, 2490, 2550, 0,
618 2479, 2550, 0, 2550, 2550, 2550, 2470, 505, 534, 610,
619 2550, 2550, 2487, 2550, 2483, 2550, 0, 1193, 2550, 2550,
620 0, 0, 0, 0, 0, 757, 0, 736, 2464, 2550,
621 0, 2550, 2463, 2441, 2455, 2438, 2448, 594, 0, 2450,
622 2441, 2439, 2433, 501, 2447, 2431, 2444, 2444, 2428, 568,
623 2435, 2431, 2427, 2429, 2431, 798, 2437, 2427, 487, 2424,
624 2426, 2414, 686, 2425, 2427, 2415, 2429, 2429, 2417, 2430,
625 2423, 730, 2414, 2402, 2409, 2421, 2404, 2423, 2421, 2403,
626 2403, 2402, 2371, 2374, 2379, 2364, 2550, 2550, 0, 1244,
627 2550, 2550, 2550, 0, 2550, 2550, 582, 809, 0, 2550,
629 2550, 0, 2550, 842, 845, 889, 0, 2406, 724, 0,
630 917, 2400, 2398, 679, 949, 976, 2407, 2408, 2395, 669,
631 2404, 2394, 2406, 2382, 2391, 2380, 668, 2391, 2393, 2396,
632 2385, 2392, 2372, 2392, 2394, 995, 2343, 0, 1295, 0,
633 0, 884, 0, 2375, 2389, 2372, 2382, 742, 0, 2384,
634 2375, 2373, 2367, 738, 2381, 2365, 2378, 2378, 2362, 733,
635 2369, 2365, 2361, 2363, 2365, 802, 2371, 2361, 716, 751,
636 2361, 2359, 2348, 900, 2359, 2361, 2349, 2363, 2363, 2351,
637 2364, 2357, 806, 2348, 2336, 2343, 2355, 2338, 2357, 2355,
638 2337, 2337, 2336, 2305, 2308, 2313, 2298, 0, 1346, 2371,
640 2550, 0, 1397, 0, 0, 0, 833, 888, 841, 0,
641 2339, 928, 937, 2338, 2342, 2325, 2326, 2324, 2341, 2328,
642 2336, 2337, 2335, 2336, 2315, 854, 2295, 969, 982, 2294,
643 2298, 2283, 2284, 2282, 2297, 2285, 2292, 2293, 2291, 2292,
644 2273, 2345, 0, 0, 2326, 2325, 690, 836, 617, 2550,
645 2550, 2304, 2300, 2312, 2309, 2310, 2300, 2298, 2308, 2308,
646 2305, 2290, 2283, 2306, 2305, 2296, 2301, 2285, 2290, 2296,
647 2288, 2298, 2295, 2276, 0, 2284, 2280, 2285, 2272, 2287,
648 2275, 2283, 2285, 2281, 0, 2272, 2266, 2267, 2272, 2268,
649 2257, 2274, 2264, 2261, 2260, 2255, 2272, 2266, 2256, 2253,
651 2259, 2253, 2265, 2249, 2265, 2266, 2248, 2264, 2252, 2256,
652 2243, 2216, 0, 0, 2224, 0, 0, 998, 2244, 1004,
653 2251, 2252, 2242, 2251, 2251, 2234, 2227, 2250, 1049, 2247,
654 2237, 2227, 2235, 2231, 2229, 2237, 2239, 0, 0, 2222,
655 2223, 2225, 2214, 2231, 2219, 2214, 2222, 2229, 2230, 2231,
656 2186, 2194, 0, 0, 2214, 2210, 2222, 2219, 2220, 2210,
657 2208, 2218, 2218, 2215, 2200, 2193, 2216, 2215, 2206, 2211,
658 2195, 2200, 2206, 2198, 2208, 2205, 2186, 0, 2194, 2190,
659 2195, 2182, 2197, 2185, 2193, 2195, 2191, 0, 0, 2182,
660 0, 2176, 2177, 2182, 2178, 2167, 2184, 2174, 2171, 2170,
662 2165, 2182, 2176, 2166, 2163, 2169, 2163, 2175, 2159, 2175,
663 2176, 2158, 2174, 2162, 2166, 2153, 2126, 0, 0, 2134,
664 0, 0, 2154, 651, 2163, 2162, 2150, 0, 2160, 2151,
665 2143, 2158, 2156, 2155, 2147, 2138, 2139, 2142, 2110, 866,
666 2118, 2117, 2106, 0, 2115, 2107, 2100, 2113, 2111, 2110,
667 2103, 2095, 2096, 2098, 592, 681, 585, 2129, 0, 2122,
668 2125, 2120, 2132, 2118, 0, 2124, 0, 2114, 0, 2113,
669 2101, 2117, 2110, 2104, 2107, 2109, 0, 2106, 2120, 2108,
670 2102, 0, 2120, 2101, 2102, 0, 2099, 2117, 0, 2099,
671 0, 2101, 2100, 2113, 2082, 2103, 2090, 2098, 2090, 2099,
673 0, 2092, 2103, 2096, 2099, 2083, 2087, 2070, 2091, 2095,
674 2078, 2085, 2087, 2090, 2085, 2051, 2047, 2079, 0, 2076,
675 2071, 2083, 0, 2076, 2066, 0, 2054, 2070, 2063, 2061,
676 2065, 2059, 0, 0, 2059, 2077, 0, 2062, 2075, 2044,
677 2065, 2061, 2063, 2066, 2055, 2060, 2056, 2025, 2021, 2053,
678 0, 2046, 2049, 2044, 2056, 2042, 0, 2048, 0, 2038,
679 0, 2037, 2025, 2041, 2034, 2028, 2031, 2033, 0, 2030,
680 2044, 2032, 2017, 0, 2025, 1996, 1987, 0, 1977, 1990,
681 0, 1971, 0, 1971, 1968, 1981, 1946, 1957, 1934, 1932,
682 1919, 1927, 0, 1905, 1916, 1909, 1912, 1889, 1888, 222,
684 331, 364, 446, 519, 538, 652, 681, 652, 664, 723,
685 738, 758, 0, 0, 0, 756, 786, 1465, 0, 0,
686 771, 782, 0, 791, 809, 773, 768, 775, 0, 0,
687 0, 785, 802, 1545, 0, 0, 789, 808, 0, 802,
688 821, 863, 933, 881, 838, 0, 848, 847, 874, 875,
689 0, 949, 883, 880, 906, 0, 0, 927, 921, 0,
690 907, 0, 950, 948, 0, 938, 954, 959, 941, 951,
691 982, 982, 978, 975, 970, 997, 0, 1006, 998, 1005,
692 1003, 1005, 0, 1014, 1019, 1024, 0, 1005, 1018, 1026,
693 1009, 1025, 992, 1007, 1031, 1039, 1035, 1051, 0, 1056,
695 1040, 1055, 0, 1058, 0, 1059, 1056, 1061, 1047, 1063,
696 1061, 1057, 1071, 1069, 1060, 1069, 1083, 1076, 1036, 1050,
697 1067, 0, 1074, 1076, 1092, 1093, 0, 1098, 1095, 1082,
698 1097, 0, 0, 1099, 1090, 0, 1074, 0, 1102, 1098,
699 0, 1088, 1101, 1106, 1086, 1093, 1112, 1110, 1106, 1103,
700 1098, 1118, 0, 1116, 1115, 1122, 1116, 1118, 0, 1127,
701 1132, 1140, 0, 1122, 1135, 1143, 1127, 1133, 1100, 1114,
702 1131, 0, 1140, 1140, 1135, 0, 1625, 0, 1153, 0,
703 1156, 1109, 0, 1117, 1117, 1113, 0, 1705, 0, 1129,
704 0, 1132, 1170, 1177, 1179, 1155, 1170, 0, 1173, 0,
706 1164, 1159, 1150, 1177, 1179, 1179, 0, 1185, 1184, 1170,
707 0, 0, 1187, 0, 1173, 1173, 0, 1194, 0, 1170,
708 1177, 1198, 1174, 1176, 1194, 1189, 1179, 1186, 1200, 1197,
709 1208, 0, 0, 1202, 1168, 1187, 1200, 1215, 0, 1218,
710 1209, 1219, 1227, 1227, 1228, 0, 1231, 1220, 0, 1234,
711 0, 1216, 1237, 1223, 1213, 1239, 1245, 1204, 1223, 1236,
712 1252, 0, 1255, 0, 1246, 1240, 1231, 1258, 1260, 1260,
713 0, 1263, 1262, 1248, 0, 0, 1265, 0, 1251, 1251,
714 0, 1266, 0, 1242, 1249, 1270, 1251, 1252, 1270, 1266,
715 1259, 1266, 1280, 1277, 1287, 0, 0, 1281, 1253, 1272,
717 1284, 1290, 0, 0, 0, 1287, 1260, 1265, 0, 0,
718 0, 1262, 1317, 1318, 1309, 0, 1310, 1296, 1314, 1303,
719 1312, 0, 1289, 1306, 0, 1291, 1305, 1306, 0, 1294,
720 1336, 0, 1295, 1332, 1330, 1316, 1310, 1335, 1313, 0,
721 0, 1331, 0, 1310, 1314, 1349, 0, 1350, 1336, 1351,
722 0, 1329, 0, 1343, 1344, 1332, 0, 1333, 1334, 1358,
723 0, 1353, 1332, 1330, 1365, 0, 1366, 1352, 1370, 1359,
724 1368, 0, 1345, 1362, 0, 1353, 1367, 1368, 0, 1357,
725 1391, 0, 1362, 1393, 1391, 1377, 1373, 1397, 1375, 0,
726 0, 1393, 0, 1373, 1372, 1407, 1409, 1409, 1379, 1381,
728 1381, 0, 1414, 0, 1399, 1418, 1408, 1416, 1410, 1421,
729 0, 1420, 1408, 1409, 1413, 1427, 1424, 1428, 0, 1420,
730 1438, 1446, 0, 0, 1417, 0, 1451, 0, 1443, 1451,
731 0, 1453, 1441, 1458, 1448, 1463, 0, 0, 1433, 0,
732 1466, 0, 1451, 1470, 1460, 1468, 1462, 1473, 0, 1472,
733 1460, 1461, 1465, 1473, 1470, 1474, 0, 1465, 1480, 1485,
734 0, 0, 1451, 0, 0, 0, 0, 0, 0, 0,
735 1473, 1479, 1485, 1482, 1479, 1478, 1488, 1481, 1494, 1480,
736 1491, 1492, 1484, 1483, 1504, 1494, 1506, 1476, 0, 1504,
737 1501, 1505, 1500, 1503, 1493, 1513, 1484, 0, 1502, 1517,
739 1528, 1526, 1523, 1522, 1532, 1524, 1537, 1528, 1539, 1540,
740 1532, 1531, 1551, 1541, 1553, 1523, 1538, 1552, 1544, 1547,
741 1545, 1548, 1543, 0, 0, 1555, 1551, 1561, 1565, 0,
742 1566, 1564, 1560, 1557, 1536, 1558, 1561, 1555, 0, 0,
743 1572, 1576, 1574, 1544, 1562, 1576, 1568, 1571, 1569, 1572,
744 1567, 0, 0, 1579, 1575, 1585, 1589, 0, 1590, 1588,
745 1584, 1581, 1560, 1577, 1594, 1583, 1602, 1599, 1602, 0,
746 0, 1615, 1613, 1599, 1601, 1615, 1619, 1622, 1592, 1609,
747 1625, 0, 1627, 1614, 1628, 1598, 1616, 1633, 1617, 1633,
748 1625, 1627, 0, 0, 1640, 1638, 1624, 1626, 1640, 1639,
750 1642, 1612, 0, 1629, 1619, 0, 1620, 1637, 1633, 1649,
751 0, 1636, 1639, 1644, 0, 1612, 1629, 0, 1656, 1642,
752 1645, 1617, 0, 1645, 1635, 0, 1636, 1653, 1649, 1665,
753 0, 1651, 1654, 1659, 0, 1627, 1644, 1682, 1675, 1663,
754 0, 1679, 0, 1676, 1683, 1649, 1705, 1684, 0, 1680,
755 1659, 1677, 1708, 1710, 1698, 0, 1700, 0, 1696, 1703,
756 1669, 1699, 1707, 1706, 1716, 1710, 1693, 0, 0, 1720,
757 0, 1715, 1714, 1724, 0, 0, 0, 1711, 1719, 1718,
758 1728, 1722, 1705, 0, 0, 1732, 0, 1713, 1730, 1736,
759 1729, 1730, 1742, 1730, 1736, 1742, 1735, 1723, 1740, 1746,
761 1739, 1740, 1752, 1740, 1742, 1749, 0, 1739, 1746, 1750,
762 1743, 1757, 0, 1747, 1753, 1760, 0, 1750, 1754, 1758,
763 1751, 1770, 1759, 1759, 1772, 1764, 0, 1763, 1763, 1777,
764 1766, 1766, 1779, 1771, 0, 1769, 0, 1754, 1785, 1772,
765 0, 1757, 1774, 0, 1759, 1790, 1777, 1781, 1789, 1775,
766 1793, 1792, 1786, 1794, 1780, 1798, 1783, 1789, 1795, 1804,
767 1792, 1788, 1794, 1800, 1809, 0, 1807, 1797, 1793, 1810,
768 0, 1811, 1801, 1797, 0, 1804, 1810, 0, 0, 1806,
769 1812, 0, 1807, 0, 1808, 1810, 1811, 0, 0, 2550,
770 1850, 1861, 1872, 1883, 1894, 1905, 1913, 1921, 1929, 1937,
772 1948, 1956, 1967, 1978, 1989, 1992, 2001, 2009, 1915, 2017,
773 2028, 2039, 2050, 2061
776 static yyconst flex_int16_t yy_def
[1615] =
778 1591, 1591, 1590, 3, 1590, 5, 1590, 7, 1592, 1592,
779 1590, 11, 1593, 1593, 1594, 1594, 1595, 1595, 1590, 1590,
780 1590, 1590, 1590, 1590, 1596, 1597, 1590, 1590, 1590, 1590,
781 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1590,
782 1590, 1597, 1590, 1597, 1597, 1597, 1597, 1597, 1597, 1597,
783 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597,
784 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597,
785 1590, 1590, 1590, 1597, 1590, 1590, 1590, 1596, 1598, 1590,
786 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1598, 1598, 1590,
787 90, 1590, 1590, 1590, 1590, 1590, 1590, 1598, 98, 98,
789 98, 98, 98, 1598, 1598, 1598, 1598, 1598, 1598, 1598,
790 1598, 1598, 1590, 1590, 98, 1598, 1590, 1590, 1590, 1598,
791 1599, 1590, 1599, 1599, 1590, 1590, 1599, 1599, 1599, 1599,
792 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
793 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
794 1599, 1600, 1590, 1590, 1600, 1590, 1590, 1601, 1602, 1603,
795 1590, 1590, 1590, 1602, 1602, 90, 90, 1590, 1604, 1590,
796 1590, 1602, 172, 172, 172, 172, 172, 1602, 1602, 1602,
797 1602, 1602, 1602, 1590, 1590, 172, 172, 172, 172, 172,
798 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1590, 1590, 1605,
800 1590, 1590, 1606, 1590, 1590, 1590, 1607, 1607, 1607, 1607,
801 1590, 1590, 1590, 1590, 1596, 1590, 1597, 1597, 1590, 1590,
802 1597, 1597, 1597, 1597, 1597, 1597, 1597, 218, 1590, 1590,
803 1597, 1590, 1590, 1597, 1597, 1597, 1597, 1597, 1597, 1597,
804 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597,
805 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597,
806 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597,
807 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597,
808 1597, 1597, 1597, 1597, 1597, 1597, 1590, 1590, 1598, 1598,
809 1590, 1590, 1590, 1608, 1590, 1590, 90, 90, 298, 1590,
811 1590, 1609, 1590, 98, 98, 98, 1598, 1598, 1598, 1598,
812 98, 1598, 1598, 1598, 98, 98, 1598, 1598, 1598, 1598,
813 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598,
814 1598, 1598, 1598, 1598, 1598, 98, 1598, 1599, 1599, 1610,
815 1599, 1590, 1609, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
816 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
817 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
818 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
819 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
820 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1600, 1600, 1601,
822 1590, 1602, 1602, 1603, 1603, 1604, 172, 172, 172, 1602,
823 1602, 172, 172, 1602, 1602, 1602, 1602, 1602, 1602, 1602,
824 1602, 1602, 1602, 1602, 1602, 172, 1602, 172, 172, 1602,
825 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602,
826 1602, 1590, 1605, 1606, 1607, 1590, 1607, 1607, 1607, 1590,
827 1590, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597,
828 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597,
829 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597,
830 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597,
831 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597,
833 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597,
834 1597, 1597, 1597, 1597, 1597, 1598, 1608, 1609, 1598, 98,
835 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 98, 1598,
836 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598,
837 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598,
838 1598, 1598, 1599, 1610, 1599, 1599, 1599, 1599, 1599, 1599,
839 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
840 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
841 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
842 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
844 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
845 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
846 1600, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602,
847 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602,
848 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602,
849 1602, 1602, 1602, 1602, 1607, 1607, 1607, 1597, 1597, 1597,
850 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597,
851 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597,
852 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597,
853 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597,
855 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597,
856 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1598, 1598, 1598,
857 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598,
858 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598,
859 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1599,
860 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
861 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
862 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
863 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
864 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
866 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1602,
867 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1611, 1602, 1602,
868 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602,
869 1602, 1602, 1602, 1612, 1602, 1602, 1602, 1602, 1602, 1602,
870 1602, 1607, 1607, 1607, 1597, 1597, 1597, 1597, 1597, 1597,
871 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597,
872 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597,
873 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597,
874 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597,
875 1597, 1597, 1597, 1597, 1598, 1598, 1598, 1598, 1598, 1598,
877 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598,
878 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598,
879 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
880 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
881 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
882 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
883 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
884 1602, 1602, 1602, 1602, 1602, 1613, 1611, 1602, 1602, 1602,
885 1602, 1602, 1602, 1602, 1602, 1602, 1614, 1612, 1602, 1602,
886 1602, 1602, 1607, 1607, 1607, 1597, 1597, 1597, 1597, 1597,
888 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597,
889 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597,
890 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597,
891 1597, 1597, 1597, 1597, 1597, 1597, 1598, 1598, 1598, 1598,
892 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598,
893 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1599,
894 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
895 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
896 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
897 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
899 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602,
900 1602, 1602, 1607, 1607, 1597, 1597, 1597, 1597, 1597, 1597,
901 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597,
902 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597,
903 1597, 1597, 1597, 1597, 1597, 1598, 1598, 1598, 1598, 1598,
904 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598,
905 1598, 1598, 1598, 1598, 1599, 1599, 1599, 1599, 1599, 1599,
906 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
907 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
908 1599, 1599, 1599, 1599, 1599, 1602, 1602, 1602, 1602, 1602,
910 1602, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597,
911 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597,
912 1597, 1597, 1597, 1597, 1597, 1598, 1598, 1598, 1598, 1598,
913 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1599,
914 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
915 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
916 1599, 1599, 1599, 1602, 1602, 1602, 1602, 1602, 1602, 1597,
917 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597,
918 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1598, 1598,
919 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1599, 1599, 1599,
921 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
922 1599, 1599, 1599, 1599, 1599, 1599, 1597, 1597, 1597, 1597,
923 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597,
924 1597, 1597, 1597, 1597, 1597, 1598, 1598, 1598, 1598, 1598,
925 1598, 1598, 1598, 1598, 1599, 1599, 1599, 1599, 1599, 1599,
926 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
927 1599, 1599, 1599, 1597, 1597, 1597, 1597, 1597, 1597, 1597,
928 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1598,
929 1598, 1598, 1598, 1598, 1598, 1598, 1599, 1599, 1599, 1599,
930 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
932 1599, 1599, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597,
933 1597, 1597, 1597, 1597, 1597, 1597, 1598, 1598, 1598, 1598,
934 1598, 1598, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
935 1599, 1599, 1599, 1599, 1599, 1599, 1597, 1597, 1597, 1597,
936 1597, 1597, 1597, 1597, 1597, 1597, 1598, 1598, 1598, 1598,
937 1598, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
938 1599, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597,
939 1597, 1598, 1598, 1598, 1598, 1598, 1598, 1599, 1599, 1599,
940 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1597, 1597, 1597,
941 1597, 1597, 1597, 1597, 1598, 1598, 1598, 1599, 1599, 1599,
943 1599, 1599, 1599, 1599, 1597, 1597, 1597, 1597, 1597, 1597,
944 1597, 1598, 1598, 1598, 1599, 1599, 1599, 1599, 1599, 1599,
945 1599, 1597, 1597, 1597, 1597, 1597, 1597, 1598, 1598, 1599,
946 1599, 1599, 1599, 1599, 1599, 1597, 1597, 1597, 1597, 1597,
947 1598, 1598, 1599, 1599, 1599, 1599, 1599, 1597, 1597, 1597,
948 1597, 1598, 1599, 1599, 1599, 1599, 1597, 1597, 1597, 1597,
949 1598, 1599, 1599, 1599, 1599, 1597, 1597, 1597, 1597, 1598,
950 1599, 1599, 1599, 1599, 1597, 1597, 1597, 1598, 1599, 1599,
951 1599, 1597, 1597, 1599, 1599, 1597, 1599, 1597, 1599, 0,
952 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590,
954 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590,
955 1590, 1590, 1590, 1590
958 static yyconst flex_int16_t yy_nxt
[2632] =
960 21, 22, 23, 24, 25, 21, 26, 27, 28, 29,
961 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
962 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
963 50, 51, 52, 53, 35, 54, 55, 56, 57, 58,
964 59, 60, 61, 62, 63, 35, 64, 35, 35, 35,
965 35, 65, 35, 66, 21, 35, 67, 35, 35, 35,
966 35, 35, 35, 35, 35, 35, 68, 35, 35, 69,
967 35, 35, 70, 35, 35, 35, 35, 71, 72, 73,
968 74, 75, 76, 23, 77, 78, 75, 79, 80, 81,
969 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
971 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
972 102, 103, 104, 88, 105, 88, 106, 107, 108, 109,
973 110, 111, 88, 88, 112, 88, 88, 88, 88, 88,
974 88, 88, 113, 88, 114, 75, 88, 115, 103, 103,
975 103, 103, 103, 88, 88, 88, 88, 88, 88, 88,
976 88, 88, 88, 116, 88, 88, 88, 88, 117, 118,
977 119, 120, 75, 76, 23, 77, 78, 75, 121, 80,
978 81, 82, 83, 84, 85, 86, 122, 123, 124, 125,
979 126, 92, 93, 94, 95, 96, 97, 127, 128, 129,
980 130, 131, 132, 133, 134, 135, 123, 136, 137, 138,
982 139, 140, 141, 142, 143, 144, 145, 123, 146, 123,
983 123, 123, 123, 113, 123, 114, 75, 123, 147, 123,
984 123, 123, 123, 123, 123, 123, 123, 123, 148, 123,
985 123, 149, 123, 123, 150, 123, 123, 123, 123, 117,
986 118, 119, 151, 75, 75, 20, 75, 75, 75, 152,
987 75, 75, 75, 75, 75, 153, 75, 154, 224, 287,
988 125, 126, 75, 75, 75, 156, 75, 75, 219, 225,
989 229, 230, 198, 199, 198, 199, 200, 961, 200, 232,
990 233, 234, 220, 235, 246, 236, 240, 201, 247, 201,
991 241, 237, 244, 242, 75, 245, 75, 75, 238, 239,
993 249, 251, 248, 258, 252, 260, 243, 253, 262, 261,
994 250, 293, 287, 259, 434, 288, 229, 230, 263, 435,
995 75, 75, 75, 75, 75, 20, 75, 75, 75, 152,
996 75, 75, 75, 75, 75, 153, 75, 154, 226, 226,
997 125, 126, 75, 75, 75, 156, 75, 75, 202, 268,
998 202, 219, 295, 264, 300, 294, 227, 265, 227, 269,
999 266, 267, 322, 296, 962, 220, 232, 233, 288, 228,
1000 324, 300, 323, 295, 75, 326, 75, 75, 325, 272,
1001 439, 300, 273, 274, 341, 327, 227, 359, 227, 275,
1002 276, 277, 963, 440, 278, 279, 228, 360, 300, 280,
1004 75, 75, 75, 21, 22, 157, 24, 21, 158, 159,
1005 27, 28, 29, 30, 160, 161, 162, 163, 164, 165,
1006 166, 167, 168, 169, 41, 170, 43, 171, 172, 173,
1007 174, 175, 176, 177, 164, 164, 164, 164, 164, 178,
1008 164, 179, 180, 181, 164, 164, 182, 183, 164, 164,
1009 164, 164, 164, 164, 184, 164, 185, 21, 164, 186,
1010 187, 188, 175, 189, 190, 164, 164, 164, 164, 191,
1011 164, 192, 193, 194, 164, 195, 196, 164, 164, 164,
1012 71, 72, 73, 197, 21, 198, 199, 21, 21, 200,
1013 964, 21, 21, 21, 21, 21, 21, 204, 21, 293,
1015 201, 21, 21, 204, 204, 21, 21, 21, 21, 226,
1016 226, 423, 483, 311, 328, 311, 354, 332, 329, 355,
1017 312, 333, 330, 313, 446, 484, 424, 227, 334, 227,
1018 289, 289, 311, 335, 311, 21, 21, 21, 21, 462,
1019 350, 463, 289, 340, 351, 314, 368, 352, 361, 289,
1020 289, 362, 418, 446, 363, 965, 369, 227, 419, 227,
1021 353, 205, 21, 206, 21, 21, 198, 199, 21, 21,
1022 200, 966, 21, 21, 21, 21, 21, 21, 204, 21,
1023 447, 201, 21, 21, 204, 204, 21, 21, 21, 21,
1024 315, 311, 356, 311, 316, 469, 357, 311, 370, 311,
1026 448, 289, 371, 311, 446, 311, 372, 289, 317, 289,
1027 358, 446, 470, 289, 289, 289, 21, 21, 21, 21,
1028 289, 289, 344, 373, 345, 318, 346, 375, 379, 446,
1029 300, 376, 347, 374, 377, 378, 446, 456, 380, 348,
1030 349, 844, 205, 21, 206, 21, 21, 198, 199, 457,
1031 25, 200, 842, 21, 21, 21, 21, 300, 21, 204,
1032 412, 409, 201, 21, 21, 204, 204, 21, 21, 21,
1033 311, 402, 311, 409, 383, 657, 811, 384, 385, 449,
1034 289, 967, 812, 402, 386, 387, 388, 289, 289, 389,
1035 390, 413, 409, 409, 391, 541, 533, 409, 414, 534,
1037 446, 336, 402, 402, 542, 415, 208, 402, 209, 446,
1038 417, 409, 210, 488, 968, 416, 489, 526, 969, 527,
1039 409, 402, 490, 211, 21, 212, 21, 21, 198, 199,
1040 402, 25, 200, 970, 21, 21, 21, 21, 843, 21,
1041 204, 586, 426, 201, 21, 21, 204, 204, 21, 21,
1042 21, 427, 342, 342, 587, 499, 409, 500, 409, 971,
1043 572, 501, 431, 655, 342, 342, 402, 522, 402, 432,
1044 301, 217, 301, 217, 226, 226, 565, 573, 566, 523,
1045 409, 972, 301, 343, 301, 559, 428, 208, 429, 209,
1046 402, 588, 227, 210, 227, 430, 973, 560, 974, 589,
1048 301, 217, 301, 217, 211, 21, 212, 21, 218, 218,
1049 343, 975, 301, 978, 301, 979, 218, 218, 218, 218,
1050 218, 218, 227, 433, 227, 476, 298, 298, 477, 579,
1051 478, 604, 580, 605, 581, 980, 981, 606, 479, 982,
1052 983, 480, 582, 984, 1590, 583, 1590, 218, 218, 218,
1053 218, 218, 218, 290, 290, 446, 985, 300, 986, 409,
1054 989, 290, 290, 290, 290, 290, 290, 409, 311, 402,
1055 311, 311, 990, 311, 1590, 991, 1590, 402, 289, 992,
1056 409, 289, 446, 996, 300, 289, 289, 997, 519, 289,
1057 402, 998, 290, 290, 290, 290, 290, 290, 297, 297,
1059 446, 342, 342, 999, 1000, 656, 298, 299, 298, 299,
1060 298, 298, 1003, 300, 409, 311, 301, 520, 301, 301,
1061 300, 301, 827, 1004, 402, 289, 639, 593, 828, 302,
1062 594, 623, 289, 289, 993, 1005, 595, 298, 299, 298,
1063 299, 298, 298, 311, 300, 311, 301, 995, 301, 301,
1064 300, 301, 446, 289, 409, 1006, 302, 304, 304, 1007,
1065 289, 289, 1008, 409, 402, 304, 305, 304, 306, 304,
1066 304, 625, 307, 402, 1001, 311, 308, 311, 1009, 307,
1067 626, 1010, 1011, 309, 310, 289, 1012, 1013, 307, 994,
1068 1014, 1002, 289, 528, 1015, 409, 304, 311, 304, 311,
1070 304, 304, 311, 307, 311, 402, 529, 1016, 409, 307,
1071 1017, 1018, 289, 1019, 1020, 307, 339, 339, 402, 289,
1072 289, 311, 1021, 311, 339, 339, 339, 339, 339, 339,
1073 311, 289, 311, 301, 1022, 301, 1023, 1024, 289, 289,
1074 289, 641, 1025, 1026, 1027, 1028, 719, 289, 289, 1029,
1075 1030, 1031, 1032, 1033, 642, 339, 339, 339, 339, 339,
1076 339, 399, 399, 301, 1034, 301, 1035, 551, 1036, 399,
1077 399, 399, 399, 399, 399, 311, 1037, 311, 1038, 1039,
1078 1040, 1041, 728, 1042, 1043, 289, 1044, 1045, 1046, 1047,
1079 1048, 1049, 289, 289, 1050, 1051, 1052, 1053, 1054, 1055,
1081 399, 399, 399, 399, 399, 399, 403, 403, 1056, 1057,
1082 1058, 1059, 1060, 1061, 403, 403, 403, 403, 403, 403,
1083 1062, 1063, 1064, 1065, 1067, 1068, 1069, 1070, 1071, 1072,
1084 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082,
1085 1066, 1083, 1084, 1085, 1086, 403, 403, 403, 403, 403,
1086 403, 407, 407, 1087, 1088, 1089, 1090, 1091, 1092, 407,
1087 408, 407, 409, 407, 407, 1093, 410, 1094, 1095, 1096,
1088 411, 1097, 1098, 410, 1099, 1100, 1101, 1102, 1103, 1104,
1089 1105, 1106, 410, 1107, 1108, 1109, 1110, 1111, 1112, 446,
1090 407, 409, 407, 409, 407, 407, 446, 410, 446, 1115,
1092 1116, 1117, 1118, 410, 1119, 1120, 1121, 1122, 1123, 410,
1093 218, 218, 1124, 1125, 1126, 1127, 1128, 1129, 218, 218,
1094 218, 218, 218, 218, 1130, 1131, 1132, 1133, 227, 1134,
1095 227, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1113, 1142,
1096 1143, 1144, 1145, 1114, 1146, 1147, 1148, 1149, 1150, 218,
1097 218, 218, 218, 218, 218, 1151, 1152, 1153, 227, 1154,
1098 227, 290, 290, 1155, 1156, 1157, 1158, 1159, 1160, 290,
1099 290, 290, 290, 290, 290, 1161, 1162, 1163, 1164, 516,
1100 1165, 516, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173,
1101 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183,
1103 290, 290, 290, 290, 290, 290, 1184, 1185, 1186, 516,
1104 1187, 516, 339, 339, 1188, 1189, 1190, 1191, 1192, 1193,
1105 339, 339, 339, 339, 339, 339, 1194, 1195, 1196, 1197,
1106 553, 1198, 553, 1199, 1200, 1201, 446, 446, 1202, 1203,
1107 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213,
1108 1216, 339, 339, 339, 339, 339, 339, 1217, 1218, 1219,
1109 553, 1214, 553, 399, 399, 1220, 1215, 1221, 1222, 1223,
1110 1224, 399, 399, 399, 399, 399, 399, 1225, 1226, 1227,
1111 1228, 621, 1229, 621, 1230, 1231, 1232, 1233, 1234, 1235,
1112 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245,
1114 1246, 1247, 399, 399, 399, 399, 399, 399, 1248, 1249,
1115 1250, 621, 1251, 621, 403, 403, 1252, 1254, 1255, 1256,
1116 1257, 1253, 403, 403, 403, 403, 403, 403, 1258, 1259,
1117 1260, 1261, 622, 1262, 622, 1263, 1264, 1265, 1266, 1267,
1118 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277,
1119 1278, 1279, 1280, 403, 403, 403, 403, 403, 403, 1281,
1120 1282, 1283, 622, 1284, 622, 976, 976, 1285, 976, 976,
1121 976, 1286, 976, 976, 976, 976, 976, 1288, 976, 1289,
1122 1290, 1291, 1292, 1293, 1287, 976, 976, 976, 976, 976,
1123 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303,
1125 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313,
1126 1314, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 976,
1127 1324, 1326, 1327, 1315, 1328, 1329, 1330, 1331, 1325, 1332,
1128 1333, 1334, 1335, 1336, 1337, 1338, 1341, 1342, 1343, 1339,
1129 1344, 1345, 976, 976, 976, 987, 987, 1340, 987, 987,
1130 987, 1346, 987, 987, 987, 987, 987, 1347, 987, 1348,
1131 1349, 1350, 1351, 1352, 1354, 987, 987, 987, 987, 987,
1132 1355, 1353, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363,
1133 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373,
1134 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 987,
1136 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392,
1137 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402,
1138 1403, 1404, 987, 987, 987, 976, 976, 1405, 976, 976,
1139 976, 1406, 976, 976, 976, 976, 976, 1407, 976, 1408,
1140 1409, 1410, 1411, 1412, 1413, 976, 976, 976, 976, 976,
1141 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423,
1142 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433,
1143 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 976,
1144 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452,
1145 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462,
1147 1466, 1467, 976, 976, 976, 987, 987, 1463, 987, 987,
1148 987, 1464, 987, 987, 987, 987, 987, 1468, 987, 1469,
1149 1470, 1471, 1475, 1476, 1465, 987, 987, 987, 987, 987,
1150 1472, 1477, 1478, 1479, 1473, 1482, 1483, 1480, 1484, 1485,
1151 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1474, 1493, 1494,
1152 1481, 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 987,
1153 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512,
1154 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522,
1155 1523, 1524, 987, 987, 987, 1525, 1526, 1527, 1528, 1529,
1156 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539,
1158 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549,
1159 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559,
1160 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569,
1161 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579,
1162 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589,
1163 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
1164 20, 155, 155, 155, 155, 155, 155, 155, 155, 155,
1165 155, 155, 21, 21, 21, 21, 21, 21, 21, 21,
1166 21, 21, 21, 203, 203, 203, 203, 203, 203, 203,
1167 203, 203, 203, 203, 207, 207, 207, 207, 207, 207,
1169 207, 207, 207, 207, 207, 215, 215, 215, 215, 215,
1170 215, 215, 215, 215, 215, 215, 217, 217, 217, 217,
1171 217, 217, 217, 217, 289, 518, 289, 960, 289, 289,
1172 289, 289, 338, 959, 338, 338, 338, 338, 338, 338,
1173 398, 958, 957, 956, 955, 398, 398, 398, 400, 400,
1174 400, 400, 400, 400, 400, 400, 400, 400, 400, 402,
1175 954, 402, 953, 402, 402, 402, 402, 404, 952, 404,
1176 404, 404, 404, 404, 404, 404, 404, 404, 406, 951,
1177 406, 406, 406, 406, 406, 406, 406, 406, 406, 443,
1178 950, 443, 443, 443, 443, 443, 443, 443, 443, 443,
1180 444, 949, 444, 445, 445, 445, 948, 947, 445, 445,
1181 946, 445, 517, 945, 517, 944, 517, 517, 517, 517,
1182 554, 943, 554, 554, 554, 554, 554, 554, 977, 942,
1183 977, 977, 977, 977, 977, 977, 977, 977, 977, 988,
1184 941, 988, 988, 988, 988, 988, 988, 988, 988, 988,
1185 976, 940, 976, 976, 976, 976, 976, 976, 976, 976,
1186 976, 987, 939, 987, 987, 987, 987, 987, 987, 987,
1187 987, 987, 938, 937, 936, 935, 934, 933, 932, 931,
1188 930, 929, 928, 927, 926, 925, 924, 923, 922, 921,
1189 920, 919, 918, 917, 916, 915, 914, 913, 912, 911,
1191 910, 909, 908, 907, 906, 905, 904, 903, 902, 901,
1192 900, 899, 898, 897, 896, 895, 894, 893, 892, 891,
1193 890, 889, 888, 887, 886, 885, 884, 883, 882, 881,
1194 880, 879, 878, 877, 876, 875, 874, 873, 872, 871,
1195 870, 869, 868, 867, 866, 865, 864, 863, 862, 861,
1196 860, 859, 858, 857, 856, 855, 854, 853, 852, 851,
1197 850, 849, 848, 847, 846, 845, 841, 840, 839, 838,
1198 837, 836, 835, 834, 833, 832, 831, 830, 829, 826,
1199 825, 824, 823, 822, 821, 820, 819, 818, 817, 816,
1200 815, 814, 813, 810, 809, 808, 807, 806, 805, 804,
1202 803, 802, 801, 800, 799, 798, 797, 796, 795, 794,
1203 793, 792, 791, 790, 789, 788, 787, 786, 785, 784,
1204 783, 782, 781, 780, 779, 778, 777, 776, 775, 774,
1205 773, 772, 771, 770, 769, 768, 767, 766, 765, 764,
1206 763, 762, 761, 760, 759, 758, 757, 756, 755, 754,
1207 753, 752, 751, 750, 749, 748, 747, 746, 745, 744,
1208 743, 742, 741, 740, 739, 738, 737, 736, 735, 734,
1209 733, 732, 731, 730, 729, 727, 726, 725, 724, 723,
1210 722, 721, 720, 718, 717, 716, 715, 714, 713, 712,
1211 711, 710, 709, 708, 707, 706, 705, 704, 703, 702,
1213 701, 700, 699, 698, 697, 696, 695, 694, 693, 692,
1214 691, 690, 689, 688, 687, 686, 685, 684, 683, 682,
1215 681, 680, 679, 678, 677, 676, 675, 674, 673, 672,
1216 671, 670, 669, 668, 667, 666, 665, 664, 663, 662,
1217 661, 660, 659, 658, 445, 446, 442, 654, 653, 652,
1218 651, 650, 649, 648, 647, 646, 645, 644, 643, 640,
1219 638, 637, 636, 635, 634, 633, 632, 631, 630, 629,
1220 628, 627, 624, 401, 620, 619, 618, 617, 616, 615,
1221 614, 613, 612, 611, 610, 609, 608, 607, 603, 602,
1222 601, 600, 599, 598, 597, 596, 592, 591, 590, 585,
1224 584, 578, 577, 576, 575, 574, 571, 570, 569, 568,
1225 567, 564, 563, 562, 561, 558, 557, 556, 555, 552,
1226 550, 549, 548, 547, 546, 545, 544, 543, 540, 539,
1227 538, 537, 536, 535, 532, 531, 530, 525, 524, 521,
1228 515, 514, 513, 512, 511, 510, 509, 508, 507, 506,
1229 505, 504, 503, 502, 498, 497, 496, 495, 494, 493,
1230 492, 491, 487, 486, 485, 482, 481, 475, 474, 473,
1231 472, 471, 468, 467, 466, 465, 464, 461, 460, 459,
1232 458, 455, 454, 453, 452, 451, 450, 216, 213, 446,
1233 295, 442, 441, 438, 437, 436, 425, 422, 421, 420,
1235 303, 296, 293, 292, 405, 401, 397, 396, 395, 394,
1236 393, 392, 382, 381, 367, 366, 365, 364, 337, 331,
1237 321, 320, 319, 303, 292, 291, 216, 214, 213, 286,
1238 285, 284, 283, 282, 281, 271, 270, 257, 256, 255,
1239 254, 231, 223, 222, 221, 216, 214, 213, 1590, 19,
1240 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590,
1241 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590,
1242 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590,
1243 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590,
1244 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590,
1246 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590,
1247 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590,
1248 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590,
1252 static yyconst flex_int16_t yy_chk
[2632] =
1254 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1255 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1256 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1257 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1258 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1259 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1260 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1261 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1262 3, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1263 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1265 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1266 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1267 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1268 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1269 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1270 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1271 5, 5, 7, 7, 7, 7, 7, 7, 7, 7,
1272 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
1273 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
1274 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
1276 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
1277 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
1278 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
1279 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
1280 7, 7, 7, 9, 9, 9, 9, 9, 9, 9,
1281 9, 9, 9, 9, 9, 9, 9, 9, 36, 72,
1282 9, 9, 9, 9, 9, 9, 9, 9, 28, 36,
1283 41, 41, 13, 13, 14, 14, 13, 800, 14, 43,
1284 43, 45, 28, 45, 48, 45, 46, 13, 48, 14,
1285 46, 45, 47, 46, 9, 47, 9, 9, 45, 45,
1287 49, 50, 48, 55, 50, 56, 46, 50, 57, 56,
1288 49, 87, 118, 55, 191, 72, 94, 94, 57, 191,
1289 9, 9, 9, 10, 10, 10, 10, 10, 10, 10,
1290 10, 10, 10, 10, 10, 10, 10, 10, 37, 37,
1291 10, 10, 10, 10, 10, 10, 10, 10, 13, 59,
1292 14, 81, 89, 58, 91, 87, 37, 58, 37, 59,
1293 58, 58, 107, 89, 801, 81, 96, 96, 118, 37,
1294 108, 167, 107, 124, 10, 109, 10, 10, 108, 62,
1295 195, 91, 62, 62, 124, 109, 37, 131, 37, 62,
1296 62, 62, 802, 195, 62, 62, 37, 131, 167, 62,
1298 10, 10, 10, 11, 11, 11, 11, 11, 11, 11,
1299 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1300 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1301 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1302 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1303 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1304 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1305 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1306 11, 11, 11, 11, 15, 15, 15, 15, 15, 15,
1307 803, 15, 15, 15, 15, 15, 15, 15, 15, 122,
1309 15, 15, 15, 15, 15, 15, 15, 15, 15, 38,
1310 38, 182, 259, 99, 110, 99, 129, 112, 110, 129,
1311 99, 112, 110, 99, 208, 259, 182, 38, 112, 38,
1312 99, 99, 100, 112, 100, 15, 15, 15, 15, 244,
1313 128, 244, 100, 122, 128, 100, 137, 128, 132, 100,
1314 100, 132, 178, 209, 132, 804, 137, 38, 178, 38,
1315 128, 15, 15, 15, 15, 16, 16, 16, 16, 16,
1316 16, 805, 16, 16, 16, 16, 16, 16, 16, 16,
1317 208, 16, 16, 16, 16, 16, 16, 16, 16, 16,
1318 101, 101, 130, 101, 101, 250, 130, 103, 138, 103,
1320 209, 101, 138, 102, 657, 102, 138, 103, 101, 101,
1321 130, 655, 250, 102, 103, 103, 16, 16, 16, 16,
1322 102, 102, 127, 139, 127, 102, 127, 140, 141, 210,
1323 297, 140, 127, 139, 140, 140, 449, 238, 141, 127,
1324 127, 657, 16, 16, 16, 16, 17, 17, 17, 238,
1325 17, 17, 655, 17, 17, 17, 17, 297, 17, 17,
1326 173, 173, 17, 17, 17, 17, 17, 17, 17, 17,
1327 115, 173, 115, 175, 144, 449, 624, 144, 144, 210,
1328 115, 806, 624, 175, 144, 144, 144, 115, 115, 144,
1329 144, 174, 174, 176, 144, 327, 320, 177, 174, 320,
1331 656, 115, 174, 176, 327, 176, 17, 177, 17, 447,
1332 177, 186, 17, 263, 807, 176, 263, 314, 808, 314,
1333 189, 186, 263, 17, 17, 17, 17, 18, 18, 18,
1334 189, 18, 18, 809, 18, 18, 18, 18, 656, 18,
1335 18, 369, 186, 18, 18, 18, 18, 18, 18, 18,
1336 18, 186, 125, 125, 369, 272, 187, 272, 188, 810,
1337 360, 272, 189, 447, 126, 126, 187, 309, 188, 189,
1338 125, 228, 125, 228, 226, 226, 354, 360, 354, 309,
1339 190, 811, 126, 125, 126, 348, 187, 18, 188, 18,
1340 190, 370, 226, 18, 226, 188, 812, 348, 816, 370,
1342 125, 228, 125, 228, 18, 18, 18, 18, 26, 26,
1343 125, 817, 126, 821, 126, 822, 26, 26, 26, 26,
1344 26, 26, 226, 190, 226, 256, 298, 298, 256, 366,
1345 256, 383, 366, 383, 366, 824, 825, 383, 256, 826,
1346 827, 256, 366, 828, 298, 366, 298, 26, 26, 26,
1347 26, 26, 26, 79, 79, 448, 832, 298, 833, 407,
1348 837, 79, 79, 79, 79, 79, 79, 409, 304, 407,
1349 304, 305, 838, 305, 298, 840, 298, 409, 304, 841,
1350 426, 305, 842, 845, 298, 304, 304, 847, 305, 305,
1351 426, 848, 79, 79, 79, 79, 79, 79, 90, 90,
1353 844, 342, 342, 849, 850, 448, 90, 90, 90, 90,
1354 90, 90, 853, 90, 408, 306, 90, 306, 90, 342,
1355 90, 342, 640, 854, 408, 306, 426, 374, 640, 90,
1356 374, 408, 306, 306, 842, 855, 374, 90, 90, 90,
1357 90, 90, 90, 311, 90, 311, 90, 844, 90, 342,
1358 90, 342, 843, 311, 412, 858, 90, 98, 98, 859,
1359 311, 311, 861, 413, 412, 98, 98, 98, 98, 98,
1360 98, 412, 98, 413, 852, 315, 98, 315, 863, 98,
1361 413, 864, 866, 98, 98, 315, 867, 868, 98, 843,
1362 869, 852, 315, 315, 870, 428, 98, 98, 98, 98,
1364 98, 98, 316, 98, 316, 428, 316, 871, 429, 98,
1365 872, 873, 316, 874, 875, 98, 121, 121, 429, 316,
1366 316, 336, 876, 336, 121, 121, 121, 121, 121, 121,
1367 520, 336, 520, 518, 878, 518, 879, 880, 336, 336,
1368 520, 428, 881, 882, 884, 885, 520, 520, 520, 886,
1369 888, 889, 890, 891, 429, 121, 121, 121, 121, 121,
1370 121, 152, 152, 518, 892, 518, 893, 336, 894, 152,
1371 152, 152, 152, 152, 152, 529, 895, 529, 896, 897,
1372 898, 900, 529, 901, 902, 529, 904, 906, 907, 908,
1373 909, 910, 529, 529, 911, 912, 913, 914, 915, 916,
1375 152, 152, 152, 152, 152, 152, 159, 159, 917, 918,
1376 919, 920, 921, 923, 159, 159, 159, 159, 159, 159,
1377 924, 925, 926, 928, 929, 930, 931, 934, 935, 937,
1378 939, 940, 942, 943, 944, 945, 946, 947, 948, 949,
1379 928, 950, 951, 952, 954, 159, 159, 159, 159, 159,
1380 159, 172, 172, 955, 956, 957, 958, 960, 961, 172,
1381 172, 172, 172, 172, 172, 962, 172, 964, 965, 966,
1382 172, 967, 968, 172, 969, 970, 971, 973, 974, 975,
1383 979, 981, 172, 982, 984, 985, 986, 990, 992, 993,
1384 172, 172, 172, 172, 172, 172, 994, 172, 995, 996,
1386 997, 999, 1001, 172, 1002, 1003, 1004, 1005, 1006, 172,
1387 218, 218, 1008, 1009, 1010, 1013, 1015, 1016, 218, 218,
1388 218, 218, 218, 218, 1018, 1020, 1021, 1022, 218, 1023,
1389 218, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 993, 1031,
1390 1034, 1035, 1036, 994, 1037, 1038, 1040, 1041, 1042, 218,
1391 218, 218, 218, 218, 218, 1043, 1044, 1045, 218, 1047,
1392 218, 290, 290, 1048, 1050, 1052, 1053, 1054, 1055, 290,
1393 290, 290, 290, 290, 290, 1056, 1057, 1058, 1059, 290,
1394 1060, 290, 1061, 1063, 1065, 1066, 1067, 1068, 1069, 1070,
1395 1072, 1073, 1074, 1077, 1079, 1080, 1082, 1084, 1085, 1086,
1397 290, 290, 290, 290, 290, 290, 1087, 1088, 1089, 290,
1398 1090, 290, 339, 339, 1091, 1092, 1093, 1094, 1095, 1098,
1399 339, 339, 339, 339, 339, 339, 1099, 1100, 1101, 1102,
1400 339, 1106, 339, 1107, 1108, 1112, 1113, 1114, 1115, 1117,
1401 1118, 1119, 1120, 1121, 1123, 1124, 1126, 1127, 1128, 1130,
1402 1133, 339, 339, 339, 339, 339, 339, 1134, 1135, 1136,
1403 339, 1131, 339, 399, 399, 1137, 1131, 1138, 1139, 1142,
1404 1144, 399, 399, 399, 399, 399, 399, 1145, 1146, 1148,
1405 1149, 399, 1150, 399, 1152, 1154, 1155, 1156, 1158, 1159,
1406 1160, 1162, 1163, 1164, 1165, 1167, 1168, 1169, 1170, 1171,
1408 1173, 1174, 399, 399, 399, 399, 399, 399, 1176, 1177,
1409 1178, 399, 1180, 399, 403, 403, 1181, 1183, 1184, 1185,
1410 1186, 1181, 403, 403, 403, 403, 403, 403, 1187, 1188,
1411 1189, 1192, 403, 1194, 403, 1195, 1196, 1197, 1198, 1199,
1412 1200, 1201, 1203, 1205, 1206, 1207, 1208, 1209, 1210, 1212,
1413 1213, 1214, 1215, 403, 403, 403, 403, 403, 403, 1216,
1414 1217, 1218, 403, 1220, 403, 818, 818, 1221, 818, 818,
1415 818, 1222, 818, 818, 818, 818, 818, 1225, 818, 1227,
1416 1229, 1230, 1232, 1233, 1222, 818, 818, 818, 818, 818,
1417 1234, 1235, 1236, 1239, 1241, 1243, 1244, 1245, 1246, 1247,
1419 1248, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1258, 1259,
1420 1260, 1263, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 818,
1421 1278, 1279, 1280, 1260, 1281, 1282, 1283, 1284, 1278, 1285,
1422 1286, 1287, 1288, 1290, 1291, 1292, 1294, 1295, 1296, 1293,
1423 1297, 1299, 818, 818, 818, 834, 834, 1293, 834, 834,
1424 834, 1300, 834, 834, 834, 834, 834, 1301, 834, 1302,
1425 1303, 1304, 1305, 1306, 1307, 834, 834, 834, 834, 834,
1426 1308, 1306, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316,
1427 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1326, 1327, 1328,
1428 1329, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 834,
1430 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350,
1431 1351, 1354, 1355, 1356, 1357, 1359, 1360, 1361, 1362, 1363,
1432 1364, 1365, 834, 834, 834, 977, 977, 1366, 977, 977,
1433 977, 1367, 977, 977, 977, 977, 977, 1368, 977, 1369,
1434 1372, 1373, 1374, 1375, 1376, 977, 977, 977, 977, 977,
1435 1377, 1378, 1379, 1380, 1381, 1383, 1384, 1385, 1386, 1387,
1436 1388, 1389, 1390, 1391, 1392, 1395, 1396, 1397, 1398, 1399,
1437 1400, 1401, 1402, 1404, 1405, 1407, 1408, 1409, 1410, 977,
1438 1412, 1413, 1414, 1416, 1417, 1419, 1420, 1421, 1422, 1424,
1439 1425, 1427, 1428, 1429, 1430, 1432, 1433, 1434, 1436, 1437,
1441 1439, 1440, 977, 977, 977, 988, 988, 1438, 988, 988,
1442 988, 1438, 988, 988, 988, 988, 988, 1442, 988, 1444,
1443 1445, 1446, 1448, 1450, 1438, 988, 988, 988, 988, 988,
1444 1447, 1451, 1452, 1453, 1447, 1454, 1455, 1453, 1457, 1459,
1445 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1447, 1467, 1470,
1446 1453, 1472, 1473, 1474, 1478, 1479, 1480, 1481, 1482, 988,
1447 1483, 1486, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495,
1448 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505,
1449 1506, 1508, 988, 988, 988, 1509, 1510, 1511, 1512, 1514,
1450 1515, 1516, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525,
1452 1526, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1536, 1538,
1453 1539, 1540, 1542, 1543, 1545, 1546, 1547, 1548, 1549, 1550,
1454 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560,
1455 1561, 1562, 1563, 1564, 1565, 1567, 1568, 1569, 1570, 1572,
1456 1573, 1574, 1576, 1577, 1580, 1581, 1583, 1585, 1586, 1587,
1457 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591,
1458 1591, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592,
1459 1592, 1592, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593,
1460 1593, 1593, 1593, 1594, 1594, 1594, 1594, 1594, 1594, 1594,
1461 1594, 1594, 1594, 1594, 1595, 1595, 1595, 1595, 1595, 1595,
1463 1595, 1595, 1595, 1595, 1595, 1596, 1596, 1596, 1596, 1596,
1464 1596, 1596, 1596, 1596, 1596, 1596, 1597, 1597, 1597, 1597,
1465 1597, 1597, 1597, 1597, 1598, 1609, 1598, 799, 1598, 1598,
1466 1598, 1598, 1599, 798, 1599, 1599, 1599, 1599, 1599, 1599,
1467 1600, 797, 796, 795, 794, 1600, 1600, 1600, 1601, 1601,
1468 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1602,
1469 792, 1602, 791, 1602, 1602, 1602, 1602, 1603, 790, 1603,
1470 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1604, 789,
1471 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1605,
1472 788, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605,
1474 1606, 787, 1606, 1607, 1607, 1607, 786, 785, 1607, 1607,
1475 784, 1607, 1608, 782, 1608, 780, 1608, 1608, 1608, 1608,
1476 1610, 779, 1610, 1610, 1610, 1610, 1610, 1610, 1611, 777,
1477 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1612,
1478 776, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612,
1479 1613, 775, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613,
1480 1613, 1614, 773, 1614, 1614, 1614, 1614, 1614, 1614, 1614,
1481 1614, 1614, 772, 771, 770, 768, 767, 766, 765, 764,
1482 763, 762, 760, 758, 756, 755, 754, 753, 752, 750,
1483 749, 748, 747, 746, 745, 744, 743, 742, 741, 740,
1485 739, 738, 736, 735, 732, 731, 730, 729, 728, 727,
1486 725, 724, 722, 721, 720, 718, 717, 716, 715, 714,
1487 713, 712, 711, 710, 709, 708, 707, 706, 705, 704,
1488 703, 702, 700, 699, 698, 697, 696, 695, 694, 693,
1489 692, 690, 688, 687, 685, 684, 683, 681, 680, 679,
1490 678, 676, 675, 674, 673, 672, 671, 670, 668, 666,
1491 664, 663, 662, 661, 660, 658, 654, 653, 652, 651,
1492 650, 649, 648, 647, 646, 645, 643, 642, 641, 639,
1493 638, 637, 636, 635, 634, 633, 632, 631, 630, 629,
1494 627, 626, 625, 623, 620, 617, 616, 615, 614, 613,
1496 612, 611, 610, 609, 608, 607, 606, 605, 604, 603,
1497 602, 601, 600, 599, 598, 597, 596, 595, 594, 593,
1498 592, 590, 587, 586, 585, 584, 583, 582, 581, 580,
1499 579, 577, 576, 575, 574, 573, 572, 571, 570, 569,
1500 568, 567, 566, 565, 564, 563, 562, 561, 560, 559,
1501 558, 557, 556, 555, 552, 551, 550, 549, 548, 547,
1502 546, 545, 544, 543, 542, 541, 540, 537, 536, 535,
1503 534, 533, 532, 531, 530, 528, 527, 526, 525, 524,
1504 523, 522, 521, 519, 515, 512, 511, 510, 509, 508,
1505 507, 506, 505, 504, 503, 502, 501, 500, 499, 498,
1507 497, 496, 495, 494, 493, 492, 491, 490, 489, 488,
1508 487, 486, 484, 483, 482, 481, 480, 479, 478, 477,
1509 476, 474, 473, 472, 471, 470, 469, 468, 467, 466,
1510 465, 464, 463, 462, 461, 460, 459, 458, 457, 456,
1511 455, 454, 453, 452, 446, 445, 442, 441, 440, 439,
1512 438, 437, 436, 435, 434, 433, 432, 431, 430, 427,
1513 425, 424, 423, 422, 421, 420, 419, 418, 417, 416,
1514 415, 414, 411, 400, 397, 396, 395, 394, 393, 392,
1515 391, 390, 389, 388, 387, 386, 385, 384, 382, 381,
1516 380, 379, 378, 377, 376, 375, 373, 372, 371, 368,
1518 367, 365, 364, 363, 362, 361, 359, 358, 357, 356,
1519 355, 353, 352, 351, 350, 347, 346, 345, 344, 337,
1520 335, 334, 333, 332, 331, 330, 329, 328, 326, 325,
1521 324, 323, 322, 321, 319, 318, 317, 313, 312, 308,
1522 286, 285, 284, 283, 282, 281, 280, 279, 278, 277,
1523 276, 275, 274, 273, 271, 270, 269, 268, 267, 266,
1524 265, 264, 262, 261, 260, 258, 257, 255, 254, 253,
1525 252, 251, 249, 248, 247, 246, 245, 243, 242, 241,
1526 240, 237, 236, 235, 234, 233, 229, 215, 213, 207,
1527 201, 198, 196, 194, 193, 192, 183, 181, 180, 179,
1529 170, 165, 163, 161, 160, 158, 150, 149, 148, 147,
1530 146, 145, 143, 142, 136, 135, 134, 133, 116, 111,
1531 106, 105, 104, 95, 85, 84, 78, 77, 76, 70,
1532 69, 68, 67, 64, 63, 61, 60, 54, 53, 52,
1533 51, 42, 34, 32, 31, 25, 24, 22, 19, 1590,
1534 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590,
1535 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590,
1536 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590,
1537 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590,
1538 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590,
1540 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590,
1541 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590,
1542 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590,
1546 static yy_state_type yy_last_accepting_state
;
1547 static char *yy_last_accepting_cpos
;
1549 extern int yy_flex_debug
;
1550 int yy_flex_debug
= 0;
1552 /* The intent behind this definition is that it'll catch
1553 * any uses of REJECT which flex missed.
1555 #define REJECT reject_used_but_not_detected
1556 #define yymore() yymore_used_but_not_detected
1557 #define YY_MORE_ADJ 0
1558 #define YY_RESTORE_YY_MORE_OFFSET
1563 /* Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
1564 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
1565 Free Software Foundation, Inc.
1566 Written by Steve Chamberlain of Cygnus Support.
1568 This file is part of the GNU Binutils.
1570 This program is free software; you can redistribute it and/or modify
1571 it under the terms of the GNU General Public License as published by
1572 the Free Software Foundation; either version 3 of the License, or
1573 (at your option) any later version.
1575 This program is distributed in the hope that it will be useful,
1576 but WITHOUT ANY WARRANTY; without even the implied warranty of
1577 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1578 GNU General Public License for more details.
1580 You should have received a copy of the GNU General Public License
1581 along with this program; if not, write to the Free Software
1582 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
1583 MA 02110-1301, USA. */
1587 #include "safe-ctype.h"
1588 #include "bfdlink.h"
1597 #include "libiberty.h"
1599 /* The type of top-level parser input.
1600 yylex and yyparse (indirectly) both check this. */
1601 input_type parser_input
;
1603 /* Line number in the current input file.
1604 (FIXME Actually, it doesn't appear to get reset for each file?) */
1605 unsigned int lineno
= 1;
1607 /* The string we are currently lexing, or NULL if we are reading a
1609 const char *lex_string
= NULL
;
1611 /* Support for flex reading from more than one input file (stream).
1612 `include_stack' is flex's input state for each open file;
1613 `file_name_stack' is the file names. `lineno_stack' is the current
1616 If `include_stack_ptr' is 0, we haven't started reading anything yet.
1617 Otherwise, stack elements 0 through `include_stack_ptr - 1' are valid. */
1620 #define YY_INPUT(buf,result,max_size) result = yy_input (buf, max_size)
1624 #define MAX_INCLUDE_DEPTH 10
1625 static YY_BUFFER_STATE include_stack
[MAX_INCLUDE_DEPTH
];
1626 static const char *file_name_stack
[MAX_INCLUDE_DEPTH
];
1627 static unsigned int lineno_stack
[MAX_INCLUDE_DEPTH
];
1628 static unsigned int include_stack_ptr
= 0;
1629 static int vers_node_nesting
= 0;
1631 static int yy_input (char *, int);
1632 static void comment (void);
1633 static void lex_warn_invalid (char *where
, char *what
);
1636 EXPRESSION definitely in an expression
1637 SCRIPT definitely in a script
1638 BOTH either EXPRESSION or SCRIPT
1639 DEFSYMEXP in an argument to -defsym
1640 MRI in an MRI script
1641 VERS_START starting a Sun style mapfile
1642 VERS_SCRIPT a Sun style mapfile
1643 VERS_NODE a node within a Sun style mapfile
1645 #define RTOKEN(x) { yylval.token = x; return x; }
1647 /* Some versions of flex want this. */
1649 int yywrap (void) { return 1; }
1659 #line 1660 "ldlex.c"
1663 #define EXPRESSION 2
1667 #define VERS_START 6
1668 #define VERS_SCRIPT 7
1671 #ifndef YY_NO_UNISTD_H
1672 /* Special case for "unistd.h", since it is non-ANSI. We include it way
1673 * down here because we want the user's section 1 to have been scanned first.
1674 * The user has a chance to override it with an option.
1679 #ifndef YY_EXTRA_TYPE
1680 #define YY_EXTRA_TYPE void *
1683 static int yy_init_globals (void );
1685 /* Accessor methods to globals.
1686 These are made visible to non-reentrant scanners for convenience. */
1688 int yylex_destroy (void );
1690 int yyget_debug (void );
1692 void yyset_debug (int debug_flag
);
1694 YY_EXTRA_TYPE
yyget_extra (void );
1696 void yyset_extra (YY_EXTRA_TYPE user_defined
);
1698 FILE *yyget_in (void );
1700 void yyset_in (FILE * in_str
);
1702 FILE *yyget_out (void );
1704 void yyset_out (FILE * out_str
);
1706 yy_size_t
yyget_leng (void );
1708 char *yyget_text (void );
1710 int yyget_lineno (void );
1712 void yyset_lineno (int line_number
);
1714 /* Macros after this point can all be overridden by user definitions in
1718 #ifndef YY_SKIP_YYWRAP
1720 extern "C" int yywrap (void );
1722 extern int yywrap (void );
1726 static void yyunput (int c
,char *buf_ptr
);
1729 static void yy_flex_strncpy (char *,yyconst
char *,int );
1732 #ifdef YY_NEED_STRLEN
1733 static int yy_flex_strlen (yyconst
char * );
1739 static int yyinput (void );
1741 static int input (void );
1746 /* Amount of stuff to slurp up with each read. */
1747 #ifndef YY_READ_BUF_SIZE
1748 #define YY_READ_BUF_SIZE 8192
1751 /* Copy whatever the last rule matched to the standard output. */
1753 /* This used to be an fputs(), but since the string might contain NUL's,
1754 * we now use fwrite().
1756 #define ECHO fwrite( yytext, yyleng, 1, yyout )
1759 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1760 * is returned in "result".
1763 #define YY_INPUT(buf,result,max_size) \
1764 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1768 for ( n = 0; n < max_size && \
1769 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1770 buf[n] = (char) c; \
1772 buf[n++] = (char) c; \
1773 if ( c == EOF && ferror( yyin ) ) \
1774 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1780 while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
1782 if( errno != EINTR) \
1784 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1795 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1796 * we don't want an extra ';' after the "return" because that will cause
1797 * some compilers to complain about unreachable statements.
1800 #define yyterminate() return YY_NULL
1803 /* Number of entries by which start-condition stack grows. */
1804 #ifndef YY_START_STACK_INCR
1805 #define YY_START_STACK_INCR 25
1808 /* Report a fatal error. */
1809 #ifndef YY_FATAL_ERROR
1810 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1813 /* end tables serialization structures and prototypes */
1815 /* Default declaration of generated scanner - a define so the user can
1816 * easily add parameters.
1819 #define YY_DECL_IS_OURS 1
1821 extern int yylex (void);
1823 #define YY_DECL int yylex (void)
1824 #endif /* !YY_DECL */
1826 /* Code executed at the beginning of each rule, after yytext and yyleng
1829 #ifndef YY_USER_ACTION
1830 #define YY_USER_ACTION
1833 /* Code executed at the end of each rule. */
1835 #define YY_BREAK break;
1838 #define YY_RULE_SETUP \
1841 /** The main scanner function which does all the work.
1845 register yy_state_type yy_current_state
;
1846 register char *yy_cp
, *yy_bp
;
1847 register int yy_act
;
1852 if (parser_input
!= input_selected
)
1854 /* The first token of the input determines the initial parser state. */
1855 input_type t
= parser_input
;
1856 parser_input
= input_selected
;
1859 case input_script
: return INPUT_SCRIPT
; break;
1860 case input_mri_script
: return INPUT_MRI_SCRIPT
; break;
1861 case input_version_script
: return INPUT_VERSION_SCRIPT
; break;
1862 case input_dynamic_list
: return INPUT_DYNAMIC_LIST
; break;
1863 case input_defsym
: return INPUT_DEFSYM
; break;
1868 #line 1869 "ldlex.c"
1879 (yy_start
) = 1; /* first start state */
1887 if ( ! YY_CURRENT_BUFFER
) {
1888 yyensure_buffer_stack ();
1889 YY_CURRENT_BUFFER_LVALUE
=
1890 yy_create_buffer(yyin
,YY_BUF_SIZE
);
1893 yy_load_buffer_state( );
1896 while ( 1 ) /* loops until end-of-file is reached */
1898 yy_cp
= (yy_c_buf_p
);
1900 /* Support of yytext. */
1901 *yy_cp
= (yy_hold_char
);
1903 /* yy_bp points to the position in yy_ch_buf of the start of
1908 yy_current_state
= (yy_start
);
1912 register YY_CHAR yy_c
= yy_ec
[YY_SC_TO_UI(*yy_cp
)];
1913 if ( yy_accept
[yy_current_state
] )
1915 (yy_last_accepting_state
) = yy_current_state
;
1916 (yy_last_accepting_cpos
) = yy_cp
;
1918 while ( yy_chk
[yy_base
[yy_current_state
] + yy_c
] != yy_current_state
)
1920 yy_current_state
= (int) yy_def
[yy_current_state
];
1921 if ( yy_current_state
>= 1591 )
1922 yy_c
= yy_meta
[(unsigned int) yy_c
];
1924 yy_current_state
= yy_nxt
[yy_base
[yy_current_state
] + (unsigned int) yy_c
];
1927 while ( yy_base
[yy_current_state
] != 2550 );
1930 yy_act
= yy_accept
[yy_current_state
];
1932 { /* have to back up */
1933 yy_cp
= (yy_last_accepting_cpos
);
1934 yy_current_state
= (yy_last_accepting_state
);
1935 yy_act
= yy_accept
[yy_current_state
];
1938 YY_DO_BEFORE_ACTION
;
1940 do_action
: /* This label is used only to access EOF actions. */
1943 { /* beginning of action switch */
1944 case 0: /* must back up */
1945 /* undo the effects of YY_DO_BEFORE_ACTION */
1946 *yy_cp
= (yy_hold_char
);
1947 yy_cp
= (yy_last_accepting_cpos
);
1948 yy_current_state
= (yy_last_accepting_state
);
1949 goto yy_find_action
;
1969 { yylval
.name
= xstrdup (yytext
); return NAME
; }
1980 yylval
.integer
= bfd_scan_vma (yytext
+ 1, 0, 16);
1981 yylval
.bigint
.str
= NULL
;
1990 switch (yytext
[yyleng
- 1]) {
2008 yylval
.integer
= bfd_scan_vma (yytext
, 0,
2010 yylval
.bigint
.str
= NULL
;
2026 yylval
.integer
= bfd_scan_vma (s
, 0, ibase
);
2027 yylval
.bigint
.str
= NULL
;
2028 if (yytext
[yyleng
- 1] == 'M'
2029 || yytext
[yyleng
- 1] == 'm')
2031 yylval
.integer
*= 1024 * 1024;
2033 else if (yytext
[yyleng
- 1] == 'K'
2034 || yytext
[yyleng
- 1]=='k')
2036 yylval
.integer
*= 1024;
2038 else if (yytext
[0] == '0'
2039 && (yytext
[1] == 'x'
2040 || yytext
[1] == 'X'))
2042 yylval
.bigint
.str
= xstrdup (yytext
+ 2);
2060 { RTOKEN(LSHIFTEQ
);}
2065 { RTOKEN(RSHIFTEQ
);}
2245 { RTOKEN(REGION_ALIAS
);}
2255 { RTOKEN(VERSIONK
);}
2280 { RTOKEN(DATA_SEGMENT_ALIGN
);}
2285 { RTOKEN(DATA_SEGMENT_RELRO_END
);}
2290 { RTOKEN(DATA_SEGMENT_END
);}
2300 { RTOKEN(LOADADDR
);}
2305 { RTOKEN(ALIGNOF
); }
2320 { RTOKEN(ASSERT_K
); }
2340 { RTOKEN(SIZEOF_HEADERS
);}
2345 { RTOKEN(SIZEOF_HEADERS
);}
2350 { RTOKEN(SEGMENT_START
);}
2365 { RTOKEN(TARGET_K
);}
2370 { RTOKEN(SEARCH_DIR
);}
2390 { RTOKEN(AS_NEEDED
);}
2400 { RTOKEN(CREATE_OBJECT_SYMBOLS
);}
2405 { RTOKEN( CONSTRUCTORS
);}
2410 { RTOKEN(FORCE_COMMON_ALLOCATION
);}
2415 { RTOKEN(INHIBIT_COMMON_ALLOCATION
);}
2420 { RTOKEN(SECTIONS
);}
2425 { RTOKEN(INSERT_K
);}
2450 { RTOKEN(OUTPUT_FORMAT
);}
2455 { RTOKEN( OUTPUT_ARCH
);}
2505 { RTOKEN(NOCROSSREFS
);}
2510 { RTOKEN(OVERLAY
); }
2515 { RTOKEN(SORT_BY_NAME
); }
2520 { RTOKEN(SORT_BY_ALIGNMENT
); }
2525 { RTOKEN(SORT_BY_NAME
); }
2555 { RTOKEN(ONLY_IF_RO
); }
2560 { RTOKEN(ONLY_IF_RW
); }
2565 { RTOKEN(SPECIAL
); }
2605 { RTOKEN(SUBALIGN
);}
2610 { RTOKEN(PROVIDE
); }
2615 { RTOKEN(PROVIDE_HIDDEN
); }
2625 { RTOKEN(EXCLUDE_FILE
); }
2630 { RTOKEN(CONSTANT
);}
2633 /* rule 126 can match eol */
2639 /* rule 127 can match eol */
2642 { ++ lineno
; RTOKEN(NEWLINE
); }
2647 { /* Mri comment line */ }
2652 { /* Mri comment line */ }
2657 { RTOKEN(ENDWORD
); }
2662 { RTOKEN(ALIGNMOD
);}
2687 { RTOKEN(TRUNCATE
); }
2707 { RTOKEN(NAMEWORD
); }
2727 { RTOKEN(LIST
); /* LIST and ignore to end of line */ }
2737 { RTOKEN(ABSOLUTE
); }
2742 { RTOKEN(ENDWORD
); }
2747 { RTOKEN(ALIGNMOD
);}
2772 { RTOKEN(TRUNCATE
); }
2792 { RTOKEN(NAMEWORD
); }
2817 { RTOKEN(LIST
); /* LIST and ignore to end of line */ }
2827 { RTOKEN(ABSOLUTE
); }
2833 /* Filename without commas, needed to parse mri stuff */
2834 yylval
.name
= xstrdup (yytext
);
2842 yylval
.name
= xstrdup (yytext
);
2850 yylval
.name
= xstrdup (yytext
+ 2);
2858 yylval
.name
= xstrdup (yytext
);
2866 yylval
.name
= xstrdup (yytext
+ 2);
2874 /* Annoyingly, this pattern can match comments, and we have
2875 longest match issues to consider. So if the first two
2876 characters are a comment opening, put the input back and
2878 if (yytext
[0] == '/' && yytext
[1] == '*')
2885 yylval
.name
= xstrdup (yytext
);
2891 /* rule 171 can match eol */
2895 /* No matter the state, quotes
2896 give what's inside */
2897 yylval
.name
= xstrdup (yytext
+ 1);
2898 yylval
.name
[yyleng
- 2] = 0;
2903 /* rule 172 can match eol */
2936 { yylval
.name
= xstrdup (yytext
);
2937 return VERS_IDENTIFIER
; }
2942 { yylval
.name
= xstrdup (yytext
);
2948 { BEGIN(VERS_SCRIPT
); return *yytext
; }
2954 vers_node_nesting
= 0;
2966 { vers_node_nesting
++; return *yytext
; }
2971 { if (--vers_node_nesting
< 0)
2977 /* rule 185 can match eol */
2985 { /* Eat up comments */ }
2990 { /* Eat up whitespace */ }
2992 case YY_STATE_EOF(INITIAL
):
2993 case YY_STATE_EOF(SCRIPT
):
2994 case YY_STATE_EOF(EXPRESSION
):
2995 case YY_STATE_EOF(BOTH
):
2996 case YY_STATE_EOF(DEFSYMEXP
):
2997 case YY_STATE_EOF(MRI
):
2998 case YY_STATE_EOF(VERS_START
):
2999 case YY_STATE_EOF(VERS_SCRIPT
):
3000 case YY_STATE_EOF(VERS_NODE
):
3003 include_stack_ptr
--;
3005 if (include_stack_ptr
== 0)
3011 yy_switch_to_buffer (include_stack
[include_stack_ptr
]);
3014 ldfile_input_filename
= file_name_stack
[include_stack_ptr
- 1];
3015 lineno
= lineno_stack
[include_stack_ptr
];
3023 lex_warn_invalid (" in script", yytext
);
3028 lex_warn_invalid (" in expression", yytext
);
3035 #line 3036 "ldlex.c"
3037 case YY_END_OF_BUFFER
:
3039 /* Amount of text matched not including the EOB char. */
3040 int yy_amount_of_matched_text
= (int) (yy_cp
- (yytext_ptr
)) - 1;
3042 /* Undo the effects of YY_DO_BEFORE_ACTION. */
3043 *yy_cp
= (yy_hold_char
);
3044 YY_RESTORE_YY_MORE_OFFSET
3046 if ( YY_CURRENT_BUFFER_LVALUE
->yy_buffer_status
== YY_BUFFER_NEW
)
3048 /* We're scanning a new file or input source. It's
3049 * possible that this happened because the user
3050 * just pointed yyin at a new source and called
3051 * yylex(). If so, then we have to assure
3052 * consistency between YY_CURRENT_BUFFER and our
3053 * globals. Here is the right place to do so, because
3054 * this is the first action (other than possibly a
3055 * back-up) that will match for the new input source.
3057 (yy_n_chars
) = YY_CURRENT_BUFFER_LVALUE
->yy_n_chars
;
3058 YY_CURRENT_BUFFER_LVALUE
->yy_input_file
= yyin
;
3059 YY_CURRENT_BUFFER_LVALUE
->yy_buffer_status
= YY_BUFFER_NORMAL
;
3062 /* Note that here we test for yy_c_buf_p "<=" to the position
3063 * of the first EOB in the buffer, since yy_c_buf_p will
3064 * already have been incremented past the NUL character
3065 * (since all states make transitions on EOB to the
3066 * end-of-buffer state). Contrast this with the test
3069 if ( (yy_c_buf_p
) <= &YY_CURRENT_BUFFER_LVALUE
->yy_ch_buf
[(yy_n_chars
)] )
3070 { /* This was really a NUL. */
3071 yy_state_type yy_next_state
;
3073 (yy_c_buf_p
) = (yytext_ptr
) + yy_amount_of_matched_text
;
3075 yy_current_state
= yy_get_previous_state( );
3077 /* Okay, we're now positioned to make the NUL
3078 * transition. We couldn't have
3079 * yy_get_previous_state() go ahead and do it
3080 * for us because it doesn't know how to deal
3081 * with the possibility of jamming (and we don't
3082 * want to build jamming into it because then it
3083 * will run more slowly).
3086 yy_next_state
= yy_try_NUL_trans( yy_current_state
);
3088 yy_bp
= (yytext_ptr
) + YY_MORE_ADJ
;
3090 if ( yy_next_state
)
3092 /* Consume the NUL. */
3093 yy_cp
= ++(yy_c_buf_p
);
3094 yy_current_state
= yy_next_state
;
3100 yy_cp
= (yy_c_buf_p
);
3101 goto yy_find_action
;
3105 else switch ( yy_get_next_buffer( ) )
3107 case EOB_ACT_END_OF_FILE
:
3109 (yy_did_buffer_switch_on_eof
) = 0;
3113 /* Note: because we've taken care in
3114 * yy_get_next_buffer() to have set up
3115 * yytext, we can now set up
3116 * yy_c_buf_p so that if some total
3117 * hoser (like flex itself) wants to
3118 * call the scanner after we return the
3119 * YY_NULL, it'll still work - another
3120 * YY_NULL will get returned.
3122 (yy_c_buf_p
) = (yytext_ptr
) + YY_MORE_ADJ
;
3124 yy_act
= YY_STATE_EOF(YY_START
);
3130 if ( ! (yy_did_buffer_switch_on_eof
) )
3136 case EOB_ACT_CONTINUE_SCAN
:
3138 (yytext_ptr
) + yy_amount_of_matched_text
;
3140 yy_current_state
= yy_get_previous_state( );
3142 yy_cp
= (yy_c_buf_p
);
3143 yy_bp
= (yytext_ptr
) + YY_MORE_ADJ
;
3146 case EOB_ACT_LAST_MATCH
:
3148 &YY_CURRENT_BUFFER_LVALUE
->yy_ch_buf
[(yy_n_chars
)];
3150 yy_current_state
= yy_get_previous_state( );
3152 yy_cp
= (yy_c_buf_p
);
3153 yy_bp
= (yytext_ptr
) + YY_MORE_ADJ
;
3154 goto yy_find_action
;
3161 "fatal flex scanner internal error--no action found" );
3162 } /* end of action switch */
3163 } /* end of scanning one token */
3164 } /* end of yylex */
3166 /* yy_get_next_buffer - try to read in a new buffer
3168 * Returns a code representing an action:
3169 * EOB_ACT_LAST_MATCH -
3170 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3171 * EOB_ACT_END_OF_FILE - end of file
3173 static int yy_get_next_buffer (void)
3175 register char *dest
= YY_CURRENT_BUFFER_LVALUE
->yy_ch_buf
;
3176 register char *source
= (yytext_ptr
);
3177 register int number_to_move
, i
;
3180 if ( (yy_c_buf_p
) > &YY_CURRENT_BUFFER_LVALUE
->yy_ch_buf
[(yy_n_chars
) + 1] )
3182 "fatal flex scanner internal error--end of buffer missed" );
3184 if ( YY_CURRENT_BUFFER_LVALUE
->yy_fill_buffer
== 0 )
3185 { /* Don't try to fill the buffer, so this is an EOF. */
3186 if ( (yy_c_buf_p
) - (yytext_ptr
) - YY_MORE_ADJ
== 1 )
3188 /* We matched a single character, the EOB, so
3189 * treat this as a final EOF.
3191 return EOB_ACT_END_OF_FILE
;
3196 /* We matched some text prior to the EOB, first
3199 return EOB_ACT_LAST_MATCH
;
3203 /* Try to read more data. */
3205 /* First move last chars to start of buffer. */
3206 number_to_move
= (int) ((yy_c_buf_p
) - (yytext_ptr
)) - 1;
3208 for ( i
= 0; i
< number_to_move
; ++i
)
3209 *(dest
++) = *(source
++);
3211 if ( YY_CURRENT_BUFFER_LVALUE
->yy_buffer_status
== YY_BUFFER_EOF_PENDING
)
3212 /* don't do the read, it's not guaranteed to return an EOF,
3215 YY_CURRENT_BUFFER_LVALUE
->yy_n_chars
= (yy_n_chars
) = 0;
3219 yy_size_t num_to_read
=
3220 YY_CURRENT_BUFFER_LVALUE
->yy_buf_size
- number_to_move
- 1;
3222 while ( num_to_read
<= 0 )
3223 { /* Not enough room in the buffer - grow it. */
3225 /* just a shorter name for the current buffer */
3226 YY_BUFFER_STATE b
= YY_CURRENT_BUFFER
;
3228 int yy_c_buf_p_offset
=
3229 (int) ((yy_c_buf_p
) - b
->yy_ch_buf
);
3231 if ( b
->yy_is_our_buffer
)
3233 yy_size_t new_size
= b
->yy_buf_size
* 2;
3235 if ( new_size
<= 0 )
3236 b
->yy_buf_size
+= b
->yy_buf_size
/ 8;
3238 b
->yy_buf_size
*= 2;
3240 b
->yy_ch_buf
= (char *)
3241 /* Include room in for 2 EOB chars. */
3242 yyrealloc((void *) b
->yy_ch_buf
,b
->yy_buf_size
+ 2 );
3245 /* Can't grow it, we don't own it. */
3248 if ( ! b
->yy_ch_buf
)
3250 "fatal error - scanner input buffer overflow" );
3252 (yy_c_buf_p
) = &b
->yy_ch_buf
[yy_c_buf_p_offset
];
3254 num_to_read
= YY_CURRENT_BUFFER_LVALUE
->yy_buf_size
-
3259 if ( num_to_read
> YY_READ_BUF_SIZE
)
3260 num_to_read
= YY_READ_BUF_SIZE
;
3262 /* Read in more data. */
3263 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE
->yy_ch_buf
[number_to_move
]),
3264 (yy_n_chars
), num_to_read
);
3266 YY_CURRENT_BUFFER_LVALUE
->yy_n_chars
= (yy_n_chars
);
3269 if ( (yy_n_chars
) == 0 )
3271 if ( number_to_move
== YY_MORE_ADJ
)
3273 ret_val
= EOB_ACT_END_OF_FILE
;
3279 ret_val
= EOB_ACT_LAST_MATCH
;
3280 YY_CURRENT_BUFFER_LVALUE
->yy_buffer_status
=
3281 YY_BUFFER_EOF_PENDING
;
3286 ret_val
= EOB_ACT_CONTINUE_SCAN
;
3288 if ((yy_size_t
) ((yy_n_chars
) + number_to_move
) > YY_CURRENT_BUFFER_LVALUE
->yy_buf_size
) {
3289 /* Extend the array by 50%, plus the number we really need. */
3290 yy_size_t new_size
= (yy_n_chars
) + number_to_move
+ ((yy_n_chars
) >> 1);
3291 YY_CURRENT_BUFFER_LVALUE
->yy_ch_buf
= (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE
->yy_ch_buf
,new_size
);
3292 if ( ! YY_CURRENT_BUFFER_LVALUE
->yy_ch_buf
)
3293 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
3296 (yy_n_chars
) += number_to_move
;
3297 YY_CURRENT_BUFFER_LVALUE
->yy_ch_buf
[(yy_n_chars
)] = YY_END_OF_BUFFER_CHAR
;
3298 YY_CURRENT_BUFFER_LVALUE
->yy_ch_buf
[(yy_n_chars
) + 1] = YY_END_OF_BUFFER_CHAR
;
3300 (yytext_ptr
) = &YY_CURRENT_BUFFER_LVALUE
->yy_ch_buf
[0];
3305 /* yy_get_previous_state - get the state just before the EOB char was reached */
3307 static yy_state_type
yy_get_previous_state (void)
3309 register yy_state_type yy_current_state
;
3310 register char *yy_cp
;
3312 yy_current_state
= (yy_start
);
3314 for ( yy_cp
= (yytext_ptr
) + YY_MORE_ADJ
; yy_cp
< (yy_c_buf_p
); ++yy_cp
)
3316 register YY_CHAR yy_c
= (*yy_cp
? yy_ec
[YY_SC_TO_UI(*yy_cp
)] : 1);
3317 if ( yy_accept
[yy_current_state
] )
3319 (yy_last_accepting_state
) = yy_current_state
;
3320 (yy_last_accepting_cpos
) = yy_cp
;
3322 while ( yy_chk
[yy_base
[yy_current_state
] + yy_c
] != yy_current_state
)
3324 yy_current_state
= (int) yy_def
[yy_current_state
];
3325 if ( yy_current_state
>= 1591 )
3326 yy_c
= yy_meta
[(unsigned int) yy_c
];
3328 yy_current_state
= yy_nxt
[yy_base
[yy_current_state
] + (unsigned int) yy_c
];
3331 return yy_current_state
;
3334 /* yy_try_NUL_trans - try to make a transition on the NUL character
3337 * next_state = yy_try_NUL_trans( current_state );
3339 static yy_state_type
yy_try_NUL_trans (yy_state_type yy_current_state
)
3341 register int yy_is_jam
;
3342 register char *yy_cp
= (yy_c_buf_p
);
3344 register YY_CHAR yy_c
= 1;
3345 if ( yy_accept
[yy_current_state
] )
3347 (yy_last_accepting_state
) = yy_current_state
;
3348 (yy_last_accepting_cpos
) = yy_cp
;
3350 while ( yy_chk
[yy_base
[yy_current_state
] + yy_c
] != yy_current_state
)
3352 yy_current_state
= (int) yy_def
[yy_current_state
];
3353 if ( yy_current_state
>= 1591 )
3354 yy_c
= yy_meta
[(unsigned int) yy_c
];
3356 yy_current_state
= yy_nxt
[yy_base
[yy_current_state
] + (unsigned int) yy_c
];
3357 yy_is_jam
= (yy_current_state
== 1590);
3359 return yy_is_jam
? 0 : yy_current_state
;
3362 static void yyunput (int c
, register char * yy_bp
)
3364 register char *yy_cp
;
3366 yy_cp
= (yy_c_buf_p
);
3368 /* undo effects of setting up yytext */
3369 *yy_cp
= (yy_hold_char
);
3371 if ( yy_cp
< YY_CURRENT_BUFFER_LVALUE
->yy_ch_buf
+ 2 )
3372 { /* need to shift things up to make room */
3373 /* +2 for EOB chars. */
3374 register yy_size_t number_to_move
= (yy_n_chars
) + 2;
3375 register char *dest
= &YY_CURRENT_BUFFER_LVALUE
->yy_ch_buf
[
3376 YY_CURRENT_BUFFER_LVALUE
->yy_buf_size
+ 2];
3377 register char *source
=
3378 &YY_CURRENT_BUFFER_LVALUE
->yy_ch_buf
[number_to_move
];
3380 while ( source
> YY_CURRENT_BUFFER_LVALUE
->yy_ch_buf
)
3381 *--dest
= *--source
;
3383 yy_cp
+= (int) (dest
- source
);
3384 yy_bp
+= (int) (dest
- source
);
3385 YY_CURRENT_BUFFER_LVALUE
->yy_n_chars
=
3386 (yy_n_chars
) = YY_CURRENT_BUFFER_LVALUE
->yy_buf_size
;
3388 if ( yy_cp
< YY_CURRENT_BUFFER_LVALUE
->yy_ch_buf
+ 2 )
3389 YY_FATAL_ERROR( "flex scanner push-back overflow" );
3392 *--yy_cp
= (char) c
;
3394 (yytext_ptr
) = yy_bp
;
3395 (yy_hold_char
) = *yy_cp
;
3396 (yy_c_buf_p
) = yy_cp
;
3401 static int yyinput (void)
3403 static int input (void)
3409 *(yy_c_buf_p
) = (yy_hold_char
);
3411 if ( *(yy_c_buf_p
) == YY_END_OF_BUFFER_CHAR
)
3413 /* yy_c_buf_p now points to the character we want to return.
3414 * If this occurs *before* the EOB characters, then it's a
3415 * valid NUL; if not, then we've hit the end of the buffer.
3417 if ( (yy_c_buf_p
) < &YY_CURRENT_BUFFER_LVALUE
->yy_ch_buf
[(yy_n_chars
)] )
3418 /* This was really a NUL. */
3419 *(yy_c_buf_p
) = '\0';
3422 { /* need more input */
3423 yy_size_t offset
= (yy_c_buf_p
) - (yytext_ptr
);
3426 switch ( yy_get_next_buffer( ) )
3428 case EOB_ACT_LAST_MATCH
:
3429 /* This happens because yy_g_n_b()
3430 * sees that we've accumulated a
3431 * token and flags that we need to
3432 * try matching the token before
3433 * proceeding. But for input(),
3434 * there's no matching to consider.
3435 * So convert the EOB_ACT_LAST_MATCH
3436 * to EOB_ACT_END_OF_FILE.
3439 /* Reset buffer status. */
3444 case EOB_ACT_END_OF_FILE
:
3449 if ( ! (yy_did_buffer_switch_on_eof
) )
3458 case EOB_ACT_CONTINUE_SCAN
:
3459 (yy_c_buf_p
) = (yytext_ptr
) + offset
;
3465 c
= *(unsigned char *) (yy_c_buf_p
); /* cast for 8-bit char's */
3466 *(yy_c_buf_p
) = '\0'; /* preserve yytext */
3467 (yy_hold_char
) = *++(yy_c_buf_p
);
3471 #endif /* ifndef YY_NO_INPUT */
3473 /** Immediately switch to a different input stream.
3474 * @param input_file A readable stream.
3476 * @note This function does not reset the start condition to @c INITIAL .
3478 void yyrestart (FILE * input_file
)
3481 if ( ! YY_CURRENT_BUFFER
){
3482 yyensure_buffer_stack ();
3483 YY_CURRENT_BUFFER_LVALUE
=
3484 yy_create_buffer(yyin
,YY_BUF_SIZE
);
3487 yy_init_buffer(YY_CURRENT_BUFFER
,input_file
);
3488 yy_load_buffer_state( );
3491 /** Switch to a different input buffer.
3492 * @param new_buffer The new input buffer.
3495 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer
)
3498 /* TODO. We should be able to replace this entire function body
3500 * yypop_buffer_state();
3501 * yypush_buffer_state(new_buffer);
3503 yyensure_buffer_stack ();
3504 if ( YY_CURRENT_BUFFER
== new_buffer
)
3507 if ( YY_CURRENT_BUFFER
)
3509 /* Flush out information for old buffer. */
3510 *(yy_c_buf_p
) = (yy_hold_char
);
3511 YY_CURRENT_BUFFER_LVALUE
->yy_buf_pos
= (yy_c_buf_p
);
3512 YY_CURRENT_BUFFER_LVALUE
->yy_n_chars
= (yy_n_chars
);
3515 YY_CURRENT_BUFFER_LVALUE
= new_buffer
;
3516 yy_load_buffer_state( );
3518 /* We don't actually know whether we did this switch during
3519 * EOF (yywrap()) processing, but the only time this flag
3520 * is looked at is after yywrap() is called, so it's safe
3521 * to go ahead and always set it.
3523 (yy_did_buffer_switch_on_eof
) = 1;
3526 static void yy_load_buffer_state (void)
3528 (yy_n_chars
) = YY_CURRENT_BUFFER_LVALUE
->yy_n_chars
;
3529 (yytext_ptr
) = (yy_c_buf_p
) = YY_CURRENT_BUFFER_LVALUE
->yy_buf_pos
;
3530 yyin
= YY_CURRENT_BUFFER_LVALUE
->yy_input_file
;
3531 (yy_hold_char
) = *(yy_c_buf_p
);
3534 /** Allocate and initialize an input buffer state.
3535 * @param file A readable stream.
3536 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
3538 * @return the allocated buffer state.
3540 YY_BUFFER_STATE
yy_create_buffer (FILE * file
, int size
)
3544 b
= (YY_BUFFER_STATE
) yyalloc(sizeof( struct yy_buffer_state
) );
3546 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3548 b
->yy_buf_size
= size
;
3550 /* yy_ch_buf has to be 2 characters longer than the size given because
3551 * we need to put in 2 end-of-buffer characters.
3553 b
->yy_ch_buf
= (char *) yyalloc(b
->yy_buf_size
+ 2 );
3554 if ( ! b
->yy_ch_buf
)
3555 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3557 b
->yy_is_our_buffer
= 1;
3559 yy_init_buffer(b
,file
);
3564 /** Destroy the buffer.
3565 * @param b a buffer created with yy_create_buffer()
3568 void yy_delete_buffer (YY_BUFFER_STATE b
)
3574 if ( b
== YY_CURRENT_BUFFER
) /* Not sure if we should pop here. */
3575 YY_CURRENT_BUFFER_LVALUE
= (YY_BUFFER_STATE
) 0;
3577 if ( b
->yy_is_our_buffer
)
3578 yyfree((void *) b
->yy_ch_buf
);
3580 yyfree((void *) b
);
3584 extern int isatty (int );
3585 #endif /* __cplusplus */
3587 /* Initializes or reinitializes a buffer.
3588 * This function is sometimes called more than once on the same buffer,
3589 * such as during a yyrestart() or at EOF.
3591 static void yy_init_buffer (YY_BUFFER_STATE b
, FILE * file
)
3596 yy_flush_buffer(b
);
3598 b
->yy_input_file
= file
;
3599 b
->yy_fill_buffer
= 1;
3601 /* If b is the current buffer, then yy_init_buffer was _probably_
3602 * called from yyrestart() or through yy_get_next_buffer.
3603 * In that case, we don't want to reset the lineno or column.
3605 if (b
!= YY_CURRENT_BUFFER
){
3606 b
->yy_bs_lineno
= 1;
3607 b
->yy_bs_column
= 0;
3610 b
->yy_is_interactive
= file
? (isatty( fileno(file
) ) > 0) : 0;
3615 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
3616 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
3619 void yy_flush_buffer (YY_BUFFER_STATE b
)
3626 /* We always need two end-of-buffer characters. The first causes
3627 * a transition to the end-of-buffer state. The second causes
3628 * a jam in that state.
3630 b
->yy_ch_buf
[0] = YY_END_OF_BUFFER_CHAR
;
3631 b
->yy_ch_buf
[1] = YY_END_OF_BUFFER_CHAR
;
3633 b
->yy_buf_pos
= &b
->yy_ch_buf
[0];
3636 b
->yy_buffer_status
= YY_BUFFER_NEW
;
3638 if ( b
== YY_CURRENT_BUFFER
)
3639 yy_load_buffer_state( );
3642 /** Pushes the new state onto the stack. The new state becomes
3643 * the current state. This function will allocate the stack
3645 * @param new_buffer The new state.
3648 void yypush_buffer_state (YY_BUFFER_STATE new_buffer
)
3650 if (new_buffer
== NULL
)
3653 yyensure_buffer_stack();
3655 /* This block is copied from yy_switch_to_buffer. */
3656 if ( YY_CURRENT_BUFFER
)
3658 /* Flush out information for old buffer. */
3659 *(yy_c_buf_p
) = (yy_hold_char
);
3660 YY_CURRENT_BUFFER_LVALUE
->yy_buf_pos
= (yy_c_buf_p
);
3661 YY_CURRENT_BUFFER_LVALUE
->yy_n_chars
= (yy_n_chars
);
3664 /* Only push if top exists. Otherwise, replace top. */
3665 if (YY_CURRENT_BUFFER
)
3666 (yy_buffer_stack_top
)++;
3667 YY_CURRENT_BUFFER_LVALUE
= new_buffer
;
3669 /* copied from yy_switch_to_buffer. */
3670 yy_load_buffer_state( );
3671 (yy_did_buffer_switch_on_eof
) = 1;
3674 /** Removes and deletes the top of the stack, if present.
3675 * The next element becomes the new top.
3678 void yypop_buffer_state (void)
3680 if (!YY_CURRENT_BUFFER
)
3683 yy_delete_buffer(YY_CURRENT_BUFFER
);
3684 YY_CURRENT_BUFFER_LVALUE
= NULL
;
3685 if ((yy_buffer_stack_top
) > 0)
3686 --(yy_buffer_stack_top
);
3688 if (YY_CURRENT_BUFFER
) {
3689 yy_load_buffer_state( );
3690 (yy_did_buffer_switch_on_eof
) = 1;
3694 /* Allocates the stack if it does not exist.
3695 * Guarantees space for at least one push.
3697 static void yyensure_buffer_stack (void)
3699 yy_size_t num_to_alloc
;
3701 if (!(yy_buffer_stack
)) {
3703 /* First allocation is just for 2 elements, since we don't know if this
3704 * scanner will even need a stack. We use 2 instead of 1 to avoid an
3705 * immediate realloc on the next call.
3708 (yy_buffer_stack
) = (struct yy_buffer_state
**)yyalloc
3709 (num_to_alloc
* sizeof(struct yy_buffer_state
*)
3711 if ( ! (yy_buffer_stack
) )
3712 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3714 memset((yy_buffer_stack
), 0, num_to_alloc
* sizeof(struct yy_buffer_state
*));
3716 (yy_buffer_stack_max
) = num_to_alloc
;
3717 (yy_buffer_stack_top
) = 0;
3721 if ((yy_buffer_stack_top
) >= ((yy_buffer_stack_max
)) - 1){
3723 /* Increase the buffer to prepare for a possible push. */
3724 int grow_size
= 8 /* arbitrary grow size */;
3726 num_to_alloc
= (yy_buffer_stack_max
) + grow_size
;
3727 (yy_buffer_stack
) = (struct yy_buffer_state
**)yyrealloc
3729 num_to_alloc
* sizeof(struct yy_buffer_state
*)
3731 if ( ! (yy_buffer_stack
) )
3732 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3734 /* zero only the new slots.*/
3735 memset((yy_buffer_stack
) + (yy_buffer_stack_max
), 0, grow_size
* sizeof(struct yy_buffer_state
*));
3736 (yy_buffer_stack_max
) = num_to_alloc
;
3740 /** Setup the input buffer state to scan directly from a user-specified character buffer.
3741 * @param base the character buffer
3742 * @param size the size in bytes of the character buffer
3744 * @return the newly allocated buffer state object.
3746 YY_BUFFER_STATE
yy_scan_buffer (char * base
, yy_size_t size
)
3751 base
[size
-2] != YY_END_OF_BUFFER_CHAR
||
3752 base
[size
-1] != YY_END_OF_BUFFER_CHAR
)
3753 /* They forgot to leave room for the EOB's. */
3756 b
= (YY_BUFFER_STATE
) yyalloc(sizeof( struct yy_buffer_state
) );
3758 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
3760 b
->yy_buf_size
= size
- 2; /* "- 2" to take care of EOB's */
3761 b
->yy_buf_pos
= b
->yy_ch_buf
= base
;
3762 b
->yy_is_our_buffer
= 0;
3763 b
->yy_input_file
= 0;
3764 b
->yy_n_chars
= b
->yy_buf_size
;
3765 b
->yy_is_interactive
= 0;
3767 b
->yy_fill_buffer
= 0;
3768 b
->yy_buffer_status
= YY_BUFFER_NEW
;
3770 yy_switch_to_buffer(b
);
3775 /** Setup the input buffer state to scan a string. The next call to yylex() will
3776 * scan from a @e copy of @a str.
3777 * @param yystr a NUL-terminated string to scan
3779 * @return the newly allocated buffer state object.
3780 * @note If you want to scan bytes that may contain NUL values, then use
3781 * yy_scan_bytes() instead.
3783 YY_BUFFER_STATE
yy_scan_string (yyconst
char * yystr
)
3786 return yy_scan_bytes(yystr
,strlen(yystr
) );
3789 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
3790 * scan from a @e copy of @a bytes.
3791 * @param bytes the byte buffer to scan
3792 * @param len the number of bytes in the buffer pointed to by @a bytes.
3794 * @return the newly allocated buffer state object.
3796 YY_BUFFER_STATE
yy_scan_bytes (yyconst
char * yybytes
, yy_size_t _yybytes_len
)
3802 /* Get memory for full buffer, including space for trailing EOB's. */
3803 n
= _yybytes_len
+ 2;
3804 buf
= (char *) yyalloc(n
);
3806 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
3808 for ( i
= 0; i
< _yybytes_len
; ++i
)
3809 buf
[i
] = yybytes
[i
];
3811 buf
[_yybytes_len
] = buf
[_yybytes_len
+1] = YY_END_OF_BUFFER_CHAR
;
3813 b
= yy_scan_buffer(buf
,n
);
3815 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
3817 /* It's okay to grow etc. this buffer, and we should throw it
3818 * away when we're done.
3820 b
->yy_is_our_buffer
= 1;
3825 #ifndef YY_EXIT_FAILURE
3826 #define YY_EXIT_FAILURE 2
3829 static void yy_fatal_error (yyconst
char* msg
)
3831 (void) fprintf( stderr
, "%s\n", msg
);
3832 exit( YY_EXIT_FAILURE
);
3835 /* Redefine yyless() so it works in section 3 code. */
3841 /* Undo effects of setting up yytext. */ \
3842 int yyless_macro_arg = (n); \
3843 YY_LESS_LINENO(yyless_macro_arg);\
3844 yytext[yyleng] = (yy_hold_char); \
3845 (yy_c_buf_p) = yytext + yyless_macro_arg; \
3846 (yy_hold_char) = *(yy_c_buf_p); \
3847 *(yy_c_buf_p) = '\0'; \
3848 yyleng = yyless_macro_arg; \
3852 /* Accessor methods (get/set functions) to struct members. */
3854 /** Get the current line number.
3857 int yyget_lineno (void)
3863 /** Get the input stream.
3866 FILE *yyget_in (void)
3871 /** Get the output stream.
3874 FILE *yyget_out (void)
3879 /** Get the length of the current token.
3882 yy_size_t
yyget_leng (void)
3887 /** Get the current token.
3891 char *yyget_text (void)
3896 /** Set the current line number.
3897 * @param line_number
3900 void yyset_lineno (int line_number
)
3903 yylineno
= line_number
;
3906 /** Set the input stream. This does not discard the current
3908 * @param in_str A readable stream.
3910 * @see yy_switch_to_buffer
3912 void yyset_in (FILE * in_str
)
3917 void yyset_out (FILE * out_str
)
3922 int yyget_debug (void)
3924 return yy_flex_debug
;
3927 void yyset_debug (int bdebug
)
3929 yy_flex_debug
= bdebug
;
3932 static int yy_init_globals (void)
3934 /* Initialization is the same as for the non-reentrant scanner.
3935 * This function is called from yylex_destroy(), so don't allocate here.
3938 (yy_buffer_stack
) = 0;
3939 (yy_buffer_stack_top
) = 0;
3940 (yy_buffer_stack_max
) = 0;
3941 (yy_c_buf_p
) = (char *) 0;
3945 /* Defined in main.c */
3954 /* For future reference: Set errno on error, since we are called by
3960 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
3961 int yylex_destroy (void)
3964 /* Pop the buffer stack, destroying each element. */
3965 while(YY_CURRENT_BUFFER
){
3966 yy_delete_buffer(YY_CURRENT_BUFFER
);
3967 YY_CURRENT_BUFFER_LVALUE
= NULL
;
3968 yypop_buffer_state();
3971 /* Destroy the stack itself. */
3972 yyfree((yy_buffer_stack
) );
3973 (yy_buffer_stack
) = NULL
;
3975 /* Reset the globals. This is important in a non-reentrant scanner so the next time
3976 * yylex() is called, initialization will occur. */
3983 * Internal utility routines.
3987 static void yy_flex_strncpy (char* s1
, yyconst
char * s2
, int n
)
3990 for ( i
= 0; i
< n
; ++i
)
3995 #ifdef YY_NEED_STRLEN
3996 static int yy_flex_strlen (yyconst
char * s
)
3999 for ( n
= 0; s
[n
]; ++n
)
4006 void *yyalloc (yy_size_t size
)
4008 return (void *) malloc( size
);
4011 void *yyrealloc (void * ptr
, yy_size_t size
)
4013 /* The cast to (char *) in the following accommodates both
4014 * implementations that use char* generic pointers, and those
4015 * that use void* generic pointers. It works with the latter
4016 * because both ANSI C and C++ allow castless assignment from
4017 * any pointer type to void*, and deal with argument conversions
4018 * as though doing an assignment.
4020 return (void *) realloc( (char *) ptr
, size
);
4023 void yyfree (void * ptr
)
4025 free( (char *) ptr
); /* see yyrealloc() for (char *) cast */
4028 #define YYTABLES_NAME "yytables"
4035 /* Switch flex to reading script file NAME, open on FILE,
4036 saving the current input info on the include stack. */
4039 lex_push_file (FILE *file
, const char *name
)
4041 if (include_stack_ptr
>= MAX_INCLUDE_DEPTH
)
4043 einfo ("%F:includes nested too deeply\n");
4045 file_name_stack
[include_stack_ptr
] = name
;
4046 lineno_stack
[include_stack_ptr
] = lineno
;
4047 include_stack
[include_stack_ptr
] = YY_CURRENT_BUFFER
;
4049 include_stack_ptr
++;
4052 yy_switch_to_buffer (yy_create_buffer (yyin
, YY_BUF_SIZE
));
4055 /* Return a newly created flex input buffer containing STRING,
4056 which is SIZE bytes long. */
4058 static YY_BUFFER_STATE
4059 yy_create_string_buffer (const char *string
, size_t size
)
4063 /* Calls to m-alloc get turned by sed into xm-alloc. */
4064 b
= malloc (sizeof (struct yy_buffer_state
));
4065 b
->yy_input_file
= 0;
4066 b
->yy_buf_size
= size
;
4068 /* yy_ch_buf has to be 2 characters longer than the size given because
4069 we need to put in 2 end-of-buffer characters. */
4070 b
->yy_ch_buf
= malloc ((unsigned) (b
->yy_buf_size
+ 3));
4072 b
->yy_ch_buf
[0] = '\n';
4073 strcpy (b
->yy_ch_buf
+1, string
);
4074 b
->yy_ch_buf
[size
+1] = YY_END_OF_BUFFER_CHAR
;
4075 b
->yy_ch_buf
[size
+2] = YY_END_OF_BUFFER_CHAR
;
4076 b
->yy_n_chars
= size
+1;
4077 b
->yy_buf_pos
= &b
->yy_ch_buf
[1];
4079 b
->yy_is_our_buffer
= 1;
4080 b
->yy_is_interactive
= 0;
4082 b
->yy_fill_buffer
= 0;
4084 /* flex 2.4.7 changed the interface. FIXME: We should not be using
4085 a flex internal interface in the first place! */
4086 #ifdef YY_BUFFER_NEW
4087 b
->yy_buffer_status
= YY_BUFFER_NEW
;
4089 b
->yy_eof_status
= EOF_NOT_SEEN
;
4095 /* Switch flex to reading from STRING, saving the current input info
4096 on the include stack. */
4099 lex_redirect (const char *string
)
4101 YY_BUFFER_STATE tmp
;
4104 if (include_stack_ptr
>= MAX_INCLUDE_DEPTH
)
4106 einfo("%F: macros nested too deeply\n");
4108 file_name_stack
[include_stack_ptr
] = "redirect";
4109 lineno_stack
[include_stack_ptr
] = lineno
;
4110 include_stack
[include_stack_ptr
] = YY_CURRENT_BUFFER
;
4111 include_stack_ptr
++;
4113 tmp
= yy_create_string_buffer (string
, strlen (string
));
4114 yy_switch_to_buffer (tmp
);
4117 /* Functions to switch to a different flex start condition,
4118 saving the current start condition on `state_stack'. */
4120 static int state_stack
[MAX_INCLUDE_DEPTH
* 2];
4121 static int *state_stack_p
= state_stack
;
4126 *(state_stack_p
)++ = yy_start
;
4131 ldlex_mri_script (void)
4133 *(state_stack_p
)++ = yy_start
;
4138 ldlex_version_script (void)
4140 *(state_stack_p
)++ = yy_start
;
4145 ldlex_version_file (void)
4147 *(state_stack_p
)++ = yy_start
;
4148 BEGIN (VERS_SCRIPT
);
4154 *(state_stack_p
)++ = yy_start
;
4159 ldlex_expression (void)
4161 *(state_stack_p
)++ = yy_start
;
4168 *(state_stack_p
)++ = yy_start
;
4173 ldlex_popstate (void)
4175 yy_start
= *(--state_stack_p
);
4179 /* Place up to MAX_SIZE characters in BUF and return
4180 either the number of characters read, or 0 to indicate EOF. */
4183 yy_input (char *buf
, int max_size
)
4186 if (YY_CURRENT_BUFFER
->yy_input_file
)
4190 result
= fread (buf
, 1, max_size
, yyin
);
4191 if (result
< max_size
&& ferror (yyin
))
4192 einfo ("%F%P: read in flex scanner failed\n");
4198 /* Eat the rest of a C-style comment. */
4208 while (c
!= '*' && c
!= EOF
)
4221 break; /* found the end */
4229 einfo( "%F%P: EOF in comment\n");
4235 /* Warn the user about a garbage character WHAT in the input
4236 in context WHERE. */
4239 lex_warn_invalid (char *where
, char *what
)
4243 /* If we have found an input file whose format we do not recognize,
4244 and we are therefore treating it as a linker script, and we find
4245 an invalid character, then most likely this is a real object file
4246 of some different format. Treat it as such. */
4247 if (ldfile_assumed_script
)
4249 bfd_set_error (bfd_error_file_not_recognized
);
4250 einfo ("%F%s: file not recognized: %E\n", ldfile_input_filename
);
4253 if (! ISPRINT (*what
))
4255 sprintf (buf
, "\\%03o", (unsigned int) *what
);
4259 einfo ("%P:%S: ignoring invalid character `%s'%s\n", what
, where
);