OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-stable/] [binutils-2.20.1/] [ld/] [ldlex.c] - Blame information for rev 862

Go to most recent revision | Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.