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

Subversion Repositories scarts

[/] [scarts/] [trunk/] [toolchain/] [scarts-binutils/] [binutils-2.19.1/] [binutils/] [arlex.c] - Blame information for rev 6

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 6 jlechner
 
2
#line 3 "arlex.c"
3
 
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 31
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
#include <inttypes.h>
35
typedef int8_t flex_int8_t;
36
typedef uint8_t flex_uint8_t;
37
typedef int16_t flex_int16_t;
38
typedef uint16_t flex_uint16_t;
39
typedef int32_t flex_int32_t;
40
typedef uint32_t flex_uint32_t;
41
#else
42
typedef signed char flex_int8_t;
43
typedef short int flex_int16_t;
44
typedef int flex_int32_t;
45
typedef unsigned char flex_uint8_t;
46
typedef unsigned short int flex_uint16_t;
47
typedef unsigned int flex_uint32_t;
48
#endif /* ! C99 */
49
 
50
/* Limits of integral types. */
51
#ifndef INT8_MIN
52
#define INT8_MIN               (-128)
53
#endif
54
#ifndef INT16_MIN
55
#define INT16_MIN              (-32767-1)
56
#endif
57
#ifndef INT32_MIN
58
#define INT32_MIN              (-2147483647-1)
59
#endif
60
#ifndef INT8_MAX
61
#define INT8_MAX               (127)
62
#endif
63
#ifndef INT16_MAX
64
#define INT16_MAX              (32767)
65
#endif
66
#ifndef INT32_MAX
67
#define INT32_MAX              (2147483647)
68
#endif
69
#ifndef UINT8_MAX
70
#define UINT8_MAX              (255U)
71
#endif
72
#ifndef UINT16_MAX
73
#define UINT16_MAX             (65535U)
74
#endif
75
#ifndef UINT32_MAX
76
#define UINT32_MAX             (4294967295U)
77
#endif
78
 
79
#endif /* ! FLEXINT_H */
80
 
81
#ifdef __cplusplus
82
 
83
/* The "const" storage-class-modifier is valid. */
84
#define YY_USE_CONST
85
 
86
#else   /* ! __cplusplus */
87
 
88
#if __STDC__
89
 
90
#define YY_USE_CONST
91
 
92
#endif  /* __STDC__ */
93
#endif  /* ! __cplusplus */
94
 
95
#ifdef YY_USE_CONST
96
#define yyconst const
97
#else
98
#define yyconst
99
#endif
100
 
101
/* Returned upon end-of-file. */
102
#define YY_NULL 0
103
 
104
/* Promotes a possibly negative, possibly signed char to an unsigned
105
 * integer for use as an array index.  If the signed char is negative,
106
 * we want to instead treat it as an 8-bit unsigned char, hence the
107
 * double cast.
108
 */
109
#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
110
 
111
/* Enter a start condition.  This macro really ought to take a parameter,
112
 * but we do it the disgusting crufty way forced on us by the ()-less
113
 * definition of BEGIN.
114
 */
115
#define BEGIN (yy_start) = 1 + 2 *
116
 
117
/* Translate the current start state into a value that can be later handed
118
 * to BEGIN to return to the state.  The YYSTATE alias is for lex
119
 * compatibility.
120
 */
121
#define YY_START (((yy_start) - 1) / 2)
122
#define YYSTATE YY_START
123
 
124
/* Action number for EOF rule of a given start state. */
125
#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
126
 
127
/* Special action meaning "start processing a new file". */
128
#define YY_NEW_FILE yyrestart(yyin  )
129
 
130
#define YY_END_OF_BUFFER_CHAR 0
131
 
132
/* Size of default input buffer. */
133
#ifndef YY_BUF_SIZE
134
#define YY_BUF_SIZE 16384
135
#endif
136
 
137
/* The state buf must be large enough to hold one state per character in the main buffer.
138
 */
139
#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
140
 
141
#ifndef YY_TYPEDEF_YY_BUFFER_STATE
142
#define YY_TYPEDEF_YY_BUFFER_STATE
143
typedef struct yy_buffer_state *YY_BUFFER_STATE;
144
#endif
145
 
146
extern int yyleng;
147
 
148
extern FILE *yyin, *yyout;
149
 
150
#define EOB_ACT_CONTINUE_SCAN 0
151
#define EOB_ACT_END_OF_FILE 1
152
#define EOB_ACT_LAST_MATCH 2
153
 
154
    #define YY_LESS_LINENO(n)
155
 
156
/* Return all but the first "n" matched characters back to the input stream. */
157
#define yyless(n) \
158
        do \
159
                { \
160
                /* Undo effects of setting up yytext. */ \
161
        int yyless_macro_arg = (n); \
162
        YY_LESS_LINENO(yyless_macro_arg);\
163
                *yy_cp = (yy_hold_char); \
164
                YY_RESTORE_YY_MORE_OFFSET \
165
                (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
166
                YY_DO_BEFORE_ACTION; /* set up yytext again */ \
167
                } \
168
        while ( 0 )
169
 
170
#define unput(c) yyunput( c, (yytext_ptr)  )
171
 
172
/* The following is because we cannot portably get our hands on size_t
173
 * (without autoconf's help, which isn't available because we want
174
 * flex-generated scanners to compile on their own).
175
 */
176
 
177
#ifndef YY_TYPEDEF_YY_SIZE_T
178
#define YY_TYPEDEF_YY_SIZE_T
179
typedef unsigned int yy_size_t;
180
#endif
181
 
182
#ifndef YY_STRUCT_YY_BUFFER_STATE
183
#define YY_STRUCT_YY_BUFFER_STATE
184
struct yy_buffer_state
185
        {
186
        FILE *yy_input_file;
187
 
188
        char *yy_ch_buf;                /* input buffer */
189
        char *yy_buf_pos;               /* current position in input buffer */
190
 
191
        /* Size of input buffer in bytes, not including room for EOB
192
         * characters.
193
         */
194
        yy_size_t yy_buf_size;
195
 
196
        /* Number of characters read into yy_ch_buf, not including EOB
197
         * characters.
198
         */
199
        int yy_n_chars;
200
 
201
        /* Whether we "own" the buffer - i.e., we know we created it,
202
         * and can realloc() it to grow it, and should free() it to
203
         * delete it.
204
         */
205
        int yy_is_our_buffer;
206
 
207
        /* Whether this is an "interactive" input source; if so, and
208
         * if we're using stdio for input, then we want to use getc()
209
         * instead of fread(), to make sure we stop fetching input after
210
         * each newline.
211
         */
212
        int yy_is_interactive;
213
 
214
        /* Whether we're considered to be at the beginning of a line.
215
         * If so, '^' rules will be active on the next match, otherwise
216
         * not.
217
         */
218
        int yy_at_bol;
219
 
220
    int yy_bs_lineno; /**< The line count. */
221
    int yy_bs_column; /**< The column count. */
222
 
223
        /* Whether to try to fill the input buffer when we reach the
224
         * end of it.
225
         */
226
        int yy_fill_buffer;
227
 
228
        int yy_buffer_status;
229
 
230
#define YY_BUFFER_NEW 0
231
#define YY_BUFFER_NORMAL 1
232
        /* When an EOF's been seen but there's still some text to process
233
         * then we mark the buffer as YY_EOF_PENDING, to indicate that we
234
         * shouldn't try reading from the input source any more.  We might
235
         * still have a bunch of tokens to match, though, because of
236
         * possible backing-up.
237
         *
238
         * When we actually see the EOF, we change the status to "new"
239
         * (via yyrestart()), so that the user can continue scanning by
240
         * just pointing yyin at a new input file.
241
         */
242
#define YY_BUFFER_EOF_PENDING 2
243
 
244
        };
245
#endif /* !YY_STRUCT_YY_BUFFER_STATE */
246
 
247
/* Stack of input buffers. */
248
static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
249
static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
250
static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
251
 
252
/* We provide macros for accessing buffer states in case in the
253
 * future we want to put the buffer states in a more general
254
 * "scanner state".
255
 *
256
 * Returns the top of the stack, or NULL.
257
 */
258
#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
259
                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
260
                          : NULL)
261
 
262
/* Same as previous macro, but useful when we know that the buffer stack is not
263
 * NULL or when we need an lvalue. For internal use only.
264
 */
265
#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
266
 
267
/* yy_hold_char holds the character lost when yytext is formed. */
268
static char yy_hold_char;
269
static int yy_n_chars;          /* number of characters read into yy_ch_buf */
270
int yyleng;
271
 
272
/* Points to current character in buffer. */
273
static char *yy_c_buf_p = (char *) 0;
274
static int yy_init = 1;         /* whether we need to initialize */
275
static int yy_start = 0; /* start state number */
276
 
277
/* Flag which is used to allow yywrap()'s to do buffer switches
278
 * instead of setting up a fresh yyin.  A bit of a hack ...
279
 */
280
static int yy_did_buffer_switch_on_eof;
281
 
282
void yyrestart (FILE *input_file  );
283
void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
284
YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
285
void yy_delete_buffer (YY_BUFFER_STATE b  );
286
void yy_flush_buffer (YY_BUFFER_STATE b  );
287
void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
288
void yypop_buffer_state (void );
289
 
290
static void yyensure_buffer_stack (void );
291
static void yy_load_buffer_state (void );
292
static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
293
 
294
#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
295
 
296
YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
297
YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
298
YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len  );
299
 
300
void *yyalloc (yy_size_t  );
301
void *yyrealloc (void *,yy_size_t  );
302
void yyfree (void *  );
303
 
304
#define yy_new_buffer yy_create_buffer
305
 
306
#define yy_set_interactive(is_interactive) \
307
        { \
308
        if ( ! YY_CURRENT_BUFFER ){ \
309
        yyensure_buffer_stack (); \
310
                YY_CURRENT_BUFFER_LVALUE =    \
311
            yy_create_buffer(yyin,YY_BUF_SIZE ); \
312
        } \
313
        YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
314
        }
315
 
316
#define yy_set_bol(at_bol) \
317
        { \
318
        if ( ! YY_CURRENT_BUFFER ){\
319
        yyensure_buffer_stack (); \
320
                YY_CURRENT_BUFFER_LVALUE =    \
321
            yy_create_buffer(yyin,YY_BUF_SIZE ); \
322
        } \
323
        YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
324
        }
325
 
326
#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
327
 
328
/* Begin user sect3 */
329
 
330
typedef unsigned char YY_CHAR;
331
 
332
FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
333
 
334
typedef int yy_state_type;
335
 
336
extern int yylineno;
337
extern char *yytext;
338
#define yytext_ptr yytext
339
 
340
static yy_state_type yy_get_previous_state (void );
341
static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
342
static int yy_get_next_buffer (void );
343
static void yy_fatal_error (yyconst char msg[]  );
344
 
345
/* Done after the current pattern has been matched and before the
346
 * corresponding action - sets up yytext.
347
 */
348
#define YY_DO_BEFORE_ACTION \
349
        (yytext_ptr) = yy_bp; \
350
        yyleng = (size_t) (yy_cp - yy_bp); \
351
        (yy_hold_char) = *yy_cp; \
352
        *yy_cp = '\0'; \
353
        (yy_c_buf_p) = yy_cp;
354
 
355
#define YY_NUM_RULES 40
356
#define YY_END_OF_BUFFER 41
357
/* This struct is not used in this scanner,
358
   but its presence is necessary. */
359
struct yy_trans_info
360
        {
361
        flex_int32_t yy_verify;
362
        flex_int32_t yy_nxt;
363
        };
364
static yyconst flex_int16_t yy_accept[177] =
365
    {   0,
366
        0,    0,   41,   40,   39,   38,   35,   32,   33,   36,
367
       40,   34,   37,   35,   35,   35,   35,   35,   35,   35,
368
       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
369
       35,   35,   35,   35,   35,   35,   36,   31,   37,   35,
370
       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
371
       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
372
       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
373
       35,   35,    7,   35,   35,   35,   35,   35,   35,   35,
374
       35,   35,   35,   35,   35,   35,   22,   35,   35,   35,
375
       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
376
 
377
       35,   35,   35,   10,   11,   12,   35,   15,   35,   35,
378
       35,   35,   35,   35,   35,   35,   35,   25,   26,   27,
379
       35,   30,   35,   35,   35,    3,   35,   35,   35,   35,
380
       35,   35,   35,   35,   35,   18,   35,   35,   35,   35,
381
       35,   35,   35,    1,    2,    4,    5,   35,   35,   35,
382
       35,   35,   16,   17,   19,   20,   35,   35,   35,   35,
383
       35,   35,    8,    9,   13,   14,   35,   23,   24,   28,
384
       29,   35,   35,    6,   21,    0
385
    } ;
386
 
387
static yyconst flex_int32_t yy_ec[256] =
388
    {   0,
389
        1,    1,    1,    1,    1,    1,    1,    1,    1,    2,
390
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
391
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
392
        1,    3,    1,    1,    1,    4,    1,    1,    1,    5,
393
        6,    7,    8,    9,    4,    4,    4,    4,    4,    4,
394
        4,    4,    4,    4,    4,    4,    4,    4,   10,    1,
395
        1,    1,    1,    1,   11,   12,   13,   14,   15,   16,
396
        4,   17,   18,    4,    4,   19,   20,   21,   22,   23,
397
        4,   24,   25,   26,   27,   28,    4,   29,   30,    4,
398
        1,    4,    1,    1,    4,    1,   31,   32,   33,   34,
399
 
400
       35,   36,    4,   37,   38,    4,    4,   39,   40,   41,
401
       42,   43,    4,   44,   45,   46,   47,   48,    4,   49,
402
       50,    4,    1,    1,    1,    1,    1,    1,    1,    1,
403
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
404
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
405
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
406
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
407
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
408
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
409
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
410
 
411
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
412
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
413
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
414
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
415
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
416
        1,    1,    1,    1,    1
417
    } ;
418
 
419
static yyconst flex_int32_t yy_meta[51] =
420
    {   0,
421
        1,    2,    1,    3,    1,    1,    1,    1,    1,    1,
422
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
423
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
424
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
425
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3
426
    } ;
427
 
428
static yyconst flex_int16_t yy_base[180] =
429
    {   0,
430
        0,    0,  193,  194,  194,  194,    0,  194,  194,    0,
431
      190,  194,    0,  177,   32,   37,   32,  163,  174,  170,
432
      164,  171,  174,  169,  149,   15,   22,   17,  135,  146,
433
      142,  136,  143,  146,  141,    0,    0,  194,    0,  161,
434
      159,  158,  153,  147,  156,  143,  149,  148,  141,  150,
435
      141,  135,  138,  127,  125,  124,  119,  113,  122,  109,
436
      115,  114,  107,  116,  107,  101,  104,   43,  136,  135,
437
      130,  129,    0,  119,  123,  118,  114,  118,  119,  122,
438
      124,   25,  104,  103,   98,   97,    0,   87,   91,   86,
439
       82,   86,   87,   90,   92,  105,  100,   97,   94,   93,
440
 
441
      105,  106,  102,    0,    0,    0,  104,    0,   92,   75,
442
       70,   67,   64,   63,   75,   76,   72,    0,    0,    0,
443
       74,    0,   62,   91,   88,    0,   86,   85,   73,   85,
444
       79,   83,   70,   62,   59,    0,   57,   56,   44,   56,
445
       50,   54,   41,    0,    0,    0,    0,   63,   58,   59,
446
       67,   66,    0,    0,    0,    0,   38,   33,   34,   42,
447
       41,   51,    0,    0,    0,    0,   30,    0,    0,    0,
448
        0,   43,   21,    0,    0,  194,   65,   66,   69
449
    } ;
450
 
451
static yyconst flex_int16_t yy_def[180] =
452
    {   0,
453
      176,    1,  176,  176,  176,  176,  177,  176,  176,  178,
454
      176,  176,  179,  177,  177,  177,  177,  177,  177,  177,
455
      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
456
      177,  177,  177,  177,  177,  177,  178,  176,  179,  177,
457
      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
458
      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
459
      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
460
      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
461
      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
462
      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
463
 
464
      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
465
      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
466
      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
467
      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
468
      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
469
      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
470
      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
471
      177,  177,  177,  177,  177,    0,  176,  176,  176
472
    } ;
473
 
474
static yyconst flex_int16_t yy_nxt[245] =
475
    {   0,
476
        4,    5,    6,    7,    8,    9,   10,   11,   12,   13,
477
       14,    7,   15,   16,   17,   18,   19,    7,   20,    7,
478
        7,   21,    7,   22,   23,    7,    7,   24,    7,    7,
479
       25,    7,   26,   27,   28,   29,   30,    7,   31,    7,
480
        7,   32,    7,   33,   34,    7,    7,   35,    7,    7,
481
       41,   43,   45,   55,   44,   42,   57,   59,   56,   58,
482
       46,   96,   97,  110,  111,   60,   37,   36,   37,   39,
483
      175,   39,  174,  173,  172,  171,  170,  169,  168,  167,
484
      166,  165,  164,  163,  162,  161,  160,  159,  158,  157,
485
      156,  155,  154,  153,  152,  151,  150,  149,  148,  147,
486
 
487
      146,  145,  144,  143,  142,  141,  140,  139,  138,  137,
488
      136,  135,  134,  133,  132,  131,  130,  129,  128,  127,
489
      126,  125,  124,  123,  122,  121,  120,  119,  118,  117,
490
      116,  115,  114,  113,  112,  109,  108,  107,  106,  105,
491
      104,  103,  102,  101,  100,   99,   98,   95,   94,   93,
492
       92,   91,   90,   89,   88,   87,   86,   85,   84,   83,
493
       82,   81,   80,   79,   78,   77,   76,   75,   74,   73,
494
       72,   71,   70,   69,   68,   67,   66,   65,   64,   63,
495
       62,   61,   54,   53,   52,   51,   50,   49,   48,   47,
496
       40,   38,  176,    3,  176,  176,  176,  176,  176,  176,
497
 
498
      176,  176,  176,  176,  176,  176,  176,  176,  176,  176,
499
      176,  176,  176,  176,  176,  176,  176,  176,  176,  176,
500
      176,  176,  176,  176,  176,  176,  176,  176,  176,  176,
501
      176,  176,  176,  176,  176,  176,  176,  176,  176,  176,
502
      176,  176,  176,  176
503
    } ;
504
 
505
static yyconst flex_int16_t yy_chk[245] =
506
    {   0,
507
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
508
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
509
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
510
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
511
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
512
       15,   16,   17,   26,   16,   15,   27,   28,   26,   27,
513
       17,   68,   68,   82,   82,   28,  178,  177,  178,  179,
514
      173,  179,  172,  167,  162,  161,  160,  159,  158,  157,
515
      152,  151,  150,  149,  148,  143,  142,  141,  140,  139,
516
      138,  137,  135,  134,  133,  132,  131,  130,  129,  128,
517
 
518
      127,  125,  124,  123,  121,  117,  116,  115,  114,  113,
519
      112,  111,  110,  109,  107,  103,  102,  101,  100,   99,
520
       98,   97,   96,   95,   94,   93,   92,   91,   90,   89,
521
       88,   86,   85,   84,   83,   81,   80,   79,   78,   77,
522
       76,   75,   74,   72,   71,   70,   69,   67,   66,   65,
523
       64,   63,   62,   61,   60,   59,   58,   57,   56,   55,
524
       54,   53,   52,   51,   50,   49,   48,   47,   46,   45,
525
       44,   43,   42,   41,   40,   35,   34,   33,   32,   31,
526
       30,   29,   25,   24,   23,   22,   21,   20,   19,   18,
527
       14,   11,    3,  176,  176,  176,  176,  176,  176,  176,
528
 
529
      176,  176,  176,  176,  176,  176,  176,  176,  176,  176,
530
      176,  176,  176,  176,  176,  176,  176,  176,  176,  176,
531
      176,  176,  176,  176,  176,  176,  176,  176,  176,  176,
532
      176,  176,  176,  176,  176,  176,  176,  176,  176,  176,
533
      176,  176,  176,  176
534
    } ;
535
 
536
static yy_state_type yy_last_accepting_state;
537
static char *yy_last_accepting_cpos;
538
 
539
extern int yy_flex_debug;
540
int yy_flex_debug = 0;
541
 
542
/* The intent behind this definition is that it'll catch
543
 * any uses of REJECT which flex missed.
544
 */
545
#define REJECT reject_used_but_not_detected
546
#define yymore() yymore_used_but_not_detected
547
#define YY_MORE_ADJ 0
548
#define YY_RESTORE_YY_MORE_OFFSET
549
char *yytext;
550
#line 1 "arlex.l"
551
#line 2 "arlex.l"
552
/* arlex.l - Strange script language lexer */
553
 
554
/* Copyright 1992, 1997, 2000, 2001, 2002, 2003, 2004, 2007
555
   Free Software Foundation, Inc.
556
 
557
   This file is part of GNU Binutils.
558
 
559
   This program is free software; you can redistribute it and/or modify
560
   it under the terms of the GNU General Public License as published by
561
   the Free Software Foundation; either version 3 of the License, or
562
   (at your option) any later version.
563
 
564
   This program is distributed in the hope that it will be useful,
565
   but WITHOUT ANY WARRANTY; without even the implied warranty of
566
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
567
   GNU General Public License for more details.
568
 
569
   You should have received a copy of the GNU General Public License
570
   along with this program; if not, write to the Free Software
571
   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
572
   MA 02110-1301, USA.  */
573
 
574
 
575
/* Contributed by Steve Chamberlain <sac@cygnus.com>.  */
576
 
577
#define DONTDECLARE_MALLOC
578
#include "ansidecl.h"
579
#include "libiberty.h"
580
#include "arparse.h"
581
 
582
#define YY_NO_UNPUT
583
 
584
extern int yylex (void);
585
 
586
int linenumber;
587
#line 588 "arlex.c"
588
 
589
#define INITIAL 0
590
 
591
/* Special case for "unistd.h", since it is non-ANSI. We include it way
592
 * down here because we want the user's section 1 to have been scanned first.
593
 * The user has a chance to override it with an option.
594
 */
595
#include <unistd.h>
596
 
597
#ifndef YY_EXTRA_TYPE
598
#define YY_EXTRA_TYPE void *
599
#endif
600
 
601
/* Macros after this point can all be overridden by user definitions in
602
 * section 1.
603
 */
604
 
605
#ifndef YY_SKIP_YYWRAP
606
#ifdef __cplusplus
607
extern "C" int yywrap (void );
608
#else
609
extern int yywrap (void );
610
#endif
611
#endif
612
 
613
    static void yyunput (int c,char *buf_ptr  );
614
 
615
#ifndef yytext_ptr
616
static void yy_flex_strncpy (char *,yyconst char *,int );
617
#endif
618
 
619
#ifdef YY_NEED_STRLEN
620
static int yy_flex_strlen (yyconst char * );
621
#endif
622
 
623
#ifndef YY_NO_INPUT
624
 
625
#ifdef __cplusplus
626
static int yyinput (void );
627
#else
628
static int input (void );
629
#endif
630
 
631
#endif
632
 
633
/* Amount of stuff to slurp up with each read. */
634
#ifndef YY_READ_BUF_SIZE
635
#define YY_READ_BUF_SIZE 8192
636
#endif
637
 
638
/* Copy whatever the last rule matched to the standard output. */
639
#ifndef ECHO
640
/* This used to be an fputs(), but since the string might contain NUL's,
641
 * we now use fwrite().
642
 */
643
#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
644
#endif
645
 
646
/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
647
 * is returned in "result".
648
 */
649
#ifndef YY_INPUT
650
#define YY_INPUT(buf,result,max_size) \
651
        if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
652
                { \
653
                int c = '*'; \
654
                size_t n; \
655
                for ( n = 0; n < max_size && \
656
                             (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
657
                        buf[n] = (char) c; \
658
                if ( c == '\n' ) \
659
                        buf[n++] = (char) c; \
660
                if ( c == EOF && ferror( yyin ) ) \
661
                        YY_FATAL_ERROR( "input in flex scanner failed" ); \
662
                result = n; \
663
                } \
664
        else \
665
                { \
666
                errno=0; \
667
                while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
668
                        { \
669
                        if( errno != EINTR) \
670
                                { \
671
                                YY_FATAL_ERROR( "input in flex scanner failed" ); \
672
                                break; \
673
                                } \
674
                        errno=0; \
675
                        clearerr(yyin); \
676
                        } \
677
                }\
678
\
679
 
680
#endif
681
 
682
/* No semi-colon after return; correct usage is to write "yyterminate();" -
683
 * we don't want an extra ';' after the "return" because that will cause
684
 * some compilers to complain about unreachable statements.
685
 */
686
#ifndef yyterminate
687
#define yyterminate() return YY_NULL
688
#endif
689
 
690
/* Number of entries by which start-condition stack grows. */
691
#ifndef YY_START_STACK_INCR
692
#define YY_START_STACK_INCR 25
693
#endif
694
 
695
/* Report a fatal error. */
696
#ifndef YY_FATAL_ERROR
697
#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
698
#endif
699
 
700
/* end tables serialization structures and prototypes */
701
 
702
/* Default declaration of generated scanner - a define so the user can
703
 * easily add parameters.
704
 */
705
#ifndef YY_DECL
706
#define YY_DECL_IS_OURS 1
707
 
708
extern int yylex (void);
709
 
710
#define YY_DECL int yylex (void)
711
#endif /* !YY_DECL */
712
 
713
/* Code executed at the beginning of each rule, after yytext and yyleng
714
 * have been set up.
715
 */
716
#ifndef YY_USER_ACTION
717
#define YY_USER_ACTION
718
#endif
719
 
720
/* Code executed at the end of each rule. */
721
#ifndef YY_BREAK
722
#define YY_BREAK break;
723
#endif
724
 
725
#define YY_RULE_SETUP \
726
        YY_USER_ACTION
727
 
728
/** The main scanner function which does all the work.
729
 */
730
YY_DECL
731
{
732
        register yy_state_type yy_current_state;
733
        register char *yy_cp, *yy_bp;
734
        register int yy_act;
735
 
736
#line 42 "arlex.l"
737
 
738
 
739
#line 740 "arlex.c"
740
 
741
        if ( (yy_init) )
742
                {
743
                (yy_init) = 0;
744
 
745
#ifdef YY_USER_INIT
746
                YY_USER_INIT;
747
#endif
748
 
749
                if ( ! (yy_start) )
750
                        (yy_start) = 1; /* first start state */
751
 
752
                if ( ! yyin )
753
                        yyin = stdin;
754
 
755
                if ( ! yyout )
756
                        yyout = stdout;
757
 
758
                if ( ! YY_CURRENT_BUFFER ) {
759
                        yyensure_buffer_stack ();
760
                        YY_CURRENT_BUFFER_LVALUE =
761
                                yy_create_buffer(yyin,YY_BUF_SIZE );
762
                }
763
 
764
                yy_load_buffer_state( );
765
                }
766
 
767
        while ( 1 )             /* loops until end-of-file is reached */
768
                {
769
                yy_cp = (yy_c_buf_p);
770
 
771
                /* Support of yytext. */
772
                *yy_cp = (yy_hold_char);
773
 
774
                /* yy_bp points to the position in yy_ch_buf of the start of
775
                 * the current run.
776
                 */
777
                yy_bp = yy_cp;
778
 
779
                yy_current_state = (yy_start);
780
yy_match:
781
                do
782
                        {
783
                        register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
784
                        if ( yy_accept[yy_current_state] )
785
                                {
786
                                (yy_last_accepting_state) = yy_current_state;
787
                                (yy_last_accepting_cpos) = yy_cp;
788
                                }
789
                        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
790
                                {
791
                                yy_current_state = (int) yy_def[yy_current_state];
792
                                if ( yy_current_state >= 177 )
793
                                        yy_c = yy_meta[(unsigned int) yy_c];
794
                                }
795
                        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
796
                        ++yy_cp;
797
                        }
798
                while ( yy_base[yy_current_state] != 194 );
799
 
800
yy_find_action:
801
                yy_act = yy_accept[yy_current_state];
802
                if ( yy_act == 0 )
803
                        { /* have to back up */
804
                        yy_cp = (yy_last_accepting_cpos);
805
                        yy_current_state = (yy_last_accepting_state);
806
                        yy_act = yy_accept[yy_current_state];
807
                        }
808
 
809
                YY_DO_BEFORE_ACTION;
810
 
811
do_action:      /* This label is used only to access EOF actions. */
812
 
813
                switch ( yy_act )
814
        { /* beginning of action switch */
815
                        case 0: /* must back up */
816
                        /* undo the effects of YY_DO_BEFORE_ACTION */
817
                        *yy_cp = (yy_hold_char);
818
                        yy_cp = (yy_last_accepting_cpos);
819
                        yy_current_state = (yy_last_accepting_state);
820
                        goto yy_find_action;
821
 
822
case 1:
823
YY_RULE_SETUP
824
#line 44 "arlex.l"
825
{ return ADDLIB; }
826
        YY_BREAK
827
case 2:
828
YY_RULE_SETUP
829
#line 45 "arlex.l"
830
{ return ADDMOD; }
831
        YY_BREAK
832
case 3:
833
YY_RULE_SETUP
834
#line 46 "arlex.l"
835
{ return CLEAR; }
836
        YY_BREAK
837
case 4:
838
YY_RULE_SETUP
839
#line 47 "arlex.l"
840
{ return CREATE; }
841
        YY_BREAK
842
case 5:
843
YY_RULE_SETUP
844
#line 48 "arlex.l"
845
{ return DELETE; }
846
        YY_BREAK
847
case 6:
848
YY_RULE_SETUP
849
#line 49 "arlex.l"
850
{ return DIRECTORY; }
851
        YY_BREAK
852
case 7:
853
YY_RULE_SETUP
854
#line 50 "arlex.l"
855
{ return END; }
856
        YY_BREAK
857
case 8:
858
YY_RULE_SETUP
859
#line 51 "arlex.l"
860
{ return EXTRACT; }
861
        YY_BREAK
862
case 9:
863
YY_RULE_SETUP
864
#line 52 "arlex.l"
865
{ return FULLDIR; }
866
        YY_BREAK
867
case 10:
868
YY_RULE_SETUP
869
#line 53 "arlex.l"
870
{ return HELP; }
871
        YY_BREAK
872
case 11:
873
YY_RULE_SETUP
874
#line 54 "arlex.l"
875
{ return LIST; }
876
        YY_BREAK
877
case 12:
878
YY_RULE_SETUP
879
#line 55 "arlex.l"
880
{ return OPEN; }
881
        YY_BREAK
882
case 13:
883
YY_RULE_SETUP
884
#line 56 "arlex.l"
885
{ return REPLACE; }
886
        YY_BREAK
887
case 14:
888
YY_RULE_SETUP
889
#line 57 "arlex.l"
890
{ return VERBOSE; }
891
        YY_BREAK
892
case 15:
893
YY_RULE_SETUP
894
#line 58 "arlex.l"
895
{ return SAVE; }
896
        YY_BREAK
897
case 16:
898
YY_RULE_SETUP
899
#line 59 "arlex.l"
900
{ return ADDLIB; }
901
        YY_BREAK
902
case 17:
903
YY_RULE_SETUP
904
#line 60 "arlex.l"
905
{ return ADDMOD; }
906
        YY_BREAK
907
case 18:
908
YY_RULE_SETUP
909
#line 61 "arlex.l"
910
{ return CLEAR; }
911
        YY_BREAK
912
case 19:
913
YY_RULE_SETUP
914
#line 62 "arlex.l"
915
{ return CREATE; }
916
        YY_BREAK
917
case 20:
918
YY_RULE_SETUP
919
#line 63 "arlex.l"
920
{ return DELETE; }
921
        YY_BREAK
922
case 21:
923
YY_RULE_SETUP
924
#line 64 "arlex.l"
925
{ return DIRECTORY; }
926
        YY_BREAK
927
case 22:
928
YY_RULE_SETUP
929
#line 65 "arlex.l"
930
{ return END; }
931
        YY_BREAK
932
case 23:
933
YY_RULE_SETUP
934
#line 66 "arlex.l"
935
{ return EXTRACT; }
936
        YY_BREAK
937
case 24:
938
YY_RULE_SETUP
939
#line 67 "arlex.l"
940
{ return FULLDIR; }
941
        YY_BREAK
942
case 25:
943
YY_RULE_SETUP
944
#line 68 "arlex.l"
945
{ return HELP; }
946
        YY_BREAK
947
case 26:
948
YY_RULE_SETUP
949
#line 69 "arlex.l"
950
{ return LIST; }
951
        YY_BREAK
952
case 27:
953
YY_RULE_SETUP
954
#line 70 "arlex.l"
955
{ return OPEN; }
956
        YY_BREAK
957
case 28:
958
YY_RULE_SETUP
959
#line 71 "arlex.l"
960
{ return REPLACE; }
961
        YY_BREAK
962
case 29:
963
YY_RULE_SETUP
964
#line 72 "arlex.l"
965
{ return VERBOSE; }
966
        YY_BREAK
967
case 30:
968
YY_RULE_SETUP
969
#line 73 "arlex.l"
970
{ return SAVE; }
971
        YY_BREAK
972
case 31:
973
/* rule 31 can match eol */
974
YY_RULE_SETUP
975
#line 74 "arlex.l"
976
{ linenumber ++; }
977
        YY_BREAK
978
case 32:
979
YY_RULE_SETUP
980
#line 75 "arlex.l"
981
{ return '('; }
982
        YY_BREAK
983
case 33:
984
YY_RULE_SETUP
985
#line 76 "arlex.l"
986
{ return ')'; }
987
        YY_BREAK
988
case 34:
989
YY_RULE_SETUP
990
#line 77 "arlex.l"
991
{ return ','; }
992
        YY_BREAK
993
case 35:
994
YY_RULE_SETUP
995
#line 78 "arlex.l"
996
{
997
                yylval.name =  xstrdup (yytext);
998
                return FILENAME;
999
                }
1000
        YY_BREAK
1001
case 36:
1002
YY_RULE_SETUP
1003
#line 82 "arlex.l"
1004
{ }
1005
        YY_BREAK
1006
case 37:
1007
YY_RULE_SETUP
1008
#line 83 "arlex.l"
1009
{ }
1010
        YY_BREAK
1011
case 38:
1012
YY_RULE_SETUP
1013
#line 84 "arlex.l"
1014
{ }
1015
        YY_BREAK
1016
case 39:
1017
/* rule 39 can match eol */
1018
YY_RULE_SETUP
1019
#line 85 "arlex.l"
1020
{ linenumber ++; return NEWLINE; }
1021
        YY_BREAK
1022
case 40:
1023
YY_RULE_SETUP
1024
#line 87 "arlex.l"
1025
ECHO;
1026
        YY_BREAK
1027
#line 1028 "arlex.c"
1028
case YY_STATE_EOF(INITIAL):
1029
        yyterminate();
1030
 
1031
        case YY_END_OF_BUFFER:
1032
                {
1033
                /* Amount of text matched not including the EOB char. */
1034
                int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
1035
 
1036
                /* Undo the effects of YY_DO_BEFORE_ACTION. */
1037
                *yy_cp = (yy_hold_char);
1038
                YY_RESTORE_YY_MORE_OFFSET
1039
 
1040
                if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
1041
                        {
1042
                        /* We're scanning a new file or input source.  It's
1043
                         * possible that this happened because the user
1044
                         * just pointed yyin at a new source and called
1045
                         * yylex().  If so, then we have to assure
1046
                         * consistency between YY_CURRENT_BUFFER and our
1047
                         * globals.  Here is the right place to do so, because
1048
                         * this is the first action (other than possibly a
1049
                         * back-up) that will match for the new input source.
1050
                         */
1051
                        (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
1052
                        YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
1053
                        YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
1054
                        }
1055
 
1056
                /* Note that here we test for yy_c_buf_p "<=" to the position
1057
                 * of the first EOB in the buffer, since yy_c_buf_p will
1058
                 * already have been incremented past the NUL character
1059
                 * (since all states make transitions on EOB to the
1060
                 * end-of-buffer state).  Contrast this with the test
1061
                 * in input().
1062
                 */
1063
                if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
1064
                        { /* This was really a NUL. */
1065
                        yy_state_type yy_next_state;
1066
 
1067
                        (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
1068
 
1069
                        yy_current_state = yy_get_previous_state(  );
1070
 
1071
                        /* Okay, we're now positioned to make the NUL
1072
                         * transition.  We couldn't have
1073
                         * yy_get_previous_state() go ahead and do it
1074
                         * for us because it doesn't know how to deal
1075
                         * with the possibility of jamming (and we don't
1076
                         * want to build jamming into it because then it
1077
                         * will run more slowly).
1078
                         */
1079
 
1080
                        yy_next_state = yy_try_NUL_trans( yy_current_state );
1081
 
1082
                        yy_bp = (yytext_ptr) + YY_MORE_ADJ;
1083
 
1084
                        if ( yy_next_state )
1085
                                {
1086
                                /* Consume the NUL. */
1087
                                yy_cp = ++(yy_c_buf_p);
1088
                                yy_current_state = yy_next_state;
1089
                                goto yy_match;
1090
                                }
1091
 
1092
                        else
1093
                                {
1094
                                yy_cp = (yy_c_buf_p);
1095
                                goto yy_find_action;
1096
                                }
1097
                        }
1098
 
1099
                else switch ( yy_get_next_buffer(  ) )
1100
                        {
1101
                        case EOB_ACT_END_OF_FILE:
1102
                                {
1103
                                (yy_did_buffer_switch_on_eof) = 0;
1104
 
1105
                                if ( yywrap( ) )
1106
                                        {
1107
                                        /* Note: because we've taken care in
1108
                                         * yy_get_next_buffer() to have set up
1109
                                         * yytext, we can now set up
1110
                                         * yy_c_buf_p so that if some total
1111
                                         * hoser (like flex itself) wants to
1112
                                         * call the scanner after we return the
1113
                                         * YY_NULL, it'll still work - another
1114
                                         * YY_NULL will get returned.
1115
                                         */
1116
                                        (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
1117
 
1118
                                        yy_act = YY_STATE_EOF(YY_START);
1119
                                        goto do_action;
1120
                                        }
1121
 
1122
                                else
1123
                                        {
1124
                                        if ( ! (yy_did_buffer_switch_on_eof) )
1125
                                                YY_NEW_FILE;
1126
                                        }
1127
                                break;
1128
                                }
1129
 
1130
                        case EOB_ACT_CONTINUE_SCAN:
1131
                                (yy_c_buf_p) =
1132
                                        (yytext_ptr) + yy_amount_of_matched_text;
1133
 
1134
                                yy_current_state = yy_get_previous_state(  );
1135
 
1136
                                yy_cp = (yy_c_buf_p);
1137
                                yy_bp = (yytext_ptr) + YY_MORE_ADJ;
1138
                                goto yy_match;
1139
 
1140
                        case EOB_ACT_LAST_MATCH:
1141
                                (yy_c_buf_p) =
1142
                                &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
1143
 
1144
                                yy_current_state = yy_get_previous_state(  );
1145
 
1146
                                yy_cp = (yy_c_buf_p);
1147
                                yy_bp = (yytext_ptr) + YY_MORE_ADJ;
1148
                                goto yy_find_action;
1149
                        }
1150
                break;
1151
                }
1152
 
1153
        default:
1154
                YY_FATAL_ERROR(
1155
                        "fatal flex scanner internal error--no action found" );
1156
        } /* end of action switch */
1157
                } /* end of scanning one token */
1158
} /* end of yylex */
1159
 
1160
/* yy_get_next_buffer - try to read in a new buffer
1161
 *
1162
 * Returns a code representing an action:
1163
 *      EOB_ACT_LAST_MATCH -
1164
 *      EOB_ACT_CONTINUE_SCAN - continue scanning from current position
1165
 *      EOB_ACT_END_OF_FILE - end of file
1166
 */
1167
static int yy_get_next_buffer (void)
1168
{
1169
        register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
1170
        register char *source = (yytext_ptr);
1171
        register int number_to_move, i;
1172
        int ret_val;
1173
 
1174
        if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
1175
                YY_FATAL_ERROR(
1176
                "fatal flex scanner internal error--end of buffer missed" );
1177
 
1178
        if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
1179
                { /* Don't try to fill the buffer, so this is an EOF. */
1180
                if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
1181
                        {
1182
                        /* We matched a single character, the EOB, so
1183
                         * treat this as a final EOF.
1184
                         */
1185
                        return EOB_ACT_END_OF_FILE;
1186
                        }
1187
 
1188
                else
1189
                        {
1190
                        /* We matched some text prior to the EOB, first
1191
                         * process it.
1192
                         */
1193
                        return EOB_ACT_LAST_MATCH;
1194
                        }
1195
                }
1196
 
1197
        /* Try to read more data. */
1198
 
1199
        /* First move last chars to start of buffer. */
1200
        number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
1201
 
1202
        for ( i = 0; i < number_to_move; ++i )
1203
                *(dest++) = *(source++);
1204
 
1205
        if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
1206
                /* don't do the read, it's not guaranteed to return an EOF,
1207
                 * just force an EOF
1208
                 */
1209
                YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
1210
 
1211
        else
1212
                {
1213
                        size_t num_to_read =
1214
                        YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
1215
 
1216
                while ( num_to_read <= 0 )
1217
                        { /* Not enough room in the buffer - grow it. */
1218
 
1219
                        /* just a shorter name for the current buffer */
1220
                        YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
1221
 
1222
                        int yy_c_buf_p_offset =
1223
                                (int) ((yy_c_buf_p) - b->yy_ch_buf);
1224
 
1225
                        if ( b->yy_is_our_buffer )
1226
                                {
1227
                                int new_size = b->yy_buf_size * 2;
1228
 
1229
                                if ( new_size <= 0 )
1230
                                        b->yy_buf_size += b->yy_buf_size / 8;
1231
                                else
1232
                                        b->yy_buf_size *= 2;
1233
 
1234
                                b->yy_ch_buf = (char *)
1235
                                        /* Include room in for 2 EOB chars. */
1236
                                        yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
1237
                                }
1238
                        else
1239
                                /* Can't grow it, we don't own it. */
1240
                                b->yy_ch_buf = 0;
1241
 
1242
                        if ( ! b->yy_ch_buf )
1243
                                YY_FATAL_ERROR(
1244
                                "fatal error - scanner input buffer overflow" );
1245
 
1246
                        (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
1247
 
1248
                        num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
1249
                                                number_to_move - 1;
1250
 
1251
                        }
1252
 
1253
                if ( num_to_read > YY_READ_BUF_SIZE )
1254
                        num_to_read = YY_READ_BUF_SIZE;
1255
 
1256
                /* Read in more data. */
1257
                YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
1258
                        (yy_n_chars), num_to_read );
1259
 
1260
                YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
1261
                }
1262
 
1263
        if ( (yy_n_chars) == 0 )
1264
                {
1265
                if ( number_to_move == YY_MORE_ADJ )
1266
                        {
1267
                        ret_val = EOB_ACT_END_OF_FILE;
1268
                        yyrestart(yyin  );
1269
                        }
1270
 
1271
                else
1272
                        {
1273
                        ret_val = EOB_ACT_LAST_MATCH;
1274
                        YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
1275
                                YY_BUFFER_EOF_PENDING;
1276
                        }
1277
                }
1278
 
1279
        else
1280
                ret_val = EOB_ACT_CONTINUE_SCAN;
1281
 
1282
        (yy_n_chars) += number_to_move;
1283
        YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
1284
        YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
1285
 
1286
        (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
1287
 
1288
        return ret_val;
1289
}
1290
 
1291
/* yy_get_previous_state - get the state just before the EOB char was reached */
1292
 
1293
    static yy_state_type yy_get_previous_state (void)
1294
{
1295
        register yy_state_type yy_current_state;
1296
        register char *yy_cp;
1297
 
1298
        yy_current_state = (yy_start);
1299
 
1300
        for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
1301
                {
1302
                register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
1303
                if ( yy_accept[yy_current_state] )
1304
                        {
1305
                        (yy_last_accepting_state) = yy_current_state;
1306
                        (yy_last_accepting_cpos) = yy_cp;
1307
                        }
1308
                while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1309
                        {
1310
                        yy_current_state = (int) yy_def[yy_current_state];
1311
                        if ( yy_current_state >= 177 )
1312
                                yy_c = yy_meta[(unsigned int) yy_c];
1313
                        }
1314
                yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1315
                }
1316
 
1317
        return yy_current_state;
1318
}
1319
 
1320
/* yy_try_NUL_trans - try to make a transition on the NUL character
1321
 *
1322
 * synopsis
1323
 *      next_state = yy_try_NUL_trans( current_state );
1324
 */
1325
    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
1326
{
1327
        register int yy_is_jam;
1328
        register char *yy_cp = (yy_c_buf_p);
1329
 
1330
        register YY_CHAR yy_c = 1;
1331
        if ( yy_accept[yy_current_state] )
1332
                {
1333
                (yy_last_accepting_state) = yy_current_state;
1334
                (yy_last_accepting_cpos) = yy_cp;
1335
                }
1336
        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1337
                {
1338
                yy_current_state = (int) yy_def[yy_current_state];
1339
                if ( yy_current_state >= 177 )
1340
                        yy_c = yy_meta[(unsigned int) yy_c];
1341
                }
1342
        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1343
        yy_is_jam = (yy_current_state == 176);
1344
 
1345
        return yy_is_jam ? 0 : yy_current_state;
1346
}
1347
 
1348
    static void yyunput (int c, register char * yy_bp )
1349
{
1350
        register char *yy_cp;
1351
 
1352
    yy_cp = (yy_c_buf_p);
1353
 
1354
        /* undo effects of setting up yytext */
1355
        *yy_cp = (yy_hold_char);
1356
 
1357
        if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
1358
                { /* need to shift things up to make room */
1359
                /* +2 for EOB chars. */
1360
                register int number_to_move = (yy_n_chars) + 2;
1361
                register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
1362
                                        YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
1363
                register char *source =
1364
                                &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
1365
 
1366
                while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
1367
                        *--dest = *--source;
1368
 
1369
                yy_cp += (int) (dest - source);
1370
                yy_bp += (int) (dest - source);
1371
                YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
1372
                        (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
1373
 
1374
                if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
1375
                        YY_FATAL_ERROR( "flex scanner push-back overflow" );
1376
                }
1377
 
1378
        *--yy_cp = (char) c;
1379
 
1380
        (yytext_ptr) = yy_bp;
1381
        (yy_hold_char) = *yy_cp;
1382
        (yy_c_buf_p) = yy_cp;
1383
}
1384
 
1385
#ifndef YY_NO_INPUT
1386
#ifdef __cplusplus
1387
    static int yyinput (void)
1388
#else
1389
    static int input  (void)
1390
#endif
1391
 
1392
{
1393
        int c;
1394
 
1395
        *(yy_c_buf_p) = (yy_hold_char);
1396
 
1397
        if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
1398
                {
1399
                /* yy_c_buf_p now points to the character we want to return.
1400
                 * If this occurs *before* the EOB characters, then it's a
1401
                 * valid NUL; if not, then we've hit the end of the buffer.
1402
                 */
1403
                if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
1404
                        /* This was really a NUL. */
1405
                        *(yy_c_buf_p) = '\0';
1406
 
1407
                else
1408
                        { /* need more input */
1409
                        int offset = (yy_c_buf_p) - (yytext_ptr);
1410
                        ++(yy_c_buf_p);
1411
 
1412
                        switch ( yy_get_next_buffer(  ) )
1413
                                {
1414
                                case EOB_ACT_LAST_MATCH:
1415
                                        /* This happens because yy_g_n_b()
1416
                                         * sees that we've accumulated a
1417
                                         * token and flags that we need to
1418
                                         * try matching the token before
1419
                                         * proceeding.  But for input(),
1420
                                         * there's no matching to consider.
1421
                                         * So convert the EOB_ACT_LAST_MATCH
1422
                                         * to EOB_ACT_END_OF_FILE.
1423
                                         */
1424
 
1425
                                        /* Reset buffer status. */
1426
                                        yyrestart(yyin );
1427
 
1428
                                        /*FALLTHROUGH*/
1429
 
1430
                                case EOB_ACT_END_OF_FILE:
1431
                                        {
1432
                                        if ( yywrap( ) )
1433
                                                return EOF;
1434
 
1435
                                        if ( ! (yy_did_buffer_switch_on_eof) )
1436
                                                YY_NEW_FILE;
1437
#ifdef __cplusplus
1438
                                        return yyinput();
1439
#else
1440
                                        return input();
1441
#endif
1442
                                        }
1443
 
1444
                                case EOB_ACT_CONTINUE_SCAN:
1445
                                        (yy_c_buf_p) = (yytext_ptr) + offset;
1446
                                        break;
1447
                                }
1448
                        }
1449
                }
1450
 
1451
        c = *(unsigned char *) (yy_c_buf_p);    /* cast for 8-bit char's */
1452
        *(yy_c_buf_p) = '\0';   /* preserve yytext */
1453
        (yy_hold_char) = *++(yy_c_buf_p);
1454
 
1455
        return c;
1456
}
1457
#endif  /* ifndef YY_NO_INPUT */
1458
 
1459
/** Immediately switch to a different input stream.
1460
 * @param input_file A readable stream.
1461
 *
1462
 * @note This function does not reset the start condition to @c INITIAL .
1463
 */
1464
    void yyrestart  (FILE * input_file )
1465
{
1466
 
1467
        if ( ! YY_CURRENT_BUFFER ){
1468
        yyensure_buffer_stack ();
1469
                YY_CURRENT_BUFFER_LVALUE =
1470
            yy_create_buffer(yyin,YY_BUF_SIZE );
1471
        }
1472
 
1473
        yy_init_buffer(YY_CURRENT_BUFFER,input_file );
1474
        yy_load_buffer_state( );
1475
}
1476
 
1477
/** Switch to a different input buffer.
1478
 * @param new_buffer The new input buffer.
1479
 *
1480
 */
1481
    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
1482
{
1483
 
1484
        /* TODO. We should be able to replace this entire function body
1485
         * with
1486
         *              yypop_buffer_state();
1487
         *              yypush_buffer_state(new_buffer);
1488
     */
1489
        yyensure_buffer_stack ();
1490
        if ( YY_CURRENT_BUFFER == new_buffer )
1491
                return;
1492
 
1493
        if ( YY_CURRENT_BUFFER )
1494
                {
1495
                /* Flush out information for old buffer. */
1496
                *(yy_c_buf_p) = (yy_hold_char);
1497
                YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
1498
                YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
1499
                }
1500
 
1501
        YY_CURRENT_BUFFER_LVALUE = new_buffer;
1502
        yy_load_buffer_state( );
1503
 
1504
        /* We don't actually know whether we did this switch during
1505
         * EOF (yywrap()) processing, but the only time this flag
1506
         * is looked at is after yywrap() is called, so it's safe
1507
         * to go ahead and always set it.
1508
         */
1509
        (yy_did_buffer_switch_on_eof) = 1;
1510
}
1511
 
1512
static void yy_load_buffer_state  (void)
1513
{
1514
        (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
1515
        (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
1516
        yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
1517
        (yy_hold_char) = *(yy_c_buf_p);
1518
}
1519
 
1520
/** Allocate and initialize an input buffer state.
1521
 * @param file A readable stream.
1522
 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
1523
 *
1524
 * @return the allocated buffer state.
1525
 */
1526
    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
1527
{
1528
        YY_BUFFER_STATE b;
1529
 
1530
        b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
1531
        if ( ! b )
1532
                YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
1533
 
1534
        b->yy_buf_size = size;
1535
 
1536
        /* yy_ch_buf has to be 2 characters longer than the size given because
1537
         * we need to put in 2 end-of-buffer characters.
1538
         */
1539
        b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
1540
        if ( ! b->yy_ch_buf )
1541
                YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
1542
 
1543
        b->yy_is_our_buffer = 1;
1544
 
1545
        yy_init_buffer(b,file );
1546
 
1547
        return b;
1548
}
1549
 
1550
/** Destroy the buffer.
1551
 * @param b a buffer created with yy_create_buffer()
1552
 *
1553
 */
1554
    void yy_delete_buffer (YY_BUFFER_STATE  b )
1555
{
1556
 
1557
        if ( ! b )
1558
                return;
1559
 
1560
        if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
1561
                YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
1562
 
1563
        if ( b->yy_is_our_buffer )
1564
                yyfree((void *) b->yy_ch_buf  );
1565
 
1566
        yyfree((void *) b  );
1567
}
1568
 
1569
#ifndef __cplusplus
1570
extern int isatty (int );
1571
#endif /* __cplusplus */
1572
 
1573
/* Initializes or reinitializes a buffer.
1574
 * This function is sometimes called more than once on the same buffer,
1575
 * such as during a yyrestart() or at EOF.
1576
 */
1577
    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
1578
 
1579
{
1580
        int oerrno = errno;
1581
 
1582
        yy_flush_buffer(b );
1583
 
1584
        b->yy_input_file = file;
1585
        b->yy_fill_buffer = 1;
1586
 
1587
    /* If b is the current buffer, then yy_init_buffer was _probably_
1588
     * called from yyrestart() or through yy_get_next_buffer.
1589
     * In that case, we don't want to reset the lineno or column.
1590
     */
1591
    if (b != YY_CURRENT_BUFFER){
1592
        b->yy_bs_lineno = 1;
1593
        b->yy_bs_column = 0;
1594
    }
1595
 
1596
        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
1597
 
1598
        errno = oerrno;
1599
}
1600
 
1601
/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
1602
 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
1603
 *
1604
 */
1605
    void yy_flush_buffer (YY_BUFFER_STATE  b )
1606
{
1607
        if ( ! b )
1608
                return;
1609
 
1610
        b->yy_n_chars = 0;
1611
 
1612
        /* We always need two end-of-buffer characters.  The first causes
1613
         * a transition to the end-of-buffer state.  The second causes
1614
         * a jam in that state.
1615
         */
1616
        b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
1617
        b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
1618
 
1619
        b->yy_buf_pos = &b->yy_ch_buf[0];
1620
 
1621
        b->yy_at_bol = 1;
1622
        b->yy_buffer_status = YY_BUFFER_NEW;
1623
 
1624
        if ( b == YY_CURRENT_BUFFER )
1625
                yy_load_buffer_state( );
1626
}
1627
 
1628
/** Pushes the new state onto the stack. The new state becomes
1629
 *  the current state. This function will allocate the stack
1630
 *  if necessary.
1631
 *  @param new_buffer The new state.
1632
 *
1633
 */
1634
void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
1635
{
1636
        if (new_buffer == NULL)
1637
                return;
1638
 
1639
        yyensure_buffer_stack();
1640
 
1641
        /* This block is copied from yy_switch_to_buffer. */
1642
        if ( YY_CURRENT_BUFFER )
1643
                {
1644
                /* Flush out information for old buffer. */
1645
                *(yy_c_buf_p) = (yy_hold_char);
1646
                YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
1647
                YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
1648
                }
1649
 
1650
        /* Only push if top exists. Otherwise, replace top. */
1651
        if (YY_CURRENT_BUFFER)
1652
                (yy_buffer_stack_top)++;
1653
        YY_CURRENT_BUFFER_LVALUE = new_buffer;
1654
 
1655
        /* copied from yy_switch_to_buffer. */
1656
        yy_load_buffer_state( );
1657
        (yy_did_buffer_switch_on_eof) = 1;
1658
}
1659
 
1660
/** Removes and deletes the top of the stack, if present.
1661
 *  The next element becomes the new top.
1662
 *
1663
 */
1664
void yypop_buffer_state (void)
1665
{
1666
        if (!YY_CURRENT_BUFFER)
1667
                return;
1668
 
1669
        yy_delete_buffer(YY_CURRENT_BUFFER );
1670
        YY_CURRENT_BUFFER_LVALUE = NULL;
1671
        if ((yy_buffer_stack_top) > 0)
1672
                --(yy_buffer_stack_top);
1673
 
1674
        if (YY_CURRENT_BUFFER) {
1675
                yy_load_buffer_state( );
1676
                (yy_did_buffer_switch_on_eof) = 1;
1677
        }
1678
}
1679
 
1680
/* Allocates the stack if it does not exist.
1681
 *  Guarantees space for at least one push.
1682
 */
1683
static void yyensure_buffer_stack (void)
1684
{
1685
        int num_to_alloc;
1686
 
1687
        if (!(yy_buffer_stack)) {
1688
 
1689
                /* First allocation is just for 2 elements, since we don't know if this
1690
                 * scanner will even need a stack. We use 2 instead of 1 to avoid an
1691
                 * immediate realloc on the next call.
1692
         */
1693
                num_to_alloc = 1;
1694
                (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
1695
                                                                (num_to_alloc * sizeof(struct yy_buffer_state*)
1696
                                                                );
1697
 
1698
                memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
1699
 
1700
                (yy_buffer_stack_max) = num_to_alloc;
1701
                (yy_buffer_stack_top) = 0;
1702
                return;
1703
        }
1704
 
1705
        if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
1706
 
1707
                /* Increase the buffer to prepare for a possible push. */
1708
                int grow_size = 8 /* arbitrary grow size */;
1709
 
1710
                num_to_alloc = (yy_buffer_stack_max) + grow_size;
1711
                (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
1712
                                                                ((yy_buffer_stack),
1713
                                                                num_to_alloc * sizeof(struct yy_buffer_state*)
1714
                                                                );
1715
 
1716
                /* zero only the new slots.*/
1717
                memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
1718
                (yy_buffer_stack_max) = num_to_alloc;
1719
        }
1720
}
1721
 
1722
/** Setup the input buffer state to scan directly from a user-specified character buffer.
1723
 * @param base the character buffer
1724
 * @param size the size in bytes of the character buffer
1725
 *
1726
 * @return the newly allocated buffer state object.
1727
 */
1728
YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
1729
{
1730
        YY_BUFFER_STATE b;
1731
 
1732
        if ( size < 2 ||
1733
             base[size-2] != YY_END_OF_BUFFER_CHAR ||
1734
             base[size-1] != YY_END_OF_BUFFER_CHAR )
1735
                /* They forgot to leave room for the EOB's. */
1736
                return 0;
1737
 
1738
        b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
1739
        if ( ! b )
1740
                YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
1741
 
1742
        b->yy_buf_size = size - 2;      /* "- 2" to take care of EOB's */
1743
        b->yy_buf_pos = b->yy_ch_buf = base;
1744
        b->yy_is_our_buffer = 0;
1745
        b->yy_input_file = 0;
1746
        b->yy_n_chars = b->yy_buf_size;
1747
        b->yy_is_interactive = 0;
1748
        b->yy_at_bol = 1;
1749
        b->yy_fill_buffer = 0;
1750
        b->yy_buffer_status = YY_BUFFER_NEW;
1751
 
1752
        yy_switch_to_buffer(b  );
1753
 
1754
        return b;
1755
}
1756
 
1757
/** Setup the input buffer state to scan a string. The next call to yylex() will
1758
 * scan from a @e copy of @a str.
1759
 * @param str a NUL-terminated string to scan
1760
 *
1761
 * @return the newly allocated buffer state object.
1762
 * @note If you want to scan bytes that may contain NUL values, then use
1763
 *       yy_scan_bytes() instead.
1764
 */
1765
YY_BUFFER_STATE yy_scan_string (yyconst char * str )
1766
{
1767
 
1768
        return yy_scan_bytes(str,strlen(str) );
1769
}
1770
 
1771
/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
1772
 * scan from a @e copy of @a bytes.
1773
 * @param bytes the byte buffer to scan
1774
 * @param len the number of bytes in the buffer pointed to by @a bytes.
1775
 *
1776
 * @return the newly allocated buffer state object.
1777
 */
1778
YY_BUFFER_STATE yy_scan_bytes  (yyconst char * bytes, int  len )
1779
{
1780
        YY_BUFFER_STATE b;
1781
        char *buf;
1782
        yy_size_t n;
1783
        int i;
1784
 
1785
        /* Get memory for full buffer, including space for trailing EOB's. */
1786
        n = len + 2;
1787
        buf = (char *) yyalloc(n  );
1788
        if ( ! buf )
1789
                YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
1790
 
1791
        for ( i = 0; i < len; ++i )
1792
                buf[i] = bytes[i];
1793
 
1794
        buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
1795
 
1796
        b = yy_scan_buffer(buf,n );
1797
        if ( ! b )
1798
                YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
1799
 
1800
        /* It's okay to grow etc. this buffer, and we should throw it
1801
         * away when we're done.
1802
         */
1803
        b->yy_is_our_buffer = 1;
1804
 
1805
        return b;
1806
}
1807
 
1808
#ifndef YY_EXIT_FAILURE
1809
#define YY_EXIT_FAILURE 2
1810
#endif
1811
 
1812
static void yy_fatal_error (yyconst char* msg )
1813
{
1814
        (void) fprintf( stderr, "%s\n", msg );
1815
        exit( YY_EXIT_FAILURE );
1816
}
1817
 
1818
/* Redefine yyless() so it works in section 3 code. */
1819
 
1820
#undef yyless
1821
#define yyless(n) \
1822
        do \
1823
                { \
1824
                /* Undo effects of setting up yytext. */ \
1825
        int yyless_macro_arg = (n); \
1826
        YY_LESS_LINENO(yyless_macro_arg);\
1827
                yytext[yyleng] = (yy_hold_char); \
1828
                (yy_c_buf_p) = yytext + yyless_macro_arg; \
1829
                (yy_hold_char) = *(yy_c_buf_p); \
1830
                *(yy_c_buf_p) = '\0'; \
1831
                yyleng = yyless_macro_arg; \
1832
                } \
1833
        while ( 0 )
1834
 
1835
/* Accessor  methods (get/set functions) to struct members. */
1836
 
1837
/** Get the input stream.
1838
 *
1839
 */
1840
FILE *yyget_in  (void)
1841
{
1842
        return yyin;
1843
}
1844
 
1845
/** Get the output stream.
1846
 *
1847
 */
1848
FILE *yyget_out  (void)
1849
{
1850
        return yyout;
1851
}
1852
 
1853
/** Get the length of the current token.
1854
 *
1855
 */
1856
int yyget_leng  (void)
1857
{
1858
        return yyleng;
1859
}
1860
 
1861
/** Get the current token.
1862
 *
1863
 */
1864
 
1865
char *yyget_text  (void)
1866
{
1867
        return yytext;
1868
}
1869
 
1870
/** Set the input stream. This does not discard the current
1871
 * input buffer.
1872
 * @param in_str A readable stream.
1873
 *
1874
 * @see yy_switch_to_buffer
1875
 */
1876
void yyset_in (FILE *  in_str )
1877
{
1878
        yyin = in_str ;
1879
}
1880
 
1881
void yyset_out (FILE *  out_str )
1882
{
1883
        yyout = out_str ;
1884
}
1885
 
1886
int yyget_debug  (void)
1887
{
1888
        return yy_flex_debug;
1889
}
1890
 
1891
void yyset_debug (int  bdebug )
1892
{
1893
        yy_flex_debug = bdebug ;
1894
}
1895
 
1896
/* yylex_destroy is for both reentrant and non-reentrant scanners. */
1897
int yylex_destroy  (void)
1898
{
1899
 
1900
    /* Pop the buffer stack, destroying each element. */
1901
        while(YY_CURRENT_BUFFER){
1902
                yy_delete_buffer(YY_CURRENT_BUFFER  );
1903
                YY_CURRENT_BUFFER_LVALUE = NULL;
1904
                yypop_buffer_state();
1905
        }
1906
 
1907
        /* Destroy the stack itself. */
1908
        yyfree((yy_buffer_stack) );
1909
        (yy_buffer_stack) = NULL;
1910
 
1911
    return 0;
1912
}
1913
 
1914
/*
1915
 * Internal utility routines.
1916
 */
1917
 
1918
#ifndef yytext_ptr
1919
static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
1920
{
1921
        register int i;
1922
        for ( i = 0; i < n; ++i )
1923
                s1[i] = s2[i];
1924
}
1925
#endif
1926
 
1927
#ifdef YY_NEED_STRLEN
1928
static int yy_flex_strlen (yyconst char * s )
1929
{
1930
        register int n;
1931
        for ( n = 0; s[n]; ++n )
1932
                ;
1933
 
1934
        return n;
1935
}
1936
#endif
1937
 
1938
void *yyalloc (yy_size_t  size )
1939
{
1940
        return (void *) malloc( size );
1941
}
1942
 
1943
void *yyrealloc  (void * ptr, yy_size_t  size )
1944
{
1945
        /* The cast to (char *) in the following accommodates both
1946
         * implementations that use char* generic pointers, and those
1947
         * that use void* generic pointers.  It works with the latter
1948
         * because both ANSI C and C++ allow castless assignment from
1949
         * any pointer type to void*, and deal with argument conversions
1950
         * as though doing an assignment.
1951
         */
1952
        return (void *) realloc( (char *) ptr, size );
1953
}
1954
 
1955
void yyfree (void * ptr )
1956
{
1957
        free( (char *) ptr );   /* see yyrealloc() for (char *) cast */
1958
}
1959
 
1960
#define YYTABLES_NAME "yytables"
1961
 
1962
#line 87 "arlex.l"
1963
 
1964
 
1965
#ifndef yywrap
1966
/* Needed for lex, though not flex. */
1967
int yywrap(void) { return 1; }
1968
#endif
1969
 

powered by: WebSVN 2.1.0

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