source: branches/libc-0.6/src/binutils/ld/ldlex.c

Last change on this file was 610, checked in by bird, 22 years ago

This commit was generated by cvs2svn to compensate for changes in r609,
which included commits to RCS files with non-trunk default branches.

  • Property cvs2svn:cvs-rev set to 1.1.1.2
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 113.7 KB
Line 
1
2#line 3 "lex.yy.c"
3
4#define YY_INT_ALIGNED short int
5
6/* A lexical scanner generated by flex */
7
8#define FLEX_SCANNER
9#define YY_FLEX_MAJOR_VERSION 2
10#define YY_FLEX_MINOR_VERSION 5
11#define YY_FLEX_SUBMINOR_VERSION 31
12#if YY_FLEX_SUBMINOR_VERSION > 0
13#define FLEX_BETA
14#endif
15
16/* First, we deal with platform-specific or compiler-specific issues. */
17
18/* begin standard C headers. */
19#include <stdio.h>
20#include <string.h>
21#include <errno.h>
22#include <stdlib.h>
23
24/* end standard C headers. */
25
26/* flex integer type definitions */
27
28#ifndef FLEXINT_H
29#define FLEXINT_H
30
31/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
32
33#if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
34#include <inttypes.h>
35typedef int8_t flex_int8_t;
36typedef uint8_t flex_uint8_t;
37typedef int16_t flex_int16_t;
38typedef uint16_t flex_uint16_t;
39typedef int32_t flex_int32_t;
40typedef uint32_t flex_uint32_t;
41#else
42typedef signed char flex_int8_t;
43typedef short int flex_int16_t;
44typedef int flex_int32_t;
45typedef unsigned char flex_uint8_t;
46typedef unsigned short int flex_uint16_t;
47typedef unsigned int flex_uint32_t;
48#endif /* ! C99 */
49
50/* Limits of integral types. */
51#ifndef INT8_MIN
52#define INT8_MIN (-128)
53#endif
54#ifndef INT16_MIN
55#define INT16_MIN (-32767-1)
56#endif
57#ifndef INT32_MIN
58#define INT32_MIN (-2147483647-1)
59#endif
60#ifndef INT8_MAX
61#define INT8_MAX (127)
62#endif
63#ifndef INT16_MAX
64#define INT16_MAX (32767)
65#endif
66#ifndef INT32_MAX
67#define INT32_MAX (2147483647)
68#endif
69#ifndef UINT8_MAX
70#define UINT8_MAX (255U)
71#endif
72#ifndef UINT16_MAX
73#define UINT16_MAX (65535U)
74#endif
75#ifndef UINT32_MAX
76#define UINT32_MAX (4294967295U)
77#endif
78
79#endif /* ! FLEXINT_H */
80
81#ifdef __cplusplus
82
83/* The "const" storage-class-modifier is valid. */
84#define YY_USE_CONST
85
86#else /* ! __cplusplus */
87
88#if __STDC__
89
90#define YY_USE_CONST
91
92#endif /* __STDC__ */
93#endif /* ! __cplusplus */
94
95#ifdef YY_USE_CONST
96#define yyconst const
97#else
98#define yyconst
99#endif
100
101/* Returned upon end-of-file. */
102#define YY_NULL 0
103
104/* Promotes a possibly negative, possibly signed char to an unsigned
105 * integer for use as an array index. If the signed char is negative,
106 * we want to instead treat it as an 8-bit unsigned char, hence the
107 * double cast.
108 */
109#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
110
111/* Enter a start condition. This macro really ought to take a parameter,
112 * but we do it the disgusting crufty way forced on us by the ()-less
113 * definition of BEGIN.
114 */
115#define BEGIN (yy_start) = 1 + 2 *
116
117/* Translate the current start state into a value that can be later handed
118 * to BEGIN to return to the state. The YYSTATE alias is for lex
119 * compatibility.
120 */
121#define YY_START (((yy_start) - 1) / 2)
122#define YYSTATE YY_START
123
124/* Action number for EOF rule of a given start state. */
125#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
126
127/* Special action meaning "start processing a new file". */
128#define YY_NEW_FILE yyrestart(yyin )
129
130#define YY_END_OF_BUFFER_CHAR 0
131
132/* Size of default input buffer. */
133#ifndef YY_BUF_SIZE
134#define YY_BUF_SIZE 16384
135#endif
136
137#ifndef YY_TYPEDEF_YY_BUFFER_STATE
138#define YY_TYPEDEF_YY_BUFFER_STATE
139typedef struct yy_buffer_state *YY_BUFFER_STATE;
140#endif
141
142extern int yyleng;
143
144extern FILE *yyin, *yyout;
145
146#define EOB_ACT_CONTINUE_SCAN 0
147#define EOB_ACT_END_OF_FILE 1
148#define EOB_ACT_LAST_MATCH 2
149
150 #define YY_LESS_LINENO(n)
151
152/* Return all but the first "n" matched characters back to the input stream. */
153#define yyless(n) \
154 do \
155 { \
156 /* Undo effects of setting up yytext. */ \
157 int yyless_macro_arg = (n); \
158 YY_LESS_LINENO(yyless_macro_arg);\
159 *yy_cp = (yy_hold_char); \
160 YY_RESTORE_YY_MORE_OFFSET \
161 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
162 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
163 } \
164 while ( 0 )
165
166#define unput(c) yyunput( c, (yytext_ptr) )
167
168/* The following is because we cannot portably get our hands on size_t
169 * (without autoconf's help, which isn't available because we want
170 * flex-generated scanners to compile on their own).
171 */
172
173#ifndef YY_TYPEDEF_YY_SIZE_T
174#define YY_TYPEDEF_YY_SIZE_T
175typedef unsigned int yy_size_t;
176#endif
177
178#ifndef YY_STRUCT_YY_BUFFER_STATE
179#define YY_STRUCT_YY_BUFFER_STATE
180struct yy_buffer_state
181 {
182 FILE *yy_input_file;
183
184 char *yy_ch_buf; /* input buffer */
185 char *yy_buf_pos; /* current position in input buffer */
186
187 /* Size of input buffer in bytes, not including room for EOB
188 * characters.
189 */
190 yy_size_t yy_buf_size;
191
192 /* Number of characters read into yy_ch_buf, not including EOB
193 * characters.
194 */
195 int yy_n_chars;
196
197 /* Whether we "own" the buffer - i.e., we know we created it,
198 * and can realloc() it to grow it, and should free() it to
199 * delete it.
200 */
201 int yy_is_our_buffer;
202
203 /* Whether this is an "interactive" input source; if so, and
204 * if we're using stdio for input, then we want to use getc()
205 * instead of fread(), to make sure we stop fetching input after
206 * each newline.
207 */
208 int yy_is_interactive;
209
210 /* Whether we're considered to be at the beginning of a line.
211 * If so, '^' rules will be active on the next match, otherwise
212 * not.
213 */
214 int yy_at_bol;
215
216 int yy_bs_lineno; /**< The line count. */
217 int yy_bs_column; /**< The column count. */
218
219 /* Whether to try to fill the input buffer when we reach the
220 * end of it.
221 */
222 int yy_fill_buffer;
223
224 int yy_buffer_status;
225
226#define YY_BUFFER_NEW 0
227#define YY_BUFFER_NORMAL 1
228 /* When an EOF's been seen but there's still some text to process
229 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
230 * shouldn't try reading from the input source any more. We might
231 * still have a bunch of tokens to match, though, because of
232 * possible backing-up.
233 *
234 * When we actually see the EOF, we change the status to "new"
235 * (via yyrestart()), so that the user can continue scanning by
236 * just pointing yyin at a new input file.
237 */
238#define YY_BUFFER_EOF_PENDING 2
239
240 };
241#endif /* !YY_STRUCT_YY_BUFFER_STATE */
242
243/* Stack of input buffers. */
244static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
245static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
246static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
247
248/* We provide macros for accessing buffer states in case in the
249 * future we want to put the buffer states in a more general
250 * "scanner state".
251 *
252 * Returns the top of the stack, or NULL.
253 */
254#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
255 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
256 : NULL)
257
258/* Same as previous macro, but useful when we know that the buffer stack is not
259 * NULL or when we need an lvalue. For internal use only.
260 */
261#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
262
263/* yy_hold_char holds the character lost when yytext is formed. */
264static char yy_hold_char;
265static int yy_n_chars; /* number of characters read into yy_ch_buf */
266int yyleng;
267
268/* Points to current character in buffer. */
269static char *yy_c_buf_p = (char *) 0;
270static int yy_init = 1; /* whether we need to initialize */
271static int yy_start = 0; /* start state number */
272
273/* Flag which is used to allow yywrap()'s to do buffer switches
274 * instead of setting up a fresh yyin. A bit of a hack ...
275 */
276static int yy_did_buffer_switch_on_eof;
277
278void yyrestart (FILE *input_file );
279void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer );
280YY_BUFFER_STATE yy_create_buffer (FILE *file,int size );
281void yy_delete_buffer (YY_BUFFER_STATE b );
282void yy_flush_buffer (YY_BUFFER_STATE b );
283void yypush_buffer_state (YY_BUFFER_STATE new_buffer );
284void yypop_buffer_state (void );
285
286static void yyensure_buffer_stack (void );
287static void yy_load_buffer_state (void );
288static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file );
289
290#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
291
292YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size );
293YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str );
294YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len );
295
296void *yyalloc (yy_size_t );
297void *yyrealloc (void *,yy_size_t );
298void yyfree (void * );
299
300#define yy_new_buffer yy_create_buffer
301
302#define yy_set_interactive(is_interactive) \
303 { \
304 if ( ! YY_CURRENT_BUFFER ){ \
305 yyensure_buffer_stack (); \
306 YY_CURRENT_BUFFER_LVALUE = \
307 yy_create_buffer(yyin,YY_BUF_SIZE ); \
308 } \
309 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
310 }
311
312#define yy_set_bol(at_bol) \
313 { \
314 if ( ! YY_CURRENT_BUFFER ){\
315 yyensure_buffer_stack (); \
316 YY_CURRENT_BUFFER_LVALUE = \
317 yy_create_buffer(yyin,YY_BUF_SIZE ); \
318 } \
319 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
320 }
321
322#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
323
324/* Begin user sect3 */
325
326typedef unsigned char YY_CHAR;
327
328FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
329
330typedef int yy_state_type;
331
332extern int yylineno;
333
334int yylineno = 1;
335
336extern char *yytext;
337#define yytext_ptr yytext
338
339static yy_state_type yy_get_previous_state (void );
340static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
341static int yy_get_next_buffer (void );
342static void yy_fatal_error (yyconst char msg[] );
343
344/* Done after the current pattern has been matched and before the
345 * corresponding action - sets up yytext.
346 */
347#define YY_DO_BEFORE_ACTION \
348 (yytext_ptr) = yy_bp; \
349 yyleng = (size_t) (yy_cp - yy_bp); \
350 (yy_hold_char) = *yy_cp; \
351 *yy_cp = '\0'; \
352 (yy_c_buf_p) = yy_cp;
353
354#define YY_NUM_RULES 172
355#define YY_END_OF_BUFFER 173
356/* This struct is not used in this scanner,
357 but its presence is necessary. */
358struct yy_trans_info
359 {
360 flex_int32_t yy_verify;
361 flex_int32_t yy_nxt;
362 };
363static yyconst flex_int16_t yy_accept[1151] =
364 { 0,
365 0, 0, 152, 152, 0, 0, 0, 0, 0, 0,
366 0, 0, 0, 0, 0, 0, 0, 0, 173, 172,
367 170, 155, 154, 32, 170, 152, 38, 29, 44, 43,
368 34, 35, 28, 36, 152, 37, 8, 8, 45, 46,
369 39, 40, 27, 33, 152, 152, 152, 152, 152, 152,
370 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
371 152, 152, 152, 10, 9, 152, 102, 100, 152, 42,
372 30, 41, 31, 171, 155, 32, 171, 150, 38, 29,
373 44, 43, 34, 35, 28, 36, 150, 37, 8, 8,
374 45, 46, 39, 40, 27, 33, 150, 150, 150, 150,
375
376 150, 150, 150, 150, 150, 150, 150, 150, 150, 150,
377 150, 10, 9, 150, 150, 42, 30, 41, 31, 150,
378 8, 8, 150, 150, 150, 150, 150, 150, 150, 150,
379 150, 150, 150, 150, 150, 150, 150, 150, 150, 150,
380 102, 100, 4, 3, 2, 4, 5, 111, 110, 149,
381 34, 35, 28, 36, 149, 37, 8, 8, 45, 46,
382 40, 33, 149, 149, 149, 149, 149, 149, 149, 149,
383 149, 149, 149, 149, 10, 9, 149, 149, 149, 149,
384 149, 149, 149, 149, 149, 149, 149, 31, 169, 167,
385 168, 170, 162, 161, 156, 163, 164, 160, 160, 160,
386
387 160, 165, 166, 155, 15, 0, 153, 152, 8, 26,
388 24, 22, 20, 21, 1, 23, 8, 8, 152, 18,
389 17, 14, 16, 19, 152, 152, 152, 106, 152, 152,
390 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
391 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
392 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
393 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
394 25, 13, 150, 6, 22, 20, 21, 0, 1, 23,
395 8, 0, 7, 7, 8, 7, 14, 150, 7, 7,
396 7, 150, 150, 106, 7, 150, 150, 7, 150, 150,
397
398 150, 7, 150, 150, 150, 150, 150, 150, 150, 150,
399 150, 150, 150, 7, 150, 8, 8, 0, 150, 150,
400 150, 150, 150, 150, 150, 150, 150, 150, 150, 150,
401 150, 150, 150, 150, 150, 150, 150, 150, 150, 150,
402 150, 150, 150, 150, 150, 150, 150, 150, 150, 150,
403 150, 150, 150, 4, 4, 110, 110, 149, 6, 112,
404 22, 23, 113, 149, 7, 7, 7, 149, 149, 149,
405 7, 149, 7, 7, 149, 149, 149, 149, 149, 149,
406 149, 149, 7, 149, 149, 149, 7, 149, 7, 7,
407 149, 149, 149, 149, 149, 149, 149, 149, 169, 168,
408
409 161, 160, 0, 160, 160, 160, 11, 12, 152, 152,
410 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
411 152, 152, 152, 152, 152, 152, 152, 83, 152, 152,
412 152, 152, 152, 152, 152, 152, 66, 152, 152, 152,
413 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
414 152, 152, 152, 152, 152, 152, 152, 152, 152, 103,
415 101, 152, 8, 151, 8, 150, 7, 150, 150, 150,
416 150, 150, 150, 150, 150, 150, 150, 150, 150, 150,
417 58, 59, 150, 150, 150, 150, 150, 150, 150, 150,
418 150, 150, 150, 150, 150, 150, 150, 150, 150, 150,
419
420 83, 150, 150, 150, 150, 150, 66, 150, 150, 150,
421 150, 150, 150, 150, 150, 150, 150, 150, 150, 150,
422 150, 150, 150, 103, 101, 4, 8, 149, 149, 149,
423 149, 149, 114, 149, 149, 149, 149, 149, 149, 149,
424 149, 149, 149, 149, 149, 149, 149, 149, 131, 149,
425 149, 149, 149, 149, 149, 149, 149, 149, 149, 160,
426 160, 160, 152, 56, 152, 51, 152, 90, 152, 97,
427 152, 152, 152, 152, 152, 152, 152, 79, 152, 152,
428 152, 152, 98, 152, 152, 108, 152, 152, 88, 152,
429 63, 152, 152, 152, 152, 152, 152, 152, 152, 86,
430
431 152, 152, 152, 152, 94, 152, 152, 152, 152, 152,
432 152, 152, 150, 56, 150, 150, 51, 150, 97, 150,
433 150, 150, 150, 150, 98, 108, 150, 63, 150, 150,
434 150, 150, 150, 150, 150, 90, 150, 150, 150, 150,
435 79, 150, 150, 150, 150, 150, 150, 88, 150, 150,
436 150, 150, 150, 150, 86, 150, 150, 150, 94, 150,
437 150, 150, 150, 150, 149, 149, 149, 118, 126, 117,
438 149, 149, 128, 121, 124, 149, 149, 129, 149, 149,
439 149, 149, 149, 135, 143, 134, 149, 149, 146, 138,
440 141, 149, 149, 147, 149, 149, 160, 160, 160, 152,
441
442 53, 50, 152, 152, 152, 152, 96, 61, 152, 152,
443 85, 152, 72, 152, 152, 71, 152, 152, 152, 152,
444 152, 152, 152, 152, 152, 105, 152, 152, 152, 89,
445 152, 87, 152, 152, 152, 152, 152, 152, 150, 53,
446 150, 50, 150, 150, 96, 150, 72, 150, 150, 150,
447 150, 150, 150, 150, 150, 150, 150, 61, 150, 85,
448 150, 150, 150, 71, 150, 150, 150, 150, 150, 150,
449 105, 150, 150, 89, 87, 150, 150, 150, 150, 149,
450 119, 116, 149, 149, 128, 128, 123, 149, 127, 149,
451 149, 136, 133, 149, 149, 146, 146, 140, 149, 145,
452
453 149, 160, 160, 158, 152, 152, 152, 152, 152, 152,
454 62, 152, 152, 152, 52, 152, 47, 152, 152, 95,
455 48, 70, 152, 152, 152, 152, 67, 152, 84, 68,
456 152, 152, 152, 150, 60, 150, 150, 150, 150, 150,
457 95, 150, 150, 67, 150, 150, 150, 150, 62, 150,
458 150, 150, 52, 47, 150, 48, 70, 150, 150, 150,
459 150, 84, 68, 150, 149, 149, 62, 125, 122, 149,
460 149, 149, 144, 142, 139, 149, 159, 157, 152, 152,
461 152, 152, 73, 152, 152, 104, 152, 152, 152, 91,
462 152, 93, 107, 152, 152, 152, 80, 49, 152, 152,
463
464 150, 150, 73, 150, 150, 150, 99, 107, 150, 150,
465 150, 150, 150, 150, 104, 150, 91, 150, 93, 150,
466 150, 80, 49, 149, 149, 149, 149, 149, 149, 130,
467 152, 152, 152, 152, 152, 152, 57, 152, 152, 152,
468 152, 78, 152, 148, 152, 130, 150, 150, 57, 150,
469 150, 148, 150, 150, 150, 150, 150, 150, 150, 150,
470 78, 130, 115, 120, 148, 132, 137, 152, 152, 152,
471 152, 152, 152, 152, 152, 152, 152, 152, 152, 150,
472 150, 150, 150, 150, 150, 150, 150, 150, 150, 150,
473 150, 152, 152, 152, 152, 152, 152, 152, 152, 152,
474
475 69, 152, 152, 150, 150, 150, 150, 150, 150, 150,
476 150, 150, 150, 150, 69, 152, 152, 152, 152, 152,
477 152, 92, 82, 152, 152, 152, 150, 150, 92, 150,
478 150, 150, 150, 150, 150, 82, 150, 75, 152, 152,
479 109, 152, 152, 152, 152, 152, 150, 109, 150, 150,
480 75, 150, 150, 150, 150, 152, 152, 152, 152, 81,
481 152, 152, 150, 150, 150, 150, 150, 150, 81, 152,
482 152, 152, 152, 152, 65, 64, 150, 150, 65, 64,
483 150, 150, 150, 152, 152, 152, 152, 152, 150, 150,
484 150, 150, 150, 152, 152, 55, 152, 152, 150, 55,
485
486 150, 150, 150, 152, 152, 152, 152, 150, 150, 150,
487 150, 152, 54, 152, 152, 54, 150, 150, 150, 152,
488 152, 152, 150, 150, 150, 152, 152, 152, 150, 150,
489 150, 74, 152, 152, 74, 150, 150, 152, 152, 150,
490 150, 76, 152, 76, 150, 152, 150, 77, 77, 0
491 } ;
492
493static yyconst flex_int32_t yy_ec[256] =
494 { 0,
495 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
496 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
497 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
498 1, 2, 4, 5, 6, 7, 8, 9, 1, 10,
499 11, 12, 13, 14, 15, 16, 17, 18, 19, 19,
500 19, 19, 19, 19, 19, 19, 19, 20, 21, 22,
501 23, 24, 25, 1, 26, 27, 28, 29, 30, 31,
502 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
503 42, 43, 44, 45, 46, 47, 16, 48, 49, 50,
504 51, 52, 53, 54, 55, 1, 56, 57, 58, 59,
505
506 60, 61, 62, 63, 64, 16, 65, 66, 67, 68,
507 69, 70, 16, 71, 72, 73, 74, 16, 16, 75,
508 16, 76, 77, 78, 79, 80, 1, 1, 1, 1,
509 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
510 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
511 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
512 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
513 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
514 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
515 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
516
517 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
518 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
519 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
520 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
521 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
522 1, 1, 1, 1, 1
523 } ;
524
525static yyconst flex_int32_t yy_meta[81] =
526 { 0,
527 1, 1, 2, 3, 1, 1, 4, 1, 1, 1,
528 1, 5, 6, 7, 8, 9, 10, 11, 11, 8,
529 1, 1, 7, 1, 5, 11, 11, 11, 11, 11,
530 11, 9, 9, 9, 9, 9, 9, 9, 9, 9,
531 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
532 8, 10, 8, 3, 9, 11, 11, 11, 11, 11,
533 11, 9, 9, 9, 9, 9, 9, 9, 9, 9,
534 9, 9, 9, 9, 9, 9, 1, 1, 1, 10
535 } ;
536
537static yyconst flex_int16_t yy_base[1173] =
538 { 0,
539 0, 0, 0, 0, 80, 0, 154, 0, 223, 302,
540 381, 0, 162, 172, 461, 541, 621, 701, 2060, 2061,
541 2061, 2057, 2061, 2035, 2052, 764, 2061, 153, 2061, 2061,
542 2033, 2032, 0, 2031, 0, 154, 300, 232, 0, 2061,
543 147, 2030, 179, 0, 226, 170, 157, 228, 169, 222,
544 2009, 2014, 2011, 2019, 176, 137, 227, 175, 232, 2002,
545 249, 2021, 2016, 0, 0, 1988, 1984, 1972, 1978, 2061,
546 182, 2061, 0, 2061, 2039, 2017, 2034, 808, 2061, 243,
547 2061, 2061, 2015, 2014, 2061, 262, 0, 257, 852, 213,
548 2061, 2061, 264, 2013, 269, 2061, 910, 305, 314, 461,
549
550 472, 333, 1992, 1995, 2003, 1992, 247, 300, 1984, 1987,
551 1995, 2061, 2061, 466, 1964, 2061, 186, 2061, 0, 968,
552 550, 628, 492, 327, 304, 474, 298, 329, 1990, 1987,
553 305, 496, 462, 325, 464, 1979, 540, 1998, 1993, 1965,
554 1961, 1949, 1012, 2061, 2061, 0, 2061, 2061, 2016, 1056,
555 1995, 1994, 2061, 1993, 0, 1992, 0, 460, 2061, 0,
556 1991, 2061, 1100, 550, 564, 497, 621, 544, 244, 1987,
557 1969, 1965, 141, 1967, 2061, 2061, 622, 572, 626, 659,
558 625, 226, 1953, 1937, 1933, 523, 1935, 0, 2003, 2061,
559 0, 1992, 2061, 0, 2061, 2061, 2061, 1983, 457, 513,
560
561 537, 2061, 2061, 2000, 2061, 1996, 2061, 0, 1158, 2061,
562 2061, 0, 0, 0, 0, 0, 710, 0, 695, 1977,
563 2061, 0, 2061, 1976, 1954, 1968, 1962, 0, 1956, 1954,
564 1948, 290, 1962, 1946, 1959, 1959, 1943, 329, 1950, 1946,
565 1942, 1944, 1946, 572, 1952, 1942, 611, 1939, 1941, 1930,
566 579, 1943, 1931, 1945, 1945, 1933, 1946, 468, 1931, 1920,
567 1926, 1922, 1941, 1922, 1922, 1921, 1891, 1894, 1899, 1884,
568 2061, 2061, 0, 1208, 2061, 2061, 2061, 0, 2061, 0,
569 500, 721, 0, 2061, 2061, 0, 2061, 647, 727, 760,
570 0, 1925, 1914, 0, 771, 1918, 1916, 1914, 774, 813,
571
572 1924, 1925, 1912, 1920, 1920, 1923, 1900, 1908, 1898, 574,
573 1915, 1904, 1893, 804, 1866, 709, 794, 0, 1897, 1911,
574 1894, 486, 1908, 1892, 1905, 1890, 623, 1897, 1893, 1889,
575 1894, 639, 1891, 639, 613, 1891, 704, 1894, 1882, 1896,
576 1896, 1898, 586, 1883, 1879, 1875, 1894, 1875, 1875, 1874,
577 1844, 1847, 1852, 0, 1258, 1910, 2061, 0, 1308, 0,
578 0, 2061, 0, 648, 699, 715, 0, 1878, 816, 818,
579 1877, 1881, 1864, 1865, 1863, 1880, 1867, 1875, 1876, 1874,
580 1875, 1854, 780, 1835, 819, 850, 1834, 1829, 1804, 1795,
581 1783, 1791, 1777, 1782, 1783, 1777, 1768, 1739, 1800, 0,
582
583 0, 1776, 1774, 584, 636, 613, 2061, 2061, 1738, 1734,
584 1744, 1746, 1739, 1658, 1643, 1637, 1659, 1658, 1649, 1654,
585 1638, 1643, 1649, 1641, 1651, 1648, 1629, 0, 1637, 1633,
586 1638, 1625, 1629, 1637, 1639, 1635, 0, 1625, 1619, 1620,
587 1625, 1621, 1628, 1618, 1615, 1614, 1609, 1626, 1611, 1608,
588 1609, 1621, 1605, 1623, 1605, 1610, 1614, 1601, 1575, 0,
589 0, 1583, 0, 0, 836, 1602, 887, 1609, 1610, 1610,
590 1610, 1583, 1605, 915, 1602, 1592, 1582, 1587, 1584, 1590,
591 0, 0, 1570, 1566, 1568, 1564, 1559, 1575, 1535, 1543,
592 1559, 1571, 1556, 1573, 1564, 1554, 1566, 1558, 1568, 1565,
593
594 0, 1555, 1557, 1544, 1557, 1556, 0, 1546, 1548, 1552,
595 1542, 1539, 1538, 1551, 1536, 1533, 1534, 1531, 1549, 1531,
596 1536, 1540, 1527, 0, 0, 0, 0, 1530, 546, 1539,
597 1538, 1526, 0, 1536, 1527, 1519, 1534, 1532, 1531, 1523,
598 1514, 1510, 1513, 1482, 682, 1490, 1489, 1478, 0, 1486,
599 1473, 1463, 1471, 1469, 1468, 1461, 1453, 1454, 1456, 313,
600 693, 511, 1486, 0, 1483, 0, 1485, 0, 1475, 0,
601 1474, 1463, 1478, 1471, 1466, 1468, 1470, 0, 1467, 1481,
602 1469, 1463, 0, 1480, 1461, 0, 1460, 1478, 0, 1460,
603 0, 1462, 1461, 1474, 1465, 1452, 1460, 1452, 1461, 0,
604
605 1466, 1459, 1447, 1451, 0, 1461, 1444, 1454, 1457, 1452,
606 1419, 1415, 1446, 0, 1443, 1438, 0, 1444, 0, 1419,
607 1434, 1427, 1425, 1429, 0, 0, 1443, 0, 1427, 1435,
608 1420, 1417, 1410, 1383, 1379, 0, 1402, 1401, 1396, 1401,
609 0, 1398, 1412, 1395, 1413, 1394, 1393, 0, 1394, 1396,
610 1401, 1388, 1396, 1388, 0, 1403, 1396, 1383, 0, 1398,
611 1381, 1391, 1394, 1389, 1385, 1377, 1381, 0, 0, 0,
612 1376, 1392, 1375, 0, 0, 1374, 1382, 0, 1370, 1386,
613 1347, 1340, 1343, 0, 0, 0, 1339, 1353, 1454, 0,
614 0, 1337, 1343, 0, 1333, 1347, 697, 710, 809, 1358,
615
616 0, 0, 1360, 1372, 1357, 1365, 0, 0, 1365, 1354,
617 0, 1337, 0, 1362, 1356, 0, 1355, 1353, 1329, 1330,
618 1346, 1342, 1331, 1318, 1336, 0, 1332, 1327, 1319, 0,
619 1327, 0, 1311, 1329, 1310, 1314, 1279, 1291, 1305, 0,
620 1305, 0, 1305, 1318, 0, 1318, 0, 1316, 1299, 1313,
621 1315, 1311, 1302, 1258, 1270, 1287, 1299, 0, 1289, 0,
622 1269, 1293, 1287, 0, 1287, 1264, 1286, 1272, 1265, 1283,
623 0, 1275, 1267, 0, 0, 1260, 1278, 1259, 1263, 1256,
624 0, 1263, 1261, 1254, 0, 1533, 0, 1270, 0, 1271,
625 1221, 0, 1226, 1224, 1218, 0, 1612, 0, 1232, 0,
626
627 1227, 717, 827, 1262, 1236, 1234, 1224, 1248, 1245, 1242,
628 0, 1243, 1240, 1218, 0, 1233, 0, 1217, 1215, 0,
629 0, 1204, 1209, 1227, 1201, 1216, 1199, 1212, 0, 0,
630 1213, 1178, 135, 195, 0, 266, 323, 438, 460, 484,
631 0, 559, 606, 600, 604, 635, 651, 653, 0, 688,
632 719, 706, 0, 0, 710, 0, 703, 716, 715, 734,
633 743, 0, 0, 760, 757, 766, 0, 0, 0, 764,
634 737, 745, 0, 0, 0, 755, 831, 834, 833, 845,
635 844, 854, 0, 834, 854, 0, 840, 853, 854, 0,
636 873, 0, 0, 869, 858, 872, 0, 0, 846, 844,
637
638 888, 888, 0, 868, 882, 883, 0, 0, 900, 874,
639 872, 917, 906, 908, 0, 896, 0, 930, 0, 924,
640 913, 0, 0, 932, 934, 934, 905, 913, 914, 0,
641 930, 949, 939, 947, 942, 953, 0, 952, 940, 944,
642 954, 0, 959, 0, 930, 0, 953, 961, 0, 963,
643 970, 0, 941, 957, 976, 966, 977, 963, 967, 974,
644 0, 0, 0, 0, 0, 0, 0, 969, 975, 981,
645 978, 975, 974, 984, 988, 974, 975, 993, 964, 991,
646 988, 992, 1006, 977, 994, 1000, 998, 997, 1016, 1002,
647 1003, 1004, 1018, 1010, 1013, 1011, 1014, 1009, 1021, 1017,
648
649 0, 1027, 998, 1019, 1022, 1016, 1032, 1003, 1020, 1034,
650 1025, 1028, 1034, 1038, 0, 1033, 1050, 1034, 1050, 1042,
651 1050, 0, 0, 1063, 1060, 1031, 1047, 1063, 0, 1064,
652 1035, 1052, 1069, 1059, 1061, 0, 1074, 0, 1056, 1047,
653 0, 1048, 1064, 1060, 1063, 1036, 1053, 0, 1066, 1039,
654 0, 1066, 1065, 1081, 1077, 1068, 1106, 1098, 1086, 0,
655 1090, 1063, 1112, 1095, 1069, 1088, 1118, 1106, 0, 1102,
656 1110, 1110, 1113, 1096, 0, 0, 1115, 1114, 0, 0,
657 1110, 1118, 1107, 1115, 1131, 1137, 1130, 1142, 1136, 1142,
658 1123, 1136, 1148, 1140, 1147, 0, 1140, 1144, 1150, 0,
659
660 1145, 1150, 1154, 1165, 1154, 1167, 1160, 1159, 1172, 1172,
661 1164, 1162, 0, 1177, 1164, 0, 1165, 1180, 1167, 1171,
662 1164, 1182, 1174, 1167, 1185, 1176, 1187, 1196, 1180, 1194,
663 1203, 0, 1190, 1186, 0, 1192, 1188, 1201, 1207, 1203,
664 1209, 0, 1205, 0, 1207, 1209, 1210, 0, 0, 2061,
665 1691, 1702, 1713, 1724, 1735, 1746, 1754, 1762, 1770, 1781,
666 1789, 1800, 1811, 1822, 1825, 1834, 1842, 1239, 1853, 1864,
667 1875, 1886
668 } ;
669
670static yyconst flex_int16_t yy_def[1173] =
671 { 0,
672 1151, 1151, 1150, 3, 1150, 5, 5, 7, 1152, 1152,
673 1150, 11, 1153, 1153, 1154, 1154, 1155, 1155, 1150, 1150,
674 1150, 1150, 1150, 1150, 1156, 1157, 1150, 1150, 1150, 1150,
675 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1150,
676 1150, 1157, 1150, 1157, 1157, 1157, 1157, 1157, 1157, 1157,
677 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157,
678 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1150,
679 1150, 1150, 1157, 1150, 1150, 1150, 1156, 1158, 1150, 1150,
680 1150, 1150, 1150, 1150, 1150, 1150, 1158, 1158, 1150, 89,
681 1150, 1150, 1150, 1150, 1150, 1150, 1158, 97, 97, 97,
682
683 97, 97, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
684 1158, 1150, 1150, 97, 1158, 1150, 1150, 1150, 1158, 1158,
685 1150, 1150, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
686 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
687 1158, 1158, 1159, 1150, 1150, 1159, 1150, 1150, 1160, 1161,
688 1162, 1150, 1150, 1150, 1161, 1161, 89, 89, 1150, 1163,
689 1150, 1150, 1161, 163, 163, 163, 163, 163, 1161, 1161,
690 1161, 1161, 1161, 1161, 1150, 1150, 163, 163, 163, 163,
691 163, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1150, 1150,
692 1164, 1150, 1150, 1165, 1150, 1150, 1150, 1166, 1166, 1166,
693
694 1166, 1150, 1150, 1150, 1150, 1156, 1150, 1157, 1157, 1150,
695 1150, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 209, 1150,
696 1150, 1157, 1150, 1150, 1157, 1157, 1157, 1157, 1157, 1157,
697 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157,
698 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157,
699 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157,
700 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157,
701 1150, 1150, 1158, 1158, 1150, 1150, 1150, 1167, 1150, 1158,
702 89, 89, 282, 1150, 1150, 1168, 1150, 97, 97, 97,
703 1158, 1158, 1158, 1158, 97, 1158, 1158, 1158, 97, 97,
704
705 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
706 1158, 1158, 1158, 97, 1158, 120, 1150, 1168, 1158, 1158,
707 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
708 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
709 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
710 1158, 1158, 1158, 1159, 1159, 1160, 1150, 1161, 1161, 1162,
711 1162, 1150, 1163, 163, 163, 163, 1161, 1161, 163, 163,
712 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161,
713 1161, 1161, 163, 1161, 163, 163, 1161, 1161, 1161, 1161,
714 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1150, 1164,
715
716 1165, 1166, 1150, 1166, 1166, 1166, 1150, 1150, 1157, 1157,
717 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157,
718 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157,
719 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157,
720 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157,
721 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157,
722 1157, 1157, 1158, 1167, 1168, 1158, 97, 1158, 1158, 1158,
723 1158, 1158, 1158, 97, 1158, 1158, 1158, 1158, 1158, 1158,
724 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
725 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
726
727 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
728 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
729 1158, 1158, 1158, 1158, 1158, 1159, 1161, 1161, 1161, 1161,
730 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161,
731 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161,
732 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1166,
733 1166, 1166, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157,
734 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157,
735 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157,
736 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157,
737
738 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157,
739 1157, 1157, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
740 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
741 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
742 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
743 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
744 1158, 1158, 1158, 1158, 1161, 1161, 1161, 1161, 1161, 1161,
745 1161, 1161, 1169, 1161, 1161, 1161, 1161, 1161, 1161, 1161,
746 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1170, 1161,
747 1161, 1161, 1161, 1161, 1161, 1161, 1166, 1166, 1166, 1157,
748
749 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157,
750 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157,
751 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157,
752 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1158, 1158,
753 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
754 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
755 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
756 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1161,
757 1161, 1161, 1161, 1161, 1171, 1169, 1161, 1161, 1161, 1161,
758 1161, 1161, 1161, 1161, 1161, 1172, 1170, 1161, 1161, 1161,
759
760 1161, 1166, 1166, 1166, 1157, 1157, 1157, 1157, 1157, 1157,
761 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157,
762 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157,
763 1157, 1157, 1157, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
764 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
765 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
766 1158, 1158, 1158, 1158, 1161, 1161, 1161, 1161, 1161, 1161,
767 1161, 1161, 1161, 1161, 1161, 1161, 1166, 1166, 1157, 1157,
768 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157,
769 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157,
770
771 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
772 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
773 1158, 1158, 1158, 1161, 1161, 1161, 1161, 1161, 1161, 1157,
774 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157,
775 1157, 1157, 1157, 1157, 1157, 1158, 1158, 1158, 1158, 1158,
776 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
777 1158, 1161, 1161, 1161, 1161, 1161, 1161, 1157, 1157, 1157,
778 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1158,
779 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
780 1158, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157,
781
782 1157, 1157, 1157, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
783 1158, 1158, 1158, 1158, 1158, 1157, 1157, 1157, 1157, 1157,
784 1157, 1157, 1157, 1157, 1157, 1157, 1158, 1158, 1158, 1158,
785 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1157, 1157, 1157,
786 1157, 1157, 1157, 1157, 1157, 1157, 1158, 1158, 1158, 1158,
787 1158, 1158, 1158, 1158, 1158, 1157, 1157, 1157, 1157, 1157,
788 1157, 1157, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1157,
789 1157, 1157, 1157, 1157, 1157, 1157, 1158, 1158, 1158, 1158,
790 1158, 1158, 1158, 1157, 1157, 1157, 1157, 1157, 1158, 1158,
791 1158, 1158, 1158, 1157, 1157, 1157, 1157, 1157, 1158, 1158,
792
793 1158, 1158, 1158, 1157, 1157, 1157, 1157, 1158, 1158, 1158,
794 1158, 1157, 1157, 1157, 1157, 1158, 1158, 1158, 1158, 1157,
795 1157, 1157, 1158, 1158, 1158, 1157, 1157, 1157, 1158, 1158,
796 1158, 1157, 1157, 1157, 1158, 1158, 1158, 1157, 1157, 1158,
797 1158, 1157, 1157, 1158, 1158, 1157, 1158, 1157, 1158, 0,
798 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
799 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
800 1150, 1150
801 } ;
802
803static yyconst flex_int16_t yy_nxt[2142] =
804 { 0,
805 21, 22, 23, 24, 25, 21, 26, 27, 28, 29,
806 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
807 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
808 50, 51, 52, 53, 35, 54, 55, 56, 57, 58,
809 59, 60, 35, 61, 62, 35, 63, 35, 35, 35,
810 64, 35, 65, 21, 35, 66, 35, 35, 35, 35,
811 35, 35, 35, 35, 35, 67, 35, 35, 68, 35,
812 35, 69, 35, 35, 35, 35, 70, 71, 72, 73,
813 74, 75, 23, 76, 77, 74, 78, 79, 80, 81,
814 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
815
816 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
817 102, 103, 87, 104, 87, 105, 106, 107, 108, 109,
818 110, 87, 87, 111, 87, 87, 87, 87, 87, 87,
819 112, 87, 113, 74, 87, 114, 102, 102, 102, 102,
820 102, 87, 87, 87, 87, 87, 87, 87, 87, 87,
821 87, 115, 87, 87, 87, 87, 116, 117, 118, 119,
822 120, 210, 248, 189, 190, 215, 249, 191, 220, 221,
823 380, 121, 122, 189, 190, 211, 216, 191, 192, 123,
824 124, 125, 126, 127, 128, 381, 129, 130, 192, 900,
825 131, 132, 133, 134, 135, 136, 232, 137, 138, 233,
826
827 139, 223, 224, 229, 271, 246, 230, 237, 271, 140,
828 87, 87, 87, 87, 87, 247, 238, 252, 231, 141,
829 253, 254, 142, 74, 74, 20, 74, 74, 74, 143,
830 74, 74, 74, 74, 74, 144, 74, 145, 193, 901,
831 121, 122, 74, 74, 74, 147, 74, 74, 193, 217,
832 217, 210, 225, 234, 226, 239, 250, 235, 240, 272,
833 284, 241, 227, 272, 255, 211, 251, 218, 279, 218,
834 228, 236, 307, 74, 256, 74, 74, 375, 258, 280,
835 308, 259, 260, 376, 277, 220, 221, 284, 261, 391,
836 262, 223, 224, 263, 392, 902, 218, 264, 218, 74,
837
838 74, 74, 74, 74, 20, 74, 74, 74, 143, 74,
839 74, 74, 74, 74, 144, 74, 145, 217, 217, 121,
840 122, 74, 74, 74, 147, 74, 74, 278, 415, 309,
841 416, 295, 403, 295, 333, 218, 326, 218, 296, 310,
842 295, 297, 295, 322, 334, 327, 323, 219, 273, 273,
843 273, 903, 74, 298, 74, 74, 422, 273, 273, 295,
844 296, 295, 328, 297, 218, 329, 218, 338, 330, 273,
845 339, 340, 697, 423, 219, 321, 273, 273, 74, 74,
846 74, 21, 22, 148, 24, 21, 149, 150, 27, 28,
847 29, 30, 151, 152, 153, 154, 155, 156, 157, 158,
848
849 159, 160, 41, 161, 43, 162, 163, 164, 165, 166,
850 167, 168, 155, 155, 155, 155, 155, 169, 155, 170,
851 171, 172, 155, 155, 173, 174, 155, 155, 155, 155,
852 155, 175, 155, 176, 21, 155, 177, 178, 179, 166,
853 180, 181, 155, 155, 155, 155, 182, 155, 183, 184,
854 185, 155, 186, 187, 155, 155, 155, 70, 71, 72,
855 188, 21, 189, 190, 21, 21, 191, 904, 21, 21,
856 21, 21, 21, 21, 195, 21, 403, 192, 21, 21,
857 195, 195, 21, 21, 21, 21, 299, 295, 905, 295,
858 300, 309, 295, 449, 295, 450, 341, 273, 295, 324,
859
860 295, 337, 273, 325, 301, 273, 312, 284, 273, 273,
861 273, 21, 21, 21, 21, 273, 273, 301, 319, 302,
862 320, 335, 314, 366, 493, 336, 472, 906, 292, 308,
863 403, 404, 403, 358, 284, 293, 294, 196, 21, 197,
864 21, 21, 189, 190, 21, 21, 191, 284, 21, 21,
865 21, 21, 21, 21, 195, 21, 403, 192, 21, 21,
866 195, 195, 21, 21, 21, 21, 699, 317, 317, 343,
867 366, 666, 344, 313, 284, 369, 366, 667, 405, 345,
868 358, 346, 396, 374, 347, 285, 358, 285, 348, 370,
869 366, 21, 21, 21, 21, 397, 371, 318, 366, 429,
870
871 358, 484, 430, 403, 431, 406, 440, 907, 358, 441,
872 485, 515, 432, 516, 285, 442, 285, 196, 21, 197,
873 21, 21, 189, 190, 318, 25, 191, 385, 21, 21,
874 21, 21, 403, 21, 195, 908, 435, 192, 21, 21,
875 195, 195, 21, 21, 21, 317, 317, 366, 366, 436,
876 476, 366, 366, 507, 909, 403, 560, 358, 358, 372,
877 481, 358, 358, 285, 480, 285, 502, 497, 373, 478,
878 562, 503, 21, 295, 366, 295, 910, 506, 383, 504,
879 199, 386, 200, 273, 358, 366, 201, 384, 387, 911,
880 273, 273, 285, 390, 285, 358, 912, 202, 21, 203,
881
882 21, 21, 189, 190, 561, 25, 191, 913, 21, 21,
883 21, 21, 403, 21, 195, 914, 403, 192, 21, 21,
884 195, 195, 21, 21, 21, 366, 388, 217, 217, 403,
885 208, 484, 208, 389, 509, 358, 403, 682, 282, 282,
886 485, 366, 528, 683, 463, 218, 463, 218, 915, 698,
887 916, 358, 21, 295, 917, 295, 1150, 918, 1150, 208,
888 199, 208, 200, 273, 919, 803, 201, 802, 284, 920,
889 466, 273, 921, 463, 218, 463, 218, 202, 21, 203,
890 21, 209, 209, 922, 877, 1150, 295, 1150, 467, 209,
891 209, 209, 209, 209, 209, 284, 273, 295, 923, 295,
892
893 295, 924, 295, 273, 273, 925, 366, 273, 926, 927,
894 273, 317, 317, 928, 273, 273, 358, 273, 473, 209,
895 209, 209, 209, 209, 209, 274, 274, 929, 403, 285,
896 295, 285, 295, 274, 274, 274, 274, 274, 274, 295,
897 273, 295, 366, 474, 366, 366, 403, 273, 273, 273,
898 403, 544, 358, 403, 358, 358, 273, 273, 285, 530,
899 285, 531, 930, 274, 274, 274, 274, 274, 274, 281,
900 281, 285, 931, 285, 804, 489, 366, 282, 283, 282,
901 283, 282, 282, 932, 284, 933, 358, 285, 934, 285,
902 546, 284, 878, 935, 936, 937, 938, 941, 939, 286,
903
904 285, 942, 285, 940, 943, 944, 945, 282, 283, 282,
905 283, 282, 282, 295, 284, 295, 285, 946, 285, 947,
906 284, 547, 948, 273, 949, 950, 286, 288, 288, 614,
907 273, 273, 951, 952, 953, 288, 289, 288, 290, 288,
908 288, 295, 291, 295, 954, 955, 292, 956, 621, 291,
909 957, 273, 960, 293, 294, 958, 961, 291, 273, 273,
910 959, 962, 963, 964, 965, 288, 295, 288, 295, 288,
911 288, 966, 291, 967, 968, 969, 970, 971, 291, 972,
912 973, 974, 975, 976, 291, 316, 316, 977, 978, 979,
913 980, 981, 982, 316, 316, 316, 316, 316, 316, 983,
914
915 984, 985, 986, 987, 988, 989, 990, 991, 992, 993,
916 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003,
917 1004, 1005, 1006, 316, 316, 316, 316, 316, 316, 355,
918 355, 1007, 1008, 1009, 1010, 1011, 1012, 355, 355, 355,
919 355, 355, 355, 1013, 1014, 1015, 1016, 1017, 1018, 1019,
920 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029,
921 1030, 1031, 1032, 1033, 1034, 1035, 1036, 355, 355, 355,
922 355, 355, 355, 359, 359, 1037, 1038, 1039, 1040, 1041,
923 1042, 359, 359, 359, 359, 359, 359, 1043, 1044, 1045,
924 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055,
925
926 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065,
927 1066, 359, 359, 359, 359, 359, 359, 364, 364, 1067,
928 1068, 1069, 1070, 1073, 1074, 364, 365, 364, 366, 364,
929 364, 1071, 367, 1075, 1076, 1072, 368, 1077, 1079, 367,
930 1080, 1078, 1081, 1082, 1083, 1084, 1085, 367, 1086, 1087,
931 1088, 1089, 1090, 1091, 1092, 364, 366, 364, 366, 364,
932 364, 1093, 367, 1094, 1095, 1096, 1097, 1098, 367, 1099,
933 1100, 1101, 1102, 1103, 367, 209, 209, 1104, 1105, 1106,
934 1107, 1108, 1109, 209, 209, 209, 209, 209, 209, 1110,
935 1111, 1112, 1113, 218, 1114, 218, 1115, 1116, 1117, 1118,
936
937 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128,
938 1129, 1130, 1131, 209, 209, 209, 209, 209, 209, 1132,
939 1133, 1134, 218, 1135, 218, 274, 274, 1136, 1137, 1138,
940 1139, 1140, 1141, 274, 274, 274, 274, 274, 274, 1142,
941 1143, 1144, 1145, 463, 1146, 463, 1147, 1148, 1149, 465,
942 899, 898, 897, 896, 895, 894, 893, 892, 891, 890,
943 889, 888, 887, 274, 274, 274, 274, 274, 274, 886,
944 885, 884, 463, 883, 463, 355, 355, 882, 881, 880,
945 879, 403, 876, 355, 355, 355, 355, 355, 355, 875,
946 874, 873, 872, 526, 871, 526, 870, 869, 868, 867,
947
948 866, 865, 864, 863, 862, 861, 860, 859, 858, 857,
949 856, 855, 854, 355, 355, 355, 355, 355, 355, 853,
950 852, 851, 526, 850, 526, 359, 359, 849, 848, 847,
951 846, 845, 844, 359, 359, 359, 359, 359, 359, 843,
952 842, 841, 840, 527, 839, 527, 838, 837, 836, 835,
953 834, 833, 832, 831, 830, 829, 828, 827, 826, 825,
954 824, 823, 822, 359, 359, 359, 359, 359, 359, 821,
955 820, 819, 527, 818, 527, 785, 785, 817, 785, 785,
956 785, 816, 785, 785, 785, 785, 785, 815, 785, 814,
957 813, 812, 811, 810, 809, 785, 785, 785, 785, 785,
958
959 808, 807, 806, 805, 801, 800, 799, 798, 795, 794,
960 793, 792, 791, 790, 789, 788, 787, 784, 783, 782,
961 781, 780, 779, 778, 777, 776, 775, 774, 785, 773,
962 772, 771, 770, 769, 768, 767, 766, 765, 764, 763,
963 762, 761, 760, 759, 758, 757, 756, 755, 754, 753,
964 752, 785, 785, 785, 796, 796, 751, 796, 796, 796,
965 750, 796, 796, 796, 796, 796, 749, 796, 748, 747,
966 746, 745, 744, 743, 796, 796, 796, 796, 796, 742,
967 741, 740, 739, 738, 737, 736, 735, 734, 733, 732,
968 731, 730, 729, 728, 727, 726, 725, 724, 723, 722,
969
970 721, 720, 719, 718, 717, 716, 715, 796, 714, 713,
971 712, 711, 710, 709, 708, 707, 706, 705, 704, 703,
972 702, 701, 700, 696, 695, 694, 693, 692, 691, 690,
973 796, 796, 796, 785, 785, 689, 785, 785, 785, 688,
974 785, 785, 785, 785, 785, 687, 785, 686, 685, 684,
975 681, 680, 679, 785, 785, 785, 785, 785, 678, 677,
976 676, 675, 674, 673, 672, 671, 670, 669, 668, 665,
977 664, 663, 662, 661, 660, 659, 658, 657, 656, 655,
978 654, 653, 652, 651, 650, 649, 785, 648, 647, 646,
979 645, 644, 643, 642, 641, 640, 639, 621, 638, 637,
980
981 636, 614, 635, 634, 633, 632, 631, 630, 629, 785,
982 785, 785, 796, 796, 628, 796, 796, 796, 627, 796,
983 796, 796, 796, 796, 626, 796, 625, 624, 623, 622,
984 620, 619, 796, 796, 796, 796, 796, 618, 617, 616,
985 615, 613, 612, 611, 610, 609, 608, 607, 606, 605,
986 604, 603, 602, 601, 600, 599, 598, 597, 596, 595,
987 594, 593, 592, 591, 590, 796, 589, 588, 587, 586,
988 585, 584, 583, 582, 581, 580, 579, 578, 577, 576,
989 575, 574, 573, 572, 571, 570, 569, 568, 796, 796,
990 796, 20, 20, 20, 20, 20, 20, 20, 20, 20,
991
992 20, 20, 146, 146, 146, 146, 146, 146, 146, 146,
993 146, 146, 146, 21, 21, 21, 21, 21, 21, 21,
994 21, 21, 21, 21, 194, 194, 194, 194, 194, 194,
995 194, 194, 194, 194, 194, 198, 198, 198, 198, 198,
996 198, 198, 198, 198, 198, 198, 206, 206, 206, 206,
997 206, 206, 206, 206, 206, 206, 206, 208, 208, 208,
998 208, 208, 208, 208, 208, 273, 567, 273, 273, 273,
999 273, 273, 273, 354, 566, 565, 564, 563, 354, 354,
1000 354, 356, 356, 356, 356, 356, 356, 356, 356, 356,
1001 356, 356, 358, 402, 358, 403, 358, 358, 358, 358,
1002
1003 360, 399, 360, 360, 360, 360, 360, 360, 360, 360,
1004 360, 363, 559, 363, 363, 363, 363, 363, 363, 363,
1005 363, 363, 400, 558, 400, 400, 400, 400, 400, 400,
1006 400, 400, 400, 401, 557, 401, 402, 402, 402, 556,
1007 555, 402, 402, 554, 402, 464, 553, 464, 464, 464,
1008 464, 464, 464, 786, 552, 786, 786, 786, 786, 786,
1009 786, 786, 786, 786, 797, 551, 797, 797, 797, 797,
1010 797, 797, 797, 797, 797, 785, 550, 785, 785, 785,
1011 785, 785, 785, 785, 785, 785, 796, 549, 796, 796,
1012 796, 796, 796, 796, 796, 796, 796, 548, 545, 543,
1013
1014 542, 541, 540, 539, 538, 537, 536, 535, 534, 533,
1015 532, 529, 357, 525, 524, 489, 523, 522, 521, 520,
1016 519, 518, 517, 514, 513, 512, 511, 510, 508, 505,
1017 501, 500, 499, 498, 496, 495, 473, 494, 492, 491,
1018 466, 490, 488, 487, 486, 483, 482, 481, 480, 479,
1019 478, 477, 476, 475, 472, 471, 470, 469, 468, 462,
1020 461, 460, 459, 458, 457, 456, 455, 454, 453, 452,
1021 451, 448, 447, 446, 445, 444, 443, 439, 438, 437,
1022 434, 433, 428, 427, 426, 425, 424, 421, 420, 419,
1023 418, 417, 414, 413, 412, 411, 410, 409, 408, 407,
1024
1025 207, 204, 403, 279, 399, 398, 395, 394, 393, 382,
1026 379, 378, 377, 287, 362, 277, 276, 361, 357, 353,
1027 352, 351, 350, 349, 342, 332, 331, 315, 313, 312,
1028 311, 306, 305, 304, 303, 287, 276, 275, 207, 205,
1029 204, 270, 269, 268, 267, 266, 265, 257, 245, 244,
1030 243, 242, 222, 214, 213, 212, 207, 205, 204, 1150,
1031 19, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
1032 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
1033 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
1034 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
1035
1036 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
1037 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
1038 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
1039 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
1040 1150
1041 } ;
1042
1043static yyconst flex_int16_t yy_chk[2142] =
1044 { 0,
1045 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1046 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1047 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1048 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1049 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1050 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1051 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1052 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1053 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1054 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1055
1056 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1057 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1058 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1059 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1060 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1061 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1062 7, 28, 56, 13, 13, 36, 56, 13, 41, 41,
1063 173, 7, 7, 14, 14, 28, 36, 14, 13, 7,
1064 7, 7, 7, 7, 7, 173, 7, 7, 14, 833,
1065 7, 7, 7, 7, 7, 7, 47, 7, 7, 47,
1066
1067 7, 43, 43, 46, 71, 55, 46, 49, 117, 7,
1068 7, 7, 7, 7, 7, 55, 49, 58, 46, 7,
1069 58, 58, 7, 9, 9, 9, 9, 9, 9, 9,
1070 9, 9, 9, 9, 9, 9, 9, 9, 13, 834,
1071 9, 9, 9, 9, 9, 9, 9, 9, 14, 38,
1072 38, 80, 45, 48, 45, 50, 57, 48, 50, 71,
1073 90, 50, 45, 117, 59, 80, 57, 38, 88, 38,
1074 45, 48, 107, 9, 59, 9, 9, 169, 61, 88,
1075 107, 61, 61, 169, 86, 93, 93, 90, 61, 182,
1076 61, 95, 95, 61, 182, 836, 38, 61, 38, 9,
1077
1078 9, 9, 10, 10, 10, 10, 10, 10, 10, 10,
1079 10, 10, 10, 10, 10, 10, 10, 37, 37, 10,
1080 10, 10, 10, 10, 10, 10, 10, 86, 232, 108,
1081 232, 98, 560, 98, 131, 37, 127, 37, 98, 108,
1082 99, 98, 99, 125, 131, 127, 125, 37, 98, 98,
1083 99, 837, 10, 99, 10, 10, 238, 99, 99, 102,
1084 124, 102, 128, 124, 37, 128, 37, 134, 128, 102,
1085 134, 134, 560, 238, 37, 124, 102, 102, 10, 10,
1086 10, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1087 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1088
1089 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1090 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1091 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1092 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1093 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1094 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1095 11, 15, 15, 15, 15, 15, 15, 838, 15, 15,
1096 15, 15, 15, 15, 15, 15, 199, 15, 15, 15,
1097 15, 15, 15, 15, 15, 15, 100, 100, 839, 100,
1098 100, 133, 114, 258, 114, 258, 135, 100, 101, 126,
1099
1100 101, 133, 114, 126, 100, 100, 135, 158, 101, 114,
1101 114, 15, 15, 15, 15, 101, 101, 126, 123, 101,
1102 123, 132, 114, 166, 322, 132, 322, 840, 123, 132,
1103 562, 199, 200, 166, 158, 123, 123, 15, 15, 15,
1104 15, 16, 16, 16, 16, 16, 16, 281, 16, 16,
1105 16, 16, 16, 16, 16, 16, 201, 16, 16, 16,
1106 16, 16, 16, 16, 16, 16, 562, 121, 121, 137,
1107 168, 529, 137, 137, 281, 164, 164, 529, 200, 137,
1108 168, 137, 186, 168, 137, 121, 164, 121, 137, 165,
1109 165, 16, 16, 16, 16, 186, 165, 121, 178, 244,
1110
1111 165, 310, 244, 404, 244, 201, 251, 842, 178, 251,
1112 310, 343, 244, 343, 121, 251, 121, 16, 16, 16,
1113 16, 17, 17, 17, 121, 17, 17, 178, 17, 17,
1114 17, 17, 406, 17, 17, 843, 247, 17, 17, 17,
1115 17, 17, 17, 17, 17, 122, 122, 167, 177, 247,
1116 327, 181, 179, 335, 844, 405, 404, 167, 177, 167,
1117 335, 181, 179, 122, 334, 122, 332, 327, 167, 332,
1118 406, 332, 17, 288, 364, 288, 845, 334, 177, 332,
1119 17, 179, 17, 288, 364, 180, 17, 177, 179, 846,
1120 288, 288, 122, 181, 122, 180, 847, 17, 17, 17,
1121
1122 17, 18, 18, 18, 405, 18, 18, 848, 18, 18,
1123 18, 18, 561, 18, 18, 850, 697, 18, 18, 18,
1124 18, 18, 18, 18, 18, 365, 180, 217, 217, 698,
1125 219, 337, 219, 180, 337, 365, 802, 545, 282, 282,
1126 337, 366, 365, 545, 316, 217, 316, 217, 851, 561,
1127 852, 366, 18, 289, 855, 289, 282, 857, 282, 219,
1128 18, 219, 18, 289, 858, 698, 18, 697, 282, 859,
1129 289, 289, 860, 316, 217, 316, 217, 18, 18, 18,
1130 18, 26, 26, 861, 802, 282, 290, 282, 290, 26,
1131 26, 26, 26, 26, 26, 282, 290, 295, 864, 295,
1132
1133 299, 865, 299, 290, 290, 866, 383, 295, 870, 871,
1134 299, 317, 317, 872, 295, 295, 383, 299, 299, 26,
1135 26, 26, 26, 26, 26, 78, 78, 876, 699, 317,
1136 314, 317, 314, 78, 78, 78, 78, 78, 78, 300,
1137 314, 300, 369, 300, 370, 385, 803, 314, 314, 300,
1138 877, 383, 369, 878, 370, 385, 300, 300, 317, 369,
1139 317, 370, 879, 78, 78, 78, 78, 78, 78, 89,
1140 89, 465, 880, 465, 699, 314, 386, 89, 89, 89,
1141 89, 89, 89, 881, 89, 882, 386, 89, 884, 89,
1142 385, 89, 803, 885, 887, 888, 889, 894, 891, 89,
1143
1144 465, 895, 465, 891, 896, 899, 900, 89, 89, 89,
1145 89, 89, 89, 467, 89, 467, 89, 901, 89, 902,
1146 89, 386, 904, 467, 905, 906, 89, 97, 97, 467,
1147 467, 467, 909, 910, 911, 97, 97, 97, 97, 97,
1148 97, 474, 97, 474, 912, 913, 97, 914, 474, 97,
1149 916, 474, 920, 97, 97, 918, 921, 97, 474, 474,
1150 918, 924, 925, 926, 927, 97, 97, 97, 97, 97,
1151 97, 928, 97, 929, 931, 932, 933, 934, 97, 935,
1152 936, 938, 939, 940, 97, 120, 120, 941, 943, 945,
1153 947, 948, 950, 120, 120, 120, 120, 120, 120, 951,
1154
1155 953, 954, 955, 956, 957, 958, 959, 960, 968, 969,
1156 970, 971, 972, 973, 974, 975, 976, 977, 978, 979,
1157 980, 981, 982, 120, 120, 120, 120, 120, 120, 143,
1158 143, 983, 984, 985, 986, 987, 988, 143, 143, 143,
1159 143, 143, 143, 989, 990, 991, 992, 993, 994, 995,
1160 996, 997, 998, 999, 1000, 1002, 1003, 1004, 1005, 1006,
1161 1007, 1008, 1009, 1010, 1011, 1012, 1013, 143, 143, 143,
1162 143, 143, 143, 150, 150, 1014, 1016, 1017, 1018, 1019,
1163 1020, 150, 150, 150, 150, 150, 150, 1021, 1024, 1025,
1164 1026, 1027, 1028, 1030, 1031, 1032, 1033, 1034, 1035, 1037,
1165
1166 1039, 1040, 1042, 1043, 1044, 1045, 1046, 1047, 1049, 1050,
1167 1052, 150, 150, 150, 150, 150, 150, 163, 163, 1053,
1168 1054, 1055, 1056, 1058, 1059, 163, 163, 163, 163, 163,
1169 163, 1057, 163, 1061, 1062, 1057, 163, 1063, 1064, 163,
1170 1065, 1063, 1066, 1067, 1068, 1070, 1071, 163, 1072, 1073,
1171 1074, 1077, 1078, 1081, 1082, 163, 163, 163, 163, 163,
1172 163, 1083, 163, 1084, 1085, 1086, 1087, 1088, 163, 1089,
1173 1090, 1091, 1092, 1093, 163, 209, 209, 1094, 1095, 1097,
1174 1098, 1099, 1101, 209, 209, 209, 209, 209, 209, 1102,
1175 1103, 1104, 1105, 209, 1106, 209, 1107, 1108, 1109, 1110,
1176
1177 1111, 1112, 1114, 1115, 1117, 1118, 1119, 1120, 1121, 1122,
1178 1123, 1124, 1125, 209, 209, 209, 209, 209, 209, 1126,
1179 1127, 1128, 209, 1129, 209, 274, 274, 1130, 1131, 1133,
1180 1134, 1136, 1137, 274, 274, 274, 274, 274, 274, 1138,
1181 1139, 1140, 1141, 274, 1143, 274, 1145, 1146, 1147, 1168,
1182 832, 831, 828, 827, 826, 825, 824, 823, 822, 819,
1183 818, 816, 814, 274, 274, 274, 274, 274, 274, 813,
1184 812, 810, 274, 809, 274, 355, 355, 808, 807, 806,
1185 805, 804, 801, 355, 355, 355, 355, 355, 355, 799,
1186 795, 794, 793, 355, 791, 355, 790, 788, 784, 783,
1187
1188 782, 780, 779, 778, 777, 776, 773, 772, 770, 769,
1189 768, 767, 766, 355, 355, 355, 355, 355, 355, 765,
1190 763, 762, 355, 761, 355, 359, 359, 759, 757, 756,
1191 755, 754, 753, 359, 359, 359, 359, 359, 359, 752,
1192 751, 750, 749, 359, 748, 359, 746, 744, 743, 741,
1193 739, 738, 737, 736, 735, 734, 733, 731, 729, 728,
1194 727, 725, 724, 359, 359, 359, 359, 359, 359, 723,
1195 722, 721, 359, 720, 359, 673, 673, 719, 673, 673,
1196 673, 718, 673, 673, 673, 673, 673, 717, 673, 715,
1197 714, 712, 710, 709, 706, 673, 673, 673, 673, 673,
1198
1199 705, 704, 703, 700, 696, 695, 693, 692, 688, 687,
1200 683, 682, 681, 680, 679, 677, 676, 672, 671, 667,
1201 666, 665, 664, 663, 662, 661, 660, 658, 673, 657,
1202 656, 654, 653, 652, 651, 650, 649, 647, 646, 645,
1203 644, 643, 642, 640, 639, 638, 637, 635, 634, 633,
1204 632, 673, 673, 673, 689, 689, 631, 689, 689, 689,
1205 630, 689, 689, 689, 689, 689, 629, 689, 627, 624,
1206 623, 622, 621, 620, 689, 689, 689, 689, 689, 618,
1207 616, 615, 613, 612, 611, 610, 609, 608, 607, 606,
1208 604, 603, 602, 601, 599, 598, 597, 596, 595, 594,
1209
1210 593, 592, 590, 588, 587, 585, 584, 689, 582, 581,
1211 580, 579, 577, 576, 575, 574, 573, 572, 571, 569,
1212 567, 565, 563, 559, 558, 557, 556, 555, 554, 553,
1213 689, 689, 689, 786, 786, 552, 786, 786, 786, 551,
1214 786, 786, 786, 786, 786, 550, 786, 548, 547, 546,
1215 544, 543, 542, 786, 786, 786, 786, 786, 541, 540,
1216 539, 538, 537, 536, 535, 534, 532, 531, 530, 528,
1217 523, 522, 521, 520, 519, 518, 517, 516, 515, 514,
1218 513, 512, 511, 510, 509, 508, 786, 506, 505, 504,
1219 503, 502, 500, 499, 498, 497, 496, 495, 494, 493,
1220
1221 492, 491, 490, 489, 488, 487, 486, 485, 484, 786,
1222 786, 786, 797, 797, 483, 797, 797, 797, 480, 797,
1223 797, 797, 797, 797, 479, 797, 478, 477, 476, 475,
1224 473, 472, 797, 797, 797, 797, 797, 471, 470, 469,
1225 468, 466, 462, 459, 458, 457, 456, 455, 454, 453,
1226 452, 451, 450, 449, 448, 447, 446, 445, 444, 443,
1227 442, 441, 440, 439, 438, 797, 436, 435, 434, 433,
1228 432, 431, 430, 429, 427, 426, 425, 424, 423, 422,
1229 421, 420, 419, 418, 417, 416, 415, 414, 797, 797,
1230 797, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
1231
1232 1151, 1151, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152,
1233 1152, 1152, 1152, 1153, 1153, 1153, 1153, 1153, 1153, 1153,
1234 1153, 1153, 1153, 1153, 1154, 1154, 1154, 1154, 1154, 1154,
1235 1154, 1154, 1154, 1154, 1154, 1155, 1155, 1155, 1155, 1155,
1236 1155, 1155, 1155, 1155, 1155, 1155, 1156, 1156, 1156, 1156,
1237 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1157, 1157, 1157,
1238 1157, 1157, 1157, 1157, 1157, 1158, 413, 1158, 1158, 1158,
1239 1158, 1158, 1158, 1159, 412, 411, 410, 409, 1159, 1159,
1240 1159, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160,
1241 1160, 1160, 1161, 403, 1161, 402, 1161, 1161, 1161, 1161,
1242
1243 1162, 399, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162,
1244 1162, 1163, 398, 1163, 1163, 1163, 1163, 1163, 1163, 1163,
1245 1163, 1163, 1164, 397, 1164, 1164, 1164, 1164, 1164, 1164,
1246 1164, 1164, 1164, 1165, 396, 1165, 1166, 1166, 1166, 395,
1247 394, 1166, 1166, 393, 1166, 1167, 392, 1167, 1167, 1167,
1248 1167, 1167, 1167, 1169, 391, 1169, 1169, 1169, 1169, 1169,
1249 1169, 1169, 1169, 1169, 1170, 390, 1170, 1170, 1170, 1170,
1250 1170, 1170, 1170, 1170, 1170, 1171, 389, 1171, 1171, 1171,
1251 1171, 1171, 1171, 1171, 1171, 1171, 1172, 388, 1172, 1172,
1252 1172, 1172, 1172, 1172, 1172, 1172, 1172, 387, 384, 382,
1253
1254 381, 380, 379, 378, 377, 376, 375, 374, 373, 372,
1255 371, 368, 356, 353, 352, 351, 350, 349, 348, 347,
1256 346, 345, 344, 342, 341, 340, 339, 338, 336, 333,
1257 331, 330, 329, 328, 326, 325, 324, 323, 321, 320,
1258 319, 315, 313, 312, 311, 309, 308, 307, 306, 305,
1259 304, 303, 302, 301, 298, 297, 296, 293, 292, 270,
1260 269, 268, 267, 266, 265, 264, 263, 262, 261, 260,
1261 259, 257, 256, 255, 254, 253, 252, 250, 249, 248,
1262 246, 245, 243, 242, 241, 240, 239, 237, 236, 235,
1263 234, 233, 231, 230, 229, 227, 226, 225, 224, 220,
1264
1265 206, 204, 198, 192, 189, 187, 185, 184, 183, 174,
1266 172, 171, 170, 161, 156, 154, 152, 151, 149, 142,
1267 141, 140, 139, 138, 136, 130, 129, 115, 111, 110,
1268 109, 106, 105, 104, 103, 94, 84, 83, 77, 76,
1269 75, 69, 68, 67, 66, 63, 62, 60, 54, 53,
1270 52, 51, 42, 34, 32, 31, 25, 24, 22, 19,
1271 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
1272 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
1273 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
1274 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
1275
1276 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
1277 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
1278 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
1279 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
1280 1150
1281 } ;
1282
1283static yy_state_type yy_last_accepting_state;
1284static char *yy_last_accepting_cpos;
1285
1286extern int yy_flex_debug;
1287int yy_flex_debug = 0;
1288
1289/* The intent behind this definition is that it'll catch
1290 * any uses of REJECT which flex missed.
1291 */
1292#define REJECT reject_used_but_not_detected
1293#define yymore() yymore_used_but_not_detected
1294#define YY_MORE_ADJ 0
1295#define YY_RESTORE_YY_MORE_OFFSET
1296char *yytext;
1297#line 1 "ldlex.l"
1298#line 2 "ldlex.l"
1299
1300/* Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
1301 2000, 2001, 2002 Free Software Foundation, Inc.
1302
1303This file is part of GLD, the Gnu Linker.
1304
1305GLD is free software; you can redistribute it and/or modify
1306it under the terms of the GNU General Public License as published by
1307the Free Software Foundation; either version 2, or (at your option)
1308any later version.
1309
1310GLD is distributed in the hope that it will be useful,
1311but WITHOUT ANY WARRANTY; without even the implied warranty of
1312MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1313GNU General Public License for more details.
1314
1315You should have received a copy of the GNU General Public License
1316along with GLD; see the file COPYING. If not, write to the Free
1317Software Foundation, 59 Temple Place - Suite 330, Boston, MA
131802111-1307, USA. */
1319
1320/*
1321This was written by steve chamberlain
1322 sac@cygnus.com
1323*/
1324
1325
1326#include "ansidecl.h"
1327#include <stdio.h>
1328
1329#ifdef MPW
1330/* Prevent enum redefinition problems. */
1331#define TRUE_FALSE_ALREADY_DEFINED
1332#endif /* MPW */
1333
1334#include "bfd.h"
1335#include "sysdep.h"
1336#include "safe-ctype.h"
1337#include "bfdlink.h"
1338#include "ld.h"
1339#include "ldmisc.h"
1340#include "ldexp.h"
1341#include "ldlang.h"
1342#include <ldgram.h>
1343#include "ldfile.h"
1344#include "ldlex.h"
1345#include "ldmain.h"
1346#include "libiberty.h"
1347
1348/* The type of top-level parser input.
1349 yylex and yyparse (indirectly) both check this. */
1350input_type parser_input;
1351
1352/* Line number in the current input file.
1353 (FIXME Actually, it doesn't appear to get reset for each file?) */
1354unsigned int lineno = 1;
1355
1356/* The string we are currently lexing, or NULL if we are reading a
1357 file. */
1358const char *lex_string = NULL;
1359
1360/* Support for flex reading from more than one input file (stream).
1361 `include_stack' is flex's input state for each open file;
1362 `file_name_stack' is the file names. `lineno_stack' is the current
1363 line numbers.
1364
1365 If `include_stack_ptr' is 0, we haven't started reading anything yet.
1366 Otherwise, stack elements 0 through `include_stack_ptr - 1' are valid. */
1367
1368#undef YY_INPUT
1369#define YY_INPUT(buf,result,max_size) yy_input(buf, &result, max_size)
1370
1371#define MAX_INCLUDE_DEPTH 10
1372static YY_BUFFER_STATE include_stack[MAX_INCLUDE_DEPTH];
1373static const char *file_name_stack[MAX_INCLUDE_DEPTH];
1374static unsigned int lineno_stack[MAX_INCLUDE_DEPTH];
1375static unsigned int include_stack_ptr = 0;
1376static int vers_node_nesting = 0;
1377
1378static YY_BUFFER_STATE yy_create_string_buffer PARAMS ((const char *string,
1379 size_t size));
1380static void yy_input PARAMS ((char *, int *result, int max_size));
1381
1382static void comment PARAMS ((void));
1383static void lex_warn_invalid PARAMS ((char *where, char *what));
1384
1385/* STATES
1386 EXPRESSION definitely in an expression
1387 SCRIPT definitely in a script
1388 BOTH either EXPRESSION or SCRIPT
1389 DEFSYMEXP in an argument to -defsym
1390 MRI in an MRI script
1391 VERS_START starting a Sun style mapfile
1392 VERS_SCRIPT a Sun style mapfile
1393 VERS_NODE a node within a Sun style mapfile
1394*/
1395#define RTOKEN(x) { yylval.token = x; return x; }
1396
1397/* Some versions of flex want this. */
1398#ifndef yywrap
1399int yywrap () { return 1; }
1400#endif
1401
1402
1403
1404
1405
1406
1407
1408
1409#line 1410 "lex.yy.c"
1410
1411#define INITIAL 0
1412#define SCRIPT 1
1413#define EXPRESSION 2
1414#define BOTH 3
1415#define DEFSYMEXP 4
1416#define MRI 5
1417#define VERS_START 6
1418#define VERS_SCRIPT 7
1419#define VERS_NODE 8
1420
1421/* Special case for "unistd.h", since it is non-ANSI. We include it way
1422 * down here because we want the user's section 1 to have been scanned first.
1423 * The user has a chance to override it with an option.
1424 */
1425#include <unistd.h>
1426
1427#ifndef YY_EXTRA_TYPE
1428#define YY_EXTRA_TYPE void *
1429#endif
1430
1431/* Macros after this point can all be overridden by user definitions in
1432 * section 1.
1433 */
1434
1435#ifndef YY_SKIP_YYWRAP
1436#ifdef __cplusplus
1437extern "C" int yywrap (void );
1438#else
1439extern int yywrap (void );
1440#endif
1441#endif
1442
1443 static void yyunput (int c,char *buf_ptr );
1444
1445#ifndef yytext_ptr
1446static void yy_flex_strncpy (char *,yyconst char *,int );
1447#endif
1448
1449#ifdef YY_NEED_STRLEN
1450static int yy_flex_strlen (yyconst char * );
1451#endif
1452
1453#ifndef YY_NO_INPUT
1454
1455#ifdef __cplusplus
1456static int yyinput (void );
1457#else
1458static int input (void );
1459#endif
1460
1461#endif
1462
1463/* Amount of stuff to slurp up with each read. */
1464#ifndef YY_READ_BUF_SIZE
1465#define YY_READ_BUF_SIZE 8192
1466#endif
1467
1468/* Copy whatever the last rule matched to the standard output. */
1469#ifndef ECHO
1470/* This used to be an fputs(), but since the string might contain NUL's,
1471 * we now use fwrite().
1472 */
1473#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
1474#endif
1475
1476/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1477 * is returned in "result".
1478 */
1479#ifndef YY_INPUT
1480#define YY_INPUT(buf,result,max_size) \
1481 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1482 { \
1483 int c = '*'; \
1484 size_t n; \
1485 for ( n = 0; n < max_size && \
1486 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1487 buf[n] = (char) c; \
1488 if ( c == '\n' ) \
1489 buf[n++] = (char) c; \
1490 if ( c == EOF && ferror( yyin ) ) \
1491 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1492 result = n; \
1493 } \
1494 else \
1495 { \
1496 errno=0; \
1497 while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
1498 { \
1499 if( errno != EINTR) \
1500 { \
1501 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1502 break; \
1503 } \
1504 errno=0; \
1505 clearerr(yyin); \
1506 } \
1507 }\
1508\
1509
1510#endif
1511
1512/* No semi-colon after return; correct usage is to write "yyterminate();" -
1513 * we don't want an extra ';' after the "return" because that will cause
1514 * some compilers to complain about unreachable statements.
1515 */
1516#ifndef yyterminate
1517#define yyterminate() return YY_NULL
1518#endif
1519
1520/* Number of entries by which start-condition stack grows. */
1521#ifndef YY_START_STACK_INCR
1522#define YY_START_STACK_INCR 25
1523#endif
1524
1525/* Report a fatal error. */
1526#ifndef YY_FATAL_ERROR
1527#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1528#endif
1529
1530/* end tables serialization structures and prototypes */
1531
1532/* Default declaration of generated scanner - a define so the user can
1533 * easily add parameters.
1534 */
1535#ifndef YY_DECL
1536#define YY_DECL_IS_OURS 1
1537
1538extern int yylex (void);
1539
1540#define YY_DECL int yylex (void)
1541#endif /* !YY_DECL */
1542
1543/* Code executed at the beginning of each rule, after yytext and yyleng
1544 * have been set up.
1545 */
1546#ifndef YY_USER_ACTION
1547#define YY_USER_ACTION
1548#endif
1549
1550/* Code executed at the end of each rule. */
1551#ifndef YY_BREAK
1552#define YY_BREAK break;
1553#endif
1554
1555#define YY_RULE_SETUP \
1556 YY_USER_ACTION
1557
1558/** The main scanner function which does all the work.
1559 */
1560YY_DECL
1561{
1562 register yy_state_type yy_current_state;
1563 register char *yy_cp, *yy_bp;
1564 register int yy_act;
1565
1566#line 130 "ldlex.l"
1567
1568
1569 if (parser_input != input_selected)
1570 {
1571 /* The first token of the input determines the initial parser state. */
1572 input_type t = parser_input;
1573 parser_input = input_selected;
1574 switch (t)
1575 {
1576 case input_script: return INPUT_SCRIPT; break;
1577 case input_mri_script: return INPUT_MRI_SCRIPT; break;
1578 case input_version_script: return INPUT_VERSION_SCRIPT; break;
1579 case input_defsym: return INPUT_DEFSYM; break;
1580 default: abort ();
1581 }
1582 }
1583
1584#line 1585 "lex.yy.c"
1585
1586 if ( (yy_init) )
1587 {
1588 (yy_init) = 0;
1589
1590#ifdef YY_USER_INIT
1591 YY_USER_INIT;
1592#endif
1593
1594 if ( ! (yy_start) )
1595 (yy_start) = 1; /* first start state */
1596
1597 if ( ! yyin )
1598 yyin = stdin;
1599
1600 if ( ! yyout )
1601 yyout = stdout;
1602
1603 if ( ! YY_CURRENT_BUFFER ) {
1604 yyensure_buffer_stack ();
1605 YY_CURRENT_BUFFER_LVALUE =
1606 yy_create_buffer(yyin,YY_BUF_SIZE );
1607 }
1608
1609 yy_load_buffer_state( );
1610 }
1611
1612 while ( 1 ) /* loops until end-of-file is reached */
1613 {
1614 yy_cp = (yy_c_buf_p);
1615
1616 /* Support of yytext. */
1617 *yy_cp = (yy_hold_char);
1618
1619 /* yy_bp points to the position in yy_ch_buf of the start of
1620 * the current run.
1621 */
1622 yy_bp = yy_cp;
1623
1624 yy_current_state = (yy_start);
1625yy_match:
1626 do
1627 {
1628 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1629 if ( yy_accept[yy_current_state] )
1630 {
1631 (yy_last_accepting_state) = yy_current_state;
1632 (yy_last_accepting_cpos) = yy_cp;
1633 }
1634 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1635 {
1636 yy_current_state = (int) yy_def[yy_current_state];
1637 if ( yy_current_state >= 1151 )
1638 yy_c = yy_meta[(unsigned int) yy_c];
1639 }
1640 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1641 ++yy_cp;
1642 }
1643 while ( yy_base[yy_current_state] != 2061 );
1644
1645yy_find_action:
1646 yy_act = yy_accept[yy_current_state];
1647 if ( yy_act == 0 )
1648 { /* have to back up */
1649 yy_cp = (yy_last_accepting_cpos);
1650 yy_current_state = (yy_last_accepting_state);
1651 yy_act = yy_accept[yy_current_state];
1652 }
1653
1654 YY_DO_BEFORE_ACTION;
1655
1656do_action: /* This label is used only to access EOF actions. */
1657
1658 switch ( yy_act )
1659 { /* beginning of action switch */
1660 case 0: /* must back up */
1661 /* undo the effects of YY_DO_BEFORE_ACTION */
1662 *yy_cp = (yy_hold_char);
1663 yy_cp = (yy_last_accepting_cpos);
1664 yy_current_state = (yy_last_accepting_state);
1665 goto yy_find_action;
1666
1667case 1:
1668YY_RULE_SETUP
1669#line 147 "ldlex.l"
1670{ comment(); }
1671 YY_BREAK
1672case 2:
1673YY_RULE_SETUP
1674#line 150 "ldlex.l"
1675{ RTOKEN('-');}
1676 YY_BREAK
1677case 3:
1678YY_RULE_SETUP
1679#line 151 "ldlex.l"
1680{ RTOKEN('+');}
1681 YY_BREAK
1682case 4:
1683YY_RULE_SETUP
1684#line 152 "ldlex.l"
1685{ yylval.name = xstrdup(yytext); return NAME; }
1686 YY_BREAK
1687case 5:
1688YY_RULE_SETUP
1689#line 153 "ldlex.l"
1690{ RTOKEN('='); }
1691 YY_BREAK
1692case 6:
1693YY_RULE_SETUP
1694#line 155 "ldlex.l"
1695{
1696 yylval.integer = bfd_scan_vma (yytext+1, 0,16);
1697 yylval.bigint.str = (char *) 0;
1698 return INT;
1699 }
1700 YY_BREAK
1701case 7:
1702YY_RULE_SETUP
1703#line 161 "ldlex.l"
1704{
1705 int ibase ;
1706 switch (yytext[yyleng-1]) {
1707 case 'X':
1708 case 'x':
1709 case 'H':
1710 case 'h':
1711 ibase = 16;
1712 break;
1713 case 'O':
1714 case 'o':
1715 ibase = 8;
1716 break;
1717 case 'B':
1718 case 'b':
1719 ibase = 2;
1720 break;
1721 default:
1722 ibase = 10;
1723 }
1724 yylval.integer = bfd_scan_vma (yytext, 0,
1725 ibase);
1726 yylval.bigint.str = (char *) 0;
1727 return INT;
1728 }
1729 YY_BREAK
1730case 8:
1731YY_RULE_SETUP
1732#line 186 "ldlex.l"
1733{
1734 char *s = yytext;
1735 int ibase = 0;
1736
1737 if (*s == '$')
1738 {
1739 ++s;
1740 ibase = 16;
1741 }
1742 yylval.integer = bfd_scan_vma (s, 0, ibase);
1743 yylval.bigint.str = (char *) 0;
1744 if (yytext[yyleng-1] == 'M'
1745 || yytext[yyleng-1] == 'm')
1746 {
1747 yylval.integer *= 1024 * 1024;
1748 }
1749 else if (yytext[yyleng-1] == 'K'
1750 || yytext[yyleng-1]=='k')
1751 {
1752 yylval.integer *= 1024;
1753 }
1754 else if (yytext[0] == '0'
1755 && (yytext[1] == 'x'
1756 || yytext[1] == 'X'))
1757 {
1758 yylval.bigint.str = xstrdup (yytext + 2);
1759 }
1760 return INT;
1761 }
1762 YY_BREAK
1763case 9:
1764YY_RULE_SETUP
1765#line 215 "ldlex.l"
1766{ RTOKEN(']');}
1767 YY_BREAK
1768case 10:
1769YY_RULE_SETUP
1770#line 216 "ldlex.l"
1771{ RTOKEN('[');}
1772 YY_BREAK
1773case 11:
1774YY_RULE_SETUP
1775#line 217 "ldlex.l"
1776{ RTOKEN(LSHIFTEQ);}
1777 YY_BREAK
1778case 12:
1779YY_RULE_SETUP
1780#line 218 "ldlex.l"
1781{ RTOKEN(RSHIFTEQ);}
1782 YY_BREAK
1783case 13:
1784YY_RULE_SETUP
1785#line 219 "ldlex.l"
1786{ RTOKEN(OROR);}
1787 YY_BREAK
1788case 14:
1789YY_RULE_SETUP
1790#line 220 "ldlex.l"
1791{ RTOKEN(EQ);}
1792 YY_BREAK
1793case 15:
1794YY_RULE_SETUP
1795#line 221 "ldlex.l"
1796{ RTOKEN(NE);}
1797 YY_BREAK
1798case 16:
1799YY_RULE_SETUP
1800#line 222 "ldlex.l"
1801{ RTOKEN(GE);}
1802 YY_BREAK
1803case 17:
1804YY_RULE_SETUP
1805#line 223 "ldlex.l"
1806{ RTOKEN(LE);}
1807 YY_BREAK
1808case 18:
1809YY_RULE_SETUP
1810#line 224 "ldlex.l"
1811{ RTOKEN(LSHIFT);}
1812 YY_BREAK
1813case 19:
1814YY_RULE_SETUP
1815#line 225 "ldlex.l"
1816{ RTOKEN(RSHIFT);}
1817 YY_BREAK
1818case 20:
1819YY_RULE_SETUP
1820#line 226 "ldlex.l"
1821{ RTOKEN(PLUSEQ);}
1822 YY_BREAK
1823case 21:
1824YY_RULE_SETUP
1825#line 227 "ldlex.l"
1826{ RTOKEN(MINUSEQ);}
1827 YY_BREAK
1828case 22:
1829YY_RULE_SETUP
1830#line 228 "ldlex.l"
1831{ RTOKEN(MULTEQ);}
1832 YY_BREAK
1833case 23:
1834YY_RULE_SETUP
1835#line 229 "ldlex.l"
1836{ RTOKEN(DIVEQ);}
1837 YY_BREAK
1838case 24:
1839YY_RULE_SETUP
1840#line 230 "ldlex.l"
1841{ RTOKEN(ANDEQ);}
1842 YY_BREAK
1843case 25:
1844YY_RULE_SETUP
1845#line 231 "ldlex.l"
1846{ RTOKEN(OREQ);}
1847 YY_BREAK
1848case 26:
1849YY_RULE_SETUP
1850#line 232 "ldlex.l"
1851{ RTOKEN(ANDAND);}
1852 YY_BREAK
1853case 27:
1854YY_RULE_SETUP
1855#line 233 "ldlex.l"
1856{ RTOKEN('>');}
1857 YY_BREAK
1858case 28:
1859YY_RULE_SETUP
1860#line 234 "ldlex.l"
1861{ RTOKEN(',');}
1862 YY_BREAK
1863case 29:
1864YY_RULE_SETUP
1865#line 235 "ldlex.l"
1866{ RTOKEN('&');}
1867 YY_BREAK
1868case 30:
1869YY_RULE_SETUP
1870#line 236 "ldlex.l"
1871{ RTOKEN('|');}
1872 YY_BREAK
1873case 31:
1874YY_RULE_SETUP
1875#line 237 "ldlex.l"
1876{ RTOKEN('~');}
1877 YY_BREAK
1878case 32:
1879YY_RULE_SETUP
1880#line 238 "ldlex.l"
1881{ RTOKEN('!');}
1882 YY_BREAK
1883case 33:
1884YY_RULE_SETUP
1885#line 239 "ldlex.l"
1886{ RTOKEN('?');}
1887 YY_BREAK
1888case 34:
1889YY_RULE_SETUP
1890#line 240 "ldlex.l"
1891{ RTOKEN('*');}
1892 YY_BREAK
1893case 35:
1894YY_RULE_SETUP
1895#line 241 "ldlex.l"
1896{ RTOKEN('+');}
1897 YY_BREAK
1898case 36:
1899YY_RULE_SETUP
1900#line 242 "ldlex.l"
1901{ RTOKEN('-');}
1902 YY_BREAK
1903case 37:
1904YY_RULE_SETUP
1905#line 243 "ldlex.l"
1906{ RTOKEN('/');}
1907 YY_BREAK
1908case 38:
1909YY_RULE_SETUP
1910#line 244 "ldlex.l"
1911{ RTOKEN('%');}
1912 YY_BREAK
1913case 39:
1914YY_RULE_SETUP
1915#line 245 "ldlex.l"
1916{ RTOKEN('<');}
1917 YY_BREAK
1918case 40:
1919YY_RULE_SETUP
1920#line 246 "ldlex.l"
1921{ RTOKEN('=');}
1922 YY_BREAK
1923case 41:
1924YY_RULE_SETUP
1925#line 247 "ldlex.l"
1926{ RTOKEN('}') ; }
1927 YY_BREAK
1928case 42:
1929YY_RULE_SETUP
1930#line 248 "ldlex.l"
1931{ RTOKEN('{'); }
1932 YY_BREAK
1933case 43:
1934YY_RULE_SETUP
1935#line 249 "ldlex.l"
1936{ RTOKEN(')');}
1937 YY_BREAK
1938case 44:
1939YY_RULE_SETUP
1940#line 250 "ldlex.l"
1941{ RTOKEN('(');}
1942 YY_BREAK
1943case 45:
1944YY_RULE_SETUP
1945#line 251 "ldlex.l"
1946{ RTOKEN(':'); }
1947 YY_BREAK
1948case 46:
1949YY_RULE_SETUP
1950#line 252 "ldlex.l"
1951{ RTOKEN(';');}
1952 YY_BREAK
1953case 47:
1954YY_RULE_SETUP
1955#line 253 "ldlex.l"
1956{ RTOKEN(MEMORY);}
1957 YY_BREAK
1958case 48:
1959YY_RULE_SETUP
1960#line 254 "ldlex.l"
1961{ RTOKEN(ORIGIN);}
1962 YY_BREAK
1963case 49:
1964YY_RULE_SETUP
1965#line 255 "ldlex.l"
1966{ RTOKEN(VERSIONK);}
1967 YY_BREAK
1968case 50:
1969YY_RULE_SETUP
1970#line 256 "ldlex.l"
1971{ RTOKEN(BLOCK);}
1972 YY_BREAK
1973case 51:
1974YY_RULE_SETUP
1975#line 257 "ldlex.l"
1976{ RTOKEN(BIND);}
1977 YY_BREAK
1978case 52:
1979YY_RULE_SETUP
1980#line 258 "ldlex.l"
1981{ RTOKEN(LENGTH);}
1982 YY_BREAK
1983case 53:
1984YY_RULE_SETUP
1985#line 259 "ldlex.l"
1986{ RTOKEN(ALIGN_K);}
1987 YY_BREAK
1988case 54:
1989YY_RULE_SETUP
1990#line 260 "ldlex.l"
1991{ RTOKEN(DATA_SEGMENT_ALIGN);}
1992 YY_BREAK
1993case 55:
1994YY_RULE_SETUP
1995#line 261 "ldlex.l"
1996{ RTOKEN(DATA_SEGMENT_END);}
1997 YY_BREAK
1998case 56:
1999YY_RULE_SETUP
2000#line 262 "ldlex.l"
2001{ RTOKEN(ADDR);}
2002 YY_BREAK
2003case 57:
2004YY_RULE_SETUP
2005#line 263 "ldlex.l"
2006{ RTOKEN(LOADADDR);}
2007 YY_BREAK
2008case 58:
2009YY_RULE_SETUP
2010#line 264 "ldlex.l"
2011{ RTOKEN(MAX_K); }
2012 YY_BREAK
2013case 59:
2014YY_RULE_SETUP
2015#line 265 "ldlex.l"
2016{ RTOKEN(MIN_K); }
2017 YY_BREAK
2018case 60:
2019YY_RULE_SETUP
2020#line 266 "ldlex.l"
2021{ RTOKEN(ASSERT_K); }
2022 YY_BREAK
2023case 61:
2024YY_RULE_SETUP
2025#line 267 "ldlex.l"
2026{ RTOKEN(ENTRY);}
2027 YY_BREAK
2028case 62:
2029YY_RULE_SETUP
2030#line 268 "ldlex.l"
2031{ RTOKEN(EXTERN);}
2032 YY_BREAK
2033case 63:
2034YY_RULE_SETUP
2035#line 269 "ldlex.l"
2036{ RTOKEN(NEXT);}
2037 YY_BREAK
2038case 64:
2039YY_RULE_SETUP
2040#line 270 "ldlex.l"
2041{ RTOKEN(SIZEOF_HEADERS);}
2042 YY_BREAK
2043case 65:
2044YY_RULE_SETUP
2045#line 271 "ldlex.l"
2046{ RTOKEN(SIZEOF_HEADERS);}
2047 YY_BREAK
2048case 66:
2049YY_RULE_SETUP
2050#line 272 "ldlex.l"
2051{ RTOKEN(MAP);}
2052 YY_BREAK
2053case 67:
2054YY_RULE_SETUP
2055#line 273 "ldlex.l"
2056{ RTOKEN(SIZEOF);}
2057 YY_BREAK
2058case 68:
2059YY_RULE_SETUP
2060#line 274 "ldlex.l"
2061{ RTOKEN(TARGET_K);}
2062 YY_BREAK
2063case 69:
2064YY_RULE_SETUP
2065#line 275 "ldlex.l"
2066{ RTOKEN(SEARCH_DIR);}
2067 YY_BREAK
2068case 70:
2069YY_RULE_SETUP
2070#line 276 "ldlex.l"
2071{ RTOKEN(OUTPUT);}
2072 YY_BREAK
2073case 71:
2074YY_RULE_SETUP
2075#line 277 "ldlex.l"
2076{ RTOKEN(INPUT);}
2077 YY_BREAK
2078case 72:
2079YY_RULE_SETUP
2080#line 278 "ldlex.l"
2081{ RTOKEN(GROUP);}
2082 YY_BREAK
2083case 73:
2084YY_RULE_SETUP
2085#line 279 "ldlex.l"
2086{ RTOKEN(DEFINED);}
2087 YY_BREAK
2088case 74:
2089YY_RULE_SETUP
2090#line 280 "ldlex.l"
2091{ RTOKEN(CREATE_OBJECT_SYMBOLS);}
2092 YY_BREAK
2093case 75:
2094YY_RULE_SETUP
2095#line 281 "ldlex.l"
2096{ RTOKEN( CONSTRUCTORS);}
2097 YY_BREAK
2098case 76:
2099YY_RULE_SETUP
2100#line 282 "ldlex.l"
2101{ RTOKEN(FORCE_COMMON_ALLOCATION);}
2102 YY_BREAK
2103case 77:
2104YY_RULE_SETUP
2105#line 283 "ldlex.l"
2106{ RTOKEN(INHIBIT_COMMON_ALLOCATION);}
2107 YY_BREAK
2108case 78:
2109YY_RULE_SETUP
2110#line 284 "ldlex.l"
2111{ RTOKEN(SECTIONS);}
2112 YY_BREAK
2113case 79:
2114YY_RULE_SETUP
2115#line 285 "ldlex.l"
2116{ RTOKEN(FILL);}
2117 YY_BREAK
2118case 80:
2119YY_RULE_SETUP
2120#line 286 "ldlex.l"
2121{ RTOKEN(STARTUP);}
2122 YY_BREAK
2123case 81:
2124YY_RULE_SETUP
2125#line 287 "ldlex.l"
2126{ RTOKEN(OUTPUT_FORMAT);}
2127 YY_BREAK
2128case 82:
2129YY_RULE_SETUP
2130#line 288 "ldlex.l"
2131{ RTOKEN( OUTPUT_ARCH);}
2132 YY_BREAK
2133case 83:
2134YY_RULE_SETUP
2135#line 289 "ldlex.l"
2136{ RTOKEN(HLL);}
2137 YY_BREAK
2138case 84:
2139YY_RULE_SETUP
2140#line 290 "ldlex.l"
2141{ RTOKEN(SYSLIB);}
2142 YY_BREAK
2143case 85:
2144YY_RULE_SETUP
2145#line 291 "ldlex.l"
2146{ RTOKEN(FLOAT);}
2147 YY_BREAK
2148case 86:
2149YY_RULE_SETUP
2150#line 292 "ldlex.l"
2151{ RTOKEN( QUAD);}
2152 YY_BREAK
2153case 87:
2154YY_RULE_SETUP
2155#line 293 "ldlex.l"
2156{ RTOKEN( SQUAD);}
2157 YY_BREAK
2158case 88:
2159YY_RULE_SETUP
2160#line 294 "ldlex.l"
2161{ RTOKEN( LONG);}
2162 YY_BREAK
2163case 89:
2164YY_RULE_SETUP
2165#line 295 "ldlex.l"
2166{ RTOKEN( SHORT);}
2167 YY_BREAK
2168case 90:
2169YY_RULE_SETUP
2170#line 296 "ldlex.l"
2171{ RTOKEN( BYTE);}
2172 YY_BREAK
2173case 91:
2174YY_RULE_SETUP
2175#line 297 "ldlex.l"
2176{ RTOKEN(NOFLOAT);}
2177 YY_BREAK
2178case 92:
2179YY_RULE_SETUP
2180#line 298 "ldlex.l"
2181{ RTOKEN(NOCROSSREFS);}
2182 YY_BREAK
2183case 93:
2184YY_RULE_SETUP
2185#line 299 "ldlex.l"
2186{ RTOKEN(OVERLAY); }
2187 YY_BREAK
2188case 94:
2189YY_RULE_SETUP
2190#line 300 "ldlex.l"
2191{ RTOKEN(SORT); }
2192 YY_BREAK
2193case 95:
2194YY_RULE_SETUP
2195#line 301 "ldlex.l"
2196{ RTOKEN(NOLOAD);}
2197 YY_BREAK
2198case 96:
2199YY_RULE_SETUP
2200#line 302 "ldlex.l"
2201{ RTOKEN(DSECT);}
2202 YY_BREAK
2203case 97:
2204YY_RULE_SETUP
2205#line 303 "ldlex.l"
2206{ RTOKEN(COPY);}
2207 YY_BREAK
2208case 98:
2209YY_RULE_SETUP
2210#line 304 "ldlex.l"
2211{ RTOKEN(INFO);}
2212 YY_BREAK
2213case 99:
2214YY_RULE_SETUP
2215#line 305 "ldlex.l"
2216{ RTOKEN(OVERLAY);}
2217 YY_BREAK
2218case 100:
2219YY_RULE_SETUP
2220#line 306 "ldlex.l"
2221{ RTOKEN(ORIGIN);}
2222 YY_BREAK
2223case 101:
2224YY_RULE_SETUP
2225#line 307 "ldlex.l"
2226{ RTOKEN(ORIGIN);}
2227 YY_BREAK
2228case 102:
2229YY_RULE_SETUP
2230#line 308 "ldlex.l"
2231{ RTOKEN( LENGTH);}
2232 YY_BREAK
2233case 103:
2234YY_RULE_SETUP
2235#line 309 "ldlex.l"
2236{ RTOKEN( LENGTH);}
2237 YY_BREAK
2238case 104:
2239YY_RULE_SETUP
2240#line 310 "ldlex.l"
2241{ RTOKEN(INCLUDE);}
2242 YY_BREAK
2243case 105:
2244YY_RULE_SETUP
2245#line 311 "ldlex.l"
2246{ RTOKEN (PHDRS); }
2247 YY_BREAK
2248case 106:
2249YY_RULE_SETUP
2250#line 312 "ldlex.l"
2251{ RTOKEN(AT);}
2252 YY_BREAK
2253case 107:
2254YY_RULE_SETUP
2255#line 313 "ldlex.l"
2256{ RTOKEN(PROVIDE); }
2257 YY_BREAK
2258case 108:
2259YY_RULE_SETUP
2260#line 314 "ldlex.l"
2261{ RTOKEN(KEEP); }
2262 YY_BREAK
2263case 109:
2264YY_RULE_SETUP
2265#line 315 "ldlex.l"
2266{ RTOKEN(EXCLUDE_FILE); }
2267 YY_BREAK
2268case 110:
2269/* rule 110 can match eol */
2270YY_RULE_SETUP
2271#line 316 "ldlex.l"
2272{ ++ lineno; }
2273 YY_BREAK
2274case 111:
2275/* rule 111 can match eol */
2276YY_RULE_SETUP
2277#line 317 "ldlex.l"
2278{ ++ lineno; RTOKEN(NEWLINE); }
2279 YY_BREAK
2280case 112:
2281YY_RULE_SETUP
2282#line 318 "ldlex.l"
2283{ /* Mri comment line */ }
2284 YY_BREAK
2285case 113:
2286YY_RULE_SETUP
2287#line 319 "ldlex.l"
2288{ /* Mri comment line */ }
2289 YY_BREAK
2290case 114:
2291YY_RULE_SETUP
2292#line 320 "ldlex.l"
2293{ RTOKEN(ENDWORD); }
2294 YY_BREAK
2295case 115:
2296YY_RULE_SETUP
2297#line 321 "ldlex.l"
2298{ RTOKEN(ALIGNMOD);}
2299 YY_BREAK
2300case 116:
2301YY_RULE_SETUP
2302#line 322 "ldlex.l"
2303{ RTOKEN(ALIGN_K);}
2304 YY_BREAK
2305case 117:
2306YY_RULE_SETUP
2307#line 323 "ldlex.l"
2308{ RTOKEN(CHIP); }
2309 YY_BREAK
2310case 118:
2311YY_RULE_SETUP
2312#line 324 "ldlex.l"
2313{ RTOKEN(BASE); }
2314 YY_BREAK
2315case 119:
2316YY_RULE_SETUP
2317#line 325 "ldlex.l"
2318{ RTOKEN(ALIAS); }
2319 YY_BREAK
2320case 120:
2321YY_RULE_SETUP
2322#line 326 "ldlex.l"
2323{ RTOKEN(TRUNCATE); }
2324 YY_BREAK
2325case 121:
2326YY_RULE_SETUP
2327#line 327 "ldlex.l"
2328{ RTOKEN(LOAD); }
2329 YY_BREAK
2330case 122:
2331YY_RULE_SETUP
2332#line 328 "ldlex.l"
2333{ RTOKEN(PUBLIC); }
2334 YY_BREAK
2335case 123:
2336YY_RULE_SETUP
2337#line 329 "ldlex.l"
2338{ RTOKEN(ORDER); }
2339 YY_BREAK
2340case 124:
2341YY_RULE_SETUP
2342#line 330 "ldlex.l"
2343{ RTOKEN(NAMEWORD); }
2344 YY_BREAK
2345case 125:
2346YY_RULE_SETUP
2347#line 331 "ldlex.l"
2348{ RTOKEN(FORMAT); }
2349 YY_BREAK
2350case 126:
2351YY_RULE_SETUP
2352#line 332 "ldlex.l"
2353{ RTOKEN(CASE); }
2354 YY_BREAK
2355case 127:
2356YY_RULE_SETUP
2357#line 333 "ldlex.l"
2358{ RTOKEN(START); }
2359 YY_BREAK
2360case 128:
2361YY_RULE_SETUP
2362#line 334 "ldlex.l"
2363{ RTOKEN(LIST); /* LIST and ignore to end of line */ }
2364 YY_BREAK
2365case 129:
2366YY_RULE_SETUP
2367#line 335 "ldlex.l"
2368{ RTOKEN(SECT); }
2369 YY_BREAK
2370case 130:
2371YY_RULE_SETUP
2372#line 336 "ldlex.l"
2373{ RTOKEN(ABSOLUTE); }
2374 YY_BREAK
2375case 131:
2376YY_RULE_SETUP
2377#line 337 "ldlex.l"
2378{ RTOKEN(ENDWORD); }
2379 YY_BREAK
2380case 132:
2381YY_RULE_SETUP
2382#line 338 "ldlex.l"
2383{ RTOKEN(ALIGNMOD);}
2384 YY_BREAK
2385case 133:
2386YY_RULE_SETUP
2387#line 339 "ldlex.l"
2388{ RTOKEN(ALIGN_K);}
2389 YY_BREAK
2390case 134:
2391YY_RULE_SETUP
2392#line 340 "ldlex.l"
2393{ RTOKEN(CHIP); }
2394 YY_BREAK
2395case 135:
2396YY_RULE_SETUP
2397#line 341 "ldlex.l"
2398{ RTOKEN(BASE); }
2399 YY_BREAK
2400case 136:
2401YY_RULE_SETUP
2402#line 342 "ldlex.l"
2403{ RTOKEN(ALIAS); }
2404 YY_BREAK
2405case 137:
2406YY_RULE_SETUP
2407#line 343 "ldlex.l"
2408{ RTOKEN(TRUNCATE); }
2409 YY_BREAK
2410case 138:
2411YY_RULE_SETUP
2412#line 344 "ldlex.l"
2413{ RTOKEN(LOAD); }
2414 YY_BREAK
2415case 139:
2416YY_RULE_SETUP
2417#line 345 "ldlex.l"
2418{ RTOKEN(PUBLIC); }
2419 YY_BREAK
2420case 140:
2421YY_RULE_SETUP
2422#line 346 "ldlex.l"
2423{ RTOKEN(ORDER); }
2424 YY_BREAK
2425case 141:
2426YY_RULE_SETUP
2427#line 347 "ldlex.l"
2428{ RTOKEN(NAMEWORD); }
2429 YY_BREAK
2430case 142:
2431YY_RULE_SETUP
2432#line 348 "ldlex.l"
2433{ RTOKEN(FORMAT); }
2434 YY_BREAK
2435case 143:
2436YY_RULE_SETUP
2437#line 349 "ldlex.l"
2438{ RTOKEN(CASE); }
2439 YY_BREAK
2440case 144:
2441YY_RULE_SETUP
2442#line 350 "ldlex.l"
2443{ RTOKEN(EXTERN); }
2444 YY_BREAK
2445case 145:
2446YY_RULE_SETUP
2447#line 351 "ldlex.l"
2448{ RTOKEN(START); }
2449 YY_BREAK
2450case 146:
2451YY_RULE_SETUP
2452#line 352 "ldlex.l"
2453{ RTOKEN(LIST); /* LIST and ignore to end of line */ }
2454 YY_BREAK
2455case 147:
2456YY_RULE_SETUP
2457#line 353 "ldlex.l"
2458{ RTOKEN(SECT); }
2459 YY_BREAK
2460case 148:
2461YY_RULE_SETUP
2462#line 354 "ldlex.l"
2463{ RTOKEN(ABSOLUTE); }
2464 YY_BREAK
2465case 149:
2466YY_RULE_SETUP
2467#line 356 "ldlex.l"
2468{
2469/* Filename without commas, needed to parse mri stuff */
2470 yylval.name = xstrdup(yytext);
2471 return NAME;
2472 }
2473 YY_BREAK
2474case 150:
2475YY_RULE_SETUP
2476#line 363 "ldlex.l"
2477{
2478 yylval.name = xstrdup(yytext);
2479 return NAME;
2480 }
2481 YY_BREAK
2482case 151:
2483YY_RULE_SETUP
2484#line 367 "ldlex.l"
2485{
2486 yylval.name = xstrdup (yytext + 2);
2487 return LNAME;
2488 }
2489 YY_BREAK
2490case 152:
2491YY_RULE_SETUP
2492#line 371 "ldlex.l"
2493{
2494 /* Annoyingly, this pattern can match comments, and we have
2495 longest match issues to consider. So if the first two
2496 characters are a comment opening, put the input back and
2497 try again. */
2498 if (yytext[0] == '/' && yytext[1] == '*')
2499 {
2500 yyless(2);
2501 comment ();
2502 }
2503 else
2504 {
2505 yylval.name = xstrdup(yytext);
2506 return NAME;
2507 }
2508 }
2509 YY_BREAK
2510case 153:
2511/* rule 153 can match eol */
2512YY_RULE_SETUP
2513#line 388 "ldlex.l"
2514{
2515 /* No matter the state, quotes
2516 give what's inside */
2517 yylval.name = xstrdup(yytext+1);
2518 yylval.name[yyleng-2] = 0;
2519 return NAME;
2520 }
2521 YY_BREAK
2522case 154:
2523/* rule 154 can match eol */
2524YY_RULE_SETUP
2525#line 395 "ldlex.l"
2526{ lineno++;}
2527 YY_BREAK
2528case 155:
2529YY_RULE_SETUP
2530#line 396 "ldlex.l"
2531{ }
2532 YY_BREAK
2533case 156:
2534YY_RULE_SETUP
2535#line 398 "ldlex.l"
2536{ return *yytext; }
2537 YY_BREAK
2538case 157:
2539YY_RULE_SETUP
2540#line 400 "ldlex.l"
2541{ RTOKEN(GLOBAL); }
2542 YY_BREAK
2543case 158:
2544YY_RULE_SETUP
2545#line 402 "ldlex.l"
2546{ RTOKEN(LOCAL); }
2547 YY_BREAK
2548case 159:
2549YY_RULE_SETUP
2550#line 404 "ldlex.l"
2551{ RTOKEN(EXTERN); }
2552 YY_BREAK
2553case 160:
2554YY_RULE_SETUP
2555#line 406 "ldlex.l"
2556{ yylval.name = xstrdup (yytext);
2557 return VERS_IDENTIFIER; }
2558 YY_BREAK
2559case 161:
2560YY_RULE_SETUP
2561#line 409 "ldlex.l"
2562{ yylval.name = xstrdup (yytext);
2563 return VERS_TAG; }
2564 YY_BREAK
2565case 162:
2566YY_RULE_SETUP
2567#line 412 "ldlex.l"
2568{ BEGIN(VERS_SCRIPT); return *yytext; }
2569 YY_BREAK
2570case 163:
2571YY_RULE_SETUP
2572#line 414 "ldlex.l"
2573{ BEGIN(VERS_NODE);
2574 vers_node_nesting = 0;
2575 return *yytext;
2576 }
2577 YY_BREAK
2578case 164:
2579YY_RULE_SETUP
2580#line 418 "ldlex.l"
2581{ return *yytext; }
2582 YY_BREAK
2583case 165:
2584YY_RULE_SETUP
2585#line 419 "ldlex.l"
2586{ vers_node_nesting++; return *yytext; }
2587 YY_BREAK
2588case 166:
2589YY_RULE_SETUP
2590#line 420 "ldlex.l"
2591{ if (--vers_node_nesting < 0)
2592 BEGIN(VERS_SCRIPT);
2593 return *yytext;
2594 }
2595 YY_BREAK
2596case 167:
2597/* rule 167 can match eol */
2598YY_RULE_SETUP
2599#line 425 "ldlex.l"
2600{ lineno++; }
2601 YY_BREAK
2602case 168:
2603YY_RULE_SETUP
2604#line 427 "ldlex.l"
2605{ /* Eat up comments */ }
2606 YY_BREAK
2607case 169:
2608YY_RULE_SETUP
2609#line 429 "ldlex.l"
2610{ /* Eat up whitespace */ }
2611 YY_BREAK
2612case YY_STATE_EOF(INITIAL):
2613case YY_STATE_EOF(SCRIPT):
2614case YY_STATE_EOF(EXPRESSION):
2615case YY_STATE_EOF(BOTH):
2616case YY_STATE_EOF(DEFSYMEXP):
2617case YY_STATE_EOF(MRI):
2618case YY_STATE_EOF(VERS_START):
2619case YY_STATE_EOF(VERS_SCRIPT):
2620case YY_STATE_EOF(VERS_NODE):
2621#line 431 "ldlex.l"
2622{
2623 include_stack_ptr--;
2624
2625 if (include_stack_ptr == 0)
2626 {
2627 yyterminate();
2628 }
2629 else
2630 {
2631 yy_switch_to_buffer(include_stack[include_stack_ptr]);
2632 }
2633
2634 ldfile_input_filename = file_name_stack[include_stack_ptr - 1];
2635 lineno = lineno_stack[include_stack_ptr];
2636
2637 return END;
2638}
2639 YY_BREAK
2640case 170:
2641YY_RULE_SETUP
2642#line 449 "ldlex.l"
2643lex_warn_invalid(" in script", yytext);
2644 YY_BREAK
2645case 171:
2646YY_RULE_SETUP
2647#line 450 "ldlex.l"
2648lex_warn_invalid(" in expression", yytext);
2649 YY_BREAK
2650case 172:
2651YY_RULE_SETUP
2652#line 452 "ldlex.l"
2653ECHO;
2654 YY_BREAK
2655#line 2656 "lex.yy.c"
2656
2657 case YY_END_OF_BUFFER:
2658 {
2659 /* Amount of text matched not including the EOB char. */
2660 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
2661
2662 /* Undo the effects of YY_DO_BEFORE_ACTION. */
2663 *yy_cp = (yy_hold_char);
2664 YY_RESTORE_YY_MORE_OFFSET
2665
2666 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
2667 {
2668 /* We're scanning a new file or input source. It's
2669 * possible that this happened because the user
2670 * just pointed yyin at a new source and called
2671 * yylex(). If so, then we have to assure
2672 * consistency between YY_CURRENT_BUFFER and our
2673 * globals. Here is the right place to do so, because
2674 * this is the first action (other than possibly a
2675 * back-up) that will match for the new input source.
2676 */
2677 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2678 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
2679 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
2680 }
2681
2682 /* Note that here we test for yy_c_buf_p "<=" to the position
2683 * of the first EOB in the buffer, since yy_c_buf_p will
2684 * already have been incremented past the NUL character
2685 * (since all states make transitions on EOB to the
2686 * end-of-buffer state). Contrast this with the test
2687 * in input().
2688 */
2689 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2690 { /* This was really a NUL. */
2691 yy_state_type yy_next_state;
2692
2693 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
2694
2695 yy_current_state = yy_get_previous_state( );
2696
2697 /* Okay, we're now positioned to make the NUL
2698 * transition. We couldn't have
2699 * yy_get_previous_state() go ahead and do it
2700 * for us because it doesn't know how to deal
2701 * with the possibility of jamming (and we don't
2702 * want to build jamming into it because then it
2703 * will run more slowly).
2704 */
2705
2706 yy_next_state = yy_try_NUL_trans( yy_current_state );
2707
2708 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2709
2710 if ( yy_next_state )
2711 {
2712 /* Consume the NUL. */
2713 yy_cp = ++(yy_c_buf_p);
2714 yy_current_state = yy_next_state;
2715 goto yy_match;
2716 }
2717
2718 else
2719 {
2720 yy_cp = (yy_c_buf_p);
2721 goto yy_find_action;
2722 }
2723 }
2724
2725 else switch ( yy_get_next_buffer( ) )
2726 {
2727 case EOB_ACT_END_OF_FILE:
2728 {
2729 (yy_did_buffer_switch_on_eof) = 0;
2730
2731 if ( yywrap( ) )
2732 {
2733 /* Note: because we've taken care in
2734 * yy_get_next_buffer() to have set up
2735 * yytext, we can now set up
2736 * yy_c_buf_p so that if some total
2737 * hoser (like flex itself) wants to
2738 * call the scanner after we return the
2739 * YY_NULL, it'll still work - another
2740 * YY_NULL will get returned.
2741 */
2742 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
2743
2744 yy_act = YY_STATE_EOF(YY_START);
2745 goto do_action;
2746 }
2747
2748 else
2749 {
2750 if ( ! (yy_did_buffer_switch_on_eof) )
2751 YY_NEW_FILE;
2752 }
2753 break;
2754 }
2755
2756 case EOB_ACT_CONTINUE_SCAN:
2757 (yy_c_buf_p) =
2758 (yytext_ptr) + yy_amount_of_matched_text;
2759
2760 yy_current_state = yy_get_previous_state( );
2761
2762 yy_cp = (yy_c_buf_p);
2763 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2764 goto yy_match;
2765
2766 case EOB_ACT_LAST_MATCH:
2767 (yy_c_buf_p) =
2768 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
2769
2770 yy_current_state = yy_get_previous_state( );
2771
2772 yy_cp = (yy_c_buf_p);
2773 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2774 goto yy_find_action;
2775 }
2776 break;
2777 }
2778
2779 default:
2780 YY_FATAL_ERROR(
2781 "fatal flex scanner internal error--no action found" );
2782 } /* end of action switch */
2783 } /* end of scanning one token */
2784} /* end of yylex */
2785
2786/* yy_get_next_buffer - try to read in a new buffer
2787 *
2788 * Returns a code representing an action:
2789 * EOB_ACT_LAST_MATCH -
2790 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2791 * EOB_ACT_END_OF_FILE - end of file
2792 */
2793static int yy_get_next_buffer (void)
2794{
2795 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
2796 register char *source = (yytext_ptr);
2797 register int number_to_move, i;
2798 int ret_val;
2799
2800 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
2801 YY_FATAL_ERROR(
2802 "fatal flex scanner internal error--end of buffer missed" );
2803
2804 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
2805 { /* Don't try to fill the buffer, so this is an EOF. */
2806 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
2807 {
2808 /* We matched a single character, the EOB, so
2809 * treat this as a final EOF.
2810 */
2811 return EOB_ACT_END_OF_FILE;
2812 }
2813
2814 else
2815 {
2816 /* We matched some text prior to the EOB, first
2817 * process it.
2818 */
2819 return EOB_ACT_LAST_MATCH;
2820 }
2821 }
2822
2823 /* Try to read more data. */
2824
2825 /* First move last chars to start of buffer. */
2826 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
2827
2828 for ( i = 0; i < number_to_move; ++i )
2829 *(dest++) = *(source++);
2830
2831 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2832 /* don't do the read, it's not guaranteed to return an EOF,
2833 * just force an EOF
2834 */
2835 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
2836
2837 else
2838 {
2839 size_t num_to_read =
2840 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
2841
2842 while ( num_to_read <= 0 )
2843 { /* Not enough room in the buffer - grow it. */
2844
2845 /* just a shorter name for the current buffer */
2846 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
2847
2848 int yy_c_buf_p_offset =
2849 (int) ((yy_c_buf_p) - b->yy_ch_buf);
2850
2851 if ( b->yy_is_our_buffer )
2852 {
2853 int new_size = b->yy_buf_size * 2;
2854
2855 if ( new_size <= 0 )
2856 b->yy_buf_size += b->yy_buf_size / 8;
2857 else
2858 b->yy_buf_size *= 2;
2859
2860 b->yy_ch_buf = (char *)
2861 /* Include room in for 2 EOB chars. */
2862 yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
2863 }
2864 else
2865 /* Can't grow it, we don't own it. */
2866 b->yy_ch_buf = 0;
2867
2868 if ( ! b->yy_ch_buf )
2869 YY_FATAL_ERROR(
2870 "fatal error - scanner input buffer overflow" );
2871
2872 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
2873
2874 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
2875 number_to_move - 1;
2876
2877 }
2878
2879 if ( num_to_read > YY_READ_BUF_SIZE )
2880 num_to_read = YY_READ_BUF_SIZE;
2881
2882 /* Read in more data. */
2883 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
2884 (yy_n_chars), num_to_read );
2885
2886 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2887 }
2888
2889 if ( (yy_n_chars) == 0 )
2890 {
2891 if ( number_to_move == YY_MORE_ADJ )
2892 {
2893 ret_val = EOB_ACT_END_OF_FILE;
2894 yyrestart(yyin );
2895 }
2896
2897 else
2898 {
2899 ret_val = EOB_ACT_LAST_MATCH;
2900 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
2901 YY_BUFFER_EOF_PENDING;
2902 }
2903 }
2904
2905 else
2906 ret_val = EOB_ACT_CONTINUE_SCAN;
2907
2908 (yy_n_chars) += number_to_move;
2909 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
2910 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
2911
2912 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
2913
2914 return ret_val;
2915}
2916
2917/* yy_get_previous_state - get the state just before the EOB char was reached */
2918
2919 static yy_state_type yy_get_previous_state (void)
2920{
2921 register yy_state_type yy_current_state;
2922 register char *yy_cp;
2923
2924 yy_current_state = (yy_start);
2925
2926 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
2927 {
2928 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2929 if ( yy_accept[yy_current_state] )
2930 {
2931 (yy_last_accepting_state) = yy_current_state;
2932 (yy_last_accepting_cpos) = yy_cp;
2933 }
2934 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2935 {
2936 yy_current_state = (int) yy_def[yy_current_state];
2937 if ( yy_current_state >= 1151 )
2938 yy_c = yy_meta[(unsigned int) yy_c];
2939 }
2940 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2941 }
2942
2943 return yy_current_state;
2944}
2945
2946/* yy_try_NUL_trans - try to make a transition on the NUL character
2947 *
2948 * synopsis
2949 * next_state = yy_try_NUL_trans( current_state );
2950 */
2951 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
2952{
2953 register int yy_is_jam;
2954 register char *yy_cp = (yy_c_buf_p);
2955
2956 register YY_CHAR yy_c = 1;
2957 if ( yy_accept[yy_current_state] )
2958 {
2959 (yy_last_accepting_state) = yy_current_state;
2960 (yy_last_accepting_cpos) = yy_cp;
2961 }
2962 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2963 {
2964 yy_current_state = (int) yy_def[yy_current_state];
2965 if ( yy_current_state >= 1151 )
2966 yy_c = yy_meta[(unsigned int) yy_c];
2967 }
2968 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2969 yy_is_jam = (yy_current_state == 1150);
2970
2971 return yy_is_jam ? 0 : yy_current_state;
2972}
2973
2974 static void yyunput (int c, register char * yy_bp )
2975{
2976 register char *yy_cp;
2977
2978 yy_cp = (yy_c_buf_p);
2979
2980 /* undo effects of setting up yytext */
2981 *yy_cp = (yy_hold_char);
2982
2983 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
2984 { /* need to shift things up to make room */
2985 /* +2 for EOB chars. */
2986 register int number_to_move = (yy_n_chars) + 2;
2987 register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
2988 YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
2989 register char *source =
2990 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
2991
2992 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
2993 *--dest = *--source;
2994
2995 yy_cp += (int) (dest - source);
2996 yy_bp += (int) (dest - source);
2997 YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
2998 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
2999
3000 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
3001 YY_FATAL_ERROR( "flex scanner push-back overflow" );
3002 }
3003
3004 *--yy_cp = (char) c;
3005
3006 (yytext_ptr) = yy_bp;
3007 (yy_hold_char) = *yy_cp;
3008 (yy_c_buf_p) = yy_cp;
3009}
3010
3011#ifndef YY_NO_INPUT
3012#ifdef __cplusplus
3013 static int yyinput (void)
3014#else
3015 static int input (void)
3016#endif
3017
3018{
3019 int c;
3020
3021 *(yy_c_buf_p) = (yy_hold_char);
3022
3023 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
3024 {
3025 /* yy_c_buf_p now points to the character we want to return.
3026 * If this occurs *before* the EOB characters, then it's a
3027 * valid NUL; if not, then we've hit the end of the buffer.
3028 */
3029 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3030 /* This was really a NUL. */
3031 *(yy_c_buf_p) = '\0';
3032
3033 else
3034 { /* need more input */
3035 int offset = (yy_c_buf_p) - (yytext_ptr);
3036 ++(yy_c_buf_p);
3037
3038 switch ( yy_get_next_buffer( ) )
3039 {
3040 case EOB_ACT_LAST_MATCH:
3041 /* This happens because yy_g_n_b()
3042 * sees that we've accumulated a
3043 * token and flags that we need to
3044 * try matching the token before
3045 * proceeding. But for input(),
3046 * there's no matching to consider.
3047 * So convert the EOB_ACT_LAST_MATCH
3048 * to EOB_ACT_END_OF_FILE.
3049 */
3050
3051 /* Reset buffer status. */
3052 yyrestart(yyin );
3053
3054 /*FALLTHROUGH*/
3055
3056 case EOB_ACT_END_OF_FILE:
3057 {
3058 if ( yywrap( ) )
3059 return EOF;
3060
3061 if ( ! (yy_did_buffer_switch_on_eof) )
3062 YY_NEW_FILE;
3063#ifdef __cplusplus
3064 return yyinput();
3065#else
3066 return input();
3067#endif
3068 }
3069
3070 case EOB_ACT_CONTINUE_SCAN:
3071 (yy_c_buf_p) = (yytext_ptr) + offset;
3072 break;
3073 }
3074 }
3075 }
3076
3077 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
3078 *(yy_c_buf_p) = '\0'; /* preserve yytext */
3079 (yy_hold_char) = *++(yy_c_buf_p);
3080
3081 return c;
3082}
3083#endif /* ifndef YY_NO_INPUT */
3084
3085/** Immediately switch to a different input stream.
3086 * @param input_file A readable stream.
3087 *
3088 * @note This function does not reset the start condition to @c INITIAL .
3089 */
3090 void yyrestart (FILE * input_file )
3091{
3092
3093 if ( ! YY_CURRENT_BUFFER ){
3094 yyensure_buffer_stack ();
3095 YY_CURRENT_BUFFER_LVALUE =
3096 yy_create_buffer(yyin,YY_BUF_SIZE );
3097 }
3098
3099 yy_init_buffer(YY_CURRENT_BUFFER,input_file );
3100 yy_load_buffer_state( );
3101}
3102
3103/** Switch to a different input buffer.
3104 * @param new_buffer The new input buffer.
3105 *
3106 */
3107 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
3108{
3109
3110 /* TODO. We should be able to replace this entire function body
3111 * with
3112 * yypop_buffer_state();
3113 * yypush_buffer_state(new_buffer);
3114 */
3115 yyensure_buffer_stack ();
3116 if ( YY_CURRENT_BUFFER == new_buffer )
3117 return;
3118
3119 if ( YY_CURRENT_BUFFER )
3120 {
3121 /* Flush out information for old buffer. */
3122 *(yy_c_buf_p) = (yy_hold_char);
3123 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3124 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3125 }
3126
3127 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3128 yy_load_buffer_state( );
3129
3130 /* We don't actually know whether we did this switch during
3131 * EOF (yywrap()) processing, but the only time this flag
3132 * is looked at is after yywrap() is called, so it's safe
3133 * to go ahead and always set it.
3134 */
3135 (yy_did_buffer_switch_on_eof) = 1;
3136}
3137
3138static void yy_load_buffer_state (void)
3139{
3140 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3141 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
3142 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
3143 (yy_hold_char) = *(yy_c_buf_p);
3144}
3145
3146/** Allocate and initialize an input buffer state.
3147 * @param file A readable stream.
3148 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
3149 *
3150 * @return the allocated buffer state.
3151 */
3152 YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )
3153{
3154 YY_BUFFER_STATE b;
3155
3156 b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
3157 if ( ! b )
3158 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3159
3160 b->yy_buf_size = size;
3161
3162 /* yy_ch_buf has to be 2 characters longer than the size given because
3163 * we need to put in 2 end-of-buffer characters.
3164 */
3165 b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 );
3166 if ( ! b->yy_ch_buf )
3167 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3168
3169 b->yy_is_our_buffer = 1;
3170
3171 yy_init_buffer(b,file );
3172
3173 return b;
3174}
3175
3176/** Destroy the buffer.
3177 * @param b a buffer created with yy_create_buffer()
3178 *
3179 */
3180 void yy_delete_buffer (YY_BUFFER_STATE b )
3181{
3182
3183 if ( ! b )
3184 return;
3185
3186 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
3187 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
3188
3189 if ( b->yy_is_our_buffer )
3190 yyfree((void *) b->yy_ch_buf );
3191
3192 yyfree((void *) b );
3193}
3194
3195#ifndef __cplusplus
3196extern int isatty (int );
3197#endif /* __cplusplus */
3198
3199/* Initializes or reinitializes a buffer.
3200 * This function is sometimes called more than once on the same buffer,
3201 * such as during a yyrestart() or at EOF.
3202 */
3203 static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
3204
3205{
3206 int oerrno = errno;
3207
3208 yy_flush_buffer(b );
3209
3210 b->yy_input_file = file;
3211 b->yy_fill_buffer = 1;
3212
3213 /* If b is the current buffer, then yy_init_buffer was _probably_
3214 * called from yyrestart() or through yy_get_next_buffer.
3215 * In that case, we don't want to reset the lineno or column.
3216 */
3217 if (b != YY_CURRENT_BUFFER){
3218 b->yy_bs_lineno = 1;
3219 b->yy_bs_column = 0;
3220 }
3221
3222 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
3223
3224 errno = oerrno;
3225}
3226
3227/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
3228 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
3229 *
3230 */
3231 void yy_flush_buffer (YY_BUFFER_STATE b )
3232{
3233 if ( ! b )
3234 return;
3235
3236 b->yy_n_chars = 0;
3237
3238 /* We always need two end-of-buffer characters. The first causes
3239 * a transition to the end-of-buffer state. The second causes
3240 * a jam in that state.
3241 */
3242 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3243 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3244
3245 b->yy_buf_pos = &b->yy_ch_buf[0];
3246
3247 b->yy_at_bol = 1;
3248 b->yy_buffer_status = YY_BUFFER_NEW;
3249
3250 if ( b == YY_CURRENT_BUFFER )
3251 yy_load_buffer_state( );
3252}
3253
3254/** Pushes the new state onto the stack. The new state becomes
3255 * the current state. This function will allocate the stack
3256 * if necessary.
3257 * @param new_buffer The new state.
3258 *
3259 */
3260void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
3261{
3262 if (new_buffer == NULL)
3263 return;
3264
3265 yyensure_buffer_stack();
3266
3267 /* This block is copied from yy_switch_to_buffer. */
3268 if ( YY_CURRENT_BUFFER )
3269 {
3270 /* Flush out information for old buffer. */
3271 *(yy_c_buf_p) = (yy_hold_char);
3272 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3273 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3274 }
3275
3276 /* Only push if top exists. Otherwise, replace top. */
3277 if (YY_CURRENT_BUFFER)
3278 (yy_buffer_stack_top)++;
3279 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3280
3281 /* copied from yy_switch_to_buffer. */
3282 yy_load_buffer_state( );
3283 (yy_did_buffer_switch_on_eof) = 1;
3284}
3285
3286/** Removes and deletes the top of the stack, if present.
3287 * The next element becomes the new top.
3288 *
3289 */
3290void yypop_buffer_state (void)
3291{
3292 if (!YY_CURRENT_BUFFER)
3293 return;
3294
3295 yy_delete_buffer(YY_CURRENT_BUFFER );
3296 YY_CURRENT_BUFFER_LVALUE = NULL;
3297 if ((yy_buffer_stack_top) > 0)
3298 --(yy_buffer_stack_top);
3299
3300 if (YY_CURRENT_BUFFER) {
3301 yy_load_buffer_state( );
3302 (yy_did_buffer_switch_on_eof) = 1;
3303 }
3304}
3305
3306/* Allocates the stack if it does not exist.
3307 * Guarantees space for at least one push.
3308 */
3309static void yyensure_buffer_stack (void)
3310{
3311 int num_to_alloc;
3312
3313 if (!(yy_buffer_stack)) {
3314
3315 /* First allocation is just for 2 elements, since we don't know if this
3316 * scanner will even need a stack. We use 2 instead of 1 to avoid an
3317 * immediate realloc on the next call.
3318 */
3319 num_to_alloc = 1;
3320 (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
3321 (num_to_alloc * sizeof(struct yy_buffer_state*)
3322 );
3323
3324 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
3325
3326 (yy_buffer_stack_max) = num_to_alloc;
3327 (yy_buffer_stack_top) = 0;
3328 return;
3329 }
3330
3331 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
3332
3333 /* Increase the buffer to prepare for a possible push. */
3334 int grow_size = 8 /* arbitrary grow size */;
3335
3336 num_to_alloc = (yy_buffer_stack_max) + grow_size;
3337 (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
3338 ((yy_buffer_stack),
3339 num_to_alloc * sizeof(struct yy_buffer_state*)
3340 );
3341
3342 /* zero only the new slots.*/
3343 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
3344 (yy_buffer_stack_max) = num_to_alloc;
3345 }
3346}
3347
3348/** Setup the input buffer state to scan directly from a user-specified character buffer.
3349 * @param base the character buffer
3350 * @param size the size in bytes of the character buffer
3351 *
3352 * @return the newly allocated buffer state object.
3353 */
3354YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
3355{
3356 YY_BUFFER_STATE b;
3357
3358 if ( size < 2 ||
3359 base[size-2] != YY_END_OF_BUFFER_CHAR ||
3360 base[size-1] != YY_END_OF_BUFFER_CHAR )
3361 /* They forgot to leave room for the EOB's. */
3362 return 0;
3363
3364 b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
3365 if ( ! b )
3366 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
3367
3368 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
3369 b->yy_buf_pos = b->yy_ch_buf = base;
3370 b->yy_is_our_buffer = 0;
3371 b->yy_input_file = 0;
3372 b->yy_n_chars = b->yy_buf_size;
3373 b->yy_is_interactive = 0;
3374 b->yy_at_bol = 1;
3375 b->yy_fill_buffer = 0;
3376 b->yy_buffer_status = YY_BUFFER_NEW;
3377
3378 yy_switch_to_buffer(b );
3379
3380 return b;
3381}
3382
3383/** Setup the input buffer state to scan a string. The next call to yylex() will
3384 * scan from a @e copy of @a str.
3385 * @param str a NUL-terminated string to scan
3386 *
3387 * @return the newly allocated buffer state object.
3388 * @note If you want to scan bytes that may contain NUL values, then use
3389 * yy_scan_bytes() instead.
3390 */
3391YY_BUFFER_STATE yy_scan_string (yyconst char * str )
3392{
3393
3394 return yy_scan_bytes(str,strlen(str) );
3395}
3396
3397/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
3398 * scan from a @e copy of @a bytes.
3399 * @param bytes the byte buffer to scan
3400 * @param len the number of bytes in the buffer pointed to by @a bytes.
3401 *
3402 * @return the newly allocated buffer state object.
3403 */
3404YY_BUFFER_STATE yy_scan_bytes (yyconst char * bytes, int len )
3405{
3406 YY_BUFFER_STATE b;
3407 char *buf;
3408 yy_size_t n;
3409 int i;
3410
3411 /* Get memory for full buffer, including space for trailing EOB's. */
3412 n = len + 2;
3413 buf = (char *) yyalloc(n );
3414 if ( ! buf )
3415 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
3416
3417 for ( i = 0; i < len; ++i )
3418 buf[i] = bytes[i];
3419
3420 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
3421
3422 b = yy_scan_buffer(buf,n );
3423 if ( ! b )
3424 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
3425
3426 /* It's okay to grow etc. this buffer, and we should throw it
3427 * away when we're done.
3428 */
3429 b->yy_is_our_buffer = 1;
3430
3431 return b;
3432}
3433
3434#ifndef YY_EXIT_FAILURE
3435#define YY_EXIT_FAILURE 2
3436#endif
3437
3438static void yy_fatal_error (yyconst char* msg )
3439{
3440 (void) fprintf( stderr, "%s\n", msg );
3441 exit( YY_EXIT_FAILURE );
3442}
3443
3444/* Redefine yyless() so it works in section 3 code. */
3445
3446#undef yyless
3447#define yyless(n) \
3448 do \
3449 { \
3450 /* Undo effects of setting up yytext. */ \
3451 int yyless_macro_arg = (n); \
3452 YY_LESS_LINENO(yyless_macro_arg);\
3453 yytext[yyleng] = (yy_hold_char); \
3454 (yy_c_buf_p) = yytext + yyless_macro_arg; \
3455 (yy_hold_char) = *(yy_c_buf_p); \
3456 *(yy_c_buf_p) = '\0'; \
3457 yyleng = yyless_macro_arg; \
3458 } \
3459 while ( 0 )
3460
3461/* Accessor methods (get/set functions) to struct members. */
3462
3463/** Get the current line number.
3464 *
3465 */
3466int yyget_lineno (void)
3467{
3468
3469 return yylineno;
3470}
3471
3472/** Get the input stream.
3473 *
3474 */
3475FILE *yyget_in (void)
3476{
3477 return yyin;
3478}
3479
3480/** Get the output stream.
3481 *
3482 */
3483FILE *yyget_out (void)
3484{
3485 return yyout;
3486}
3487
3488/** Get the length of the current token.
3489 *
3490 */
3491int yyget_leng (void)
3492{
3493 return yyleng;
3494}
3495
3496/** Get the current token.
3497 *
3498 */
3499
3500char *yyget_text (void)
3501{
3502 return yytext;
3503}
3504
3505/** Set the current line number.
3506 * @param line_number
3507 *
3508 */
3509void yyset_lineno (int line_number )
3510{
3511
3512 yylineno = line_number;
3513}
3514
3515/** Set the input stream. This does not discard the current
3516 * input buffer.
3517 * @param in_str A readable stream.
3518 *
3519 * @see yy_switch_to_buffer
3520 */
3521void yyset_in (FILE * in_str )
3522{
3523 yyin = in_str ;
3524}
3525
3526void yyset_out (FILE * out_str )
3527{
3528 yyout = out_str ;
3529}
3530
3531int yyget_debug (void)
3532{
3533 return yy_flex_debug;
3534}
3535
3536void yyset_debug (int bdebug )
3537{
3538 yy_flex_debug = bdebug ;
3539}
3540
3541/* yylex_destroy is for both reentrant and non-reentrant scanners. */
3542int yylex_destroy (void)
3543{
3544
3545 /* Pop the buffer stack, destroying each element. */
3546 while(YY_CURRENT_BUFFER){
3547 yy_delete_buffer(YY_CURRENT_BUFFER );
3548 YY_CURRENT_BUFFER_LVALUE = NULL;
3549 yypop_buffer_state();
3550 }
3551
3552 /* Destroy the stack itself. */
3553 yyfree((yy_buffer_stack) );
3554 (yy_buffer_stack) = NULL;
3555
3556 return 0;
3557}
3558
3559/*
3560 * Internal utility routines.
3561 */
3562
3563#ifndef yytext_ptr
3564static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
3565{
3566 register int i;
3567 for ( i = 0; i < n; ++i )
3568 s1[i] = s2[i];
3569}
3570#endif
3571
3572#ifdef YY_NEED_STRLEN
3573static int yy_flex_strlen (yyconst char * s )
3574{
3575 register int n;
3576 for ( n = 0; s[n]; ++n )
3577 ;
3578
3579 return n;
3580}
3581#endif
3582
3583void *yyalloc (yy_size_t size )
3584{
3585 return (void *) malloc( size );
3586}
3587
3588void *yyrealloc (void * ptr, yy_size_t size )
3589{
3590 /* The cast to (char *) in the following accommodates both
3591 * implementations that use char* generic pointers, and those
3592 * that use void* generic pointers. It works with the latter
3593 * because both ANSI C and C++ allow castless assignment from
3594 * any pointer type to void*, and deal with argument conversions
3595 * as though doing an assignment.
3596 */
3597 return (void *) realloc( (char *) ptr, size );
3598}
3599
3600void yyfree (void * ptr )
3601{
3602 free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
3603}
3604
3605#define YYTABLES_NAME "yytables"
3606
3607#undef YY_NEW_FILE
3608#undef YY_FLUSH_BUFFER
3609#undef yy_set_bol
3610#undef yy_new_buffer
3611#undef yy_set_interactive
3612#undef yytext_ptr
3613#undef YY_DO_BEFORE_ACTION
3614
3615#ifdef YY_DECL_IS_OURS
3616#undef YY_DECL_IS_OURS
3617#undef YY_DECL
3618#endif
3619#line 452 "ldlex.l"
3620
3621
3622
3623
3624
3625/* Switch flex to reading script file NAME, open on FILE,
3626 saving the current input info on the include stack. */
3627
3628void
3629lex_push_file (file, name)
3630 FILE *file;
3631 const char *name;
3632{
3633 if (include_stack_ptr >= MAX_INCLUDE_DEPTH)
3634 {
3635 einfo("%F:includes nested too deeply\n");
3636 }
3637 file_name_stack[include_stack_ptr] = name;
3638 lineno_stack[include_stack_ptr] = lineno;
3639 include_stack[include_stack_ptr] = YY_CURRENT_BUFFER;
3640
3641 include_stack_ptr++;
3642 lineno = 1;
3643 yyin = file;
3644 yy_switch_to_buffer(yy_create_buffer(yyin,YY_BUF_SIZE));
3645}
3646
3647/* Return a newly created flex input buffer containing STRING,
3648 which is SIZE bytes long. */
3649
3650static YY_BUFFER_STATE
3651yy_create_string_buffer (string, size)
3652 const char *string;
3653 size_t size;
3654{
3655 YY_BUFFER_STATE b;
3656
3657 /* Calls to m-alloc get turned by sed into xm-alloc. */
3658 b = (YY_BUFFER_STATE) malloc (sizeof (struct yy_buffer_state));
3659 b->yy_input_file = 0;
3660 b->yy_buf_size = size;
3661
3662 /* yy_ch_buf has to be 2 characters longer than the size given because
3663 we need to put in 2 end-of-buffer characters. */
3664 b->yy_ch_buf = (char *) malloc ((unsigned) (b->yy_buf_size + 3));
3665
3666 b->yy_ch_buf[0] = '\n';
3667 strcpy (b->yy_ch_buf+1, string);
3668 b->yy_ch_buf[size+1] = YY_END_OF_BUFFER_CHAR;
3669 b->yy_ch_buf[size+2] = YY_END_OF_BUFFER_CHAR;
3670 b->yy_n_chars = size+1;
3671 b->yy_buf_pos = &b->yy_ch_buf[1];
3672
3673 b->yy_is_our_buffer = 1;
3674 b->yy_is_interactive = 0;
3675 b->yy_at_bol = 1;
3676 b->yy_fill_buffer = 0;
3677
3678 /* flex 2.4.7 changed the interface. FIXME: We should not be using
3679 a flex internal interface in the first place! */
3680#ifdef YY_BUFFER_NEW
3681 b->yy_buffer_status = YY_BUFFER_NEW;
3682#else
3683 b->yy_eof_status = EOF_NOT_SEEN;
3684#endif
3685
3686 return b;
3687}
3688
3689/* Switch flex to reading from STRING, saving the current input info
3690 on the include stack. */
3691
3692void
3693lex_redirect (string)
3694 const char *string;
3695{
3696 YY_BUFFER_STATE tmp;
3697
3698 yy_init = 0;
3699 if (include_stack_ptr >= MAX_INCLUDE_DEPTH)
3700 {
3701 einfo("%F: macros nested too deeply\n");
3702 }
3703 file_name_stack[include_stack_ptr] = "redirect";
3704 lineno_stack[include_stack_ptr] = lineno;
3705 include_stack[include_stack_ptr] = YY_CURRENT_BUFFER;
3706 include_stack_ptr++;
3707 lineno = 1;
3708 tmp = yy_create_string_buffer (string, strlen (string));
3709 yy_switch_to_buffer (tmp);
3710}
3711
3712
3713/* Functions to switch to a different flex start condition,
3714 saving the current start condition on `state_stack'. */
3715
3716static int state_stack[MAX_INCLUDE_DEPTH * 2];
3717static int *state_stack_p = state_stack;
3718
3719void
3720ldlex_script ()
3721{
3722 *(state_stack_p)++ = yy_start;
3723 BEGIN (SCRIPT);
3724}
3725
3726void
3727ldlex_mri_script ()
3728{
3729 *(state_stack_p)++ = yy_start;
3730 BEGIN (MRI);
3731}
3732
3733void
3734ldlex_version_script ()
3735{
3736 *(state_stack_p)++ = yy_start;
3737 BEGIN (VERS_START);
3738}
3739
3740void
3741ldlex_version_file ()
3742{
3743 *(state_stack_p)++ = yy_start;
3744 BEGIN (VERS_SCRIPT);
3745}
3746
3747void
3748ldlex_defsym ()
3749{
3750 *(state_stack_p)++ = yy_start;
3751 BEGIN (DEFSYMEXP);
3752}
3753
3754void
3755ldlex_expression ()
3756{
3757 *(state_stack_p)++ = yy_start;
3758 BEGIN (EXPRESSION);
3759}
3760
3761void
3762ldlex_both ()
3763{
3764 *(state_stack_p)++ = yy_start;
3765 BEGIN (BOTH);
3766}
3767
3768void
3769ldlex_popstate ()
3770{
3771 yy_start = *(--state_stack_p);
3772}
3773
3774
3775
3776/* Place up to MAX_SIZE characters in BUF and return in *RESULT
3777 either the number of characters read, or 0 to indicate EOF. */
3778
3779static void
3780yy_input (buf, result, max_size)
3781 char *buf;
3782 int *result;
3783 int max_size;
3784{
3785 *result = 0;
3786 if (YY_CURRENT_BUFFER->yy_input_file)
3787 {
3788 if (yyin)
3789 {
3790 *result = fread ((char *) buf, 1, max_size, yyin);
3791 if (*result < max_size && ferror (yyin))
3792 einfo ("%F%P: read in flex scanner failed\n");
3793 }
3794 }
3795}
3796
3797/* Eat the rest of a C-style comment. */
3798
3799static void
3800comment ()
3801{
3802 int c;
3803
3804 while (1)
3805 {
3806 c = input();
3807 while (c != '*' && c != EOF)
3808 {
3809 if (c == '\n')
3810 lineno++;
3811 c = input();
3812 }
3813
3814 if (c == '*')
3815 {
3816 c = input();
3817 while (c == '*')
3818 c = input();
3819 if (c == '/')
3820 break; /* found the end */
3821 }
3822
3823 if (c == '\n')
3824 lineno++;
3825
3826 if (c == EOF)
3827 {
3828 einfo( "%F%P: EOF in comment\n");
3829 break;
3830 }
3831 }
3832}
3833
3834/* Warn the user about a garbage character WHAT in the input
3835 in context WHERE. */
3836
3837static void
3838lex_warn_invalid (where, what)
3839 char *where, *what;
3840{
3841 char buf[5];
3842
3843 /* If we have found an input file whose format we do not recognize,
3844 and we are therefore treating it as a linker script, and we find
3845 an invalid character, then most likely this is a real object file
3846 of some different format. Treat it as such. */
3847 if (ldfile_assumed_script)
3848 {
3849 bfd_set_error (bfd_error_file_not_recognized);
3850 einfo ("%F%s: file not recognized: %E\n", ldfile_input_filename);
3851 }
3852
3853 if (! ISPRINT (*what))
3854 {
3855 sprintf (buf, "\\%03o", (unsigned int) *what);
3856 what = buf;
3857 }
3858
3859 einfo ("%P:%S: ignoring invalid character `%s'%s\n", what, where);
3860}
3861
Note: See TracBrowser for help on using the repository browser.