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