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