Coverage Report

Created: 2025-07-11 06:50

/work/cue_scanner.c
Line
Count
Source (jump to first uncovered line)
1
#line 2 "/work/cue_scanner.c"
2
3
#line 4 "/work/cue_scanner.c"
4
5
#define  YY_INT_ALIGNED short int
6
7
/* A lexical scanner generated by flex */
8
9
#define FLEX_SCANNER
10
#define YY_FLEX_MAJOR_VERSION 2
11
#define YY_FLEX_MINOR_VERSION 6
12
#define YY_FLEX_SUBMINOR_VERSION 4
13
#if YY_FLEX_SUBMINOR_VERSION > 0
14
#define FLEX_BETA
15
#endif
16
17
/* First, we deal with  platform-specific or compiler-specific issues. */
18
19
/* begin standard C headers. */
20
#include <stdio.h>
21
#include <string.h>
22
#include <errno.h>
23
#include <stdlib.h>
24
25
/* end standard C headers. */
26
27
/* flex integer type definitions */
28
29
#ifndef FLEXINT_H
30
#define FLEXINT_H
31
32
/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
33
34
#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
35
36
/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
37
 * if you want the limit (max/min) macros for int types. 
38
 */
39
#ifndef __STDC_LIMIT_MACROS
40
#define __STDC_LIMIT_MACROS 1
41
#endif
42
43
#include <inttypes.h>
44
typedef int8_t flex_int8_t;
45
typedef uint8_t flex_uint8_t;
46
typedef int16_t flex_int16_t;
47
typedef uint16_t flex_uint16_t;
48
typedef int32_t flex_int32_t;
49
typedef uint32_t flex_uint32_t;
50
#else
51
typedef signed char flex_int8_t;
52
typedef short int flex_int16_t;
53
typedef int flex_int32_t;
54
typedef unsigned char flex_uint8_t; 
55
typedef unsigned short int flex_uint16_t;
56
typedef unsigned int flex_uint32_t;
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
#ifndef SIZE_MAX
88
#define SIZE_MAX               (~(size_t)0)
89
#endif
90
91
#endif /* ! C99 */
92
93
#endif /* ! FLEXINT_H */
94
95
/* begin standard C++ headers. */
96
97
/* TODO: this is always defined, so inline it */
98
#define yyconst const
99
100
#if defined(__GNUC__) && __GNUC__ >= 3
101
#define yynoreturn __attribute__((__noreturn__))
102
#else
103
#define yynoreturn
104
#endif
105
106
/* Returned upon end-of-file. */
107
#define YY_NULL 0
108
109
/* Promotes a possibly negative, possibly signed char to an
110
 *   integer in range [0..255] for use as an array index.
111
 */
112
35.0M
#define YY_SC_TO_UI(c) ((YY_CHAR) (c))
113
114
/* Enter a start condition.  This macro really ought to take a parameter,
115
 * but we do it the disgusting crufty way forced on us by the ()-less
116
 * definition of BEGIN.
117
 */
118
185k
#define BEGIN (yy_start) = 1 + 2 *
119
/* Translate the current start state into a value that can be later handed
120
 * to BEGIN to return to the state.  The YYSTATE alias is for lex
121
 * compatibility.
122
 */
123
#define YY_START (((yy_start) - 1) / 2)
124
#define YYSTATE YY_START
125
/* Action number for EOF rule of a given start state. */
126
21.3k
#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
127
/* Special action meaning "start processing a new file". */
128
0
#define YY_NEW_FILE yyrestart( yyin  )
129
7.25k
#define YY_END_OF_BUFFER_CHAR 0
130
131
/* Size of default input buffer. */
132
#ifndef YY_BUF_SIZE
133
#ifdef __ia64__
134
/* On IA-64, the buffer size is 16k, not 8k.
135
 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
136
 * Ditto for the __ia64__ case accordingly.
137
 */
138
#define YY_BUF_SIZE 32768
139
#else
140
0
#define YY_BUF_SIZE 16384
141
#endif /* __ia64__ */
142
#endif
143
144
/* The state buf must be large enough to hold one state per character in the main buffer.
145
 */
146
#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
147
148
#ifndef YY_TYPEDEF_YY_BUFFER_STATE
149
#define YY_TYPEDEF_YY_BUFFER_STATE
150
typedef struct yy_buffer_state *YY_BUFFER_STATE;
151
#endif
152
153
#ifndef YY_TYPEDEF_YY_SIZE_T
154
#define YY_TYPEDEF_YY_SIZE_T
155
typedef size_t yy_size_t;
156
#endif
157
158
extern int yyleng;
159
160
extern FILE *yyin, *yyout;
161
162
0
#define EOB_ACT_CONTINUE_SCAN 0
163
7.25k
#define EOB_ACT_END_OF_FILE 1
164
2.60k
#define EOB_ACT_LAST_MATCH 2
165
    
166
    /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
167
     *       access to the local variable yy_act. Since yyless() is a macro, it would break
168
     *       existing scanners that call yyless() from OUTSIDE yylex.
169
     *       One obvious solution it to make yy_act a global. I tried that, and saw
170
     *       a 5% performance hit in a non-yylineno scanner, because yy_act is
171
     *       normally declared as a register variable-- so it is not worth it.
172
     */
173
    #define  YY_LESS_LINENO(n) \
174
            do { \
175
                int yyl;\
176
                for ( yyl = n; yyl < yyleng; ++yyl )\
177
                    if ( yytext[yyl] == '\n' )\
178
                        --yylineno;\
179
            }while(0)
180
    #define YY_LINENO_REWIND_TO(dst) \
181
            do {\
182
                const char *p;\
183
                for ( p = yy_cp-1; p >= (dst); --p)\
184
                    if ( *p == '\n' )\
185
                        --yylineno;\
186
            }while(0)
187
    
188
/* Return all but the first "n" matched characters back to the input stream. */
189
#define yyless(n) \
190
  do \
191
    { \
192
    /* Undo effects of setting up yytext. */ \
193
        int yyless_macro_arg = (n); \
194
        YY_LESS_LINENO(yyless_macro_arg);\
195
    *yy_cp = (yy_hold_char); \
196
    YY_RESTORE_YY_MORE_OFFSET \
197
    (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
198
    YY_DO_BEFORE_ACTION; /* set up yytext again */ \
199
    } \
200
  while ( 0 )
201
#define unput(c) yyunput( c, (yytext_ptr)  )
202
203
#ifndef YY_STRUCT_YY_BUFFER_STATE
204
#define YY_STRUCT_YY_BUFFER_STATE
205
struct yy_buffer_state
206
  {
207
  FILE *yy_input_file;
208
209
  char *yy_ch_buf;    /* input buffer */
210
  char *yy_buf_pos;   /* current position in input buffer */
211
212
  /* Size of input buffer in bytes, not including room for EOB
213
   * characters.
214
   */
215
  int yy_buf_size;
216
217
  /* Number of characters read into yy_ch_buf, not including EOB
218
   * characters.
219
   */
220
  int yy_n_chars;
221
222
  /* Whether we "own" the buffer - i.e., we know we created it,
223
   * and can realloc() it to grow it, and should free() it to
224
   * delete it.
225
   */
226
  int yy_is_our_buffer;
227
228
  /* Whether this is an "interactive" input source; if so, and
229
   * if we're using stdio for input, then we want to use getc()
230
   * instead of fread(), to make sure we stop fetching input after
231
   * each newline.
232
   */
233
  int yy_is_interactive;
234
235
  /* Whether we're considered to be at the beginning of a line.
236
   * If so, '^' rules will be active on the next match, otherwise
237
   * not.
238
   */
239
  int yy_at_bol;
240
241
    int yy_bs_lineno; /**< The line count. */
242
    int yy_bs_column; /**< The column count. */
243
244
  /* Whether to try to fill the input buffer when we reach the
245
   * end of it.
246
   */
247
  int yy_fill_buffer;
248
249
  int yy_buffer_status;
250
251
6.74k
#define YY_BUFFER_NEW 0
252
1.81k
#define YY_BUFFER_NORMAL 1
253
  /* When an EOF's been seen but there's still some text to process
254
   * then we mark the buffer as YY_EOF_PENDING, to indicate that we
255
   * shouldn't try reading from the input source any more.  We might
256
   * still have a bunch of tokens to match, though, because of
257
   * possible backing-up.
258
   *
259
   * When we actually see the EOF, we change the status to "new"
260
   * (via yyrestart()), so that the user can continue scanning by
261
   * just pointing yyin at a new input file.
262
   */
263
0
#define YY_BUFFER_EOF_PENDING 2
264
265
  };
266
#endif /* !YY_STRUCT_YY_BUFFER_STATE */
267
268
/* Stack of input buffers. */
269
static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
270
static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
271
static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
272
273
/* We provide macros for accessing buffer states in case in the
274
 * future we want to put the buffer states in a more general
275
 * "scanner state".
276
 *
277
 * Returns the top of the stack, or NULL.
278
 */
279
5.44k
#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
280
5.44k
                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
281
5.44k
                          : NULL)
282
/* Same as previous macro, but useful when we know that the buffer stack is not
283
 * NULL or when we need an lvalue. For internal use only.
284
 */
285
6.70M
#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
286
287
/* yy_hold_char holds the character lost when yytext is formed. */
288
static char yy_hold_char;
289
static int yy_n_chars;    /* number of characters read into yy_ch_buf */
290
int yyleng;
291
292
/* Points to current character in buffer. */
293
static char *yy_c_buf_p = NULL;
294
static int yy_init = 0;   /* whether we need to initialize */
295
static int yy_start = 0;  /* start state number */
296
297
/* Flag which is used to allow yywrap()'s to do buffer switches
298
 * instead of setting up a fresh yyin.  A bit of a hack ...
299
 */
300
static int yy_did_buffer_switch_on_eof;
301
302
void yyrestart ( FILE *input_file  );
303
void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer  );
304
YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size  );
305
void yy_delete_buffer ( YY_BUFFER_STATE b  );
306
void yy_flush_buffer ( YY_BUFFER_STATE b  );
307
void yypush_buffer_state ( YY_BUFFER_STATE new_buffer  );
308
void yypop_buffer_state ( void );
309
310
static void yyensure_buffer_stack ( void );
311
static void yy_load_buffer_state ( void );
312
static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file  );
313
#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
314
315
YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size  );
316
YY_BUFFER_STATE yy_scan_string ( const char *yy_str  );
317
YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len  );
318
319
void *yyalloc ( yy_size_t  );
320
void *yyrealloc ( void *, yy_size_t  );
321
void yyfree ( void *  );
322
323
#define yy_new_buffer yy_create_buffer
324
#define yy_set_interactive(is_interactive) \
325
  { \
326
  if ( ! YY_CURRENT_BUFFER ){ \
327
        yyensure_buffer_stack (); \
328
    YY_CURRENT_BUFFER_LVALUE =    \
329
            yy_create_buffer( yyin, YY_BUF_SIZE ); \
330
  } \
331
  YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
332
  }
333
#define yy_set_bol(at_bol) \
334
  { \
335
  if ( ! YY_CURRENT_BUFFER ){\
336
        yyensure_buffer_stack (); \
337
    YY_CURRENT_BUFFER_LVALUE =    \
338
            yy_create_buffer( yyin, YY_BUF_SIZE ); \
339
  } \
340
  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
341
  }
342
3.33M
#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
343
344
/* Begin user sect3 */
345
346
3.62k
#define yywrap() (/*CONSTCOND*/1)
347
#define YY_SKIP_YYWRAP
348
typedef flex_uint8_t YY_CHAR;
349
350
FILE *yyin = NULL, *yyout = NULL;
351
352
typedef int yy_state_type;
353
354
extern int yylineno;
355
int yylineno = 1;
356
357
extern char *yytext;
358
#ifdef yytext_ptr
359
#undef yytext_ptr
360
#endif
361
3.35M
#define yytext_ptr yytext
362
363
static yy_state_type yy_get_previous_state ( void );
364
static yy_state_type yy_try_NUL_trans ( yy_state_type current_state  );
365
static int yy_get_next_buffer ( void );
366
static void yynoreturn yy_fatal_error ( const char* msg  );
367
368
/* Done after the current pattern has been matched and before the
369
 * corresponding action - sets up yytext.
370
 */
371
#define YY_DO_BEFORE_ACTION \
372
3.33M
  (yytext_ptr) = yy_bp; \
373
3.33M
  yyleng = (int) (yy_cp - yy_bp); \
374
3.33M
  (yy_hold_char) = *yy_cp; \
375
3.33M
  *yy_cp = '\0'; \
376
3.33M
  (yy_c_buf_p) = yy_cp;
377
#define YY_NUM_RULES 63
378
6.69M
#define YY_END_OF_BUFFER 64
379
/* This struct is not used in this scanner,
380
   but its presence is necessary. */
381
struct yy_trans_info
382
  {
383
  flex_int32_t yy_verify;
384
  flex_int32_t yy_nxt;
385
  };
386
static const flex_int16_t yy_accept[496] =
387
    {   0,
388
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
389
       64,   62,   57,   61,   62,   62,   58,   58,   59,   62,
390
       62,   62,   62,   62,   62,   62,   62,   62,   62,   62,
391
       62,   62,   62,   57,   60,    3,    3,    3,    3,    3,
392
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
393
        3,    3,    3,    3,    3,   52,   51,   53,   52,   52,
394
       52,   54,   55,   63,   63,   56,   57,    0,    2,    0,
395
        0,    1,    0,   58,    0,    0,    0,    0,    0,    0,
396
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
397
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
398
399
        0,    0,    0,    0,   57,   60,    3,    3,    2,    3,
400
        3,    1,    3,    3,    3,    3,    3,    3,    3,    3,
401
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
402
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
403
        3,    3,    3,    3,   51,    0,    0,    0,   54,   55,
404
        0,   56,    2,    1,   25,    0,    0,    0,    0,    0,
405
        0,    0,   24,    0,    0,    0,    0,    0,    0,    0,
406
        0,    0,   11,    0,    0,   23,   44,    0,    0,    0,
407
        0,    0,    0,    0,    0,    2,    1,    3,    3,    3,
408
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
409
410
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
411
        3,    3,    3,    3,    3,    3,    3,    3,    0,    0,
412
        0,    9,    0,    0,    0,    0,    0,    0,    0,    6,
413
       12,    0,    0,    0,   43,    0,    0,    0,    0,    0,
414
        0,   26,    0,    0,    0,    0,    0,    0,   10,    3,
415
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
416
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
417
        3,    3,    3,    3,    3,    3,    3,   45,    0,    0,
418
        0,   14,    0,    0,    0,    0,    0,   22,   37,   28,
419
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
420
421
       30,    0,   13,    0,    3,    3,    3,    3,    3,    3,
422
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
423
        3,    3,    3,    3,    3,    3,    3,   46,    0,    0,
424
        7,    0,    0,    0,    0,   41,    0,    0,    0,    0,
425
        0,    0,   27,    0,    0,    0,    0,    3,    3,    3,
426
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
427
        3,    3,    3,    3,    0,    0,    4,    0,    0,   36,
428
       35,    0,    0,    0,    0,   29,    0,    0,    0,   40,
429
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
430
        3,    3,    3,    3,    3,    0,   34,    0,   33,    0,
431
432
        0,    0,    0,    8,    0,    0,    0,    0,    3,    3,
433
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
434
        0,    0,    0,    0,    0,    0,    0,    0,   31,   42,
435
        0,   38,   39,    3,    3,    3,    3,    3,    3,    3,
436
        3,    3,    3,    3,    3,    0,    5,   15,   16,   18,
437
       20,   17,   19,   21,   32,    3,    3,    3,    3,    3,
438
        3,    3,    3,    3,    0,    0,    0,    0,    0,    0,
439
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
440
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
441
       47,   48,   49,   50,    0
442
443
    } ;
444
445
static const YY_CHAR yy_ec[256] =
446
    {   0,
447
        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
448
        1,    1,    2,    1,    1,    1,    1,    1,    1,    1,
449
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
450
        1,    2,    1,    4,    1,    1,    1,    1,    5,    1,
451
        1,    1,    1,    1,    1,    1,    6,    7,    8,    9,
452
       10,   11,   12,   13,   14,   15,   14,   16,    1,    1,
453
        1,    1,    1,    1,   17,   18,   19,   20,   21,   22,
454
       23,   24,   25,    1,   26,   27,   28,   29,   30,   31,
455
        1,   32,   33,   34,   35,   36,   37,   38,   39,   40,
456
        1,   41,    1,    1,   42,    1,   43,   44,   45,   46,
457
458
       47,   48,   49,   50,   51,    1,   52,   53,   54,   55,
459
       56,   57,    1,   58,   59,   60,   61,   62,   63,   64,
460
       65,   66,    1,    1,    1,    1,    1,    1,    1,    1,
461
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
462
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
463
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
464
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
465
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
466
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
467
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
468
469
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
470
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
471
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
472
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
473
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
474
        1,    1,    1,    1,    1
475
    } ;
476
477
static const YY_CHAR yy_meta[67] =
478
    {   0,
479
        1,    2,    2,    1,    1,    1,    3,    3,    3,    3,
480
        3,    3,    3,    3,    3,    1,    1,    1,    3,    1,
481
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
482
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
483
        1,    1,    1,    1,    3,    1,    1,    1,    1,    1,
484
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
485
        1,    1,    1,    1,    1,    1
486
    } ;
487
488
static const flex_int16_t yy_base[507] =
489
    {   0,
490
        0,   65,   68,  133,  135,  137,  139,  141, 1029, 1028,
491
     1030, 1033, 1027, 1033,  141,  144,  163,  134, 1033,  129,
492
      137,  172,  172,  169,  177,  170,  179,  184,  180,  213,
493
      209,  173,  190,  144, 1033,    0,  209,  242,  263,  277,
494
        0,  268,  212,  277,  276,  228,  233,  269,  278,  283,
495
      235,  286,  313,  275,  293, 1033, 1026, 1033,  297,  297,
496
      325,    0, 1025, 1033, 1023, 1033, 1023,  308, 1033,  313,
497
      216, 1033,  342,  348,  324,  328,  319,  332,  324,  331,
498
      332,  339,  337,  337,  346,  358,  351,  361,  350,  351,
499
      366, 1014,  353,  354,  367,  361,  362,  355,  368,  364,
500
501
      383,  386,  385,  369,  148, 1033,    0,  415,    0,  430,
502
      433,    0,  437,  436,  403,  415,  409,  434,  426,  423,
503
      424,  431,  429,  428,  435,  447,  436,  446,  436,  436,
504
      455, 1013,  438,  439,  452,  448,  449,  439,  453,  459,
505
      478,  483,  485,  470, 1020,  473,  480,  479,    0, 1019,
506
     1017, 1033,  507,  508, 1033,  490,  497,  491,  500,  501,
507
      499,  490, 1033,  505,  504,  508,  496,  508,  515,  504,
508
      518,  511, 1033,  523,  518,  533, 1033,  525,  538,  538,
509
      535,  977,  545,  976,  545,  566,  570,    0,  552,  559,
510
      552,  562,  563,  562,  555,    0,  570,  570,  574,  562,
511
512
      574,  577,  565,  578,  571,    0,  582,  574,  587,    0,
513
      580,  593,  593,  591,  975,  607,  974,  607,  608,  599,
514
      605, 1033,  604,  605,  605,  611,  603,  613,  973, 1033,
515
     1033,  612,  625,  609, 1012,  631,  157,  617,  620,  628,
516
      636, 1033,  971,  619,  639,  637,  639,  645, 1033,    0,
517
      639,  640,  646,  653,  643,  653,  966,    0,    0,  651,
518
      664,  649,  997,  672,  240,  658,  663,  672,  680,    0,
519
      939,  661,  678,  675,  675,  681,    0, 1033,  682,  688,
520
      685, 1033,  673,  684,  683,  685,  695, 1033, 1033, 1033,
521
      204,  699,  972,  971,  700,  700,  716,  704,  711,  705,
522
523
     1033,  710, 1033,  724,  719,    0,  706,  717,  715,  717,
524
      726,    0,    0,    0,  729,  968,  966,  723,  722,  738,
525
      726,  735,  732,    0,  737,    0,  752, 1033,  731,  751,
526
     1033,  751,  760,  763,  765, 1033,  766,  962,  961,  761,
527
      761,  760, 1033,  764,  769,  775,  770,  780,    0,  779,
528
      781,  783,  785,  785,  960,  959,  780,  781,  781,    0,
529
      787,  793,  799,  793,  801,  794, 1033,  809,  804, 1033,
530
     1033,  149,  252,  820,  818, 1033,  818,  807,  813, 1033,
531
      813,    0,  821,  817,    0,    0,  415,  844,  836,  834,
532
        0,  834,  823,  828,    0,  842, 1033,  834, 1033,  956,
533
534
      954,  954,  866, 1033,  832,  838,  849,  243,    0,  846,
535
        0,  952,  950,  950,  881,    0,  842,  850,  865,  880,
536
      870,  876,  945,  948,  566,  139,  513,  443, 1033, 1033,
537
      866, 1033, 1033,  880,  405,  400,  253,  894,  257,  252,
538
        0,    0,  870,    0,    0,  875, 1033, 1033, 1033, 1033,
539
     1033, 1033, 1033, 1033, 1033,    0,    0,    0,    0,    0,
540
        0,    0,    0,    0,  204,  888,  881,  877,  892,  894,
541
      878,  895,  887,  890,  177,  126,  894,  895,  902,  899,
542
      912,  911,  908,  921,  922,  932,  921,  927,  925,  930,
543
     1033, 1033, 1033, 1033, 1033,  982,  985,  988,  991,  994,
544
545
      160,  997, 1000, 1003, 1006, 1009
546
    } ;
547
548
static const flex_int16_t yy_def[507] =
549
    {   0,
550
      495,    1,  495,    3,  496,  496,  497,  497,  498,  498,
551
      495,  495,  495,  495,  499,  500,  495,  501,  495,  495,
552
      495,  495,  495,  495,  495,  495,  495,  495,  495,  495,
553
      495,  495,  495,  495,  495,  502,  503,  504,  502,  502,
554
      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
555
      502,  502,  502,  502,  502,  495,  495,  495,  495,  495,
556
      495,  505,  495,  495,  506,  495,  495,  499,  495,  499,
557
      500,  495,  500,  495,  495,  495,  495,  495,  495,  495,
558
      495,  495,  495,  495,  495,  495,  495,  495,  495,  495,
559
      495,  495,  495,  495,  495,  495,  495,  495,  495,  495,
560
561
      495,  495,  495,  495,  495,  495,  502,  503,  502,  503,
562
      504,  502,  504,  502,  502,  502,  502,  502,  502,  502,
563
      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
564
      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
565
      502,  502,  502,  502,  495,  495,  495,  495,  505,  495,
566
      506,  495,  499,  500,  495,  495,  495,  495,  495,  495,
567
      495,  495,  495,  495,  495,  495,  495,  495,  495,  495,
568
      495,  495,  495,  495,  495,  495,  495,  495,  495,  495,
569
      495,  495,  495,  495,  495,  503,  504,  502,  502,  502,
570
      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
571
572
      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
573
      502,  502,  502,  502,  502,  502,  502,  502,  495,  495,
574
      495,  495,  495,  495,  495,  495,  495,  495,  495,  495,
575
      495,  495,  495,  495,  495,  495,  495,  495,  495,  495,
576
      495,  495,  495,  495,  495,  495,  495,  495,  495,  502,
577
      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
578
      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
579
      502,  502,  502,  502,  502,  502,  502,  495,  495,  495,
580
      495,  495,  495,  495,  495,  495,  495,  495,  495,  495,
581
      495,  495,  495,  495,  495,  495,  495,  495,  495,  495,
582
583
      495,  495,  495,  495,  502,  502,  502,  502,  502,  502,
584
      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
585
      502,  502,  502,  502,  502,  502,  502,  495,  495,  495,
586
      495,  495,  495,  495,  495,  495,  495,  495,  495,  495,
587
      495,  495,  495,  495,  495,  495,  495,  502,  502,  502,
588
      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
589
      502,  502,  502,  502,  495,  495,  495,  495,  495,  495,
590
      495,  495,  495,  495,  495,  495,  495,  495,  495,  495,
591
      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
592
      502,  502,  502,  502,  502,  495,  495,  495,  495,  495,
593
594
      495,  495,  495,  495,  495,  495,  495,  495,  502,  502,
595
      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
596
      495,  495,  495,  495,  495,  495,  495,  495,  495,  495,
597
      495,  495,  495,  502,  502,  502,  502,  502,  502,  502,
598
      502,  502,  502,  502,  502,  495,  495,  495,  495,  495,
599
      495,  495,  495,  495,  495,  502,  502,  502,  502,  502,
600
      502,  502,  502,  502,  495,  495,  495,  495,  495,  495,
601
      495,  495,  495,  495,  495,  495,  495,  495,  495,  495,
602
      495,  495,  495,  495,  495,  495,  495,  495,  495,  495,
603
      495,  495,  495,  495,    0,  495,  495,  495,  495,  495,
604
605
      495,  495,  495,  495,  495,  495
606
    } ;
607
608
static const flex_int16_t yy_nxt[1100] =
609
    {   0,
610
       12,   13,   14,   15,   16,   12,   17,   17,   17,   17,
611
       18,   17,   17,   17,   17,   19,   20,   21,   22,   23,
612
       12,   24,   25,   12,   26,   12,   12,   27,   12,   12,
613
       28,   29,   30,   31,   32,   12,   33,   12,   12,   12,
614
       12,   12,   20,   21,   22,   23,   12,   24,   25,   12,
615
       26,   12,   12,   27,   12,   12,   28,   29,   30,   31,
616
       32,   12,   33,   12,   12,   12,   34,   35,   36,   13,
617
       14,   37,   38,   36,   39,   39,   39,   39,   40,   39,
618
       39,   39,   39,   41,   42,   43,   44,   45,   36,   46,
619
       47,   36,   48,   36,   36,   49,   36,   36,   50,   51,
620
621
       52,   53,   54,   36,   55,   36,   36,   36,   36,   36,
622
       42,   43,   44,   45,   36,   46,   47,   36,   48,   36,
623
       36,   49,   36,   36,   50,   51,   52,   53,   54,   36,
624
       55,   36,   36,   36,   34,   35,   57,   58,   57,   58,
625
       63,   64,   63,   64,   69,  105,  106,  451,   72,  105,
626
      106,  452,   75,   76,   59,  400,   59,   60,  401,   60,
627
       77,   79,   74,   78,  293,  294,   61,  478,   61,   74,
628
       74,   74,   74,   74,   74,   74,   74,   74,   75,   76,
629
       59,   70,   59,   60,   73,   60,   77,   79,   80,   78,
630
       83,   81,   61,   85,   61,   86,   84,   87,   88,   90,
631
632
       96,   82,   89,  103,   93,  291,  104,  336,   91,   92,
633
       68,   68,  109,   94,   80,   95,   83,   81,  477,   85,
634
       72,   86,   84,   87,   88,   90,   96,   82,   89,  103,
635
       93,   97,  104,  100,   91,   92,  119,   98,  101,   94,
636
      102,   95,   99,   71,   71,  466,  112,  316,  317,  110,
637
      432,  433,  125,  127,  126,  136,   73,   97,  402,  100,
638
      463,  403,  119,   98,  101,  462,  102,  459,   99,  114,
639
      114,  114,  114,  114,  114,  114,  114,  114,  125,  127,
640
      126,  136,  113,  114,  114,  114,  114,  114,  114,  114,
641
      114,  114,  116,  120,  123,  115,  121,  128,  130,  117,
642
643
      124,  129,  118,  133,  137,  143,  122,  131,  132,  144,
644
      138,   69,  134,  146,  135,  139,  153,  147,  116,  120,
645
      123,  115,  121,  128,  130,  117,  124,  129,  118,  133,
646
      137,  143,  122,  131,  132,  144,  138,  140,  134,  146,
647
      135,  139,  141,  147,  142,  148,  154,  155,   70,  156,
648
      157,  158,  159,   70,   74,   74,   74,   74,   74,   74,
649
       74,   74,   74,  140,  160,  161,  162,  163,  141,  164,
650
      142,  148,  165,  155,  166,  156,  157,  158,  159,  167,
651
      168,  169,   73,  170,  174,  171,  175,  176,  177,  178,
652
      160,  161,  162,  163,  179,  164,  180,  181,  165,  172,
653
654
      166,  182,  183,  184,  185,  167,  168,  169,  458,  170,
655
      174,  171,  175,  176,  177,  178,   68,   68,  109,  457,
656
      179,  412,  180,  181,  413,  172,  188,  182,  183,  184,
657
      185,   68,   68,  186,   71,   71,  189,  112,   71,   71,
658
      190,  187,  114,  114,  114,  114,  114,  114,  114,  114,
659
      114,  454,  188,  191,  192,  110,  193,  194,  195,  196,
660
      197,  198,  189,  199,  200,  201,  190,  202,  203,  207,
661
      110,  208,  209,  113,  204,  210,  211,  113,  212,  191,
662
      192,  213,  193,  194,  195,  196,  197,  198,  205,  199,
663
      200,  201,  214,  202,  203,  207,  215,  208,  209,  216,
664
665
      204,  210,  211,  217,  212,  218,  219,  213,  220,  221,
666
       69,  222,   72,  223,  205,  224,  225,  226,  214,  227,
667
      228,  453,  215,  229,  230,  216,  231,  233,  234,  217,
668
      232,  218,  219,  235,  220,  221,  236,  222,  237,  223,
669
      238,  224,  225,  226,  239,  227,  228,   70,   73,  229,
670
      230,  240,  231,  233,  234,  241,  232,  242,  243,  235,
671
      244,  245,  236,  247,  237,  249,  238,   68,   68,  109,
672
      239,   71,   71,  250,  112,  251,  252,  240,  253,  254,
673
      450,  241,  255,  242,  243,  256,  244,  245,  257,  247,
674
      258,  249,  259,  261,  262,  263,  260,  264,  265,  250,
675
676
      266,  251,  252,  267,  253,  254,  110,  268,  255,  269,
677
      113,  256,  270,  271,  257,  272,  258,  273,  259,  261,
678
      262,  263,  260,  264,  265,  275,  266,  277,  278,  267,
679
      279,  280,  281,  268,  282,  269,  283,  284,  270,  271,
680
      285,  272,  286,  273,  288,  289,  290,  292,  295,  296,
681
      297,  275,  298,  277,  278,  300,  279,  280,  281,  301,
682
      282,  302,  283,  284,  303,  304,  285,  305,  286,  306,
683
      288,  289,  290,  292,  295,  296,  297,  307,  298,  308,
684
      309,  300,  310,  312,  313,  301,  314,  302,  315,  318,
685
      303,  304,  319,  305,  320,  306,  321,  323,  324,  325,
686
687
      326,  327,  328,  307,  329,  308,  309,  330,  310,  312,
688
      313,  331,  314,  332,  315,  318,  333,  334,  319,  335,
689
      320,  337,  321,  323,  324,  325,  326,  327,  328,  340,
690
      329,  341,  342,  330,  343,  344,  345,  331,  346,  332,
691
      347,  348,  333,  334,  349,  335,  350,  337,  351,  352,
692
      353,  354,  357,  358,  359,  340,  360,  341,  342,  361,
693
      343,  344,  345,  362,  346,  363,  347,  348,  364,  365,
694
      349,  366,  350,  367,  351,  352,  353,  354,  357,  358,
695
      359,  368,  360,  369,  370,  361,  371,  374,  375,  362,
696
      376,  363,  377,  378,  364,  365,  379,  366,  380,  367,
697
698
      381,  382,  383,  384,  385,  386,  389,  368,  390,  369,
699
      370,  391,  371,  374,  375,  392,  376,  393,  377,  378,
700
      394,  395,  379,  396,  380,  397,  381,  382,  383,  384,
701
      385,  386,  389,  398,  390,  399,  404,  391,  405,  406,
702
      407,  392,  408,  393,  409,  410,  394,  395,  411,  396,
703
      414,  397,  416,  415,  417,  418,  419,  420,  421,  398,
704
      422,  399,  404,  429,  405,  406,  407,  430,  408,  431,
705
      409,  410,  434,  441,  411,  426,  427,  428,  416,  442,
706
      417,  418,  419,  420,  421,  443,  422,  444,  445,  429,
707
      438,  439,  440,  430,  446,  431,  447,  455,  434,  441,
708
709
      456,  464,  460,  465,  467,  442,  461,  469,  470,  471,
710
      472,  443,  473,  474,  475,  476,  479,  481,  483,  484,
711
      446,  468,  447,  455,  480,  482,  456,  464,  485,  465,
712
      467,  486,  487,  469,  470,  471,  472,  488,  473,  474,
713
      475,  476,  479,  481,  483,  484,  489,  468,  490,  491,
714
      480,  482,  492,  493,  485,  494,  449,  486,  487,  448,
715
      437,  436,  435,  488,  425,  424,  423,  388,  387,  373,
716
      372,  356,  489,  355,  490,  491,  339,  338,  492,  493,
717
      322,  494,   56,   56,   56,   62,   62,   62,   65,   65,
718
       65,   68,   68,   68,   71,   71,   71,  107,  291,  107,
719
720
      108,  108,  108,  111,  111,  111,  149,  311,  149,  151,
721
      151,  151,  299,  291,  287,  276,  274,  248,  246,  152,
722
      150,  145,  206,  173,   67,  152,  150,  145,   67,  495,
723
       66,   66,   11,  495,  495,  495,  495,  495,  495,  495,
724
      495,  495,  495,  495,  495,  495,  495,  495,  495,  495,
725
      495,  495,  495,  495,  495,  495,  495,  495,  495,  495,
726
      495,  495,  495,  495,  495,  495,  495,  495,  495,  495,
727
      495,  495,  495,  495,  495,  495,  495,  495,  495,  495,
728
      495,  495,  495,  495,  495,  495,  495,  495,  495,  495,
729
      495,  495,  495,  495,  495,  495,  495,  495,  495
730
731
    } ;
732
733
static const flex_int16_t yy_chk[1100] =
734
    {   0,
735
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
736
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
737
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
738
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
739
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
740
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
741
        1,    1,    1,    1,    1,    1,    2,    2,    3,    3,
742
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
743
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
744
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
745
746
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
747
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
748
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
749
        3,    3,    3,    3,    4,    4,    5,    5,    6,    6,
750
        7,    7,    8,    8,   15,   34,   34,  426,   16,  105,
751
      105,  426,   18,   20,    5,  372,    6,    5,  372,    6,
752
       20,   21,  501,   20,  237,  237,    5,  476,    6,   17,
753
       17,   17,   17,   17,   17,   17,   17,   17,   18,   20,
754
        5,   15,    6,    5,   16,    6,   20,   21,   22,   20,
755
       23,   22,    5,   24,    6,   24,   23,   25,   26,   27,
756
757
       29,   22,   26,   32,   28,  291,   33,  291,   27,   27,
758
       37,   37,   37,   28,   22,   28,   23,   22,  475,   24,
759
       71,   24,   23,   25,   26,   27,   29,   22,   26,   32,
760
       28,   30,   33,   31,   27,   27,   43,   30,   31,   28,
761
       31,   28,   30,   38,   38,  465,   38,  265,  265,   37,
762
      408,  408,   46,   47,   46,   51,   71,   30,  373,   31,
763
      440,  373,   43,   30,   31,  439,   31,  437,   30,   39,
764
       39,   39,   39,   39,   39,   39,   39,   39,   46,   47,
765
       46,   51,   38,   40,   40,   40,   40,   40,   40,   40,
766
       40,   40,   42,   44,   45,   40,   44,   48,   49,   42,
767
768
       45,   48,   42,   50,   52,   54,   44,   49,   49,   55,
769
       52,   68,   50,   59,   50,   52,   70,   60,   42,   44,
770
       45,   40,   44,   48,   49,   42,   45,   48,   42,   50,
771
       52,   54,   44,   49,   49,   55,   52,   53,   50,   59,
772
       50,   52,   53,   60,   53,   61,   73,   75,   68,   76,
773
       77,   78,   79,   70,   74,   74,   74,   74,   74,   74,
774
       74,   74,   74,   53,   80,   81,   82,   83,   53,   84,
775
       53,   61,   85,   75,   86,   76,   77,   78,   79,   87,
776
       88,   89,   73,   90,   93,   91,   94,   95,   96,   97,
777
       80,   81,   82,   83,   98,   84,   99,  100,   85,   91,
778
779
       86,  101,  102,  103,  104,   87,   88,   89,  436,   90,
780
       93,   91,   94,   95,   96,   97,  108,  108,  108,  435,
781
       98,  387,   99,  100,  387,   91,  115,  101,  102,  103,
782
      104,  110,  110,  110,  111,  111,  116,  111,  113,  113,
783
      117,  113,  114,  114,  114,  114,  114,  114,  114,  114,
784
      114,  428,  115,  118,  119,  108,  120,  121,  122,  123,
785
      124,  125,  116,  126,  127,  128,  117,  129,  130,  133,
786
      110,  134,  135,  111,  131,  136,  137,  113,  138,  118,
787
      119,  139,  120,  121,  122,  123,  124,  125,  131,  126,
788
      127,  128,  140,  129,  130,  133,  141,  134,  135,  142,
789
790
      131,  136,  137,  143,  138,  144,  146,  139,  147,  148,
791
      153,  156,  154,  157,  131,  158,  159,  160,  140,  161,
792
      162,  427,  141,  164,  165,  142,  166,  167,  168,  143,
793
      166,  144,  146,  169,  147,  148,  170,  156,  171,  157,
794
      172,  158,  159,  160,  174,  161,  162,  153,  154,  164,
795
      165,  175,  166,  167,  168,  176,  166,  178,  179,  169,
796
      180,  181,  170,  183,  171,  185,  172,  186,  186,  186,
797
      174,  187,  187,  189,  187,  190,  191,  175,  192,  193,
798
      425,  176,  194,  178,  179,  195,  180,  181,  197,  183,
799
      198,  185,  199,  200,  201,  202,  199,  203,  204,  189,
800
801
      205,  190,  191,  207,  192,  193,  186,  208,  194,  209,
802
      187,  195,  211,  212,  197,  213,  198,  214,  199,  200,
803
      201,  202,  199,  203,  204,  216,  205,  218,  219,  207,
804
      220,  221,  223,  208,  224,  209,  225,  226,  211,  212,
805
      227,  213,  228,  214,  232,  233,  234,  236,  238,  239,
806
      240,  216,  241,  218,  219,  244,  220,  221,  223,  245,
807
      224,  246,  225,  226,  247,  248,  227,  251,  228,  252,
808
      232,  233,  234,  236,  238,  239,  240,  253,  241,  254,
809
      255,  244,  256,  260,  261,  245,  262,  246,  264,  266,
810
      247,  248,  267,  251,  268,  252,  269,  272,  273,  274,
811
812
      275,  276,  279,  253,  280,  254,  255,  281,  256,  260,
813
      261,  283,  262,  284,  264,  266,  285,  286,  267,  287,
814
      268,  292,  269,  272,  273,  274,  275,  276,  279,  295,
815
      280,  296,  297,  281,  298,  299,  300,  283,  302,  284,
816
      304,  305,  285,  286,  307,  287,  308,  292,  309,  310,
817
      311,  315,  318,  319,  320,  295,  321,  296,  297,  322,
818
      298,  299,  300,  323,  302,  325,  304,  305,  327,  329,
819
      307,  330,  308,  332,  309,  310,  311,  315,  318,  319,
820
      320,  333,  321,  334,  335,  322,  337,  340,  341,  323,
821
      342,  325,  344,  345,  327,  329,  346,  330,  347,  332,
822
823
      348,  350,  351,  352,  353,  354,  357,  333,  358,  334,
824
      335,  359,  337,  340,  341,  361,  342,  362,  344,  345,
825
      363,  364,  346,  365,  347,  366,  348,  350,  351,  352,
826
      353,  354,  357,  368,  358,  369,  374,  359,  375,  377,
827
      378,  361,  379,  362,  381,  383,  363,  364,  384,  365,
828
      388,  366,  389,  388,  390,  392,  393,  394,  396,  368,
829
      398,  369,  374,  405,  375,  377,  378,  406,  379,  407,
830
      381,  383,  410,  417,  384,  403,  403,  403,  389,  418,
831
      390,  392,  393,  394,  396,  419,  398,  420,  420,  405,
832
      415,  415,  415,  406,  421,  407,  422,  431,  410,  417,
833
834
      434,  443,  438,  446,  466,  418,  438,  467,  468,  469,
835
      470,  419,  471,  472,  473,  474,  477,  478,  479,  480,
836
      421,  466,  422,  431,  477,  478,  434,  443,  481,  446,
837
      466,  482,  483,  467,  468,  469,  470,  484,  471,  472,
838
      473,  474,  477,  478,  479,  480,  485,  466,  486,  487,
839
      477,  478,  488,  489,  481,  490,  424,  482,  483,  423,
840
      414,  413,  412,  484,  402,  401,  400,  356,  355,  339,
841
      338,  317,  485,  316,  486,  487,  294,  293,  488,  489,
842
      271,  490,  496,  496,  496,  497,  497,  497,  498,  498,
843
      498,  499,  499,  499,  500,  500,  500,  502,  263,  502,
844
845
      503,  503,  503,  504,  504,  504,  505,  257,  505,  506,
846
      506,  506,  243,  235,  229,  217,  215,  184,  182,  151,
847
      150,  145,  132,   92,   67,   65,   63,   57,   13,   11,
848
       10,    9,  495,  495,  495,  495,  495,  495,  495,  495,
849
      495,  495,  495,  495,  495,  495,  495,  495,  495,  495,
850
      495,  495,  495,  495,  495,  495,  495,  495,  495,  495,
851
      495,  495,  495,  495,  495,  495,  495,  495,  495,  495,
852
      495,  495,  495,  495,  495,  495,  495,  495,  495,  495,
853
      495,  495,  495,  495,  495,  495,  495,  495,  495,  495,
854
      495,  495,  495,  495,  495,  495,  495,  495,  495
855
856
    } ;
857
858
/* Table of booleans, true if rule could match eol. */
859
static const flex_int32_t yy_rule_can_match_eol[64] =
860
    {   0,
861
1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
862
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
863
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 
864
    1, 1, 0, 0,     };
865
866
static yy_state_type yy_last_accepting_state;
867
static char *yy_last_accepting_cpos;
868
869
extern int yy_flex_debug;
870
int yy_flex_debug = 0;
871
872
/* The intent behind this definition is that it'll catch
873
 * any uses of REJECT which flex missed.
874
 */
875
#define REJECT reject_used_but_not_detected
876
#define yymore() yymore_used_but_not_detected
877
11.1k
#define YY_MORE_ADJ 0
878
#define YY_RESTORE_YY_MORE_OFFSET
879
char *yytext;
880
#line 1 "cue_scanner.l"
881
#line 2 "cue_scanner.l"
882
/*
883
 * Copyright (c) 2004, 2005, 2006, 2007, Svend Sorensen
884
 * Copyright (c) 2009, 2010 Jochen Keil
885
 * For license terms, see the file COPYING in this distribution.
886
 */
887
888
#include <stdlib.h>
889
#include <string.h>
890
891
#include "cd.h"
892
#include "cue_parser.h"
893
894
char yy_buffer[PARSER_BUFFER];
895
896
int yylex(void);
897
#line 898 "/work/cue_scanner.c"
898
#define YY_NO_INPUT 1
899
900
#line 901 "/work/cue_scanner.c"
901
902
51.9k
#define INITIAL 0
903
47.9k
#define NAME 1
904
85.5k
#define REM 2
905
0
#define RPG 3
906
0
#define SKIP 4
907
908
#ifndef YY_NO_UNISTD_H
909
/* Special case for "unistd.h", since it is non-ANSI. We include it way
910
 * down here because we want the user's section 1 to have been scanned first.
911
 * The user has a chance to override it with an option.
912
 */
913
#include <unistd.h>
914
#endif
915
916
#ifndef YY_EXTRA_TYPE
917
#define YY_EXTRA_TYPE void *
918
#endif
919
920
static int yy_init_globals ( void );
921
922
/* Accessor methods to globals.
923
   These are made visible to non-reentrant scanners for convenience. */
924
925
int yylex_destroy ( void );
926
927
int yyget_debug ( void );
928
929
void yyset_debug ( int debug_flag  );
930
931
YY_EXTRA_TYPE yyget_extra ( void );
932
933
void yyset_extra ( YY_EXTRA_TYPE user_defined  );
934
935
FILE *yyget_in ( void );
936
937
void yyset_in  ( FILE * _in_str  );
938
939
FILE *yyget_out ( void );
940
941
void yyset_out  ( FILE * _out_str  );
942
943
      int yyget_leng ( void );
944
945
char *yyget_text ( void );
946
947
int yyget_lineno ( void );
948
949
void yyset_lineno ( int _line_number  );
950
951
/* Macros after this point can all be overridden by user definitions in
952
 * section 1.
953
 */
954
955
#ifndef YY_SKIP_YYWRAP
956
#ifdef __cplusplus
957
extern "C" int yywrap ( void );
958
#else
959
extern int yywrap ( void );
960
#endif
961
#endif
962
963
#ifndef YY_NO_UNPUT
964
    
965
#endif
966
967
#ifndef yytext_ptr
968
static void yy_flex_strncpy ( char *, const char *, int );
969
#endif
970
971
#ifdef YY_NEED_STRLEN
972
static int yy_flex_strlen ( const char * );
973
#endif
974
975
#ifndef YY_NO_INPUT
976
#ifdef __cplusplus
977
static int yyinput ( void );
978
#else
979
static int input ( void );
980
#endif
981
982
#endif
983
984
/* Amount of stuff to slurp up with each read. */
985
#ifndef YY_READ_BUF_SIZE
986
#ifdef __ia64__
987
/* On IA-64, the buffer size is 16k, not 8k */
988
#define YY_READ_BUF_SIZE 16384
989
#else
990
0
#define YY_READ_BUF_SIZE 8192
991
#endif /* __ia64__ */
992
#endif
993
994
/* Copy whatever the last rule matched to the standard output. */
995
#ifndef ECHO
996
/* This used to be an fputs(), but since the string might contain NUL's,
997
 * we now use fwrite().
998
 */
999
0
#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
1000
#endif
1001
1002
/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
1003
 * is returned in "result".
1004
 */
1005
#ifndef YY_INPUT
1006
#define YY_INPUT(buf,result,max_size) \
1007
0
  if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1008
0
    { \
1009
0
    int c = '*'; \
1010
0
    int n; \
1011
0
    for ( n = 0; n < max_size && \
1012
0
           (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1013
0
      buf[n] = (char) c; \
1014
0
    if ( c == '\n' ) \
1015
0
      buf[n++] = (char) c; \
1016
0
    if ( c == EOF && ferror( yyin ) ) \
1017
0
      YY_FATAL_ERROR( "input in flex scanner failed" ); \
1018
0
    result = n; \
1019
0
    } \
1020
0
  else \
1021
0
    { \
1022
0
    errno=0; \
1023
0
    while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
1024
0
      { \
1025
0
      if( errno != EINTR) \
1026
0
        { \
1027
0
        YY_FATAL_ERROR( "input in flex scanner failed" ); \
1028
0
        break; \
1029
0
        } \
1030
0
      errno=0; \
1031
0
      clearerr(yyin); \
1032
0
      } \
1033
0
    }\
1034
\
1035
1036
#endif
1037
1038
/* No semi-colon after return; correct usage is to write "yyterminate();" -
1039
 * we don't want an extra ';' after the "return" because that will cause
1040
 * some compilers to complain about unreachable statements.
1041
 */
1042
#ifndef yyterminate
1043
#define yyterminate() return YY_NULL
1044
#endif
1045
1046
/* Number of entries by which start-condition stack grows. */
1047
#ifndef YY_START_STACK_INCR
1048
#define YY_START_STACK_INCR 25
1049
#endif
1050
1051
/* Report a fatal error. */
1052
#ifndef YY_FATAL_ERROR
1053
0
#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1054
#endif
1055
1056
/* end tables serialization structures and prototypes */
1057
1058
/* Default declaration of generated scanner - a define so the user can
1059
 * easily add parameters.
1060
 */
1061
#ifndef YY_DECL
1062
#define YY_DECL_IS_OURS 1
1063
1064
extern int yylex (void);
1065
1066
#define YY_DECL int yylex (void)
1067
#endif /* !YY_DECL */
1068
1069
/* Code executed at the beginning of each rule, after yytext and yyleng
1070
 * have been set up.
1071
 */
1072
#ifndef YY_USER_ACTION
1073
#define YY_USER_ACTION
1074
#endif
1075
1076
/* Code executed at the end of each rule. */
1077
#ifndef YY_BREAK
1078
2.65M
#define YY_BREAK /*LINTED*/break;
1079
#endif
1080
1081
#define YY_RULE_SETUP \
1082
3.33M
  if ( yyleng > 0 ) \
1083
3.33M
    YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
1084
3.33M
        (yytext[yyleng - 1] == '\n'); \
1085
3.33M
  YY_USER_ACTION
1086
1087
/** The main scanner function which does all the work.
1088
 */
1089
YY_DECL
1090
678k
{
1091
678k
  yy_state_type yy_current_state;
1092
678k
  char *yy_cp, *yy_bp;
1093
678k
  int yy_act;
1094
    
1095
678k
  if ( !(yy_init) )
1096
1
    {
1097
1
    (yy_init) = 1;
1098
1099
#ifdef YY_USER_INIT
1100
    YY_USER_INIT;
1101
#endif
1102
1103
1
    if ( ! (yy_start) )
1104
1
      (yy_start) = 1; /* first start state */
1105
1106
1
    if ( ! yyin )
1107
1
      yyin = stdin;
1108
1109
1
    if ( ! yyout )
1110
1
      yyout = stdout;
1111
1112
1
    if ( ! YY_CURRENT_BUFFER ) {
1113
0
      yyensure_buffer_stack ();
1114
0
      YY_CURRENT_BUFFER_LVALUE =
1115
0
        yy_create_buffer( yyin, YY_BUF_SIZE );
1116
0
    }
1117
1118
1
    yy_load_buffer_state(  );
1119
1
    }
1120
1121
678k
  {
1122
678k
#line 33 "cue_scanner.l"
1123
1124
1125
678k
#line 1126 "/work/cue_scanner.c"
1126
1127
3.33M
  while ( /*CONSTCOND*/1 )    /* loops until end-of-file is reached */
1128
3.33M
    {
1129
3.33M
    yy_cp = (yy_c_buf_p);
1130
1131
    /* Support of yytext. */
1132
3.33M
    *yy_cp = (yy_hold_char);
1133
1134
    /* yy_bp points to the position in yy_ch_buf of the start of
1135
     * the current run.
1136
     */
1137
3.33M
    yy_bp = yy_cp;
1138
1139
3.33M
    yy_current_state = (yy_start);
1140
3.33M
    yy_current_state += YY_AT_BOL();
1141
3.33M
yy_match:
1142
3.33M
    do
1143
27.3M
      {
1144
27.3M
      YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
1145
27.3M
      if ( yy_accept[yy_current_state] )
1146
11.3M
        {
1147
11.3M
        (yy_last_accepting_state) = yy_current_state;
1148
11.3M
        (yy_last_accepting_cpos) = yy_cp;
1149
11.3M
        }
1150
41.6M
      while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1151
14.3M
        {
1152
14.3M
        yy_current_state = (int) yy_def[yy_current_state];
1153
14.3M
        if ( yy_current_state >= 496 )
1154
13.1M
          yy_c = yy_meta[yy_c];
1155
14.3M
        }
1156
27.3M
      yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
1157
27.3M
      ++yy_cp;
1158
27.3M
      }
1159
27.3M
    while ( yy_base[yy_current_state] != 1033 );
1160
1161
3.33M
yy_find_action:
1162
3.33M
    yy_act = yy_accept[yy_current_state];
1163
3.33M
    if ( yy_act == 0 )
1164
986k
      { /* have to back up */
1165
986k
      yy_cp = (yy_last_accepting_cpos);
1166
986k
      yy_current_state = (yy_last_accepting_state);
1167
986k
      yy_act = yy_accept[yy_current_state];
1168
986k
      }
1169
1170
3.33M
    YY_DO_BEFORE_ACTION;
1171
1172
3.33M
    if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
1173
140k
      {
1174
140k
      int yyl;
1175
7.70M
      for ( yyl = 0; yyl < yyleng; ++yyl )
1176
7.56M
        if ( yytext[yyl] == '\n' )
1177
          
1178
247k
    yylineno++;
1179
140k
;
1180
140k
      }
1181
1182
3.33M
do_action:  /* This label is used only to access EOF actions. */
1183
1184
3.33M
    switch ( yy_act )
1185
3.33M
  { /* beginning of action switch */
1186
0
      case 0: /* must back up */
1187
      /* undo the effects of YY_DO_BEFORE_ACTION */
1188
0
      *yy_cp = (yy_hold_char);
1189
0
      yy_cp = (yy_last_accepting_cpos);
1190
0
      yy_current_state = (yy_last_accepting_state);
1191
0
      goto yy_find_action;
1192
1193
583
case 1:
1194
/* rule 1 can match eol */
1195
583
#line 36 "cue_scanner.l"
1196
2.48k
case 2:
1197
/* rule 2 can match eol */
1198
2.48k
YY_RULE_SETUP
1199
2.48k
#line 36 "cue_scanner.l"
1200
2.48k
{
1201
2.48k
    yylval.sval = strncpy(  yy_buffer,
1202
2.48k
          ++yytext,
1203
2.48k
          (yyleng > sizeof(yy_buffer) ? sizeof(yy_buffer) : yyleng));
1204
2.48k
    yylval.sval[(yyleng > sizeof(yy_buffer) ? sizeof(yy_buffer) : yyleng) - 2] = '\0';
1205
2.48k
    BEGIN(INITIAL);
1206
2.48k
    return STRING;
1207
583
    }
1208
0
  YY_BREAK
1209
46.8k
case 3:
1210
46.8k
YY_RULE_SETUP
1211
46.8k
#line 45 "cue_scanner.l"
1212
46.8k
{
1213
46.8k
    yylval.sval = strncpy(  yy_buffer,
1214
46.8k
          yytext,
1215
46.8k
          sizeof(yy_buffer) - 1 );
1216
46.8k
    yylval.sval[sizeof(yy_buffer) - 1] = '\0';
1217
46.8k
    BEGIN(INITIAL);
1218
46.8k
    return STRING;
1219
583
    }
1220
0
  YY_BREAK
1221
989
case 4:
1222
989
YY_RULE_SETUP
1223
989
#line 54 "cue_scanner.l"
1224
989
{ BEGIN(NAME); return CATALOG; }
1225
0
  YY_BREAK
1226
556
case 5:
1227
556
YY_RULE_SETUP
1228
556
#line 55 "cue_scanner.l"
1229
556
{ BEGIN(NAME); return CDTEXTFILE; }
1230
0
  YY_BREAK
1231
12.5k
case 6:
1232
12.5k
YY_RULE_SETUP
1233
12.5k
#line 57 "cue_scanner.l"
1234
12.5k
{ BEGIN(NAME); return FFILE; }
1235
0
  YY_BREAK
1236
890
case 7:
1237
890
YY_RULE_SETUP
1238
890
#line 58 "cue_scanner.l"
1239
890
{ return BINARY; }
1240
0
  YY_BREAK
1241
3.28k
case 8:
1242
3.28k
YY_RULE_SETUP
1243
3.28k
#line 59 "cue_scanner.l"
1244
3.28k
{ return MOTOROLA; }
1245
0
  YY_BREAK
1246
319
case 9:
1247
319
YY_RULE_SETUP
1248
319
#line 60 "cue_scanner.l"
1249
319
{ return AIFF; }
1250
0
  YY_BREAK
1251
1.49k
case 10:
1252
1.49k
YY_RULE_SETUP
1253
1.49k
#line 61 "cue_scanner.l"
1254
1.49k
{ return WAVE; }
1255
0
  YY_BREAK
1256
13.3k
case 11:
1257
13.3k
YY_RULE_SETUP
1258
13.3k
#line 62 "cue_scanner.l"
1259
13.3k
{ return MP3; }
1260
0
  YY_BREAK
1261
232
case 12:
1262
232
YY_RULE_SETUP
1263
232
#line 63 "cue_scanner.l"
1264
232
{ return FLAC; }
1265
0
  YY_BREAK
1266
13.0k
case 13:
1267
13.0k
YY_RULE_SETUP
1268
13.0k
#line 65 "cue_scanner.l"
1269
13.0k
{ return TRACK; }
1270
0
  YY_BREAK
1271
8.49k
case 14:
1272
8.49k
YY_RULE_SETUP
1273
8.49k
#line 66 "cue_scanner.l"
1274
8.49k
{ yylval.ival = MODE_AUDIO; return AUDIO; }
1275
0
  YY_BREAK
1276
388
case 15:
1277
388
YY_RULE_SETUP
1278
388
#line 67 "cue_scanner.l"
1279
388
{ yylval.ival = MODE_MODE1; return MODE1_2048; }
1280
0
  YY_BREAK
1281
2.93k
case 16:
1282
2.93k
YY_RULE_SETUP
1283
2.93k
#line 68 "cue_scanner.l"
1284
2.93k
{ yylval.ival = MODE_MODE1_RAW; return MODE1_2352; }
1285
0
  YY_BREAK
1286
1.27k
case 17:
1287
1.27k
YY_RULE_SETUP
1288
1.27k
#line 69 "cue_scanner.l"
1289
1.27k
{ yylval.ival = MODE_MODE2; return MODE2_2336; }
1290
0
  YY_BREAK
1291
738
case 18:
1292
738
YY_RULE_SETUP
1293
738
#line 70 "cue_scanner.l"
1294
738
{ yylval.ival = MODE_MODE2_FORM1; return MODE2_2048; }
1295
0
  YY_BREAK
1296
2.96k
case 19:
1297
2.96k
YY_RULE_SETUP
1298
2.96k
#line 71 "cue_scanner.l"
1299
2.96k
{ yylval.ival = MODE_MODE2_FORM2; return MODE2_2342; }
1300
0
  YY_BREAK
1301
920
case 20:
1302
920
YY_RULE_SETUP
1303
920
#line 72 "cue_scanner.l"
1304
920
{ yylval.ival = MODE_MODE2_FORM_MIX; return MODE2_2332; }
1305
0
  YY_BREAK
1306
684
case 21:
1307
684
YY_RULE_SETUP
1308
684
#line 73 "cue_scanner.l"
1309
684
{ yylval.ival = MODE_MODE2_RAW; return MODE2_2352; }
1310
0
  YY_BREAK
1311
2.36k
case 22:
1312
2.36k
YY_RULE_SETUP
1313
2.36k
#line 75 "cue_scanner.l"
1314
2.36k
{ return FLAGS; }
1315
0
  YY_BREAK
1316
4.08k
case 23:
1317
4.08k
YY_RULE_SETUP
1318
4.08k
#line 76 "cue_scanner.l"
1319
4.08k
{ yylval.ival = FLAG_PRE_EMPHASIS; return PRE; }
1320
0
  YY_BREAK
1321
36.7k
case 24:
1322
36.7k
YY_RULE_SETUP
1323
36.7k
#line 77 "cue_scanner.l"
1324
36.7k
{ yylval.ival = FLAG_COPY_PERMITTED; return DCP; }
1325
0
  YY_BREAK
1326
453
case 25:
1327
453
YY_RULE_SETUP
1328
453
#line 78 "cue_scanner.l"
1329
453
{ yylval.ival = FLAG_FOUR_CHANNEL; return FOUR_CH; }
1330
0
  YY_BREAK
1331
1.07k
case 26:
1332
1.07k
YY_RULE_SETUP
1333
1.07k
#line 79 "cue_scanner.l"
1334
1.07k
{ yylval.ival = FLAG_SCMS; return SCMS; }
1335
0
  YY_BREAK
1336
11.3k
case 27:
1337
11.3k
YY_RULE_SETUP
1338
11.3k
#line 81 "cue_scanner.l"
1339
11.3k
{ return PREGAP; }
1340
0
  YY_BREAK
1341
36.0k
case 28:
1342
36.0k
YY_RULE_SETUP
1343
36.0k
#line 82 "cue_scanner.l"
1344
36.0k
{ return INDEX; }
1345
0
  YY_BREAK
1346
916
case 29:
1347
916
YY_RULE_SETUP
1348
916
#line 83 "cue_scanner.l"
1349
916
{ return POSTGAP; }
1350
0
  YY_BREAK
1351
1.80k
case 30:
1352
1.80k
YY_RULE_SETUP
1353
1.80k
#line 85 "cue_scanner.l"
1354
1.80k
{ BEGIN(NAME); yylval.ival = PTI_TITLE;  return TITLE; }
1355
0
  YY_BREAK
1356
3.53k
case 31:
1357
3.53k
YY_RULE_SETUP
1358
3.53k
#line 86 "cue_scanner.l"
1359
3.53k
{ BEGIN(NAME); yylval.ival = PTI_PERFORMER;  return PERFORMER; }
1360
0
  YY_BREAK
1361
535
case 32:
1362
535
YY_RULE_SETUP
1363
535
#line 87 "cue_scanner.l"
1364
535
{ BEGIN(NAME); yylval.ival = PTI_SONGWRITER;  return SONGWRITER; }
1365
0
  YY_BREAK
1366
286
case 33:
1367
286
YY_RULE_SETUP
1368
286
#line 88 "cue_scanner.l"
1369
286
{ BEGIN(NAME); yylval.ival = PTI_COMPOSER;  return COMPOSER; }
1370
0
  YY_BREAK
1371
809
case 34:
1372
809
YY_RULE_SETUP
1373
809
#line 89 "cue_scanner.l"
1374
809
{ BEGIN(NAME); yylval.ival = PTI_ARRANGER;  return ARRANGER; }
1375
0
  YY_BREAK
1376
674
case 35:
1377
674
YY_RULE_SETUP
1378
674
#line 90 "cue_scanner.l"
1379
674
{ BEGIN(NAME); yylval.ival = PTI_MESSAGE;  return MESSAGE; }
1380
0
  YY_BREAK
1381
1.28k
case 36:
1382
1.28k
YY_RULE_SETUP
1383
1.28k
#line 91 "cue_scanner.l"
1384
1.28k
{ BEGIN(NAME); yylval.ival = PTI_DISC_ID;  return DISC_ID; }
1385
0
  YY_BREAK
1386
1.79k
case 37:
1387
1.79k
YY_RULE_SETUP
1388
1.79k
#line 92 "cue_scanner.l"
1389
1.79k
{ BEGIN(NAME); yylval.ival = PTI_GENRE;  return GENRE; }
1390
0
  YY_BREAK
1391
864
case 38:
1392
864
YY_RULE_SETUP
1393
864
#line 93 "cue_scanner.l"
1394
864
{ BEGIN(NAME); yylval.ival = PTI_TOC_INFO1;  return TOC_INFO1; }
1395
0
  YY_BREAK
1396
531
case 39:
1397
531
YY_RULE_SETUP
1398
531
#line 94 "cue_scanner.l"
1399
531
{ BEGIN(NAME); yylval.ival = PTI_TOC_INFO2;  return TOC_INFO2; }
1400
0
  YY_BREAK
1401
205
case 40:
1402
205
YY_RULE_SETUP
1403
205
#line 95 "cue_scanner.l"
1404
205
{ BEGIN(NAME); yylval.ival = PTI_UPC_ISRC;  return UPC_EAN; }
1405
0
  YY_BREAK
1406
195
case 41:
1407
195
*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
1408
195
(yy_c_buf_p) = yy_cp = yy_bp + 4;
1409
195
YY_DO_BEFORE_ACTION; /* set up yytext again */
1410
195
YY_RULE_SETUP
1411
195
#line 96 "cue_scanner.l"
1412
195
{ BEGIN(NAME); yylval.ival = PTI_UPC_ISRC;  return ISRC; }
1413
0
  YY_BREAK
1414
1.55k
case 42:
1415
1.55k
YY_RULE_SETUP
1416
1.55k
#line 97 "cue_scanner.l"
1417
1.55k
{ BEGIN(NAME); yylval.ival = PTI_SIZE_INFO;  return SIZE_INFO; }
1418
0
  YY_BREAK
1419
18.5k
case 43:
1420
18.5k
YY_RULE_SETUP
1421
18.5k
#line 99 "cue_scanner.l"
1422
18.5k
{ BEGIN(NAME); return TRACK_ISRC; }
1423
0
  YY_BREAK
1424
3.93k
case 44:
1425
3.93k
YY_RULE_SETUP
1426
3.93k
#line 101 "cue_scanner.l"
1427
3.93k
{ BEGIN(REM); /* exclusive rules for special exceptions */ }
1428
3.93k
  YY_BREAK
1429
304
case 45:
1430
304
YY_RULE_SETUP
1431
304
#line 103 "cue_scanner.l"
1432
304
{ BEGIN(NAME); yylval.ival = REM_DATE; return DATE; }
1433
0
  YY_BREAK
1434
944
case 46:
1435
944
YY_RULE_SETUP
1436
944
#line 104 "cue_scanner.l"
1437
944
{ BEGIN(NAME); yylval.ival = PTI_GENRE; return XXX_GENRE; }
1438
0
  YY_BREAK
1439
0
case 47:
1440
0
YY_RULE_SETUP
1441
0
#line 105 "cue_scanner.l"
1442
0
{ BEGIN(RPG); yylval.ival = REM_REPLAYGAIN_ALBUM_GAIN;
1443
0
              return REPLAYGAIN_ALBUM_GAIN; }
1444
0
  YY_BREAK
1445
0
case 48:
1446
0
YY_RULE_SETUP
1447
0
#line 107 "cue_scanner.l"
1448
0
{ BEGIN(RPG); yylval.ival = REM_REPLAYGAIN_ALBUM_PEAK;
1449
0
              return REPLAYGAIN_ALBUM_PEAK; }
1450
0
  YY_BREAK
1451
0
case 49:
1452
0
YY_RULE_SETUP
1453
0
#line 109 "cue_scanner.l"
1454
0
{ BEGIN(RPG); yylval.ival = REM_REPLAYGAIN_TRACK_GAIN;
1455
0
              return REPLAYGAIN_TRACK_GAIN; }
1456
0
  YY_BREAK
1457
0
case 50:
1458
0
YY_RULE_SETUP
1459
0
#line 111 "cue_scanner.l"
1460
0
{ BEGIN(RPG); yylval.ival = REM_REPLAYGAIN_TRACK_PEAK;
1461
0
              return REPLAYGAIN_TRACK_PEAK; }
1462
0
  YY_BREAK
1463
1.54k
case 51:
1464
1.54k
YY_RULE_SETUP
1465
1.54k
#line 114 "cue_scanner.l"
1466
1.54k
{ BEGIN(REM); }
1467
1.54k
  YY_BREAK
1468
80.0k
case 52:
1469
80.0k
YY_RULE_SETUP
1470
80.0k
#line 115 "cue_scanner.l"
1471
80.0k
{ BEGIN(REM); }
1472
80.0k
  YY_BREAK
1473
2.68k
case 53:
1474
/* rule 53 can match eol */
1475
2.68k
YY_RULE_SETUP
1476
2.68k
#line 116 "cue_scanner.l"
1477
2.68k
{ BEGIN(INITIAL); }
1478
2.68k
  YY_BREAK
1479
0
case 54:
1480
0
YY_RULE_SETUP
1481
0
#line 118 "cue_scanner.l"
1482
0
{
1483
0
    yylval.sval = strncpy(  yy_buffer,
1484
0
          yytext,
1485
0
          (yyleng > sizeof(yy_buffer) ? sizeof(yy_buffer) : yyleng));
1486
0
    yylval.sval[(yyleng > sizeof(yy_buffer) ? sizeof(yy_buffer) : yyleng)] = '\0';
1487
0
    BEGIN(SKIP);
1488
0
    return STRING;
1489
583
    }
1490
0
  YY_BREAK
1491
0
case 55:
1492
0
YY_RULE_SETUP
1493
0
#line 127 "cue_scanner.l"
1494
0
{ BEGIN(RPG); }
1495
0
  YY_BREAK
1496
0
case 56:
1497
/* rule 56 can match eol */
1498
0
YY_RULE_SETUP
1499
0
#line 129 "cue_scanner.l"
1500
0
{ BEGIN(INITIAL); yylineno++; return '\n'; }
1501
0
  YY_BREAK
1502
61.8k
case 57:
1503
61.8k
YY_RULE_SETUP
1504
61.8k
#line 131 "cue_scanner.l"
1505
61.8k
{ /* ignore whitespace */ }
1506
61.8k
  YY_BREAK
1507
275k
case 58:
1508
275k
YY_RULE_SETUP
1509
275k
#line 133 "cue_scanner.l"
1510
275k
{ yylval.ival = atoi(yytext); return NUMBER; }
1511
0
  YY_BREAK
1512
29.5k
case 59:
1513
29.5k
YY_RULE_SETUP
1514
29.5k
#line 134 "cue_scanner.l"
1515
29.5k
{ return yytext[0]; }
1516
0
  YY_BREAK
1517
6.94k
case 60:
1518
/* rule 60 can match eol */
1519
6.94k
YY_RULE_SETUP
1520
6.94k
#line 136 "cue_scanner.l"
1521
6.94k
{ yylineno++; /* blank line */ }
1522
6.94k
  YY_BREAK
1523
128k
case 61:
1524
/* rule 61 can match eol */
1525
128k
YY_RULE_SETUP
1526
128k
#line 137 "cue_scanner.l"
1527
128k
{ yylineno++; return '\n'; }
1528
0
  YY_BREAK
1529
2.49M
case 62:
1530
2.49M
YY_RULE_SETUP
1531
2.49M
#line 138 "cue_scanner.l"
1532
2.49M
{ fprintf(stderr, "bad character '%c'\n", yytext[0]); }
1533
2.49M
  YY_BREAK
1534
3.31k
case YY_STATE_EOF(INITIAL):
1535
3.53k
case YY_STATE_EOF(NAME):
1536
3.62k
case YY_STATE_EOF(REM):
1537
3.62k
case YY_STATE_EOF(RPG):
1538
3.62k
case YY_STATE_EOF(SKIP):
1539
3.62k
#line 140 "cue_scanner.l"
1540
3.62k
{ static int once = 0; return (once = !once) ? '\n' : 0; }
1541
0
  YY_BREAK
1542
0
case 63:
1543
0
YY_RULE_SETUP
1544
0
#line 143 "cue_scanner.l"
1545
0
ECHO;
1546
0
  YY_BREAK
1547
0
#line 1548 "/work/cue_scanner.c"
1548
1549
4.93k
  case YY_END_OF_BUFFER:
1550
4.93k
    {
1551
    /* Amount of text matched not including the EOB char. */
1552
4.93k
    int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
1553
1554
    /* Undo the effects of YY_DO_BEFORE_ACTION. */
1555
4.93k
    *yy_cp = (yy_hold_char);
1556
4.93k
    YY_RESTORE_YY_MORE_OFFSET
1557
1558
4.93k
    if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
1559
1.81k
      {
1560
      /* We're scanning a new file or input source.  It's
1561
       * possible that this happened because the user
1562
       * just pointed yyin at a new source and called
1563
       * yylex().  If so, then we have to assure
1564
       * consistency between YY_CURRENT_BUFFER and our
1565
       * globals.  Here is the right place to do so, because
1566
       * this is the first action (other than possibly a
1567
       * back-up) that will match for the new input source.
1568
       */
1569
1.81k
      (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
1570
1.81k
      YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
1571
1.81k
      YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
1572
1.81k
      }
1573
1574
    /* Note that here we test for yy_c_buf_p "<=" to the position
1575
     * of the first EOB in the buffer, since yy_c_buf_p will
1576
     * already have been incremented past the NUL character
1577
     * (since all states make transitions on EOB to the
1578
     * end-of-buffer state).  Contrast this with the test
1579
     * in input().
1580
     */
1581
4.93k
    if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
1582
0
      { /* This was really a NUL. */
1583
0
      yy_state_type yy_next_state;
1584
1585
0
      (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
1586
1587
0
      yy_current_state = yy_get_previous_state(  );
1588
1589
      /* Okay, we're now positioned to make the NUL
1590
       * transition.  We couldn't have
1591
       * yy_get_previous_state() go ahead and do it
1592
       * for us because it doesn't know how to deal
1593
       * with the possibility of jamming (and we don't
1594
       * want to build jamming into it because then it
1595
       * will run more slowly).
1596
       */
1597
1598
0
      yy_next_state = yy_try_NUL_trans( yy_current_state );
1599
1600
0
      yy_bp = (yytext_ptr) + YY_MORE_ADJ;
1601
1602
0
      if ( yy_next_state )
1603
0
        {
1604
        /* Consume the NUL. */
1605
0
        yy_cp = ++(yy_c_buf_p);
1606
0
        yy_current_state = yy_next_state;
1607
0
        goto yy_match;
1608
0
        }
1609
1610
0
      else
1611
0
        {
1612
0
        yy_cp = (yy_c_buf_p);
1613
0
        goto yy_find_action;
1614
0
        }
1615
0
      }
1616
1617
4.93k
    else switch ( yy_get_next_buffer(  ) )
1618
4.93k
      {
1619
3.62k
      case EOB_ACT_END_OF_FILE:
1620
3.62k
        {
1621
3.62k
        (yy_did_buffer_switch_on_eof) = 0;
1622
1623
3.62k
        if ( yywrap(  ) )
1624
3.62k
          {
1625
          /* Note: because we've taken care in
1626
           * yy_get_next_buffer() to have set up
1627
           * yytext, we can now set up
1628
           * yy_c_buf_p so that if some total
1629
           * hoser (like flex itself) wants to
1630
           * call the scanner after we return the
1631
           * YY_NULL, it'll still work - another
1632
           * YY_NULL will get returned.
1633
           */
1634
3.62k
          (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
1635
1636
3.62k
          yy_act = YY_STATE_EOF(YY_START);
1637
3.62k
          goto do_action;
1638
3.62k
          }
1639
1640
0
        else
1641
0
          {
1642
0
          if ( ! (yy_did_buffer_switch_on_eof) )
1643
0
            YY_NEW_FILE;
1644
0
          }
1645
0
        break;
1646
3.62k
        }
1647
1648
0
      case EOB_ACT_CONTINUE_SCAN:
1649
0
        (yy_c_buf_p) =
1650
0
          (yytext_ptr) + yy_amount_of_matched_text;
1651
1652
0
        yy_current_state = yy_get_previous_state(  );
1653
1654
0
        yy_cp = (yy_c_buf_p);
1655
0
        yy_bp = (yytext_ptr) + YY_MORE_ADJ;
1656
0
        goto yy_match;
1657
1658
1.30k
      case EOB_ACT_LAST_MATCH:
1659
1.30k
        (yy_c_buf_p) =
1660
1.30k
        &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
1661
1662
1.30k
        yy_current_state = yy_get_previous_state(  );
1663
1664
1.30k
        yy_cp = (yy_c_buf_p);
1665
1.30k
        yy_bp = (yytext_ptr) + YY_MORE_ADJ;
1666
1.30k
        goto yy_find_action;
1667
4.93k
      }
1668
0
    break;
1669
4.93k
    }
1670
1671
0
  default:
1672
0
    YY_FATAL_ERROR(
1673
3.33M
      "fatal flex scanner internal error--no action found" );
1674
3.33M
  } /* end of action switch */
1675
3.33M
    } /* end of scanning one token */
1676
678k
  } /* end of user's declarations */
1677
678k
} /* end of yylex */
1678
1679
/* yy_get_next_buffer - try to read in a new buffer
1680
 *
1681
 * Returns a code representing an action:
1682
 *  EOB_ACT_LAST_MATCH -
1683
 *  EOB_ACT_CONTINUE_SCAN - continue scanning from current position
1684
 *  EOB_ACT_END_OF_FILE - end of file
1685
 */
1686
static int yy_get_next_buffer (void)
1687
4.93k
{
1688
4.93k
      char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
1689
4.93k
  char *source = (yytext_ptr);
1690
4.93k
  int number_to_move, i;
1691
4.93k
  int ret_val;
1692
1693
4.93k
  if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
1694
0
    YY_FATAL_ERROR(
1695
4.93k
    "fatal flex scanner internal error--end of buffer missed" );
1696
1697
4.93k
  if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
1698
4.93k
    { /* Don't try to fill the buffer, so this is an EOF. */
1699
4.93k
    if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
1700
3.62k
      {
1701
      /* We matched a single character, the EOB, so
1702
       * treat this as a final EOF.
1703
       */
1704
3.62k
      return EOB_ACT_END_OF_FILE;
1705
3.62k
      }
1706
1707
1.30k
    else
1708
1.30k
      {
1709
      /* We matched some text prior to the EOB, first
1710
       * process it.
1711
       */
1712
1.30k
      return EOB_ACT_LAST_MATCH;
1713
1.30k
      }
1714
4.93k
    }
1715
1716
  /* Try to read more data. */
1717
1718
  /* First move last chars to start of buffer. */
1719
0
  number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
1720
1721
0
  for ( i = 0; i < number_to_move; ++i )
1722
0
    *(dest++) = *(source++);
1723
1724
0
  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
1725
    /* don't do the read, it's not guaranteed to return an EOF,
1726
     * just force an EOF
1727
     */
1728
0
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
1729
1730
0
  else
1731
0
    {
1732
0
      int num_to_read =
1733
0
      YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
1734
1735
0
    while ( num_to_read <= 0 )
1736
0
      { /* Not enough room in the buffer - grow it. */
1737
1738
      /* just a shorter name for the current buffer */
1739
0
      YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
1740
1741
0
      int yy_c_buf_p_offset =
1742
0
        (int) ((yy_c_buf_p) - b->yy_ch_buf);
1743
1744
0
      if ( b->yy_is_our_buffer )
1745
0
        {
1746
0
        int new_size = b->yy_buf_size * 2;
1747
1748
0
        if ( new_size <= 0 )
1749
0
          b->yy_buf_size += b->yy_buf_size / 8;
1750
0
        else
1751
0
          b->yy_buf_size *= 2;
1752
1753
0
        b->yy_ch_buf = (char *)
1754
          /* Include room in for 2 EOB chars. */
1755
0
          yyrealloc( (void *) b->yy_ch_buf,
1756
0
               (yy_size_t) (b->yy_buf_size + 2)  );
1757
0
        }
1758
0
      else
1759
        /* Can't grow it, we don't own it. */
1760
0
        b->yy_ch_buf = NULL;
1761
1762
0
      if ( ! b->yy_ch_buf )
1763
0
        YY_FATAL_ERROR(
1764
0
        "fatal error - scanner input buffer overflow" );
1765
1766
0
      (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
1767
1768
0
      num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
1769
0
            number_to_move - 1;
1770
1771
0
      }
1772
1773
0
    if ( num_to_read > YY_READ_BUF_SIZE )
1774
0
      num_to_read = YY_READ_BUF_SIZE;
1775
1776
    /* Read in more data. */
1777
0
    YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
1778
0
      (yy_n_chars), num_to_read );
1779
1780
0
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
1781
0
    }
1782
1783
0
  if ( (yy_n_chars) == 0 )
1784
0
    {
1785
0
    if ( number_to_move == YY_MORE_ADJ )
1786
0
      {
1787
0
      ret_val = EOB_ACT_END_OF_FILE;
1788
0
      yyrestart( yyin  );
1789
0
      }
1790
1791
0
    else
1792
0
      {
1793
0
      ret_val = EOB_ACT_LAST_MATCH;
1794
0
      YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
1795
0
        YY_BUFFER_EOF_PENDING;
1796
0
      }
1797
0
    }
1798
1799
0
  else
1800
0
    ret_val = EOB_ACT_CONTINUE_SCAN;
1801
1802
0
  if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
1803
    /* Extend the array by 50%, plus the number we really need. */
1804
0
    int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
1805
0
    YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
1806
0
      (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size  );
1807
0
    if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
1808
0
      YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
1809
    /* "- 2" to take care of EOB's */
1810
0
    YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
1811
0
  }
1812
1813
0
  (yy_n_chars) += number_to_move;
1814
0
  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
1815
0
  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
1816
1817
0
  (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
1818
1819
0
  return ret_val;
1820
0
}
1821
1822
/* yy_get_previous_state - get the state just before the EOB char was reached */
1823
1824
    static yy_state_type yy_get_previous_state (void)
1825
1.30k
{
1826
1.30k
  yy_state_type yy_current_state;
1827
1.30k
  char *yy_cp;
1828
    
1829
1.30k
  yy_current_state = (yy_start);
1830
1.30k
  yy_current_state += YY_AT_BOL();
1831
1832
7.75M
  for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
1833
7.75M
    {
1834
7.75M
    YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
1835
7.75M
    if ( yy_accept[yy_current_state] )
1836
1.36M
      {
1837
1.36M
      (yy_last_accepting_state) = yy_current_state;
1838
1.36M
      (yy_last_accepting_cpos) = yy_cp;
1839
1.36M
      }
1840
14.8M
    while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1841
7.07M
      {
1842
7.07M
      yy_current_state = (int) yy_def[yy_current_state];
1843
7.07M
      if ( yy_current_state >= 496 )
1844
7.07M
        yy_c = yy_meta[yy_c];
1845
7.07M
      }
1846
7.75M
    yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
1847
7.75M
    }
1848
1849
1.30k
  return yy_current_state;
1850
1.30k
}
1851
1852
/* yy_try_NUL_trans - try to make a transition on the NUL character
1853
 *
1854
 * synopsis
1855
 *  next_state = yy_try_NUL_trans( current_state );
1856
 */
1857
    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
1858
0
{
1859
0
  int yy_is_jam;
1860
0
      char *yy_cp = (yy_c_buf_p);
1861
1862
0
  YY_CHAR yy_c = 1;
1863
0
  if ( yy_accept[yy_current_state] )
1864
0
    {
1865
0
    (yy_last_accepting_state) = yy_current_state;
1866
0
    (yy_last_accepting_cpos) = yy_cp;
1867
0
    }
1868
0
  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1869
0
    {
1870
0
    yy_current_state = (int) yy_def[yy_current_state];
1871
0
    if ( yy_current_state >= 496 )
1872
0
      yy_c = yy_meta[yy_c];
1873
0
    }
1874
0
  yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
1875
0
  yy_is_jam = (yy_current_state == 495);
1876
1877
0
    return yy_is_jam ? 0 : yy_current_state;
1878
0
}
1879
1880
#ifndef YY_NO_UNPUT
1881
1882
#endif
1883
1884
#ifndef YY_NO_INPUT
1885
#ifdef __cplusplus
1886
    static int yyinput (void)
1887
#else
1888
    static int input  (void)
1889
#endif
1890
1891
{
1892
  int c;
1893
    
1894
  *(yy_c_buf_p) = (yy_hold_char);
1895
1896
  if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
1897
    {
1898
    /* yy_c_buf_p now points to the character we want to return.
1899
     * If this occurs *before* the EOB characters, then it's a
1900
     * valid NUL; if not, then we've hit the end of the buffer.
1901
     */
1902
    if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
1903
      /* This was really a NUL. */
1904
      *(yy_c_buf_p) = '\0';
1905
1906
    else
1907
      { /* need more input */
1908
      int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
1909
      ++(yy_c_buf_p);
1910
1911
      switch ( yy_get_next_buffer(  ) )
1912
        {
1913
        case EOB_ACT_LAST_MATCH:
1914
          /* This happens because yy_g_n_b()
1915
           * sees that we've accumulated a
1916
           * token and flags that we need to
1917
           * try matching the token before
1918
           * proceeding.  But for input(),
1919
           * there's no matching to consider.
1920
           * So convert the EOB_ACT_LAST_MATCH
1921
           * to EOB_ACT_END_OF_FILE.
1922
           */
1923
1924
          /* Reset buffer status. */
1925
          yyrestart( yyin );
1926
1927
          /*FALLTHROUGH*/
1928
1929
        case EOB_ACT_END_OF_FILE:
1930
          {
1931
          if ( yywrap(  ) )
1932
            return 0;
1933
1934
          if ( ! (yy_did_buffer_switch_on_eof) )
1935
            YY_NEW_FILE;
1936
#ifdef __cplusplus
1937
          return yyinput();
1938
#else
1939
          return input();
1940
#endif
1941
          }
1942
1943
        case EOB_ACT_CONTINUE_SCAN:
1944
          (yy_c_buf_p) = (yytext_ptr) + offset;
1945
          break;
1946
        }
1947
      }
1948
    }
1949
1950
  c = *(unsigned char *) (yy_c_buf_p);  /* cast for 8-bit char's */
1951
  *(yy_c_buf_p) = '\0'; /* preserve yytext */
1952
  (yy_hold_char) = *++(yy_c_buf_p);
1953
1954
  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
1955
  if ( YY_CURRENT_BUFFER_LVALUE->yy_at_bol )
1956
    
1957
    yylineno++;
1958
;
1959
1960
  return c;
1961
}
1962
#endif  /* ifndef YY_NO_INPUT */
1963
1964
/** Immediately switch to a different input stream.
1965
 * @param input_file A readable stream.
1966
 * 
1967
 * @note This function does not reset the start condition to @c INITIAL .
1968
 */
1969
    void yyrestart  (FILE * input_file )
1970
0
{
1971
    
1972
0
  if ( ! YY_CURRENT_BUFFER ){
1973
0
        yyensure_buffer_stack ();
1974
0
    YY_CURRENT_BUFFER_LVALUE =
1975
0
            yy_create_buffer( yyin, YY_BUF_SIZE );
1976
0
  }
1977
1978
0
  yy_init_buffer( YY_CURRENT_BUFFER, input_file );
1979
0
  yy_load_buffer_state(  );
1980
0
}
1981
1982
/** Switch to a different input buffer.
1983
 * @param new_buffer The new input buffer.
1984
 * 
1985
 */
1986
    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
1987
1.81k
{
1988
    
1989
  /* TODO. We should be able to replace this entire function body
1990
   * with
1991
   *    yypop_buffer_state();
1992
   *    yypush_buffer_state(new_buffer);
1993
     */
1994
1.81k
  yyensure_buffer_stack ();
1995
1.81k
  if ( YY_CURRENT_BUFFER == new_buffer )
1996
0
    return;
1997
1998
1.81k
  if ( YY_CURRENT_BUFFER )
1999
0
    {
2000
    /* Flush out information for old buffer. */
2001
0
    *(yy_c_buf_p) = (yy_hold_char);
2002
0
    YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
2003
0
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2004
0
    }
2005
2006
1.81k
  YY_CURRENT_BUFFER_LVALUE = new_buffer;
2007
1.81k
  yy_load_buffer_state(  );
2008
2009
  /* We don't actually know whether we did this switch during
2010
   * EOF (yywrap()) processing, but the only time this flag
2011
   * is looked at is after yywrap() is called, so it's safe
2012
   * to go ahead and always set it.
2013
   */
2014
1.81k
  (yy_did_buffer_switch_on_eof) = 1;
2015
1.81k
}
2016
2017
static void yy_load_buffer_state  (void)
2018
1.81k
{
2019
1.81k
      (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2020
1.81k
  (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
2021
1.81k
  yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
2022
1.81k
  (yy_hold_char) = *(yy_c_buf_p);
2023
1.81k
}
2024
2025
/** Allocate and initialize an input buffer state.
2026
 * @param file A readable stream.
2027
 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
2028
 * 
2029
 * @return the allocated buffer state.
2030
 */
2031
    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
2032
0
{
2033
0
  YY_BUFFER_STATE b;
2034
    
2035
0
  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
2036
0
  if ( ! b )
2037
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2038
2039
0
  b->yy_buf_size = size;
2040
2041
  /* yy_ch_buf has to be 2 characters longer than the size given because
2042
   * we need to put in 2 end-of-buffer characters.
2043
   */
2044
0
  b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2)  );
2045
0
  if ( ! b->yy_ch_buf )
2046
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2047
2048
0
  b->yy_is_our_buffer = 1;
2049
2050
0
  yy_init_buffer( b, file );
2051
2052
0
  return b;
2053
0
}
2054
2055
/** Destroy the buffer.
2056
 * @param b a buffer created with yy_create_buffer()
2057
 * 
2058
 */
2059
    void yy_delete_buffer (YY_BUFFER_STATE  b )
2060
1.81k
{
2061
    
2062
1.81k
  if ( ! b )
2063
0
    return;
2064
2065
1.81k
  if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
2066
1.81k
    YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
2067
2068
1.81k
  if ( b->yy_is_our_buffer )
2069
1.81k
    yyfree( (void *) b->yy_ch_buf  );
2070
2071
1.81k
  yyfree( (void *) b  );
2072
1.81k
}
2073
2074
/* Initializes or reinitializes a buffer.
2075
 * This function is sometimes called more than once on the same buffer,
2076
 * such as during a yyrestart() or at EOF.
2077
 */
2078
    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
2079
2080
0
{
2081
0
  int oerrno = errno;
2082
    
2083
0
  yy_flush_buffer( b );
2084
2085
0
  b->yy_input_file = file;
2086
0
  b->yy_fill_buffer = 1;
2087
2088
    /* If b is the current buffer, then yy_init_buffer was _probably_
2089
     * called from yyrestart() or through yy_get_next_buffer.
2090
     * In that case, we don't want to reset the lineno or column.
2091
     */
2092
0
    if (b != YY_CURRENT_BUFFER){
2093
0
        b->yy_bs_lineno = 1;
2094
0
        b->yy_bs_column = 0;
2095
0
    }
2096
2097
0
        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
2098
    
2099
0
  errno = oerrno;
2100
0
}
2101
2102
/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
2103
 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
2104
 * 
2105
 */
2106
    void yy_flush_buffer (YY_BUFFER_STATE  b )
2107
0
{
2108
0
      if ( ! b )
2109
0
    return;
2110
2111
0
  b->yy_n_chars = 0;
2112
2113
  /* We always need two end-of-buffer characters.  The first causes
2114
   * a transition to the end-of-buffer state.  The second causes
2115
   * a jam in that state.
2116
   */
2117
0
  b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2118
0
  b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2119
2120
0
  b->yy_buf_pos = &b->yy_ch_buf[0];
2121
2122
0
  b->yy_at_bol = 1;
2123
0
  b->yy_buffer_status = YY_BUFFER_NEW;
2124
2125
0
  if ( b == YY_CURRENT_BUFFER )
2126
0
    yy_load_buffer_state(  );
2127
0
}
2128
2129
/** Pushes the new state onto the stack. The new state becomes
2130
 *  the current state. This function will allocate the stack
2131
 *  if necessary.
2132
 *  @param new_buffer The new state.
2133
 *  
2134
 */
2135
void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
2136
0
{
2137
0
      if (new_buffer == NULL)
2138
0
    return;
2139
2140
0
  yyensure_buffer_stack();
2141
2142
  /* This block is copied from yy_switch_to_buffer. */
2143
0
  if ( YY_CURRENT_BUFFER )
2144
0
    {
2145
    /* Flush out information for old buffer. */
2146
0
    *(yy_c_buf_p) = (yy_hold_char);
2147
0
    YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
2148
0
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2149
0
    }
2150
2151
  /* Only push if top exists. Otherwise, replace top. */
2152
0
  if (YY_CURRENT_BUFFER)
2153
0
    (yy_buffer_stack_top)++;
2154
0
  YY_CURRENT_BUFFER_LVALUE = new_buffer;
2155
2156
  /* copied from yy_switch_to_buffer. */
2157
0
  yy_load_buffer_state(  );
2158
0
  (yy_did_buffer_switch_on_eof) = 1;
2159
0
}
2160
2161
/** Removes and deletes the top of the stack, if present.
2162
 *  The next element becomes the new top.
2163
 *  
2164
 */
2165
void yypop_buffer_state (void)
2166
0
{
2167
0
      if (!YY_CURRENT_BUFFER)
2168
0
    return;
2169
2170
0
  yy_delete_buffer(YY_CURRENT_BUFFER );
2171
0
  YY_CURRENT_BUFFER_LVALUE = NULL;
2172
0
  if ((yy_buffer_stack_top) > 0)
2173
0
    --(yy_buffer_stack_top);
2174
2175
0
  if (YY_CURRENT_BUFFER) {
2176
0
    yy_load_buffer_state(  );
2177
0
    (yy_did_buffer_switch_on_eof) = 1;
2178
0
  }
2179
0
}
2180
2181
/* Allocates the stack if it does not exist.
2182
 *  Guarantees space for at least one push.
2183
 */
2184
static void yyensure_buffer_stack (void)
2185
1.81k
{
2186
1.81k
  yy_size_t num_to_alloc;
2187
    
2188
1.81k
  if (!(yy_buffer_stack)) {
2189
2190
    /* First allocation is just for 2 elements, since we don't know if this
2191
     * scanner will even need a stack. We use 2 instead of 1 to avoid an
2192
     * immediate realloc on the next call.
2193
         */
2194
1
      num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
2195
1
    (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
2196
1
                (num_to_alloc * sizeof(struct yy_buffer_state*)
2197
1
                );
2198
1
    if ( ! (yy_buffer_stack) )
2199
0
      YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
2200
2201
1
    memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
2202
2203
1
    (yy_buffer_stack_max) = num_to_alloc;
2204
1
    (yy_buffer_stack_top) = 0;
2205
1
    return;
2206
1
  }
2207
2208
1.81k
  if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
2209
2210
    /* Increase the buffer to prepare for a possible push. */
2211
1
    yy_size_t grow_size = 8 /* arbitrary grow size */;
2212
2213
1
    num_to_alloc = (yy_buffer_stack_max) + grow_size;
2214
1
    (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
2215
1
                ((yy_buffer_stack),
2216
1
                num_to_alloc * sizeof(struct yy_buffer_state*)
2217
1
                );
2218
1
    if ( ! (yy_buffer_stack) )
2219
0
      YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
2220
2221
    /* zero only the new slots.*/
2222
1
    memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
2223
1
    (yy_buffer_stack_max) = num_to_alloc;
2224
1
  }
2225
1.81k
}
2226
2227
/** Setup the input buffer state to scan directly from a user-specified character buffer.
2228
 * @param base the character buffer
2229
 * @param size the size in bytes of the character buffer
2230
 * 
2231
 * @return the newly allocated buffer state object.
2232
 */
2233
YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
2234
1.81k
{
2235
1.81k
  YY_BUFFER_STATE b;
2236
    
2237
1.81k
  if ( size < 2 ||
2238
1.81k
       base[size-2] != YY_END_OF_BUFFER_CHAR ||
2239
1.81k
       base[size-1] != YY_END_OF_BUFFER_CHAR )
2240
    /* They forgot to leave room for the EOB's. */
2241
0
    return NULL;
2242
2243
1.81k
  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
2244
1.81k
  if ( ! b )
2245
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
2246
2247
1.81k
  b->yy_buf_size = (int) (size - 2);  /* "- 2" to take care of EOB's */
2248
1.81k
  b->yy_buf_pos = b->yy_ch_buf = base;
2249
1.81k
  b->yy_is_our_buffer = 0;
2250
1.81k
  b->yy_input_file = NULL;
2251
1.81k
  b->yy_n_chars = b->yy_buf_size;
2252
1.81k
  b->yy_is_interactive = 0;
2253
1.81k
  b->yy_at_bol = 1;
2254
1.81k
  b->yy_fill_buffer = 0;
2255
1.81k
  b->yy_buffer_status = YY_BUFFER_NEW;
2256
2257
1.81k
  yy_switch_to_buffer( b  );
2258
2259
1.81k
  return b;
2260
1.81k
}
2261
2262
/** Setup the input buffer state to scan a string. The next call to yylex() will
2263
 * scan from a @e copy of @a str.
2264
 * @param yystr a NUL-terminated string to scan
2265
 * 
2266
 * @return the newly allocated buffer state object.
2267
 * @note If you want to scan bytes that may contain NUL values, then use
2268
 *       yy_scan_bytes() instead.
2269
 */
2270
YY_BUFFER_STATE yy_scan_string (const char * yystr )
2271
1.81k
{
2272
    
2273
1.81k
  return yy_scan_bytes( yystr, (int) strlen(yystr) );
2274
1.81k
}
2275
2276
/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
2277
 * scan from a @e copy of @a bytes.
2278
 * @param yybytes the byte buffer to scan
2279
 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
2280
 * 
2281
 * @return the newly allocated buffer state object.
2282
 */
2283
YY_BUFFER_STATE yy_scan_bytes  (const char * yybytes, int  _yybytes_len )
2284
1.81k
{
2285
1.81k
  YY_BUFFER_STATE b;
2286
1.81k
  char *buf;
2287
1.81k
  yy_size_t n;
2288
1.81k
  int i;
2289
    
2290
  /* Get memory for full buffer, including space for trailing EOB's. */
2291
1.81k
  n = (yy_size_t) (_yybytes_len + 2);
2292
1.81k
  buf = (char *) yyalloc( n  );
2293
1.81k
  if ( ! buf )
2294
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
2295
2296
19.7M
  for ( i = 0; i < _yybytes_len; ++i )
2297
19.7M
    buf[i] = yybytes[i];
2298
2299
1.81k
  buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
2300
2301
1.81k
  b = yy_scan_buffer( buf, n );
2302
1.81k
  if ( ! b )
2303
0
    YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
2304
2305
  /* It's okay to grow etc. this buffer, and we should throw it
2306
   * away when we're done.
2307
   */
2308
1.81k
  b->yy_is_our_buffer = 1;
2309
2310
1.81k
  return b;
2311
1.81k
}
2312
2313
#ifndef YY_EXIT_FAILURE
2314
0
#define YY_EXIT_FAILURE 2
2315
#endif
2316
2317
static void yynoreturn yy_fatal_error (const char* msg )
2318
0
{
2319
0
      fprintf( stderr, "%s\n", msg );
2320
0
  exit( YY_EXIT_FAILURE );
2321
0
}
2322
2323
/* Redefine yyless() so it works in section 3 code. */
2324
2325
#undef yyless
2326
#define yyless(n) \
2327
  do \
2328
    { \
2329
    /* Undo effects of setting up yytext. */ \
2330
        int yyless_macro_arg = (n); \
2331
        YY_LESS_LINENO(yyless_macro_arg);\
2332
    yytext[yyleng] = (yy_hold_char); \
2333
    (yy_c_buf_p) = yytext + yyless_macro_arg; \
2334
    (yy_hold_char) = *(yy_c_buf_p); \
2335
    *(yy_c_buf_p) = '\0'; \
2336
    yyleng = yyless_macro_arg; \
2337
    } \
2338
  while ( 0 )
2339
2340
/* Accessor  methods (get/set functions) to struct members. */
2341
2342
/** Get the current line number.
2343
 * 
2344
 */
2345
int yyget_lineno  (void)
2346
0
{
2347
    
2348
0
    return yylineno;
2349
0
}
2350
2351
/** Get the input stream.
2352
 * 
2353
 */
2354
FILE *yyget_in  (void)
2355
0
{
2356
0
        return yyin;
2357
0
}
2358
2359
/** Get the output stream.
2360
 * 
2361
 */
2362
FILE *yyget_out  (void)
2363
0
{
2364
0
        return yyout;
2365
0
}
2366
2367
/** Get the length of the current token.
2368
 * 
2369
 */
2370
int yyget_leng  (void)
2371
0
{
2372
0
        return yyleng;
2373
0
}
2374
2375
/** Get the current token.
2376
 * 
2377
 */
2378
2379
char *yyget_text  (void)
2380
0
{
2381
0
        return yytext;
2382
0
}
2383
2384
/** Set the current line number.
2385
 * @param _line_number line number
2386
 * 
2387
 */
2388
void yyset_lineno (int  _line_number )
2389
0
{
2390
    
2391
0
    yylineno = _line_number;
2392
0
}
2393
2394
/** Set the input stream. This does not discard the current
2395
 * input buffer.
2396
 * @param _in_str A readable stream.
2397
 * 
2398
 * @see yy_switch_to_buffer
2399
 */
2400
void yyset_in (FILE *  _in_str )
2401
0
{
2402
0
        yyin = _in_str ;
2403
0
}
2404
2405
void yyset_out (FILE *  _out_str )
2406
0
{
2407
0
        yyout = _out_str ;
2408
0
}
2409
2410
int yyget_debug  (void)
2411
0
{
2412
0
        return yy_flex_debug;
2413
0
}
2414
2415
void yyset_debug (int  _bdebug )
2416
0
{
2417
0
        yy_flex_debug = _bdebug ;
2418
0
}
2419
2420
static int yy_init_globals (void)
2421
0
{
2422
        /* Initialization is the same as for the non-reentrant scanner.
2423
     * This function is called from yylex_destroy(), so don't allocate here.
2424
     */
2425
2426
    /* We do not touch yylineno unless the option is enabled. */
2427
0
    yylineno =  1;
2428
    
2429
0
    (yy_buffer_stack) = NULL;
2430
0
    (yy_buffer_stack_top) = 0;
2431
0
    (yy_buffer_stack_max) = 0;
2432
0
    (yy_c_buf_p) = NULL;
2433
0
    (yy_init) = 0;
2434
0
    (yy_start) = 0;
2435
2436
/* Defined in main.c */
2437
#ifdef YY_STDINIT
2438
    yyin = stdin;
2439
    yyout = stdout;
2440
#else
2441
0
    yyin = NULL;
2442
0
    yyout = NULL;
2443
0
#endif
2444
2445
    /* For future reference: Set errno on error, since we are called by
2446
     * yylex_init()
2447
     */
2448
0
    return 0;
2449
0
}
2450
2451
/* yylex_destroy is for both reentrant and non-reentrant scanners. */
2452
int yylex_destroy  (void)
2453
0
{
2454
    
2455
    /* Pop the buffer stack, destroying each element. */
2456
0
  while(YY_CURRENT_BUFFER){
2457
0
    yy_delete_buffer( YY_CURRENT_BUFFER  );
2458
0
    YY_CURRENT_BUFFER_LVALUE = NULL;
2459
0
    yypop_buffer_state();
2460
0
  }
2461
2462
  /* Destroy the stack itself. */
2463
0
  yyfree((yy_buffer_stack) );
2464
0
  (yy_buffer_stack) = NULL;
2465
2466
    /* Reset the globals. This is important in a non-reentrant scanner so the next time
2467
     * yylex() is called, initialization will occur. */
2468
0
    yy_init_globals( );
2469
2470
0
    return 0;
2471
0
}
2472
2473
/*
2474
 * Internal utility routines.
2475
 */
2476
2477
#ifndef yytext_ptr
2478
static void yy_flex_strncpy (char* s1, const char * s2, int n )
2479
{
2480
    
2481
  int i;
2482
  for ( i = 0; i < n; ++i )
2483
    s1[i] = s2[i];
2484
}
2485
#endif
2486
2487
#ifdef YY_NEED_STRLEN
2488
static int yy_flex_strlen (const char * s )
2489
{
2490
  int n;
2491
  for ( n = 0; s[n]; ++n )
2492
    ;
2493
2494
  return n;
2495
}
2496
#endif
2497
2498
void *yyalloc (yy_size_t  size )
2499
3.62k
{
2500
3.62k
      return malloc(size);
2501
3.62k
}
2502
2503
void *yyrealloc  (void * ptr, yy_size_t  size )
2504
1
{
2505
    
2506
  /* The cast to (char *) in the following accommodates both
2507
   * implementations that use char* generic pointers, and those
2508
   * that use void* generic pointers.  It works with the latter
2509
   * because both ANSI C and C++ allow castless assignment from
2510
   * any pointer type to void*, and deal with argument conversions
2511
   * as though doing an assignment.
2512
   */
2513
1
  return realloc(ptr, size);
2514
1
}
2515
2516
void yyfree (void * ptr )
2517
3.62k
{
2518
3.62k
      free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
2519
3.62k
}
2520
2521
#define YYTABLES_NAME "yytables"
2522
2523
#line 143 "cue_scanner.l"
2524
2525