• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

realm / realm-core / nicola.cabiddu_1040

26 Sep 2023 05:08PM UTC coverage: 91.056% (-1.9%) from 92.915%
nicola.cabiddu_1040

Pull #6766

Evergreen

nicola-cab
several fixes and final client reset algo for collection in mixed
Pull Request #6766: Client Reset for collections in mixed / nested collections

97128 of 178458 branches covered (0.0%)

1524 of 1603 new or added lines in 5 files covered. (95.07%)

4511 existing lines in 109 files now uncovered.

236619 of 259862 relevant lines covered (91.06%)

7169640.31 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

69.64
/src/realm/parser/generated/query_flex.cpp
1
#line 2 "query_flex.ll"
2
#include <stdint.h>
3

4

5

6
#define  YY_INT_ALIGNED short int
7

8
/* A lexical scanner generated by flex */
9

10

11

12

13

14

15

16

17
/* %not-for-header */
18
/* %if-c-only */
19
/* %if-not-reentrant */
20
/* %endif */
21
/* %endif */
22
/* %ok-for-header */
23

24

25
#define FLEX_SCANNER
26
#define YY_FLEX_MAJOR_VERSION 2
27
#define YY_FLEX_MINOR_VERSION 6
28
#define YY_FLEX_SUBMINOR_VERSION 4
29
#if YY_FLEX_SUBMINOR_VERSION > 0
30
#define FLEX_BETA
31
#endif
32

33

34

35

36

37

38

39

40

41

42

43

44

45
/* %if-c++-only */
46
/* %endif */
47

48
/* %if-c-only */
49

50
/* %endif */
51

52

53

54

55

56

57

58

59
/* %if-c-only */
60

61
/* %endif */
62

63

64

65

66
/* First, we deal with  platform-specific or compiler-specific issues. */
67

68
/* begin standard C headers. */
69
/* %if-c-only */
70
#include <stdio.h>
71
#include <string.h>
72
#include <errno.h>
73
#include <stdlib.h>
74
/* %endif */
75

76
/* %if-tables-serialization */
77
/* %endif */
78
/* end standard C headers. */
79

80
/* %if-c-or-c++ */
81
/* flex integer type definitions */
82

83
#ifndef FLEXINT_H
84
#define FLEXINT_H
85

86
/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
87

88
#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
89

90
/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
91
 * if you want the limit (max/min) macros for int types. 
92
 */
93
#ifndef __STDC_LIMIT_MACROS
94
#define __STDC_LIMIT_MACROS 1
95
#endif
96

97
#include <inttypes.h>
98
typedef int8_t flex_int8_t;
99
typedef uint8_t flex_uint8_t;
100
typedef int16_t flex_int16_t;
101
typedef uint16_t flex_uint16_t;
102
typedef int32_t flex_int32_t;
103
typedef uint32_t flex_uint32_t;
104
#else
105
typedef signed char flex_int8_t;
106
typedef short int flex_int16_t;
107
typedef int flex_int32_t;
108
typedef unsigned char flex_uint8_t; 
109
typedef unsigned short int flex_uint16_t;
110
typedef unsigned int flex_uint32_t;
111

112
/* Limits of integral types. */
113
#ifndef INT8_MIN
114
#define INT8_MIN               (-128)
115
#endif
116
#ifndef INT16_MIN
117
#define INT16_MIN              (-32767-1)
118
#endif
119
#ifndef INT32_MIN
120
#define INT32_MIN              (-2147483647-1)
121
#endif
122
#ifndef INT8_MAX
123
#define INT8_MAX               (127)
124
#endif
125
#ifndef INT16_MAX
126
#define INT16_MAX              (32767)
127
#endif
128
#ifndef INT32_MAX
129
#define INT32_MAX              (2147483647)
130
#endif
131
#ifndef UINT8_MAX
132
#define UINT8_MAX              (255U)
133
#endif
134
#ifndef UINT16_MAX
135
#define UINT16_MAX             (65535U)
136
#endif
137
#ifndef UINT32_MAX
138
#define UINT32_MAX             (4294967295U)
139
#endif
140

141
#ifndef SIZE_MAX
142
#define SIZE_MAX               (~(size_t)0)
143
#endif
144

145
#endif /* ! C99 */
146

147
#endif /* ! FLEXINT_H */
148

149
/* %endif */
150

151
/* begin standard C++ headers. */
152
/* %if-c++-only */
153
/* %endif */
154

155
/* TODO: this is always defined, so inline it */
156
#define yyconst const
157

158
#if defined(__GNUC__) && __GNUC__ >= 3
159
#define yynoreturn __attribute__((__noreturn__))
160
#else
161
#define yynoreturn
162
#endif
163

164
/* %not-for-header */
165
/* Returned upon end-of-file. */
166
#define YY_NULL 0
167
/* %ok-for-header */
168

169

170
/* %not-for-header */
171
/* Promotes a possibly negative, possibly signed char to an
172
 *   integer in range [0..255] for use as an array index.
173
 */
174
#define YY_SC_TO_UI(c) ((YY_CHAR) (c))
5,292,734✔
175
/* %ok-for-header */
5,293,150✔
176

177

178

179

180
/* %if-reentrant */
181

182
/* An opaque pointer. */
183
#ifndef YY_TYPEDEF_YY_SCANNER_T
184
#define YY_TYPEDEF_YY_SCANNER_T
185
typedef void* yyscan_t;
186
#endif
187

188

189

190

191

192

193

194

195

196

197

198

199

200

201

202

203

204
/* For convenience, these vars (plus the bison vars far below)
205
   are macros in the reentrant scanner. */
206
#define yyin yyg->yyin_r
148,994✔
207
#define yyout yyg->yyout_r
234,284✔
208
#define yyextra yyg->yyextra_r
85,292✔
209
#define yyleng yyg->yyleng_r
1,928,238✔
210
#define yytext yyg->yytext_r
2,443,402✔
211
#define yylineno (YY_CURRENT_BUFFER_LVALUE->yy_bs_lineno)
515,040✔
212
#define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column)
×
213
#define yy_flex_debug yyg->yy_flex_debug_r
1,970,592✔
214

1,970,670✔
215

216

217
/* %endif */
218

219

220

221
/* %if-not-reentrant */
222
/* %endif */
223

224

225

226

227

228

229

230
/* Enter a start condition.  This macro really ought to take a parameter,
231
 * but we do it the disgusting crufty way forced on us by the ()-less
232
 * definition of BEGIN.
233
 */
234
#define BEGIN yyg->yy_start = 1 + 2 *
235
/* Translate the current start state into a value that can be later handed
236
 * to BEGIN to return to the state.  The YYSTATE alias is for lex
237
 * compatibility.
238
 */
239
#define YY_START ((yyg->yy_start - 1) / 2)
240
#define YYSTATE YY_START
241
/* Action number for EOF rule of a given start state. */
242
#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
41,968✔
243
/* Special action meaning "start processing a new file". */
41,968✔
244
#define YY_NEW_FILE yyrestart( yyin , yyscanner )
245
#define YY_END_OF_BUFFER_CHAR 0
63,966✔
246

63,966✔
247

248
/* Size of default input buffer. */
249
#ifndef YY_BUF_SIZE
250
#ifdef __ia64__
251
/* On IA-64, the buffer size is 16k, not 8k.
252
 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
253
 * Ditto for the __ia64__ case accordingly.
254
 */
255
#define YY_BUF_SIZE 32768
256
#else
257
#define YY_BUF_SIZE 16384
258
#endif /* __ia64__ */
259
#endif
260

261

262
/* The state buf must be large enough to hold one state per character in the main buffer.
263
 */
264
#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
265

266

267

268
#ifndef YY_TYPEDEF_YY_BUFFER_STATE
269
#define YY_TYPEDEF_YY_BUFFER_STATE
270
typedef struct yy_buffer_state *YY_BUFFER_STATE;
271
#endif
272

273
#ifndef YY_TYPEDEF_YY_SIZE_T
274
#define YY_TYPEDEF_YY_SIZE_T
275
typedef size_t yy_size_t;
276
#endif
277

278
/* %if-not-reentrant */
279
/* %endif */
280

281
/* %if-c-only */
282
/* %if-not-reentrant */
283
/* %endif */
284
/* %endif */
285

286

287
#define EOB_ACT_CONTINUE_SCAN 0
288
#define EOB_ACT_END_OF_FILE 1
41,968✔
289
#define EOB_ACT_LAST_MATCH 2
84,122✔
290
    
42,154✔
291
    #define YY_LESS_LINENO(n)
292
    #define YY_LINENO_REWIND_TO(ptr)
293
    
294
/* Return all but the first "n" matched characters back to the input stream. */
295
#define yyless(n) \
296
        do \
297
                { \
298
                /* Undo effects of setting up yytext. */ \
299
        int yyless_macro_arg = (n); \
300
        YY_LESS_LINENO(yyless_macro_arg);\
301
                *yy_cp = yyg->yy_hold_char; \
302
                YY_RESTORE_YY_MORE_OFFSET \
303
                yyg->yy_c_buf_p = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
304
                YY_DO_BEFORE_ACTION; /* set up yytext again */ \
305
                } \
306
        while ( 0 )
307
#define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner )
308

309

310
#ifndef YY_STRUCT_YY_BUFFER_STATE
311
#define YY_STRUCT_YY_BUFFER_STATE
312
struct yy_buffer_state
313
        {
314
/* %if-c-only */
315
        FILE *yy_input_file;
316
/* %endif */
317

318
/* %if-c++-only */
319
/* %endif */
320

321

322
        char *yy_ch_buf;                /* input buffer */
323
        char *yy_buf_pos;                /* current position in input buffer */
324

325
        /* Size of input buffer in bytes, not including room for EOB
326
         * characters.
327
         */
328
        int yy_buf_size;
329

330
        /* Number of characters read into yy_ch_buf, not including EOB
331
         * characters.
332
         */
333
        int yy_n_chars;
334

335
        /* Whether we "own" the buffer - i.e., we know we created it,
336
         * and can realloc() it to grow it, and should free() it to
337
         * delete it.
338
         */
339
        int yy_is_our_buffer;
340

341
        /* Whether this is an "interactive" input source; if so, and
342
         * if we're using stdio for input, then we want to use getc()
343
         * instead of fread(), to make sure we stop fetching input after
344
         * each newline.
345
         */
346
        int yy_is_interactive;
347

348
        /* Whether we're considered to be at the beginning of a line.
349
         * If so, '^' rules will be active on the next match, otherwise
350
         * not.
351
         */
352
        int yy_at_bol;
353

354
    int yy_bs_lineno; /**< The line count. */
355
    int yy_bs_column; /**< The column count. */
356

357

358
        /* Whether to try to fill the input buffer when we reach the
359
         * end of it.
360
         */
361
        int yy_fill_buffer;
362

363
        int yy_buffer_status;
364

365
#define YY_BUFFER_NEW 0
63,382✔
366
#define YY_BUFFER_NORMAL 1
84,456✔
367
        /* When an EOF's been seen but there's still some text to process
21,070✔
368
         * then we mark the buffer as YY_EOF_PENDING, to indicate that we
369
         * shouldn't try reading from the input source any more.  We might
370
         * still have a bunch of tokens to match, though, because of
371
         * possible backing-up.
372
         *
373
         * When we actually see the EOF, we change the status to "new"
374
         * (via yyrestart()), so that the user can continue scanning by
375
         * just pointing yyin at a new input file.
376
         */
377
#define YY_BUFFER_EOF_PENDING 2
378

379
        };
380
#endif /* !YY_STRUCT_YY_BUFFER_STATE */
381

382
/* %if-c-only Standard (non-C++) definition */
383
/* %not-for-header */
384
/* %if-not-reentrant */
385
/* %endif */
386
/* %ok-for-header */
387

388
/* %endif */
389

390

391
/* We provide macros for accessing buffer states in case in the
392
 * future we want to put the buffer states in a more general
393
 * "scanner state".
394
 *
395
 * Returns the top of the stack, or NULL.
396
 */
397
#define YY_CURRENT_BUFFER ( yyg->yy_buffer_stack \
170,534✔
398
                          ? yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] \
341,140✔
399
                          : NULL)
341,118✔
400
/* Same as previous macro, but useful when we know that the buffer stack is not
170,590✔
401
 * NULL or when we need an lvalue. For internal use only.
402
 */
403
#define YY_CURRENT_BUFFER_LVALUE yyg->yy_buffer_stack[yyg->yy_buffer_stack_top]
486,472✔
404

486,498✔
405

406
/* %if-c-only Standard (non-C++) definition */
407

408
/* %if-not-reentrant */
409
/* %not-for-header */
410
/* %ok-for-header */
411

412
/* %endif */
413

414
void yyrestart ( FILE *input_file , yyscan_t yyscanner );
415
void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer , yyscan_t yyscanner );
416
YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size , yyscan_t yyscanner );
417
void yy_delete_buffer ( YY_BUFFER_STATE b , yyscan_t yyscanner );
418
void yy_flush_buffer ( YY_BUFFER_STATE b , yyscan_t yyscanner );
419
void yypush_buffer_state ( YY_BUFFER_STATE new_buffer , yyscan_t yyscanner );
420
void yypop_buffer_state ( yyscan_t yyscanner );
421

422

423
static void yyensure_buffer_stack ( yyscan_t yyscanner );
424
static void yy_load_buffer_state ( yyscan_t yyscanner );
425
static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file , yyscan_t yyscanner );
426
#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER , yyscanner)
427

428

429
YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size , yyscan_t yyscanner );
430
YY_BUFFER_STATE yy_scan_string ( const char *yy_str , yyscan_t yyscanner );
431
YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len , yyscan_t yyscanner );
432

433
/* %endif */
434

435
void *yyalloc ( yy_size_t , yyscan_t yyscanner );
436
void *yyrealloc ( void *, yy_size_t , yyscan_t yyscanner );
437
void yyfree ( void * , yyscan_t yyscanner );
438

439

440
#define yy_new_buffer yy_create_buffer
441
#define yy_set_interactive(is_interactive) \
442
        { \
443
        if ( ! YY_CURRENT_BUFFER ){ \
444
        yyensure_buffer_stack (yyscanner); \
445
                YY_CURRENT_BUFFER_LVALUE =    \
446
            yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner); \
447
        } \
448
        YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
449
        }
450
#define yy_set_bol(at_bol) \
451
        { \
452
        if ( ! YY_CURRENT_BUFFER ){\
453
        yyensure_buffer_stack (yyscanner); \
454
                YY_CURRENT_BUFFER_LVALUE =    \
455
            yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner); \
456
        } \
457
        YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
458
        }
459
#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
460

461

462
/* %% [1.0] yytext/yyin/yyout/yy_state_type/yylineno etc. def's & init go here */
463
/* Begin user sect3 */
464

465
#define yywrap(yyscanner) (/*CONSTCOND*/1)
20,984✔
466
#define YY_SKIP_YYWRAP
20,984✔
467

468
#define FLEX_DEBUG
469
typedef flex_uint8_t YY_CHAR;
470

471

472
typedef int yy_state_type;
473

474
#define yytext_ptr yytext_r
2,160,200✔
475

2,160,332✔
476

477
/* %% [1.5] DFA */
478

479

480
/* %if-c-only Standard (non-C++) definition */
481

482

483
static yy_state_type yy_get_previous_state ( yyscan_t yyscanner );
484
static yy_state_type yy_try_NUL_trans ( yy_state_type current_state  , yyscan_t yyscanner);
485
static int yy_get_next_buffer ( yyscan_t yyscanner );
486
static void yynoreturn yy_fatal_error ( const char* msg , yyscan_t yyscanner );
487

488

489
/* %endif */
490

491

492
/* Done after the current pattern has been matched and before the
493
 * corresponding action - sets up yytext.
494
 */
495
#define YY_DO_BEFORE_ACTION \
496
        yyg->yytext_ptr = yy_bp; \
1,928,238✔
497
/* %% [2.0] code to fiddle yytext and yyleng for yymore() goes here \ */\
3,856,602✔
498
        yyleng = (int) (yy_cp - yy_bp); \
3,856,602✔
499
        yyg->yy_hold_char = *yy_cp; \
3,856,602✔
500
        *yy_cp = '\0'; \
3,856,602✔
501
/* %% [3.0] code to copy yytext_ptr to yytext[] goes here, if %array \ */\
3,856,602✔
502
        yyg->yy_c_buf_p = yy_cp;
3,856,602✔
503
/* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */
1,928,364✔
504
#define YY_NUM_RULES 72
505
#define YY_END_OF_BUFFER 73
84,028✔
506
/* This struct is not used in this scanner,
84,030✔
507
   but its presence is necessary. */
508
struct yy_trans_info
509
        {
510
        flex_int32_t yy_verify;
511
        flex_int32_t yy_nxt;
512
        };
513
static const flex_int16_t yy_accept[440] =
514
    {   0,
515
        0,    0,   73,   71,    1,    2,   14,   71,   70,   71,
516
       71,    9,    3,    3,    9,   61,   61,    7,    4,    8,
517
       71,   70,   70,   70,   70,   70,   70,   70,   70,   70,
518
       70,   70,   70,   70,   70,    9,   70,   70,   70,   70,
519
       70,   70,   70,   70,   70,   70,   71,   71,   71,   71,
520
        1,    2,    6,    0,   68,    0,   70,   62,    0,    0,
521
        0,    0,   12,    0,   69,    0,    0,   63,    0,    0,
522
       66,    0,   66,   61,    0,    0,   65,   10,    4,   11,
523
        0,    0,    0,    0,    0,    0,    0,    0,   70,   70,
524
       70,   70,   70,   70,   70,   70,   70,   70,   70,   70,
525

526
       70,   70,   70,    5,   70,   70,   70,   70,   70,   70,
527
       70,   70,   59,   70,   13,   70,   70,   70,   70,    0,
528
       70,   70,   70,   70,   70,    0,   70,   70,   70,   70,
529
       70,   70,   70,   70,   70,   70,   70,   13,   70,    0,
530
        0,    0,    0,    0,    0,    0,    0,    0,   66,    0,
531
       66,    0,   65,   64,    0,    0,    0,    0,    0,    0,
532
        0,    0,    0,    0,   16,   12,   15,   32,   70,   70,
533
       70,   30,   70,   70,   70,   70,   70,   70,   70,   70,
534
       53,    0,   70,   70,   70,   54,   55,   70,   14,   70,
535
       31,   70,   70,   70,   70,    0,    0,   70,   70,   70,
536

537
       50,   70,   70,   70,   70,   70,   70,   70,   70,   70,
538
        0,    0,    0,    0,   53,   54,    0,   66,    0,   42,
539
        0,    0,    0,   39,   40,    0,   41,    0,    0,   70,
540
        0,   70,   70,   70,   70,   33,   70,   70,   70,   70,
541
       70,   70,   70,   70,   70,   70,   60,   48,   22,   70,
542
       17,   55,   49,   27,   70,    0,   58,   21,   51,   70,
543
       70,   70,    0,   70,    0,    0,    0,    0,    0,   45,
544
        0,   38,   44,    0,   70,   67,    0,   70,   70,   70,
545
       70,   70,   70,   70,   52,   70,   47,   70,   70,   70,
546
       70,   70,   29,   70,   70,    0,    0,    0,    0,    0,
547

548
        0,   43,    0,   70,   70,   70,   30,   70,   70,   70,
549
       70,   70,   35,   70,   70,   70,   70,   70,   70,    0,
550
        0,    0,    0,   46,   70,   70,   23,   70,   70,   70,
551
       70,   70,   70,   70,   70,   70,   70,   70,    0,    0,
552
        0,    0,   70,   70,   20,   70,   28,   19,   70,   70,
553
       70,   70,   53,   34,   70,    0,    0,   53,    0,   32,
554
       70,   70,   70,   37,   70,   24,   70,    0,    0,    0,
555
       18,   33,   70,   36,   70,    0,    0,   58,   70,   70,
556
        0,    0,    0,   70,   70,    0,    0,   58,   70,   25,
557
        0,    0,   26,    0,    0,    0,    0,    0,    0,    0,
558

559
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
560
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
561
        0,    0,    0,   57,    0,    0,    0,    0,    0,    0,
562
        0,    0,    0,    0,    0,    0,    0,   56,    0
563
    } ;
564

565
static const YY_CHAR yy_ec[256] =
566
    {   0,
567
        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
568
        1,    1,    2,    1,    1,    1,    1,    1,    1,    1,
569
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
570
        1,    4,    5,    6,    1,    7,    1,    8,    9,   10,
571
       11,   12,   13,   14,   15,   16,   17,   18,   19,   19,
572
       19,   20,   19,   21,   19,   19,   19,   22,    1,   23,
573
       24,   25,    1,   26,   27,   28,   29,   30,   31,   32,
574
       33,   34,   35,   36,   37,   38,   39,   40,   41,   42,
575
       43,   44,   45,   46,   47,   48,   49,   50,   51,   52,
576
       53,   54,   55,    1,   56,    1,   57,   58,   59,   60,
577

578
       61,   62,   63,   64,   65,   66,   67,   68,   69,   70,
579
       71,   72,   73,   74,   75,   76,   77,   78,   79,   80,
580
       81,   82,   14,   83,   14,    1,    1,   84,   84,   84,
581
       84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
582
       84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
583
       84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
584
       84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
585
       84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
586
       84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
587
       84,    1,    1,   85,   85,   85,   85,   85,   85,   85,
588

589
       85,   85,   85,   85,   85,   85,   85,   85,   85,   85,
590
       85,   85,   85,   85,   85,   85,   85,   85,   85,   85,
591
       85,   85,   85,   86,   86,   86,   86,   86,   86,   86,
592
       86,   86,   86,   86,   86,   86,   86,   86,   86,   87,
593
       87,   87,   87,   87,   87,   87,   87,    1,    1,    1,
594
        1,    1,    1,    1,    1
595
    } ;
596

597
static const YY_CHAR yy_meta[88] =
598
    {   0,
599
        1,    1,    1,    1,    1,    2,    3,    1,    1,    1,
600
        1,    1,    2,    1,    3,    1,    2,    4,    4,    4,
601
        4,    1,    1,    2,    1,    1,    4,    4,    4,    4,
602
        4,    4,    5,    5,    5,    5,    5,    5,    5,    5,
603
        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
604
        5,    5,    1,    3,    1,    3,    4,    4,    4,    4,
605
        4,    4,    5,    5,    5,    5,    5,    5,    5,    5,
606
        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
607
        5,    5,    1,    1,    3,    3,    3
608
    } ;
609

610
static const flex_int16_t yy_base[509] =
611
    {   0,
612
        0,    0,  687, 2200,   86,  682,  643,   83,   73,  657,
613
       86, 2200, 2200,   80,   84,   91,  113,   89,   93,  640,
614
       79,   81,  141,  123,  138,  130,  177,  157,   95,  151,
615
      230,  212,  252,  247,  327,  602,  282,  290,  308,  206,
616
      335,  352,  382,  377,  397,  227,  577,  558,  557,  555,
617
      121,  635, 2200,  124, 2200,  443,  111,  425,  159,  552,
618
      551,  539, 2200,   88, 2200,  468,  310,  471,  143,  162,
619
      475,  364,  528,  535,  549,    0, 2200, 2200, 2200, 2200,
620
      544,  550,  555,  541,  122,  155,  519,  542,  318,  522,
621
      506,  348,  541,  525,  532,  544,  200,  454,  583,  566,
622

623
      561,  586,  591,  571,  612,  661,  605,  647,  635,  650,
624
      609,  655,  706,  677,  665,  701,  715,  721,  724,  752,
625
      752,  790,  745,  750,  768,  539,  774,  784,  795,  792,
626
      787,  813,  830,  821,  850,  841,  847, 2200,  731,  503,
627
      501,    0,  499,  497,    0,  190,  238,  925, 2200,  932,
628
      936,  902,  940,    0,  517,  501,  496,  505,  494,  493,
629
      475,  474,  462,  463,  877,  885,  888,  934,  923,  914,
630
      927,  939,  957,  963,  969,  982,  985, 1007,  992, 1046,
631
      999,  964, 1012, 1042, 1052, 1022, 1026, 1060, 1035, 1072,
632
     1065, 1099, 1110, 1089, 1106, 1148, 1185, 1102, 1140, 1159,
633

634
     2200, 1154, 1148, 1162, 1167, 1170, 1176, 1182, 1211, 1204,
635
      444,    0,  443,    0,  244, 2200, 1191, 1255, 1259, 2200,
636
      455,  449,  456, 2200, 2200,  460, 2200,  457,  439, 1241,
637
      509, 1245, 1251, 1248, 1256, 1262, 1285, 1275, 1290, 1324,
638
     1310, 1327, 1334, 1346, 1338, 1364, 1288, 1304, 1320, 1376,
639
     1354, 1361, 1372, 1381, 1406, 1424, 1451, 1400, 1422, 1442,
640
     1434, 1425,    0, 1419,    0,    0,  250, 1497,  438, 2200,
641
      434, 2200, 2200,  446, 1470, 2200,  498, 1477, 1504, 1485,
642
     1513, 1507, 1533, 1541, 1496, 1559, 1459, 1499, 1563, 1567,
643
     1556, 1601, 1571, 1607, 1585,    0,    0,    0,    0,  276,
644

645
     1644, 2200,  428, 1625, 1620, 1643, 1630, 1649, 1666, 1673,
646
     1655, 1670, 1679, 1689, 1696, 1715, 1708, 1724, 1736,    0,
647
        0,  273, 1767, 2200, 1759, 1770, 1685, 1762, 1773, 1766,
648
     1800, 1808, 1812, 1828, 1835, 1820, 1857, 1842,    0,    0,
649
      272, 1657, 1870, 1863, 1850, 1876, 1880, 1886, 1893, 1914,
650
     1910, 1920, 1898, 1923, 1957,    0,    0, 2200, 1857, 1928,
651
     1964, 1969, 1981, 1934, 1977, 1939, 1998,    0,    0, 1812,
652
     1984, 1987, 2032, 1991, 2038,    0,    0, 2078, 2048, 2035,
653
        0,    0, 2088, 2082, 2085,    0,    0, 2094, 2095, 2056,
654
        0,  485, 2075,    0,    0,    0,    0,    0,    0,    0,
655

656
        0,    0,  483,    0,    0,    0,    0,    0,    0,    0,
657
        0,    0,  473,    0,    0,    0,    0,    0,    0,    0,
658
        0,  470,  465, 2200,    0,    0,    0,    0,    0,    0,
659
        0,    0,    0,    0,    0,    0,  467, 2200, 2200, 2182,
660
     2185, 2190,  472,  471,  469,  468,  466, 2194,  462,  461,
661
      455,  453,  451,  449,  446,  428,  426,  423,  421,  415,
662
      412,  411,  407,  403,  394,  393,  392,  387,  386,  382,
663
      376,  370,  362,  360,  359,  357,  356,  355,  350,  339,
664
      303,  301,  299,  298,  296,  279,  270,  264,  263,  257,
665
      254,  252,  251,  237,  236,  226,  210,  203,  197,  189,
666

667
      186,  182,  181,  157,  139,  135,  120,  104
668
    } ;
669

670
static const flex_int16_t yy_def[509] =
671
    {   0,
672
      439,    1,  439,  439,  439,  439,  439,  440,  441,  439,
673
      442,  439,  439,  439,  439,  439,  439,  439,  439,  439,
674
      439,  441,  441,  441,  441,  441,  441,  441,  441,  441,
675
      441,  441,  441,  441,  441,  439,  441,  441,  441,  441,
676
      441,  441,  441,  441,  441,  441,  439,  439,  439,  439,
677
      439,  439,  439,  440,  439,  439,  441,  441,  439,  439,
678
      439,  439,  439,  442,  439,  439,  439,  439,  439,  439,
679
      439,  439,  439,  439,  439,  443,  439,  439,  439,  439,
680
      439,  439,  439,  439,  439,  439,  439,  439,  441,  441,
681
      441,  441,  441,  441,  441,  441,  441,  441,  441,  441,
682

683
      441,  441,  441,  441,  441,  441,  441,  441,  441,  441,
684
      441,  441,  441,  441,  441,  441,  441,  441,  441,  439,
685
       35,   35,  441,  441,  441,  439,  441,  441,  441,  441,
686
      441,  441,  441,  441,  441,  441,  441,  439,  441,  439,
687
      439,  444,  439,  439,  445,  439,  439,  439,  439,  439,
688
      439,  439,  439,  443,  439,  439,  439,  439,  439,  439,
689
      439,  439,  439,  439,  441,  441,  441,  441,  441,  441,
690
      441,  441,  441,  441,  441,  441,  441,  441,  441,  441,
691
      441,  439,  441,  441,  441,  441,  441,  441,  441,  441,
692
      441,  441,  441,  441,  441,  439,  439,  441,  441,  441,
693

694
      439,  441,  441,  441,  441,  441,  441,  441,  441,  441,
695
      439,  446,  439,  447,  439,  439,  439,  439,  439,  439,
696
      439,  439,  439,  439,  439,  439,  439,  439,  439,  441,
697
      448,  441,  441,  441,  441,  441,  441,  441,  441,  441,
698
      441,  441,  441,  441,  441,  441,  439,  441,  441,  441,
699
      441,  441,  441,  441,  441,  439,  439,  441,  441,  441,
700
      441,  441,  449,  441,  450,  451,  439,  439,  439,  439,
701
      439,  439,  439,  439,  441,  439,  448,  441,  441,  441,
702
      441,  441,  441,  441,  441,  441,  441,  441,  441,  441,
703
      441,  441,  441,  441,  441,  452,  453,  454,  455,  439,
704

705
      439,  439,  439,  441,  441,  441,  441,  441,  441,  441,
706
      441,  441,  441,  441,  441,  441,  441,  441,  441,  456,
707
      457,  439,  439,  439,  441,  441,  441,  441,  441,  441,
708
      441,  441,  441,  441,  441,  441,  441,  441,  458,  459,
709
      439,  439,  441,  441,  441,  441,  441,  441,  441,  441,
710
      441,  441,  441,  441,  441,  460,  461,  439,  439,  441,
711
      441,  441,  441,  441,  441,  441,  441,  462,  463,  439,
712
      441,  441,  441,  441,  441,  464,  465,  439,  441,  441,
713
      466,  467,  439,  441,  441,  468,  469,  439,  441,  441,
714
      470,  439,  441,  471,  472,  473,  474,  475,  476,  477,
715

716
      478,  479,  439,  480,  481,  482,  483,  484,  485,  486,
717
      487,  488,  439,  489,  490,  491,  492,  493,  494,  495,
718
      496,  439,  439,  439,  497,  498,  499,  500,  501,  502,
719
      503,  504,  505,  506,  507,  508,  439,  439,    0,  439,
720
      439,  439,  439,  439,  439,  439,  439,  439,  439,  439,
721
      439,  439,  439,  439,  439,  439,  439,  439,  439,  439,
722
      439,  439,  439,  439,  439,  439,  439,  439,  439,  439,
723
      439,  439,  439,  439,  439,  439,  439,  439,  439,  439,
724
      439,  439,  439,  439,  439,  439,  439,  439,  439,  439,
725
      439,  439,  439,  439,  439,  439,  439,  439,  439,  439,
726

727
      439,  439,  439,  439,  439,  439,  439,  439
728
    } ;
729

730
static const flex_int16_t yy_nxt[2288] =
731
    {   0,
732
        4,    5,    6,    5,    7,    8,    9,   10,   11,   12,
733
       12,   13,   14,   12,   14,   15,   13,   16,   17,   17,
734
       17,    4,   18,   19,   20,   21,   22,   23,   24,   25,
735
       26,   27,   28,   29,   30,   29,   29,   31,   29,   32,
736
       33,   29,   29,   29,   34,   35,   29,   29,   29,   29,
737
       29,   29,   36,    4,   12,   29,   37,   38,   24,   25,
738
       26,   39,   28,   29,   40,   29,   29,   41,   29,   42,
739
       43,   29,   29,   29,   44,   45,   46,   29,   29,   29,
740
       29,   29,   47,    4,   48,   49,   50,   51,   55,   51,
741
       58,   58,   58,   58,   65,   67,   65,   68,   68,   68,
742

743
       68,   71,   71,   71,   71,   72,   73,  437,   74,   74,
744
       74,   74,   78,   53,   69,   78,   79,   80,   89,   70,
745
       90,   75,   51,  436,   51,   91,   59,   72,   73,   55,
746
       74,   74,   74,   74,   59,   81,   56,   82,  435,   66,
747
       76,   66,  434,   75,   69,   83,   84,   85,   59,   70,
748
       92,   75,   77,   86,   87,   91,   88,   60,   61,   62,
749
      433,   93,   57,   96,   59,   60,   61,   62,   97,   99,
750
       76,   94,   98,   75,   77,   95,   59,   56,  159,   60,
751
       61,   62,  146,   59,  432,  431,  160,  103,  147,  430,
752
      104,   59,  429,   96,   59,   60,   61,   62,   97,   99,
753

754
      428,   94,   98,  100,   59,   95,  427,   60,   61,   62,
755
       59,  101,  146,  426,   60,   61,   62,  103,  147,  161,
756
      105,  215,   60,   61,   62,   60,   61,   62,   57,  423,
757
       59,  162,   57,  102,   57,   60,   61,   62,  109,  422,
758
      421,   60,   61,   62,  174,  105,  110,  106,  106,  106,
759
      106,  215,  111,   59,  420,  419,  107,  418,  112,   59,
760
      417,   60,   61,   62,  108,   59,  416,  414,  109,  113,
761
      113,  113,  113,  413,  174,  104,  110,  216,  267,  114,
762
       59,  116,  412,   59,   60,   61,   62,  117,  112,  300,
763
       60,   61,   62,  118,  108,  115,   60,   61,   62,  411,
764

765
       59,  410,  409,  137,  408,   59,  407,  216,  267,  114,
766
      322,   60,   61,   62,   60,   61,   62,  119,  341,  300,
767
       94,   92,  358,  118,   95,  115,   91,   71,   71,   71,
768
       71,   60,   61,   62,  102,   59,   60,   61,   62,  120,
769
      322,  121,  406,   59,  122,  122,  122,  122,  341,  127,
770
       94,  128,  358,  404,   95,  165,   91,  123,  403,  402,
771
      401,   59,  400,  399,  129,  398,   60,   61,   62,  108,
772
      124,   59,  130,  397,   60,   61,   62,  166,  109,  396,
773
       59,  150,  150,  150,  150,  394,  110,  123,   59,  392,
774
      391,  131,   60,   61,   62,  387,  386,  382,  112,  108,
775

776
      125,   59,   60,   61,   62,   59,  381,  166,  109,  114,
777
      377,   60,   61,   62,  376,  369,  110,  119,  368,   60,
778
       61,   62,  132,  118,  357,  115,  356,  123,  112,  340,
779
       59,  339,   60,   61,   62,   59,   60,   61,   62,  114,
780
      125,  134,   58,   58,   58,   58,  133,  135,   54,   64,
781
       59,   54,   54,  118,  321,  115,  320,  123,  299,   54,
782
       54,   60,   61,   62,  298,  296,   60,   61,   62,  266,
783
      136,  265,  214,   64,  212,  154,   64,  438,   59,  425,
784
      424,   60,   61,   62,   64,   64,   73,  415,   68,   68,
785
       68,   68,   71,   71,   71,   71,   54,  405,  175,  395,
786

787
       54,   75,  324,  276,   54,  148,  303,   59,  302,   60,
788
       61,   62,   54,  272,  276,  274,   54,  273,   54,  142,
789
      272,   64,  271,  270,  269,   64,   57,  139,  175,   64,
790
      229,   75,   77,  228,  168,  148,  149,   64,   60,   61,
791
       62,   64,  227,   64,  145,  151,  151,  151,  151,   72,
792
       73,  166,   74,   74,   74,   74,  226,  170,  148,   59,
793
      169,  152,  225,  152,  168,   75,  153,  153,  153,  153,
794
      171,  172,  167,  224,  223,   59,  222,  221,   59,  220,
795
      213,  166,   57,  173,  211,   59,  139,  170,  148,  149,
796
       60,   61,   62,  201,   59,   75,   77,   59,  164,  163,
797

798
      171,  172,  181,  177,  179,  158,   60,   61,   62,   60,
799
       61,   62,  176,  173,   59,  157,   60,   61,   62,   59,
800
      156,  155,  144,  178,   59,   60,   61,   62,   60,   61,
801
       62,  180,  181,  178,  143,   57,   59,   52,  141,   59,
802
      140,  139,  176,  181,   59,   60,   61,   62,  188,  183,
803
       60,   61,   62,  178,  189,   60,   61,   62,   59,  138,
804
      126,  180,   59,   80,   63,   59,   53,   60,   61,   62,
805
       60,   61,   62,  181,  186,   60,   61,   62,  106,  106,
806
      106,  106,  182,  184,   52,  185,  439,  187,   59,   60,
807
       61,   62,  190,   60,   61,   62,   60,   61,   62,  439,
808

809
       59,  439,  439,   59,  186,  439,  439,  439,   59,  439,
810
      439,  439,  191,  184,   59,  185,  439,  187,   59,   60,
811
       61,   62,  190,  113,  113,  113,  113,  439,  439,  439,
812
       59,   60,   61,   62,   60,   61,   62,  439,  439,   60,
813
       61,   62,  191,  439,  439,   60,   61,   62,  195,   60,
814
       61,   62,  192,  193,   59,  439,  439,  439,  194,   59,
815
      439,   60,   61,   62,  439,  439,   57,  194,   59,  196,
816
      196,  196,  196,  439,   59,  439,  439,   59,  195,  439,
817
      439,  439,   57,  439,   59,   60,   61,   62,  194,  439,
818
       60,   61,   62,  439,  198,   57,  199,  194,   59,   60,
819

820
       61,   62,  439,   59,   57,   60,   61,   62,   60,   61,
821
       62,  197,   57,  166,  200,   60,   61,   62,  439,  439,
822
       57,   59,  439,  439,  198,   57,  200,   59,  439,   60,
823
       61,   62,  178,   57,   60,   61,   62,   59,  439,  439,
824
       59,  165,  439,  166,  200,   59,  439,  439,   59,  439,
825
       57,  439,   60,   61,   62,  439,  439,  439,   60,   61,
826
       62,  204,  202,   57,  167,  203,   59,  439,   60,   61,
827
       62,   60,   61,   62,   59,  439,   60,   61,   62,   60,
828
       61,   62,  205,   59,  439,  439,  439,  200,  189,  206,
829
      439,  439,  439,  194,   59,  439,  439,   60,   61,   62,
830

831
       59,  439,  207,   59,  439,   60,   61,   62,  439,  439,
832
      439,  210,  439,  439,   60,   61,   62,  209,  208,  153,
833
      153,  153,  153,  194,  439,   60,   61,   62,  231,  439,
834
       59,   60,   61,   62,   60,   61,   62,  217,   59,  217,
835
      439,   59,  218,  218,  218,  218,  219,  439,  232,  150,
836
      150,  150,  150,  151,  151,  151,  151,  153,  153,  153,
837
      153,   60,   61,   62,  230,  234,  148,   59,  439,   60,
838
       61,   62,   60,   61,   62,  233,   59,  439,  232,  439,
839
       59,  247,  247,  247,  247,  439,  439,   59,  439,  439,
840
      439,  236,   59,  439,  230,  234,  148,  149,   60,   61,
841

842
       62,   77,  235,  439,  439,  233,  439,   60,   61,   62,
843
       59,   60,   61,   62,  237,  439,   59,  439,   60,   61,
844
       62,  236,   59,   60,   61,   62,  238,  439,  439,  239,
845
      439,  439,  235,  246,  439,   59,  241,  439,   59,  439,
846
      439,   60,   61,   62,  237,   59,  439,   60,   61,   62,
847
      439,  240,   59,   60,   61,   62,  238,  248,  439,  240,
848
       59,  439,  439,  246,  439,   59,   60,   61,   62,   60,
849
       61,   62,  249,  242,  243,   59,   60,   61,   62,   59,
850
      439,  240,  439,   60,   61,   62,  250,  244,   59,  439,
851
      251,   60,   61,   62,  245,   59,   60,   61,   62,   59,
852

853
      439,  439,  249,  242,  243,   59,   60,   61,   62,  252,
854
       60,   61,   62,   59,  439,  439,  250,  244,   59,   60,
855
       61,   62,  439,  439,  245,   59,   60,   61,   62,  253,
856
       60,   61,   62,  439,  254,  439,   60,   61,   62,  252,
857
      167,  439,   59,  439,   60,   61,   62,  258,  255,   60,
858
       61,   62,   59,  439,  439,   59,   60,   61,   62,   59,
859
      439,  439,  439,   59,  254,  196,  196,  196,  196,  197,
860
      259,  439,  439,   60,   61,   62,  439,  258,  255,  263,
861
      439,  439,  439,   60,   61,   62,   60,   61,   62,  260,
862
       60,   61,   62,   59,   60,   61,   62,  256,  240,  256,
863

864
      260,   59,  257,  257,  257,  257,  439,   59,  218,  218,
865
      218,  218,   59,  439,  439,   59,  439,  439,  439,  260,
866
       59,  439,  262,   59,   60,   61,   62,  251,  261,   59,
867
      439,  439,   60,   61,   62,   59,  253,  248,   60,   61,
868
       62,  260,  167,   60,   61,   62,   60,   61,   62,  439,
869
      439,   60,   61,   62,   60,   61,   62,   59,  439,  439,
870
       60,   61,   62,  264,   59,  439,   60,   61,   62,  439,
871
      439,  259,  218,  218,  218,  218,  268,  268,  268,  268,
872
      275,  279,  281,  439,  278,  439,  439,  439,   60,   61,
873
       62,  280,  282,  439,   59,   60,   61,   62,   59,  439,
874

875
      439,   59,  439,  439,   59,  247,  247,  247,  247,   59,
876
      275,  279,  281,  439,  278,   59,  149,  439,  439,  283,
877
      285,  280,  282,  284,  439,   60,   61,   62,   59,   60,
878
       61,   62,   60,   61,   62,   60,   61,   62,   59,  439,
879
       60,   61,   62,   59,  439,  439,   60,   61,   62,  283,
880
      286,  439,  439,  284,  286,  287,  439,   59,  439,   60,
881
       61,   62,  439,   59,  439,  439,  439,  288,  289,   60,
882
       61,   62,  291,   59,   60,   61,   62,   59,  439,  439,
883
       59,  439,  439,  439,  286,  439,  290,   59,   60,   61,
884
       62,   59,  439,  439,   60,   61,   62,  288,  289,   59,
885

886
      439,  439,  291,  292,   60,   61,   62,   59,   60,   61,
887
       62,   60,   61,   62,   59,  439,  290,   59,   60,   61,
888
       62,  293,   60,   61,   62,   59,  439,  439,  297,   59,
889
       60,   61,   62,  292,   59,  439,  439,  439,   60,   61,
890
       62,  257,  257,  257,  257,   60,   61,   62,   60,   61,
891
       62,  293,  294,   59,  439,  439,   60,   61,   62,   59,
892
       60,   61,   62,  295,  286,   60,   61,   62,  257,  257,
893
      257,  257,   59,  439,  439,   59,  439,  439,   59,  439,
894
      439,  439,  294,  295,   60,   61,   62,   59,  439,  439,
895
       60,   61,   62,  295,  285,   59,  439,  439,  439,  304,
896

897
      287,  439,  439,   60,   61,   62,   60,   61,   62,   60,
898
       61,   62,   59,  295,  268,  268,  268,  268,   60,   61,
899
       62,  305,  301,   59,  439,  439,   60,   61,   62,  304,
900
       59,  439,  439,  439,  306,  307,  439,  312,   59,  439,
901
      439,  439,  301,   60,   61,   62,  309,  308,  313,   59,
902
      439,  305,   59,  439,   60,   61,   62,   59,  439,  439,
903
       59,   60,   61,   62,  306,  307,   59,  312,  439,   60,
904
       61,   62,  310,  439,  439,  311,  309,  308,  313,  439,
905
       60,   61,   62,   60,   61,   62,   59,  439,   60,   61,
906
       62,   60,   61,   62,   59,  439,  439,   60,   61,   62,
907

908
      312,  316,  310,  439,  315,  311,  314,  439,  439,   59,
909
      439,  439,   59,  439,  439,  439,   59,   60,   61,   62,
910
       59,  439,  439,  439,   59,   60,   61,   62,  319,  439,
911
      312,  316,  439,  439,  315,  317,  314,  318,   59,  439,
912
       60,   61,   62,   60,   61,   62,  439,   60,   61,   62,
913
      439,   60,   61,   62,   59,   60,   61,   62,  319,  325,
914
       59,  323,  323,  323,  323,  317,  439,  318,  326,   60,
915
       61,   62,  439,   59,  359,  359,  359,  359,   59,  439,
916
      439,  439,  327,   59,  439,   60,   61,   62,  328,  325,
917
      439,   60,   61,   62,  439,  329,   59,  439,  326,  439,
918

919
      331,  330,   59,  439,   60,   61,   62,  439,   59,   60,
920
       61,   62,  327,  332,   60,   61,   62,  333,  328,   59,
921
      439,  439,  439,   59,  439,  329,   59,   60,   61,   62,
922
      331,  330,   59,   60,   61,   62,  439,  439,   59,   60,
923
       61,   62,   59,  332,  439,  439,  334,  333,  335,   59,
924
       60,   61,   62,  336,   60,   61,   62,   60,   61,   62,
925
      439,   59,  439,   60,   61,   62,  338,  337,   59,   60,
926
       61,   62,  439,   60,   61,   62,  334,   59,  335,  439,
927
       60,   61,   62,  336,  323,  323,  323,  323,  342,   59,
928
      439,  439,   60,   61,   62,  439,  338,  337,  343,   60,
929

930
       61,   62,  439,  439,  344,  439,  345,  346,   60,   61,
931
       62,  347,   59,  439,  439,   59,  439,  439,  439,   59,
932
       60,   61,   62,   59,  439,  439,   59,  439,  343,  378,
933
      378,  378,  378,  348,  344,  439,  345,  346,  349,  439,
934
      439,  347,  439,   60,   61,   62,   60,   61,   62,  350,
935
       60,   61,   62,   59,   60,   61,   62,   60,   61,   62,
936
      351,   59,  439,  348,  439,   59,  439,  439,  349,  352,
937
      353,  355,  439,   59,  359,  359,  359,  359,  370,  350,
938
      439,   59,  439,  439,   60,   61,   62,  439,   59,  439,
939
      351,  439,   60,   61,   62,   59,   60,   61,   62,  352,
940

941
      353,  355,  360,   59,   60,   61,   62,  354,  361,  439,
942
       59,  439,   60,   61,   62,  362,   59,  439,  439,   60,
943
       61,   62,  363,   59,  439,  439,   60,   61,   62,   59,
944
      439,  439,  360,   59,   60,   61,   62,  354,  361,   59,
945
      439,   60,   61,   62,  364,  362,   59,   60,   61,   62,
946
      365,   59,  363,  439,   60,   61,   62,  439,  439,  366,
947
       60,   61,   62,   59,   60,   61,   62,   59,  439,  439,
948
       60,   61,   62,   59,  364,  439,   59,   60,   61,   62,
949
      365,   59,   60,   61,   62,  439,  439,   59,  439,  366,
950
      439,  367,   59,  439,   60,   61,   62,  371,   60,   61,
951

952
       62,  372,  439,  439,   60,   61,   62,   60,   61,   62,
953
       59,  439,   60,   61,   62,  373,  374,   59,   60,   61,
954
       62,  367,   59,   60,   61,   62,  375,  371,  439,  439,
955
       59,  372,  439,  439,   59,  439,  439,   59,  439,  439,
956
       59,   60,   61,   62,   59,  373,  374,  439,   60,   61,
957
       62,   59,  439,   60,   61,   62,  375,  439,  439,  439,
958
      379,   60,   61,   62,  380,   60,   61,   62,   60,   61,
959
       62,   60,   61,   62,  384,   60,   61,   62,  439,  439,
960
      385,  439,   60,   61,   62,   59,  439,  439,   59,  439,
961
      379,   59,  439,  439,  380,  378,  378,  378,  378,  383,
962

963
      439,   59,  439,  439,  384,  388,  388,  388,  388,   59,
964
      385,  388,  388,  388,  388,  390,   60,   61,   62,   60,
965
       61,   62,   60,   61,   62,  393,  439,  389,   59,  439,
966
      439,  439,   60,   61,   62,   59,  439,  439,   59,  439,
967
       60,   61,   62,  439,  439,  390,  439,  439,   59,  439,
968
      439,  439,  439,  439,  439,  393,  439,  389,  439,   60,
969
       61,   62,  439,  439,  439,  439,   60,   61,   62,   60,
970
       61,   62,  439,  439,  439,  439,  439,  439,  439,   60,
971
       61,   62,   54,   54,   54,   54,   54,   57,   57,   57,
972
       64,   64,   64,   64,   64,  277,  439,  277,  277,    3,
973

974
      439,  439,  439,  439,  439,  439,  439,  439,  439,  439,
975
      439,  439,  439,  439,  439,  439,  439,  439,  439,  439,
976
      439,  439,  439,  439,  439,  439,  439,  439,  439,  439,
977
      439,  439,  439,  439,  439,  439,  439,  439,  439,  439,
978
      439,  439,  439,  439,  439,  439,  439,  439,  439,  439,
979
      439,  439,  439,  439,  439,  439,  439,  439,  439,  439,
980
      439,  439,  439,  439,  439,  439,  439,  439,  439,  439,
981
      439,  439,  439,  439,  439,  439,  439,  439,  439,  439,
982
      439,  439,  439,  439,  439,  439,  439
983
    } ;
984

985
static const flex_int16_t yy_chk[2288] =
986
    {   0,
987
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
988
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
989
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
990
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
991
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
992
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
993
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
994
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
995
        1,    1,    1,    1,    1,    1,    1,    5,    8,    5,
996
        9,    9,    9,    9,   11,   14,   64,   14,   14,   14,
997

998
       14,   15,   15,   15,   15,   16,   16,  508,   16,   16,
999
       16,   16,   18,   18,   14,   19,   19,   19,   22,   14,
1000
       22,   16,   51,  507,   51,   22,    9,   17,   17,   54,
1001
       17,   17,   17,   17,   22,   21,    8,   21,  506,   11,
1002
       16,   64,  505,   17,   14,   21,   21,   21,   29,   14,
1003
       22,   16,   16,   21,   21,   22,   21,    9,    9,    9,
1004
      504,   23,   59,   24,   57,   22,   22,   22,   25,   26,
1005
       16,   23,   25,   17,   17,   23,   24,   54,   85,   29,
1006
       29,   29,   69,   26,  503,  502,   85,   28,   70,  501,
1007
       30,   25,  500,   24,   23,   57,   57,   57,   25,   26,
1008

1009
      499,   23,   25,   27,   30,   23,  498,   24,   24,   24,
1010
       28,   27,   69,  497,   26,   26,   26,   28,   70,   86,
1011
       30,  146,   25,   25,   25,   23,   23,   23,   59,  496,
1012
       27,   86,   59,   27,   59,   30,   30,   30,   32,  495,
1013
      494,   28,   28,   28,   97,   40,   32,   31,   31,   31,
1014
       31,  146,   32,   97,  493,  492,   31,  491,   32,   40,
1015
      490,   27,   27,   27,   31,   32,  489,  488,   32,   33,
1016
       33,   33,   33,  487,   97,   40,   32,  147,  215,   33,
1017
       46,   34,  486,   31,   97,   97,   97,   34,   32,  267,
1018
       40,   40,   40,   34,   31,   33,   32,   32,   32,  485,
1019

1020
       34,  484,  483,   46,  482,   33,  481,  147,  215,   33,
1021
      300,   46,   46,   46,   31,   31,   31,   34,  322,  267,
1022
       38,   37,  341,   34,   38,   33,   37,   67,   67,   67,
1023
       67,   34,   34,   34,   39,   37,   33,   33,   33,   35,
1024
      300,   35,  480,   38,   35,   35,   35,   35,  322,   37,
1025
       38,   37,  341,  479,   38,   89,   37,   35,  478,  477,
1026
      476,   39,  475,  474,   39,  473,   37,   37,   37,   41,
1027
       35,   89,   39,  472,   38,   38,   38,   92,   42,  471,
1028
       35,   72,   72,   72,   72,  470,   42,   35,   41,  469,
1029
      468,   41,   39,   39,   39,  467,  466,  465,   42,   41,
1030

1031
       35,   92,   89,   89,   89,   42,  464,   92,   42,   43,
1032
      463,   35,   35,   35,  462,  461,   42,   44,  460,   41,
1033
       41,   41,   42,   44,  459,   43,  458,   45,   42,  457,
1034
       44,  456,   92,   92,   92,   43,   42,   42,   42,   43,
1035
       45,   44,   58,   58,   58,   58,   43,   44,   56,  455,
1036
       45,   56,  454,   44,  453,   43,  452,   45,  451,   56,
1037
       56,   44,   44,   44,  450,  449,   43,   43,   43,  447,
1038
       45,  446,  445,   66,  444,  443,   66,  437,   58,  423,
1039
      422,   45,   45,   45,   66,   66,   68,  413,   68,   68,
1040
       68,   68,   71,   71,   71,   71,   56,  403,   98,  392,
1041

1042
       56,   68,  303,  277,   56,   71,  274,   98,  271,   58,
1043
       58,   58,   56,  269,  231,  229,   56,  228,   56,   56,
1044
      226,   66,  223,  222,  221,   66,  213,  211,   98,   66,
1045
      164,   68,   68,  163,   91,   71,   71,   66,   98,   98,
1046
       98,   66,  162,   66,   66,   73,   73,   73,   73,   74,
1047
       74,   90,   74,   74,   74,   74,  161,   94,   73,   91,
1048
       93,   75,  160,   75,   91,   74,   75,   75,   75,   75,
1049
       94,   95,   90,  159,  158,   90,  157,  156,   94,  155,
1050
      144,   90,  143,   96,  141,   95,  140,   94,   73,   73,
1051
       91,   91,   91,  126,   93,   74,   74,   96,   88,   87,
1052

1053
       94,   95,  104,  100,  101,   84,   90,   90,   90,   94,
1054
       94,   94,   99,   96,  101,   83,   95,   95,   95,  100,
1055
       82,   81,   62,  102,  104,   93,   93,   93,   96,   96,
1056
       96,  103,  104,  100,   61,   60,   99,   52,   50,  102,
1057
       49,   48,   99,  105,  103,  101,  101,  101,  111,  107,
1058
      100,  100,  100,  102,  111,  104,  104,  104,  107,   47,
1059
       36,  103,  111,   20,   10,  105,    7,   99,   99,   99,
1060
      102,  102,  102,  105,  109,  103,  103,  103,  106,  106,
1061
      106,  106,  106,  108,    6,  108,    3,  110,  109,  107,
1062
      107,  107,  112,  111,  111,  111,  105,  105,  105,    0,
1063

1064
      108,    0,    0,  110,  109,    0,    0,    0,  112,    0,
1065
        0,    0,  114,  108,  106,  108,    0,  110,  115,  109,
1066
      109,  109,  112,  113,  113,  113,  113,    0,    0,    0,
1067
      114,  108,  108,  108,  110,  110,  110,    0,    0,  112,
1068
      112,  112,  114,    0,    0,  106,  106,  106,  118,  115,
1069
      115,  115,  116,  117,  116,    0,    0,    0,  117,  113,
1070
        0,  114,  114,  114,  121,    0,  121,  119,  117,  120,
1071
      120,  120,  120,    0,  118,    0,    0,  119,  118,    0,
1072
        0,    0,  121,    0,  139,  116,  116,  116,  117,    0,
1073
      113,  113,  113,    0,  123,  121,  124,  119,  123,  117,
1074

1075
      117,  117,  122,  124,  122,  118,  118,  118,  119,  119,
1076
      119,  122,  121,  128,  125,  139,  139,  139,    0,    0,
1077
      122,  125,    0,    0,  123,  121,  124,  127,    0,  123,
1078
      123,  123,  129,  122,  124,  124,  124,  128,    0,    0,
1079
      131,  127,    0,  128,  125,  130,    0,    0,  129,    0,
1080
      122,    0,  125,  125,  125,    0,    0,    0,  127,  127,
1081
      127,  131,  129,  122,  128,  130,  132,    0,  128,  128,
1082
      128,  131,  131,  131,  134,    0,  130,  130,  130,  129,
1083
      129,  129,  132,  133,    0,    0,    0,  136,  132,  133,
1084
        0,    0,    0,  135,  136,    0,    0,  132,  132,  132,
1085

1086
      137,    0,  134,  135,    0,  134,  134,  134,    0,    0,
1087
        0,  137,    0,    0,  133,  133,  133,  136,  135,  152,
1088
      152,  152,  152,  135,    0,  136,  136,  136,  169,    0,
1089
      165,  137,  137,  137,  135,  135,  135,  148,  166,  148,
1090
        0,  167,  148,  148,  148,  148,  150,    0,  170,  150,
1091
      150,  150,  150,  151,  151,  151,  151,  153,  153,  153,
1092
      153,  165,  165,  165,  168,  172,  151,  170,    0,  166,
1093
      166,  166,  167,  167,  167,  171,  169,    0,  170,    0,
1094
      171,  182,  182,  182,  182,    0,    0,  168,    0,    0,
1095
        0,  174,  172,    0,  168,  172,  151,  151,  170,  170,
1096

1097
      170,  153,  173,    0,    0,  171,    0,  169,  169,  169,
1098
      173,  171,  171,  171,  175,    0,  174,    0,  168,  168,
1099
      168,  174,  175,  172,  172,  172,  176,    0,    0,  177,
1100
        0,    0,  173,  181,    0,  176,  179,    0,  177,    0,
1101
        0,  173,  173,  173,  175,  179,    0,  174,  174,  174,
1102
        0,  178,  181,  175,  175,  175,  176,  183,    0,  177,
1103
      178,    0,    0,  181,    0,  183,  176,  176,  176,  177,
1104
      177,  177,  184,  180,  180,  186,  179,  179,  179,  187,
1105
        0,  178,    0,  181,  181,  181,  185,  180,  189,    0,
1106
      188,  178,  178,  178,  180,  184,  183,  183,  183,  180,
1107

1108
        0,    0,  184,  180,  180,  185,  186,  186,  186,  190,
1109
      187,  187,  187,  188,    0,    0,  185,  180,  191,  189,
1110
      189,  189,    0,    0,  180,  190,  184,  184,  184,  192,
1111
      180,  180,  180,    0,  194,    0,  185,  185,  185,  190,
1112
      193,    0,  194,    0,  188,  188,  188,  198,  195,  191,
1113
      191,  191,  192,    0,    0,  198,  190,  190,  190,  195,
1114
        0,    0,    0,  193,  194,  196,  196,  196,  196,  196,
1115
      199,    0,    0,  194,  194,  194,    0,  198,  195,  206,
1116
        0,    0,    0,  192,  192,  192,  198,  198,  198,  200,
1117
      195,  195,  195,  199,  193,  193,  193,  197,  202,  197,
1118

1119
      199,  203,  197,  197,  197,  197,    0,  202,  217,  217,
1120
      217,  217,  200,    0,    0,  204,    0,    0,    0,  200,
1121
      205,    0,  203,  206,  199,  199,  199,  205,  202,  207,
1122
        0,    0,  203,  203,  203,  208,  207,  204,  202,  202,
1123
      202,  209,  208,  200,  200,  200,  204,  204,  204,    0,
1124
        0,  205,  205,  205,  206,  206,  206,  210,    0,    0,
1125
      207,  207,  207,  210,  209,    0,  208,  208,  208,    0,
1126
        0,  209,  218,  218,  218,  218,  219,  219,  219,  219,
1127
      230,  233,  235,    0,  232,    0,    0,    0,  210,  210,
1128
      210,  234,  236,    0,  230,  209,  209,  209,  232,    0,
1129

1130
        0,  234,    0,    0,  233,  247,  247,  247,  247,  235,
1131
      230,  233,  235,    0,  232,  236,  218,    0,    0,  237,
1132
      239,  234,  236,  238,    0,  230,  230,  230,  238,  232,
1133
      232,  232,  234,  234,  234,  233,  233,  233,  237,    0,
1134
      235,  235,  235,  239,    0,    0,  236,  236,  236,  237,
1135
      239,    0,    0,  238,  240,  241,    0,  248,    0,  238,
1136
      238,  238,    0,  241,    0,    0,    0,  242,  243,  237,
1137
      237,  237,  245,  249,  239,  239,  239,  240,    0,    0,
1138
      242,    0,    0,    0,  240,    0,  244,  243,  248,  248,
1139
      248,  245,    0,    0,  241,  241,  241,  242,  243,  244,
1140

1141
        0,    0,  245,  246,  249,  249,  249,  251,  240,  240,
1142
      240,  242,  242,  242,  252,    0,  244,  246,  243,  243,
1143
      243,  250,  245,  245,  245,  253,    0,    0,  264,  250,
1144
      244,  244,  244,  246,  254,    0,    0,    0,  251,  251,
1145
      251,  256,  256,  256,  256,  252,  252,  252,  246,  246,
1146
      246,  250,  255,  258,    0,    0,  253,  253,  253,  255,
1147
      250,  250,  250,  259,  261,  254,  254,  254,  257,  257,
1148
      257,  257,  264,    0,    0,  259,    0,    0,  262,    0,
1149
        0,    0,  255,  260,  258,  258,  258,  261,    0,    0,
1150
      255,  255,  255,  259,  261,  260,    0,    0,    0,  275,
1151

1152
      262,    0,    0,  264,  264,  264,  259,  259,  259,  262,
1153
      262,  262,  287,  260,  268,  268,  268,  268,  261,  261,
1154
      261,  278,  268,  275,    0,    0,  260,  260,  260,  275,
1155
      278,    0,    0,    0,  279,  280,    0,  285,  280,    0,
1156
        0,    0,  268,  287,  287,  287,  282,  281,  288,  285,
1157
        0,  278,  288,    0,  275,  275,  275,  279,    0,    0,
1158
      282,  278,  278,  278,  279,  280,  281,  285,    0,  280,
1159
      280,  280,  283,    0,    0,  284,  282,  281,  288,    0,
1160
      285,  285,  285,  288,  288,  288,  283,    0,  279,  279,
1161
      279,  282,  282,  282,  284,    0,    0,  281,  281,  281,
1162

1163
      286,  291,  283,    0,  290,  284,  289,    0,    0,  291,
1164
        0,    0,  286,    0,    0,    0,  289,  283,  283,  283,
1165
      290,    0,    0,    0,  293,  284,  284,  284,  295,    0,
1166
      286,  291,    0,    0,  290,  292,  289,  294,  295,    0,
1167
      291,  291,  291,  286,  286,  286,    0,  289,  289,  289,
1168
        0,  290,  290,  290,  292,  293,  293,  293,  295,  304,
1169
      294,  301,  301,  301,  301,  292,    0,  294,  305,  295,
1170
      295,  295,    0,  305,  342,  342,  342,  342,  304,    0,
1171
        0,    0,  306,  307,    0,  292,  292,  292,  308,  304,
1172
        0,  294,  294,  294,    0,  309,  306,    0,  305,    0,
1173

1174
      311,  310,  308,    0,  305,  305,  305,    0,  311,  304,
1175
      304,  304,  306,  312,  307,  307,  307,  314,  308,  309,
1176
        0,    0,    0,  312,    0,  309,  310,  306,  306,  306,
1177
      311,  310,  313,  308,  308,  308,    0,    0,  327,  311,
1178
      311,  311,  314,  312,    0,    0,  315,  314,  316,  315,
1179
      309,  309,  309,  317,  312,  312,  312,  310,  310,  310,
1180
        0,  317,    0,  313,  313,  313,  319,  318,  316,  327,
1181
      327,  327,    0,  314,  314,  314,  315,  318,  316,    0,
1182
      315,  315,  315,  317,  323,  323,  323,  323,  323,  319,
1183
        0,    0,  317,  317,  317,    0,  319,  318,  325,  316,
1184

1185
      316,  316,    0,    0,  326,    0,  328,  329,  318,  318,
1186
      318,  330,  325,    0,    0,  328,    0,    0,    0,  330,
1187
      319,  319,  319,  326,    0,    0,  329,    0,  325,  370,
1188
      370,  370,  370,  331,  326,    0,  328,  329,  332,    0,
1189
        0,  330,    0,  325,  325,  325,  328,  328,  328,  333,
1190
      330,  330,  330,  331,  326,  326,  326,  329,  329,  329,
1191
      334,  332,    0,  331,    0,  333,    0,    0,  332,  335,
1192
      336,  338,    0,  336,  359,  359,  359,  359,  359,  333,
1193
        0,  334,    0,    0,  331,  331,  331,    0,  335,    0,
1194
      334,    0,  332,  332,  332,  338,  333,  333,  333,  335,
1195

1196
      336,  338,  343,  345,  336,  336,  336,  337,  344,    0,
1197
      337,    0,  334,  334,  334,  346,  344,    0,    0,  335,
1198
      335,  335,  349,  343,    0,    0,  338,  338,  338,  346,
1199
        0,    0,  343,  347,  345,  345,  345,  337,  344,  348,
1200
        0,  337,  337,  337,  350,  346,  349,  344,  344,  344,
1201
      351,  353,  349,    0,  343,  343,  343,    0,    0,  352,
1202
      346,  346,  346,  351,  347,  347,  347,  350,    0,    0,
1203
      348,  348,  348,  352,  350,    0,  354,  349,  349,  349,
1204
      351,  360,  353,  353,  353,    0,    0,  364,    0,  352,
1205
        0,  355,  366,    0,  351,  351,  351,  361,  350,  350,
1206

1207
      350,  362,    0,    0,  352,  352,  352,  354,  354,  354,
1208
      355,    0,  360,  360,  360,  363,  365,  361,  364,  364,
1209
      364,  355,  362,  366,  366,  366,  367,  361,    0,    0,
1210
      365,  362,    0,    0,  363,    0,    0,  371,    0,    0,
1211
      372,  355,  355,  355,  374,  363,  365,    0,  361,  361,
1212
      361,  367,    0,  362,  362,  362,  367,    0,    0,    0,
1213
      373,  365,  365,  365,  375,  363,  363,  363,  371,  371,
1214
      371,  372,  372,  372,  379,  374,  374,  374,    0,    0,
1215
      380,    0,  367,  367,  367,  373,    0,    0,  380,    0,
1216
      373,  375,    0,    0,  375,  378,  378,  378,  378,  378,
1217

1218
        0,  379,    0,    0,  379,  383,  383,  383,  383,  390,
1219
      380,  388,  388,  388,  388,  385,  373,  373,  373,  380,
1220
      380,  380,  375,  375,  375,  389,    0,  384,  393,    0,
1221
        0,    0,  379,  379,  379,  384,    0,    0,  385,    0,
1222
      390,  390,  390,    0,    0,  385,    0,    0,  389,    0,
1223
        0,    0,    0,    0,    0,  389,    0,  384,    0,  393,
1224
      393,  393,    0,    0,    0,    0,  384,  384,  384,  385,
1225
      385,  385,    0,    0,    0,    0,    0,    0,    0,  389,
1226
      389,  389,  440,  440,  440,  440,  440,  441,  441,  441,
1227
      442,  442,  442,  442,  442,  448,    0,  448,  448,  439,
1228

1229
      439,  439,  439,  439,  439,  439,  439,  439,  439,  439,
1230
      439,  439,  439,  439,  439,  439,  439,  439,  439,  439,
1231
      439,  439,  439,  439,  439,  439,  439,  439,  439,  439,
1232
      439,  439,  439,  439,  439,  439,  439,  439,  439,  439,
1233
      439,  439,  439,  439,  439,  439,  439,  439,  439,  439,
1234
      439,  439,  439,  439,  439,  439,  439,  439,  439,  439,
1235
      439,  439,  439,  439,  439,  439,  439,  439,  439,  439,
1236
      439,  439,  439,  439,  439,  439,  439,  439,  439,  439,
1237
      439,  439,  439,  439,  439,  439,  439
1238
    } ;
1239

1240
static const flex_int16_t yy_rule_linenum[72] =
1241
    {   0,
1242
       32,   33,   35,   36,   37,   38,   39,   40,   41,   42,
1243
       43,   44,   45,   46,   47,   48,   49,   50,   51,   52,
1244
       53,   54,   55,   56,   57,   58,   59,   60,   61,   62,
1245
       63,   64,   65,   66,   67,   68,   69,   70,   71,   72,
1246
       73,   74,   75,   76,   77,   78,   79,   80,   81,   82,
1247
       83,   84,   85,   86,   87,   88,   89,   90,   91,   92,
1248
       93,   94,   95,   96,   97,   98,   99,  100,  101,  103,
1249
      105
1250
    } ;
1251

1252
/* The intent behind this definition is that it'll catch
1253
 * any uses of REJECT which flex missed.
1254
 */
1255
#define REJECT reject_used_but_not_detected
1256
#define yymore() yymore_used_but_not_detected
1257
#define YY_MORE_ADJ 0
105,200✔
1258
#define YY_RESTORE_YY_MORE_OFFSET
105,200✔
1259

1260
# include <cerrno>
1261
# include <climits>
1262
# include <cstdlib>
1263
# include <cstring> // strerror
1264
# include <string>
1265
# include "realm/parser/driver.hpp"
1266
#define YY_NO_UNISTD_H 1
1267
#define YY_NO_INPUT 1
1268

1269

1270

1271
#define INITIAL 0
1272

1273

1274

1275

1276
#ifndef YY_NO_UNISTD_H
1277
/* Special case for "unistd.h", since it is non-ANSI. We include it way
1278
 * down here because we want the user's section 1 to have been scanned first.
1279
 * The user has a chance to override it with an option.
1280
 */
1281
/* %if-c-only */
1282
#include <unistd.h>
1283
/* %endif */
1284
/* %if-c++-only */
1285
/* %endif */
1286
#endif
1287

1288

1289

1290
#ifndef YY_EXTRA_TYPE
1291
#define YY_EXTRA_TYPE void *
1292
#endif
1293

1294

1295

1296
/* %if-c-only Reentrant structure and macros (non-C++). */
1297
/* %if-reentrant */
1298

1299

1300
/* Holds the entire state of the reentrant scanner. */
1301
struct yyguts_t
1302
    {
1303

1304
    /* User-defined. Not touched by flex. */
1305
    YY_EXTRA_TYPE yyextra_r;
1306

1307
    /* The rest are the same as the globals declared in the non-reentrant scanner. */
1308
    FILE *yyin_r, *yyout_r;
1309
    size_t yy_buffer_stack_top; /**< index of top of stack. */
1310
    size_t yy_buffer_stack_max; /**< capacity of stack. */
1311
    YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */
1312
    char yy_hold_char;
1313
    int yy_n_chars;
1314
    int yyleng_r;
1315
    char *yy_c_buf_p;
1316
    int yy_init;
1317
    int yy_start;
1318
    int yy_did_buffer_switch_on_eof;
1319
    int yy_start_stack_ptr;
1320
    int yy_start_stack_depth;
1321
    int *yy_start_stack;
1322
    yy_state_type yy_last_accepting_state;
1323
    char* yy_last_accepting_cpos;
1324

1325
    int yylineno_r;
1326
    int yy_flex_debug_r;
1327

1328

1329

1330

1331
    char *yytext_r;
1332
    int yy_more_flag;
1333
    int yy_more_len;
1334

1335

1336

1337

1338

1339

1340
    }; /* end struct yyguts_t */
1341

1342

1343

1344
/* %if-c-only */
1345

1346
static int yy_init_globals ( yyscan_t yyscanner );
1347

1348
/* %endif */
1349

1350
/* %if-reentrant */
1351

1352

1353
    
1354

1355
    
1356

1357

1358
int yylex_init (yyscan_t* scanner);
1359

1360
int yylex_init_extra ( YY_EXTRA_TYPE user_defined, yyscan_t* scanner);
1361

1362
/* %endif */
1363

1364
/* %endif End reentrant structures and macros. */
1365

1366
/* Accessor methods to globals.
1367
   These are made visible to non-reentrant scanners for convenience. */
1368

1369

1370
int yylex_destroy ( yyscan_t yyscanner );
1371

1372

1373

1374
int yyget_debug ( yyscan_t yyscanner );
1375

1376

1377

1378
void yyset_debug ( int debug_flag , yyscan_t yyscanner );
1379

1380

1381

1382
YY_EXTRA_TYPE yyget_extra ( yyscan_t yyscanner );
1383

1384

1385

1386
void yyset_extra ( YY_EXTRA_TYPE user_defined , yyscan_t yyscanner );
1387

1388

1389

1390
FILE *yyget_in ( yyscan_t yyscanner );
1391

1392

1393

1394
void yyset_in  ( FILE * _in_str , yyscan_t yyscanner );
1395

1396

1397

1398
FILE *yyget_out ( yyscan_t yyscanner );
1399

1400

1401

1402
void yyset_out  ( FILE * _out_str , yyscan_t yyscanner );
1403

1404

1405

1406
                        int yyget_leng ( yyscan_t yyscanner );
1407

1408

1409

1410
char *yyget_text ( yyscan_t yyscanner );
1411

1412

1413

1414
int yyget_lineno ( yyscan_t yyscanner );
1415

1416

1417

1418
void yyset_lineno ( int _line_number , yyscan_t yyscanner );
1419

1420

1421

1422

1423
int yyget_column  ( yyscan_t yyscanner );
1424

1425

1426

1427

1428

1429
void yyset_column ( int _column_no , yyscan_t yyscanner );
1430

1431

1432

1433
/* %if-bison-bridge */
1434
/* %endif */
1435

1436
/* Macros after this point can all be overridden by user definitions in
1437
 * section 1.
1438
 */
1439

1440
#ifndef YY_SKIP_YYWRAP
1441
#ifdef __cplusplus
1442
extern "C" int yywrap ( yyscan_t yyscanner );
1443
#else
1444
extern int yywrap ( yyscan_t yyscanner );
1445
#endif
1446
#endif
1447

1448
/* %not-for-header */
1449
#ifndef YY_NO_UNPUT
1450
    
1451
#endif
1452
/* %ok-for-header */
1453

1454
/* %endif */
1455

1456
#ifndef yytext_ptr
1457
static void yy_flex_strncpy ( char *, const char *, int , yyscan_t yyscanner);
1458
#endif
1459

1460
#ifdef YY_NEED_STRLEN
1461
static int yy_flex_strlen ( const char * , yyscan_t yyscanner);
1462
#endif
1463

1464
#ifndef YY_NO_INPUT
1465
/* %if-c-only Standard (non-C++) definition */
1466
/* %not-for-header */
1467
#ifdef __cplusplus
1468
static int yyinput ( yyscan_t yyscanner );
1469
#else
1470
static int input ( yyscan_t yyscanner );
1471
#endif
1472
/* %ok-for-header */
1473

1474
/* %endif */
1475
#endif
1476

1477

1478
/* %if-c-only */
1479

1480

1481

1482

1483

1484
/* %endif */
1485

1486
/* Amount of stuff to slurp up with each read. */
1487
#ifndef YY_READ_BUF_SIZE
1488
#ifdef __ia64__
1489
/* On IA-64, the buffer size is 16k, not 8k */
1490
#define YY_READ_BUF_SIZE 16384
1491
#else
1492
#define YY_READ_BUF_SIZE 8192
1493
#endif /* __ia64__ */
1494
#endif
1495

1496

1497
/* Copy whatever the last rule matched to the standard output. */
1498
#ifndef ECHO
1499
/* %if-c-only Standard (non-C++) definition */
1500
/* This used to be an fputs(), but since the string might contain NUL's,
1501
 * we now use fwrite().
1502
 */
1503
#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
1504
/* %endif */
1505
/* %if-c++-only C++ definition */
1506
/* %endif */
1507
#endif
1508

1509

1510

1511
/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
1512
 * is returned in "result".
1513
 */
1514
#ifndef YY_INPUT
1515
#define YY_INPUT(buf,result,max_size) \
1516
/* %% [5.0] fread()/read() definition of YY_INPUT goes here unless we're doing C++ \ */\
1517
        if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
UNCOV
1518
                { \
×
UNCOV
1519
                int c = '*'; \
×
UNCOV
1520
                int n; \
×
UNCOV
1521
                for ( n = 0; n < max_size && \
×
UNCOV
1522
                             (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
×
UNCOV
1523
                        buf[n] = (char) c; \
×
UNCOV
1524
                if ( c == '\n' ) \
×
UNCOV
1525
                        buf[n++] = (char) c; \
×
UNCOV
1526
                if ( c == EOF && ferror( yyin ) ) \
×
UNCOV
1527
                        YY_FATAL_ERROR( "input in flex scanner failed" ); \
×
UNCOV
1528
                result = n; \
×
UNCOV
1529
                } \
×
UNCOV
1530
        else \
×
UNCOV
1531
                { \
×
UNCOV
1532
                errno=0; \
×
UNCOV
1533
                while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
×
UNCOV
1534
                        { \
×
UNCOV
1535
                        if( errno != EINTR) \
×
UNCOV
1536
                                { \
×
UNCOV
1537
                                YY_FATAL_ERROR( "input in flex scanner failed" ); \
×
UNCOV
1538
                                break; \
×
UNCOV
1539
                                } \
×
UNCOV
1540
                        errno=0; \
×
UNCOV
1541
                        clearerr(yyin); \
×
UNCOV
1542
                        } \
×
UNCOV
1543
                }\
×
1544
\
1545
/* %if-c++-only C++ definition \ */\
1546
/* %endif */
1547

1548
#endif
1549

1550

1551

1552
/* No semi-colon after return; correct usage is to write "yyterminate();" -
1553
 * we don't want an extra ';' after the "return" because that will cause
1554
 * some compilers to complain about unreachable statements.
1555
 */
1556
#ifndef yyterminate
1557
#define yyterminate() return YY_NULL
1558
#endif
1559

1560

1561
/* Number of entries by which start-condition stack grows. */
1562
#ifndef YY_START_STACK_INCR
1563
#define YY_START_STACK_INCR 25
1564
#endif
1565

1566

1567
/* Report a fatal error. */
1568
#ifndef YY_FATAL_ERROR
1569
/* %if-c-only */
1570
#define YY_FATAL_ERROR(msg) yy_fatal_error( msg , yyscanner)
1571
/* %endif */
1572
/* %if-c++-only */
1573
/* %endif */
1574
#endif
1575

1576

1577
/* %if-tables-serialization structures and prototypes */
1578
/* %not-for-header */
1579
/* %ok-for-header */
1580

1581
/* %not-for-header */
1582
/* %tables-yydmap generated elements */
1583
/* %endif */
1584
/* end tables serialization structures and prototypes */
1585

1586
/* %ok-for-header */
1587

1588

1589
/* Default declaration of generated scanner - a define so the user can
1590
 * easily add parameters.
1591
 */
1592
#ifndef YY_DECL
1593
#define YY_DECL_IS_OURS 1
1594
/* %if-c-only Standard (non-C++) definition */
1595

1596

1597

1598

1599

1600

1601

1602

1603

1604
extern int yylex (yyscan_t yyscanner);
1605

1606
#define YY_DECL int yylex (yyscan_t yyscanner)
1607
/* %endif */
1608
/* %if-c++-only C++ definition */
1609
/* %endif */
1610
#endif /* !YY_DECL */
1611

1612

1613
/* Code executed at the beginning of each rule, after yytext and yyleng
1614
 * have been set up.
1615
 */
1616
#ifndef YY_USER_ACTION
1617
#define YY_USER_ACTION
1618
#endif
1619

1620

1621

1622
/* Code executed at the end of each rule. */
1623
#ifndef YY_BREAK
1624
#define YY_BREAK /*LINTED*/break;
911,916✔
1625
#endif
911,932✔
1626

1627

1628

1629
/* %% [6.0] YY_RULE_SETUP definition goes here */
1630
#define YY_RULE_SETUP \
1631
        YY_USER_ACTION
1632

1633

1634
/* %not-for-header */
1635
/** The main scanner function which does all the work.
1636
 */
1637
YY_DECL
1638
{
995,194✔
1639
        yy_state_type yy_current_state;
1,990,528✔
1640
        char *yy_cp, *yy_bp;
1,990,528✔
1641
        int yy_act;
1,990,528✔
1642
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
1,990,528✔
1643

1,990,528✔
1644

995,194✔
1645

995,194✔
1646

995,194✔
1647

995,194✔
1648

995,194✔
1649

995,194✔
1650
        if ( !yyg->yy_init )
995,194✔
1651
                {
1,016,656✔
1652
                yyg->yy_init = 1;
42,644✔
1653

42,644✔
1654
#ifdef YY_USER_INIT
1655
                YY_USER_INIT;
1656
#endif
1657

21,322✔
1658

21,322✔
1659

21,322✔
1660
                if ( ! yyg->yy_start )
21,322✔
1661
                        yyg->yy_start = 1;        /* first start state */
42,644✔
1662

42,644✔
1663
                if ( ! yyin )
21,322✔
1664
/* %if-c-only */
42,644✔
1665
                        yyin = stdin;
21,324✔
1666
/* %endif */
42,644✔
1667
/* %if-c++-only */
21,322✔
1668
/* %endif */
21,322✔
1669

21,322✔
1670
                if ( ! yyout )
21,322✔
1671
/* %if-c-only */
42,644✔
1672
                        yyout = stdout;
21,322✔
1673
/* %endif */
42,644✔
1674
/* %if-c++-only */
21,322✔
1675
/* %endif */
21,322✔
1676

21,322✔
1677
                if ( ! YY_CURRENT_BUFFER ) {
21,322✔
1678
                        yyensure_buffer_stack (yyscanner);
21,322✔
1679
                        YY_CURRENT_BUFFER_LVALUE =
×
1680
                                yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner);
×
1681
                }
×
1682

21,322✔
1683
                yy_load_buffer_state( yyscanner );
21,322✔
1684
                }
42,644✔
1685

1,016,516✔
1686
        {
995,194✔
1687
/* %% [7.0] user's declarations go here */
1,990,528✔
1688

995,194✔
1689

995,194✔
1690
        while ( /*CONSTCOND*/1 )                /* loops until end-of-file is reached */
1,907,110✔
1691
                {
3,814,292✔
1692
/* %% [8.0] yymore()-related code goes here */
3,814,244✔
1693
                yy_cp = yyg->yy_c_buf_p;
1,907,028✔
1694

3,814,244✔
1695
                /* Support of yytext. */
1,907,028✔
1696
                *yy_cp = yyg->yy_hold_char;
1,907,028✔
1697

3,814,244✔
1698
                /* yy_bp points to the position in yy_ch_buf of the start of
1,907,028✔
1699
                 * the current run.
1,907,028✔
1700
                 */
1,907,028✔
1701
                yy_bp = yy_cp;
1,907,028✔
1702

3,814,244✔
1703
/* %% [9.0] code to set up and find next match goes here */
1,907,028✔
1704
                yy_current_state = yyg->yy_start;
1,907,028✔
1705
yy_match:
3,814,254✔
1706
                do
3,814,244✔
1707
                        {
7,098,970✔
1708
                        YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
10,383,982✔
1709
                        if ( yy_accept[yy_current_state] )
10,383,982✔
1710
                                {
8,415,666✔
1711
                                yyg->yy_last_accepting_state = yy_current_state;
6,447,260✔
1712
                                yyg->yy_last_accepting_cpos = yy_cp;
6,447,260✔
1713
                                }
6,447,260✔
1714
                        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
11,398,296✔
1715
                                {
11,157,808✔
1716
                                yy_current_state = (int) yy_def[yy_current_state];
5,965,590✔
1717
                                if ( yy_current_state >= 440 )
5,965,590✔
1718
                                        yy_c = yy_meta[yy_c];
4,057,886✔
1719
                                }
4,057,688✔
1720
                        yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
8,174,634✔
1721
                        ++yy_cp;
10,383,982✔
1722
                        }
10,383,982✔
1723
                while ( yy_current_state != 439 );
10,383,982✔
1724
                yy_cp = yyg->yy_last_accepting_cpos;
7,099,256✔
1725
                yy_current_state = yyg->yy_last_accepting_state;
3,814,244✔
1726

3,814,244✔
1727
yy_find_action:
1,928,238✔
1728
/* %% [10.0] code to find the action number goes here */
3,856,602✔
1729
                yy_act = yy_accept[yy_current_state];
1,928,238✔
1730

3,856,602✔
1731
                YY_DO_BEFORE_ACTION;
1,928,238✔
1732

3,856,602✔
1733
/* %% [11.0] code for yylineno update goes here */
1,928,238✔
1734

1,928,238✔
1735

1,928,238✔
1736
do_action:        /* This label is used only to access EOF actions. */
1,949,270✔
1737

3,898,616✔
1738
/* %% [12.0] debug code goes here */
1,949,270✔
1739
                if ( yy_flex_debug )
1,949,270✔
1740
                        {
3,898,616✔
UNCOV
1741
                        if ( yy_act == 0 )
×
1742
                                fprintf( stderr, "--scanner backing up\n" );
×
UNCOV
1743
                        else if ( yy_act < 72 )
×
UNCOV
1744
                                fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n",
×
UNCOV
1745
                                         (long)yy_rule_linenum[yy_act], yytext );
×
1746
                        else if ( yy_act == 72 )
×
UNCOV
1747
                                fprintf( stderr, "--accepting default rule (\"%s\")\n",
×
UNCOV
1748
                                         yytext );
×
UNCOV
1749
                        else if ( yy_act == 73 )
×
1750
                                fprintf( stderr, "--(end of buffer or a NUL)\n" );
×
UNCOV
1751
                        else
×
UNCOV
1752
                                fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
×
UNCOV
1753
                        }
×
1754

1,949,270✔
1755
                switch ( yy_act )
1,949,270✔
1756
        { /* beginning of action switch */
3,898,616✔
1757
/* %% [13.0] actions go here */
1,949,346✔
1758
                        case 0: /* must back up */
36✔
1759
                        /* undo the effects of YY_DO_BEFORE_ACTION */
72✔
1760
                        *yy_cp = yyg->yy_hold_char;
36✔
1761
                        yy_cp = yyg->yy_last_accepting_cpos;
72✔
1762
                        yy_current_state = yyg->yy_last_accepting_state;
72✔
1763
                        goto yy_find_action;
72✔
1764

36✔
1765
case 1:
911,916✔
1766
YY_RULE_SETUP
1,823,848✔
1767
;
1,823,848✔
1768
        YY_BREAK
1,823,848✔
1769
case 2:
911,932✔
1770
/* rule 2 can match eol */
✔
1771
YY_RULE_SETUP
UNCOV
1772
;
×
UNCOV
1773
        YY_BREAK
×
1774
case 3:
706✔
1775
YY_RULE_SETUP
1,412✔
1776
return yytext[0];
1,412✔
1777
        YY_BREAK
706✔
1778
case 4:
230,600✔
1779
YY_RULE_SETUP
461,200✔
1780
return yy::parser::make_EQUAL  ();
461,200✔
1781
        YY_BREAK
230,600✔
1782
case 5:
380✔
1783
YY_RULE_SETUP
760✔
1784
return yy::parser::make_IN  (yytext);
760✔
1785
        YY_BREAK
380✔
1786
case 6:
1,510✔
1787
YY_RULE_SETUP
3,020✔
1788
return yy::parser::make_NOT_EQUAL();
3,020✔
1789
        YY_BREAK
1,510✔
1790
case 7:
312✔
1791
YY_RULE_SETUP
624✔
1792
return yy::parser::make_LESS   ();
624✔
1793
        YY_BREAK
312✔
1794
case 8:
1,696✔
1795
YY_RULE_SETUP
3,392✔
1796
return yy::parser::make_GREATER();
3,392✔
1797
        YY_BREAK
1,696✔
1798
case 9:
23,978✔
1799
YY_RULE_SETUP
47,956✔
1800
return yytext[0];
47,956✔
1801
        YY_BREAK
23,978✔
1802
case 10:
192✔
1803
YY_RULE_SETUP
384✔
1804
return yy::parser::make_LESS_EQUAL ();
384✔
1805
        YY_BREAK
192✔
1806
case 11:
372✔
1807
YY_RULE_SETUP
744✔
1808
return yy::parser::make_GREATER_EQUAL ();
744✔
1809
        YY_BREAK
372✔
1810
case 12:
466✔
1811
YY_RULE_SETUP
932✔
1812
return yy::parser::make_AND    ();
932✔
1813
        YY_BREAK
466✔
1814
case 13:
214,962✔
1815
YY_RULE_SETUP
429,924✔
1816
return yy::parser::make_OR     ();
429,924✔
1817
        YY_BREAK
214,962✔
1818
case 14:
482✔
1819
YY_RULE_SETUP
964✔
1820
return yy::parser::make_NOT();
964✔
1821
        YY_BREAK
482✔
1822
case 15:
1,878✔
1823
YY_RULE_SETUP
3,756✔
1824
return yy::parser::make_ANY();
3,756✔
1825
        YY_BREAK
1,878✔
1826
case 16:
1,268✔
1827
YY_RULE_SETUP
2,536✔
1828
return yy::parser::make_ALL();
2,536✔
1829
        YY_BREAK
1,268✔
1830
case 17:
1,210✔
1831
YY_RULE_SETUP
2,420✔
1832
return yy::parser::make_NONE();
2,420✔
1833
        YY_BREAK
1,210✔
1834
case 18:
270✔
1835
YY_RULE_SETUP
540✔
1836
return yy::parser::make_BEGINSWITH(yytext);
540✔
1837
        YY_BREAK
270✔
1838
case 19:
268✔
1839
YY_RULE_SETUP
536✔
1840
return yy::parser::make_ENDSWITH(yytext);
536✔
1841
        YY_BREAK
268✔
1842
case 20:
450✔
1843
YY_RULE_SETUP
900✔
1844
return yy::parser::make_CONTAINS(yytext);
900✔
1845
        YY_BREAK
450✔
1846
case 21:
28✔
1847
YY_RULE_SETUP
56✔
1848
return yy::parser::make_TEXT(yytext);
56✔
1849
        YY_BREAK
28✔
1850
case 22:
244✔
1851
YY_RULE_SETUP
488✔
1852
return yy::parser::make_LIKE(yytext);
488✔
1853
        YY_BREAK
244✔
1854
case 23:
64✔
1855
YY_RULE_SETUP
128✔
1856
return yy::parser::make_BETWEEN(yytext);
128✔
1857
        YY_BREAK
64✔
1858
case 24:
116✔
1859
YY_RULE_SETUP
232✔
1860
return yy::parser::make_GEOWITHIN(yytext);
232✔
1861
        YY_BREAK
116✔
1862
case 25:
268✔
1863
YY_RULE_SETUP
536✔
1864
return yy::parser::make_TRUEPREDICATE (); 
536✔
1865
        YY_BREAK
268✔
1866
case 26:
80✔
1867
YY_RULE_SETUP
160✔
1868
return yy::parser::make_FALSEPREDICATE (); 
160✔
1869
        YY_BREAK
80✔
1870
case 27:
354✔
1871
YY_RULE_SETUP
708✔
1872
return yy::parser::make_SORT(yytext);
708✔
1873
        YY_BREAK
354✔
1874
case 28:
198✔
1875
YY_RULE_SETUP
396✔
1876
return yy::parser::make_DISTINCT(yytext);
396✔
1877
        YY_BREAK
198✔
1878
case 29:
242✔
1879
YY_RULE_SETUP
484✔
1880
return yy::parser::make_LIMIT(yytext);
484✔
1881
        YY_BREAK
242✔
1882
case 30:
932✔
1883
YY_RULE_SETUP
1,864✔
1884
return yy::parser::make_BINARY(yytext);
1,864✔
1885
        YY_BREAK
932✔
1886
case 31:
52✔
1887
YY_RULE_SETUP
104✔
1888
return yy::parser::make_OBJ(yytext);
104✔
1889
        YY_BREAK
52✔
1890
case 32:
290✔
1891
YY_RULE_SETUP
580✔
1892
return yy::parser::make_ASCENDING(yytext);
580✔
1893
        YY_BREAK
290✔
1894
case 33:
74✔
1895
YY_RULE_SETUP
148✔
1896
return yy::parser::make_DESCENDING(yytext);
148✔
1897
        YY_BREAK
74✔
1898
case 34:
182✔
1899
YY_RULE_SETUP
364✔
1900
return yy::parser::make_SUBQUERY();
364✔
1901
        YY_BREAK
182✔
1902
case 35:
10✔
1903
YY_RULE_SETUP
20✔
1904
return yy::parser::make_GEOBOX();
20✔
1905
        YY_BREAK
10✔
1906
case 36:
30✔
1907
YY_RULE_SETUP
60✔
1908
return yy::parser::make_GEOPOLYGON();
60✔
1909
        YY_BREAK
30✔
1910
case 37:
36✔
1911
YY_RULE_SETUP
72✔
1912
return yy::parser::make_GEOCIRCLE();
72✔
1913
        YY_BREAK
36✔
1914
case 38:
2,020✔
1915
YY_RULE_SETUP
4,040✔
1916
return yy::parser::make_SIZE(yytext);
4,040✔
1917
        YY_BREAK
2,020✔
1918
case 39:
434✔
1919
YY_RULE_SETUP
868✔
1920
return yy::parser::make_MAX    ();
868✔
1921
        YY_BREAK
434✔
1922
case 40:
420✔
1923
YY_RULE_SETUP
840✔
1924
return yy::parser::make_MIN    ();
840✔
1925
        YY_BREAK
420✔
1926
case 41:
482✔
1927
YY_RULE_SETUP
964✔
1928
return yy::parser::make_SUM    ();
964✔
1929
        YY_BREAK
482✔
1930
case 42:
434✔
1931
YY_RULE_SETUP
868✔
1932
return yy::parser::make_AVG    ();
868✔
1933
        YY_BREAK
434✔
1934
case 43:
396✔
1935
YY_RULE_SETUP
792✔
1936
return yy::parser::make_BACKLINK(yytext);
792✔
1937
        YY_BREAK
396✔
1938
case 44:
292✔
1939
YY_RULE_SETUP
584✔
1940
return yy::parser::make_TYPE    (yytext);
584✔
1941
        YY_BREAK
292✔
1942
case 45:
24✔
1943
YY_RULE_SETUP
48✔
1944
return yy::parser::make_KEY_VAL (yytext);
48✔
1945
        YY_BREAK
24✔
1946
case 46:
12✔
1947
YY_RULE_SETUP
24✔
1948
return yy::parser::make_KEY_VAL (yytext);
24✔
1949
        YY_BREAK
12✔
1950
case 47:
288✔
1951
YY_RULE_SETUP
576✔
1952
return yy::parser::make_INDEX_FIRST (yytext);
576✔
1953
        YY_BREAK
288✔
1954
case 48:
218✔
1955
YY_RULE_SETUP
436✔
1956
return yy::parser::make_INDEX_LAST (yytext);
436✔
1957
        YY_BREAK
218✔
1958
case 49:
4✔
1959
YY_RULE_SETUP
8✔
1960
return yy::parser::make_INDEX_SIZE (yytext);
8✔
1961
        YY_BREAK
4✔
1962
case 50:
708✔
1963
YY_RULE_SETUP
1,416✔
1964
return yy::parser::make_CASE    ();
1,416✔
1965
        YY_BREAK
708✔
1966
case 51:
86✔
1967
YY_RULE_SETUP
172✔
1968
return yy::parser::make_TRUE    ();
172✔
1969
        YY_BREAK
86✔
1970
case 52:
160✔
1971
YY_RULE_SETUP
320✔
1972
return yy::parser::make_FALSE    ();
320✔
1973
        YY_BREAK
160✔
1974
case 53:
76✔
1975
YY_RULE_SETUP
152✔
1976
return yy::parser::make_INFINITY(yytext);
152✔
1977
        YY_BREAK
76✔
1978
case 54:
32✔
1979
YY_RULE_SETUP
64✔
1980
return  yy::parser::make_NAN(yytext);
64✔
1981
        YY_BREAK
32✔
1982
case 55:
1,116✔
1983
YY_RULE_SETUP
2,232✔
1984
return yy::parser::make_NULL_VAL ();
2,232✔
1985
        YY_BREAK
1,116✔
1986
case 56:
336✔
1987
YY_RULE_SETUP
672✔
1988
return yy::parser::make_UUID(yytext); 
672✔
1989
        YY_BREAK
336✔
1990
case 57:
386✔
1991
YY_RULE_SETUP
772✔
1992
return yy::parser::make_OID(yytext);
772✔
1993
        YY_BREAK
386✔
1994
case 58:
330✔
1995
YY_RULE_SETUP
660✔
1996
return yy::parser::make_TIMESTAMP(yytext);
660✔
1997
        YY_BREAK
330✔
1998
case 59:
4✔
1999
YY_RULE_SETUP
8✔
2000
return yy::parser::make_LINK (yytext);
8✔
2001
        YY_BREAK
4✔
2002
case 60:
24✔
2003
YY_RULE_SETUP
48✔
2004
return yy::parser::make_TYPED_LINK (yytext);
48✔
2005
        YY_BREAK
24✔
2006
case 61:
12,204✔
2007
YY_RULE_SETUP
24,408✔
2008
return yy::parser::make_NATURAL0 (yytext);
24,408✔
2009
        YY_BREAK
12,204✔
2010
case 62:
216,610✔
2011
YY_RULE_SETUP
433,220✔
2012
return yy::parser::make_ARG(yytext); 
433,220✔
2013
        YY_BREAK
216,610✔
2014
case 63:
216✔
2015
YY_RULE_SETUP
432✔
2016
return yy::parser::make_NUMBER (yytext);
432✔
2017
        YY_BREAK
216✔
2018
case 64:
6✔
2019
YY_RULE_SETUP
12✔
2020
return yy::parser::make_NUMBER (yytext);
12✔
2021
        YY_BREAK
6✔
2022
case 65:
84✔
2023
YY_RULE_SETUP
168✔
2024
return yy::parser::make_FLOAT (yytext);
168✔
2025
        YY_BREAK
84✔
2026
case 66:
1,310✔
2027
YY_RULE_SETUP
2,620✔
2028
return yy::parser::make_FLOAT (yytext);
2,620✔
2029
        YY_BREAK
1,310✔
2030
case 67:
716✔
2031
YY_RULE_SETUP
1,432✔
2032
return yy::parser::make_BASE64(yytext);
1,432✔
2033
        YY_BREAK
716✔
2034
case 68:
2,276✔
2035
/* rule 68 can match eol */
4,552✔
2036
YY_RULE_SETUP
2,276✔
2037
return yy::parser::make_STRING (yytext);
4,552✔
2038
        YY_BREAK
2,276✔
2039
case 69:
1,642✔
2040
/* rule 69 can match eol */
3,284✔
2041
YY_RULE_SETUP
1,642✔
2042
return yy::parser::make_STRING (yytext);
3,284✔
2043
        YY_BREAK
1,642✔
2044
case 70:
246,828✔
2045
YY_RULE_SETUP
493,658✔
2046
return yy::parser::make_ID (check_escapes(yytext));
493,658✔
2047
        YY_BREAK
246,830✔
2048
case 71:
58✔
2049
YY_RULE_SETUP
116✔
2050
{
116✔
2051
             throw yy::parser::syntax_error
116✔
2052
               ("invalid character: " + std::string(yytext));
116✔
2053
           }
58✔
UNCOV
2054
        YY_BREAK
×
2055
case YY_STATE_EOF(INITIAL):
20,984✔
2056
return yy::parser::make_END ();
41,968✔
2057
        YY_BREAK
20,984✔
UNCOV
2058
case 72:
×
UNCOV
2059
YY_RULE_SETUP
✔
UNCOV
2060
ECHO;
×
UNCOV
2061
        YY_BREAK
×
UNCOV
2062

×
2063
        case YY_END_OF_BUFFER:
42,060✔
2064
                {
84,122✔
2065
                /* Amount of text matched not including the EOB char. */
84,122✔
2066
                int yy_amount_of_matched_text = (int) (yy_cp - yyg->yytext_ptr) - 1;
42,060✔
2067

84,122✔
2068
                /* Undo the effects of YY_DO_BEFORE_ACTION. */
42,060✔
2069
                *yy_cp = yyg->yy_hold_char;
42,060✔
2070
                YY_RESTORE_YY_MORE_OFFSET
84,122✔
2071

84,122✔
2072
                if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
42,060✔
2073
                        {
84,122✔
2074
                        /* We're scanning a new file or input source.  It's
42,142✔
2075
                         * possible that this happened because the user
21,072✔
2076
                         * just pointed yyin at a new source and called
21,072✔
2077
                         * yylex().  If so, then we have to assure
21,072✔
2078
                         * consistency between YY_CURRENT_BUFFER and our
21,072✔
2079
                         * globals.  Here is the right place to do so, because
21,072✔
2080
                         * this is the first action (other than possibly a
21,072✔
2081
                         * back-up) that will match for the new input source.
21,072✔
2082
                         */
21,072✔
2083
                        yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
21,072✔
2084
/* %if-c-only */
42,142✔
2085
                        YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
21,072✔
2086
/* %endif */
42,142✔
2087
/* %if-c++-only */
21,072✔
2088
/* %endif */
21,072✔
2089
                        YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
21,072✔
2090
                        }
42,142✔
2091

63,130✔
2092
                /* Note that here we test for yy_c_buf_p "<=" to the position
42,060✔
2093
                 * of the first EOB in the buffer, since yy_c_buf_p will
42,060✔
2094
                 * already have been incremented past the NUL character
42,060✔
2095
                 * (since all states make transitions on EOB to the
42,060✔
2096
                 * end-of-buffer state).  Contrast this with the test
42,060✔
2097
                 * in input().
42,060✔
2098
                 */
42,060✔
2099
                if ( yyg->yy_c_buf_p <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
42,060✔
2100
                        { /* This was really a NUL. */
42,062✔
UNCOV
2101
                        yy_state_type yy_next_state;
×
UNCOV
2102

×
2103
                        yyg->yy_c_buf_p = yyg->yytext_ptr + yy_amount_of_matched_text;
2104

×
2105
                        yy_current_state = yy_get_previous_state( yyscanner );
2106

×
2107
                        /* Okay, we're now positioned to make the NUL
2108
                         * transition.  We couldn't have
2109
                         * yy_get_previous_state() go ahead and do it
2110
                         * for us because it doesn't know how to deal
2111
                         * with the possibility of jamming (and we don't
2112
                         * want to build jamming into it because then it
2113
                         * will run more slowly).
2114
                         */
2115

2116
                        yy_next_state = yy_try_NUL_trans( yy_current_state , yyscanner);
UNCOV
2117

×
2118
                        yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
UNCOV
2119

×
2120
                        if ( yy_next_state )
UNCOV
2121
                                {
×
UNCOV
2122
                                /* Consume the NUL. */
×
2123
                                yy_cp = ++yyg->yy_c_buf_p;
UNCOV
2124
                                yy_current_state = yy_next_state;
×
UNCOV
2125
                                goto yy_match;
×
UNCOV
2126
                                }
×
UNCOV
2127

×
2128
                        else
UNCOV
2129
                                {
×
UNCOV
2130
/* %% [14.0] code to do back-up for compressed tables and set up yy_cp goes here */
×
2131
                                yy_cp = yyg->yy_last_accepting_cpos;
UNCOV
2132
                                yy_current_state = yyg->yy_last_accepting_state;
×
UNCOV
2133
                                goto yy_find_action;
×
UNCOV
2134
                                }
×
2135
                        }
42,060✔
2136

84,122✔
2137
                else switch ( yy_get_next_buffer( yyscanner ) )
42,060✔
2138
                        {
84,122✔
2139
                        case EOB_ACT_END_OF_FILE:
63,046✔
2140
                                {
41,968✔
2141
                                yyg->yy_did_buffer_switch_on_eof = 0;
41,968✔
2142

41,968✔
2143
                                if ( yywrap( yyscanner ) )
20,984✔
2144
                                        {
41,968✔
2145
                                        /* Note: because we've taken care in
41,968✔
2146
                                         * yy_get_next_buffer() to have set up
20,984✔
2147
                                         * yytext, we can now set up
20,984✔
2148
                                         * yy_c_buf_p so that if some total
20,984✔
2149
                                         * hoser (like flex itself) wants to
20,984✔
2150
                                         * call the scanner after we return the
20,984✔
2151
                                         * YY_NULL, it'll still work - another
20,984✔
2152
                                         * YY_NULL will get returned.
20,984✔
2153
                                         */
20,984✔
2154
                                        yyg->yy_c_buf_p = yyg->yytext_ptr + YY_MORE_ADJ;
20,984✔
2155

41,968✔
2156
                                        yy_act = YY_STATE_EOF(YY_START);
20,984✔
2157
                                        goto do_action;
41,968✔
2158
                                        }
41,968✔
2159

20,984✔
2160
                                else
UNCOV
2161
                                        {
×
UNCOV
2162
                                        if ( ! yyg->yy_did_buffer_switch_on_eof )
×
UNCOV
2163
                                                YY_NEW_FILE;
×
UNCOV
2164
                                        }
×
2165
                                break;
20,984✔
2166
                                }
20,984✔
2167

41,968✔
2168
                        case EOB_ACT_CONTINUE_SCAN:
20,984✔
UNCOV
2169
                                yyg->yy_c_buf_p =
✔
UNCOV
2170
                                        yyg->yytext_ptr + yy_amount_of_matched_text;
×
UNCOV
2171

×
2172
                                yy_current_state = yy_get_previous_state( yyscanner );
2173

×
2174
                                yy_cp = yyg->yy_c_buf_p;
UNCOV
2175
                                yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
×
UNCOV
2176
                                goto yy_match;
×
2177

20,984✔
2178
                        case EOB_ACT_LAST_MATCH:
21,078✔
2179
                                yyg->yy_c_buf_p =
42,154✔
2180
                                &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars];
42,154✔
2181

42,154✔
2182
                                yy_current_state = yy_get_previous_state( yyscanner );
21,078✔
2183

42,154✔
2184
                                yy_cp = yyg->yy_c_buf_p;
21,078✔
2185
                                yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
42,154✔
2186
                                goto yy_find_action;
42,154✔
2187
                        }
21,076✔
2188
                break;
×
2189
                }
×
2190

×
2191
        default:
2192
                YY_FATAL_ERROR(
✔
2193
                        "fatal flex scanner internal error--no action found" );
1,949,270✔
2194
        } /* end of action switch */
3,898,616✔
2195
                } /* end of scanning one token */
3,898,616✔
2196
        } /* end of user's declarations */
2,944,540✔
2197
} /* end of yylex */
1,990,528✔
2198
/* %ok-for-header */
995,334✔
2199

2200

2201
/* %if-c++-only */
2202
/* %not-for-header */
2203
/* %ok-for-header */
2204

2205
/* %endif */
2206

2207

2208
/* yy_get_next_buffer - try to read in a new buffer
2209
 *
2210
 * Returns a code representing an action:
2211
 *        EOB_ACT_LAST_MATCH -
2212
 *        EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2213
 *        EOB_ACT_END_OF_FILE - end of file
2214
 */
2215
/* %if-c-only */
2216
static int yy_get_next_buffer (yyscan_t yyscanner)
2217
/* %endif */
2218
/* %if-c++-only */
2219
/* %endif */
2220
{
42,060✔
2221
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
84,122✔
2222
        char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
84,122✔
2223
        char *source = yyg->yytext_ptr;
84,122✔
2224
        int number_to_move, i;
84,122✔
2225
        int ret_val;
84,122✔
2226

84,122✔
2227
        if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] )
42,060✔
2228
                YY_FATAL_ERROR(
84,122✔
2229
                "fatal flex scanner internal error--end of buffer missed" );
42,060✔
2230

84,122✔
2231
        if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
42,060✔
2232
                { /* Don't try to fill the buffer, so this is an EOF. */
84,122✔
2233
                if ( yyg->yy_c_buf_p - yyg->yytext_ptr - YY_MORE_ADJ == 1 )
84,122✔
2234
                        {
63,046✔
2235
                        /* We matched a single character, the EOB, so
41,968✔
2236
                         * treat this as a final EOF.
20,984✔
2237
                         */
20,984✔
2238
                        return EOB_ACT_END_OF_FILE;
20,984✔
2239
                        }
41,968✔
2240

42,060✔
2241
                else
21,076✔
2242
                        {
42,154✔
2243
                        /* We matched some text prior to the EOB, first
42,154✔
2244
                         * process it.
21,076✔
2245
                         */
21,076✔
2246
                        return EOB_ACT_LAST_MATCH;
21,076✔
2247
                        }
42,154✔
2248
                }
21,078✔
UNCOV
2249

×
2250
        /* Try to read more data. */
2251

2252
        /* First move last chars to start of buffer. */
2253
        number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr - 1);
2254

×
2255
        for ( i = 0; i < number_to_move; ++i )
2256
                *(dest++) = *(source++);
×
2257

×
2258
        if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2259
                /* don't do the read, it's not guaranteed to return an EOF,
×
2260
                 * just force an EOF
2261
                 */
2262
                YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0;
UNCOV
2263

×
2264
        else
UNCOV
2265
                {
×
UNCOV
2266
                        int num_to_read =
×
UNCOV
2267
                        YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
×
UNCOV
2268

×
2269
                while ( num_to_read <= 0 )
UNCOV
2270
                        { /* Not enough room in the buffer - grow it. */
×
UNCOV
2271

×
2272
                        /* just a shorter name for the current buffer */
2273
                        YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
UNCOV
2274

×
2275
                        int yy_c_buf_p_offset =
UNCOV
2276
                                (int) (yyg->yy_c_buf_p - b->yy_ch_buf);
×
UNCOV
2277

×
2278
                        if ( b->yy_is_our_buffer )
UNCOV
2279
                                {
×
UNCOV
2280
                                int new_size = b->yy_buf_size * 2;
×
UNCOV
2281

×
2282
                                if ( new_size <= 0 )
UNCOV
2283
                                        b->yy_buf_size += b->yy_buf_size / 8;
×
UNCOV
2284
                                else
×
UNCOV
2285
                                        b->yy_buf_size *= 2;
×
UNCOV
2286

×
2287
                                b->yy_ch_buf = (char *)
UNCOV
2288
                                        /* Include room in for 2 EOB chars. */
×
2289
                                        yyrealloc( (void *) b->yy_ch_buf,
UNCOV
2290
                                                         (yy_size_t) (b->yy_buf_size + 2) , yyscanner );
×
UNCOV
2291
                                }
×
UNCOV
2292
                        else
×
UNCOV
2293
                                /* Can't grow it, we don't own it. */
×
2294
                                b->yy_ch_buf = NULL;
UNCOV
2295

×
2296
                        if ( ! b->yy_ch_buf )
UNCOV
2297
                                YY_FATAL_ERROR(
×
UNCOV
2298
                                "fatal error - scanner input buffer overflow" );
×
UNCOV
2299

×
2300
                        yyg->yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
UNCOV
2301

×
2302
                        num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
UNCOV
2303
                                                number_to_move - 1;
×
UNCOV
2304

×
2305
                        }
UNCOV
2306

×
2307
                if ( num_to_read > YY_READ_BUF_SIZE )
UNCOV
2308
                        num_to_read = YY_READ_BUF_SIZE;
×
UNCOV
2309

×
2310
                /* Read in more data. */
2311
                YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
UNCOV
2312
                        yyg->yy_n_chars, num_to_read );
×
UNCOV
2313

×
2314
                YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
UNCOV
2315
                }
×
UNCOV
2316

×
2317
        if ( yyg->yy_n_chars == 0 )
UNCOV
2318
                {
×
UNCOV
2319
                if ( number_to_move == YY_MORE_ADJ )
×
UNCOV
2320
                        {
×
UNCOV
2321
                        ret_val = EOB_ACT_END_OF_FILE;
×
2322
                        yyrestart( yyin  , yyscanner);
×
2323
                        }
×
2324

×
2325
                else
2326
                        {
×
2327
                        ret_val = EOB_ACT_LAST_MATCH;
×
2328
                        YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
×
2329
                                YY_BUFFER_EOF_PENDING;
×
2330
                        }
×
2331
                }
×
2332

×
2333
        else
2334
                ret_val = EOB_ACT_CONTINUE_SCAN;
×
2335

×
2336
        if ((yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
2337
                /* Extend the array by 50%, plus the number we really need. */
×
2338
                int new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1);
2339
                YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
×
2340
                        (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size , yyscanner );
×
2341
                if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
×
2342
                        YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
×
2343
                /* "- 2" to take care of EOB's */
×
2344
                YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
2345
        }
×
UNCOV
2346

×
2347
        yyg->yy_n_chars += number_to_move;
UNCOV
2348
        YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] = YY_END_OF_BUFFER_CHAR;
×
UNCOV
2349
        YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
×
UNCOV
2350

×
2351
        yyg->yytext_ptr = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
UNCOV
2352

×
2353
        return ret_val;
UNCOV
2354
}
×
2355

2356

2357
/* yy_get_previous_state - get the state just before the EOB char was reached */
2358

2359
/* %if-c-only */
2360
/* %not-for-header */
2361
    static yy_state_type yy_get_previous_state (yyscan_t yyscanner)
2362
/* %endif */
2363
/* %if-c++-only */
2364
/* %endif */
2365
{
21,078✔
2366
        yy_state_type yy_current_state;
42,156✔
2367
        char *yy_cp;
42,156✔
2368
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
42,156✔
2369

42,156✔
2370
/* %% [15.0] code to get the start state into yy_current_state goes here */
21,078✔
2371
        yy_current_state = yyg->yy_start;
21,078✔
2372

42,156✔
2373
        for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++yy_cp )
122,048✔
2374
                {
222,980✔
2375
/* %% [16.0] code to find the next state goes here */
201,902✔
2376
                YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
100,970✔
2377
                if ( yy_accept[yy_current_state] )
201,902✔
2378
                        {
146,794✔
2379
                        yyg->yy_last_accepting_state = yy_current_state;
91,724✔
2380
                        yyg->yy_last_accepting_cpos = yy_cp;
91,724✔
2381
                        }
91,724✔
2382
                while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
186,776✔
2383
                        {
180,784✔
2384
                        yy_current_state = (int) yy_def[yy_current_state];
79,852✔
2385
                        if ( yy_current_state >= 440 )
79,852✔
2386
                                yy_c = yy_meta[yy_c];
79,530✔
2387
                        }
79,530✔
2388
                yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
140,878✔
2389
                }
201,902✔
2390

122,010✔
2391
        return yy_current_state;
21,078✔
2392
}
42,156✔
2393

21,078✔
2394

2395
/* yy_try_NUL_trans - try to make a transition on the NUL character
2396
 *
2397
 * synopsis
2398
 *        next_state = yy_try_NUL_trans( current_state );
2399
 */
2400
/* %if-c-only */
2401
    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state , yyscan_t yyscanner)
2402
/* %endif */
2403
/* %if-c++-only */
2404
/* %endif */
2405
{
UNCOV
2406
        int yy_is_jam;
×
UNCOV
2407
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unused depending upon options. */
×
UNCOV
2408
/* %% [17.0] code to find the next state, and perhaps do backing up, goes here */
×
2409
        char *yy_cp = yyg->yy_c_buf_p;
UNCOV
2410

×
2411
        YY_CHAR yy_c = 1;
UNCOV
2412
        if ( yy_accept[yy_current_state] )
×
UNCOV
2413
                {
×
UNCOV
2414
                yyg->yy_last_accepting_state = yy_current_state;
×
UNCOV
2415
                yyg->yy_last_accepting_cpos = yy_cp;
×
UNCOV
2416
                }
×
UNCOV
2417
        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
×
UNCOV
2418
                {
×
UNCOV
2419
                yy_current_state = (int) yy_def[yy_current_state];
×
UNCOV
2420
                if ( yy_current_state >= 440 )
×
UNCOV
2421
                        yy_c = yy_meta[yy_c];
×
UNCOV
2422
                }
×
UNCOV
2423
        yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
×
UNCOV
2424
        yy_is_jam = (yy_current_state == 439);
×
UNCOV
2425

×
2426
        (void)yyg;
UNCOV
2427
        return yy_is_jam ? 0 : yy_current_state;
×
UNCOV
2428
}
×
2429

2430

2431
#ifndef YY_NO_UNPUT
2432
/* %if-c-only */
2433

2434
/* %endif */
2435
#endif
2436

2437
/* %if-c-only */
2438
#ifndef YY_NO_INPUT
2439
#ifdef __cplusplus
2440
    static int yyinput (yyscan_t yyscanner)
2441
#else
2442
    static int input  (yyscan_t yyscanner)
2443
#endif
2444

2445
/* %endif */
2446
/* %if-c++-only */
2447
/* %endif */
2448
{
2449
        int c;
2450
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2451

2452
        *yyg->yy_c_buf_p = yyg->yy_hold_char;
2453

2454
        if ( *yyg->yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
2455
                {
2456
                /* yy_c_buf_p now points to the character we want to return.
2457
                 * If this occurs *before* the EOB characters, then it's a
2458
                 * valid NUL; if not, then we've hit the end of the buffer.
2459
                 */
2460
                if ( yyg->yy_c_buf_p < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
2461
                        /* This was really a NUL. */
2462
                        *yyg->yy_c_buf_p = '\0';
2463

2464
                else
2465
                        { /* need more input */
2466
                        int offset = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr);
2467
                        ++yyg->yy_c_buf_p;
2468

2469
                        switch ( yy_get_next_buffer( yyscanner ) )
2470
                                {
2471
                                case EOB_ACT_LAST_MATCH:
2472
                                        /* This happens because yy_g_n_b()
2473
                                         * sees that we've accumulated a
2474
                                         * token and flags that we need to
2475
                                         * try matching the token before
2476
                                         * proceeding.  But for input(),
2477
                                         * there's no matching to consider.
2478
                                         * So convert the EOB_ACT_LAST_MATCH
2479
                                         * to EOB_ACT_END_OF_FILE.
2480
                                         */
2481

2482
                                        /* Reset buffer status. */
2483
                                        yyrestart( yyin , yyscanner);
2484

2485
                                        /*FALLTHROUGH*/
2486

2487
                                case EOB_ACT_END_OF_FILE:
2488
                                        {
2489
                                        if ( yywrap( yyscanner ) )
2490
                                                return 0;
2491

2492
                                        if ( ! yyg->yy_did_buffer_switch_on_eof )
2493
                                                YY_NEW_FILE;
2494
#ifdef __cplusplus
2495
                                        return yyinput(yyscanner);
2496
#else
2497
                                        return input(yyscanner);
2498
#endif
2499
                                        }
2500

2501
                                case EOB_ACT_CONTINUE_SCAN:
2502
                                        yyg->yy_c_buf_p = yyg->yytext_ptr + offset;
2503
                                        break;
2504
                                }
2505
                        }
2506
                }
2507

2508
        c = *(unsigned char *) yyg->yy_c_buf_p;        /* cast for 8-bit char's */
2509
        *yyg->yy_c_buf_p = '\0';        /* preserve yytext */
2510
        yyg->yy_hold_char = *++yyg->yy_c_buf_p;
2511

2512
/* %% [19.0] update BOL and yylineno */
2513

2514
        return c;
2515
}
2516
/* %if-c-only */
2517
#endif        /* ifndef YY_NO_INPUT */
2518
/* %endif */
2519

2520
/** Immediately switch to a different input stream.
2521
 * @param input_file A readable stream.
2522
 * @param yyscanner The scanner object.
2523
 * @note This function does not reset the start condition to @c INITIAL .
2524
 */
2525
/* %if-c-only */
2526
    void yyrestart  (FILE * input_file , yyscan_t yyscanner)
2527
/* %endif */
2528
/* %if-c++-only */
2529
/* %endif */
2530
{
UNCOV
2531
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
×
2532

×
2533
        if ( ! YY_CURRENT_BUFFER ){
2534
        yyensure_buffer_stack (yyscanner);
×
2535
                YY_CURRENT_BUFFER_LVALUE =
×
2536
            yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner);
×
2537
        }
×
2538

×
2539
        yy_init_buffer( YY_CURRENT_BUFFER, input_file , yyscanner);
2540
        yy_load_buffer_state( yyscanner );
×
2541
}
×
2542

2543
/* %if-c++-only */
2544
/* %endif */
2545

2546
/** Switch to a different input buffer.
2547
 * @param new_buffer The new input buffer.
2548
 * @param yyscanner The scanner object.
2549
 */
2550
/* %if-c-only */
2551
    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer , yyscan_t yyscanner)
2552
/* %endif */
2553
/* %if-c++-only */
2554
/* %endif */
2555
{
21,322✔
2556
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
42,644✔
2557

42,644✔
2558
        /* TODO. We should be able to replace this entire function body
21,322✔
2559
         * with
21,322✔
2560
         *                yypop_buffer_state();
21,322✔
2561
         *                yypush_buffer_state(new_buffer);
21,322✔
2562
     */
21,322✔
2563
        yyensure_buffer_stack (yyscanner);
21,322✔
2564
        if ( YY_CURRENT_BUFFER == new_buffer )
42,644✔
2565
                return;
21,322✔
2566

21,322✔
2567
        if ( YY_CURRENT_BUFFER )
21,322✔
2568
                {
42,644✔
UNCOV
2569
                /* Flush out information for old buffer. */
×
2570
                *yyg->yy_c_buf_p = yyg->yy_hold_char;
2571
                YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
×
UNCOV
2572
                YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
×
UNCOV
2573
                }
×
2574

21,322✔
2575
        YY_CURRENT_BUFFER_LVALUE = new_buffer;
21,322✔
2576
        yy_load_buffer_state( yyscanner );
42,644✔
2577

42,644✔
2578
        /* We don't actually know whether we did this switch during
21,322✔
2579
         * EOF (yywrap()) processing, but the only time this flag
21,322✔
2580
         * is looked at is after yywrap() is called, so it's safe
21,322✔
2581
         * to go ahead and always set it.
21,322✔
2582
         */
21,322✔
2583
        yyg->yy_did_buffer_switch_on_eof = 1;
21,322✔
2584
}
42,644✔
2585

21,322✔
2586

2587
/* %if-c-only */
2588
static void yy_load_buffer_state  (yyscan_t yyscanner)
2589
/* %endif */
2590
/* %if-c++-only */
2591
/* %endif */
2592
{
42,642✔
2593
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
85,286✔
2594
        yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
85,286✔
2595
        yyg->yytext_ptr = yyg->yy_c_buf_p = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
85,286✔
2596
/* %if-c-only */
85,286✔
2597
        yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
42,642✔
2598
/* %endif */
85,286✔
2599
/* %if-c++-only */
42,642✔
2600
/* %endif */
42,642✔
2601
        yyg->yy_hold_char = *yyg->yy_c_buf_p;
42,642✔
2602
}
85,286✔
2603

42,644✔
2604
/** Allocate and initialize an input buffer state.
2605
 * @param file A readable stream.
2606
 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
2607
 * @param yyscanner The scanner object.
2608
 * @return the allocated buffer state.
2609
 */
2610
/* %if-c-only */
2611
    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size , yyscan_t yyscanner)
2612
/* %endif */
2613
/* %if-c++-only */
2614
/* %endif */
2615
{
2616
        YY_BUFFER_STATE b;
×
2617
    
×
2618
        b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) , yyscanner );
2619
        if ( ! b )
×
2620
                YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
×
2621

×
2622
        b->yy_buf_size = size;
2623

×
2624
        /* yy_ch_buf has to be 2 characters longer than the size given because
2625
         * we need to put in 2 end-of-buffer characters.
2626
         */
2627
        b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) , yyscanner );
UNCOV
2628
        if ( ! b->yy_ch_buf )
×
UNCOV
2629
                YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
×
UNCOV
2630

×
2631
        b->yy_is_our_buffer = 1;
UNCOV
2632

×
2633
        yy_init_buffer( b, file , yyscanner);
UNCOV
2634

×
2635
        return b;
2636
}
×
2637

2638
/* %if-c++-only */
2639
/* %endif */
2640

2641
/** Destroy the buffer.
2642
 * @param b a buffer created with yy_create_buffer()
2643
 * @param yyscanner The scanner object.
2644
 */
2645
/* %if-c-only */
2646
    void yy_delete_buffer (YY_BUFFER_STATE  b , yyscan_t yyscanner)
2647
/* %endif */
2648
/* %if-c++-only */
2649
/* %endif */
2650
{
21,316✔
2651
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
42,640✔
2652

42,640✔
2653
        if ( ! b )
21,316✔
2654
                return;
21,324✔
2655

21,316✔
2656
        if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
21,316✔
2657
                YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
42,640✔
2658

42,638✔
2659
        if ( b->yy_is_our_buffer )
21,316✔
2660
                yyfree( (void *) b->yy_ch_buf , yyscanner );
21,324✔
2661

21,316✔
2662
        yyfree( (void *) b , yyscanner );
21,316✔
2663
}
42,640✔
2664

21,324✔
2665

2666
/* Initializes or reinitializes a buffer.
2667
 * This function is sometimes called more than once on the same buffer,
2668
 * such as during a yyrestart() or at EOF.
2669
 */
2670
/* %if-c-only */
2671
    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file , yyscan_t yyscanner)
2672
/* %endif */
2673
/* %if-c++-only */
2674
/* %endif */
2675

2676
{
2677
        int oerrno = errno;
×
2678
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
×
2679

×
2680
        yy_flush_buffer( b , yyscanner);
2681

×
2682
/* %if-c-only */
2683
        b->yy_input_file = file;
2684
/* %endif */
×
2685
/* %if-c++-only */
2686
/* %endif */
2687
        b->yy_fill_buffer = 1;
2688

×
2689
    /* If b is the current buffer, then yy_init_buffer was _probably_
2690
     * called from yyrestart() or through yy_get_next_buffer.
2691
     * In that case, we don't want to reset the lineno or column.
2692
     */
2693
    if (b != YY_CURRENT_BUFFER){
2694
        b->yy_bs_lineno = 1;
×
2695
        b->yy_bs_column = 0;
×
UNCOV
2696
    }
×
UNCOV
2697

×
2698
/* %if-c-only */
2699

2700
    
2701
        b->yy_is_interactive = 0;
UNCOV
2702
    
×
2703

2704
/* %endif */
2705
/* %if-c++-only */
2706
/* %endif */
2707
        errno = oerrno;
UNCOV
2708
}
×
2709

2710
/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
2711
 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
2712
 * @param yyscanner The scanner object.
2713
 */
2714
/* %if-c-only */
2715
    void yy_flush_buffer (YY_BUFFER_STATE  b , yyscan_t yyscanner)
2716
/* %endif */
2717
/* %if-c++-only */
2718
/* %endif */
2719
{
2720
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
×
2721
        if ( ! b )
×
2722
                return;
×
2723

×
2724
        b->yy_n_chars = 0;
UNCOV
2725

×
2726
        /* We always need two end-of-buffer characters.  The first causes
2727
         * a transition to the end-of-buffer state.  The second causes
2728
         * a jam in that state.
2729
         */
2730
        b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
UNCOV
2731
        b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
×
UNCOV
2732

×
2733
        b->yy_buf_pos = &b->yy_ch_buf[0];
UNCOV
2734

×
2735
        b->yy_at_bol = 1;
UNCOV
2736
        b->yy_buffer_status = YY_BUFFER_NEW;
×
UNCOV
2737

×
2738
        if ( b == YY_CURRENT_BUFFER )
UNCOV
2739
                yy_load_buffer_state( yyscanner );
×
UNCOV
2740
}
×
2741

2742
/* %if-c-or-c++ */
2743
/** Pushes the new state onto the stack. The new state becomes
2744
 *  the current state. This function will allocate the stack
2745
 *  if necessary.
2746
 *  @param new_buffer The new state.
2747
 *  @param yyscanner The scanner object.
2748
 */
2749
/* %if-c-only */
2750
void yypush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
2751
/* %endif */
2752
/* %if-c++-only */
2753
/* %endif */
2754
{
UNCOV
2755
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
×
UNCOV
2756
        if (new_buffer == NULL)
×
UNCOV
2757
                return;
×
UNCOV
2758

×
2759
        yyensure_buffer_stack(yyscanner);
2760

×
2761
        /* This block is copied from yy_switch_to_buffer. */
2762
        if ( YY_CURRENT_BUFFER )
2763
                {
×
2764
                /* Flush out information for old buffer. */
×
2765
                *yyg->yy_c_buf_p = yyg->yy_hold_char;
2766
                YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
×
2767
                YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
×
2768
                }
×
2769

×
2770
        /* Only push if top exists. Otherwise, replace top. */
2771
        if (YY_CURRENT_BUFFER)
2772
                yyg->yy_buffer_stack_top++;
×
2773
        YY_CURRENT_BUFFER_LVALUE = new_buffer;
×
2774

×
2775
        /* copied from yy_switch_to_buffer. */
2776
        yy_load_buffer_state( yyscanner );
2777
        yyg->yy_did_buffer_switch_on_eof = 1;
×
2778
}
×
2779
/* %endif */
2780

2781

2782
/* %if-c-or-c++ */
2783
/** Removes and deletes the top of the stack, if present.
2784
 *  The next element becomes the new top.
2785
 *  @param yyscanner The scanner object.
2786
 */
2787
/* %if-c-only */
2788
void yypop_buffer_state (yyscan_t yyscanner)
2789
/* %endif */
2790
/* %if-c++-only */
2791
/* %endif */
2792
{
21,314✔
2793
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
42,638✔
2794
        if (!YY_CURRENT_BUFFER)
42,638✔
2795
                return;
42,642✔
2796

2,147,504,969✔
2797
        yy_delete_buffer(YY_CURRENT_BUFFER , yyscanner);
2,147,483,647✔
2798
        YY_CURRENT_BUFFER_LVALUE = NULL;
2,147,483,649✔
2799
        if (yyg->yy_buffer_stack_top > 0)
2,147,483,649✔
2800
                --yyg->yy_buffer_stack_top;
2✔
2801

2,147,483,647✔
2802
        if (YY_CURRENT_BUFFER) {
2,147,483,647✔
2803
                yy_load_buffer_state( yyscanner );
2✔
UNCOV
2804
                yyg->yy_did_buffer_switch_on_eof = 1;
×
UNCOV
2805
        }
×
2806
}
2,147,483,647✔
2807
/* %endif */
2✔
2808

2809

2810
/* %if-c-or-c++ */
2811
/* Allocates the stack if it does not exist.
2812
 *  Guarantees space for at least one push.
2813
 */
2814
/* %if-c-only */
2815
static void yyensure_buffer_stack (yyscan_t yyscanner)
2816
/* %endif */
2817
/* %if-c++-only */
2818
/* %endif */
2819
{
21,322✔
2820
        yy_size_t num_to_alloc;
42,644✔
2821
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
42,644✔
2822

42,644✔
2823
        if (!yyg->yy_buffer_stack) {
21,322✔
2824

42,644✔
2825
                /* First allocation is just for 2 elements, since we don't know if this
21,322✔
2826
                 * scanner will even need a stack. We use 2 instead of 1 to avoid an
21,322✔
2827
                 * immediate realloc on the next call.
21,322✔
2828
         */
21,322✔
2829
      num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
21,322✔
2830
                yyg->yy_buffer_stack = (struct yy_buffer_state**)yyalloc
42,644✔
2831
                                                                (num_to_alloc * sizeof(struct yy_buffer_state*)
42,644✔
2832
                                                                , yyscanner);
42,644✔
2833
                if ( ! yyg->yy_buffer_stack )
42,644✔
2834
                        YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
42,644✔
2835

21,322✔
2836

21,322✔
2837
                memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*));
21,322✔
2838

42,644✔
2839
                yyg->yy_buffer_stack_max = num_to_alloc;
21,322✔
2840
                yyg->yy_buffer_stack_top = 0;
42,644✔
2841
                return;
42,644✔
2842
        }
21,322✔
UNCOV
2843

×
2844
        if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){
UNCOV
2845

×
2846
                /* Increase the buffer to prepare for a possible push. */
2847
                yy_size_t grow_size = 8 /* arbitrary grow size */;
UNCOV
2848

×
2849
                num_to_alloc = yyg->yy_buffer_stack_max + grow_size;
UNCOV
2850
                yyg->yy_buffer_stack = (struct yy_buffer_state**)yyrealloc
×
UNCOV
2851
                                                                (yyg->yy_buffer_stack,
×
UNCOV
2852
                                                                num_to_alloc * sizeof(struct yy_buffer_state*)
×
2853
                                                                , yyscanner);
×
2854
                if ( ! yyg->yy_buffer_stack )
×
2855
                        YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
×
2856

×
2857
                /* zero only the new slots.*/
2858
                memset(yyg->yy_buffer_stack + yyg->yy_buffer_stack_max, 0, grow_size * sizeof(struct yy_buffer_state*));
2859
                yyg->yy_buffer_stack_max = num_to_alloc;
×
2860
        }
×
2861
}
×
2862
/* %endif */
2863

2864

2865

2866

2867

2868
/* %if-c-only */
2869
/** Setup the input buffer state to scan directly from a user-specified character buffer.
2870
 * @param base the character buffer
2871
 * @param size the size in bytes of the character buffer
2872
 * @param yyscanner The scanner object.
2873
 * @return the newly allocated buffer state object.
2874
 */
2875
YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size , yyscan_t yyscanner)
2876
{
21,322✔
2877
        YY_BUFFER_STATE b;
42,644✔
2878
    
42,644✔
2879
        if ( size < 2 ||
21,322✔
2880
             base[size-2] != YY_END_OF_BUFFER_CHAR ||
42,644✔
2881
             base[size-1] != YY_END_OF_BUFFER_CHAR )
42,644✔
2882
                /* They forgot to leave room for the EOB's. */
42,644✔
2883
                return NULL;
21,322✔
2884

21,322✔
2885
        b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) , yyscanner );
21,322✔
2886
        if ( ! b )
42,644✔
2887
                YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
42,644✔
2888

21,322✔
2889
        b->yy_buf_size = (int) (size - 2);        /* "- 2" to take care of EOB's */
21,322✔
2890
        b->yy_buf_pos = b->yy_ch_buf = base;
42,644✔
2891
        b->yy_is_our_buffer = 0;
42,644✔
2892
        b->yy_input_file = NULL;
42,644✔
2893
        b->yy_n_chars = b->yy_buf_size;
42,644✔
2894
        b->yy_is_interactive = 0;
42,644✔
2895
        b->yy_at_bol = 1;
42,644✔
2896
        b->yy_fill_buffer = 0;
42,644✔
2897
        b->yy_buffer_status = YY_BUFFER_NEW;
42,644✔
2898

42,644✔
2899
        yy_switch_to_buffer( b , yyscanner );
21,322✔
2900

42,644✔
2901
        return b;
21,322✔
2902
}
42,644✔
2903
/* %endif */
21,322✔
2904

2905

2906

2907

2908
/* %if-c-only */
2909
/** Setup the input buffer state to scan a string. The next call to yylex() will
2910
 * scan from a @e copy of @a str.
2911
 * @param yystr a NUL-terminated string to scan
2912
 * @param yyscanner The scanner object.
2913
 * @return the newly allocated buffer state object.
2914
 * @note If you want to scan bytes that may contain NUL values, then use
2915
 *       yy_scan_bytes() instead.
2916
 */
2917
YY_BUFFER_STATE yy_scan_string (const char * yystr , yyscan_t yyscanner)
2918
{
UNCOV
2919
    
×
2920
        return yy_scan_bytes( yystr, (int) strlen(yystr) , yyscanner);
UNCOV
2921
}
×
2922
/* %endif */
2923

2924

2925

2926

2927
/* %if-c-only */
2928
/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
2929
 * scan from a @e copy of @a bytes.
2930
 * @param yybytes the byte buffer to scan
2931
 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
2932
 * @param yyscanner The scanner object.
2933
 * @return the newly allocated buffer state object.
2934
 */
2935
YY_BUFFER_STATE yy_scan_bytes  (const char * yybytes, int  _yybytes_len , yyscan_t yyscanner)
2936
{
2937
        YY_BUFFER_STATE b;
×
2938
        char *buf;
×
2939
        yy_size_t n;
×
2940
        int i;
×
UNCOV
2941
    
×
2942
        /* Get memory for full buffer, including space for trailing EOB's. */
2943
        n = (yy_size_t) (_yybytes_len + 2);
UNCOV
2944
        buf = (char *) yyalloc( n , yyscanner );
×
UNCOV
2945
        if ( ! buf )
×
UNCOV
2946
                YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
×
UNCOV
2947

×
2948
        for ( i = 0; i < _yybytes_len; ++i )
2949
                buf[i] = yybytes[i];
×
2950

×
2951
        buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
2952

×
2953
        b = yy_scan_buffer( buf, n , yyscanner);
2954
        if ( ! b )
×
2955
                YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
×
2956

×
2957
        /* It's okay to grow etc. this buffer, and we should throw it
2958
         * away when we're done.
2959
         */
2960
        b->yy_is_our_buffer = 1;
UNCOV
2961

×
2962
        return b;
UNCOV
2963
}
×
2964
/* %endif */
2965

2966

2967

2968

2969

2970

2971

2972

2973

2974

2975

2976
#ifndef YY_EXIT_FAILURE
2977
#define YY_EXIT_FAILURE 2
2978
#endif
2979

2980
/* %if-c-only */
2981
static void yynoreturn yy_fatal_error (const char* msg , yyscan_t yyscanner)
2982
{
2983
        struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
×
2984
        (void)yyg;
×
2985
        fprintf( stderr, "%s\n", msg );
×
2986
        exit( YY_EXIT_FAILURE );
×
UNCOV
2987
}
×
2988
/* %endif */
2989
/* %if-c++-only */
2990
/* %endif */
2991

2992
/* Redefine yyless() so it works in section 3 code. */
2993

2994
#undef yyless
2995
#define yyless(n) \
2996
        do \
2997
                { \
2998
                /* Undo effects of setting up yytext. */ \
2999
        int yyless_macro_arg = (n); \
3000
        YY_LESS_LINENO(yyless_macro_arg);\
3001
                yytext[yyleng] = yyg->yy_hold_char; \
3002
                yyg->yy_c_buf_p = yytext + yyless_macro_arg; \
3003
                yyg->yy_hold_char = *yyg->yy_c_buf_p; \
3004
                *yyg->yy_c_buf_p = '\0'; \
3005
                yyleng = yyless_macro_arg; \
3006
                } \
3007
        while ( 0 )
3008

3009

3010

3011
/* Accessor  methods (get/set functions) to struct members. */
3012

3013
/* %if-c-only */
3014
/* %if-reentrant */
3015

3016
/** Get the user-defined data for this scanner.
3017
 * @param yyscanner The scanner object.
3018
 */
3019
YY_EXTRA_TYPE yyget_extra  (yyscan_t yyscanner)
3020
{
UNCOV
3021
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
×
UNCOV
3022
    return yyextra;
×
UNCOV
3023
}
×
3024

3025
/* %endif */
3026

3027

3028
/** Get the current line number.
3029
 * @param yyscanner The scanner object.
3030
 */
3031
int yyget_lineno  (yyscan_t yyscanner)
3032
{
UNCOV
3033
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
×
UNCOV
3034

×
3035
    
3036
        if (! YY_CURRENT_BUFFER)
UNCOV
3037
            return 0;
×
UNCOV
3038
    
×
3039
    return yylineno;
UNCOV
3040
}
×
3041

3042

3043

3044

3045
/** Get the current column number.
3046
 * @param yyscanner The scanner object.
3047
 */
3048
int yyget_column  (yyscan_t yyscanner)
3049
{
3050
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
×
3051

×
3052
    
3053
        if (! YY_CURRENT_BUFFER)
UNCOV
3054
            return 0;
×
UNCOV
3055
    
×
3056
    return yycolumn;
UNCOV
3057
}
×
3058

3059

3060

3061

3062
/** Get the input stream.
3063
 * @param yyscanner The scanner object.
3064
 */
3065
FILE *yyget_in  (yyscan_t yyscanner)
3066
{
3067
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
×
3068
    return yyin;
×
3069
}
×
3070

3071

3072

3073
/** Get the output stream.
3074
 * @param yyscanner The scanner object.
3075
 */
3076
FILE *yyget_out  (yyscan_t yyscanner)
3077
{
UNCOV
3078
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
×
UNCOV
3079
    return yyout;
×
UNCOV
3080
}
×
3081

3082

3083

3084
/** Get the length of the current token.
3085
 * @param yyscanner The scanner object.
3086
 */
3087
int yyget_leng  (yyscan_t yyscanner)
3088
{
UNCOV
3089
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
×
UNCOV
3090
    return yyleng;
×
3091
}
×
3092

3093

3094
/** Get the current token.
3095
 * @param yyscanner The scanner object.
3096
 */
3097

3098
char *yyget_text  (yyscan_t yyscanner)
3099
{
3100
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
×
3101
    return yytext;
×
3102
}
×
3103

3104

3105
/* %if-reentrant */
3106

3107
/** Set the user-defined data. This data is never touched by the scanner.
3108
 * @param user_defined The data to be associated with this scanner.
3109
 * @param yyscanner The scanner object.
3110
 */
3111
void yyset_extra (YY_EXTRA_TYPE  user_defined , yyscan_t yyscanner)
3112
{
UNCOV
3113
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
×
UNCOV
3114
    yyextra = user_defined ;
×
UNCOV
3115
}
×
3116

3117
/* %endif */
3118

3119

3120
/** Set the current line number.
3121
 * @param _line_number line number
3122
 * @param yyscanner The scanner object.
3123
 */
3124
void yyset_lineno (int  _line_number , yyscan_t yyscanner)
3125
{
UNCOV
3126
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
×
UNCOV
3127

×
3128
    
3129
        /* lineno is only valid if an input buffer exists. */
3130
        if (! YY_CURRENT_BUFFER )
3131
           YY_FATAL_ERROR( "yyset_lineno called with no buffer" );
×
3132
    
×
3133
    yylineno = _line_number;
UNCOV
3134
}
×
3135

3136

3137

3138

3139
/** Set the current column.
3140
 * @param _column_no column number
3141
 * @param yyscanner The scanner object.
3142
 */
3143
void yyset_column (int  _column_no , yyscan_t yyscanner)
3144
{
UNCOV
3145
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
×
UNCOV
3146

×
3147
    
3148
        /* column is only valid if an input buffer exists. */
3149
        if (! YY_CURRENT_BUFFER )
UNCOV
3150
           YY_FATAL_ERROR( "yyset_column called with no buffer" );
×
UNCOV
3151
    
×
3152
    yycolumn = _column_no;
UNCOV
3153
}
×
3154

3155

3156

3157

3158

3159
/** Set the input stream. This does not discard the current
3160
 * input buffer.
3161
 * @param _in_str A readable stream.
3162
 * @param yyscanner The scanner object.
3163
 * @see yy_switch_to_buffer
3164
 */
3165
void yyset_in (FILE *  _in_str , yyscan_t yyscanner)
3166
{
3167
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
×
3168
    yyin = _in_str ;
×
3169
}
×
3170

3171

3172

3173
void yyset_out (FILE *  _out_str , yyscan_t yyscanner)
3174
{
3175
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
×
3176
    yyout = _out_str ;
×
3177
}
×
3178

3179

3180

3181

3182
int yyget_debug  (yyscan_t yyscanner)
3183
{
UNCOV
3184
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
×
UNCOV
3185
    return yy_flex_debug;
×
UNCOV
3186
}
×
3187

3188

3189

3190
void yyset_debug (int  _bdebug , yyscan_t yyscanner)
3191
{
UNCOV
3192
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
×
UNCOV
3193
    yy_flex_debug = _bdebug ;
×
UNCOV
3194
}
×
3195

3196
/* %endif */
3197

3198
/* %if-reentrant */
3199
/* Accessor methods for yylval and yylloc */
3200

3201
/* %if-bison-bridge */
3202
/* %endif */
3203

3204

3205
/* User-visible API */
3206

3207
/* yylex_init is special because it creates the scanner itself, so it is
3208
 * the ONLY reentrant function that doesn't take the scanner as the last argument.
3209
 * That's why we explicitly handle the declaration, instead of using our macros.
3210
 */
3211
int yylex_init(yyscan_t* ptr_yy_globals)
3212
{
21,324✔
3213
    if (ptr_yy_globals == NULL){
42,648✔
3214
        errno = EINVAL;
21,324✔
UNCOV
3215
        return 1;
×
UNCOV
3216
    }
×
3217

21,324✔
3218
    *ptr_yy_globals = (yyscan_t) yyalloc ( sizeof( struct yyguts_t ), NULL );
21,324✔
3219

42,648✔
3220
    if (*ptr_yy_globals == NULL){
21,324✔
3221
        errno = ENOMEM;
21,324✔
UNCOV
3222
        return 1;
×
UNCOV
3223
    }
×
3224

21,324✔
3225
    /* By setting to 0xAA, we expose bugs in yy_init_globals. Leave at 0x00 for releases. */
21,324✔
3226
    memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
21,324✔
3227

42,648✔
3228
    return yy_init_globals ( *ptr_yy_globals );
21,324✔
3229
}
42,648✔
3230

21,324✔
3231

3232
/* yylex_init_extra has the same functionality as yylex_init, but follows the
3233
 * convention of taking the scanner as the last argument. Note however, that
3234
 * this is a *pointer* to a scanner, as it will be allocated by this call (and
3235
 * is the reason, too, why this function also must handle its own declaration).
3236
 * The user defined value in the first argument will be available to yyalloc in
3237
 * the yyextra field.
3238
 */
3239
int yylex_init_extra( YY_EXTRA_TYPE yy_user_defined, yyscan_t* ptr_yy_globals )
3240
{
UNCOV
3241
    struct yyguts_t dummy_yyguts;
×
UNCOV
3242

×
3243
    yyset_extra (yy_user_defined, &dummy_yyguts);
UNCOV
3244

×
3245
    if (ptr_yy_globals == NULL){
UNCOV
3246
        errno = EINVAL;
×
UNCOV
3247
        return 1;
×
UNCOV
3248
    }
×
UNCOV
3249

×
3250
    *ptr_yy_globals = (yyscan_t) yyalloc ( sizeof( struct yyguts_t ), &dummy_yyguts );
UNCOV
3251

×
3252
    if (*ptr_yy_globals == NULL){
UNCOV
3253
        errno = ENOMEM;
×
UNCOV
3254
        return 1;
×
UNCOV
3255
    }
×
UNCOV
3256

×
3257
    /* By setting to 0xAA, we expose bugs in
3258
    yy_init_globals. Leave at 0x00 for releases. */
3259
    memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
UNCOV
3260

×
3261
    yyset_extra (yy_user_defined, *ptr_yy_globals);
UNCOV
3262

×
3263
    return yy_init_globals ( *ptr_yy_globals );
UNCOV
3264
}
×
3265

3266
/* %endif if-c-only */
3267

3268
/* %if-c-only */
3269
static int yy_init_globals (yyscan_t yyscanner)
3270
{
42,634✔
3271
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
85,282✔
3272
    /* Initialization is the same as for the non-reentrant scanner.
85,282✔
3273
     * This function is called from yylex_destroy(), so don't allocate here.
42,634✔
3274
     */
42,634✔
3275

42,634✔
3276

42,634✔
3277
    yyg->yy_buffer_stack = NULL;
42,634✔
3278
    yyg->yy_buffer_stack_top = 0;
85,282✔
3279
    yyg->yy_buffer_stack_max = 0;
85,282✔
3280
    yyg->yy_c_buf_p = NULL;
85,282✔
3281
    yyg->yy_init = 0;
85,282✔
3282
    yyg->yy_start = 0;
85,282✔
3283

85,282✔
3284

42,634✔
3285
    yyg->yy_start_stack_ptr = 0;
42,634✔
3286
    yyg->yy_start_stack_depth = 0;
85,282✔
3287
    yyg->yy_start_stack =  NULL;
85,282✔
3288

85,282✔
3289

42,634✔
3290

42,634✔
3291

42,634✔
3292

42,634✔
3293

42,634✔
3294
/* Defined in main.c */
42,634✔
3295
#ifdef YY_STDINIT
3296
    yyin = stdin;
3297
    yyout = stdout;
3298
#else
3299
    yyin = NULL;
42,634✔
3300
    yyout = NULL;
85,282✔
3301
#endif
85,282✔
3302

85,282✔
3303
    /* For future reference: Set errno on error, since we are called by
42,634✔
3304
     * yylex_init()
42,634✔
3305
     */
42,634✔
3306
    return 0;
42,634✔
3307
}
85,282✔
3308
/* %endif */
42,648✔
3309

3310

3311
/* %if-c-only SNIP! this currently causes conflicts with the c++ scanner */
3312
/* yylex_destroy is for both reentrant and non-reentrant scanners. */
3313
int yylex_destroy  (yyscan_t yyscanner)
3314
{
21,310✔
3315
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
42,634✔
3316

42,634✔
3317
    /* Pop the buffer stack, destroying each element. */
21,310✔
3318
        while(YY_CURRENT_BUFFER){
42,628✔
3319
                yy_delete_buffer( YY_CURRENT_BUFFER , yyscanner );
63,966✔
3320
                YY_CURRENT_BUFFER_LVALUE = NULL;
42,642✔
3321
                yypop_buffer_state(yyscanner);
42,642✔
3322
        }
42,642✔
3323

42,634✔
3324
        /* Destroy the stack itself. */
21,310✔
3325
        yyfree(yyg->yy_buffer_stack , yyscanner);
21,310✔
3326
        yyg->yy_buffer_stack = NULL;
42,634✔
3327

42,634✔
3328

21,310✔
3329
    /* Destroy the start condition stack. */
21,310✔
3330
        yyfree( yyg->yy_start_stack , yyscanner );
21,310✔
3331
        yyg->yy_start_stack = NULL;
42,634✔
3332

42,634✔
3333

21,310✔
3334

21,310✔
3335

21,310✔
3336
    /* Reset the globals. This is important in a non-reentrant scanner so the next time
21,310✔
3337
     * yylex() is called, initialization will occur. */
21,310✔
3338
    yy_init_globals( yyscanner);
21,310✔
3339

42,634✔
3340
/* %if-reentrant */
21,310✔
3341
    /* Destroy the main struct (reentrant only). */
21,310✔
3342
    yyfree ( yyscanner , yyscanner );
21,310✔
3343
    yyscanner = NULL;
42,634✔
3344
/* %endif */
42,634✔
3345
    return 0;
21,310✔
3346
}
42,634✔
3347
/* %endif */
21,324✔
3348

3349

3350

3351
/*
3352
 * Internal utility routines.
3353
 */
3354

3355

3356

3357
#ifndef yytext_ptr
3358
static void yy_flex_strncpy (char* s1, const char * s2, int n , yyscan_t yyscanner)
3359
{
3360
        struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3361
        (void)yyg;
3362

3363
        int i;
3364
        for ( i = 0; i < n; ++i )
3365
                s1[i] = s2[i];
3366
}
3367
#endif
3368

3369

3370

3371
#ifdef YY_NEED_STRLEN
3372
static int yy_flex_strlen (const char * s , yyscan_t yyscanner)
3373
{
3374
        int n;
3375
        for ( n = 0; s[n]; ++n )
3376
                ;
3377

3378
        return n;
3379
}
3380
#endif
3381

3382

3383

3384
void *yyalloc (yy_size_t  size , yyscan_t yyscanner)
3385
{
63,960✔
3386
        struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
127,914✔
3387
        (void)yyg;
127,914✔
3388
        return malloc(size);
127,914✔
3389
}
127,914✔
3390

63,954✔
3391

3392

3393
void *yyrealloc  (void * ptr, yy_size_t  size , yyscan_t yyscanner)
3394
{
UNCOV
3395
        struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
×
UNCOV
3396
        (void)yyg;
×
UNCOV
3397

×
3398
        /* The cast to (char *) in the following accommodates both
3399
         * implementations that use char* generic pointers, and those
3400
         * that use void* generic pointers.  It works with the latter
3401
         * because both ANSI C and C++ allow castless assignment from
3402
         * any pointer type to void*, and deal with argument conversions
3403
         * as though doing an assignment.
3404
         */
3405
        return realloc(ptr, size);
UNCOV
3406
}
×
3407

3408

3409

3410
void yyfree (void * ptr , yyscan_t yyscanner)
3411
{
85,260✔
3412
        struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
170,548✔
3413
        (void)yyg;
170,548✔
3414
        free( (char *) ptr );        /* see yyrealloc() for (char *) cast */
170,548✔
3415
}
170,548✔
3416

85,288✔
3417

3418
/* %if-tables-serialization definitions */
3419
/* %define-yytables   The name for this specific scanner's tables. */
3420
#define YYTABLES_NAME "yytables"
3421
/* %endif */
3422

3423

3424

3425

3426
/* %ok-for-header */
3427

3428

3429

3430

3431
void realm::query_parser::ParserDriver::scan_begin (yyscan_t yyscanner, bool trace_scanning)
3432
{
21,322✔
3433
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
42,646✔
3434
    yy_flex_debug = trace_scanning;
42,646✔
3435
    yy_scan_buffer(parse_buffer.data(), int(parse_buffer.size()), yyscanner);
42,646✔
3436
}
42,646✔
3437

21,324✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc