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