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