5 #define YY_INT_ALIGNED short int
7 /* A lexical scanner generated by flex */
9 #define yy_create_buffer ld_create_buffer
10 #define yy_delete_buffer ld_delete_buffer
11 #define yy_flex_debug ld_flex_debug
12 #define yy_init_buffer ld_init_buffer
13 #define yy_flush_buffer ld_flush_buffer
14 #define yy_load_buffer_state ld_load_buffer_state
15 #define yy_switch_to_buffer ld_switch_to_buffer
19 #define yylineno ldlineno
21 #define yyrestart ldrestart
24 #define yyalloc ldalloc
25 #define yyrealloc ldrealloc
29 #define YY_FLEX_MAJOR_VERSION 2
30 #define YY_FLEX_MINOR_VERSION 5
31 #define YY_FLEX_SUBMINOR_VERSION 37
32 #if YY_FLEX_SUBMINOR_VERSION > 0
36 /* First, we deal with platform-specific or compiler-specific issues. */
38 /* begin standard C headers. */
44 /* end standard C headers. */
46 /* flex integer type definitions */
51 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
53 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
55 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
56 * if you want the limit (max/min) macros for int types.
58 #ifndef __STDC_LIMIT_MACROS
59 #define __STDC_LIMIT_MACROS 1
63 typedef int8_t flex_int8_t;
64 typedef uint8_t flex_uint8_t;
65 typedef int16_t flex_int16_t;
66 typedef uint16_t flex_uint16_t;
67 typedef int32_t flex_int32_t;
68 typedef uint32_t flex_uint32_t;
70 typedef signed char flex_int8_t;
71 typedef short int flex_int16_t;
72 typedef int flex_int32_t;
73 typedef unsigned char flex_uint8_t;
74 typedef unsigned short int flex_uint16_t;
75 typedef unsigned int flex_uint32_t;
77 /* Limits of integral types. */
79 #define INT8_MIN (-128)
82 #define INT16_MIN (-32767-1)
85 #define INT32_MIN (-2147483647-1)
88 #define INT8_MAX (127)
91 #define INT16_MAX (32767)
94 #define INT32_MAX (2147483647)
97 #define UINT8_MAX (255U)
100 #define UINT16_MAX (65535U)
103 #define UINT32_MAX (4294967295U)
108 #endif /* ! FLEXINT_H */
112 /* The "const" storage-class-modifier is valid. */
115 #else /* ! __cplusplus */
117 /* C99 requires __STDC__ to be defined as 1. */
118 #if defined (__STDC__)
122 #endif /* defined (__STDC__) */
123 #endif /* ! __cplusplus */
126 #define yyconst const
131 /* Returned upon end-of-file. */
134 /* Promotes a possibly negative, possibly signed char to an unsigned
135 * integer for use as an array index. If the signed char is negative,
136 * we want to instead treat it as an 8-bit unsigned char, hence the
139 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
141 /* Enter a start condition. This macro really ought to take a parameter,
142 * but we do it the disgusting crufty way forced on us by the ()-less
143 * definition of BEGIN.
145 #define BEGIN (yy_start) = 1 + 2 *
147 /* Translate the current start state into a value that can be later handed
148 * to BEGIN to return to the state. The YYSTATE alias is for lex
151 #define YY_START (((yy_start) - 1) / 2)
152 #define YYSTATE YY_START
154 /* Action number for EOF rule of a given start state. */
155 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
157 /* Special action meaning "start processing a new file". */
158 #define YY_NEW_FILE ldrestart(ldin )
160 #define YY_END_OF_BUFFER_CHAR 0
162 /* Size of default input buffer. */
164 #define YY_BUF_SIZE 16384
167 /* The state buf must be large enough to hold one state per character in the main buffer.
169 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
171 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
172 #define YY_TYPEDEF_YY_BUFFER_STATE
173 typedef struct yy_buffer_state *YY_BUFFER_STATE;
176 #ifndef YY_TYPEDEF_YY_SIZE_T
177 #define YY_TYPEDEF_YY_SIZE_T
178 typedef size_t yy_size_t;
181 extern yy_size_t ldleng;
183 extern FILE *ldin, *ldout;
185 #define EOB_ACT_CONTINUE_SCAN 0
186 #define EOB_ACT_END_OF_FILE 1
187 #define EOB_ACT_LAST_MATCH 2
189 /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
190 * access to the local variable yy_act. Since yyless() is a macro, it would break
191 * existing scanners that call yyless() from OUTSIDE ldlex.
192 * One obvious solution it to make yy_act a global. I tried that, and saw
193 * a 5% performance hit in a non-ldlineno scanner, because yy_act is
194 * normally declared as a register variable-- so it is not worth it.
196 #define YY_LESS_LINENO(n) \
199 for ( yyl = n; yyl < ldleng; ++yyl )\
200 if ( ldtext[yyl] == '\n' )\
204 /* Return all but the first "n" matched characters back to the input stream. */
208 /* Undo effects of setting up ldtext. */ \
209 int yyless_macro_arg = (n); \
210 YY_LESS_LINENO(yyless_macro_arg);\
211 *yy_cp = (yy_hold_char); \
212 YY_RESTORE_YY_MORE_OFFSET \
213 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
214 YY_DO_BEFORE_ACTION; /* set up ldtext again */ \
218 #define unput(c) yyunput( c, (yytext_ptr) )
220 #ifndef YY_STRUCT_YY_BUFFER_STATE
221 #define YY_STRUCT_YY_BUFFER_STATE
222 struct yy_buffer_state
226 char *yy_ch_buf; /* input buffer */
227 char *yy_buf_pos; /* current position in input buffer */
229 /* Size of input buffer in bytes, not including room for EOB
232 yy_size_t yy_buf_size;
234 /* Number of characters read into yy_ch_buf, not including EOB
237 yy_size_t yy_n_chars;
239 /* Whether we "own" the buffer - i.e., we know we created it,
240 * and can realloc() it to grow it, and should free() it to
243 int yy_is_our_buffer;
245 /* Whether this is an "interactive" input source; if so, and
246 * if we're using stdio for input, then we want to use getc()
247 * instead of fread(), to make sure we stop fetching input after
250 int yy_is_interactive;
252 /* Whether we're considered to be at the beginning of a line.
253 * If so, '^' rules will be active on the next match, otherwise
258 int yy_bs_lineno; /**< The line count. */
259 int yy_bs_column; /**< The column count. */
261 /* Whether to try to fill the input buffer when we reach the
266 int yy_buffer_status;
268 #define YY_BUFFER_NEW 0
269 #define YY_BUFFER_NORMAL 1
270 /* When an EOF's been seen but there's still some text to process
271 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
272 * shouldn't try reading from the input source any more. We might
273 * still have a bunch of tokens to match, though, because of
274 * possible backing-up.
276 * When we actually see the EOF, we change the status to "new"
277 * (via ldrestart()), so that the user can continue scanning by
278 * just pointing ldin at a new input file.
280 #define YY_BUFFER_EOF_PENDING 2
283 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
285 /* Stack of input buffers. */
286 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
287 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
288 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
290 /* We provide macros for accessing buffer states in case in the
291 * future we want to put the buffer states in a more general
294 * Returns the top of the stack, or NULL.
296 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
297 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
300 /* Same as previous macro, but useful when we know that the buffer stack is not
301 * NULL or when we need an lvalue. For internal use only.
303 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
305 /* yy_hold_char holds the character lost when ldtext is formed. */
306 static char yy_hold_char;
307 static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */
310 /* Points to current character in buffer. */
311 static char *yy_c_buf_p = (char *) 0;
312 static int yy_init = 0; /* whether we need to initialize */
313 static int yy_start = 0; /* start state number */
315 /* Flag which is used to allow ldwrap()'s to do buffer switches
316 * instead of setting up a fresh ldin. A bit of a hack ...
318 static int yy_did_buffer_switch_on_eof;
320 void ldrestart (FILE *input_file );
321 void ld_switch_to_buffer (YY_BUFFER_STATE new_buffer );
322 YY_BUFFER_STATE ld_create_buffer (FILE *file,int size );
323 void ld_delete_buffer (YY_BUFFER_STATE b );
324 void ld_flush_buffer (YY_BUFFER_STATE b );
325 void ldpush_buffer_state (YY_BUFFER_STATE new_buffer );
326 void ldpop_buffer_state (void );
328 static void ldensure_buffer_stack (void );
329 static void ld_load_buffer_state (void );
330 static void ld_init_buffer (YY_BUFFER_STATE b,FILE *file );
332 #define YY_FLUSH_BUFFER ld_flush_buffer(YY_CURRENT_BUFFER )
334 YY_BUFFER_STATE ld_scan_buffer (char *base,yy_size_t size );
335 YY_BUFFER_STATE ld_scan_string (yyconst char *yy_str );
336 YY_BUFFER_STATE ld_scan_bytes (yyconst char *bytes,yy_size_t len );
338 void *ldalloc (yy_size_t );
339 void *ldrealloc (void *,yy_size_t );
340 void ldfree (void * );
342 #define yy_new_buffer ld_create_buffer
344 #define yy_set_interactive(is_interactive) \
346 if ( ! YY_CURRENT_BUFFER ){ \
347 ldensure_buffer_stack (); \
348 YY_CURRENT_BUFFER_LVALUE = \
349 ld_create_buffer(ldin,YY_BUF_SIZE ); \
351 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
354 #define yy_set_bol(at_bol) \
356 if ( ! YY_CURRENT_BUFFER ){\
357 ldensure_buffer_stack (); \
358 YY_CURRENT_BUFFER_LVALUE = \
359 ld_create_buffer(ldin,YY_BUF_SIZE ); \
361 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
364 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
366 /* Begin user sect3 */
369 #define YY_SKIP_YYWRAP
371 typedef unsigned char YY_CHAR;
373 FILE *ldin = (FILE *) 0, *ldout = (FILE *) 0;
375 typedef int yy_state_type;
382 #define yytext_ptr ldtext
384 static yy_state_type yy_get_previous_state (void );
385 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
386 static int yy_get_next_buffer (void );
387 static void yy_fatal_error (yyconst char msg[] );
389 /* Done after the current pattern has been matched and before the
390 * corresponding action - sets up ldtext.
392 #define YY_DO_BEFORE_ACTION \
393 (yytext_ptr) = yy_bp; \
394 ldleng = (size_t) (yy_cp - yy_bp); \
395 (yy_hold_char) = *yy_cp; \
397 (yy_c_buf_p) = yy_cp;
399 #define YY_NUM_RULES 50
400 #define YY_END_OF_BUFFER 51
401 /* This struct is not used in this scanner,
402 but its presence is necessary. */
405 flex_int32_t yy_verify;
408 static yyconst flex_int16_t yy_accept[219] =
410 0, 0, 0, 0, 51, 49, 48, 48, 41, 42,
411 32, 33, 39, 37, 44, 38, 46, 40, 45, 45,
412 34, 35, 36, 46, 46, 46, 46, 46, 46, 46,
413 46, 46, 46, 49, 49, 46, 46, 30, 43, 31,
414 49, 9, 9, 48, 46, 47, 46, 10, 45, 45,
415 45, 46, 45, 46, 46, 46, 46, 46, 46, 46,
416 46, 46, 46, 46, 46, 46, 46, 0, 29, 46,
417 46, 0, 0, 0, 0, 45, 46, 46, 46, 46,
418 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
419 46, 46, 0, 46, 46, 0, 0, 0, 0, 0,
421 0, 45, 46, 46, 46, 46, 46, 46, 46, 19,
422 46, 46, 46, 46, 46, 46, 27, 46, 0, 46,
423 46, 0, 0, 0, 0, 0, 0, 0, 0, 11,
424 46, 13, 46, 16, 17, 46, 46, 46, 46, 46,
425 46, 46, 46, 46, 46, 0, 0, 0, 0, 0,
426 0, 0, 0, 46, 46, 18, 46, 46, 46, 46,
427 46, 46, 46, 46, 20, 0, 2, 0, 0, 0,
428 6, 0, 0, 46, 46, 46, 46, 23, 46, 25,
429 46, 28, 15, 0, 4, 1, 0, 8, 5, 46,
430 46, 46, 22, 46, 46, 0, 0, 12, 46, 46,
432 46, 46, 3, 7, 46, 46, 24, 46, 46, 46,
433 46, 14, 46, 46, 21, 46, 26, 0
436 static yyconst flex_int32_t yy_ec[256] =
438 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
439 2, 2, 2, 1, 1, 1, 1, 1, 1, 1,
440 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
441 1, 2, 1, 1, 4, 1, 5, 6, 1, 7,
442 8, 9, 10, 11, 12, 13, 14, 15, 16, 16,
443 16, 16, 16, 16, 16, 17, 17, 18, 19, 1,
444 20, 1, 21, 1, 22, 23, 24, 25, 26, 27,
445 28, 29, 30, 13, 31, 32, 33, 34, 35, 36,
446 13, 37, 38, 39, 40, 41, 42, 43, 44, 45,
447 46, 47, 48, 1, 49, 1, 50, 51, 52, 53,
449 54, 55, 56, 13, 57, 13, 58, 59, 58, 60,
450 61, 13, 13, 13, 62, 13, 13, 13, 13, 63,
451 13, 13, 64, 65, 66, 47, 1, 1, 1, 1,
452 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
453 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
454 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
455 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
456 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
457 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
458 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
460 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
461 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
462 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
463 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
464 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
468 static yyconst flex_int32_t yy_meta[67] =
470 1, 2, 2, 1, 1, 1, 2, 2, 3, 1,
471 1, 3, 3, 1, 3, 3, 3, 2, 2, 1,
472 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
473 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
474 3, 3, 3, 3, 3, 2, 1, 2, 3, 3,
475 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
479 static yyconst flex_int16_t yy_base[223] =
481 0, 217, 0, 216, 216, 2250, 65, 67, 2250, 2250,
482 2250, 2250, 0, 2250, 2250, 2250, 70, 206, 135, 62,
483 2250, 2250, 2250, 0, 186, 70, 127, 146, 179, 210,
484 259, 308, 246, 46, 0, 268, 297, 2250, 2250, 2250,
485 25, 2250, 42, 70, 0, 0, 304, 0, 48, 224,
486 337, 386, 389, 438, 441, 444, 493, 496, 545, 532,
487 554, 583, 589, 638, 634, 641, 672, 73, 2250, 691,
488 695, 38, 159, 47, 158, 69, 728, 747, 751, 780,
489 784, 813, 819, 842, 848, 871, 877, 900, 908, 929,
490 937, 958, 81, 966, 987, 52, 158, 155, 69, 154,
492 153, 995, 1018, 1031, 1039, 1070, 1062, 1091, 1120, 1127,
493 1131, 1160, 1171, 1193, 1204, 1164, 1226, 1233, 151, 1237,
494 1266, 142, 138, 134, 134, 132, 132, 124, 115, 1277,
495 1288, 1301, 1322, 1341, 1345, 1374, 1380, 1409, 1430, 1433,
496 1464, 1485, 1488, 1509, 1538, 114, 135, 110, 104, 81,
497 145, 77, 75, 1545, 1549, 1578, 1582, 1589, 1611, 1633,
498 1640, 1644, 1684, 1693, 2250, 68, 2250, 151, 154, 65,
499 2250, 169, 171, 1697, 1728, 1737, 1750, 1772, 1781, 1794,
500 1803, 1825, 2250, 57, 2250, 2250, 53, 2250, 2250, 1834,
501 1847, 1838, 1869, 1878, 1900, 173, 181, 1907, 1929, 1936,
503 1960, 1967, 2250, 2250, 1989, 1996, 2000, 2040, 2051, 2029,
504 2064, 2085, 2108, 2119, 2142, 2148, 2177, 2250, 2240, 89,
508 static yyconst flex_int16_t yy_def[223] =
510 218, 1, 219, 219, 218, 218, 218, 218, 218, 218,
511 218, 218, 220, 218, 218, 218, 221, 222, 221, 19,
512 218, 218, 218, 220, 19, 19, 19, 19, 19, 19,
513 19, 19, 19, 218, 222, 19, 19, 218, 218, 218,
514 218, 218, 218, 218, 220, 222, 19, 222, 19, 19,
515 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
516 19, 19, 19, 19, 19, 19, 19, 218, 218, 19,
517 19, 218, 218, 218, 218, 52, 19, 19, 19, 19,
518 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
519 19, 19, 218, 19, 19, 218, 218, 218, 218, 218,
521 218, 19, 19, 19, 19, 19, 19, 19, 19, 19,
522 19, 19, 19, 19, 19, 19, 19, 19, 218, 19,
523 19, 218, 218, 218, 218, 218, 218, 218, 218, 19,
524 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
525 19, 19, 19, 19, 19, 218, 218, 218, 218, 218,
526 218, 218, 218, 19, 19, 19, 19, 19, 19, 19,
527 19, 19, 19, 19, 218, 218, 218, 218, 218, 218,
528 218, 218, 218, 19, 19, 19, 19, 19, 19, 19,
529 19, 19, 218, 218, 218, 218, 218, 218, 218, 19,
530 19, 19, 19, 19, 19, 218, 218, 19, 19, 19,
532 19, 19, 218, 218, 19, 19, 19, 19, 19, 19,
533 19, 19, 19, 19, 19, 19, 19, 0, 218, 218,
537 static yyconst flex_int16_t yy_nxt[2317] =
539 6, 7, 8, 6, 9, 10, 11, 12, 13, 14,
540 15, 16, 17, 18, 19, 20, 20, 21, 22, 23,
541 24, 25, 17, 17, 17, 26, 17, 27, 17, 28,
542 29, 17, 17, 17, 30, 31, 17, 32, 17, 17,
543 33, 17, 17, 17, 17, 34, 35, 6, 17, 17,
544 17, 17, 17, 17, 17, 36, 17, 17, 37, 17,
545 17, 17, 17, 38, 39, 40, 44, 44, 44, 44,
546 46, 44, 44, 46, 46, 46, 50, 50, 72, 46,
547 46, 73, 68, 46, 47, 47, 47, 68, 68, 46,
548 47, 45, 53, 69, 53, 74, 96, 97, 75, 102,
550 47, 102, 47, 56, 47, 99, 100, 197, 122, 93,
551 47, 196, 57, 123, 93, 93, 46, 119, 187, 53,
552 69, 184, 119, 119, 47, 126, 102, 47, 69, 173,
553 127, 172, 47, 170, 46, 46, 167, 167, 46, 46,
554 46, 47, 47, 47, 46, 46, 171, 171, 46, 49,
555 49, 50, 185, 185, 46, 186, 186, 47, 169, 47,
556 47, 47, 47, 58, 168, 51, 166, 51, 153, 47,
557 188, 188, 189, 189, 203, 203, 47, 52, 47, 59,
558 152, 46, 204, 204, 47, 151, 150, 149, 47, 47,
559 148, 147, 51, 47, 47, 47, 146, 52, 69, 46,
561 47, 47, 47, 47, 60, 129, 128, 125, 47, 47,
562 124, 47, 101, 98, 48, 218, 47, 54, 47, 43,
563 41, 47, 218, 55, 47, 47, 47, 218, 47, 218,
564 218, 218, 218, 218, 218, 218, 47, 218, 50, 50,
565 47, 47, 47, 47, 218, 218, 218, 218, 47, 61,
566 218, 218, 47, 218, 53, 218, 53, 218, 218, 218,
567 47, 47, 47, 218, 218, 218, 47, 47, 218, 218,
568 218, 67, 47, 47, 47, 47, 47, 218, 47, 218,
569 62, 53, 47, 47, 47, 218, 47, 218, 47, 47,
570 218, 47, 218, 218, 218, 63, 218, 218, 47, 218,
572 47, 47, 218, 47, 218, 218, 218, 218, 47, 218,
573 47, 47, 47, 47, 218, 218, 47, 218, 47, 47,
574 47, 47, 47, 47, 47, 47, 70, 47, 218, 47,
575 47, 218, 218, 64, 47, 218, 47, 65, 47, 47,
576 47, 218, 66, 218, 218, 218, 47, 218, 218, 218,
577 47, 47, 47, 47, 47, 218, 218, 71, 218, 47,
578 218, 47, 218, 218, 218, 47, 47, 47, 218, 47,
579 47, 218, 218, 218, 218, 218, 218, 218, 218, 47,
580 218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
581 218, 218, 218, 218, 47, 218, 218, 218, 218, 47,
583 76, 76, 76, 47, 47, 47, 218, 76, 76, 76,
584 76, 76, 76, 218, 218, 218, 47, 218, 47, 47,
585 218, 47, 218, 218, 218, 218, 218, 218, 47, 218,
586 218, 47, 218, 218, 218, 76, 76, 76, 76, 76,
587 76, 218, 218, 47, 218, 218, 47, 218, 47, 218,
588 218, 47, 47, 47, 47, 47, 47, 47, 47, 47,
589 47, 218, 218, 218, 218, 218, 218, 77, 47, 218,
590 47, 47, 218, 47, 47, 218, 47, 218, 218, 218,
591 47, 218, 79, 47, 218, 218, 47, 218, 218, 78,
592 218, 218, 218, 218, 218, 47, 218, 218, 47, 218,
594 47, 47, 218, 47, 218, 218, 47, 47, 47, 47,
595 47, 47, 47, 218, 218, 218, 80, 218, 218, 218,
596 218, 218, 218, 47, 218, 47, 47, 218, 47, 218,
597 81, 218, 218, 218, 218, 47, 218, 218, 47, 218,
598 218, 218, 218, 218, 218, 218, 47, 47, 47, 218,
599 47, 218, 218, 47, 218, 47, 218, 84, 47, 47,
600 47, 47, 47, 218, 47, 218, 218, 218, 47, 47,
601 47, 218, 218, 218, 47, 47, 218, 47, 218, 218,
602 82, 218, 218, 83, 47, 218, 47, 47, 218, 47,
603 218, 218, 85, 218, 47, 218, 47, 47, 47, 47,
605 218, 218, 47, 47, 47, 47, 218, 47, 218, 218,
606 86, 47, 218, 47, 218, 47, 47, 218, 218, 47,
607 218, 47, 218, 87, 218, 47, 218, 218, 218, 218,
608 218, 47, 218, 218, 218, 218, 218, 218, 218, 218,
609 47, 218, 218, 218, 218, 47, 47, 218, 47, 47,
610 47, 47, 47, 47, 47, 47, 47, 47, 218, 88,
611 218, 218, 218, 218, 47, 89, 47, 218, 47, 218,
612 47, 47, 218, 47, 218, 218, 47, 91, 90, 218,
613 47, 218, 218, 47, 218, 218, 47, 47, 47, 218,
614 218, 47, 218, 218, 218, 47, 47, 218, 47, 218,
616 47, 218, 47, 47, 47, 47, 47, 47, 92, 47,
617 47, 47, 218, 218, 47, 218, 218, 218, 218, 218,
618 218, 47, 218, 47, 218, 47, 218, 47, 218, 47,
619 218, 218, 218, 47, 47, 218, 218, 47, 218, 218,
620 218, 218, 47, 47, 47, 218, 95, 218, 47, 218,
621 218, 94, 47, 47, 218, 103, 218, 47, 47, 218,
622 47, 47, 47, 47, 218, 47, 47, 47, 218, 218,
623 47, 218, 218, 218, 218, 218, 218, 47, 218, 47,
624 104, 47, 218, 47, 218, 47, 218, 105, 218, 47,
625 47, 218, 218, 47, 47, 47, 47, 218, 47, 47,
627 47, 218, 218, 218, 47, 218, 218, 218, 47, 47,
628 47, 106, 47, 47, 47, 218, 47, 218, 218, 218,
629 218, 218, 47, 107, 218, 218, 47, 47, 47, 47,
630 218, 218, 218, 47, 47, 47, 218, 47, 218, 218,
631 218, 47, 47, 47, 109, 47, 47, 218, 218, 47,
632 218, 47, 108, 218, 218, 47, 47, 47, 47, 218,
633 218, 47, 47, 47, 47, 218, 218, 218, 218, 218,
634 47, 218, 47, 218, 47, 47, 47, 110, 47, 218,
635 47, 47, 218, 111, 47, 47, 47, 47, 218, 218,
636 47, 47, 47, 47, 218, 218, 112, 218, 218, 47,
638 218, 47, 218, 47, 47, 47, 218, 47, 218, 47,
639 47, 218, 218, 47, 47, 47, 47, 113, 218, 47,
640 218, 218, 47, 47, 47, 218, 218, 218, 47, 218,
641 47, 218, 47, 47, 47, 218, 114, 218, 47, 47,
642 115, 218, 47, 47, 47, 47, 218, 218, 218, 218,
643 47, 47, 47, 47, 116, 218, 218, 47, 218, 47,
644 218, 47, 47, 218, 218, 47, 218, 47, 218, 47,
645 47, 47, 47, 47, 47, 117, 218, 218, 218, 47,
646 47, 47, 47, 218, 218, 218, 47, 218, 47, 218,
647 47, 47, 218, 218, 47, 118, 47, 218, 47, 47,
649 47, 47, 47, 47, 218, 218, 218, 218, 47, 47,
650 47, 47, 218, 218, 218, 47, 120, 47, 218, 47,
651 47, 218, 218, 47, 218, 47, 218, 47, 47, 47,
652 218, 218, 47, 47, 47, 218, 121, 47, 218, 218,
653 218, 218, 218, 218, 47, 47, 47, 47, 47, 47,
654 47, 130, 47, 47, 47, 47, 131, 47, 218, 218,
655 47, 47, 218, 47, 218, 218, 218, 218, 218, 47,
656 218, 47, 218, 47, 218, 47, 47, 47, 47, 218,
657 47, 47, 132, 218, 47, 47, 47, 218, 47, 218,
658 218, 218, 47, 47, 47, 218, 47, 134, 218, 218,
660 47, 47, 47, 218, 47, 47, 47, 47, 218, 133,
661 218, 218, 47, 218, 218, 218, 218, 218, 218, 47,
662 218, 47, 218, 47, 47, 218, 218, 47, 218, 135,
663 218, 218, 47, 47, 47, 47, 47, 218, 218, 218,
664 218, 47, 47, 47, 218, 47, 47, 47, 47, 218,
665 47, 218, 47, 47, 218, 218, 136, 47, 218, 47,
666 218, 47, 47, 47, 218, 218, 218, 218, 218, 47,
667 137, 218, 218, 47, 47, 47, 47, 47, 47, 47,
668 47, 218, 47, 218, 47, 47, 47, 47, 47, 47,
669 47, 218, 47, 47, 47, 218, 47, 138, 142, 218,
671 139, 47, 47, 47, 218, 218, 47, 47, 47, 47,
672 218, 218, 218, 47, 218, 218, 140, 47, 47, 47,
673 47, 47, 47, 47, 218, 47, 47, 218, 47, 141,
674 218, 218, 218, 47, 47, 47, 47, 218, 218, 218,
675 47, 47, 47, 218, 218, 218, 47, 47, 47, 47,
676 47, 47, 47, 47, 218, 47, 47, 218, 47, 218,
677 218, 47, 143, 47, 218, 47, 47, 47, 47, 47,
678 218, 218, 218, 218, 218, 47, 218, 218, 218, 47,
679 47, 47, 47, 47, 218, 218, 144, 218, 47, 218,
680 47, 47, 47, 47, 47, 47, 47, 218, 47, 47,
682 218, 218, 47, 47, 47, 218, 218, 47, 47, 47,
683 218, 218, 218, 154, 218, 47, 47, 47, 47, 47,
684 47, 218, 218, 47, 145, 218, 218, 218, 47, 218,
685 47, 47, 218, 47, 47, 218, 47, 47, 47, 47,
686 218, 218, 218, 47, 218, 47, 155, 218, 218, 218,
687 47, 218, 47, 218, 47, 47, 47, 47, 47, 47,
688 47, 47, 218, 47, 47, 218, 218, 218, 218, 218,
689 218, 47, 218, 47, 218, 47, 218, 47, 218, 47,
690 218, 218, 218, 47, 47, 218, 218, 47, 47, 47,
691 47, 218, 218, 218, 47, 47, 47, 218, 47, 218,
693 218, 218, 47, 47, 47, 218, 47, 47, 218, 156,
694 47, 218, 47, 218, 218, 218, 47, 218, 157, 218,
695 218, 218, 47, 47, 47, 47, 218, 218, 218, 218,
696 218, 47, 218, 218, 218, 218, 47, 47, 158, 47,
697 218, 47, 47, 218, 47, 47, 47, 47, 47, 47,
698 218, 47, 218, 218, 159, 218, 218, 218, 218, 218,
699 47, 160, 47, 47, 218, 47, 47, 218, 218, 218,
700 218, 47, 47, 218, 218, 47, 218, 218, 47, 47,
701 47, 218, 218, 218, 218, 218, 218, 47, 218, 218,
702 47, 218, 47, 218, 47, 47, 47, 161, 218, 47,
704 47, 47, 47, 47, 47, 218, 47, 218, 218, 218,
705 218, 162, 218, 218, 218, 47, 218, 47, 47, 218,
706 47, 47, 163, 47, 47, 47, 47, 47, 218, 218,
707 47, 218, 218, 218, 218, 218, 218, 218, 218, 47,
708 218, 47, 47, 218, 218, 47, 218, 47, 218, 218,
709 47, 47, 47, 47, 47, 165, 218, 218, 218, 47,
710 47, 47, 218, 47, 47, 47, 47, 164, 47, 174,
711 47, 47, 218, 218, 175, 47, 218, 47, 218, 47,
712 47, 47, 218, 218, 218, 218, 218, 47, 218, 218,
713 218, 47, 47, 47, 47, 47, 47, 47, 47, 218,
715 47, 218, 47, 47, 47, 47, 47, 47, 47, 218,
716 47, 47, 47, 218, 47, 218, 218, 218, 218, 47,
717 47, 47, 218, 218, 47, 47, 47, 47, 218, 218,
718 176, 47, 218, 177, 218, 47, 178, 218, 218, 47,
719 47, 47, 218, 47, 47, 218, 47, 47, 47, 47,
720 218, 47, 218, 47, 47, 47, 47, 218, 47, 47,
721 47, 218, 218, 47, 218, 47, 218, 218, 47, 218,
722 47, 218, 47, 47, 47, 47, 47, 218, 180, 218,
723 218, 179, 47, 218, 218, 218, 47, 218, 218, 218,
724 47, 218, 181, 218, 218, 47, 218, 47, 47, 47,
726 47, 47, 47, 218, 218, 218, 47, 47, 47, 47,
727 183, 47, 47, 47, 47, 218, 47, 182, 218, 218,
728 218, 218, 190, 47, 218, 47, 47, 47, 218, 47,
729 218, 218, 218, 218, 218, 47, 218, 218, 218, 47,
730 218, 47, 47, 47, 47, 218, 47, 218, 218, 218,
731 47, 47, 47, 47, 47, 47, 218, 218, 47, 47,
732 47, 218, 218, 192, 47, 47, 47, 47, 218, 47,
733 47, 218, 218, 218, 218, 193, 191, 218, 218, 47,
734 47, 218, 47, 218, 218, 47, 47, 47, 47, 218,
735 47, 218, 47, 218, 47, 47, 47, 47, 218, 47,
737 218, 218, 47, 218, 47, 194, 218, 47, 47, 47,
738 47, 47, 47, 47, 47, 218, 218, 47, 47, 47,
739 218, 218, 218, 47, 47, 218, 47, 218, 218, 47,
740 218, 195, 218, 47, 47, 47, 47, 218, 47, 47,
741 47, 47, 218, 47, 218, 47, 218, 218, 47, 47,
742 47, 47, 47, 47, 47, 47, 47, 47, 198, 218,
743 47, 47, 47, 47, 47, 47, 47, 47, 47, 218,
744 47, 218, 200, 199, 218, 218, 47, 47, 218, 47,
745 47, 218, 47, 47, 47, 47, 218, 47, 218, 47,
746 218, 47, 47, 47, 47, 47, 47, 218, 218, 47,
748 47, 47, 218, 218, 47, 218, 218, 201, 47, 47,
749 47, 47, 218, 218, 47, 47, 47, 218, 218, 218,
750 47, 47, 47, 47, 218, 202, 47, 218, 218, 218,
751 47, 47, 47, 218, 218, 47, 218, 47, 218, 47,
752 47, 218, 47, 47, 47, 47, 218, 218, 218, 47,
753 47, 47, 47, 218, 218, 218, 218, 47, 205, 47,
754 218, 47, 47, 218, 47, 218, 47, 218, 47, 47,
755 218, 47, 206, 218, 47, 47, 47, 218, 47, 218,
756 218, 47, 47, 47, 218, 218, 47, 218, 208, 218,
757 47, 47, 47, 47, 218, 218, 207, 47, 47, 47,
759 218, 218, 47, 47, 47, 47, 218, 218, 218, 47,
760 47, 47, 47, 218, 47, 47, 47, 47, 218, 47,
761 209, 47, 47, 218, 47, 218, 47, 218, 210, 47,
762 47, 47, 47, 218, 218, 218, 218, 218, 47, 218,
763 218, 218, 47, 47, 47, 47, 47, 218, 218, 218,
764 213, 47, 218, 47, 47, 47, 47, 47, 47, 47,
765 218, 47, 47, 218, 211, 47, 47, 47, 218, 218,
766 47, 47, 47, 218, 218, 218, 212, 218, 47, 47,
767 47, 47, 47, 47, 218, 218, 47, 218, 218, 214,
768 218, 47, 218, 47, 47, 218, 47, 47, 218, 47,
770 47, 47, 47, 218, 218, 218, 47, 218, 47, 218,
771 218, 218, 218, 47, 218, 47, 218, 47, 218, 218,
772 218, 47, 47, 47, 47, 218, 47, 47, 218, 218,
773 218, 218, 218, 47, 47, 47, 218, 218, 47, 218,
774 47, 218, 47, 218, 218, 218, 215, 47, 218, 47,
775 47, 47, 218, 218, 218, 216, 47, 47, 47, 218,
776 218, 47, 47, 47, 47, 47, 218, 218, 218, 218,
777 47, 218, 47, 218, 47, 218, 47, 218, 47, 218,
778 47, 47, 218, 218, 47, 217, 218, 218, 218, 218,
779 47, 47, 47, 47, 218, 218, 218, 218, 218, 47,
781 218, 218, 218, 218, 47, 47, 218, 47, 218, 47,
782 47, 218, 218, 218, 218, 218, 218, 218, 218, 47,
783 218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
784 218, 218, 218, 218, 47, 218, 218, 218, 218, 47,
785 42, 42, 42, 47, 218, 47, 46, 218, 46, 5,
786 218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
787 218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
788 218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
789 218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
790 218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
792 218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
793 218, 218, 218, 218, 218, 218
796 static yyconst flex_int16_t yy_chk[2317] =
798 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
799 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
800 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
801 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
802 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
803 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
804 1, 1, 1, 1, 1, 1, 7, 7, 8, 8,
805 17, 44, 44, 17, 17, 17, 20, 20, 41, 17,
806 17, 41, 34, 17, 26, 26, 26, 34, 34, 17,
807 49, 220, 20, 34, 20, 43, 72, 72, 43, 76,
809 26, 76, 26, 26, 20, 74, 74, 187, 96, 68,
810 49, 184, 26, 96, 68, 68, 17, 93, 170, 20,
811 68, 166, 93, 93, 20, 99, 76, 26, 93, 153,
812 99, 152, 26, 150, 17, 19, 147, 147, 19, 19,
813 19, 27, 27, 27, 19, 19, 151, 151, 19, 19,
814 19, 19, 168, 168, 19, 169, 169, 27, 149, 27,
815 28, 28, 28, 27, 148, 19, 146, 19, 129, 27,
816 172, 172, 173, 173, 196, 196, 28, 19, 28, 28,
817 128, 19, 197, 197, 27, 127, 126, 125, 28, 27,
818 124, 123, 19, 29, 29, 29, 122, 19, 119, 19,
820 25, 25, 25, 28, 29, 101, 100, 98, 28, 29,
821 97, 29, 75, 73, 18, 5, 25, 25, 25, 4,
822 2, 29, 0, 25, 30, 30, 30, 0, 25, 0,
823 0, 0, 0, 0, 0, 0, 29, 0, 50, 50,
824 30, 29, 30, 25, 0, 0, 0, 0, 25, 30,
825 0, 0, 30, 0, 50, 0, 50, 0, 0, 0,
826 33, 33, 33, 0, 0, 0, 50, 30, 0, 0,
827 0, 33, 30, 31, 31, 31, 33, 0, 33, 0,
828 31, 50, 36, 36, 36, 0, 50, 0, 33, 31,
829 0, 31, 0, 0, 0, 31, 0, 0, 36, 0,
831 36, 31, 0, 33, 0, 0, 0, 0, 33, 0,
832 36, 37, 37, 37, 0, 0, 31, 0, 47, 47,
833 47, 31, 32, 32, 32, 36, 36, 37, 0, 37,
834 36, 0, 0, 32, 47, 0, 47, 32, 32, 37,
835 32, 0, 32, 0, 0, 0, 47, 0, 0, 0,
836 32, 51, 51, 51, 37, 0, 0, 37, 0, 37,
837 0, 47, 0, 0, 0, 32, 47, 51, 0, 51,
838 32, 0, 0, 0, 0, 0, 0, 0, 0, 51,
839 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
840 0, 0, 0, 0, 51, 0, 0, 0, 0, 51,
842 52, 52, 52, 53, 53, 53, 0, 52, 52, 52,
843 52, 52, 52, 0, 0, 0, 52, 0, 52, 53,
844 0, 53, 0, 0, 0, 0, 0, 0, 52, 0,
845 0, 53, 0, 0, 0, 52, 52, 52, 52, 52,
846 52, 0, 0, 52, 0, 0, 53, 0, 52, 0,
847 0, 53, 54, 54, 54, 55, 55, 55, 56, 56,
848 56, 0, 0, 0, 0, 0, 0, 54, 54, 0,
849 54, 55, 0, 55, 56, 0, 56, 0, 0, 0,
850 54, 0, 56, 55, 0, 0, 56, 0, 0, 55,
851 0, 0, 0, 0, 0, 54, 0, 0, 55, 0,
853 54, 56, 0, 55, 0, 0, 56, 57, 57, 57,
854 58, 58, 58, 0, 0, 0, 57, 0, 0, 0,
855 0, 0, 0, 57, 0, 57, 58, 0, 58, 0,
856 58, 0, 0, 0, 0, 57, 0, 0, 58, 0,
857 0, 0, 0, 0, 0, 0, 60, 60, 60, 0,
858 57, 0, 0, 58, 0, 57, 0, 60, 58, 59,
859 59, 59, 60, 0, 60, 0, 0, 0, 61, 61,
860 61, 0, 0, 0, 60, 59, 0, 59, 0, 0,
861 59, 0, 0, 59, 61, 0, 61, 59, 0, 60,
862 0, 0, 61, 0, 60, 0, 61, 62, 62, 62,
864 0, 0, 59, 63, 63, 63, 0, 59, 0, 0,
865 62, 61, 0, 62, 0, 62, 61, 0, 0, 63,
866 0, 63, 0, 63, 0, 62, 0, 0, 0, 0,
867 0, 63, 0, 0, 0, 0, 0, 0, 0, 0,
868 62, 0, 0, 0, 0, 62, 63, 0, 65, 65,
869 65, 63, 64, 64, 64, 66, 66, 66, 0, 64,
870 0, 0, 0, 0, 65, 64, 65, 0, 64, 0,
871 64, 66, 0, 66, 0, 0, 65, 66, 65, 0,
872 64, 0, 0, 66, 0, 0, 67, 67, 67, 0,
873 0, 65, 0, 0, 0, 64, 65, 0, 66, 0,
875 64, 0, 67, 66, 67, 70, 70, 70, 67, 71,
876 71, 71, 0, 0, 67, 0, 0, 0, 0, 0,
877 0, 70, 0, 70, 0, 71, 0, 71, 0, 67,
878 0, 0, 0, 70, 67, 0, 0, 71, 0, 0,
879 0, 0, 77, 77, 77, 0, 71, 0, 70, 0,
880 0, 70, 71, 70, 0, 77, 0, 71, 77, 0,
881 77, 78, 78, 78, 0, 79, 79, 79, 0, 0,
882 77, 0, 0, 0, 0, 0, 0, 78, 0, 78,
883 78, 79, 0, 79, 0, 77, 0, 79, 0, 78,
884 77, 0, 0, 79, 80, 80, 80, 0, 81, 81,
886 81, 0, 0, 0, 78, 0, 0, 0, 79, 78,
887 80, 80, 80, 79, 81, 0, 81, 0, 0, 0,
888 0, 0, 80, 81, 0, 0, 81, 82, 82, 82,
889 0, 0, 0, 83, 83, 83, 0, 80, 0, 0,
890 0, 81, 80, 82, 83, 82, 81, 0, 0, 83,
891 0, 83, 82, 0, 0, 82, 84, 84, 84, 0,
892 0, 83, 85, 85, 85, 0, 0, 0, 0, 0,
893 82, 0, 84, 0, 84, 82, 83, 84, 85, 0,
894 85, 83, 0, 85, 84, 86, 86, 86, 0, 0,
895 85, 87, 87, 87, 0, 0, 86, 0, 0, 84,
897 0, 86, 0, 86, 84, 85, 0, 87, 0, 87,
898 85, 0, 0, 86, 88, 88, 88, 87, 0, 87,
899 0, 0, 89, 89, 89, 0, 0, 0, 86, 0,
900 88, 0, 88, 86, 87, 0, 88, 0, 89, 87,
901 89, 0, 88, 90, 90, 90, 0, 0, 0, 0,
902 89, 91, 91, 91, 90, 0, 0, 88, 0, 90,
903 0, 90, 88, 0, 0, 89, 0, 91, 0, 91,
904 89, 90, 92, 92, 92, 91, 0, 0, 0, 91,
905 94, 94, 94, 0, 0, 0, 90, 0, 92, 0,
906 92, 90, 0, 0, 91, 92, 94, 0, 94, 91,
908 92, 95, 95, 95, 0, 0, 0, 0, 94, 102,
909 102, 102, 0, 0, 0, 92, 94, 95, 0, 95,
910 92, 0, 0, 94, 0, 102, 0, 102, 94, 95,
911 0, 0, 103, 103, 103, 0, 95, 102, 0, 0,
912 0, 0, 0, 0, 95, 104, 104, 104, 103, 95,
913 103, 103, 102, 105, 105, 105, 104, 102, 0, 0,
914 103, 104, 0, 104, 0, 0, 0, 0, 0, 105,
915 0, 105, 0, 104, 0, 103, 107, 107, 107, 0,
916 103, 105, 105, 0, 106, 106, 106, 0, 104, 0,
917 0, 0, 107, 104, 107, 0, 105, 107, 0, 0,
919 106, 105, 106, 0, 107, 108, 108, 108, 0, 106,
920 0, 0, 106, 0, 0, 0, 0, 0, 0, 107,
921 0, 108, 0, 108, 107, 0, 0, 106, 0, 108,
922 0, 0, 106, 108, 109, 109, 109, 0, 0, 0,
923 0, 110, 110, 110, 0, 111, 111, 111, 108, 0,
924 109, 0, 109, 108, 0, 0, 109, 110, 0, 110,
925 0, 111, 109, 111, 0, 0, 0, 0, 0, 110,
926 111, 0, 0, 111, 112, 112, 112, 109, 116, 116,
927 116, 0, 109, 0, 110, 113, 113, 113, 111, 110,
928 112, 0, 112, 111, 116, 0, 116, 112, 116, 0,
930 113, 113, 112, 113, 0, 0, 116, 114, 114, 114,
931 0, 0, 0, 113, 0, 0, 114, 112, 115, 115,
932 115, 116, 112, 114, 0, 114, 116, 0, 113, 115,
933 0, 0, 0, 113, 115, 114, 115, 0, 0, 0,
934 117, 117, 117, 0, 0, 0, 115, 118, 118, 118,
935 114, 120, 120, 120, 0, 114, 117, 0, 117, 0,
936 0, 115, 118, 118, 0, 118, 115, 120, 117, 120,
937 0, 0, 0, 0, 0, 118, 0, 0, 0, 120,
938 121, 121, 121, 117, 0, 0, 120, 0, 117, 0,
939 118, 130, 130, 130, 120, 118, 121, 0, 121, 120,
941 0, 0, 131, 131, 131, 0, 0, 130, 121, 130,
942 0, 0, 0, 131, 0, 132, 132, 132, 131, 130,
943 131, 0, 0, 121, 121, 0, 0, 0, 121, 0,
944 131, 132, 0, 132, 130, 0, 133, 133, 133, 130,
945 0, 0, 0, 132, 0, 131, 133, 0, 0, 0,
946 131, 0, 133, 0, 133, 134, 134, 134, 132, 135,
947 135, 135, 0, 132, 133, 0, 0, 0, 0, 0,
948 0, 134, 0, 134, 0, 135, 0, 135, 0, 133,
949 0, 0, 0, 134, 133, 0, 0, 135, 136, 136,
950 136, 0, 0, 0, 137, 137, 137, 0, 134, 0,
952 0, 0, 135, 134, 136, 0, 136, 135, 0, 136,
953 137, 0, 137, 0, 0, 0, 136, 0, 137, 0,
954 0, 0, 137, 138, 138, 138, 0, 0, 0, 0,
955 0, 136, 0, 0, 0, 0, 136, 137, 138, 138,
956 0, 138, 137, 0, 139, 139, 139, 140, 140, 140,
957 0, 138, 0, 0, 139, 0, 0, 0, 0, 0,
958 139, 140, 139, 140, 0, 140, 138, 0, 0, 0,
959 0, 138, 139, 0, 0, 140, 0, 0, 141, 141,
960 141, 0, 0, 0, 0, 0, 0, 139, 0, 0,
961 140, 0, 139, 0, 141, 140, 141, 141, 0, 142,
963 142, 142, 143, 143, 143, 0, 141, 0, 0, 0,
964 0, 142, 0, 0, 0, 142, 0, 142, 143, 0,
965 143, 141, 143, 144, 144, 144, 141, 142, 0, 0,
966 143, 0, 0, 0, 0, 0, 0, 0, 0, 144,
967 0, 144, 142, 0, 0, 143, 0, 142, 0, 0,
968 143, 144, 145, 145, 145, 145, 0, 0, 0, 154,
969 154, 154, 0, 155, 155, 155, 144, 144, 145, 154,
970 145, 144, 0, 0, 155, 154, 0, 154, 0, 155,
971 145, 155, 0, 0, 0, 0, 0, 154, 0, 0,
972 0, 155, 156, 156, 156, 145, 157, 157, 157, 0,
974 145, 0, 154, 158, 158, 158, 155, 154, 156, 0,
975 156, 155, 157, 0, 157, 0, 0, 0, 0, 158,
976 156, 158, 0, 0, 157, 159, 159, 159, 0, 0,
977 157, 158, 0, 158, 0, 156, 159, 0, 0, 157,
978 156, 159, 0, 159, 157, 0, 158, 160, 160, 160,
979 0, 158, 0, 159, 161, 161, 161, 0, 162, 162,
980 162, 0, 0, 160, 0, 160, 0, 0, 159, 0,
981 161, 0, 161, 159, 162, 160, 162, 0, 161, 0,
982 0, 160, 161, 0, 0, 0, 162, 0, 0, 0,
983 160, 0, 162, 0, 0, 160, 0, 161, 163, 163,
985 163, 162, 161, 0, 0, 0, 162, 164, 164, 164,
986 164, 174, 174, 174, 163, 0, 163, 163, 0, 0,
987 0, 0, 174, 164, 0, 164, 163, 174, 0, 174,
988 0, 0, 0, 0, 0, 164, 0, 0, 0, 174,
989 0, 163, 175, 175, 175, 0, 163, 0, 0, 0,
990 164, 176, 176, 176, 174, 164, 0, 0, 175, 174,
991 175, 0, 0, 176, 177, 177, 177, 176, 0, 176,
992 175, 0, 0, 0, 0, 177, 175, 0, 0, 176,
993 177, 0, 177, 0, 0, 175, 178, 178, 178, 0,
994 175, 0, 177, 0, 176, 179, 179, 179, 0, 176,
996 0, 0, 178, 0, 178, 179, 0, 177, 180, 180,
997 180, 179, 177, 179, 178, 0, 0, 181, 181, 181,
998 0, 0, 0, 179, 180, 0, 180, 0, 0, 178,
999 0, 181, 0, 181, 178, 181, 180, 0, 179, 182,
1000 182, 182, 0, 179, 0, 181, 0, 0, 190, 190,
1001 190, 180, 192, 192, 192, 182, 180, 182, 190, 0,
1002 181, 191, 191, 191, 190, 181, 190, 182, 192, 0,
1003 192, 0, 192, 191, 0, 0, 190, 191, 0, 191,
1004 192, 0, 182, 193, 193, 193, 0, 182, 0, 191,
1005 0, 190, 194, 194, 194, 192, 190, 0, 0, 193,
1007 192, 193, 0, 0, 191, 0, 0, 194, 194, 191,
1008 194, 193, 0, 0, 195, 195, 195, 0, 0, 0,
1009 194, 198, 198, 198, 0, 195, 193, 0, 0, 0,
1010 195, 193, 195, 0, 0, 194, 0, 198, 0, 198,
1011 194, 0, 195, 199, 199, 199, 0, 0, 0, 198,
1012 200, 200, 200, 0, 0, 0, 0, 195, 199, 199,
1013 0, 199, 195, 0, 198, 0, 200, 0, 200, 198,
1014 0, 199, 200, 0, 201, 201, 201, 0, 200, 0,
1015 0, 202, 202, 202, 0, 0, 199, 0, 202, 0,
1016 201, 199, 201, 200, 0, 0, 201, 202, 200, 202,
1018 0, 0, 201, 205, 205, 205, 0, 0, 0, 202,
1019 206, 206, 206, 0, 207, 207, 207, 201, 0, 205,
1020 205, 205, 201, 0, 202, 0, 206, 0, 206, 202,
1021 207, 205, 207, 0, 0, 0, 0, 0, 206, 0,
1022 0, 0, 207, 210, 210, 210, 205, 0, 0, 0,
1023 210, 205, 0, 206, 208, 208, 208, 207, 206, 210,
1024 0, 210, 207, 0, 208, 209, 209, 209, 0, 0,
1025 208, 210, 208, 0, 0, 0, 209, 0, 211, 211,
1026 211, 209, 208, 209, 0, 0, 210, 0, 0, 211,
1027 0, 210, 0, 209, 211, 0, 211, 208, 0, 212,
1029 212, 212, 208, 0, 0, 0, 211, 0, 209, 0,
1030 0, 0, 0, 209, 0, 212, 0, 212, 0, 0,
1031 0, 211, 213, 213, 213, 0, 211, 212, 0, 0,
1032 0, 0, 0, 214, 214, 214, 0, 0, 213, 0,
1033 213, 0, 212, 0, 0, 0, 213, 212, 0, 214,
1034 213, 214, 0, 0, 0, 214, 215, 215, 215, 0,
1035 0, 214, 216, 216, 216, 213, 0, 0, 0, 0,
1036 213, 0, 215, 0, 215, 0, 214, 0, 216, 0,
1037 216, 214, 0, 0, 215, 216, 0, 0, 0, 0,
1038 216, 217, 217, 217, 0, 0, 0, 0, 0, 215,
1040 0, 0, 0, 0, 215, 216, 0, 217, 0, 217,
1041 216, 0, 0, 0, 0, 0, 0, 0, 0, 217,
1042 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1043 0, 0, 0, 0, 217, 0, 0, 0, 0, 217,
1044 219, 219, 219, 221, 0, 221, 222, 0, 222, 218,
1045 218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
1046 218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
1047 218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
1048 218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
1049 218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
1051 218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
1052 218, 218, 218, 218, 218, 218
1055 /* Table of booleans, true if rule could match eol. */
1056 static yyconst flex_int32_t yy_rule_can_match_eol[51] =
1058 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1059 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1060 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, };
1062 static yy_state_type yy_last_accepting_state;
1063 static char *yy_last_accepting_cpos;
1065 extern int ld_flex_debug;
1066 int ld_flex_debug = 0;
1068 /* The intent behind this definition is that it'll catch
1069 * any uses of REJECT which flex missed.
1071 #define REJECT reject_used_but_not_detected
1072 #define yymore() yymore_used_but_not_detected
1073 #define YY_MORE_ADJ 0
1074 #define YY_RESTORE_YY_MORE_OFFSET
1078 /* Copyright (C) 2001, 2002, 2003, 2004, 2005, 2008 Red Hat, Inc.
1079 This file is part of elfutils.
1080 Written by Ulrich Drepper <drepper@redhat.com>, 2001.
1082 This file is free software; you can redistribute it and/or modify
1083 it under the terms of the GNU General Public License as published by
1084 the Free Software Foundation; either version 3 of the License, or
1085 (at your option) any later version.
1087 elfutils is distributed in the hope that it will be useful, but
1088 WITHOUT ANY WARRANTY; without even the implied warranty of
1089 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1090 GNU General Public License for more details.
1092 You should have received a copy of the GNU General Public License
1093 along with this program. If not, see <http://www.gnu.org/licenses/>. */
1095 #ifdef HAVE_CONFIG_H
1096 # include <config.h>
1103 #include <inttypes.h>
1104 #include <libintl.h>
1105 #include <stdbool.h>
1111 #include "ldscript.h"
1113 /* We sure use no threads to read the stream, so use the _unlocked
1114 variants of the functions. */
1116 #define getc(s) getc_unlocked (s)
1118 #define ferror(s) ferror_unlocked (s)
1120 #define fread(b, m, n, s) fread_unlocked (b, m, n, s)
1122 #define fwrite(b, m, n, s) fwrite_unlocked (b, m, n, s)
1124 /* ECHO must be redefined since the default implementation ignores
1125 the return value of fwrite_unlocked. */
1126 #define ECHO do { size_t n__ __attribute__ ((unused)) \
1127 = fwrite (ldtext, ldleng, 1, ldout); } while (0)
1129 /* Defined in ld.c. */
1130 extern int ld_scan_version_script;
1132 #define MAX_PREPDEPTH 20
1133 static enum prepstate
1138 } prepstate[MAX_PREPDEPTH];
1139 static int prepdepth;
1141 static void eat_comment (void);
1142 static void eat_to_eol (bool empty);
1143 static int attrib_convert (int c);
1144 static void push_state (enum prepstate);
1145 static int pop_state (void);
1146 static int handle_ifdef (void);
1147 static void invalid_char (int ch);
1149 #line 1150 "ldlex.c"
1154 #ifndef YY_NO_UNISTD_H
1155 /* Special case for "unistd.h", since it is non-ANSI. We include it way
1156 * down here because we want the user's section 1 to have been scanned first.
1157 * The user has a chance to override it with an option.
1162 #ifndef YY_EXTRA_TYPE
1163 #define YY_EXTRA_TYPE void *
1166 static int yy_init_globals (void );
1168 /* Accessor methods to globals.
1169 These are made visible to non-reentrant scanners for convenience. */
1171 int ldlex_destroy (void );
1173 int ldget_debug (void );
1175 void ldset_debug (int debug_flag );
1177 YY_EXTRA_TYPE ldget_extra (void );
1179 void ldset_extra (YY_EXTRA_TYPE user_defined );
1181 FILE *ldget_in (void );
1183 void ldset_in (FILE * in_str );
1185 FILE *ldget_out (void );
1187 void ldset_out (FILE * out_str );
1189 yy_size_t ldget_leng (void );
1191 char *ldget_text (void );
1193 int ldget_lineno (void );
1195 void ldset_lineno (int line_number );
1197 /* Macros after this point can all be overridden by user definitions in
1201 #ifndef YY_SKIP_YYWRAP
1203 extern "C" int ldwrap (void );
1205 extern int ldwrap (void );
1209 static void yyunput (int c,char *buf_ptr );
1212 static void yy_flex_strncpy (char *,yyconst char *,int );
1215 #ifdef YY_NEED_STRLEN
1216 static int yy_flex_strlen (yyconst char * );
1222 static int yyinput (void );
1224 static int input (void );
1229 /* Amount of stuff to slurp up with each read. */
1230 #ifndef YY_READ_BUF_SIZE
1231 #define YY_READ_BUF_SIZE 8192
1234 /* Copy whatever the last rule matched to the standard output. */
1236 /* This used to be an fputs(), but since the string might contain NUL's,
1237 * we now use fwrite().
1239 #define ECHO do { if (fwrite( ldtext, ldleng, 1, ldout )) {} } while (0)
1242 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1243 * is returned in "result".
1246 #define YY_INPUT(buf,result,max_size) \
1247 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1251 for ( n = 0; n < max_size && \
1252 (c = getc( ldin )) != EOF && c != '\n'; ++n ) \
1253 buf[n] = (char) c; \
1255 buf[n++] = (char) c; \
1256 if ( c == EOF && ferror( ldin ) ) \
1257 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1263 while ( (result = fread(buf, 1, max_size, ldin))==0 && ferror(ldin)) \
1265 if( errno != EINTR) \
1267 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1278 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1279 * we don't want an extra ';' after the "return" because that will cause
1280 * some compilers to complain about unreachable statements.
1283 #define yyterminate() return YY_NULL
1286 /* Number of entries by which start-condition stack grows. */
1287 #ifndef YY_START_STACK_INCR
1288 #define YY_START_STACK_INCR 25
1291 /* Report a fatal error. */
1292 #ifndef YY_FATAL_ERROR
1293 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1296 /* end tables serialization structures and prototypes */
1298 /* Default declaration of generated scanner - a define so the user can
1299 * easily add parameters.
1302 #define YY_DECL_IS_OURS 1
1304 extern int ldlex (void);
1306 #define YY_DECL int ldlex (void)
1307 #endif /* !YY_DECL */
1309 /* Code executed at the beginning of each rule, after ldtext and ldleng
1312 #ifndef YY_USER_ACTION
1313 #define YY_USER_ACTION
1316 /* Code executed at the end of each rule. */
1318 #define YY_BREAK break;
1321 #define YY_RULE_SETUP \
1323 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
1324 (ldtext[ldleng - 1] == '\n'); \
1327 /** The main scanner function which does all the work.
1331 register yy_state_type yy_current_state;
1332 register char *yy_cp, *yy_bp;
1333 register int yy_act;
1337 if (unlikely (ld_scan_version_script))
1339 ld_scan_version_script = -1;
1340 return kVERSION_SCRIPT;
1343 #line 1344 "ldlex.c"
1354 (yy_start) = 1; /* first start state */
1362 if ( ! YY_CURRENT_BUFFER ) {
1363 ldensure_buffer_stack ();
1364 YY_CURRENT_BUFFER_LVALUE =
1365 ld_create_buffer(ldin,YY_BUF_SIZE );
1368 ld_load_buffer_state( );
1371 while ( 1 ) /* loops until end-of-file is reached */
1373 yy_cp = (yy_c_buf_p);
1375 /* Support of ldtext. */
1376 *yy_cp = (yy_hold_char);
1378 /* yy_bp points to the position in yy_ch_buf of the start of
1383 yy_current_state = (yy_start);
1384 yy_current_state += YY_AT_BOL();
1388 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1389 if ( yy_accept[yy_current_state] )
1391 (yy_last_accepting_state) = yy_current_state;
1392 (yy_last_accepting_cpos) = yy_cp;
1394 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1396 yy_current_state = (int) yy_def[yy_current_state];
1397 if ( yy_current_state >= 219 )
1398 yy_c = yy_meta[(unsigned int) yy_c];
1400 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1403 while ( yy_current_state != 218 );
1404 yy_cp = (yy_last_accepting_cpos);
1405 yy_current_state = (yy_last_accepting_state);
1408 yy_act = yy_accept[yy_current_state];
1410 YY_DO_BEFORE_ACTION;
1412 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
1415 for ( yyl = 0; yyl < ldleng; ++yyl )
1416 if ( ldtext[yyl] == '\n' )
1422 do_action: /* This label is used only to access EOF actions. */
1425 { /* beginning of action switch */
1426 case 0: /* must back up */
1427 /* undo the effects of YY_DO_BEFORE_ACTION */
1428 *yy_cp = (yy_hold_char);
1429 yy_cp = (yy_last_accepting_cpos);
1430 yy_current_state = (yy_last_accepting_state);
1431 goto yy_find_action;
1434 /* rule 1 can match eol */
1435 *yy_cp = (yy_hold_char); /* undo effects of setting up ldtext */
1436 (yy_c_buf_p) = yy_cp = yy_bp + 6;
1437 YY_DO_BEFORE_ACTION; /* set up ldtext again */
1440 { BEGIN (handle_ifdef ()); }
1443 /* rule 2 can match eol */
1444 *yy_cp = (yy_hold_char); /* undo effects of setting up ldtext */
1445 (yy_c_buf_p) = yy_cp = yy_bp + 5;
1446 YY_DO_BEFORE_ACTION; /* set up ldtext again */
1449 { eat_to_eol (true);
1450 push_state (skip_to_endif);
1454 /* rule 3 can match eol */
1455 *yy_cp = (yy_hold_char); /* undo effects of setting up ldtext */
1456 (yy_c_buf_p) = yy_cp = yy_bp + 8;
1457 YY_DO_BEFORE_ACTION; /* set up ldtext again */
1460 { eat_to_eol (false);
1461 push_state (skip_to_endif);
1465 /* rule 4 can match eol */
1466 *yy_cp = (yy_hold_char); /* undo effects of setting up ldtext */
1467 (yy_c_buf_p) = yy_cp = yy_bp + 6;
1468 YY_DO_BEFORE_ACTION; /* set up ldtext again */
1471 { eat_to_eol (true) ; }
1474 /* rule 5 can match eol */
1475 *yy_cp = (yy_hold_char); /* undo effects of setting up ldtext */
1476 (yy_c_buf_p) = yy_cp = yy_bp + 6;
1477 YY_DO_BEFORE_ACTION; /* set up ldtext again */
1480 { eat_to_eol (false);
1481 push_state (skip_to_endif); }
1484 /* rule 6 can match eol */
1485 *yy_cp = (yy_hold_char); /* undo effects of setting up ldtext */
1486 (yy_c_buf_p) = yy_cp = yy_bp + 5;
1487 YY_DO_BEFORE_ACTION; /* set up ldtext again */
1490 { eat_to_eol (true);
1491 assert (prepdepth > 0);
1492 if (prepstate[prepdepth - 1] == skip_if)
1494 /* Back to normal processing. */
1495 assert (prepdepth == 1);
1496 BEGIN (pop_state ());
1501 /* rule 7 can match eol */
1502 *yy_cp = (yy_hold_char); /* undo effects of setting up ldtext */
1503 (yy_c_buf_p) = yy_cp = yy_bp + 8;
1504 YY_DO_BEFORE_ACTION; /* set up ldtext again */
1507 { assert (prepdepth > 0);
1508 if (prepstate[prepdepth - 1] == skip_if)
1510 /* Maybe this symbol is defined. */
1512 BEGIN (handle_ifdef ());
1517 /* rule 8 can match eol */
1518 *yy_cp = (yy_hold_char); /* undo effects of setting up ldtext */
1519 (yy_c_buf_p) = yy_cp = yy_bp + 6;
1520 YY_DO_BEFORE_ACTION; /* set up ldtext again */
1523 { eat_to_eol (true);
1524 BEGIN (pop_state ()); }
1527 /* rule 9 can match eol */
1545 { return kAS_NEEDED; }
1555 { return kEXCLUDE_FILE; }
1590 { return kOUTPUT_FORMAT; }
1595 { return kPAGESIZE; }
1600 { return kPROVIDE; }
1605 { return kSEARCH_DIR; }
1610 { return kSEGMENT; }
1615 { return kSIZEOF_HEADERS; }
1625 { return kVERSION; }
1632 while (cnt < ldleng - 1)
1633 ldlval.num |= attrib_convert (ldtext[cnt++]);
1674 { ldlval.op = exp_plus; return kADD_OP; }
1679 { ldlval.op = exp_minus; return kADD_OP; }
1689 { ldlval.op = exp_div; return kMUL_OP; }
1694 { ldlval.op = exp_mod; return kMUL_OP; }
1715 ldlval.num = strtoumax (ldtext, &endp, 0);
1718 if (tolower (*endp) == 'k')
1722 assert (tolower (*endp) == 'm');
1723 ldlval.num *= 1024 * 1024;
1731 { ldlval.str = obstack_strndup (&ld_state.smem,
1738 { ldlval.str = obstack_strndup (&ld_state.smem,
1743 /* rule 48 can match eol */
1751 { invalid_char (*ldtext); }
1758 #line 1759 "ldlex.c"
1759 case YY_STATE_EOF(INITIAL):
1760 case YY_STATE_EOF(IGNORE):
1763 case YY_END_OF_BUFFER:
1765 /* Amount of text matched not including the EOB char. */
1766 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
1768 /* Undo the effects of YY_DO_BEFORE_ACTION. */
1769 *yy_cp = (yy_hold_char);
1770 YY_RESTORE_YY_MORE_OFFSET
1772 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
1774 /* We're scanning a new file or input source. It's
1775 * possible that this happened because the user
1776 * just pointed ldin at a new source and called
1777 * ldlex(). If so, then we have to assure
1778 * consistency between YY_CURRENT_BUFFER and our
1779 * globals. Here is the right place to do so, because
1780 * this is the first action (other than possibly a
1781 * back-up) that will match for the new input source.
1783 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
1784 YY_CURRENT_BUFFER_LVALUE->yy_input_file = ldin;
1785 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
1788 /* Note that here we test for yy_c_buf_p "<=" to the position
1789 * of the first EOB in the buffer, since yy_c_buf_p will
1790 * already have been incremented past the NUL character
1791 * (since all states make transitions on EOB to the
1792 * end-of-buffer state). Contrast this with the test
1795 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
1796 { /* This was really a NUL. */
1797 yy_state_type yy_next_state;
1799 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
1801 yy_current_state = yy_get_previous_state( );
1803 /* Okay, we're now positioned to make the NUL
1804 * transition. We couldn't have
1805 * yy_get_previous_state() go ahead and do it
1806 * for us because it doesn't know how to deal
1807 * with the possibility of jamming (and we don't
1808 * want to build jamming into it because then it
1809 * will run more slowly).
1812 yy_next_state = yy_try_NUL_trans( yy_current_state );
1814 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
1816 if ( yy_next_state )
1818 /* Consume the NUL. */
1819 yy_cp = ++(yy_c_buf_p);
1820 yy_current_state = yy_next_state;
1826 yy_cp = (yy_last_accepting_cpos);
1827 yy_current_state = (yy_last_accepting_state);
1828 goto yy_find_action;
1832 else switch ( yy_get_next_buffer( ) )
1834 case EOB_ACT_END_OF_FILE:
1836 (yy_did_buffer_switch_on_eof) = 0;
1840 /* Note: because we've taken care in
1841 * yy_get_next_buffer() to have set up
1842 * ldtext, we can now set up
1843 * yy_c_buf_p so that if some total
1844 * hoser (like flex itself) wants to
1845 * call the scanner after we return the
1846 * YY_NULL, it'll still work - another
1847 * YY_NULL will get returned.
1849 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
1851 yy_act = YY_STATE_EOF(YY_START);
1857 if ( ! (yy_did_buffer_switch_on_eof) )
1863 case EOB_ACT_CONTINUE_SCAN:
1865 (yytext_ptr) + yy_amount_of_matched_text;
1867 yy_current_state = yy_get_previous_state( );
1869 yy_cp = (yy_c_buf_p);
1870 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
1873 case EOB_ACT_LAST_MATCH:
1875 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
1877 yy_current_state = yy_get_previous_state( );
1879 yy_cp = (yy_c_buf_p);
1880 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
1881 goto yy_find_action;
1888 "fatal flex scanner internal error--no action found" );
1889 } /* end of action switch */
1890 } /* end of scanning one token */
1891 } /* end of ldlex */
1893 /* yy_get_next_buffer - try to read in a new buffer
1895 * Returns a code representing an action:
1896 * EOB_ACT_LAST_MATCH -
1897 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
1898 * EOB_ACT_END_OF_FILE - end of file
1900 static int yy_get_next_buffer (void)
1902 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
1903 register char *source = (yytext_ptr);
1904 register int number_to_move, i;
1907 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
1909 "fatal flex scanner internal error--end of buffer missed" );
1911 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
1912 { /* Don't try to fill the buffer, so this is an EOF. */
1913 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
1915 /* We matched a single character, the EOB, so
1916 * treat this as a final EOF.
1918 return EOB_ACT_END_OF_FILE;
1923 /* We matched some text prior to the EOB, first
1926 return EOB_ACT_LAST_MATCH;
1930 /* Try to read more data. */
1932 /* First move last chars to start of buffer. */
1933 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
1935 for ( i = 0; i < number_to_move; ++i )
1936 *(dest++) = *(source++);
1938 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
1939 /* don't do the read, it's not guaranteed to return an EOF,
1942 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
1946 yy_size_t num_to_read =
1947 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
1949 while ( num_to_read <= 0 )
1950 { /* Not enough room in the buffer - grow it. */
1952 /* just a shorter name for the current buffer */
1953 YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
1955 int yy_c_buf_p_offset =
1956 (int) ((yy_c_buf_p) - b->yy_ch_buf);
1958 if ( b->yy_is_our_buffer )
1960 yy_size_t new_size = b->yy_buf_size * 2;
1962 if ( new_size <= 0 )
1963 b->yy_buf_size += b->yy_buf_size / 8;
1965 b->yy_buf_size *= 2;
1967 b->yy_ch_buf = (char *)
1968 /* Include room in for 2 EOB chars. */
1969 ldrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
1972 /* Can't grow it, we don't own it. */
1975 if ( ! b->yy_ch_buf )
1977 "fatal error - scanner input buffer overflow" );
1979 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
1981 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
1986 if ( num_to_read > YY_READ_BUF_SIZE )
1987 num_to_read = YY_READ_BUF_SIZE;
1989 /* Read in more data. */
1990 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
1991 (yy_n_chars), num_to_read );
1993 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
1996 if ( (yy_n_chars) == 0 )
1998 if ( number_to_move == YY_MORE_ADJ )
2000 ret_val = EOB_ACT_END_OF_FILE;
2006 ret_val = EOB_ACT_LAST_MATCH;
2007 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
2008 YY_BUFFER_EOF_PENDING;
2013 ret_val = EOB_ACT_CONTINUE_SCAN;
2015 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
2016 /* Extend the array by 50%, plus the number we really need. */
2017 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
2018 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) ldrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
2019 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
2020 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
2023 (yy_n_chars) += number_to_move;
2024 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
2025 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
2027 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
2032 /* yy_get_previous_state - get the state just before the EOB char was reached */
2034 static yy_state_type yy_get_previous_state (void)
2036 register yy_state_type yy_current_state;
2037 register char *yy_cp;
2039 yy_current_state = (yy_start);
2040 yy_current_state += YY_AT_BOL();
2042 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
2044 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2045 if ( yy_accept[yy_current_state] )
2047 (yy_last_accepting_state) = yy_current_state;
2048 (yy_last_accepting_cpos) = yy_cp;
2050 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2052 yy_current_state = (int) yy_def[yy_current_state];
2053 if ( yy_current_state >= 219 )
2054 yy_c = yy_meta[(unsigned int) yy_c];
2056 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2059 return yy_current_state;
2062 /* yy_try_NUL_trans - try to make a transition on the NUL character
2065 * next_state = yy_try_NUL_trans( current_state );
2067 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
2069 register int yy_is_jam;
2070 register char *yy_cp = (yy_c_buf_p);
2072 register YY_CHAR yy_c = 1;
2073 if ( yy_accept[yy_current_state] )
2075 (yy_last_accepting_state) = yy_current_state;
2076 (yy_last_accepting_cpos) = yy_cp;
2078 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2080 yy_current_state = (int) yy_def[yy_current_state];
2081 if ( yy_current_state >= 219 )
2082 yy_c = yy_meta[(unsigned int) yy_c];
2084 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2085 yy_is_jam = (yy_current_state == 218);
2087 return yy_is_jam ? 0 : yy_current_state;
2090 static void yyunput (int c, register char * yy_bp )
2092 register char *yy_cp;
2094 yy_cp = (yy_c_buf_p);
2096 /* undo effects of setting up ldtext */
2097 *yy_cp = (yy_hold_char);
2099 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
2100 { /* need to shift things up to make room */
2101 /* +2 for EOB chars. */
2102 register yy_size_t number_to_move = (yy_n_chars) + 2;
2103 register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
2104 YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
2105 register char *source =
2106 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
2108 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
2109 *--dest = *--source;
2111 yy_cp += (int) (dest - source);
2112 yy_bp += (int) (dest - source);
2113 YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
2114 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
2116 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
2117 YY_FATAL_ERROR( "flex scanner push-back overflow" );
2120 *--yy_cp = (char) c;
2126 (yytext_ptr) = yy_bp;
2127 (yy_hold_char) = *yy_cp;
2128 (yy_c_buf_p) = yy_cp;
2133 static int yyinput (void)
2135 static int input (void)
2141 *(yy_c_buf_p) = (yy_hold_char);
2143 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
2145 /* yy_c_buf_p now points to the character we want to return.
2146 * If this occurs *before* the EOB characters, then it's a
2147 * valid NUL; if not, then we've hit the end of the buffer.
2149 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2150 /* This was really a NUL. */
2151 *(yy_c_buf_p) = '\0';
2154 { /* need more input */
2155 yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
2158 switch ( yy_get_next_buffer( ) )
2160 case EOB_ACT_LAST_MATCH:
2161 /* This happens because yy_g_n_b()
2162 * sees that we've accumulated a
2163 * token and flags that we need to
2164 * try matching the token before
2165 * proceeding. But for input(),
2166 * there's no matching to consider.
2167 * So convert the EOB_ACT_LAST_MATCH
2168 * to EOB_ACT_END_OF_FILE.
2171 /* Reset buffer status. */
2176 case EOB_ACT_END_OF_FILE:
2181 if ( ! (yy_did_buffer_switch_on_eof) )
2190 case EOB_ACT_CONTINUE_SCAN:
2191 (yy_c_buf_p) = (yytext_ptr) + offset;
2197 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
2198 *(yy_c_buf_p) = '\0'; /* preserve ldtext */
2199 (yy_hold_char) = *++(yy_c_buf_p);
2201 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
2202 if ( YY_CURRENT_BUFFER_LVALUE->yy_at_bol )
2209 #endif /* ifndef YY_NO_INPUT */
2211 /** Immediately switch to a different input stream.
2212 * @param input_file A readable stream.
2214 * @note This function does not reset the start condition to @c INITIAL .
2216 void ldrestart (FILE * input_file )
2219 if ( ! YY_CURRENT_BUFFER ){
2220 ldensure_buffer_stack ();
2221 YY_CURRENT_BUFFER_LVALUE =
2222 ld_create_buffer(ldin,YY_BUF_SIZE );
2225 ld_init_buffer(YY_CURRENT_BUFFER,input_file );
2226 ld_load_buffer_state( );
2229 /** Switch to a different input buffer.
2230 * @param new_buffer The new input buffer.
2233 void ld_switch_to_buffer (YY_BUFFER_STATE new_buffer )
2236 /* TODO. We should be able to replace this entire function body
2238 * ldpop_buffer_state();
2239 * ldpush_buffer_state(new_buffer);
2241 ldensure_buffer_stack ();
2242 if ( YY_CURRENT_BUFFER == new_buffer )
2245 if ( YY_CURRENT_BUFFER )
2247 /* Flush out information for old buffer. */
2248 *(yy_c_buf_p) = (yy_hold_char);
2249 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
2250 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2253 YY_CURRENT_BUFFER_LVALUE = new_buffer;
2254 ld_load_buffer_state( );
2256 /* We don't actually know whether we did this switch during
2257 * EOF (ldwrap()) processing, but the only time this flag
2258 * is looked at is after ldwrap() is called, so it's safe
2259 * to go ahead and always set it.
2261 (yy_did_buffer_switch_on_eof) = 1;
2264 static void ld_load_buffer_state (void)
2266 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2267 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
2268 ldin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
2269 (yy_hold_char) = *(yy_c_buf_p);
2272 /** Allocate and initialize an input buffer state.
2273 * @param file A readable stream.
2274 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
2276 * @return the allocated buffer state.
2278 YY_BUFFER_STATE ld_create_buffer (FILE * file, int size )
2282 b = (YY_BUFFER_STATE) ldalloc(sizeof( struct yy_buffer_state ) );
2284 YY_FATAL_ERROR( "out of dynamic memory in ld_create_buffer()" );
2286 b->yy_buf_size = size;
2288 /* yy_ch_buf has to be 2 characters longer than the size given because
2289 * we need to put in 2 end-of-buffer characters.
2291 b->yy_ch_buf = (char *) ldalloc(b->yy_buf_size + 2 );
2292 if ( ! b->yy_ch_buf )
2293 YY_FATAL_ERROR( "out of dynamic memory in ld_create_buffer()" );
2295 b->yy_is_our_buffer = 1;
2297 ld_init_buffer(b,file );
2302 /** Destroy the buffer.
2303 * @param b a buffer created with ld_create_buffer()
2306 void ld_delete_buffer (YY_BUFFER_STATE b )
2312 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
2313 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
2315 if ( b->yy_is_our_buffer )
2316 ldfree((void *) b->yy_ch_buf );
2318 ldfree((void *) b );
2321 /* Initializes or reinitializes a buffer.
2322 * This function is sometimes called more than once on the same buffer,
2323 * such as during a ldrestart() or at EOF.
2325 static void ld_init_buffer (YY_BUFFER_STATE b, FILE * file )
2330 ld_flush_buffer(b );
2332 b->yy_input_file = file;
2333 b->yy_fill_buffer = 1;
2335 /* If b is the current buffer, then ld_init_buffer was _probably_
2336 * called from ldrestart() or through yy_get_next_buffer.
2337 * In that case, we don't want to reset the lineno or column.
2339 if (b != YY_CURRENT_BUFFER){
2340 b->yy_bs_lineno = 1;
2341 b->yy_bs_column = 0;
2344 b->yy_is_interactive = 0;
2349 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
2350 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
2353 void ld_flush_buffer (YY_BUFFER_STATE b )
2360 /* We always need two end-of-buffer characters. The first causes
2361 * a transition to the end-of-buffer state. The second causes
2362 * a jam in that state.
2364 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2365 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2367 b->yy_buf_pos = &b->yy_ch_buf[0];
2370 b->yy_buffer_status = YY_BUFFER_NEW;
2372 if ( b == YY_CURRENT_BUFFER )
2373 ld_load_buffer_state( );
2376 /** Pushes the new state onto the stack. The new state becomes
2377 * the current state. This function will allocate the stack
2379 * @param new_buffer The new state.
2382 void ldpush_buffer_state (YY_BUFFER_STATE new_buffer )
2384 if (new_buffer == NULL)
2387 ldensure_buffer_stack();
2389 /* This block is copied from ld_switch_to_buffer. */
2390 if ( YY_CURRENT_BUFFER )
2392 /* Flush out information for old buffer. */
2393 *(yy_c_buf_p) = (yy_hold_char);
2394 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
2395 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2398 /* Only push if top exists. Otherwise, replace top. */
2399 if (YY_CURRENT_BUFFER)
2400 (yy_buffer_stack_top)++;
2401 YY_CURRENT_BUFFER_LVALUE = new_buffer;
2403 /* copied from ld_switch_to_buffer. */
2404 ld_load_buffer_state( );
2405 (yy_did_buffer_switch_on_eof) = 1;
2408 /** Removes and deletes the top of the stack, if present.
2409 * The next element becomes the new top.
2412 void ldpop_buffer_state (void)
2414 if (!YY_CURRENT_BUFFER)
2417 ld_delete_buffer(YY_CURRENT_BUFFER );
2418 YY_CURRENT_BUFFER_LVALUE = NULL;
2419 if ((yy_buffer_stack_top) > 0)
2420 --(yy_buffer_stack_top);
2422 if (YY_CURRENT_BUFFER) {
2423 ld_load_buffer_state( );
2424 (yy_did_buffer_switch_on_eof) = 1;
2428 /* Allocates the stack if it does not exist.
2429 * Guarantees space for at least one push.
2431 static void ldensure_buffer_stack (void)
2433 yy_size_t num_to_alloc;
2435 if (!(yy_buffer_stack)) {
2437 /* First allocation is just for 2 elements, since we don't know if this
2438 * scanner will even need a stack. We use 2 instead of 1 to avoid an
2439 * immediate realloc on the next call.
2442 (yy_buffer_stack) = (struct yy_buffer_state**)ldalloc
2443 (num_to_alloc * sizeof(struct yy_buffer_state*)
2445 if ( ! (yy_buffer_stack) )
2446 YY_FATAL_ERROR( "out of dynamic memory in ldensure_buffer_stack()" );
2448 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
2450 (yy_buffer_stack_max) = num_to_alloc;
2451 (yy_buffer_stack_top) = 0;
2455 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
2457 /* Increase the buffer to prepare for a possible push. */
2458 int grow_size = 8 /* arbitrary grow size */;
2460 num_to_alloc = (yy_buffer_stack_max) + grow_size;
2461 (yy_buffer_stack) = (struct yy_buffer_state**)ldrealloc
2463 num_to_alloc * sizeof(struct yy_buffer_state*)
2465 if ( ! (yy_buffer_stack) )
2466 YY_FATAL_ERROR( "out of dynamic memory in ldensure_buffer_stack()" );
2468 /* zero only the new slots.*/
2469 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
2470 (yy_buffer_stack_max) = num_to_alloc;
2474 /** Setup the input buffer state to scan directly from a user-specified character buffer.
2475 * @param base the character buffer
2476 * @param size the size in bytes of the character buffer
2478 * @return the newly allocated buffer state object.
2480 YY_BUFFER_STATE ld_scan_buffer (char * base, yy_size_t size )
2485 base[size-2] != YY_END_OF_BUFFER_CHAR ||
2486 base[size-1] != YY_END_OF_BUFFER_CHAR )
2487 /* They forgot to leave room for the EOB's. */
2490 b = (YY_BUFFER_STATE) ldalloc(sizeof( struct yy_buffer_state ) );
2492 YY_FATAL_ERROR( "out of dynamic memory in ld_scan_buffer()" );
2494 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
2495 b->yy_buf_pos = b->yy_ch_buf = base;
2496 b->yy_is_our_buffer = 0;
2497 b->yy_input_file = 0;
2498 b->yy_n_chars = b->yy_buf_size;
2499 b->yy_is_interactive = 0;
2501 b->yy_fill_buffer = 0;
2502 b->yy_buffer_status = YY_BUFFER_NEW;
2504 ld_switch_to_buffer(b );
2509 /** Setup the input buffer state to scan a string. The next call to ldlex() will
2510 * scan from a @e copy of @a str.
2511 * @param yystr a NUL-terminated string to scan
2513 * @return the newly allocated buffer state object.
2514 * @note If you want to scan bytes that may contain NUL values, then use
2515 * ld_scan_bytes() instead.
2517 YY_BUFFER_STATE ld_scan_string (yyconst char * yystr )
2520 return ld_scan_bytes(yystr,strlen(yystr) );
2523 /** Setup the input buffer state to scan the given bytes. The next call to ldlex() will
2524 * scan from a @e copy of @a bytes.
2525 * @param yybytes the byte buffer to scan
2526 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
2528 * @return the newly allocated buffer state object.
2530 YY_BUFFER_STATE ld_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len )
2537 /* Get memory for full buffer, including space for trailing EOB's. */
2538 n = _yybytes_len + 2;
2539 buf = (char *) ldalloc(n );
2541 YY_FATAL_ERROR( "out of dynamic memory in ld_scan_bytes()" );
2543 for ( i = 0; i < _yybytes_len; ++i )
2544 buf[i] = yybytes[i];
2546 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
2548 b = ld_scan_buffer(buf,n );
2550 YY_FATAL_ERROR( "bad buffer in ld_scan_bytes()" );
2552 /* It's okay to grow etc. this buffer, and we should throw it
2553 * away when we're done.
2555 b->yy_is_our_buffer = 1;
2560 #ifndef YY_EXIT_FAILURE
2561 #define YY_EXIT_FAILURE 2
2564 static void yy_fatal_error (yyconst char* msg )
2566 (void) fprintf( stderr, "%s\n", msg );
2567 exit( YY_EXIT_FAILURE );
2570 /* Redefine yyless() so it works in section 3 code. */
2576 /* Undo effects of setting up ldtext. */ \
2577 int yyless_macro_arg = (n); \
2578 YY_LESS_LINENO(yyless_macro_arg);\
2579 ldtext[ldleng] = (yy_hold_char); \
2580 (yy_c_buf_p) = ldtext + yyless_macro_arg; \
2581 (yy_hold_char) = *(yy_c_buf_p); \
2582 *(yy_c_buf_p) = '\0'; \
2583 ldleng = yyless_macro_arg; \
2587 /* Accessor methods (get/set functions) to struct members. */
2589 /** Get the current line number.
2592 int ldget_lineno (void)
2598 /** Get the input stream.
2601 FILE *ldget_in (void)
2606 /** Get the output stream.
2609 FILE *ldget_out (void)
2614 /** Get the length of the current token.
2617 yy_size_t ldget_leng (void)
2622 /** Get the current token.
2626 char *ldget_text (void)
2631 /** Set the current line number.
2632 * @param line_number
2635 void ldset_lineno (int line_number )
2638 ldlineno = line_number;
2641 /** Set the input stream. This does not discard the current
2643 * @param in_str A readable stream.
2645 * @see ld_switch_to_buffer
2647 void ldset_in (FILE * in_str )
2652 void ldset_out (FILE * out_str )
2657 int ldget_debug (void)
2659 return ld_flex_debug;
2662 void ldset_debug (int bdebug )
2664 ld_flex_debug = bdebug ;
2667 static int yy_init_globals (void)
2669 /* Initialization is the same as for the non-reentrant scanner.
2670 * This function is called from ldlex_destroy(), so don't allocate here.
2673 /* We do not touch ldlineno unless the option is enabled. */
2676 (yy_buffer_stack) = 0;
2677 (yy_buffer_stack_top) = 0;
2678 (yy_buffer_stack_max) = 0;
2679 (yy_c_buf_p) = (char *) 0;
2683 /* Defined in main.c */
2692 /* For future reference: Set errno on error, since we are called by
2698 /* ldlex_destroy is for both reentrant and non-reentrant scanners. */
2699 int ldlex_destroy (void)
2702 /* Pop the buffer stack, destroying each element. */
2703 while(YY_CURRENT_BUFFER){
2704 ld_delete_buffer(YY_CURRENT_BUFFER );
2705 YY_CURRENT_BUFFER_LVALUE = NULL;
2706 ldpop_buffer_state();
2709 /* Destroy the stack itself. */
2710 ldfree((yy_buffer_stack) );
2711 (yy_buffer_stack) = NULL;
2713 /* Reset the globals. This is important in a non-reentrant scanner so the next time
2714 * ldlex() is called, initialization will occur. */
2721 * Internal utility routines.
2725 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
2728 for ( i = 0; i < n; ++i )
2733 #ifdef YY_NEED_STRLEN
2734 static int yy_flex_strlen (yyconst char * s )
2737 for ( n = 0; s[n]; ++n )
2744 void *ldalloc (yy_size_t size )
2746 return (void *) malloc( size );
2749 void *ldrealloc (void * ptr, yy_size_t size )
2751 /* The cast to (char *) in the following accommodates both
2752 * implementations that use char* generic pointers, and those
2753 * that use void* generic pointers. It works with the latter
2754 * because both ANSI C and C++ allow castless assignment from
2755 * any pointer type to void*, and deal with argument conversions
2756 * as though doing an assignment.
2758 return (void *) realloc( (char *) ptr, size );
2761 void ldfree (void * ptr )
2763 free( (char *) ptr ); /* see ldrealloc() for (char *) cast */
2766 #define YYTABLES_NAME "yytables"
2779 while (c != '*' && c != EOF)
2793 /* XXX Use the setjmp buffer and signal EOF in comment */
2794 error (0, 0, gettext ("EOF in comment"));
2802 eat_to_eol (bool empty)
2804 bool warned = false;
2818 if (empty && ! isspace (c) && ! warned)
2820 error (0, 0, gettext ("%d: garbage at end of line"), ldlineno);
2828 attrib_convert (int c)
2840 push_state (enum prepstate state)
2842 if (prepdepth >= MAX_PREPDEPTH)
2843 error (EXIT_FAILURE, 0, gettext ("%d: conditionals nested too deep"),
2846 prepstate[prepdepth++] = state;
2854 error (0, 0, gettext ("%d: unexpected #endif"), ldlineno);
2858 return prepdepth == 0 ? INITIAL : IGNORE;
2868 size_t idmax = sizeof (idbuf);
2869 bool ignore_ws = true;
2870 bool defined = false;
2877 if (isspace (c) && ignore_ws)
2880 if (c != '_' && (c < 'a' || c > 'z') && (c < 'A' || c > 'Z')
2881 && (idlen == 0 || c < '0' || c > '9'))
2889 char *newp = (char *) alloca (idmax *= 2);
2890 id = memcpy (newp, id, idlen);
2897 /* XXX Compare in a better way. */
2898 if (idlen == 6 && strncmp (id, "SHARED", 6) == 0)
2899 defined = ld_state.file_type == dso_file_type;
2905 push_state (skip_if);
2914 invalid_char (int ch)
2916 error (0, 0, (isascii (ch)
2917 ? gettext ("invalid character '%c' at line %d; ignored")
2918 : gettext ("invalid character '\\%o' at line %d; ignored")),