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