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