Coverage Report

Created: 2026-01-10 06:05

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/radvd/scanner.c
Line
Count
Source
1
2
#line 3 "scanner.c"
3
4
#define  YY_INT_ALIGNED short int
5
6
/* A lexical scanner generated by flex */
7
8
#define FLEX_SCANNER
9
#define YY_FLEX_MAJOR_VERSION 2
10
#define YY_FLEX_MINOR_VERSION 6
11
#define YY_FLEX_SUBMINOR_VERSION 4
12
#if YY_FLEX_SUBMINOR_VERSION > 0
13
#define FLEX_BETA
14
#endif
15
16
/* First, we deal with  platform-specific or compiler-specific issues. */
17
18
/* begin standard C headers. */
19
#include <stdio.h>
20
#include <string.h>
21
#include <errno.h>
22
#include <stdlib.h>
23
24
/* end standard C headers. */
25
26
/* flex integer type definitions */
27
28
#ifndef FLEXINT_H
29
#define FLEXINT_H
30
31
/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
32
33
#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
34
35
/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
36
 * if you want the limit (max/min) macros for int types. 
37
 */
38
#ifndef __STDC_LIMIT_MACROS
39
#define __STDC_LIMIT_MACROS 1
40
#endif
41
42
#include <inttypes.h>
43
typedef int8_t flex_int8_t;
44
typedef uint8_t flex_uint8_t;
45
typedef int16_t flex_int16_t;
46
typedef uint16_t flex_uint16_t;
47
typedef int32_t flex_int32_t;
48
typedef uint32_t flex_uint32_t;
49
#else
50
typedef signed char flex_int8_t;
51
typedef short int flex_int16_t;
52
typedef int flex_int32_t;
53
typedef unsigned char flex_uint8_t; 
54
typedef unsigned short int flex_uint16_t;
55
typedef unsigned int flex_uint32_t;
56
57
/* Limits of integral types. */
58
#ifndef INT8_MIN
59
#define INT8_MIN               (-128)
60
#endif
61
#ifndef INT16_MIN
62
#define INT16_MIN              (-32767-1)
63
#endif
64
#ifndef INT32_MIN
65
#define INT32_MIN              (-2147483647-1)
66
#endif
67
#ifndef INT8_MAX
68
#define INT8_MAX               (127)
69
#endif
70
#ifndef INT16_MAX
71
#define INT16_MAX              (32767)
72
#endif
73
#ifndef INT32_MAX
74
#define INT32_MAX              (2147483647)
75
#endif
76
#ifndef UINT8_MAX
77
#define UINT8_MAX              (255U)
78
#endif
79
#ifndef UINT16_MAX
80
#define UINT16_MAX             (65535U)
81
#endif
82
#ifndef UINT32_MAX
83
#define UINT32_MAX             (4294967295U)
84
#endif
85
86
#ifndef SIZE_MAX
87
#define SIZE_MAX               (~(size_t)0)
88
#endif
89
90
#endif /* ! C99 */
91
92
#endif /* ! FLEXINT_H */
93
94
/* begin standard C++ headers. */
95
96
/* TODO: this is always defined, so inline it */
97
#define yyconst const
98
99
#if defined(__GNUC__) && __GNUC__ >= 3
100
#define yynoreturn __attribute__((__noreturn__))
101
#else
102
#define yynoreturn
103
#endif
104
105
/* Returned upon end-of-file. */
106
54
#define YY_NULL 0
107
108
/* Promotes a possibly negative, possibly signed char to an
109
 *   integer in range [0..255] for use as an array index.
110
 */
111
757M
#define YY_SC_TO_UI(c) ((YY_CHAR) (c))
112
113
/* Enter a start condition.  This macro really ought to take a parameter,
114
 * but we do it the disgusting crufty way forced on us by the ()-less
115
 * definition of BEGIN.
116
 */
117
#define BEGIN (yy_start) = 1 + 2 *
118
/* Translate the current start state into a value that can be later handed
119
 * to BEGIN to return to the state.  The YYSTATE alias is for lex
120
 * compatibility.
121
 */
122
#define YY_START (((yy_start) - 1) / 2)
123
#define YYSTATE YY_START
124
/* Action number for EOF rule of a given start state. */
125
108
#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
126
/* Special action meaning "start processing a new file". */
127
0
#define YY_NEW_FILE yyrestart( yyin  )
128
6.99k
#define YY_END_OF_BUFFER_CHAR 0
129
130
/* Size of default input buffer. */
131
#ifndef YY_BUF_SIZE
132
#ifdef __ia64__
133
/* On IA-64, the buffer size is 16k, not 8k.
134
 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
135
 * Ditto for the __ia64__ case accordingly.
136
 */
137
#define YY_BUF_SIZE 32768
138
#else
139
549
#define YY_BUF_SIZE 16384
140
#endif /* __ia64__ */
141
#endif
142
143
/* The state buf must be large enough to hold one state per character in the main buffer.
144
 */
145
#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
146
147
#ifndef YY_TYPEDEF_YY_BUFFER_STATE
148
#define YY_TYPEDEF_YY_BUFFER_STATE
149
typedef struct yy_buffer_state *YY_BUFFER_STATE;
150
#endif
151
152
#ifndef YY_TYPEDEF_YY_SIZE_T
153
#define YY_TYPEDEF_YY_SIZE_T
154
typedef size_t yy_size_t;
155
#endif
156
157
extern int yyleng;
158
159
extern FILE *yyin, *yyout;
160
161
4.82k
#define EOB_ACT_CONTINUE_SCAN 0
162
108
#define EOB_ACT_END_OF_FILE 1
163
858
#define EOB_ACT_LAST_MATCH 2
164
    
165
    /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
166
     *       access to the local variable yy_act. Since yyless() is a macro, it would break
167
     *       existing scanners that call yyless() from OUTSIDE yylex.
168
     *       One obvious solution it to make yy_act a global. I tried that, and saw
169
     *       a 5% performance hit in a non-yylineno scanner, because yy_act is
170
     *       normally declared as a register variable-- so it is not worth it.
171
     */
172
    #define  YY_LESS_LINENO(n) \
173
            do { \
174
                int yyl;\
175
                for ( yyl = n; yyl < yyleng; ++yyl )\
176
                    if ( yytext[yyl] == '\n' )\
177
                        --yylineno;\
178
            }while(0)
179
    #define YY_LINENO_REWIND_TO(dst) \
180
            do {\
181
                const char *p;\
182
                for ( p = yy_cp-1; p >= (dst); --p)\
183
                    if ( *p == '\n' )\
184
                        --yylineno;\
185
            }while(0)
186
    
187
/* Return all but the first "n" matched characters back to the input stream. */
188
#define yyless(n) \
189
  do \
190
    { \
191
    /* Undo effects of setting up yytext. */ \
192
        int yyless_macro_arg = (n); \
193
        YY_LESS_LINENO(yyless_macro_arg);\
194
    *yy_cp = (yy_hold_char); \
195
    YY_RESTORE_YY_MORE_OFFSET \
196
    (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
197
    YY_DO_BEFORE_ACTION; /* set up yytext again */ \
198
    } \
199
  while ( 0 )
200
#define unput(c) yyunput( c, (yytext_ptr)  )
201
202
#ifndef YY_STRUCT_YY_BUFFER_STATE
203
#define YY_STRUCT_YY_BUFFER_STATE
204
struct yy_buffer_state
205
  {
206
  FILE *yy_input_file;
207
208
  char *yy_ch_buf;    /* input buffer */
209
  char *yy_buf_pos;   /* current position in input buffer */
210
211
  /* Size of input buffer in bytes, not including room for EOB
212
   * characters.
213
   */
214
  int yy_buf_size;
215
216
  /* Number of characters read into yy_ch_buf, not including EOB
217
   * characters.
218
   */
219
  int yy_n_chars;
220
221
  /* Whether we "own" the buffer - i.e., we know we created it,
222
   * and can realloc() it to grow it, and should free() it to
223
   * delete it.
224
   */
225
  int yy_is_our_buffer;
226
227
  /* Whether this is an "interactive" input source; if so, and
228
   * if we're using stdio for input, then we want to use getc()
229
   * instead of fread(), to make sure we stop fetching input after
230
   * each newline.
231
   */
232
  int yy_is_interactive;
233
234
  /* Whether we're considered to be at the beginning of a line.
235
   * If so, '^' rules will be active on the next match, otherwise
236
   * not.
237
   */
238
  int yy_at_bol;
239
240
    int yy_bs_lineno; /**< The line count. */
241
    int yy_bs_column; /**< The column count. */
242
243
  /* Whether to try to fill the input buffer when we reach the
244
   * end of it.
245
   */
246
  int yy_fill_buffer;
247
248
  int yy_buffer_status;
249
250
38.3k
#define YY_BUFFER_NEW 0
251
549
#define YY_BUFFER_NORMAL 1
252
  /* When an EOF's been seen but there's still some text to process
253
   * then we mark the buffer as YY_EOF_PENDING, to indicate that we
254
   * shouldn't try reading from the input source any more.  We might
255
   * still have a bunch of tokens to match, though, because of
256
   * possible backing-up.
257
   *
258
   * When we actually see the EOF, we change the status to "new"
259
   * (via yyrestart()), so that the user can continue scanning by
260
   * just pointing yyin at a new input file.
261
   */
262
3.32k
#define YY_BUFFER_EOF_PENDING 2
263
264
  };
265
#endif /* !YY_STRUCT_YY_BUFFER_STATE */
266
267
/* Stack of input buffers. */
268
static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
269
static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
270
static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
271
272
/* We provide macros for accessing buffer states in case in the
273
 * future we want to put the buffer states in a more general
274
 * "scanner state".
275
 *
276
 * Returns the top of the stack, or NULL.
277
 */
278
4.60k
#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
279
4.60k
                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
280
4.60k
                          : NULL)
281
/* Same as previous macro, but useful when we know that the buffer stack is not
282
 * NULL or when we need an lvalue. For internal use only.
283
 */
284
113k
#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
285
286
/* yy_hold_char holds the character lost when yytext is formed. */
287
static char yy_hold_char;
288
static int yy_n_chars;    /* number of characters read into yy_ch_buf */
289
int yyleng;
290
291
/* Points to current character in buffer. */
292
static char *yy_c_buf_p = NULL;
293
static int yy_init = 0;   /* whether we need to initialize */
294
static int yy_start = 0;  /* start state number */
295
296
/* Flag which is used to allow yywrap()'s to do buffer switches
297
 * instead of setting up a fresh yyin.  A bit of a hack ...
298
 */
299
static int yy_did_buffer_switch_on_eof;
300
301
void yyrestart ( FILE *input_file  );
302
void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer  );
303
YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size  );
304
void yy_delete_buffer ( YY_BUFFER_STATE b  );
305
void yy_flush_buffer ( YY_BUFFER_STATE b  );
306
void yypush_buffer_state ( YY_BUFFER_STATE new_buffer  );
307
void yypop_buffer_state ( void );
308
309
static void yyensure_buffer_stack ( void );
310
static void yy_load_buffer_state ( void );
311
static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file  );
312
#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
313
314
YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size  );
315
YY_BUFFER_STATE yy_scan_string ( const char *yy_str  );
316
YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len  );
317
318
void *yyalloc ( yy_size_t  );
319
void *yyrealloc ( void *, yy_size_t  );
320
void yyfree ( void *  );
321
322
#define yy_new_buffer yy_create_buffer
323
#define yy_set_interactive(is_interactive) \
324
  { \
325
  if ( ! YY_CURRENT_BUFFER ){ \
326
        yyensure_buffer_stack (); \
327
    YY_CURRENT_BUFFER_LVALUE =    \
328
            yy_create_buffer( yyin, YY_BUF_SIZE ); \
329
  } \
330
  YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
331
  }
332
#define yy_set_bol(at_bol) \
333
  { \
334
  if ( ! YY_CURRENT_BUFFER ){\
335
        yyensure_buffer_stack (); \
336
    YY_CURRENT_BUFFER_LVALUE =    \
337
            yy_create_buffer( yyin, YY_BUF_SIZE ); \
338
  } \
339
  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
340
  }
341
#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
342
343
/* Begin user sect3 */
344
345
54
#define yywrap() (/*CONSTCOND*/1)
346
#define YY_SKIP_YYWRAP
347
typedef flex_uint8_t YY_CHAR;
348
349
FILE *yyin = NULL, *yyout = NULL;
350
351
typedef int yy_state_type;
352
353
extern int yylineno;
354
int yylineno = 1;
355
356
extern char *yytext;
357
#ifdef yytext_ptr
358
#undef yytext_ptr
359
#endif
360
1.54M
#define yytext_ptr yytext
361
362
static yy_state_type yy_get_previous_state ( void );
363
static yy_state_type yy_try_NUL_trans ( yy_state_type current_state  );
364
static int yy_get_next_buffer ( void );
365
static void yynoreturn yy_fatal_error ( const char* msg  );
366
367
/* Done after the current pattern has been matched and before the
368
 * corresponding action - sets up yytext.
369
 */
370
#define YY_DO_BEFORE_ACTION \
371
1.38M
  (yytext_ptr) = yy_bp; \
372
1.38M
  yyleng = (int) (yy_cp - yy_bp); \
373
1.38M
  (yy_hold_char) = *yy_cp; \
374
1.38M
  *yy_cp = '\0'; \
375
1.38M
  (yy_c_buf_p) = yy_cp;
376
#define YY_NUM_RULES 81
377
2.52M
#define YY_END_OF_BUFFER 82
378
/* This struct is not used in this scanner,
379
   but its presence is necessary. */
380
struct yy_trans_info
381
  {
382
  flex_int32_t yy_verify;
383
  flex_int32_t yy_nxt;
384
  };
385
static const flex_int16_t yy_accept[896] =
386
    {   0,
387
        0,    0,   82,   80,    3,    2,   78,   80,   78,   78,
388
       78,   79,   69,   78,   78,   78,   78,   78,   78,   78,
389
       78,   78,   78,   78,   78,   78,   78,   78,   78,    3,
390
       78,   78,   78,   78,    0,   78,    0,    0,    1,   78,
391
       70,   78,   69,   78,   78,   67,   78,   78,   78,   78,
392
       78,   78,   78,   78,   78,   78,   78,   78,   78,    0,
393
       78,   78,   78,   78,   78,   78,   73,   78,   78,   78,
394
       78,   78,   78,   78,   78,   68,   71,   69,   78,   78,
395
       67,   78,   78,   78,   78,   78,   78,   78,   78,   78,
396
       78,   78,   78,   78,   78,   78,   78,   75,   78,   78,
397
398
       78,   78,   74,   78,   78,   78,   78,   78,   78,   78,
399
       78,   78,   68,   78,   69,   78,   78,   78,   78,   78,
400
       67,   67,   11,   78,   78,   78,   78,   78,   78,   78,
401
       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
402
       78,   78,   78,   77,   78,   78,   78,   78,   78,   78,
403
       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
404
       78,   78,   78,   78,   78,   68,   68,   69,   78,   78,
405
       78,   78,   67,   78,   67,   78,   78,   78,   78,   78,
406
       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
407
       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
408
409
       78,   78,   78,    8,   78,   78,   78,   78,   78,   78,
410
       78,   78,   78,   78,   78,   78,    7,   78,    6,   78,
411
       78,   78,   78,   78,   78,   68,   78,   68,   78,   78,
412
       78,   78,   78,   67,   67,   78,   78,   78,   78,   78,
413
       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
414
       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
415
       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
416
       78,   78,   78,   78,   78,   76,   78,   78,   78,    5,
417
       78,   78,   78,   78,   78,   78,   78,   78,   68,   68,
418
       78,   78,   78,   78,   67,   67,   78,   78,   78,   78,
419
420
       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
421
       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
422
       78,   78,   78,   78,   78,   78,    9,   78,   78,   78,
423
       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
424
       78,   78,   78,   78,   78,   78,   78,   78,   68,   68,
425
       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
426
       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
427
       78,   22,   78,   78,   78,   78,   78,   78,   78,   78,
428
       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
429
       78,   72,   78,   10,   78,   78,   78,   78,   78,   78,
430
431
       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
432
       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
433
       78,   78,   78,   78,   30,   78,   78,   78,   78,   78,
434
       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
435
       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
436
        4,   78,   78,   78,   78,   78,   78,   78,   78,   78,
437
       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
438
       78,   78,   78,   78,   78,   78,   78,   78,   21,   78,
439
       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
440
       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
441
442
       78,   78,   56,   54,   78,   78,   78,   78,   78,   78,
443
       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
444
       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
445
       78,   78,   78,   78,   78,   78,   78,   62,   78,   78,
446
       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
447
       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
448
       78,   78,   78,   78,   78,   78,   78,   78,   12,   78,
449
       50,   40,   78,   78,   78,   78,   78,   78,   78,   78,
450
       78,   78,   78,   78,   78,   78,   61,   78,   78,   78,
451
       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
452
453
       78,   78,   52,   78,   78,   78,   78,   78,   78,   78,
454
       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
455
       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
456
       78,   78,   78,   78,   78,   78,   78,   31,   78,   78,
457
       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
458
       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
459
       78,   36,   16,   78,   78,   78,   64,   78,   78,   78,
460
       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
461
       78,   78,   78,   78,   78,   78,   78,   78,   78,   66,
462
       78,   78,   78,   78,   25,   78,   78,   78,   78,   78,
463
464
       38,   19,   78,   78,   78,   78,   78,   78,   78,   78,
465
       78,   78,   78,   78,   78,   65,   78,   44,   78,   78,
466
       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
467
       78,   78,   78,   78,   78,   78,   67,   67,   78,   78,
468
       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
469
       78,   14,   78,   78,   78,   24,   78,   78,   78,   78,
470
       78,   78,   78,   34,   78,   78,   15,   78,   78,   78,
471
       29,   78,   78,   78,   68,   68,   78,   78,   67,   78,
472
       67,   78,   78,   59,   63,   78,   78,   55,   37,   39,
473
       78,   78,   78,   78,   53,   78,   23,   49,   78,   78,
474
475
       32,   78,   78,   78,   78,   78,   78,   78,   78,   78,
476
       78,   78,   68,   78,   68,   67,   67,   78,   78,   78,
477
       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
478
       78,   45,   78,   47,   78,   17,   78,   18,   78,   68,
479
       68,   78,   78,   67,   67,   78,   78,   78,   78,   26,
480
       78,   78,   20,   78,   78,   51,   48,   28,   13,   35,
481
       78,   57,   78,   68,   68,   78,   78,   78,   78,   43,
482
       78,   78,   78,   78,   78,   46,   41,   78,   78,   78,
483
       78,   78,   27,   58,   33,   78,   78,   78,   78,   42,
484
       78,   78,   78,   60,    0
485
486
    } ;
487
488
static const YY_CHAR yy_ec[256] =
489
    {   0,
490
        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
491
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
492
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
493
        1,    2,    4,    5,    6,    7,    7,    7,    1,    7,
494
        7,    7,    7,    7,    8,    9,   10,   11,   11,   11,
495
       11,   12,   11,   13,   11,   11,   11,   14,   15,    7,
496
        7,    7,    7,    7,   16,   17,   18,   19,   20,   21,
497
       22,   23,   24,    7,   25,   26,   27,   28,   29,   30,
498
        7,   31,   32,   33,   34,   35,   36,   37,   38,    7,
499
        7,   39,    7,    7,    7,    7,   40,   41,   42,   43,
500
501
       44,   45,   46,   47,   48,    7,   49,   50,   51,   52,
502
       53,   54,    7,   55,   56,   57,   58,   59,   60,   61,
503
       62,    7,   63,    1,   64,    7,    1,    1,    1,    1,
504
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
505
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
506
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
507
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
508
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
509
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
510
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
511
512
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
513
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
514
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
515
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
516
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
517
        1,    1,    1,    1,    1
518
    } ;
519
520
static const YY_CHAR yy_meta[65] =
521
    {   0,
522
        1,    1,    1,    2,    1,    2,    2,    2,    2,    1,
523
        2,    2,    2,    2,    1,    2,    2,    2,    2,    2,
524
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
525
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
526
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
527
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
528
        2,    2,    1,    1
529
    } ;
530
531
static const flex_int16_t yy_base[900] =
532
    {   0,
533
        0,    0,  582, 3230,  579, 3230,   54,   64,   75,    0,
534
       70, 3230,  131,  560,  168,   75,   96,  177,  101,  107,
535
       77,   89,  129,  175,   84,  108,   71,  164,   76,  571,
536
        0,  219,  528,    0,   84, 3230,  537,  536, 3230,  240,
537
      143,  150,  294,  329,  155,    0,  201,  235,  240,  137,
538
      245,  168,  267,  164,  164,  178,  174,  175,  251,   88,
539
      168,  228,  248,  240,  236,  249,    0,  251,  246,  273,
540
      268,  296,  364,  399,    0,    0,  270,  434,  319,  469,
541
      504,    0,  343,  300,  537,  304,  342,  343,  383,  333,
542
      333,  334,  344,  358,  350,  373,  378,  369,  369,  377,
543
544
      417,  525,    0,  411,  401,  405,  402,  419,  429,  586,
545
        0,  621,  656,    0,  417,  523,  522,  691,  726,    0,
546
      761,    0,    0,  441,  434,  525,  474,  440,  443,  460,
547
      490,  500,  472,  767,  542,  603,  481,  522,  479,  514,
548
      531,  544,  553,    0,  573,  570,  584,  589,  605,  589,
549
      590,  634,  622,  520,  632,  625,  623,  639,  644,  638,
550
      490,  487,  810,  845,    0,  880,    0,  453,  915,    0,
551
      950,    0,  985,    0,    0,  654,  656,  660,  663,  661,
552
      672,  673,  679,  691,  763,  697,  709,  701,  705,  720,
553
      758,  713,  760,  754,  761,  758,  768,  764,  802,  811,
554
555
      792,  809,  825,    0,  852,  823,  826,  854,  858,  852,
556
      850,  855,  858,  882,  884,  878,    0,  896,    0,  885,
557
      885, 1020,    0, 1055,    0, 1090,    0,    0,  486,  485,
558
     1125, 1160,    0, 1195,    0,  888,  900,  897,  915,  926,
559
      934,  919,  932,  945,  963,  959,  969,  955,  963,  968,
560
      978,  967,  989,  987, 1003,  991, 1001, 1016, 1022, 1030,
561
     1023, 1028, 1029, 1041, 1056, 1069, 1074, 1063, 1073, 1073,
562
     1080, 1072, 1107, 1106, 1109,    0, 1110, 1111, 1108,    0,
563
     1143, 1107, 1127,  484,  483, 1230, 1265,    0, 1300,    0,
564
     1335,    0, 1370,    0,  482,  456, 1144, 1133, 1138, 1155,
565
566
     1164, 1160, 1169, 1180, 1166, 1176, 1183, 1206, 1196, 1202,
567
     1200, 1212, 1210, 1219, 1245, 1232, 1242, 1250, 1247, 1263,
568
     1262, 1279, 1275, 1271, 1268,  451,    0, 1274, 1281, 1283,
569
     1305, 1306, 1314, 1298, 1319, 1320, 1331, 1330, 1350, 1350,
570
     1352, 1343, 1356, 1373, 1411,    0, 1446,    0,  413,  379,
571
      354,  347, 1481, 1516,    0, 1382, 1373, 1381, 1380, 1388,
572
     1393, 1394, 1415, 1410, 1422, 1414, 1428, 1418, 1425, 1461,
573
     1449,    0, 1457, 1466, 1488, 1467, 1456, 1489, 1466, 1496,
574
     1504, 1502, 1514, 1526, 1523, 1515, 1529, 1518, 1519, 1519,
575
     1526,    0, 1542,    0, 1528, 1547, 1530, 1545, 1532, 1534,
576
577
     1550, 1561,  346,  345, 1593, 1628,    0, 1663,    0, 1698,
578
        0, 1564, 1557, 1573, 1561, 1569, 1563, 1573, 1578, 1583,
579
     1573, 1567, 1607, 1595,    0, 1599, 1598, 1612, 1612, 1608,
580
     1612, 1612, 1644, 1630, 1639, 1633, 1649, 1642, 1652, 1672,
581
     1669, 1678, 1668, 1672, 1687, 1695, 1700, 1695, 1702, 1705,
582
        0, 1706, 1711, 1709, 1710, 1706, 1703, 1718, 1712, 1759,
583
        0, 1794,    0,  344,  311, 1829, 1864,    0, 1730, 1733,
584
     1733, 1868, 1740, 1766, 1744, 1738, 1741, 1753,    0, 1753,
585
     1759, 1766, 1775, 1785, 1808, 1807, 1809, 1810, 1805, 1799,
586
     1822, 1824, 1844, 1844, 1839, 1845, 1870, 1848, 1858, 1858,
587
588
     1871, 1866,    0,    0, 1875, 1869, 1869, 1883, 1879, 1885,
589
     1877, 1898, 1907, 1890, 1909,  309,  308, 1943, 1978,    0,
590
     2013,    0, 2048,    0, 1913, 1900, 1912, 1913, 1924, 1924,
591
     1914, 1919, 1923, 1917, 1929, 1943, 1948,    0, 1952, 1949,
592
     1959, 1962, 1949, 1961, 1973, 1983, 1991, 1993, 1990, 1995,
593
     2006, 2009, 2015, 2031, 2028, 2025, 2021, 2032, 2059, 2056,
594
     2056, 2058, 2058, 2060, 2049, 2049, 2047, 2051,    0, 2065,
595
        0,    0, 2067, 2100,    0, 2135,    0,  305,  304, 2170,
596
     2205,    0, 2066, 2082, 2084, 2099,    0, 2105, 2114, 2111,
597
     2115, 2117, 2135, 2148, 2140, 2155, 2143, 2150, 2158, 2165,
598
599
     2183, 2171,    0, 2185, 2173, 2180, 2186, 2200, 2201, 2200,
600
     2215, 2202, 2214, 2201, 2218, 2221, 2209, 2221, 2221, 2231,
601
     2231, 2229, 2234, 2235, 2247, 2231, 2235,  303,  302, 2283,
602
     2318,    0, 2353,    0, 2388,    0, 2241,    0, 2241, 2251,
603
     2260, 2262, 2251, 2265, 2265, 2263, 2262, 2261, 2257, 2294,
604
     2288, 2296, 2295, 2301, 2289, 2298, 2301, 2309, 2331, 2328,
605
     2322,    0,    0, 2335, 2331, 2344,    0, 2347, 2366, 2366,
606
     2355, 2365, 2357, 2383, 2387, 2385, 2397, 2387, 2395, 2392,
607
     2434,    0, 2469,    0,  274,  273, 2504, 2539,    0,    0,
608
     2408, 2394, 2401, 2411,    0, 2403, 2417, 2411, 2451, 2447,
609
610
        0,    0, 2438, 2449, 2450, 2438, 2441, 2457, 2482, 2476,
611
     2473, 2478, 2486, 2476, 2491,    0, 2495,    0, 2521, 2514,
612
     2502, 2516, 2510, 2531, 2519, 2538, 2532, 2535, 2545,  272,
613
      259, 2583, 2618,    0, 2653,    0, 2688,    0, 2547, 2554,
614
     2562, 2549, 2563, 2557, 2569, 2586, 2587, 2584, 2592, 2599,
615
     2592,    0, 2601, 2594, 2613,    0, 2631, 2624, 2633, 2634,
616
     2618, 2638, 2640,    0, 2641, 2666,    0, 2671, 2657, 2673,
617
        0, 2672, 2723,    0, 2758,    0,  220,  204, 2793, 2828,
618
        0, 2687, 2689,    0,    0, 2695, 2703,    0,    0,    0,
619
     2703, 2709, 2693, 2713,    0, 2720,    0,    0, 2738, 2725,
620
621
        0, 2738, 2739, 2740, 2753, 2763, 2766, 2777, 2768, 2779,
622
      192,  164, 2863, 2898,    0, 2933,    0, 2968,    0, 2766,
623
     2775, 2788, 2798, 2801, 2806, 2805, 2812, 2822, 2823, 2829,
624
     2830,    0, 2831,    0, 2846,    0, 2833,    0, 2845, 3003,
625
        0, 3038,    0,  155,  151, 3073,    0, 2854, 2872,    0,
626
     2879, 2882,    0, 2872, 2884,    0,    0,    0,    0,    0,
627
     2892,    0, 2880,  145,  123, 3108,    0, 3143,    0,    0,
628
     2902, 2912, 2911, 2914, 2903,    0,    0, 3178,    0,  118,
629
      117, 2919,    0,    0,    0, 2915,  107,   78, 2945,    0,
630
     2941, 2952, 2947,    0, 3230,   77, 3223, 3225, 3227
631
632
    } ;
633
634
static const flex_int16_t yy_def[900] =
635
    {   0,
636
      895,    1,  895,  895,  895,  895,  896,  897,  898,  896,
637
      896,  895,  896,  896,   13,   13,   13,   13,   13,   13,
638
      896,  896,  896,  896,  896,  896,  896,  896,  896,  895,
639
      896,  896,  896,   32,  897,  895,  897,  899,  895,  898,
640
      896,  896,   13,  896,   43,  896,   43,   43,   43,  896,
641
       43,  896,   43,  896,  896,  896,  896,  896,  896,  897,
642
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
643
      896,  896,   32,   32,   73,  896,  896,   43,   78,  896,
644
      896,   80,   78,  896,  896,  896,  896,  896,   78,  896,
645
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
646
647
      896,  896,  896,  896,  896,  896,  896,  896,  896,   73,
648
      110,  110,  896,  112,  896,  896,  896,   80,   44,  118,
649
      118,  121,  896,  896,  896,  896,  896,  896,  896,  896,
650
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
651
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
652
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
653
      896,  896,  112,   74,  163,  163,  166,  896,  118,  169,
654
      169,  171,  121,   81,  173,  896,  896,  896,  896,  896,
655
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
656
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
657
658
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
659
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
660
      896,  163,  222,  222,  224,  166,  113,  226,  896,  896,
661
      171,   44,  231,  173,  234,  896,  896,  896,  896,  896,
662
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
663
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
664
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
665
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
666
      896,  896,  896,  896,  896,  224,   74,  286,  226,  289,
667
      231,  291,  291,  293,  896,  896,  896,  896,  896,  896,
668
669
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
670
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
671
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
672
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
673
      896,  896,  896,  896,  286,  345,  345,  347,  896,  896,
674
      896,  896,  293,   44,  353,  896,  896,  896,  896,  896,
675
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
676
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
677
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
678
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
679
680
      896,  896,  896,  896,  347,   74,  405,  353,  408,  408,
681
      410,  896,  896,  896,  896,  896,  896,  896,  896,  896,
682
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
683
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
684
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
685
      896,  896,  896,  896,  896,  896,  896,  896,  896,  405,
686
      460,  460,  462,  896,  896,  410,   44,  466,  896,  896,
687
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
688
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
689
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
690
691
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
692
      896,  896,  896,  896,  896,  896,  896,  462,   74,  518,
693
      466,  521,  521,  523,  896,  896,  896,  896,  896,  896,
694
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
695
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
696
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
697
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
698
      896,  896,  896,  518,  574,  574,  576,  896,  896,  523,
699
       44,  580,  896,  896,  896,  896,  896,  896,  896,  896,
700
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
701
702
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
703
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
704
      896,  896,  896,  896,  896,  896,  896,  896,  896,  576,
705
       74,  630,  580,  633,  633,  635,  896,  896,  896,  896,
706
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
707
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
708
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
709
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
710
      630,  681,  681,  683,  896,  896,  635,   44,  687,  896,
711
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
712
713
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
714
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
715
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
716
      896,  683,   74,  732,  687,  735,  735,  737,  896,  896,
717
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
718
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
719
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
720
      896,  896,  732,  773,  773,  775,  896,  896,  737,   44,
721
      779,  896,  896,  896,  896,  896,  896,  896,  896,  896,
722
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
723
724
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
725
      896,  896,  775,   74,  813,  779,  816,  816,  818,  896,
726
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
727
      896,  896,  896,  896,  896,  896,  896,  896,  896,  813,
728
      840,  840,  842,  896,  896,  818,  846,  896,  896,  896,
729
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
730
      896,  896,  896,  896,  896,  842,  866,  846,  868,  896,
731
      896,  896,  896,  896,  896,  896,  896,  866,  878,  896,
732
      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
733
      896,  896,  896,  896,    0,  895,  895,  895,  895
734
735
    } ;
736
737
static const flex_int16_t yy_nxt[3295] =
738
    {   0,
739
        4,    5,    6,    7,    8,    9,   10,   11,   10,   12,
740
       13,   13,   13,   14,   12,   15,   16,   17,   18,   19,
741
       20,   10,   21,   22,   10,   23,   24,   25,   26,   27,
742
       28,   10,   10,   29,   10,   10,   10,   10,   10,   15,
743
       16,   17,   18,   19,   20,   10,   21,   22,   10,   23,
744
       24,   25,   26,   27,   28,   10,   10,   29,   10,   10,
745
       10,   10,   12,   12,   32,   32,   32,   33,   36,   34,
746
       34,   34,   34,   34,   34,   38,   38,   39,   31,   38,
747
       41,   41,   41,   31,   38,   47,   47,   47,   36,   38,
748
       51,  814,   36,   34,   34,   34,   34,   34,   34,   65,
749
750
       56,   68,   37,   72,   31,   57,   47,   47,   47,   31,
751
       58,   47,   47,   47,   51,   31,   59,   47,   47,   47,
752
      814,   52,   37,   65,   56,   68,   37,   72,   66,   57,
753
      780,  780,   55,   60,   58,   67,  814,   38,   38,   42,
754
       59,   43,   43,   43,   44,   52,   45,   45,   45,   45,
755
       45,   45,   66,   41,   41,   41,   55,   61,  814,   67,
756
       77,   77,   77,   31,  780,   83,   83,   83,  780,   86,
757
       45,   45,   45,   45,   45,   45,   31,  733,   47,   47,
758
       47,   61,   69,   70,   48,   31,   49,   47,   47,   47,
759
       62,   88,   71,   86,   63,   91,   53,   92,   64,   93,
760
761
       94,   50,   95,   98,   54,  733,   69,   70,   48,   31,
762
       49,   83,   83,   83,   62,   88,   71,  688,   63,   91,
763
       53,   92,   64,   93,   94,   50,   95,   98,   54,   73,
764
       73,   73,   74,  688,   75,   75,   75,   75,   75,   75,
765
       38,   38,   39,   31,   38,   83,   83,   83,   31,   38,
766
       83,   83,   83,   31,   38,   83,   83,   83,   75,   75,
767
       75,   75,   75,   75,   99,   84,  100,  101,  102,  103,
768
      104,   96,  631,  105,   85,   31,   87,   83,   83,   83,
769
       77,   77,   77,   97,   89,  631,  581,  581,   99,   84,
770
      100,  101,  102,  103,  104,   96,   90,  105,   85,  106,
771
772
       87,  107,   38,   38,   78,   78,   78,   97,   89,   79,
773
       79,   79,   79,   79,   79,  519,  519,  467,  467,  108,
774
       90,  406,  406,  106,  354,  107,  109,   31,  123,  117,
775
      117,  117,  137,   79,   79,   79,   79,   79,   79,   80,
776
       80,   80,   81,  108,   82,   82,   82,   82,   82,   82,
777
      109,   31,  123,  117,  117,  117,  137,  354,  287,  287,
778
      232,  138,  139,  141,  142,  143,  144,  232,   82,   82,
779
       82,   82,   82,   82,  110,  110,  110,  145,  146,  111,
780
      111,  111,  111,  111,  111,  138,  139,  141,  142,  143,
781
      144,   31,  227,  117,  117,  117,  147,  148,  149,  150,
782
783
      151,  145,  146,  111,  111,  111,  111,  111,  111,  112,
784
      112,  112,  113,  140,  114,  114,  114,  114,  114,  114,
785
      147,  148,  149,  150,  151,   42,  227,  168,  168,  168,
786
       44,  155,  156,  157,  158,  152,  159,  140,  114,  114,
787
      114,  114,  114,  114,  115,  115,  115,  153,  160,  116,
788
      116,  116,  116,  116,  116,  155,  156,  157,  158,  152,
789
      159,   42,  385,  168,  168,  168,  176,  177,  183,  174,
790
      184,  153,  160,  116,  116,  116,  116,  116,  116,  118,
791
      118,  118,  119,  185,  120,  120,  120,  120,  120,  120,
792
      176,  177,  183,  181,  184,  174,  164,  164,  119,  119,
793
794
       74,  182,  190,   74,  199,  186,  201,  185,  120,  120,
795
      120,  120,  120,  120,  121,  121,  121,  181,  187,  122,
796
      122,  122,  122,  122,  122,  182,  190,  188,  199,  186,
797
      201,  215,  189,  202,  200,   44,   44,  154,   39,  895,
798
      178,   76,  187,  122,  122,  122,  122,  122,  122,  124,
799
      203,  188,  125,  179,  126,  127,  189,  202,  180,  128,
800
      129,  195,  130,  131,  178,  132,  133,  134,  135,  204,
801
      196,  136,   30,   46,  203,  205,  125,  179,  126,  127,
802
       30,  895,  180,  128,  129,  195,  130,  131,  206,  132,
803
      133,  134,  135,  204,  196,  136,  161,  161,  161,  205,
804
805
      207,  162,  162,  162,  162,  162,  162,  895,  895,  895,
806
      895,  208,  206,  895,  895,  895,  895,  895,  197,  209,
807
      210,  211,  198,  212,  207,  162,  162,  162,  162,  162,
808
      162,  163,  163,  163,  164,  208,  165,  165,  165,  165,
809
      165,  165,  197,  209,  210,  211,  198,  212,  895,  895,
810
      895,  895,  895,  213,  214,  216,  217,  218,  219,  220,
811
      165,  165,  165,  165,  165,  165,  166,  166,  166,  221,
812
      236,  167,  167,  167,  167,  167,  167,  213,  214,  216,
813
      217,  218,  219,  220,  895,  895,  895,  895,  237,  238,
814
      239,  240,  241,  221,  236,  167,  167,  167,  167,  167,
815
816
      167,  169,  169,  169,  242,  243,  170,  170,  170,  170,
817
      170,  170,  237,  238,  239,  240,  241,  895,  895,  895,
818
      895,  895,  895,  244,  247,  248,  249,  250,  242,  243,
819
      170,  170,  170,  170,  170,  170,  171,  171,  171,  251,
820
      254,  172,  172,  172,  172,  172,  172,  244,  247,  248,
821
      249,  250,  895,  895,  895,  895,  895,  895,  895,  895,
822
      895,  895,  895,  251,  254,  172,  172,  172,  172,  172,
823
      172,  173,  173,  173,  174,  255,  175,  175,  175,  175,
824
      175,  175,  191,  245,  252,  192,  193,  257,  258,  253,
825
      246,  259,  256,  260,  261,  194,  895,  895,  895,  255,
826
827
      175,  175,  175,  175,  175,  175,  191,  245,  252,  192,
828
      193,  257,  258,  253,  246,  259,  256,  260,  261,  194,
829
      222,  222,  222,  262,  265,  223,  223,  223,  223,  223,
830
      223,  895,  895,  895,  263,  266,  895,  895,  895,  895,
831
      895,  895,  267,  264,  270,  271,  895,  262,  265,  223,
832
      223,  223,  223,  223,  223,  224,  224,  224,  263,  266,
833
      225,  225,  225,  225,  225,  225,  267,  264,  270,  271,
834
      268,  895,  895,  895,  895,  895,  895,  272,  273,  274,
835
      275,  276,  269,  277,  225,  225,  225,  225,  225,  225,
836
      226,  226,  226,  227,  268,  228,  228,  228,  228,  228,
837
838
      228,  272,  273,  274,  275,  276,  269,  277,  895,  895,
839
      895,  895,  278,  279,  280,  281,  282,  283,  297,  228,
840
      228,  228,  228,  228,  228,  229,  229,  229,  298,  299,
841
      230,  230,  230,  230,  230,  230,  278,  279,  280,  281,
842
      282,  283,  297,  895,  895,  895,  895,  300,  301,  302,
843
      303,  304,  298,  299,  230,  230,  230,  230,  230,  230,
844
      231,  231,  231,  232,  305,  233,  233,  233,  233,  233,
845
      233,  300,  301,  302,  303,  304,  895,  895,  895,  895,
846
      895,  895,  306,  307,  308,  309,  310,  311,  305,  233,
847
      233,  233,  233,  233,  233,  234,  234,  234,  312,  313,
848
849
      235,  235,  235,  235,  235,  235,  306,  307,  308,  309,
850
      310,  311,  895,  895,  895,  895,  895,  314,  316,  315,
851
      317,  318,  312,  313,  235,  235,  235,  235,  235,  235,
852
      284,  284,  284,  319,  320,  285,  285,  285,  285,  285,
853
      285,  314,  316,  315,  317,  318,  895,  895,  895,  895,
854
      895,  895,  321,  322,  323,  324,  325,  319,  320,  285,
855
      285,  285,  285,  285,  285,  286,  286,  286,  287,  326,
856
      288,  288,  288,  288,  288,  288,  321,  322,  323,  324,
857
      325,  895,  895,  895,  895,  895,  895,  327,  328,  329,
858
      330,  331,  332,  326,  288,  288,  288,  288,  288,  288,
859
860
      289,  289,  289,  333,  334,  290,  290,  290,  290,  290,
861
      290,  327,  328,  329,  330,  331,  332,  895,  895,  895,
862
      895,  895,  335,  336,  337,  338,  339,  333,  334,  290,
863
      290,  290,  290,  290,  290,  291,  291,  291,  340,  343,
864
      292,  292,  292,  292,  292,  292,  335,  336,  337,  338,
865
      339,  895,  895,  895,  895,  895,  895,  344,  341,  356,
866
      357,  358,  340,  343,  292,  292,  292,  292,  292,  292,
867
      293,  293,  293,  342,  359,  294,  294,  294,  294,  294,
868
      294,  344,  341,  356,  357,  358,  895,  895,  895,  895,
869
      895,  895,  360,  361,  362,  363,  364,  342,  359,  294,
870
871
      294,  294,  294,  294,  294,  295,  295,  295,  365,  366,
872
      296,  296,  296,  296,  296,  296,  360,  361,  362,  363,
873
      364,  895,  895,  895,  895,  895,  895,  367,  368,  369,
874
      370,  371,  365,  366,  296,  296,  296,  296,  296,  296,
875
      345,  345,  345,  372,  373,  346,  346,  346,  346,  346,
876
      346,  367,  368,  369,  370,  371,  895,  895,  895,  895,
877
      895,  895,  374,  375,  376,  377,  378,  372,  373,  346,
878
      346,  346,  346,  346,  346,  347,  347,  347,  379,  380,
879
      348,  348,  348,  348,  348,  348,  374,  375,  376,  377,
880
      378,  895,  895,  895,  895,  895,  895,  381,  382,  383,
881
882
      384,  386,  379,  380,  348,  348,  348,  348,  348,  348,
883
      349,  349,  349,  387,  388,  350,  350,  350,  350,  350,
884
      350,  381,  382,  383,  384,  386,  895,  895,  895,  895,
885
      895,  895,  389,  390,  391,  392,  393,  387,  388,  350,
886
      350,  350,  350,  350,  350,  351,  351,  351,  394,  395,
887
      352,  352,  352,  352,  352,  352,  389,  390,  391,  392,
888
      393,  895,  895,  895,  895,  895,  895,  396,  397,  398,
889
      399,  400,  394,  395,  352,  352,  352,  352,  352,  352,
890
      353,  353,  353,  354,  401,  355,  355,  355,  355,  355,
891
      355,  396,  397,  398,  399,  400,  402,  895,  895,  895,
892
893
      412,  413,  895,  895,  895,  895,  895,  895,  401,  355,
894
      355,  355,  355,  355,  355,  414,  415,  416,  417,  418,
895
      402,  403,  403,  403,  412,  413,  404,  404,  404,  404,
896
      404,  404,  895,  895,  895,  895,  419,  895,  895,  414,
897
      415,  416,  417,  418,  420,  421,  422,  423,  424,  425,
898
      404,  404,  404,  404,  404,  404,  405,  405,  405,  406,
899
      419,  407,  407,  407,  407,  407,  407,  895,  420,  421,
900
      422,  423,  424,  425,  895,  895,  895,  895,  426,  427,
901
      428,  429,  433,  434,  438,  407,  407,  407,  407,  407,
902
      407,  408,  408,  408,  895,  895,  409,  409,  409,  409,
903
904
      409,  409,  426,  427,  428,  429,  433,  434,  438,  895,
905
      895,  895,  895,  430,  435,  439,  431,  432,  436,  437,
906
      409,  409,  409,  409,  409,  409,  410,  410,  410,  440,
907
      441,  411,  411,  411,  411,  411,  411,  430,  435,  439,
908
      431,  432,  436,  437,  442,  443,  444,  445,  446,  447,
909
      448,  449,  450,  440,  441,  411,  411,  411,  411,  411,
910
      411,  451,  452,  453,  454,  455,  456,  457,  442,  443,
911
      444,  445,  446,  447,  448,  449,  450,  458,  459,  895,
912
      895,  895,  469,  470,  895,  451,  452,  453,  454,  455,
913
      456,  457,  471,  472,  473,  474,  475,  476,  477,  478,
914
915
      479,  458,  459,  460,  460,  460,  469,  470,  461,  461,
916
      461,  461,  461,  461,  895,  895,  471,  472,  473,  474,
917
      475,  476,  477,  478,  479,  480,  481,  482,  483,  484,
918
      485,  486,  461,  461,  461,  461,  461,  461,  462,  462,
919
      462,  487,  488,  463,  463,  463,  463,  463,  463,  480,
920
      481,  482,  483,  484,  485,  486,  895,  895,  895,  895,
921
      489,  490,  491,  492,  493,  487,  488,  463,  463,  463,
922
      463,  463,  463,  464,  464,  464,  494,  495,  465,  465,
923
      465,  465,  465,  465,  489,  490,  491,  492,  493,  895,
924
      895,  895,  895,  895,  895,  496,  497,  498,  499,  500,
925
926
      494,  495,  465,  465,  465,  465,  465,  465,  466,  466,
927
      466,  467,  501,  468,  468,  468,  468,  468,  468,  496,
928
      497,  498,  499,  500,  502,  503,  504,  505,  507,  508,
929
      509,  506,  510,  511,  512,  513,  501,  468,  468,  468,
930
      468,  468,  468,  514,  515,  895,  895,  895,  502,  503,
931
      504,  505,  507,  508,  509,  506,  510,  511,  512,  513,
932
      525,  526,  527,  532,  535,  536,  537,  514,  515,  516,
933
      516,  516,  538,  539,  517,  517,  517,  517,  517,  517,
934
      895,  895,  895,  895,  525,  526,  527,  532,  535,  536,
935
      537,  533,  540,  541,  542,  534,  538,  539,  517,  517,
936
937
      517,  517,  517,  517,  518,  518,  518,  519,  543,  520,
938
      520,  520,  520,  520,  520,  533,  540,  541,  542,  534,
939
      895,  895,  895,  895,  895,  895,  544,  545,  546,  547,
940
      548,  549,  543,  520,  520,  520,  520,  520,  520,  521,
941
      521,  521,  550,  551,  522,  522,  522,  522,  522,  522,
942
      544,  545,  546,  547,  548,  549,  895,  895,  895,  895,
943
      895,  895,  552,  553,  554,  555,  550,  551,  522,  522,
944
      522,  522,  522,  522,  523,  523,  523,  558,  559,  524,
945
      524,  524,  524,  524,  524,  528,  552,  553,  554,  555,
946
      560,  529,  556,  530,  561,  557,  562,  531,  563,  564,
947
948
      565,  558,  559,  524,  524,  524,  524,  524,  524,  528,
949
      566,  567,  568,  569,  560,  529,  556,  530,  561,  557,
950
      562,  531,  563,  564,  565,  570,  571,  572,  573,  895,
951
      895,  895,  583,  584,  566,  567,  568,  569,  895,  895,
952
      585,  586,  587,  588,  589,  590,  591,  592,  593,  570,
953
      571,  572,  573,  574,  574,  574,  583,  584,  575,  575,
954
      575,  575,  575,  575,  585,  586,  587,  588,  589,  590,
955
      591,  592,  593,  895,  895,  594,  595,  596,  597,  598,
956
      599,  600,  575,  575,  575,  575,  575,  575,  576,  576,
957
      576,  601,  602,  577,  577,  577,  577,  577,  577,  594,
958
959
      595,  596,  597,  598,  599,  600,  895,  895,  895,  895,
960
      603,  604,  605,  606,  607,  601,  602,  577,  577,  577,
961
      577,  577,  577,  578,  578,  578,  608,  609,  579,  579,
962
      579,  579,  579,  579,  603,  604,  605,  606,  607,  895,
963
      895,  895,  895,  895,  895,  610,  611,  612,  613,  614,
964
      608,  609,  579,  579,  579,  579,  579,  579,  580,  580,
965
      580,  581,  615,  582,  582,  582,  582,  582,  582,  610,
966
      611,  612,  613,  614,  616,  617,  618,  619,  620,  621,
967
      622,  623,  624,  625,  626,  627,  615,  582,  582,  582,
968
      582,  582,  582,  895,  895,  895,  895,  637,  616,  617,
969
970
      618,  619,  620,  621,  622,  623,  624,  625,  626,  627,
971
      628,  628,  628,  638,  639,  629,  629,  629,  629,  629,
972
      629,  637,  895,  895,  895,  640,  895,  895,  895,  895,
973
      895,  895,  641,  642,  643,  644,  645,  638,  639,  629,
974
      629,  629,  629,  629,  629,  630,  630,  630,  631,  640,
975
      632,  632,  632,  632,  632,  632,  641,  642,  643,  644,
976
      645,  895,  895,  895,  895,  895,  895,  646,  647,  649,
977
      650,  648,  651,  652,  632,  632,  632,  632,  632,  632,
978
      633,  633,  633,  653,  654,  634,  634,  634,  634,  634,
979
      634,  646,  647,  649,  650,  648,  651,  652,  895,  895,
980
981
      895,  895,  655,  656,  657,  658,  659,  653,  654,  634,
982
      634,  634,  634,  634,  634,  635,  635,  635,  660,  661,
983
      636,  636,  636,  636,  636,  636,  655,  656,  657,  658,
984
      659,  662,  663,  664,  665,  666,  667,  668,  669,  670,
985
      671,  672,  660,  661,  636,  636,  636,  636,  636,  636,
986
      673,  674,  675,  676,  677,  662,  663,  664,  665,  666,
987
      667,  668,  669,  670,  671,  672,  678,  679,  680,  895,
988
      895,  895,  690,  691,  673,  674,  675,  676,  677,  895,
989
      692,  693,  694,  695,  696,  697,  698,  699,  700,  701,
990
      678,  679,  680,  681,  681,  681,  690,  691,  682,  682,
991
992
      682,  682,  682,  682,  692,  693,  694,  695,  696,  697,
993
      698,  699,  700,  701,  895,  702,  703,  704,  705,  706,
994
      707,  708,  682,  682,  682,  682,  682,  682,  683,  683,
995
      683,  709,  710,  684,  684,  684,  684,  684,  684,  702,
996
      703,  704,  705,  706,  707,  708,  895,  895,  895,  895,
997
      711,  712,  713,  714,  715,  709,  710,  684,  684,  684,
998
      684,  684,  684,  685,  685,  685,  716,  717,  686,  686,
999
      686,  686,  686,  686,  711,  712,  713,  714,  715,  895,
1000
      895,  895,  895,  895,  895,  718,  719,  720,  721,  722,
1001
      716,  717,  686,  686,  686,  686,  686,  686,  687,  687,
1002
1003
      687,  688,  723,  689,  689,  689,  689,  689,  689,  718,
1004
      719,  720,  721,  722,  724,  725,  726,  727,  728,  729,
1005
      895,  895,  895,  739,  740,  895,  723,  689,  689,  689,
1006
      689,  689,  689,  741,  742,  743,  744,  745,  724,  725,
1007
      726,  727,  728,  729,  730,  730,  730,  739,  740,  731,
1008
      731,  731,  731,  731,  731,  895,  895,  741,  742,  743,
1009
      744,  745,  895,  895,  895,  895,  746,  747,  748,  749,
1010
      750,  751,  752,  731,  731,  731,  731,  731,  731,  732,
1011
      732,  732,  733,  753,  734,  734,  734,  734,  734,  734,
1012
      746,  747,  748,  749,  750,  751,  752,  895,  895,  895,
1013
1014
      895,  754,  755,  756,  757,  758,  759,  753,  734,  734,
1015
      734,  734,  734,  734,  735,  735,  735,  760,  761,  736,
1016
      736,  736,  736,  736,  736,  754,  755,  756,  757,  758,
1017
      759,  895,  895,  895,  895,  895,  762,  763,  764,  765,
1018
      766,  760,  761,  736,  736,  736,  736,  736,  736,  737,
1019
      737,  737,  767,  768,  738,  738,  738,  738,  738,  738,
1020
      762,  763,  764,  765,  766,  769,  770,  771,  772,  895,
1021
      895,  895,  782,  783,  895,  895,  767,  768,  738,  738,
1022
      738,  738,  738,  738,  784,  785,  786,  787,  788,  769,
1023
      770,  771,  772,  773,  773,  773,  782,  783,  774,  774,
1024
1025
      774,  774,  774,  774,  895,  895,  895,  789,  784,  785,
1026
      786,  787,  788,  895,  895,  790,  791,  792,  793,  794,
1027
      795,  796,  774,  774,  774,  774,  774,  774,  775,  775,
1028
      775,  789,  797,  776,  776,  776,  776,  776,  776,  790,
1029
      791,  792,  793,  794,  795,  796,  895,  895,  895,  895,
1030
      798,  799,  800,  801,  802,  803,  797,  776,  776,  776,
1031
      776,  776,  776,  777,  777,  777,  804,  805,  778,  778,
1032
      778,  778,  778,  778,  798,  799,  800,  801,  802,  803,
1033
      895,  895,  895,  895,  895,  806,  807,  808,  809,  810,
1034
      804,  805,  778,  778,  778,  778,  778,  778,  779,  779,
1035
1036
      779,  780,  820,  781,  781,  781,  781,  781,  781,  806,
1037
      807,  808,  809,  810,  895,  895,  895,  895,  895,  895,
1038
      821,  822,  823,  824,  825,  826,  820,  781,  781,  781,
1039
      781,  781,  781,  811,  811,  811,  827,  828,  812,  812,
1040
      812,  812,  812,  812,  821,  822,  823,  824,  825,  826,
1041
      895,  895,  895,  895,  895,  829,  830,  831,  832,  833,
1042
      827,  828,  812,  812,  812,  812,  812,  812,  813,  813,
1043
      813,  814,  834,  815,  815,  815,  815,  815,  815,  829,
1044
      830,  831,  832,  833,  895,  895,  895,  895,  895,  895,
1045
      835,  836,  837,  838,  839,  848,  834,  815,  815,  815,
1046
1047
      815,  815,  815,  816,  816,  816,  849,  850,  817,  817,
1048
      817,  817,  817,  817,  835,  836,  837,  838,  839,  848,
1049
      895,  895,  895,  895,  895,  851,  852,  853,  854,  855,
1050
      849,  850,  817,  817,  817,  817,  817,  817,  818,  818,
1051
      818,  856,  857,  819,  819,  819,  819,  819,  819,  851,
1052
      852,  853,  854,  855,  895,  895,  895,  895,  895,  895,
1053
      858,  859,  860,  861,  862,  856,  857,  819,  819,  819,
1054
      819,  819,  819,  840,  840,  840,  863,  870,  841,  841,
1055
      841,  841,  841,  841,  858,  859,  860,  861,  862,  895,
1056
      895,  895,  895,  895,  895,  871,  872,  873,  874,  875,
1057
1058
      863,  870,  841,  841,  841,  841,  841,  841,  842,  842,
1059
      842,  876,  877,  843,  843,  843,  843,  843,  843,  871,
1060
      872,  873,  874,  875,  895,  895,  895,  895,  895,  895,
1061
      882,  883,  884,  885,  886,  876,  877,  843,  843,  843,
1062
      843,  843,  843,  844,  844,  844,  889,  890,  845,  845,
1063
      845,  845,  845,  845,  882,  883,  884,  885,  886,  895,
1064
      895,  895,  895,  895,  895,  891,  892,  893,  894,  895,
1065
      889,  890,  845,  845,  845,  845,  845,  845,  846,  846,
1066
      846,  895,  895,  847,  847,  847,  847,  847,  847,  891,
1067
      892,  893,  894,  895,  895,  895,  895,  895,  895,  895,
1068
1069
      895,  895,  895,  895,  895,  895,  895,  847,  847,  847,
1070
      847,  847,  847,  864,  864,  864,  895,  895,  865,  865,
1071
      865,  865,  865,  865,  895,  895,  895,  895,  895,  895,
1072
      895,  895,  895,  895,  895,  895,  895,  895,  895,  895,
1073
      895,  895,  865,  865,  865,  865,  865,  865,  866,  866,
1074
      866,  895,  895,  867,  867,  867,  867,  867,  867,  895,
1075
      895,  895,  895,  895,  895,  895,  895,  895,  895,  895,
1076
      895,  895,  895,  895,  895,  895,  895,  867,  867,  867,
1077
      867,  867,  867,  868,  868,  868,  895,  895,  869,  869,
1078
      869,  869,  869,  869,  895,  895,  895,  895,  895,  895,
1079
1080
      895,  895,  895,  895,  895,  895,  895,  895,  895,  895,
1081
      895,  895,  869,  869,  869,  869,  869,  869,  878,  878,
1082
      878,  895,  895,  879,  879,  879,  879,  879,  879,  895,
1083
      895,  895,  895,  895,  895,  895,  895,  895,  895,  895,
1084
      895,  895,  895,  895,  895,  895,  895,  879,  879,  879,
1085
      879,  879,  879,  880,  880,  880,  895,  895,  881,  881,
1086
      881,  881,  881,  881,  895,  895,  895,  895,  895,  895,
1087
      895,  895,  895,  895,  895,  895,  895,  895,  895,  895,
1088
      895,  895,  881,  881,  881,  881,  881,  881,  887,  887,
1089
      887,  895,  895,  888,  888,  888,  888,  888,  888,  895,
1090
1091
      895,  895,  895,  895,  895,  895,  895,  895,  895,  895,
1092
      895,  895,  895,  895,  895,  895,  895,  888,  888,  888,
1093
      888,  888,  888,   35,   35,   40,   40,   38,   38,    3,
1094
      895,  895,  895,  895,  895,  895,  895,  895,  895,  895,
1095
      895,  895,  895,  895,  895,  895,  895,  895,  895,  895,
1096
      895,  895,  895,  895,  895,  895,  895,  895,  895,  895,
1097
      895,  895,  895,  895,  895,  895,  895,  895,  895,  895,
1098
      895,  895,  895,  895,  895,  895,  895,  895,  895,  895,
1099
      895,  895,  895,  895,  895,  895,  895,  895,  895,  895,
1100
      895,  895,  895,  895
1101
1102
    } ;
1103
1104
static const flex_int16_t yy_chk[3295] =
1105
    {   0,
1106
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1107
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1108
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1109
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1110
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1111
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1112
        1,    1,    1,    1,    7,    7,    7,    7,    8,    7,
1113
        7,    7,    7,    7,    7,    9,    9,    9,  896,    9,
1114
       11,   11,   11,   16,    9,   16,   16,   16,   35,    9,
1115
       16,  888,   60,    7,    7,    7,    7,    7,    7,   25,
1116
1117
       21,   27,    8,   29,   17,   21,   17,   17,   17,   19,
1118
       22,   19,   19,   19,   16,   20,   22,   20,   20,   20,
1119
      887,   17,   35,   25,   21,   27,   60,   29,   26,   21,
1120
      881,  880,   20,   23,   22,   26,  865,    9,    9,   13,
1121
       22,   13,   13,   13,   13,   17,   13,   13,   13,   13,
1122
       13,   13,   26,   41,   41,   41,   20,   23,  864,   26,
1123
       42,   42,   42,   45,  845,   45,   45,   45,  844,   50,
1124
       13,   13,   13,   13,   13,   13,   15,  812,   15,   15,
1125
       15,   23,   28,   28,   15,   18,   15,   18,   18,   18,
1126
       24,   52,   28,   50,   24,   54,   18,   55,   24,   56,
1127
1128
       57,   15,   58,   61,   18,  811,   28,   28,   15,   47,
1129
       15,   47,   47,   47,   24,   52,   28,  778,   24,   54,
1130
       18,   55,   24,   56,   57,   15,   58,   61,   18,   32,
1131
       32,   32,   32,  777,   32,   32,   32,   32,   32,   32,
1132
       40,   40,   40,   48,   40,   48,   48,   48,   49,   40,
1133
       49,   49,   49,   51,   40,   51,   51,   51,   32,   32,
1134
       32,   32,   32,   32,   62,   48,   63,   64,   65,   66,
1135
       68,   59,  731,   69,   49,   53,   51,   53,   53,   53,
1136
       77,   77,   77,   59,   53,  730,  686,  685,   62,   48,
1137
       63,   64,   65,   66,   68,   59,   53,   69,   49,   70,
1138
1139
       51,   71,   40,   40,   43,   43,   43,   59,   53,   43,
1140
       43,   43,   43,   43,   43,  629,  628,  579,  578,   72,
1141
       53,  517,  516,   70,  465,   71,   72,   79,   84,   79,
1142
       79,   79,   86,   43,   43,   43,   43,   43,   43,   44,
1143
       44,   44,   44,   72,   44,   44,   44,   44,   44,   44,
1144
       72,   83,   84,   83,   83,   83,   86,  464,  404,  403,
1145
      352,   87,   88,   90,   91,   92,   93,  351,   44,   44,
1146
       44,   44,   44,   44,   73,   73,   73,   94,   95,   73,
1147
       73,   73,   73,   73,   73,   87,   88,   90,   91,   92,
1148
       93,   89,  350,   89,   89,   89,   96,   97,   98,   99,
1149
1150
      100,   94,   95,   73,   73,   73,   73,   73,   73,   74,
1151
       74,   74,   74,   89,   74,   74,   74,   74,   74,   74,
1152
       96,   97,   98,   99,  100,  115,  349,  115,  115,  115,
1153
      115,  104,  105,  106,  107,  101,  108,   89,   74,   74,
1154
       74,   74,   74,   74,   78,   78,   78,  101,  109,   78,
1155
       78,   78,   78,   78,   78,  104,  105,  106,  107,  101,
1156
      108,  168,  326,  168,  168,  168,  124,  125,  128,  296,
1157
      129,  101,  109,   78,   78,   78,   78,   78,   78,   80,
1158
       80,   80,   80,  130,   80,   80,   80,   80,   80,   80,
1159
      124,  125,  128,  127,  129,  295,  285,  284,  230,  229,
1160
1161
      162,  127,  133,  161,  137,  131,  139,  130,   80,   80,
1162
       80,   80,   80,   80,   81,   81,   81,  127,  131,   81,
1163
       81,   81,   81,   81,   81,  127,  133,  132,  137,  131,
1164
      139,  154,  132,  140,  138,  117,  116,  102,   38,   37,
1165
      126,   33,  131,   81,   81,   81,   81,   81,   81,   85,
1166
      141,  132,   85,  126,   85,   85,  132,  140,  126,   85,
1167
       85,  135,   85,   85,  126,   85,   85,   85,   85,  142,
1168
      135,   85,   30,   14,  141,  143,   85,  126,   85,   85,
1169
        5,    3,  126,   85,   85,  135,   85,   85,  145,   85,
1170
       85,   85,   85,  142,  135,   85,  110,  110,  110,  143,
1171
1172
      146,  110,  110,  110,  110,  110,  110,    0,    0,    0,
1173
        0,  147,  145,    0,    0,    0,    0,    0,  136,  148,
1174
      149,  150,  136,  151,  146,  110,  110,  110,  110,  110,
1175
      110,  112,  112,  112,  112,  147,  112,  112,  112,  112,
1176
      112,  112,  136,  148,  149,  150,  136,  151,    0,    0,
1177
        0,    0,    0,  152,  153,  155,  156,  157,  158,  159,
1178
      112,  112,  112,  112,  112,  112,  113,  113,  113,  160,
1179
      176,  113,  113,  113,  113,  113,  113,  152,  153,  155,
1180
      156,  157,  158,  159,    0,    0,    0,    0,  177,  178,
1181
      179,  180,  181,  160,  176,  113,  113,  113,  113,  113,
1182
1183
      113,  118,  118,  118,  182,  183,  118,  118,  118,  118,
1184
      118,  118,  177,  178,  179,  180,  181,    0,    0,    0,
1185
        0,    0,    0,  184,  186,  187,  188,  189,  182,  183,
1186
      118,  118,  118,  118,  118,  118,  119,  119,  119,  190,
1187
      192,  119,  119,  119,  119,  119,  119,  184,  186,  187,
1188
      188,  189,    0,    0,    0,    0,    0,    0,    0,    0,
1189
        0,    0,    0,  190,  192,  119,  119,  119,  119,  119,
1190
      119,  121,  121,  121,  121,  193,  121,  121,  121,  121,
1191
      121,  121,  134,  185,  191,  134,  134,  194,  195,  191,
1192
      185,  196,  193,  197,  198,  134,    0,    0,    0,  193,
1193
1194
      121,  121,  121,  121,  121,  121,  134,  185,  191,  134,
1195
      134,  194,  195,  191,  185,  196,  193,  197,  198,  134,
1196
      163,  163,  163,  199,  201,  163,  163,  163,  163,  163,
1197
      163,    0,    0,    0,  200,  202,    0,    0,    0,    0,
1198
        0,    0,  203,  200,  206,  207,    0,  199,  201,  163,
1199
      163,  163,  163,  163,  163,  164,  164,  164,  200,  202,
1200
      164,  164,  164,  164,  164,  164,  203,  200,  206,  207,
1201
      205,    0,    0,    0,    0,    0,    0,  208,  209,  210,
1202
      211,  212,  205,  213,  164,  164,  164,  164,  164,  164,
1203
      166,  166,  166,  166,  205,  166,  166,  166,  166,  166,
1204
1205
      166,  208,  209,  210,  211,  212,  205,  213,    0,    0,
1206
        0,    0,  214,  215,  216,  218,  220,  221,  236,  166,
1207
      166,  166,  166,  166,  166,  169,  169,  169,  237,  238,
1208
      169,  169,  169,  169,  169,  169,  214,  215,  216,  218,
1209
      220,  221,  236,    0,    0,    0,    0,  239,  240,  241,
1210
      242,  243,  237,  238,  169,  169,  169,  169,  169,  169,
1211
      171,  171,  171,  171,  244,  171,  171,  171,  171,  171,
1212
      171,  239,  240,  241,  242,  243,    0,    0,    0,    0,
1213
        0,    0,  245,  246,  247,  248,  249,  250,  244,  171,
1214
      171,  171,  171,  171,  171,  173,  173,  173,  251,  252,
1215
1216
      173,  173,  173,  173,  173,  173,  245,  246,  247,  248,
1217
      249,  250,    0,    0,    0,    0,    0,  253,  254,  253,
1218
      255,  256,  251,  252,  173,  173,  173,  173,  173,  173,
1219
      222,  222,  222,  257,  258,  222,  222,  222,  222,  222,
1220
      222,  253,  254,  253,  255,  256,    0,    0,    0,    0,
1221
        0,    0,  259,  260,  261,  262,  263,  257,  258,  222,
1222
      222,  222,  222,  222,  222,  224,  224,  224,  224,  264,
1223
      224,  224,  224,  224,  224,  224,  259,  260,  261,  262,
1224
      263,    0,    0,    0,    0,    0,    0,  265,  266,  267,
1225
      268,  269,  270,  264,  224,  224,  224,  224,  224,  224,
1226
1227
      226,  226,  226,  271,  272,  226,  226,  226,  226,  226,
1228
      226,  265,  266,  267,  268,  269,  270,    0,    0,    0,
1229
        0,    0,  273,  274,  275,  277,  278,  271,  272,  226,
1230
      226,  226,  226,  226,  226,  231,  231,  231,  279,  282,
1231
      231,  231,  231,  231,  231,  231,  273,  274,  275,  277,
1232
      278,    0,    0,    0,    0,    0,    0,  283,  281,  297,
1233
      298,  299,  279,  282,  231,  231,  231,  231,  231,  231,
1234
      232,  232,  232,  281,  300,  232,  232,  232,  232,  232,
1235
      232,  283,  281,  297,  298,  299,    0,    0,    0,    0,
1236
        0,    0,  301,  302,  303,  304,  305,  281,  300,  232,
1237
1238
      232,  232,  232,  232,  232,  234,  234,  234,  306,  307,
1239
      234,  234,  234,  234,  234,  234,  301,  302,  303,  304,
1240
      305,    0,    0,    0,    0,    0,    0,  308,  309,  310,
1241
      311,  312,  306,  307,  234,  234,  234,  234,  234,  234,
1242
      286,  286,  286,  313,  314,  286,  286,  286,  286,  286,
1243
      286,  308,  309,  310,  311,  312,    0,    0,    0,    0,
1244
        0,    0,  315,  316,  317,  318,  319,  313,  314,  286,
1245
      286,  286,  286,  286,  286,  287,  287,  287,  320,  321,
1246
      287,  287,  287,  287,  287,  287,  315,  316,  317,  318,
1247
      319,    0,    0,    0,    0,    0,    0,  322,  323,  324,
1248
1249
      325,  328,  320,  321,  287,  287,  287,  287,  287,  287,
1250
      289,  289,  289,  329,  330,  289,  289,  289,  289,  289,
1251
      289,  322,  323,  324,  325,  328,    0,    0,    0,    0,
1252
        0,    0,  331,  332,  333,  334,  335,  329,  330,  289,
1253
      289,  289,  289,  289,  289,  291,  291,  291,  336,  337,
1254
      291,  291,  291,  291,  291,  291,  331,  332,  333,  334,
1255
      335,    0,    0,    0,    0,    0,    0,  338,  339,  340,
1256
      341,  342,  336,  337,  291,  291,  291,  291,  291,  291,
1257
      293,  293,  293,  293,  343,  293,  293,  293,  293,  293,
1258
      293,  338,  339,  340,  341,  342,  344,    0,    0,    0,
1259
1260
      356,  357,    0,    0,    0,    0,    0,    0,  343,  293,
1261
      293,  293,  293,  293,  293,  358,  359,  360,  361,  362,
1262
      344,  345,  345,  345,  356,  357,  345,  345,  345,  345,
1263
      345,  345,    0,    0,    0,    0,  363,    0,    0,  358,
1264
      359,  360,  361,  362,  364,  365,  366,  367,  368,  369,
1265
      345,  345,  345,  345,  345,  345,  347,  347,  347,  347,
1266
      363,  347,  347,  347,  347,  347,  347,    0,  364,  365,
1267
      366,  367,  368,  369,    0,    0,    0,    0,  370,  371,
1268
      373,  374,  376,  377,  379,  347,  347,  347,  347,  347,
1269
      347,  353,  353,  353,    0,    0,  353,  353,  353,  353,
1270
1271
      353,  353,  370,  371,  373,  374,  376,  377,  379,    0,
1272
        0,    0,    0,  375,  378,  380,  375,  375,  378,  378,
1273
      353,  353,  353,  353,  353,  353,  354,  354,  354,  381,
1274
      382,  354,  354,  354,  354,  354,  354,  375,  378,  380,
1275
      375,  375,  378,  378,  383,  384,  385,  386,  387,  388,
1276
      389,  390,  391,  381,  382,  354,  354,  354,  354,  354,
1277
      354,  393,  395,  396,  397,  398,  399,  400,  383,  384,
1278
      385,  386,  387,  388,  389,  390,  391,  401,  402,    0,
1279
        0,    0,  412,  413,    0,  393,  395,  396,  397,  398,
1280
      399,  400,  414,  415,  416,  417,  418,  419,  420,  421,
1281
1282
      422,  401,  402,  405,  405,  405,  412,  413,  405,  405,
1283
      405,  405,  405,  405,    0,    0,  414,  415,  416,  417,
1284
      418,  419,  420,  421,  422,  423,  424,  426,  427,  428,
1285
      429,  430,  405,  405,  405,  405,  405,  405,  406,  406,
1286
      406,  431,  432,  406,  406,  406,  406,  406,  406,  423,
1287
      424,  426,  427,  428,  429,  430,    0,    0,    0,    0,
1288
      433,  434,  435,  436,  437,  431,  432,  406,  406,  406,
1289
      406,  406,  406,  408,  408,  408,  438,  439,  408,  408,
1290
      408,  408,  408,  408,  433,  434,  435,  436,  437,    0,
1291
        0,    0,    0,    0,    0,  440,  441,  442,  443,  444,
1292
1293
      438,  439,  408,  408,  408,  408,  408,  408,  410,  410,
1294
      410,  410,  445,  410,  410,  410,  410,  410,  410,  440,
1295
      441,  442,  443,  444,  446,  447,  448,  449,  450,  452,
1296
      453,  449,  454,  455,  456,  457,  445,  410,  410,  410,
1297
      410,  410,  410,  458,  459,    0,    0,    0,  446,  447,
1298
      448,  449,  450,  452,  453,  449,  454,  455,  456,  457,
1299
      469,  470,  471,  473,  475,  476,  477,  458,  459,  460,
1300
      460,  460,  478,  480,  460,  460,  460,  460,  460,  460,
1301
        0,    0,    0,    0,  469,  470,  471,  473,  475,  476,
1302
      477,  474,  481,  482,  483,  474,  478,  480,  460,  460,
1303
1304
      460,  460,  460,  460,  462,  462,  462,  462,  484,  462,
1305
      462,  462,  462,  462,  462,  474,  481,  482,  483,  474,
1306
        0,    0,    0,    0,    0,    0,  485,  486,  487,  488,
1307
      489,  490,  484,  462,  462,  462,  462,  462,  462,  466,
1308
      466,  466,  491,  492,  466,  466,  466,  466,  466,  466,
1309
      485,  486,  487,  488,  489,  490,    0,    0,    0,    0,
1310
        0,    0,  493,  494,  495,  496,  491,  492,  466,  466,
1311
      466,  466,  466,  466,  467,  467,  467,  498,  499,  467,
1312
      467,  467,  467,  467,  467,  472,  493,  494,  495,  496,
1313
      500,  472,  497,  472,  501,  497,  502,  472,  505,  506,
1314
1315
      507,  498,  499,  467,  467,  467,  467,  467,  467,  472,
1316
      508,  509,  510,  511,  500,  472,  497,  472,  501,  497,
1317
      502,  472,  505,  506,  507,  512,  513,  514,  515,    0,
1318
        0,    0,  525,  526,  508,  509,  510,  511,    0,    0,
1319
      527,  528,  529,  530,  531,  532,  533,  534,  535,  512,
1320
      513,  514,  515,  518,  518,  518,  525,  526,  518,  518,
1321
      518,  518,  518,  518,  527,  528,  529,  530,  531,  532,
1322
      533,  534,  535,    0,    0,  536,  537,  539,  540,  541,
1323
      542,  543,  518,  518,  518,  518,  518,  518,  519,  519,
1324
      519,  544,  545,  519,  519,  519,  519,  519,  519,  536,
1325
1326
      537,  539,  540,  541,  542,  543,    0,    0,    0,    0,
1327
      546,  547,  548,  549,  550,  544,  545,  519,  519,  519,
1328
      519,  519,  519,  521,  521,  521,  551,  552,  521,  521,
1329
      521,  521,  521,  521,  546,  547,  548,  549,  550,    0,
1330
        0,    0,    0,    0,    0,  553,  554,  555,  556,  557,
1331
      551,  552,  521,  521,  521,  521,  521,  521,  523,  523,
1332
      523,  523,  558,  523,  523,  523,  523,  523,  523,  553,
1333
      554,  555,  556,  557,  559,  560,  561,  562,  563,  564,
1334
      565,  566,  567,  568,  570,  573,  558,  523,  523,  523,
1335
      523,  523,  523,    0,    0,    0,    0,  583,  559,  560,
1336
1337
      561,  562,  563,  564,  565,  566,  567,  568,  570,  573,
1338
      574,  574,  574,  584,  585,  574,  574,  574,  574,  574,
1339
      574,  583,    0,    0,    0,  586,    0,    0,    0,    0,
1340
        0,    0,  588,  589,  590,  591,  592,  584,  585,  574,
1341
      574,  574,  574,  574,  574,  576,  576,  576,  576,  586,
1342
      576,  576,  576,  576,  576,  576,  588,  589,  590,  591,
1343
      592,    0,    0,    0,    0,    0,    0,  593,  594,  595,
1344
      596,  594,  597,  598,  576,  576,  576,  576,  576,  576,
1345
      580,  580,  580,  599,  600,  580,  580,  580,  580,  580,
1346
      580,  593,  594,  595,  596,  594,  597,  598,    0,    0,
1347
1348
        0,    0,  601,  602,  604,  605,  606,  599,  600,  580,
1349
      580,  580,  580,  580,  580,  581,  581,  581,  607,  608,
1350
      581,  581,  581,  581,  581,  581,  601,  602,  604,  605,
1351
      606,  609,  610,  611,  612,  613,  614,  615,  616,  617,
1352
      618,  619,  607,  608,  581,  581,  581,  581,  581,  581,
1353
      620,  621,  622,  623,  624,  609,  610,  611,  612,  613,
1354
      614,  615,  616,  617,  618,  619,  625,  626,  627,    0,
1355
        0,    0,  637,  639,  620,  621,  622,  623,  624,    0,
1356
      640,  641,  642,  643,  644,  645,  646,  647,  648,  649,
1357
      625,  626,  627,  630,  630,  630,  637,  639,  630,  630,
1358
1359
      630,  630,  630,  630,  640,  641,  642,  643,  644,  645,
1360
      646,  647,  648,  649,    0,  650,  651,  652,  653,  654,
1361
      655,  656,  630,  630,  630,  630,  630,  630,  631,  631,
1362
      631,  657,  658,  631,  631,  631,  631,  631,  631,  650,
1363
      651,  652,  653,  654,  655,  656,    0,    0,    0,    0,
1364
      659,  660,  661,  664,  665,  657,  658,  631,  631,  631,
1365
      631,  631,  631,  633,  633,  633,  666,  668,  633,  633,
1366
      633,  633,  633,  633,  659,  660,  661,  664,  665,    0,
1367
        0,    0,    0,    0,    0,  669,  670,  671,  672,  673,
1368
      666,  668,  633,  633,  633,  633,  633,  633,  635,  635,
1369
1370
      635,  635,  674,  635,  635,  635,  635,  635,  635,  669,
1371
      670,  671,  672,  673,  675,  676,  677,  678,  679,  680,
1372
        0,    0,    0,  691,  692,    0,  674,  635,  635,  635,
1373
      635,  635,  635,  693,  694,  696,  697,  698,  675,  676,
1374
      677,  678,  679,  680,  681,  681,  681,  691,  692,  681,
1375
      681,  681,  681,  681,  681,    0,    0,  693,  694,  696,
1376
      697,  698,    0,    0,    0,    0,  699,  700,  703,  704,
1377
      705,  706,  707,  681,  681,  681,  681,  681,  681,  683,
1378
      683,  683,  683,  708,  683,  683,  683,  683,  683,  683,
1379
      699,  700,  703,  704,  705,  706,  707,    0,    0,    0,
1380
1381
        0,  709,  710,  711,  712,  713,  714,  708,  683,  683,
1382
      683,  683,  683,  683,  687,  687,  687,  715,  717,  687,
1383
      687,  687,  687,  687,  687,  709,  710,  711,  712,  713,
1384
      714,    0,    0,    0,    0,    0,  719,  720,  721,  722,
1385
      723,  715,  717,  687,  687,  687,  687,  687,  687,  688,
1386
      688,  688,  724,  725,  688,  688,  688,  688,  688,  688,
1387
      719,  720,  721,  722,  723,  726,  727,  728,  729,    0,
1388
        0,    0,  739,  740,    0,    0,  724,  725,  688,  688,
1389
      688,  688,  688,  688,  741,  742,  743,  744,  745,  726,
1390
      727,  728,  729,  732,  732,  732,  739,  740,  732,  732,
1391
1392
      732,  732,  732,  732,    0,    0,    0,  746,  741,  742,
1393
      743,  744,  745,    0,    0,  747,  748,  749,  750,  751,
1394
      753,  754,  732,  732,  732,  732,  732,  732,  733,  733,
1395
      733,  746,  755,  733,  733,  733,  733,  733,  733,  747,
1396
      748,  749,  750,  751,  753,  754,    0,    0,    0,    0,
1397
      757,  758,  759,  760,  761,  762,  755,  733,  733,  733,
1398
      733,  733,  733,  735,  735,  735,  763,  765,  735,  735,
1399
      735,  735,  735,  735,  757,  758,  759,  760,  761,  762,
1400
        0,    0,    0,    0,    0,  766,  768,  769,  770,  772,
1401
      763,  765,  735,  735,  735,  735,  735,  735,  737,  737,
1402
1403
      737,  737,  782,  737,  737,  737,  737,  737,  737,  766,
1404
      768,  769,  770,  772,    0,    0,    0,    0,    0,    0,
1405
      783,  786,  787,  791,  792,  793,  782,  737,  737,  737,
1406
      737,  737,  737,  773,  773,  773,  794,  796,  773,  773,
1407
      773,  773,  773,  773,  783,  786,  787,  791,  792,  793,
1408
        0,    0,    0,    0,    0,  799,  800,  802,  803,  804,
1409
      794,  796,  773,  773,  773,  773,  773,  773,  775,  775,
1410
      775,  775,  805,  775,  775,  775,  775,  775,  775,  799,
1411
      800,  802,  803,  804,    0,    0,    0,    0,    0,    0,
1412
      806,  807,  808,  809,  810,  820,  805,  775,  775,  775,
1413
1414
      775,  775,  775,  779,  779,  779,  821,  822,  779,  779,
1415
      779,  779,  779,  779,  806,  807,  808,  809,  810,  820,
1416
        0,    0,    0,    0,    0,  823,  824,  825,  826,  827,
1417
      821,  822,  779,  779,  779,  779,  779,  779,  780,  780,
1418
      780,  828,  829,  780,  780,  780,  780,  780,  780,  823,
1419
      824,  825,  826,  827,    0,    0,    0,    0,    0,    0,
1420
      830,  831,  833,  835,  837,  828,  829,  780,  780,  780,
1421
      780,  780,  780,  813,  813,  813,  839,  848,  813,  813,
1422
      813,  813,  813,  813,  830,  831,  833,  835,  837,    0,
1423
        0,    0,    0,    0,    0,  849,  851,  852,  854,  855,
1424
1425
      839,  848,  813,  813,  813,  813,  813,  813,  814,  814,
1426
      814,  861,  863,  814,  814,  814,  814,  814,  814,  849,
1427
      851,  852,  854,  855,    0,    0,    0,    0,    0,    0,
1428
      871,  872,  873,  874,  875,  861,  863,  814,  814,  814,
1429
      814,  814,  814,  816,  816,  816,  882,  886,  816,  816,
1430
      816,  816,  816,  816,  871,  872,  873,  874,  875,    0,
1431
        0,    0,    0,    0,    0,  889,  891,  892,  893,    0,
1432
      882,  886,  816,  816,  816,  816,  816,  816,  818,  818,
1433
      818,    0,    0,  818,  818,  818,  818,  818,  818,  889,
1434
      891,  892,  893,    0,    0,    0,    0,    0,    0,    0,
1435
1436
        0,    0,    0,    0,    0,    0,    0,  818,  818,  818,
1437
      818,  818,  818,  840,  840,  840,    0,    0,  840,  840,
1438
      840,  840,  840,  840,    0,    0,    0,    0,    0,    0,
1439
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1440
        0,    0,  840,  840,  840,  840,  840,  840,  842,  842,
1441
      842,    0,    0,  842,  842,  842,  842,  842,  842,    0,
1442
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1443
        0,    0,    0,    0,    0,    0,    0,  842,  842,  842,
1444
      842,  842,  842,  846,  846,  846,    0,    0,  846,  846,
1445
      846,  846,  846,  846,    0,    0,    0,    0,    0,    0,
1446
1447
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1448
        0,    0,  846,  846,  846,  846,  846,  846,  866,  866,
1449
      866,    0,    0,  866,  866,  866,  866,  866,  866,    0,
1450
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1451
        0,    0,    0,    0,    0,    0,    0,  866,  866,  866,
1452
      866,  866,  866,  868,  868,  868,    0,    0,  868,  868,
1453
      868,  868,  868,  868,    0,    0,    0,    0,    0,    0,
1454
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1455
        0,    0,  868,  868,  868,  868,  868,  868,  878,  878,
1456
      878,    0,    0,  878,  878,  878,  878,  878,  878,    0,
1457
1458
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1459
        0,    0,    0,    0,    0,    0,    0,  878,  878,  878,
1460
      878,  878,  878,  897,  897,  898,  898,  899,  899,  895,
1461
      895,  895,  895,  895,  895,  895,  895,  895,  895,  895,
1462
      895,  895,  895,  895,  895,  895,  895,  895,  895,  895,
1463
      895,  895,  895,  895,  895,  895,  895,  895,  895,  895,
1464
      895,  895,  895,  895,  895,  895,  895,  895,  895,  895,
1465
      895,  895,  895,  895,  895,  895,  895,  895,  895,  895,
1466
      895,  895,  895,  895,  895,  895,  895,  895,  895,  895,
1467
      895,  895,  895,  895
1468
1469
    } ;
1470
1471
/* Table of booleans, true if rule could match eol. */
1472
static const flex_int32_t yy_rule_can_match_eol[82] =
1473
    {   0,
1474
0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
1475
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
1476
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
1477
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 
1478
    0, 0,     };
1479
1480
static yy_state_type yy_last_accepting_state;
1481
static char *yy_last_accepting_cpos;
1482
1483
extern int yy_flex_debug;
1484
int yy_flex_debug = 0;
1485
1486
/* The intent behind this definition is that it'll catch
1487
 * any uses of REJECT which flex missed.
1488
 */
1489
#define REJECT reject_used_but_not_detected
1490
#define yymore() yymore_used_but_not_detected
1491
75.9k
#define YY_MORE_ADJ 0
1492
#define YY_RESTORE_YY_MORE_OFFSET
1493
char *yytext;
1494
#line 1 "scanner.l"
1495
/*
1496
 *
1497
 *   Authors:
1498
 *    Pedro Roque   <roque@di.fc.ul.pt>
1499
 *    Lars Fenneberg    <lf@elemental.net>
1500
 *
1501
 *   This software is Copyright 1996-2000 by the above mentioned author(s),
1502
 *   All Rights Reserved.
1503
 *
1504
 *   The license which is distributed with this software in the file COPYRIGHT
1505
 *   applies to this software. If your distribution is missing this file, you
1506
 *   may request it from <reubenhwk@gmail.com>.
1507
 *
1508
 */
1509
#define YY_NO_INPUT 1
1510
#line 19 "scanner.l"
1511
#include "config.h"
1512
#include "includes.h"
1513
#include "log.h"
1514
#include "gram.h"
1515
1516
int num_lines;
1517
1518
#line 1519 "scanner.c"
1519
#line 1520 "scanner.c"
1520
1521
#define INITIAL 0
1522
1523
#ifndef YY_NO_UNISTD_H
1524
/* Special case for "unistd.h", since it is non-ANSI. We include it way
1525
 * down here because we want the user's section 1 to have been scanned first.
1526
 * The user has a chance to override it with an option.
1527
 */
1528
#include <unistd.h>
1529
#endif
1530
1531
#ifndef YY_EXTRA_TYPE
1532
#define YY_EXTRA_TYPE void *
1533
#endif
1534
1535
static int yy_init_globals ( void );
1536
1537
/* Accessor methods to globals.
1538
   These are made visible to non-reentrant scanners for convenience. */
1539
1540
int yylex_destroy ( void );
1541
1542
int yyget_debug ( void );
1543
1544
void yyset_debug ( int debug_flag  );
1545
1546
YY_EXTRA_TYPE yyget_extra ( void );
1547
1548
void yyset_extra ( YY_EXTRA_TYPE user_defined  );
1549
1550
FILE *yyget_in ( void );
1551
1552
void yyset_in  ( FILE * _in_str  );
1553
1554
FILE *yyget_out ( void );
1555
1556
void yyset_out  ( FILE * _out_str  );
1557
1558
      int yyget_leng ( void );
1559
1560
char *yyget_text ( void );
1561
1562
int yyget_lineno ( void );
1563
1564
void yyset_lineno ( int _line_number  );
1565
1566
/* Macros after this point can all be overridden by user definitions in
1567
 * section 1.
1568
 */
1569
1570
#ifndef YY_SKIP_YYWRAP
1571
#ifdef __cplusplus
1572
extern "C" int yywrap ( void );
1573
#else
1574
extern int yywrap ( void );
1575
#endif
1576
#endif
1577
1578
#ifndef YY_NO_UNPUT
1579
    
1580
#endif
1581
1582
#ifndef yytext_ptr
1583
static void yy_flex_strncpy ( char *, const char *, int );
1584
#endif
1585
1586
#ifdef YY_NEED_STRLEN
1587
static int yy_flex_strlen ( const char * );
1588
#endif
1589
1590
#ifndef YY_NO_INPUT
1591
#ifdef __cplusplus
1592
static int yyinput ( void );
1593
#else
1594
static int input ( void );
1595
#endif
1596
1597
#endif
1598
1599
/* Amount of stuff to slurp up with each read. */
1600
#ifndef YY_READ_BUF_SIZE
1601
#ifdef __ia64__
1602
/* On IA-64, the buffer size is 16k, not 8k */
1603
#define YY_READ_BUF_SIZE 16384
1604
#else
1605
5.35k
#define YY_READ_BUF_SIZE 8192
1606
#endif /* __ia64__ */
1607
#endif
1608
1609
/* Copy whatever the last rule matched to the standard output. */
1610
#ifndef ECHO
1611
/* This used to be an fputs(), but since the string might contain NUL's,
1612
 * we now use fwrite().
1613
 */
1614
0
#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
1615
#endif
1616
1617
/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
1618
 * is returned in "result".
1619
 */
1620
#ifndef YY_INPUT
1621
#define YY_INPUT(buf,result,max_size) \
1622
2.87k
  if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1623
2.87k
    { \
1624
0
    int c = '*'; \
1625
0
    int n; \
1626
0
    for ( n = 0; n < max_size && \
1627
0
           (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1628
0
      buf[n] = (char) c; \
1629
0
    if ( c == '\n' ) \
1630
0
      buf[n++] = (char) c; \
1631
0
    if ( c == EOF && ferror( yyin ) ) \
1632
0
      YY_FATAL_ERROR( "input in flex scanner failed" ); \
1633
0
    result = n; \
1634
0
    } \
1635
2.87k
  else \
1636
2.87k
    { \
1637
2.87k
    errno=0; \
1638
2.87k
    while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
1639
2.87k
      { \
1640
0
      if( errno != EINTR) \
1641
0
        { \
1642
0
        YY_FATAL_ERROR( "input in flex scanner failed" ); \
1643
0
        break; \
1644
0
        } \
1645
0
      errno=0; \
1646
0
      clearerr(yyin); \
1647
0
      } \
1648
2.87k
    }\
1649
\
1650
1651
#endif
1652
1653
/* No semi-colon after return; correct usage is to write "yyterminate();" -
1654
 * we don't want an extra ';' after the "return" because that will cause
1655
 * some compilers to complain about unreachable statements.
1656
 */
1657
#ifndef yyterminate
1658
54
#define yyterminate() return YY_NULL
1659
#endif
1660
1661
/* Number of entries by which start-condition stack grows. */
1662
#ifndef YY_START_STACK_INCR
1663
#define YY_START_STACK_INCR 25
1664
#endif
1665
1666
/* Report a fatal error. */
1667
#ifndef YY_FATAL_ERROR
1668
0
#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1669
#endif
1670
1671
/* end tables serialization structures and prototypes */
1672
1673
/* Default declaration of generated scanner - a define so the user can
1674
 * easily add parameters.
1675
 */
1676
#ifndef YY_DECL
1677
#define YY_DECL_IS_OURS 1
1678
1679
extern int yylex (void);
1680
1681
#define YY_DECL int yylex (void)
1682
#endif /* !YY_DECL */
1683
1684
/* Code executed at the beginning of each rule, after yytext and yyleng
1685
 * have been set up.
1686
 */
1687
#ifndef YY_USER_ACTION
1688
#define YY_USER_ACTION
1689
#endif
1690
1691
/* Code executed at the end of each rule. */
1692
#ifndef YY_BREAK
1693
1.20M
#define YY_BREAK /*LINTED*/break;
1694
#endif
1695
1696
#define YY_RULE_SETUP \
1697
  YY_USER_ACTION
1698
1699
/** The main scanner function which does all the work.
1700
 */
1701
YY_DECL
1702
549
{
1703
549
  yy_state_type yy_current_state;
1704
549
  char *yy_cp, *yy_bp;
1705
549
  int yy_act;
1706
    
1707
549
  if ( !(yy_init) )
1708
549
    {
1709
549
    (yy_init) = 1;
1710
1711
#ifdef YY_USER_INIT
1712
    YY_USER_INIT;
1713
#endif
1714
1715
549
    if ( ! (yy_start) )
1716
549
      (yy_start) = 1; /* first start state */
1717
1718
549
    if ( ! yyin )
1719
0
      yyin = stdin;
1720
1721
549
    if ( ! yyout )
1722
549
      yyout = stdout;
1723
1724
549
    if ( ! YY_CURRENT_BUFFER ) {
1725
549
      yyensure_buffer_stack ();
1726
549
      YY_CURRENT_BUFFER_LVALUE =
1727
549
        yy_create_buffer( yyin, YY_BUF_SIZE );
1728
549
    }
1729
1730
549
    yy_load_buffer_state(  );
1731
549
    }
1732
1733
549
  {
1734
549
#line 40 "scanner.l"
1735
1736
1737
549
#line 1738 "scanner.c"
1738
1739
1.20M
  while ( /*CONSTCOND*/1 )    /* loops until end-of-file is reached */
1740
1.20M
    {
1741
1.20M
    yy_cp = (yy_c_buf_p);
1742
1743
    /* Support of yytext. */
1744
1.20M
    *yy_cp = (yy_hold_char);
1745
1746
    /* yy_bp points to the position in yy_ch_buf of the start of
1747
     * the current run.
1748
     */
1749
1.20M
    yy_bp = yy_cp;
1750
1751
1.20M
    yy_current_state = (yy_start);
1752
1.24M
yy_match:
1753
1.24M
    do
1754
14.8M
      {
1755
14.8M
      YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
1756
14.8M
      if ( yy_accept[yy_current_state] )
1757
3.74M
        {
1758
3.74M
        (yy_last_accepting_state) = yy_current_state;
1759
3.74M
        (yy_last_accepting_cpos) = yy_cp;
1760
3.74M
        }
1761
28.4M
      while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1762
13.5M
        {
1763
13.5M
        yy_current_state = (int) yy_def[yy_current_state];
1764
13.5M
        if ( yy_current_state >= 896 )
1765
13.4M
          yy_c = yy_meta[yy_c];
1766
13.5M
        }
1767
14.8M
      yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
1768
14.8M
      ++yy_cp;
1769
14.8M
      }
1770
14.8M
    while ( yy_base[yy_current_state] != 3230 );
1771
1772
1.24M
yy_find_action:
1773
1.24M
    yy_act = yy_accept[yy_current_state];
1774
1.24M
    if ( yy_act == 0 )
1775
38.2k
      { /* have to back up */
1776
38.2k
      yy_cp = (yy_last_accepting_cpos);
1777
38.2k
      yy_current_state = (yy_last_accepting_state);
1778
38.2k
      yy_act = yy_accept[yy_current_state];
1779
38.2k
      }
1780
1781
1.24M
    YY_DO_BEFORE_ACTION;
1782
1783
1.24M
    if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
1784
1.05M
      {
1785
1.05M
      int yyl;
1786
5.21M
      for ( yyl = 0; yyl < yyleng; ++yyl )
1787
4.16M
        if ( yytext[yyl] == '\n' )
1788
          
1789
1.05M
    yylineno++;
1790
1.05M
;
1791
1.05M
      }
1792
1793
1.24M
do_action:  /* This label is used only to access EOF actions. */
1794
1795
1.24M
    switch ( yy_act )
1796
1.24M
  { /* beginning of action switch */
1797
0
      case 0: /* must back up */
1798
      /* undo the effects of YY_DO_BEFORE_ACTION */
1799
0
      *yy_cp = (yy_hold_char);
1800
0
      yy_cp = (yy_last_accepting_cpos);
1801
0
      yy_current_state = (yy_last_accepting_state);
1802
0
      goto yy_find_action;
1803
1804
148k
case 1:
1805
148k
*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
1806
148k
(yy_c_buf_p) = yy_cp -= 1;
1807
148k
YY_DO_BEFORE_ACTION; /* set up yytext again */
1808
148k
YY_RULE_SETUP
1809
148k
#line 42 "scanner.l"
1810
148k
{/* ignore comments */}
1811
148k
  YY_BREAK
1812
1.05M
case 2:
1813
/* rule 2 can match eol */
1814
1.05M
YY_RULE_SETUP
1815
1.05M
#line 43 "scanner.l"
1816
1.05M
{num_lines++;}
1817
1.05M
  YY_BREAK
1818
396
case 3:
1819
396
YY_RULE_SETUP
1820
396
#line 44 "scanner.l"
1821
396
{}
1822
396
  YY_BREAK
1823
0
case 4:
1824
0
YY_RULE_SETUP
1825
0
#line 46 "scanner.l"
1826
0
{ return T_INTERFACE; }
1827
0
  YY_BREAK
1828
0
case 5:
1829
0
YY_RULE_SETUP
1830
0
#line 47 "scanner.l"
1831
0
{ return T_PREFIX; }
1832
0
  YY_BREAK
1833
0
case 6:
1834
0
YY_RULE_SETUP
1835
0
#line 48 "scanner.l"
1836
0
{ return T_ROUTE; }
1837
0
  YY_BREAK
1838
0
case 7:
1839
0
YY_RULE_SETUP
1840
0
#line 49 "scanner.l"
1841
0
{ return T_RDNSS; }
1842
0
  YY_BREAK
1843
0
case 8:
1844
0
YY_RULE_SETUP
1845
0
#line 50 "scanner.l"
1846
0
{ return T_DNSSL; }
1847
0
  YY_BREAK
1848
0
case 9:
1849
0
YY_RULE_SETUP
1850
0
#line 51 "scanner.l"
1851
0
{ return T_CLIENTS; }
1852
0
  YY_BREAK
1853
0
case 10:
1854
0
YY_RULE_SETUP
1855
0
#line 52 "scanner.l"
1856
0
{ return T_LOWPANCO; }
1857
0
  YY_BREAK
1858
1
case 11:
1859
1
YY_RULE_SETUP
1860
1
#line 53 "scanner.l"
1861
1
{ return T_ABRO; }
1862
0
  YY_BREAK
1863
0
case 12:
1864
0
YY_RULE_SETUP
1865
0
#line 54 "scanner.l"
1866
0
{ return T_NAT64PREFIX; }
1867
0
  YY_BREAK
1868
0
case 13:
1869
0
YY_RULE_SETUP
1870
0
#line 55 "scanner.l"
1871
0
{ return T_AUTOIGNOREPREFIX; }
1872
0
  YY_BREAK
1873
0
case 14:
1874
0
YY_RULE_SETUP
1875
0
#line 57 "scanner.l"
1876
0
{ return T_RASRCADDRESS; }
1877
0
  YY_BREAK
1878
0
case 15:
1879
0
YY_RULE_SETUP
1880
0
#line 59 "scanner.l"
1881
0
{ return T_IgnoreIfMissing; }
1882
0
  YY_BREAK
1883
0
case 16:
1884
0
YY_RULE_SETUP
1885
0
#line 60 "scanner.l"
1886
0
{ return T_AdvSendAdvert; }
1887
0
  YY_BREAK
1888
0
case 17:
1889
0
YY_RULE_SETUP
1890
0
#line 61 "scanner.l"
1891
0
{ return T_MaxRtrAdvInterval; }
1892
0
  YY_BREAK
1893
0
case 18:
1894
0
YY_RULE_SETUP
1895
0
#line 62 "scanner.l"
1896
0
{ return T_MinRtrAdvInterval; }
1897
0
  YY_BREAK
1898
0
case 19:
1899
0
YY_RULE_SETUP
1900
0
#line 63 "scanner.l"
1901
0
{ return T_AdvManagedFlag; }
1902
0
  YY_BREAK
1903
0
case 20:
1904
0
YY_RULE_SETUP
1905
0
#line 64 "scanner.l"
1906
0
{ return T_AdvOtherConfigFlag; }
1907
0
  YY_BREAK
1908
0
case 21:
1909
0
YY_RULE_SETUP
1910
0
#line 65 "scanner.l"
1911
0
{ return T_AdvLinkMTU; }
1912
0
  YY_BREAK
1913
0
case 22:
1914
0
YY_RULE_SETUP
1915
0
#line 66 "scanner.l"
1916
0
{ return T_AdvRAMTU; }
1917
0
  YY_BREAK
1918
0
case 23:
1919
0
YY_RULE_SETUP
1920
0
#line 67 "scanner.l"
1921
0
{ return T_AdvReachableTime; }
1922
0
  YY_BREAK
1923
0
case 24:
1924
0
YY_RULE_SETUP
1925
0
#line 68 "scanner.l"
1926
0
{ return T_AdvRetransTimer; }
1927
0
  YY_BREAK
1928
0
case 25:
1929
0
YY_RULE_SETUP
1930
0
#line 69 "scanner.l"
1931
0
{ return T_AdvCurHopLimit; }
1932
0
  YY_BREAK
1933
0
case 26:
1934
0
YY_RULE_SETUP
1935
0
#line 70 "scanner.l"
1936
0
{ return T_AdvDefaultLifetime; }
1937
0
  YY_BREAK
1938
0
case 27:
1939
0
YY_RULE_SETUP
1940
0
#line 71 "scanner.l"
1941
0
{ return T_AdvDefaultPreference; }
1942
0
  YY_BREAK
1943
0
case 28:
1944
0
YY_RULE_SETUP
1945
0
#line 72 "scanner.l"
1946
0
{ return T_AdvSourceLLAddress; }
1947
0
  YY_BREAK
1948
0
case 29:
1949
0
YY_RULE_SETUP
1950
0
#line 73 "scanner.l"
1951
0
{ return T_RemoveAdvOnExit; }
1952
0
  YY_BREAK
1953
0
case 30:
1954
0
YY_RULE_SETUP
1955
0
#line 75 "scanner.l"
1956
0
{ return T_AdvOnLink; }
1957
0
  YY_BREAK
1958
0
case 31:
1959
0
YY_RULE_SETUP
1960
0
#line 76 "scanner.l"
1961
0
{ return T_AdvAutonomous; }
1962
0
  YY_BREAK
1963
0
case 32:
1964
0
YY_RULE_SETUP
1965
0
#line 77 "scanner.l"
1966
0
{ return T_AdvValidLifetime; }
1967
0
  YY_BREAK
1968
0
case 33:
1969
0
YY_RULE_SETUP
1970
0
#line 78 "scanner.l"
1971
0
{ return T_AdvPreferredLifetime; }
1972
0
  YY_BREAK
1973
0
case 34:
1974
0
YY_RULE_SETUP
1975
0
#line 79 "scanner.l"
1976
0
{ return T_DeprecatePrefix; }
1977
0
  YY_BREAK
1978
0
case 35:
1979
0
YY_RULE_SETUP
1980
0
#line 80 "scanner.l"
1981
0
{ return T_DecrementLifetimes; }
1982
0
  YY_BREAK
1983
0
case 36:
1984
0
YY_RULE_SETUP
1985
0
#line 82 "scanner.l"
1986
0
{ return T_AdvRouterAddr; }
1987
0
  YY_BREAK
1988
0
case 37:
1989
0
YY_RULE_SETUP
1990
0
#line 83 "scanner.l"
1991
0
{ return T_AdvHomeAgentFlag; }
1992
0
  YY_BREAK
1993
0
case 38:
1994
0
YY_RULE_SETUP
1995
0
#line 84 "scanner.l"
1996
0
{ return T_AdvIntervalOpt; }
1997
0
  YY_BREAK
1998
0
case 39:
1999
0
YY_RULE_SETUP
2000
0
#line 85 "scanner.l"
2001
0
{ return T_AdvHomeAgentInfo; }
2002
0
  YY_BREAK
2003
0
case 40:
2004
0
YY_RULE_SETUP
2005
0
#line 86 "scanner.l"
2006
0
{ return T_UnicastOnly; }
2007
0
  YY_BREAK
2008
0
case 41:
2009
0
YY_RULE_SETUP
2010
0
#line 87 "scanner.l"
2011
0
{ return T_UnrestrictedUnicast; }
2012
0
  YY_BREAK
2013
0
case 42:
2014
0
YY_RULE_SETUP
2015
0
#line 88 "scanner.l"
2016
0
{ return T_AdvRASolicitedUnicast; }
2017
0
  YY_BREAK
2018
0
case 43:
2019
0
YY_RULE_SETUP
2020
0
#line 89 "scanner.l"
2021
0
{ return T_AdvCaptivePortalAPI; }
2022
0
  YY_BREAK
2023
0
case 44:
2024
0
YY_RULE_SETUP
2025
0
#line 91 "scanner.l"
2026
0
{ return T_Base6Interface; }
2027
0
  YY_BREAK
2028
0
case 45:
2029
0
YY_RULE_SETUP
2030
0
#line 92 "scanner.l"
2031
0
{ return T_Base6to4Interface; }
2032
0
  YY_BREAK
2033
0
case 46:
2034
0
YY_RULE_SETUP
2035
0
#line 94 "scanner.l"
2036
0
{ return T_HomeAgentPreference; }
2037
0
  YY_BREAK
2038
0
case 47:
2039
0
YY_RULE_SETUP
2040
0
#line 95 "scanner.l"
2041
0
{ return T_HomeAgentLifetime; }
2042
0
  YY_BREAK
2043
0
case 48:
2044
0
YY_RULE_SETUP
2045
0
#line 97 "scanner.l"
2046
0
{ return T_AdvRoutePreference; }
2047
0
  YY_BREAK
2048
0
case 49:
2049
0
YY_RULE_SETUP
2050
0
#line 98 "scanner.l"
2051
0
{ return T_AdvRouteLifetime; }
2052
0
  YY_BREAK
2053
0
case 50:
2054
0
YY_RULE_SETUP
2055
0
#line 99 "scanner.l"
2056
0
{ return T_RemoveRoute; }
2057
0
  YY_BREAK
2058
0
case 51:
2059
0
YY_RULE_SETUP
2060
0
#line 101 "scanner.l"
2061
0
{ return T_AdvRDNSSPreference; }
2062
0
  YY_BREAK
2063
0
case 52:
2064
0
YY_RULE_SETUP
2065
0
#line 102 "scanner.l"
2066
0
{ return T_AdvRDNSSOpenFlag; }
2067
0
  YY_BREAK
2068
0
case 53:
2069
0
YY_RULE_SETUP
2070
0
#line 103 "scanner.l"
2071
0
{ return T_AdvRDNSSLifetime; }
2072
0
  YY_BREAK
2073
0
case 54:
2074
0
YY_RULE_SETUP
2075
0
#line 104 "scanner.l"
2076
0
{ return T_FlushRDNSS; }
2077
0
  YY_BREAK
2078
0
case 55:
2079
0
YY_RULE_SETUP
2080
0
#line 106 "scanner.l"
2081
0
{ return T_AdvDNSSLLifetime; }
2082
0
  YY_BREAK
2083
0
case 56:
2084
0
YY_RULE_SETUP
2085
0
#line 107 "scanner.l"
2086
0
{ return T_FlushDNSSL; }
2087
0
  YY_BREAK
2088
0
case 57:
2089
0
YY_RULE_SETUP
2090
0
#line 109 "scanner.l"
2091
0
{ return T_MinDelayBetweenRAs; }
2092
0
  YY_BREAK
2093
0
case 58:
2094
0
YY_RULE_SETUP
2095
0
#line 111 "scanner.l"
2096
0
{ return T_AdvMobRtrSupportFlag; }
2097
0
  YY_BREAK
2098
0
case 59:
2099
0
YY_RULE_SETUP
2100
0
#line 113 "scanner.l"
2101
0
{ return T_AdvContextLength; }
2102
0
  YY_BREAK
2103
0
case 60:
2104
0
YY_RULE_SETUP
2105
0
#line 114 "scanner.l"
2106
0
{ return T_AdvContextCompressionFlag; }
2107
0
  YY_BREAK
2108
0
case 61:
2109
0
YY_RULE_SETUP
2110
0
#line 115 "scanner.l"
2111
0
{ return T_AdvContextID; }
2112
0
  YY_BREAK
2113
0
case 62:
2114
0
YY_RULE_SETUP
2115
0
#line 116 "scanner.l"
2116
0
{ return T_AdvLifeTime; }
2117
0
  YY_BREAK
2118
0
case 63:
2119
0
YY_RULE_SETUP
2120
0
#line 117 "scanner.l"
2121
0
{ return T_AdvContextPrefix; }
2122
0
  YY_BREAK
2123
0
case 64:
2124
0
YY_RULE_SETUP
2125
0
#line 119 "scanner.l"
2126
0
{ return T_AdvVersionLow; }
2127
0
  YY_BREAK
2128
0
case 65:
2129
0
YY_RULE_SETUP
2130
0
#line 120 "scanner.l"
2131
0
{ return T_AdvVersionHigh; }
2132
0
  YY_BREAK
2133
0
case 66:
2134
0
YY_RULE_SETUP
2135
0
#line 121 "scanner.l"
2136
0
{ return T_Adv6LBRaddress; }
2137
0
  YY_BREAK
2138
2
case 67:
2139
2
YY_RULE_SETUP
2140
2
#line 123 "scanner.l"
2141
2
{
2142
2
      static struct in6_addr addr;
2143
2
      if (inet_pton(AF_INET6, yytext, &addr) < 1) {
2144
1
        return T_BAD_TOKEN;
2145
1
      }
2146
2147
1
      yylval.addr = &addr;
2148
1
      return IPV6ADDR;
2149
2
    }
2150
0
  YY_BREAK
2151
4
case 68:
2152
4
YY_RULE_SETUP
2153
4
#line 133 "scanner.l"
2154
4
{
2155
4
      static struct in6_addr addr;
2156
4
      if (inet_pton(AF_INET6, &yytext[1], &addr) < 1) {
2157
1
        return T_BAD_TOKEN;
2158
1
      }
2159
2160
3
      yylval.addr = &addr;
2161
3
      return NOT_IPV6ADDR;
2162
4
    }
2163
0
  YY_BREAK
2164
126
case 69:
2165
126
YY_RULE_SETUP
2166
126
#line 143 "scanner.l"
2167
126
{
2168
126
      unsigned long lnum;
2169
126
      char *endp;
2170
126
      lnum = strtoul(yytext, &endp, 10);
2171
126
      if (*yytext == '\0' || *endp != '\0')
2172
0
        return T_BAD_TOKEN;
2173
126
      if (lnum > 0xFFFFFFFFUL)
2174
66
        return T_BAD_TOKEN;  /* XXX */
2175
60
      yylval.num = lnum;
2176
60
      return NUMBER;
2177
126
    }
2178
0
  YY_BREAK
2179
1
case 70:
2180
1
YY_RULE_SETUP
2181
1
#line 155 "scanner.l"
2182
1
{ yylval.snum = atoi(yytext); return SIGNEDNUMBER; }
2183
0
  YY_BREAK
2184
1
case 71:
2185
1
YY_RULE_SETUP
2186
1
#line 157 "scanner.l"
2187
1
{ yylval.dec = atof(yytext); return DECIMAL; }
2188
0
  YY_BREAK
2189
1
case 72:
2190
1
YY_RULE_SETUP
2191
1
#line 159 "scanner.l"
2192
1
{ return INFINITY; }
2193
0
  YY_BREAK
2194
2
case 73:
2195
2
YY_RULE_SETUP
2196
2
#line 161 "scanner.l"
2197
2
{ yylval.num = 1; return SWITCH; }
2198
0
  YY_BREAK
2199
1
case 74:
2200
1
YY_RULE_SETUP
2201
1
#line 163 "scanner.l"
2202
1
{ yylval.num = 0; return SWITCH; }
2203
0
  YY_BREAK
2204
1
case 75:
2205
1
YY_RULE_SETUP
2206
1
#line 165 "scanner.l"
2207
1
{ yylval.snum = -1; return SIGNEDNUMBER; }
2208
0
  YY_BREAK
2209
0
case 76:
2210
0
YY_RULE_SETUP
2211
0
#line 167 "scanner.l"
2212
0
{ yylval.snum = 0; return SIGNEDNUMBER; }
2213
0
  YY_BREAK
2214
1
case 77:
2215
1
YY_RULE_SETUP
2216
1
#line 169 "scanner.l"
2217
1
{ yylval.snum = 1; return SIGNEDNUMBER; }
2218
0
  YY_BREAK
2219
277
case 78:
2220
/* rule 78 can match eol */
2221
277
YY_RULE_SETUP
2222
277
#line 171 "scanner.l"
2223
277
{
2224
277
      static char string[256];
2225
2226
277
      strncpy(string, yytext, sizeof(string));
2227
277
      string[sizeof(string)-1] = '\0';
2228
277
      yylval.str = string;
2229
277
      return STRING;
2230
126
    }
2231
0
  YY_BREAK
2232
6
case 79:
2233
6
YY_RULE_SETUP
2234
6
#line 180 "scanner.l"
2235
6
{ return *yytext; }
2236
0
  YY_BREAK
2237
71
case 80:
2238
71
YY_RULE_SETUP
2239
71
#line 182 "scanner.l"
2240
71
{ return T_BAD_TOKEN; }
2241
0
  YY_BREAK
2242
0
case 81:
2243
0
YY_RULE_SETUP
2244
0
#line 183 "scanner.l"
2245
0
ECHO;
2246
0
  YY_BREAK
2247
0
#line 2248 "scanner.c"
2248
54
case YY_STATE_EOF(INITIAL):
2249
54
  yyterminate();
2250
2251
37.7k
  case YY_END_OF_BUFFER:
2252
37.7k
    {
2253
    /* Amount of text matched not including the EOB char. */
2254
37.7k
    int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
2255
2256
    /* Undo the effects of YY_DO_BEFORE_ACTION. */
2257
37.7k
    *yy_cp = (yy_hold_char);
2258
37.7k
    YY_RESTORE_YY_MORE_OFFSET
2259
2260
37.7k
    if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
2261
549
      {
2262
      /* We're scanning a new file or input source.  It's
2263
       * possible that this happened because the user
2264
       * just pointed yyin at a new source and called
2265
       * yylex().  If so, then we have to assure
2266
       * consistency between YY_CURRENT_BUFFER and our
2267
       * globals.  Here is the right place to do so, because
2268
       * this is the first action (other than possibly a
2269
       * back-up) that will match for the new input source.
2270
       */
2271
549
      (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2272
549
      YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
2273
549
      YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
2274
549
      }
2275
2276
    /* Note that here we test for yy_c_buf_p "<=" to the position
2277
     * of the first EOB in the buffer, since yy_c_buf_p will
2278
     * already have been incremented past the NUL character
2279
     * (since all states make transitions on EOB to the
2280
     * end-of-buffer state).  Contrast this with the test
2281
     * in input().
2282
     */
2283
37.7k
    if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2284
34.8k
      { /* This was really a NUL. */
2285
34.8k
      yy_state_type yy_next_state;
2286
2287
34.8k
      (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
2288
2289
34.8k
      yy_current_state = yy_get_previous_state(  );
2290
2291
      /* Okay, we're now positioned to make the NUL
2292
       * transition.  We couldn't have
2293
       * yy_get_previous_state() go ahead and do it
2294
       * for us because it doesn't know how to deal
2295
       * with the possibility of jamming (and we don't
2296
       * want to build jamming into it because then it
2297
       * will run more slowly).
2298
       */
2299
2300
34.8k
      yy_next_state = yy_try_NUL_trans( yy_current_state );
2301
2302
34.8k
      yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2303
2304
34.8k
      if ( yy_next_state )
2305
34.7k
        {
2306
        /* Consume the NUL. */
2307
34.7k
        yy_cp = ++(yy_c_buf_p);
2308
34.7k
        yy_current_state = yy_next_state;
2309
34.7k
        goto yy_match;
2310
34.7k
        }
2311
2312
73
      else
2313
73
        {
2314
73
        yy_cp = (yy_c_buf_p);
2315
73
        goto yy_find_action;
2316
73
        }
2317
34.8k
      }
2318
2319
2.89k
    else switch ( yy_get_next_buffer(  ) )
2320
2.89k
      {
2321
54
      case EOB_ACT_END_OF_FILE:
2322
54
        {
2323
54
        (yy_did_buffer_switch_on_eof) = 0;
2324
2325
54
        if ( yywrap(  ) )
2326
54
          {
2327
          /* Note: because we've taken care in
2328
           * yy_get_next_buffer() to have set up
2329
           * yytext, we can now set up
2330
           * yy_c_buf_p so that if some total
2331
           * hoser (like flex itself) wants to
2332
           * call the scanner after we return the
2333
           * YY_NULL, it'll still work - another
2334
           * YY_NULL will get returned.
2335
           */
2336
54
          (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
2337
2338
54
          yy_act = YY_STATE_EOF(YY_START);
2339
54
          goto do_action;
2340
54
          }
2341
2342
0
        else
2343
0
          {
2344
0
          if ( ! (yy_did_buffer_switch_on_eof) )
2345
0
            YY_NEW_FILE;
2346
0
          }
2347
0
        break;
2348
54
        }
2349
2350
2.41k
      case EOB_ACT_CONTINUE_SCAN:
2351
2.41k
        (yy_c_buf_p) =
2352
2.41k
          (yytext_ptr) + yy_amount_of_matched_text;
2353
2354
2.41k
        yy_current_state = yy_get_previous_state(  );
2355
2356
2.41k
        yy_cp = (yy_c_buf_p);
2357
2.41k
        yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2358
2.41k
        goto yy_match;
2359
2360
429
      case EOB_ACT_LAST_MATCH:
2361
429
        (yy_c_buf_p) =
2362
429
        &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
2363
2364
429
        yy_current_state = yy_get_previous_state(  );
2365
2366
429
        yy_cp = (yy_c_buf_p);
2367
429
        yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2368
429
        goto yy_find_action;
2369
2.89k
      }
2370
0
    break;
2371
37.7k
    }
2372
2373
0
  default:
2374
0
    YY_FATAL_ERROR(
2375
1.24M
      "fatal flex scanner internal error--no action found" );
2376
1.24M
  } /* end of action switch */
2377
1.24M
    } /* end of scanning one token */
2378
549
  } /* end of user's declarations */
2379
549
} /* end of yylex */
2380
2381
/* yy_get_next_buffer - try to read in a new buffer
2382
 *
2383
 * Returns a code representing an action:
2384
 *  EOB_ACT_LAST_MATCH -
2385
 *  EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2386
 *  EOB_ACT_END_OF_FILE - end of file
2387
 */
2388
static int yy_get_next_buffer (void)
2389
2.89k
{
2390
2.89k
      char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
2391
2.89k
  char *source = (yytext_ptr);
2392
2.89k
  int number_to_move, i;
2393
2.89k
  int ret_val;
2394
2395
2.89k
  if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
2396
0
    YY_FATAL_ERROR(
2397
2.89k
    "fatal flex scanner internal error--end of buffer missed" );
2398
2399
2.89k
  if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
2400
0
    { /* Don't try to fill the buffer, so this is an EOF. */
2401
0
    if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
2402
0
      {
2403
      /* We matched a single character, the EOB, so
2404
       * treat this as a final EOF.
2405
       */
2406
0
      return EOB_ACT_END_OF_FILE;
2407
0
      }
2408
2409
0
    else
2410
0
      {
2411
      /* We matched some text prior to the EOB, first
2412
       * process it.
2413
       */
2414
0
      return EOB_ACT_LAST_MATCH;
2415
0
      }
2416
0
    }
2417
2418
  /* Try to read more data. */
2419
2420
  /* First move last chars to start of buffer. */
2421
2.89k
  number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
2422
2423
293M
  for ( i = 0; i < number_to_move; ++i )
2424
293M
    *(dest++) = *(source++);
2425
2426
2.89k
  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2427
    /* don't do the read, it's not guaranteed to return an EOF,
2428
     * just force an EOF
2429
     */
2430
16
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
2431
2432
2.87k
  else
2433
2.87k
    {
2434
2.87k
      int num_to_read =
2435
2.87k
      YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
2436
2437
3.01k
    while ( num_to_read <= 0 )
2438
131
      { /* Not enough room in the buffer - grow it. */
2439
2440
      /* just a shorter name for the current buffer */
2441
131
      YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
2442
2443
131
      int yy_c_buf_p_offset =
2444
131
        (int) ((yy_c_buf_p) - b->yy_ch_buf);
2445
2446
131
      if ( b->yy_is_our_buffer )
2447
131
        {
2448
131
        int new_size = b->yy_buf_size * 2;
2449
2450
131
        if ( new_size <= 0 )
2451
0
          b->yy_buf_size += b->yy_buf_size / 8;
2452
131
        else
2453
131
          b->yy_buf_size *= 2;
2454
2455
131
        b->yy_ch_buf = (char *)
2456
          /* Include room in for 2 EOB chars. */
2457
131
          yyrealloc( (void *) b->yy_ch_buf,
2458
131
               (yy_size_t) (b->yy_buf_size + 2)  );
2459
131
        }
2460
0
      else
2461
        /* Can't grow it, we don't own it. */
2462
0
        b->yy_ch_buf = NULL;
2463
2464
131
      if ( ! b->yy_ch_buf )
2465
0
        YY_FATAL_ERROR(
2466
131
        "fatal error - scanner input buffer overflow" );
2467
2468
131
      (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
2469
2470
131
      num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
2471
131
            number_to_move - 1;
2472
2473
131
      }
2474
2475
2.87k
    if ( num_to_read > YY_READ_BUF_SIZE )
2476
2.47k
      num_to_read = YY_READ_BUF_SIZE;
2477
2478
    /* Read in more data. */
2479
2.87k
    YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
2480
2.87k
      (yy_n_chars), num_to_read );
2481
2482
2.87k
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2483
2.87k
    }
2484
2485
2.89k
  if ( (yy_n_chars) == 0 )
2486
483
    {
2487
483
    if ( number_to_move == YY_MORE_ADJ )
2488
54
      {
2489
54
      ret_val = EOB_ACT_END_OF_FILE;
2490
54
      yyrestart( yyin  );
2491
54
      }
2492
2493
429
    else
2494
429
      {
2495
429
      ret_val = EOB_ACT_LAST_MATCH;
2496
429
      YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
2497
429
        YY_BUFFER_EOF_PENDING;
2498
429
      }
2499
483
    }
2500
2501
2.41k
  else
2502
2.41k
    ret_val = EOB_ACT_CONTINUE_SCAN;
2503
2504
2.89k
  if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
2505
    /* Extend the array by 50%, plus the number we really need. */
2506
0
    int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
2507
0
    YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
2508
0
      (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size  );
2509
0
    if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
2510
0
      YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
2511
    /* "- 2" to take care of EOB's */
2512
0
    YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
2513
0
  }
2514
2515
2.89k
  (yy_n_chars) += number_to_move;
2516
2.89k
  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
2517
2.89k
  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
2518
2519
2.89k
  (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
2520
2521
2.89k
  return ret_val;
2522
2.89k
}
2523
2524
/* yy_get_previous_state - get the state just before the EOB char was reached */
2525
2526
    static yy_state_type yy_get_previous_state (void)
2527
37.7k
{
2528
37.7k
  yy_state_type yy_current_state;
2529
37.7k
  char *yy_cp;
2530
    
2531
37.7k
  yy_current_state = (yy_start);
2532
2533
750M
  for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
2534
750M
    {
2535
750M
    YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2536
750M
    if ( yy_accept[yy_current_state] )
2537
164M
      {
2538
164M
      (yy_last_accepting_state) = yy_current_state;
2539
164M
      (yy_last_accepting_cpos) = yy_cp;
2540
164M
      }
2541
1.50G
    while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2542
750M
      {
2543
750M
      yy_current_state = (int) yy_def[yy_current_state];
2544
750M
      if ( yy_current_state >= 896 )
2545
750M
        yy_c = yy_meta[yy_c];
2546
750M
      }
2547
750M
    yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2548
750M
    }
2549
2550
37.7k
  return yy_current_state;
2551
37.7k
}
2552
2553
/* yy_try_NUL_trans - try to make a transition on the NUL character
2554
 *
2555
 * synopsis
2556
 *  next_state = yy_try_NUL_trans( current_state );
2557
 */
2558
    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
2559
34.8k
{
2560
34.8k
  int yy_is_jam;
2561
34.8k
      char *yy_cp = (yy_c_buf_p);
2562
2563
34.8k
  YY_CHAR yy_c = 1;
2564
34.8k
  if ( yy_accept[yy_current_state] )
2565
7.34k
    {
2566
7.34k
    (yy_last_accepting_state) = yy_current_state;
2567
7.34k
    (yy_last_accepting_cpos) = yy_cp;
2568
7.34k
    }
2569
62.5k
  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2570
27.7k
    {
2571
27.7k
    yy_current_state = (int) yy_def[yy_current_state];
2572
27.7k
    if ( yy_current_state >= 896 )
2573
27.5k
      yy_c = yy_meta[yy_c];
2574
27.7k
    }
2575
34.8k
  yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2576
34.8k
  yy_is_jam = (yy_current_state == 895);
2577
2578
34.8k
    return yy_is_jam ? 0 : yy_current_state;
2579
34.8k
}
2580
2581
#ifndef YY_NO_UNPUT
2582
2583
#endif
2584
2585
#ifndef YY_NO_INPUT
2586
#ifdef __cplusplus
2587
    static int yyinput (void)
2588
#else
2589
    static int input  (void)
2590
#endif
2591
2592
{
2593
  int c;
2594
    
2595
  *(yy_c_buf_p) = (yy_hold_char);
2596
2597
  if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
2598
    {
2599
    /* yy_c_buf_p now points to the character we want to return.
2600
     * If this occurs *before* the EOB characters, then it's a
2601
     * valid NUL; if not, then we've hit the end of the buffer.
2602
     */
2603
    if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2604
      /* This was really a NUL. */
2605
      *(yy_c_buf_p) = '\0';
2606
2607
    else
2608
      { /* need more input */
2609
      int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
2610
      ++(yy_c_buf_p);
2611
2612
      switch ( yy_get_next_buffer(  ) )
2613
        {
2614
        case EOB_ACT_LAST_MATCH:
2615
          /* This happens because yy_g_n_b()
2616
           * sees that we've accumulated a
2617
           * token and flags that we need to
2618
           * try matching the token before
2619
           * proceeding.  But for input(),
2620
           * there's no matching to consider.
2621
           * So convert the EOB_ACT_LAST_MATCH
2622
           * to EOB_ACT_END_OF_FILE.
2623
           */
2624
2625
          /* Reset buffer status. */
2626
          yyrestart( yyin );
2627
2628
          /*FALLTHROUGH*/
2629
2630
        case EOB_ACT_END_OF_FILE:
2631
          {
2632
          if ( yywrap(  ) )
2633
            return 0;
2634
2635
          if ( ! (yy_did_buffer_switch_on_eof) )
2636
            YY_NEW_FILE;
2637
#ifdef __cplusplus
2638
          return yyinput();
2639
#else
2640
          return input();
2641
#endif
2642
          }
2643
2644
        case EOB_ACT_CONTINUE_SCAN:
2645
          (yy_c_buf_p) = (yytext_ptr) + offset;
2646
          break;
2647
        }
2648
      }
2649
    }
2650
2651
  c = *(unsigned char *) (yy_c_buf_p);  /* cast for 8-bit char's */
2652
  *(yy_c_buf_p) = '\0'; /* preserve yytext */
2653
  (yy_hold_char) = *++(yy_c_buf_p);
2654
2655
  if ( c == '\n' )
2656
    
2657
    yylineno++;
2658
;
2659
2660
  return c;
2661
}
2662
#endif  /* ifndef YY_NO_INPUT */
2663
2664
/** Immediately switch to a different input stream.
2665
 * @param input_file A readable stream.
2666
 * 
2667
 * @note This function does not reset the start condition to @c INITIAL .
2668
 */
2669
    void yyrestart  (FILE * input_file )
2670
54
{
2671
    
2672
54
  if ( ! YY_CURRENT_BUFFER ){
2673
0
        yyensure_buffer_stack ();
2674
0
    YY_CURRENT_BUFFER_LVALUE =
2675
0
            yy_create_buffer( yyin, YY_BUF_SIZE );
2676
0
  }
2677
2678
54
  yy_init_buffer( YY_CURRENT_BUFFER, input_file );
2679
54
  yy_load_buffer_state(  );
2680
54
}
2681
2682
/** Switch to a different input buffer.
2683
 * @param new_buffer The new input buffer.
2684
 * 
2685
 */
2686
    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
2687
0
{
2688
    
2689
  /* TODO. We should be able to replace this entire function body
2690
   * with
2691
   *    yypop_buffer_state();
2692
   *    yypush_buffer_state(new_buffer);
2693
     */
2694
0
  yyensure_buffer_stack ();
2695
0
  if ( YY_CURRENT_BUFFER == new_buffer )
2696
0
    return;
2697
2698
0
  if ( YY_CURRENT_BUFFER )
2699
0
    {
2700
    /* Flush out information for old buffer. */
2701
0
    *(yy_c_buf_p) = (yy_hold_char);
2702
0
    YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
2703
0
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2704
0
    }
2705
2706
0
  YY_CURRENT_BUFFER_LVALUE = new_buffer;
2707
0
  yy_load_buffer_state(  );
2708
2709
  /* We don't actually know whether we did this switch during
2710
   * EOF (yywrap()) processing, but the only time this flag
2711
   * is looked at is after yywrap() is called, so it's safe
2712
   * to go ahead and always set it.
2713
   */
2714
0
  (yy_did_buffer_switch_on_eof) = 1;
2715
0
}
2716
2717
static void yy_load_buffer_state  (void)
2718
657
{
2719
657
      (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2720
657
  (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
2721
657
  yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
2722
657
  (yy_hold_char) = *(yy_c_buf_p);
2723
657
}
2724
2725
/** Allocate and initialize an input buffer state.
2726
 * @param file A readable stream.
2727
 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
2728
 * 
2729
 * @return the allocated buffer state.
2730
 */
2731
    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
2732
549
{
2733
549
  YY_BUFFER_STATE b;
2734
    
2735
549
  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
2736
549
  if ( ! b )
2737
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2738
2739
549
  b->yy_buf_size = size;
2740
2741
  /* yy_ch_buf has to be 2 characters longer than the size given because
2742
   * we need to put in 2 end-of-buffer characters.
2743
   */
2744
549
  b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2)  );
2745
549
  if ( ! b->yy_ch_buf )
2746
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2747
2748
549
  b->yy_is_our_buffer = 1;
2749
2750
549
  yy_init_buffer( b, file );
2751
2752
549
  return b;
2753
549
}
2754
2755
/** Destroy the buffer.
2756
 * @param b a buffer created with yy_create_buffer()
2757
 * 
2758
 */
2759
    void yy_delete_buffer (YY_BUFFER_STATE  b )
2760
549
{
2761
    
2762
549
  if ( ! b )
2763
0
    return;
2764
2765
549
  if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
2766
549
    YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
2767
2768
549
  if ( b->yy_is_our_buffer )
2769
549
    yyfree( (void *) b->yy_ch_buf  );
2770
2771
549
  yyfree( (void *) b  );
2772
549
}
2773
2774
/* Initializes or reinitializes a buffer.
2775
 * This function is sometimes called more than once on the same buffer,
2776
 * such as during a yyrestart() or at EOF.
2777
 */
2778
    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
2779
2780
603
{
2781
603
  int oerrno = errno;
2782
    
2783
603
  yy_flush_buffer( b );
2784
2785
603
  b->yy_input_file = file;
2786
603
  b->yy_fill_buffer = 1;
2787
2788
    /* If b is the current buffer, then yy_init_buffer was _probably_
2789
     * called from yyrestart() or through yy_get_next_buffer.
2790
     * In that case, we don't want to reset the lineno or column.
2791
     */
2792
603
    if (b != YY_CURRENT_BUFFER){
2793
549
        b->yy_bs_lineno = 1;
2794
549
        b->yy_bs_column = 0;
2795
549
    }
2796
2797
603
        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
2798
    
2799
603
  errno = oerrno;
2800
603
}
2801
2802
/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
2803
 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
2804
 * 
2805
 */
2806
    void yy_flush_buffer (YY_BUFFER_STATE  b )
2807
603
{
2808
603
      if ( ! b )
2809
0
    return;
2810
2811
603
  b->yy_n_chars = 0;
2812
2813
  /* We always need two end-of-buffer characters.  The first causes
2814
   * a transition to the end-of-buffer state.  The second causes
2815
   * a jam in that state.
2816
   */
2817
603
  b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2818
603
  b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2819
2820
603
  b->yy_buf_pos = &b->yy_ch_buf[0];
2821
2822
603
  b->yy_at_bol = 1;
2823
603
  b->yy_buffer_status = YY_BUFFER_NEW;
2824
2825
603
  if ( b == YY_CURRENT_BUFFER )
2826
54
    yy_load_buffer_state(  );
2827
603
}
2828
2829
/** Pushes the new state onto the stack. The new state becomes
2830
 *  the current state. This function will allocate the stack
2831
 *  if necessary.
2832
 *  @param new_buffer The new state.
2833
 *  
2834
 */
2835
void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
2836
0
{
2837
0
      if (new_buffer == NULL)
2838
0
    return;
2839
2840
0
  yyensure_buffer_stack();
2841
2842
  /* This block is copied from yy_switch_to_buffer. */
2843
0
  if ( YY_CURRENT_BUFFER )
2844
0
    {
2845
    /* Flush out information for old buffer. */
2846
0
    *(yy_c_buf_p) = (yy_hold_char);
2847
0
    YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
2848
0
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2849
0
    }
2850
2851
  /* Only push if top exists. Otherwise, replace top. */
2852
0
  if (YY_CURRENT_BUFFER)
2853
0
    (yy_buffer_stack_top)++;
2854
0
  YY_CURRENT_BUFFER_LVALUE = new_buffer;
2855
2856
  /* copied from yy_switch_to_buffer. */
2857
0
  yy_load_buffer_state(  );
2858
0
  (yy_did_buffer_switch_on_eof) = 1;
2859
0
}
2860
2861
/** Removes and deletes the top of the stack, if present.
2862
 *  The next element becomes the new top.
2863
 *  
2864
 */
2865
void yypop_buffer_state (void)
2866
549
{
2867
549
      if (!YY_CURRENT_BUFFER)
2868
549
    return;
2869
2870
0
  yy_delete_buffer(YY_CURRENT_BUFFER );
2871
0
  YY_CURRENT_BUFFER_LVALUE = NULL;
2872
0
  if ((yy_buffer_stack_top) > 0)
2873
0
    --(yy_buffer_stack_top);
2874
2875
0
  if (YY_CURRENT_BUFFER) {
2876
0
    yy_load_buffer_state(  );
2877
0
    (yy_did_buffer_switch_on_eof) = 1;
2878
0
  }
2879
0
}
2880
2881
/* Allocates the stack if it does not exist.
2882
 *  Guarantees space for at least one push.
2883
 */
2884
static void yyensure_buffer_stack (void)
2885
549
{
2886
549
  yy_size_t num_to_alloc;
2887
    
2888
549
  if (!(yy_buffer_stack)) {
2889
2890
    /* First allocation is just for 2 elements, since we don't know if this
2891
     * scanner will even need a stack. We use 2 instead of 1 to avoid an
2892
     * immediate realloc on the next call.
2893
         */
2894
549
      num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
2895
549
    (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
2896
549
                (num_to_alloc * sizeof(struct yy_buffer_state*)
2897
549
                );
2898
549
    if ( ! (yy_buffer_stack) )
2899
0
      YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
2900
2901
549
    memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
2902
2903
549
    (yy_buffer_stack_max) = num_to_alloc;
2904
549
    (yy_buffer_stack_top) = 0;
2905
549
    return;
2906
549
  }
2907
2908
0
  if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
2909
2910
    /* Increase the buffer to prepare for a possible push. */
2911
0
    yy_size_t grow_size = 8 /* arbitrary grow size */;
2912
2913
0
    num_to_alloc = (yy_buffer_stack_max) + grow_size;
2914
0
    (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
2915
0
                ((yy_buffer_stack),
2916
0
                num_to_alloc * sizeof(struct yy_buffer_state*)
2917
0
                );
2918
0
    if ( ! (yy_buffer_stack) )
2919
0
      YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
2920
2921
    /* zero only the new slots.*/
2922
0
    memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
2923
0
    (yy_buffer_stack_max) = num_to_alloc;
2924
0
  }
2925
0
}
2926
2927
/** Setup the input buffer state to scan directly from a user-specified character buffer.
2928
 * @param base the character buffer
2929
 * @param size the size in bytes of the character buffer
2930
 * 
2931
 * @return the newly allocated buffer state object.
2932
 */
2933
YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
2934
0
{
2935
0
  YY_BUFFER_STATE b;
2936
    
2937
0
  if ( size < 2 ||
2938
0
       base[size-2] != YY_END_OF_BUFFER_CHAR ||
2939
0
       base[size-1] != YY_END_OF_BUFFER_CHAR )
2940
    /* They forgot to leave room for the EOB's. */
2941
0
    return NULL;
2942
2943
0
  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
2944
0
  if ( ! b )
2945
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
2946
2947
0
  b->yy_buf_size = (int) (size - 2);  /* "- 2" to take care of EOB's */
2948
0
  b->yy_buf_pos = b->yy_ch_buf = base;
2949
0
  b->yy_is_our_buffer = 0;
2950
0
  b->yy_input_file = NULL;
2951
0
  b->yy_n_chars = b->yy_buf_size;
2952
0
  b->yy_is_interactive = 0;
2953
0
  b->yy_at_bol = 1;
2954
0
  b->yy_fill_buffer = 0;
2955
0
  b->yy_buffer_status = YY_BUFFER_NEW;
2956
2957
0
  yy_switch_to_buffer( b  );
2958
2959
0
  return b;
2960
0
}
2961
2962
/** Setup the input buffer state to scan a string. The next call to yylex() will
2963
 * scan from a @e copy of @a str.
2964
 * @param yystr a NUL-terminated string to scan
2965
 * 
2966
 * @return the newly allocated buffer state object.
2967
 * @note If you want to scan bytes that may contain NUL values, then use
2968
 *       yy_scan_bytes() instead.
2969
 */
2970
YY_BUFFER_STATE yy_scan_string (const char * yystr )
2971
0
{
2972
    
2973
0
  return yy_scan_bytes( yystr, (int) strlen(yystr) );
2974
0
}
2975
2976
/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
2977
 * scan from a @e copy of @a bytes.
2978
 * @param yybytes the byte buffer to scan
2979
 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
2980
 * 
2981
 * @return the newly allocated buffer state object.
2982
 */
2983
YY_BUFFER_STATE yy_scan_bytes  (const char * yybytes, int  _yybytes_len )
2984
0
{
2985
0
  YY_BUFFER_STATE b;
2986
0
  char *buf;
2987
0
  yy_size_t n;
2988
0
  int i;
2989
    
2990
  /* Get memory for full buffer, including space for trailing EOB's. */
2991
0
  n = (yy_size_t) (_yybytes_len + 2);
2992
0
  buf = (char *) yyalloc( n  );
2993
0
  if ( ! buf )
2994
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
2995
2996
0
  for ( i = 0; i < _yybytes_len; ++i )
2997
0
    buf[i] = yybytes[i];
2998
2999
0
  buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
3000
3001
0
  b = yy_scan_buffer( buf, n );
3002
0
  if ( ! b )
3003
0
    YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
3004
3005
  /* It's okay to grow etc. this buffer, and we should throw it
3006
   * away when we're done.
3007
   */
3008
0
  b->yy_is_our_buffer = 1;
3009
3010
0
  return b;
3011
0
}
3012
3013
#ifndef YY_EXIT_FAILURE
3014
0
#define YY_EXIT_FAILURE 2
3015
#endif
3016
3017
static void yynoreturn yy_fatal_error (const char* msg )
3018
0
{
3019
0
      fprintf( stderr, "%s\n", msg );
3020
0
  exit( YY_EXIT_FAILURE );
3021
0
}
3022
3023
/* Redefine yyless() so it works in section 3 code. */
3024
3025
#undef yyless
3026
#define yyless(n) \
3027
  do \
3028
    { \
3029
    /* Undo effects of setting up yytext. */ \
3030
        int yyless_macro_arg = (n); \
3031
        YY_LESS_LINENO(yyless_macro_arg);\
3032
    yytext[yyleng] = (yy_hold_char); \
3033
    (yy_c_buf_p) = yytext + yyless_macro_arg; \
3034
    (yy_hold_char) = *(yy_c_buf_p); \
3035
    *(yy_c_buf_p) = '\0'; \
3036
    yyleng = yyless_macro_arg; \
3037
    } \
3038
  while ( 0 )
3039
3040
/* Accessor  methods (get/set functions) to struct members. */
3041
3042
/** Get the current line number.
3043
 * 
3044
 */
3045
int yyget_lineno  (void)
3046
0
{
3047
    
3048
0
    return yylineno;
3049
0
}
3050
3051
/** Get the input stream.
3052
 * 
3053
 */
3054
FILE *yyget_in  (void)
3055
0
{
3056
0
        return yyin;
3057
0
}
3058
3059
/** Get the output stream.
3060
 * 
3061
 */
3062
FILE *yyget_out  (void)
3063
0
{
3064
0
        return yyout;
3065
0
}
3066
3067
/** Get the length of the current token.
3068
 * 
3069
 */
3070
int yyget_leng  (void)
3071
0
{
3072
0
        return yyleng;
3073
0
}
3074
3075
/** Get the current token.
3076
 * 
3077
 */
3078
3079
char *yyget_text  (void)
3080
0
{
3081
0
        return yytext;
3082
0
}
3083
3084
/** Set the current line number.
3085
 * @param _line_number line number
3086
 * 
3087
 */
3088
void yyset_lineno (int  _line_number )
3089
0
{
3090
    
3091
0
    yylineno = _line_number;
3092
0
}
3093
3094
/** Set the input stream. This does not discard the current
3095
 * input buffer.
3096
 * @param _in_str A readable stream.
3097
 * 
3098
 * @see yy_switch_to_buffer
3099
 */
3100
void yyset_in (FILE *  _in_str )
3101
549
{
3102
549
        yyin = _in_str ;
3103
549
}
3104
3105
void yyset_out (FILE *  _out_str )
3106
0
{
3107
0
        yyout = _out_str ;
3108
0
}
3109
3110
int yyget_debug  (void)
3111
0
{
3112
0
        return yy_flex_debug;
3113
0
}
3114
3115
void yyset_debug (int  _bdebug )
3116
0
{
3117
0
        yy_flex_debug = _bdebug ;
3118
0
}
3119
3120
static int yy_init_globals (void)
3121
549
{
3122
        /* Initialization is the same as for the non-reentrant scanner.
3123
     * This function is called from yylex_destroy(), so don't allocate here.
3124
     */
3125
3126
    /* We do not touch yylineno unless the option is enabled. */
3127
549
    yylineno =  1;
3128
    
3129
549
    (yy_buffer_stack) = NULL;
3130
549
    (yy_buffer_stack_top) = 0;
3131
549
    (yy_buffer_stack_max) = 0;
3132
549
    (yy_c_buf_p) = NULL;
3133
549
    (yy_init) = 0;
3134
549
    (yy_start) = 0;
3135
3136
/* Defined in main.c */
3137
#ifdef YY_STDINIT
3138
    yyin = stdin;
3139
    yyout = stdout;
3140
#else
3141
549
    yyin = NULL;
3142
549
    yyout = NULL;
3143
549
#endif
3144
3145
    /* For future reference: Set errno on error, since we are called by
3146
     * yylex_init()
3147
     */
3148
549
    return 0;
3149
549
}
3150
3151
/* yylex_destroy is for both reentrant and non-reentrant scanners. */
3152
int yylex_destroy  (void)
3153
549
{
3154
    
3155
    /* Pop the buffer stack, destroying each element. */
3156
1.09k
  while(YY_CURRENT_BUFFER){
3157
549
    yy_delete_buffer( YY_CURRENT_BUFFER  );
3158
549
    YY_CURRENT_BUFFER_LVALUE = NULL;
3159
549
    yypop_buffer_state();
3160
549
  }
3161
3162
  /* Destroy the stack itself. */
3163
549
  yyfree((yy_buffer_stack) );
3164
549
  (yy_buffer_stack) = NULL;
3165
3166
    /* Reset the globals. This is important in a non-reentrant scanner so the next time
3167
     * yylex() is called, initialization will occur. */
3168
549
    yy_init_globals( );
3169
3170
549
    return 0;
3171
549
}
3172
3173
/*
3174
 * Internal utility routines.
3175
 */
3176
3177
#ifndef yytext_ptr
3178
static void yy_flex_strncpy (char* s1, const char * s2, int n )
3179
{
3180
    
3181
  int i;
3182
  for ( i = 0; i < n; ++i )
3183
    s1[i] = s2[i];
3184
}
3185
#endif
3186
3187
#ifdef YY_NEED_STRLEN
3188
static int yy_flex_strlen (const char * s )
3189
{
3190
  int n;
3191
  for ( n = 0; s[n]; ++n )
3192
    ;
3193
3194
  return n;
3195
}
3196
#endif
3197
3198
void *yyalloc (yy_size_t  size )
3199
1.64k
{
3200
1.64k
      return malloc(size);
3201
1.64k
}
3202
3203
void *yyrealloc  (void * ptr, yy_size_t  size )
3204
131
{
3205
    
3206
  /* The cast to (char *) in the following accommodates both
3207
   * implementations that use char* generic pointers, and those
3208
   * that use void* generic pointers.  It works with the latter
3209
   * because both ANSI C and C++ allow castless assignment from
3210
   * any pointer type to void*, and deal with argument conversions
3211
   * as though doing an assignment.
3212
   */
3213
131
  return realloc(ptr, size);
3214
131
}
3215
3216
void yyfree (void * ptr )
3217
1.64k
{
3218
1.64k
      free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
3219
1.64k
}
3220
3221
#define YYTABLES_NAME "yytables"
3222
3223
#line 183 "scanner.l"
3224
3225