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

realm / realm-core / github_pull_request_275914

25 Sep 2023 03:10PM UTC coverage: 92.915% (+1.7%) from 91.215%
github_pull_request_275914

Pull #6073

Evergreen

jedelbo
Merge tag 'v13.21.0' into next-major

"Feature/Bugfix release"
Pull Request #6073: Merge next-major

96928 of 177706 branches covered (0.0%)

8324 of 8714 new or added lines in 122 files covered. (95.52%)

181 existing lines in 28 files now uncovered.

247505 of 266379 relevant lines covered (92.91%)

7164945.17 hits per line

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

83.6
/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,244,046✔
175
/* %ok-for-header */
5,293,012✔
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
141,808✔
207
#define yyout yyg->yyout_r
230,186✔
208
#define yyextra yyg->yyextra_r
85,292✔
209
#define yyleng yyg->yyleng_r
1,913,800✔
210
#define yytext yyg->yytext_r
2,433,484✔
211
#define yylineno (YY_CURRENT_BUFFER_LVALUE->yy_bs_lineno)
515,038✔
212
#define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column)
×
213
#define yy_flex_debug yyg->yy_flex_debug_r
1,954,050✔
214

1,970,558✔
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)
39,912✔
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
60,884✔
246

63,968✔
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
2,147,483,647✔
288
#define EOB_ACT_END_OF_FILE 1
39,912✔
289
#define EOB_ACT_LAST_MATCH 2
82,068✔
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
60,300✔
366
#define YY_BUFFER_NORMAL 1
83,426✔
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
2,147,483,647✔
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 \
162,366✔
398
                          ? yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] \
332,958✔
399
                          : NULL)
332,950✔
400
/* Same as previous macro, but useful when we know that the buffer stack is not
170,592✔
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]
462,832✔
404

486,490✔
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)
19,956✔
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,134,452✔
475

2,160,232✔
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,913,800✔
497
/* %% [2.0] code to fiddle yytext and yyleng for yymore() goes here \ */\
3,842,068✔
498
        yyleng = (int) (yy_cp - yy_bp); \
3,842,068✔
499
        yyg->yy_hold_char = *yy_cp; \
3,842,068✔
500
        *yy_cp = '\0'; \
3,842,068✔
501
/* %% [3.0] code to copy yytext_ptr to yytext[] goes here, if %array \ */\
3,842,068✔
502
        yyg->yy_c_buf_p = yy_cp;
3,842,068✔
503
/* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */
1,928,268✔
504
#define YY_NUM_RULES 68
505
#define YY_END_OF_BUFFER 69
79,916✔
506
/* This struct is not used in this scanner,
84,028✔
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[418] =
514
    {   0,
515
        0,    0,   69,   67,    1,    2,   14,   67,   66,   67,
516
       67,    9,    3,    3,    9,   57,   57,    7,    4,    8,
517
       67,   66,   66,   66,   66,   66,   66,   66,   66,   66,
518
       66,   66,   66,   66,   66,    9,   66,   66,   66,   66,
519
       66,   66,   66,   66,   66,   66,   67,   67,   67,   67,
520
        1,    2,    6,    0,   64,    0,   66,   58,    0,    0,
521
        0,    0,   12,    0,   65,    0,    0,   59,    0,    0,
522
       62,    0,   62,   57,    0,    0,   61,   10,    4,   11,
523
        0,    0,    0,    0,    0,    0,    0,    0,   66,   66,
524
       66,   66,   66,   66,   66,   66,   66,   66,   66,   66,
525

526
       66,    5,   66,   66,   66,   66,   66,   66,   66,   55,
527
       66,   13,   66,   66,   66,    0,   66,   66,   66,   66,
528
       66,    0,   66,   66,   66,   66,   66,   66,   66,   66,
529
       13,   66,    0,    0,    0,    0,    0,    0,    0,    0,
530
        0,   62,    0,   62,    0,   61,   60,    0,    0,    0,
531
        0,    0,    0,    0,    0,    0,    0,   16,   12,   15,
532
       31,   66,   66,   66,   66,   66,   66,   66,   66,   66,
533
       66,   49,    0,   66,   66,   50,   51,   66,   14,   66,
534
       30,   66,   66,   66,    0,    0,   66,   66,   66,   46,
535
       66,   66,   66,   66,   66,   66,    0,    0,    0,    0,
536

537
       49,   50,    0,   62,    0,   41,    0,    0,    0,   38,
538
       39,    0,   40,    0,    0,   66,    0,   66,   66,   66,
539
       32,   66,   66,   66,   66,   66,   66,   66,   66,   66,
540
       56,   22,   66,   17,   51,   27,   66,    0,   54,   21,
541
       47,   66,   66,    0,   66,    0,    0,    0,    0,    0,
542
       44,    0,   37,   43,    0,   66,   63,    0,   66,   66,
543
       66,   66,   66,   66,   48,   66,   66,   66,   66,   66,
544
       66,   29,   66,   66,    0,    0,    0,    0,    0,    0,
545
       42,    0,   66,   66,   66,   66,   66,   66,   66,   66,
546
       34,   66,   66,   66,   66,   66,   66,    0,    0,    0,
547

548
        0,   45,   66,   66,   23,   66,   66,   66,   66,   66,
549
       66,   66,   66,   66,   66,   66,    0,    0,    0,    0,
550
       66,   66,   20,   66,   28,   19,   66,   66,   66,   66,
551
       49,   33,   66,    0,    0,   49,    0,   31,   66,   66,
552
       66,   36,   66,   24,   66,    0,    0,    0,   18,   32,
553
       66,   35,   66,    0,    0,   54,   66,   66,    0,    0,
554
        0,   66,   66,    0,    0,   54,   66,   25,    0,    0,
555
       26,    0,    0,    0,    0,    0,    0,    0,    0,    0,
556
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
557
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
558

559
        0,   53,    0,    0,    0,    0,    0,    0,    0,    0,
560
        0,    0,    0,    0,    0,   52,    0
561
    } ;
562

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

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

587
       84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
588
       84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
589
       84,   84,   84,   85,   85,   85,   85,   85,   85,   85,
590
       85,   85,   85,   85,   85,   85,   85,   85,   85,   86,
591
       86,   86,   86,   86,   86,   86,   86,    1,    1,    1,
592
        1,    1,    1,    1,    1
593
    } ;
594

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

608
static const flex_int16_t yy_base[487] =
609
    {   0,
610
        0,    0,  798, 1933,   85,  781,  758,   82,   72,  764,
611
       85, 1933, 1933,   79,   83,   90,  111,   88,   92,  740,
612
       78,  109,  139,  120,  149,  134,  112,  154,  126,  168,
613
      208,  195,  245,  215,  319,  705,  237,  257,  230,  267,
614
      260,  330,  305,  323,  357,  342,  679,  677,  674,  673,
615
      116,  751, 1933,  122, 1933,  414,  275,  415,  172,  670,
616
      660,  655, 1933,  113, 1933,  441,  419,  435,  119,  159,
617
      443,  458,  487,  504,  513,    0, 1933, 1933, 1933, 1933,
618
      660,  664,  668,  650,   77,  113,  624,  647,  360,  485,
619
      492,  427,  477,  506,  489,  282,  407,  513,  529,  541,
620

621
      547,  551,  557,  601,  591,  576,  586,  500,  596,  646,
622
      637,  621,  640,  655,  625,  536,  702,  705,  666,  682,
623
      695,  647,  702,  717,  706,  724,  730,  751,  747,  721,
624
     1933,  743,  617,  609,    0,  605,  585,    0,  185,  191,
625
      676, 1933,  823,  827,  831,  835,    0,  596,  580,  575,
626
      583,  572,  581,  567,  579,  575,  573,  777,  781,  786,
627
      826,  806,  829,  820,  832,  866,  848,  855,  875,  882,
628
      916,  911,  856,  894,  928,  900,  904,  924,  919,  953,
629
      940,  945,  965,  974, 1014, 1048,  969,  988,  992, 1933,
630
     1011, 1022, 1018, 1026, 1031, 1034,  555,    0,  528,    0,
631

632
      214, 1933, 1080, 1103, 1107, 1933,  540,  533,  540, 1933,
633
     1933,  545, 1933,  543,  526, 1089,  595, 1092, 1083, 1103,
634
     1100, 1117, 1113, 1140, 1151, 1110, 1155, 1164, 1174, 1178,
635
     1119, 1004, 1167, 1130, 1159, 1170, 1214, 1128, 1250, 1193,
636
     1223, 1230, 1235,    0, 1220,    0,    0,  215, 1266,  520,
637
     1933,  519, 1933, 1933,  527, 1244, 1933,  574, 1257, 1265,
638
     1282, 1271, 1292, 1299, 1311, 1316, 1286, 1335, 1306, 1328,
639
     1340, 1345, 1358, 1362,    0,    0,    0,    0,  223, 1418,
640
     1933,  486, 1370, 1379, 1400, 1405, 1419, 1422, 1413, 1397,
641
     1408, 1442, 1458, 1462, 1466, 1476, 1470,    0,    0,  221,
642

643
     1513, 1933, 1484, 1510, 1487, 1513, 1522, 1530, 1525, 1559,
644
     1551, 1567, 1578, 1570, 1581, 1587,    0,    0,  223, 1561,
645
     1595, 1622, 1540, 1607, 1616, 1625, 1629, 1643, 1646, 1664,
646
     1636, 1652, 1659,    0,    0, 1933, 1733, 1672, 1706, 1709,
647
     1712, 1682, 1720, 1693, 1754,    0,    0, 1665, 1717, 1729,
648
     1758, 1733, 1772,    0,    0, 1802, 1781, 1795,    0,    0,
649
     1811, 1799, 1802,    0,    0, 1857, 1829, 1806,    0,  536,
650
     1810,    0,    0,    0,    0,    0,    0,    0,    0,    0,
651
      534,    0,    0,    0,    0,    0,    0,    0,    0,    0,
652
      526,    0,    0,    0,    0,    0,    0,    0,    0,  526,
653

654
      512, 1933,    0,    0,    0,    0,    0,    0,    0,    0,
655
        0,    0,    0,    0,  498, 1933, 1933, 1915, 1918, 1923,
656
      484,  481,  480,  478,  469, 1927,  468,  466,  465,  461,
657
      445,  444,  425,  421,  420,  418,  417,  415,  408,  407,
658
      398,  393,  392,  383,  381,  380,  378,  377,  376,  371,
659
      370,  369,  367,  351,  350,  344,  343,  322,  321,  315,
660
      308,  305,  304,  301,  293,  272,  271,  266,  265,  246,
661
      240,  228,  212,  197,  196,  187,  178,  177,  163,  160,
662
      159,  133,  120,  119,  103,   92
663
    } ;
664

665
static const flex_int16_t yy_def[487] =
666
    {   0,
667
      417,    1,  417,  417,  417,  417,  417,  418,  419,  417,
668
      420,  417,  417,  417,  417,  417,  417,  417,  417,  417,
669
      417,  419,  419,  419,  419,  419,  419,  419,  419,  419,
670
      419,  419,  419,  419,  419,  417,  419,  419,  419,  419,
671
      419,  419,  419,  419,  419,  419,  417,  417,  417,  417,
672
      417,  417,  417,  418,  417,  417,  419,  419,  417,  417,
673
      417,  417,  417,  420,  417,  417,  417,  417,  417,  417,
674
      417,  417,  417,  417,  417,  421,  417,  417,  417,  417,
675
      417,  417,  417,  417,  417,  417,  417,  417,  419,  419,
676
      419,  419,  419,  419,  419,  419,  419,  419,  419,  419,
677

678
      419,  419,  419,  419,  419,  419,  419,  419,  419,  419,
679
      419,  419,  419,  419,  419,  417,   35,   35,  419,  419,
680
      419,  417,  419,  419,  419,  419,  419,  419,  419,  419,
681
      417,  419,  417,  417,  422,  417,  417,  423,  417,  417,
682
      417,  417,  417,  417,  417,  417,  421,  417,  417,  417,
683
      417,  417,  417,  417,  417,  417,  417,  419,  419,  419,
684
      419,  419,  419,  419,  419,  419,  419,  419,  419,  419,
685
      419,  419,  417,  419,  419,  419,  419,  419,  419,  419,
686
      419,  419,  419,  419,  417,  417,  419,  419,  419,  417,
687
      419,  419,  419,  419,  419,  419,  417,  424,  417,  425,
688

689
      417,  417,  417,  417,  417,  417,  417,  417,  417,  417,
690
      417,  417,  417,  417,  417,  419,  426,  419,  419,  419,
691
      419,  419,  419,  419,  419,  419,  419,  419,  419,  419,
692
      417,  419,  419,  419,  419,  419,  419,  417,  417,  419,
693
      419,  419,  419,  427,  419,  428,  429,  417,  417,  417,
694
      417,  417,  417,  417,  417,  419,  417,  426,  419,  419,
695
      419,  419,  419,  419,  419,  419,  419,  419,  419,  419,
696
      419,  419,  419,  419,  430,  431,  432,  433,  417,  417,
697
      417,  417,  419,  419,  419,  419,  419,  419,  419,  419,
698
      419,  419,  419,  419,  419,  419,  419,  434,  435,  417,
699

700
      417,  417,  419,  419,  419,  419,  419,  419,  419,  419,
701
      419,  419,  419,  419,  419,  419,  436,  437,  417,  417,
702
      419,  419,  419,  419,  419,  419,  419,  419,  419,  419,
703
      419,  419,  419,  438,  439,  417,  417,  419,  419,  419,
704
      419,  419,  419,  419,  419,  440,  441,  417,  419,  419,
705
      419,  419,  419,  442,  443,  417,  419,  419,  444,  445,
706
      417,  419,  419,  446,  447,  417,  419,  419,  448,  417,
707
      419,  449,  450,  451,  452,  453,  454,  455,  456,  457,
708
      417,  458,  459,  460,  461,  462,  463,  464,  465,  466,
709
      417,  467,  468,  469,  470,  471,  472,  473,  474,  417,
710

711
      417,  417,  475,  476,  477,  478,  479,  480,  481,  482,
712
      483,  484,  485,  486,  417,  417,    0,  417,  417,  417,
713
      417,  417,  417,  417,  417,  417,  417,  417,  417,  417,
714
      417,  417,  417,  417,  417,  417,  417,  417,  417,  417,
715
      417,  417,  417,  417,  417,  417,  417,  417,  417,  417,
716
      417,  417,  417,  417,  417,  417,  417,  417,  417,  417,
717
      417,  417,  417,  417,  417,  417,  417,  417,  417,  417,
718
      417,  417,  417,  417,  417,  417,  417,  417,  417,  417,
719
      417,  417,  417,  417,  417,  417
720
    } ;
721

722
static const flex_int16_t yy_nxt[2020] =
723
    {   0,
724
        4,    5,    6,    5,    7,    8,    9,   10,   11,   12,
725
       12,   13,   14,   12,   14,   15,   13,   16,   17,   17,
726
       17,    4,   18,   19,   20,   21,   22,   23,   24,   25,
727
       26,   27,   28,   29,   30,   29,   29,   31,   29,   32,
728
       33,   29,   29,   29,   34,   35,   29,   29,   29,   29,
729
       29,   36,    4,   12,   29,   37,   38,   24,   25,   26,
730
       39,   28,   29,   40,   29,   29,   41,   29,   42,   43,
731
       29,   29,   29,   44,   45,   46,   29,   29,   29,   29,
732
       29,   47,    4,   48,   49,   50,   51,   55,   51,   58,
733
       58,   58,   58,   65,   67,  415,   68,   68,   68,   68,
734

735
       71,   71,   71,   71,   72,   73,  414,   74,   74,   74,
736
       74,   78,   53,   69,   78,   79,   80,   51,   70,   51,
737
       75,   65,  413,  412,   59,   72,   73,   55,   74,   74,
738
       74,   74,  152,   81,   56,   82,  411,   66,   99,   76,
739
      153,   75,   69,   83,   84,   85,   89,   70,   90,   75,
740
       77,   86,   87,   91,   88,   60,   61,   62,  139,   93,
741
       95,   59,  410,  409,   59,   66,  408,  100,   76,   94,
742
       75,   77,   59,   98,   56,   57,  154,   92,   59,   96,
743
      407,  406,   91,   97,  101,  140,   59,  139,  155,   95,
744
      405,   59,   60,   61,   62,   60,   61,   62,   94,  404,
745

746
      401,   59,   98,   60,   61,   62,   59,  102,   96,   60,
747
       61,   62,   97,  101,  140,  400,  201,   60,   61,   62,
748
       59,  106,   60,   61,   62,  104,  104,  104,  104,  107,
749
      202,  399,   60,   61,   62,  108,  103,   60,   61,   62,
750
       57,  109,  105,  398,   57,  201,   57,   59,  248,  397,
751
      106,   60,   61,   62,  279,  113,  100,  300,  107,  202,
752
       59,  114,  110,  110,  110,  110,  319,   59,  396,  395,
753
      109,  105,  111,  336,  394,  392,   92,  248,   60,   61,
754
       62,   91,   59,  279,  115,  125,  300,   94,  112,   59,
755
      114,   60,   61,   62,  105,  319,  391,   59,   60,   61,
756

757
       62,  111,  336,  123,  390,  124,  103,  389,  388,   59,
758
       91,  387,   59,   60,   61,   62,   94,  112,  386,   59,
759
       60,   61,   62,  105,  385,  384,  166,   59,   60,   61,
760
       62,  116,  111,  117,   59,  102,  118,  118,  118,  118,
761
       60,   61,   62,   60,   61,   62,  382,  381,  112,  119,
762
       60,   61,   62,  380,  379,  166,  106,   59,   60,   61,
763
       62,  111,  120,  115,  107,   60,   61,   62,  127,  114,
764
      378,   59,  377,  376,  375,   59,  109,  112,  119,  374,
765
      372,  370,   59,  369,  365,  106,  364,  119,   60,   61,
766
       62,  121,  128,  107,   59,  360,  359,  158,  114,  126,
767

768
      121,  355,   60,   61,   62,  109,   60,   61,   62,   59,
769
      354,  347,   59,   60,   61,   62,  119,  130,  346,   54,
770
      335,  334,   54,  318,  317,   60,   61,   62,   64,  129,
771
       54,   54,   58,   58,   58,   58,   71,   71,   71,   71,
772
       60,   61,   62,   60,   61,   62,   64,   54,  299,   64,
773
       73,  167,   68,   68,   68,   68,  159,   64,   64,   59,
774
       71,   71,   71,   71,  298,   75,   54,   59,  278,  277,
775
       54,  275,  247,  141,   54,  143,  143,  143,  143,   59,
776
      167,  246,   54,  200,  198,  159,   54,  147,   54,  135,
777
       60,   61,   62,   64,   75,   77,  162,   64,   60,   61,
778

779
       62,   64,  141,  142,  144,  144,  144,  144,  416,   64,
780
       60,   61,   62,   64,  159,   64,  138,  141,   72,   73,
781
      161,   74,   74,   74,   74,  145,  403,  145,  165,   59,
782
      146,  146,  146,  146,   75,  160,  402,   59,  163,  178,
783
      393,   59,  168,  159,   59,  179,  141,  142,  383,  161,
784
      373,  164,   59,  185,  185,  185,  185,  165,   59,  302,
785
       60,   61,   62,   75,   77,   59,  169,  163,   60,   61,
786
       62,  168,   60,   61,   62,   60,   61,   62,  170,  257,
787
      164,   59,  172,   60,   61,   62,  282,  171,  172,   60,
788
       61,   62,  281,   59,  253,  170,   60,   61,   62,   59,
789

790
      257,  255,  254,   59,  253,  252,  251,  170,  250,   59,
791
       57,  172,   60,   61,   62,  176,  171,  172,  104,  104,
792
      104,  104,  173,  177,   60,   61,   62,  174,   59,  175,
793
       60,   61,   62,  180,   60,   61,   62,  132,   59,  215,
794
       60,   61,   62,   59,  176,  214,  213,  212,   59,  211,
795
      210,  209,  177,   59,  208,  207,  174,  206,  175,   60,
796
       61,   62,  180,  110,  110,  110,  110,  199,  183,   60,
797
       61,   62,  181,   59,   60,   61,   62,   59,  182,   60,
798
       61,   62,  184,  183,   60,   61,   62,   57,  203,   59,
799
      203,  197,   59,  204,  204,  204,  204,  183,   59,  132,
800

801
      190,  181,  157,  156,   60,   61,   62,   59,   60,   61,
802
       62,  184,  183,  151,  417,  187,   57,  417,   59,   57,
803
       60,   61,   62,   60,   61,   62,  186,  150,  188,   60,
804
       61,   62,   57,  149,   59,   57,  148,  137,   60,   61,
805
       62,  189,  136,  170,  187,   57,  159,   59,   57,   60,
806
       61,   62,   57,   52,   59,  134,  133,  189,   59,  132,
807
      131,   57,  122,   80,   57,   60,   61,   62,  158,   59,
808
      189,   63,  191,   59,   57,  159,   59,   57,   60,   61,
809
       62,   53,   59,   52,  196,   60,   61,   62,  193,   60,
810
       61,   62,  192,  189,  183,   59,  160,  417,  179,   59,
811

812
       60,   61,   62,   59,   60,   61,   62,   60,   61,   62,
813
      417,  217,  417,   60,   61,   62,  417,  417,  194,  417,
814
      417,  417,  195,  183,  417,  417,   60,   61,   62,   59,
815
       60,   61,   62,   59,   60,   61,   62,  205,   59,  417,
816
      143,  143,  143,  143,  144,  144,  144,  144,  146,  146,
817
      146,  146,  146,  146,  146,  146,  216,  141,   59,  417,
818
       60,   61,   62,  218,   60,   61,   62,  417,  219,   60,
819
       61,   62,   59,  231,  231,  231,  231,  220,   59,  417,
820
      417,   59,  417,  417,   59,  216,  141,  142,  417,   60,
821
       61,   62,  218,  222,  221,   77,  417,  219,  417,  223,
822

823
       59,  417,  417,   60,   61,   62,  220,   59,  417,   60,
824
       61,   62,   60,   61,   62,   60,   61,   62,   59,  224,
825
      417,  417,  222,  221,  232,  417,  225,   59,  223,  417,
826
      417,   60,   61,   62,   59,  417,  417,  417,   60,   61,
827
       62,  417,  417,  226,  227,  230,   59,  417,  225,   60,
828
       61,   62,   59,  232,  234,  225,   59,  228,   60,   61,
829
       62,  417,  233,   59,  229,   60,   61,   62,   59,  417,
830
      417,   59,  226,  227,  230,  160,   59,   60,   61,   62,
831
       59,  417,  417,   60,   61,   62,  228,   60,   61,   62,
832
      235,  233,   59,  229,   60,   61,   62,   59,  417,   60,
833

834
       61,   62,   60,   61,   62,   59,  417,   60,   61,   62,
835
      236,   60,   61,   62,  240,  417,  237,   59,  241,  235,
836
      417,   59,  242,   60,   61,   62,   59,  244,   60,   61,
837
       62,  185,  185,  185,  185,  186,   60,   61,   62,  236,
838
       59,  417,  417,  240,   59,  237,  417,  242,   60,   61,
839
       62,  242,   60,   61,   62,  225,   59,   60,   61,   62,
840
      238,  242,  238,   59,  417,  239,  239,  239,  239,  417,
841
       59,   60,   61,   62,   59,   60,   61,   62,   59,  417,
842
      417,  234,  417,   59,  243,  160,   59,   60,   61,   62,
843
      241,  417,  245,  417,   60,   61,   62,  204,  204,  204,
844

845
      204,   60,   61,   62,  417,   60,   61,   62,  417,   60,
846
       61,   62,  417,  260,   60,   61,   62,   60,   61,   62,
847
      204,  204,  204,  204,  249,  249,  249,  249,  256,  261,
848
      262,  259,  417,  417,  417,   59,  231,  231,  231,  231,
849
      417,   59,  260,  417,   59,  239,  239,  239,  239,  417,
850
      267,  263,   59,  417,  417,   59,  417,  256,  261,  262,
851
      259,  264,   59,  142,  417,   59,   60,   61,   62,   59,
852
      265,  417,   60,   61,   62,   60,   61,   62,  417,  267,
853
      263,  266,   59,   60,   61,   62,   60,   61,   62,  268,
854
      264,  417,   59,   60,   61,   62,   60,   61,   62,  266,
855

856
       60,   61,   62,   59,  269,  417,  417,   59,  270,  417,
857
      266,   59,  272,   60,   61,   62,   59,  271,  268,   59,
858
      417,  417,   59,   60,   61,   62,   59,  417,  417,  276,
859
       59,  417,  417,  269,   60,   61,   62,  270,   60,   61,
860
       62,  272,   60,   61,   62,   59,  271,   60,   61,   62,
861
       60,   61,   62,   60,   61,   62,  417,   60,   61,   62,
862
      273,   60,   61,   62,  274,  266,   59,  239,  239,  239,
863
      239,  274,   59,  283,  417,   59,   60,   61,   62,  417,
864
      417,  417,   59,  249,  249,  249,  249,   59,  417,  273,
865
      417,  280,  417,  274,  265,  285,   59,   60,   61,   62,
866

867
      274,  284,  283,   60,   61,   62,   60,   61,   62,   59,
868
      287,  280,  417,   60,   61,   62,  286,   59,   60,   61,
869
       62,  417,  417,   59,  285,  417,  417,   60,   61,   62,
870
      284,  288,  417,  289,   59,  291,  417,  417,   59,  287,
871
       60,   61,   62,  293,   59,  286,  417,  417,   60,   61,
872
       62,   59,  290,  417,   60,   61,   62,  290,   59,  417,
873
      288,  417,  289,   59,  291,   60,   61,   62,   59,   60,
874
       61,   62,  293,  294,  295,   60,   61,   62,  292,  417,
875
       59,  290,   60,   61,   62,  417,  290,   59,  296,   60,
876
       61,   62,   59,  417,   60,   61,   62,   59,  417,   60,
877

878
       61,   62,  294,  295,  303,  297,  417,  292,  417,  417,
879
       59,   60,   61,   62,   59,  417,  417,  296,   60,   61,
880
       62,  417,   59,   60,   61,   62,  417,  304,   60,   61,
881
       62,   59,  417,  303,  297,  301,  301,  301,  301,  305,
882
      310,   60,   61,   62,  306,   60,   61,   62,  307,   59,
883
      308,  417,   59,   60,   61,   62,  304,   59,  309,  417,
884
       59,  417,   60,   61,   62,   59,  417,  417,  305,  310,
885
      311,   59,  417,  306,   59,  417,  417,  307,  417,  308,
886
       60,   61,   62,   60,   61,   62,  417,  309,   60,   61,
887
       62,   60,   61,   62,   59,  313,   60,   61,   62,  311,
888

889
      316,  417,   60,   61,   62,   60,   61,   62,  312,  417,
890
       59,  314,  417,  417,   59,  417,  417,  417,   59,  315,
891
      417,  417,   59,  321,  313,   60,   61,   62,   59,  316,
892
      301,  301,  301,  301,  320,  417,   59,  312,  417,   59,
893
      314,   60,   61,   62,  322,   60,   61,   62,  315,   60,
894
       61,   62,  321,   60,   61,   62,  324,  323,  326,   60,
895
       61,   62,   59,  417,  417,   59,  417,   60,   61,   62,
896
       60,   61,   62,  322,   59,  325,  417,   59,  337,  337,
897
      337,  337,   59,  417,  417,  324,  323,  326,  328,  327,
898
      417,  417,   59,   60,   61,   62,   60,   61,   62,  329,
899

900
      417,  417,  417,   59,  325,   60,   61,   62,   60,   61,
901
       62,   59,  330,   60,   61,   62,  333,  328,  327,   59,
902
      331,  417,   59,   60,   61,   62,  417,  338,  329,  417,
903
       59,  332,  417,   59,   60,   61,   62,  417,  417,   59,
904
      417,  330,   60,   61,   62,  333,  340,   59,  417,  331,
905
       60,   61,   62,   60,   61,   62,  338,  417,  341,   59,
906
      332,   60,   61,   62,   60,   61,   62,  339,   59,  417,
907
       60,   61,   62,  342,   59,  340,  417,   59,   60,   61,
908
       62,   59,  356,  356,  356,  356,  343,  341,   59,  417,
909
       60,   61,   62,  345,  417,   59,  339,  417,   59,   60,
910

911
       61,   62,  342,  344,   59,   60,   61,   62,   60,   61,
912
       62,   59,   60,   61,   62,  343,   59,  417,  417,   60,
913
       61,   62,  345,  417,   59,  417,   60,   61,   62,   60,
914
       61,   62,  344,  417,   59,   60,   61,   62,  417,  349,
915
      417,  350,   60,   61,   62,   59,  351,   60,   61,   62,
916
      337,  337,  337,  337,  348,   60,   61,   62,   59,  352,
917
      417,   59,  417,  417,   59,   60,   61,   62,  349,   59,
918
      350,  417,   59,  417,  417,  351,   60,   61,   62,  417,
919
      417,   59,  353,  417,  417,   59,  357,  417,  352,   60,
920
       61,   62,   60,   61,   62,   60,   61,   62,  358,  417,
921

922
       60,   61,   62,   60,   61,   62,   59,  362,  417,  417,
923
       59,  353,   60,   61,   62,  357,   60,   61,   62,  356,
924
      356,  356,  356,  361,   59,  417,  417,  358,  366,  366,
925
      366,  366,  368,   59,  417,  417,  362,   60,   61,   62,
926
      363,   60,   61,   62,  367,  417,  417,   59,  417,  417,
927
      417,   59,  417,  417,   59,   60,   61,   62,   59,  371,
928
      417,  368,   59,  417,   60,   61,   62,  417,  417,  363,
929
      417,  417,  417,  367,  366,  366,  366,  366,   60,   61,
930
       62,   59,   60,   61,   62,   60,   61,   62,  371,   60,
931
       61,   62,  417,   60,   61,   62,  417,  417,  417,  417,
932

933
      417,  417,  417,  417,  417,  417,  417,  417,  417,  417,
934
      417,  417,   60,   61,   62,   54,   54,   54,   54,   54,
935
       57,   57,   57,   64,   64,   64,   64,   64,  258,  417,
936
      258,  258,    3,  417,  417,  417,  417,  417,  417,  417,
937
      417,  417,  417,  417,  417,  417,  417,  417,  417,  417,
938
      417,  417,  417,  417,  417,  417,  417,  417,  417,  417,
939
      417,  417,  417,  417,  417,  417,  417,  417,  417,  417,
940
      417,  417,  417,  417,  417,  417,  417,  417,  417,  417,
941
      417,  417,  417,  417,  417,  417,  417,  417,  417,  417,
942
      417,  417,  417,  417,  417,  417,  417,  417,  417,  417,
943

944
      417,  417,  417,  417,  417,  417,  417,  417,  417,  417,
945
      417,  417,  417,  417,  417,  417,  417,  417,  417
946
    } ;
947

948
static const flex_int16_t yy_chk[2020] =
949
    {   0,
950
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
951
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
952
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
953
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
954
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
955
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
956
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
957
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
958
        1,    1,    1,    1,    1,    1,    5,    8,    5,    9,
959
        9,    9,    9,   11,   14,  486,   14,   14,   14,   14,
960

961
       15,   15,   15,   15,   16,   16,  485,   16,   16,   16,
962
       16,   18,   18,   14,   19,   19,   19,   51,   14,   51,
963
       16,   64,  484,  483,    9,   17,   17,   54,   17,   17,
964
       17,   17,   85,   21,    8,   21,  482,   11,   27,   16,
965
       85,   17,   14,   21,   21,   21,   22,   14,   22,   16,
966
       16,   21,   21,   22,   21,    9,    9,    9,   69,   23,
967
       24,   22,  481,  480,   27,   64,  479,   27,   16,   23,
968
       17,   17,   24,   26,   54,   59,   86,   22,   29,   25,
969
      478,  477,   22,   25,   28,   70,   26,   69,   86,   24,
970
      476,   23,   22,   22,   22,   27,   27,   27,   23,  475,
971

972
      474,   25,   26,   24,   24,   24,   28,   30,   25,   29,
973
       29,   29,   25,   28,   70,  473,  139,   26,   26,   26,
974
       30,   32,   23,   23,   23,   31,   31,   31,   31,   32,
975
      140,  472,   25,   25,   25,   32,   30,   28,   28,   28,
976
       59,   32,   31,  471,   59,  139,   59,   32,  201,  470,
977
       32,   30,   30,   30,  248,   34,   39,  279,   32,  140,
978
       31,   34,   33,   33,   33,   33,  300,   34,  469,  468,
979
       32,   31,   33,  319,  467,  466,   37,  201,   32,   32,
980
       32,   37,   39,  248,   34,   39,  279,   38,   33,   37,
981
       34,   31,   31,   31,   41,  300,  465,   33,   34,   34,
982

983
       34,   33,  319,   37,  464,   37,   40,  463,  462,   38,
984
       37,  461,   41,   39,   39,   39,   38,   33,  460,   40,
985
       37,   37,   37,   41,  459,  458,   96,   57,   33,   33,
986
       33,   35,   43,   35,   96,   40,   35,   35,   35,   35,
987
       38,   38,   38,   41,   41,   41,  457,  456,   43,   35,
988
       40,   40,   40,  455,  454,   96,   42,   43,   57,   57,
989
       57,   43,   35,   44,   42,   96,   96,   96,   43,   44,
990
      453,   35,  452,  451,  450,   44,   42,   43,   35,  449,
991
      448,  447,   42,  446,  445,   42,  444,   45,   43,   43,
992
       43,   35,   44,   42,   46,  443,  442,   89,   44,   42,
993

994
       45,  441,   35,   35,   35,   42,   44,   44,   44,   45,
995
      440,  439,   89,   42,   42,   42,   45,   46,  438,   56,
996
      437,  436,   56,  435,  434,   46,   46,   46,  433,   45,
997
       56,   56,   58,   58,   58,   58,   67,   67,   67,   67,
998
       45,   45,   45,   89,   89,   89,   66,  432,  431,   66,
999
       68,   97,   68,   68,   68,   68,   92,   66,   66,   97,
1000
       71,   71,   71,   71,  430,   68,   56,   58,  429,  428,
1001
       56,  427,  425,   71,   56,   72,   72,   72,   72,   92,
1002
       97,  424,   56,  423,  422,   92,   56,  421,   56,   56,
1003
       97,   97,   97,   66,   68,   68,   93,   66,   58,   58,
1004

1005
       58,   66,   71,   71,   73,   73,   73,   73,  415,   66,
1006
       92,   92,   92,   66,   90,   66,   66,   73,   74,   74,
1007
       91,   74,   74,   74,   74,   75,  401,   75,   95,   93,
1008
       75,   75,   75,   75,   74,   90,  400,   90,   94,  108,
1009
      391,   95,   98,   90,   91,  108,   73,   73,  381,   91,
1010
      370,   94,  108,  116,  116,  116,  116,   95,   94,  282,
1011
       93,   93,   93,   74,   74,   98,   99,   94,   90,   90,
1012
       90,   98,   95,   95,   95,   91,   91,   91,  100,  258,
1013
       94,   99,  102,  108,  108,  108,  255,  101,  103,   94,
1014
       94,   94,  252,  100,  250,   99,   98,   98,   98,  101,
1015

1016
      217,  215,  214,  102,  212,  209,  208,  100,  207,  103,
1017
      199,  102,   99,   99,   99,  106,  101,  103,  104,  104,
1018
      104,  104,  104,  107,  100,  100,  100,  105,  106,  105,
1019
      101,  101,  101,  109,  102,  102,  102,  197,  107,  157,
1020
      103,  103,  103,  105,  106,  156,  155,  154,  109,  153,
1021
      152,  151,  107,  104,  150,  149,  105,  148,  105,  106,
1022
      106,  106,  109,  110,  110,  110,  110,  137,  115,  107,
1023
      107,  107,  111,  112,  105,  105,  105,  115,  113,  109,
1024
      109,  109,  114,  113,  104,  104,  104,  136,  141,  111,
1025
      141,  134,  113,  141,  141,  141,  141,  115,  110,  133,
1026

1027
      122,  111,   88,   87,  112,  112,  112,  114,  115,  115,
1028
      115,  114,  113,   84,  117,  119,  117,  118,  119,  118,
1029
      111,  111,  111,  113,  113,  113,  118,   83,  120,  110,
1030
      110,  110,  117,   82,  120,  118,   81,   62,  114,  114,
1031
      114,  121,   61,  125,  119,  117,  124,  121,  118,  119,
1032
      119,  119,   60,   52,  123,   50,   49,  120,  125,   48,
1033
       47,  117,   36,   20,  118,  120,  120,  120,  123,  124,
1034
      121,   10,  125,  130,  117,  124,  126,  118,  121,  121,
1035
      121,    7,  127,    6,  130,  123,  123,  123,  127,  125,
1036
      125,  125,  126,  129,  128,  132,  124,    3,  126,  129,
1037

1038
      124,  124,  124,  128,  130,  130,  130,  126,  126,  126,
1039
        0,  162,    0,  127,  127,  127,    0,    0,  128,    0,
1040
        0,    0,  129,  128,    0,    0,  132,  132,  132,  158,
1041
      129,  129,  129,  159,  128,  128,  128,  143,  160,    0,
1042
      143,  143,  143,  143,  144,  144,  144,  144,  145,  145,
1043
      145,  145,  146,  146,  146,  146,  161,  144,  162,    0,
1044
      158,  158,  158,  163,  159,  159,  159,    0,  164,  160,
1045
      160,  160,  164,  173,  173,  173,  173,  165,  161,    0,
1046
        0,  163,    0,    0,  165,  161,  144,  144,    0,  162,
1047
      162,  162,  163,  167,  166,  146,    0,  164,    0,  168,
1048

1049
      167,    0,    0,  164,  164,  164,  165,  168,    0,  161,
1050
      161,  161,  163,  163,  163,  165,  165,  165,  166,  169,
1051
        0,    0,  167,  166,  174,    0,  170,  169,  168,    0,
1052
        0,  167,  167,  167,  170,    0,    0,    0,  168,  168,
1053
      168,    0,    0,  171,  171,  172,  174,    0,  169,  166,
1054
      166,  166,  176,  174,  178,  170,  177,  171,  169,  169,
1055
      169,    0,  175,  172,  171,  170,  170,  170,  171,    0,
1056
        0,  179,  171,  171,  172,  182,  178,  174,  174,  174,
1057
      175,    0,    0,  176,  176,  176,  171,  177,  177,  177,
1058
      180,  175,  181,  171,  172,  172,  172,  182,    0,  171,
1059

1060
      171,  171,  179,  179,  179,  180,    0,  178,  178,  178,
1061
      183,  175,  175,  175,  187,    0,  184,  183,  188,  180,
1062
        0,  187,  189,  181,  181,  181,  184,  193,  182,  182,
1063
      182,  185,  185,  185,  185,  185,  180,  180,  180,  183,
1064
      188,    0,    0,  187,  189,  184,    0,  188,  183,  183,
1065
      183,  189,  187,  187,  187,  191,  232,  184,  184,  184,
1066
      186,  195,  186,  191,    0,  186,  186,  186,  186,    0,
1067
      193,  188,  188,  188,  192,  189,  189,  189,  194,    0,
1068
        0,  192,    0,  195,  191,  194,  196,  232,  232,  232,
1069
      195,    0,  196,    0,  191,  191,  191,  203,  203,  203,
1070

1071
      203,  193,  193,  193,    0,  192,  192,  192,    0,  194,
1072
      194,  194,    0,  219,  195,  195,  195,  196,  196,  196,
1073
      204,  204,  204,  204,  205,  205,  205,  205,  216,  220,
1074
      221,  218,    0,    0,    0,  219,  231,  231,  231,  231,
1075
        0,  216,  219,    0,  218,  238,  238,  238,  238,    0,
1076
      226,  222,  221,    0,    0,  220,    0,  216,  220,  221,
1077
      218,  223,  226,  204,    0,  223,  219,  219,  219,  222,
1078
      224,    0,  216,  216,  216,  218,  218,  218,    0,  226,
1079
      222,  225,  234,  221,  221,  221,  220,  220,  220,  227,
1080
      223,    0,  224,  226,  226,  226,  223,  223,  223,  224,
1081

1082
      222,  222,  222,  225,  228,    0,    0,  227,  229,    0,
1083
      225,  235,  233,  234,  234,  234,  228,  230,  227,  233,
1084
        0,    0,  236,  224,  224,  224,  229,    0,    0,  245,
1085
      230,    0,    0,  228,  225,  225,  225,  229,  227,  227,
1086
      227,  233,  235,  235,  235,  240,  230,  228,  228,  228,
1087
      233,  233,  233,  236,  236,  236,    0,  229,  229,  229,
1088
      237,  230,  230,  230,  241,  243,  237,  239,  239,  239,
1089
      239,  242,  245,  256,    0,  241,  240,  240,  240,    0,
1090
        0,    0,  242,  249,  249,  249,  249,  243,    0,  237,
1091
        0,  249,    0,  241,  243,  260,  256,  237,  237,  237,
1092

1093
      242,  259,  256,  245,  245,  245,  241,  241,  241,  259,
1094
      262,  249,    0,  242,  242,  242,  261,  260,  243,  243,
1095
      243,    0,    0,  262,  260,    0,    0,  256,  256,  256,
1096
      259,  263,    0,  264,  261,  267,    0,    0,  267,  262,
1097
      259,  259,  259,  269,  263,  261,    0,    0,  260,  260,
1098
      260,  264,  265,    0,  262,  262,  262,  266,  269,    0,
1099
      263,    0,  264,  265,  267,  261,  261,  261,  266,  267,
1100
      267,  267,  269,  270,  271,  263,  263,  263,  268,    0,
1101
      270,  265,  264,  264,  264,    0,  266,  268,  273,  269,
1102
      269,  269,  271,    0,  265,  265,  265,  272,    0,  266,
1103

1104
      266,  266,  270,  271,  283,  274,    0,  268,    0,    0,
1105
      273,  270,  270,  270,  274,    0,    0,  273,  268,  268,
1106
      268,    0,  283,  271,  271,  271,    0,  284,  272,  272,
1107
      272,  284,    0,  283,  274,  280,  280,  280,  280,  285,
1108
      290,  273,  273,  273,  286,  274,  274,  274,  287,  290,
1109
      288,    0,  285,  283,  283,  283,  284,  286,  289,    0,
1110
      291,    0,  284,  284,  284,  289,    0,    0,  285,  290,
1111
      292,  287,    0,  286,  288,    0,    0,  287,    0,  288,
1112
      290,  290,  290,  285,  285,  285,    0,  289,  286,  286,
1113
      286,  291,  291,  291,  292,  294,  289,  289,  289,  292,
1114

1115
      297,    0,  287,  287,  287,  288,  288,  288,  293,    0,
1116
      293,  295,    0,    0,  294,    0,    0,    0,  295,  296,
1117
        0,    0,  297,  303,  294,  292,  292,  292,  296,  297,
1118
      301,  301,  301,  301,  301,    0,  303,  293,    0,  305,
1119
      295,  293,  293,  293,  304,  294,  294,  294,  296,  295,
1120
      295,  295,  303,  297,  297,  297,  307,  306,  309,  296,
1121
      296,  296,  304,    0,    0,  306,    0,  303,  303,  303,
1122
      305,  305,  305,  304,  307,  308,    0,  309,  320,  320,
1123
      320,  320,  308,    0,    0,  307,  306,  309,  311,  310,
1124
        0,    0,  323,  304,  304,  304,  306,  306,  306,  312,
1125

1126
        0,    0,    0,  311,  308,  307,  307,  307,  309,  309,
1127
      309,  310,  313,  308,  308,  308,  316,  311,  310,  312,
1128
      314,    0,  314,  323,  323,  323,    0,  321,  312,    0,
1129
      313,  315,    0,  315,  311,  311,  311,    0,    0,  316,
1130
        0,  313,  310,  310,  310,  316,  324,  321,    0,  314,
1131
      312,  312,  312,  314,  314,  314,  321,    0,  327,  324,
1132
      315,  313,  313,  313,  315,  315,  315,  322,  325,    0,
1133
      316,  316,  316,  328,  322,  324,    0,  326,  321,  321,
1134
      321,  327,  348,  348,  348,  348,  329,  327,  331,    0,
1135
      324,  324,  324,  333,    0,  328,  322,    0,  329,  325,
1136

1137
      325,  325,  328,  330,  332,  322,  322,  322,  326,  326,
1138
      326,  333,  327,  327,  327,  329,  330,    0,    0,  331,
1139
      331,  331,  333,    0,  338,    0,  328,  328,  328,  329,
1140
      329,  329,  330,    0,  342,  332,  332,  332,    0,  339,
1141
        0,  340,  333,  333,  333,  344,  341,  330,  330,  330,
1142
      337,  337,  337,  337,  337,  338,  338,  338,  339,  343,
1143
        0,  340,    0,    0,  341,  342,  342,  342,  339,  349,
1144
      340,    0,  343,    0,    0,  341,  344,  344,  344,    0,
1145
        0,  350,  345,    0,    0,  352,  351,    0,  343,  339,
1146
      339,  339,  340,  340,  340,  341,  341,  341,  353,    0,
1147

1148
      349,  349,  349,  343,  343,  343,  345,  357,    0,    0,
1149
      351,  345,  350,  350,  350,  351,  352,  352,  352,  356,
1150
      356,  356,  356,  356,  353,    0,    0,  353,  361,  361,
1151
      361,  361,  363,  357,    0,    0,  357,  345,  345,  345,
1152
      358,  351,  351,  351,  362,    0,    0,  358,    0,    0,
1153
        0,  362,    0,    0,  363,  353,  353,  353,  368,  367,
1154
        0,  363,  371,    0,  357,  357,  357,    0,    0,  358,
1155
        0,    0,    0,  362,  366,  366,  366,  366,  358,  358,
1156
      358,  367,  362,  362,  362,  363,  363,  363,  367,  368,
1157
      368,  368,    0,  371,  371,  371,    0,    0,    0,    0,
1158

1159
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1160
        0,    0,  367,  367,  367,  418,  418,  418,  418,  418,
1161
      419,  419,  419,  420,  420,  420,  420,  420,  426,    0,
1162
      426,  426,  417,  417,  417,  417,  417,  417,  417,  417,
1163
      417,  417,  417,  417,  417,  417,  417,  417,  417,  417,
1164
      417,  417,  417,  417,  417,  417,  417,  417,  417,  417,
1165
      417,  417,  417,  417,  417,  417,  417,  417,  417,  417,
1166
      417,  417,  417,  417,  417,  417,  417,  417,  417,  417,
1167
      417,  417,  417,  417,  417,  417,  417,  417,  417,  417,
1168
      417,  417,  417,  417,  417,  417,  417,  417,  417,  417,
1169

1170
      417,  417,  417,  417,  417,  417,  417,  417,  417,  417,
1171
      417,  417,  417,  417,  417,  417,  417,  417,  417
1172
    } ;
1173

1174
static const flex_int16_t yy_rule_linenum[68] =
1175
    {   0,
1176
       32,   33,   35,   36,   37,   38,   39,   40,   41,   42,
1177
       43,   44,   45,   46,   47,   48,   49,   50,   51,   52,
1178
       53,   54,   55,   56,   57,   58,   59,   60,   61,   62,
1179
       63,   64,   65,   66,   67,   68,   69,   70,   71,   72,
1180
       73,   74,   75,   76,   77,   78,   79,   80,   81,   82,
1181
       83,   84,   85,   86,   87,   88,   89,   90,   91,   92,
1182
       93,   94,   95,   96,   97,   98,  100
1183
    } ;
1184

1185
/* The intent behind this definition is that it'll catch
1186
 * any uses of REJECT which flex missed.
1187
 */
1188
#define REJECT reject_used_but_not_detected
1189
#define yymore() yymore_used_but_not_detected
1190
#define YY_MORE_ADJ 0
100,062✔
1191
#define YY_RESTORE_YY_MORE_OFFSET
1192

1193
# include <cerrno>
1194
# include <climits>
1195
# include <cstdlib>
1196
# include <cstring> // strerror
1197
# include <string>
1198
# include "realm/parser/driver.hpp"
1199
#define YY_NO_UNISTD_H 1
1200
#define YY_NO_INPUT 1
1201

1202

1203

1204
#define INITIAL 0
1205

1206

1207

1208

1209
#ifndef YY_NO_UNISTD_H
1210
/* Special case for "unistd.h", since it is non-ANSI. We include it way
1211
 * down here because we want the user's section 1 to have been scanned first.
1212
 * The user has a chance to override it with an option.
1213
 */
1214
/* %if-c-only */
1215
#include <unistd.h>
1216
/* %endif */
1217
/* %if-c++-only */
1218
/* %endif */
1219
#endif
1220

1221

1222

1223
#ifndef YY_EXTRA_TYPE
1224
#define YY_EXTRA_TYPE void *
1225
#endif
1226

1227

1228

1229
/* %if-c-only Reentrant structure and macros (non-C++). */
1230
/* %if-reentrant */
1231

1232

1233
/* Holds the entire state of the reentrant scanner. */
1234
struct yyguts_t
1235
    {
1236

1237
    /* User-defined. Not touched by flex. */
1238
    YY_EXTRA_TYPE yyextra_r;
1239

1240
    /* The rest are the same as the globals declared in the non-reentrant scanner. */
1241
    FILE *yyin_r, *yyout_r;
1242
    size_t yy_buffer_stack_top; /**< index of top of stack. */
1243
    size_t yy_buffer_stack_max; /**< capacity of stack. */
1244
    YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */
1245
    char yy_hold_char;
1246
    int yy_n_chars;
1247
    int yyleng_r;
1248
    char *yy_c_buf_p;
1249
    int yy_init;
1250
    int yy_start;
1251
    int yy_did_buffer_switch_on_eof;
1252
    int yy_start_stack_ptr;
1253
    int yy_start_stack_depth;
1254
    int *yy_start_stack;
1255
    yy_state_type yy_last_accepting_state;
1256
    char* yy_last_accepting_cpos;
1257

1258
    int yylineno_r;
105,200✔
1259
    int yy_flex_debug_r;
1260

1261

1262

1263

1264
    char *yytext_r;
1265
    int yy_more_flag;
1266
    int yy_more_len;
1267

1268

1269

1270

1271

1272

1273
    }; /* end struct yyguts_t */
1274

1275

1276

1277
/* %if-c-only */
1278

1279
static int yy_init_globals ( yyscan_t yyscanner );
1280

1281
/* %endif */
1282

1283
/* %if-reentrant */
1284

1285

1286
    
1287

1288
    
1289

1290

1291
int yylex_init (yyscan_t* scanner);
1292

1293
int yylex_init_extra ( YY_EXTRA_TYPE user_defined, yyscan_t* scanner);
1294

1295
/* %endif */
1296

1297
/* %endif End reentrant structures and macros. */
1298

1299
/* Accessor methods to globals.
1300
   These are made visible to non-reentrant scanners for convenience. */
1301

1302

1303
int yylex_destroy ( yyscan_t yyscanner );
1304

1305

1306

1307
int yyget_debug ( yyscan_t yyscanner );
1308

1309

1310

1311
void yyset_debug ( int debug_flag , yyscan_t yyscanner );
1312

1313

1314

1315
YY_EXTRA_TYPE yyget_extra ( yyscan_t yyscanner );
1316

1317

1318

1319
void yyset_extra ( YY_EXTRA_TYPE user_defined , yyscan_t yyscanner );
1320

1321

1322

1323
FILE *yyget_in ( yyscan_t yyscanner );
1324

1325

1326

1327
void yyset_in  ( FILE * _in_str , yyscan_t yyscanner );
1328

1329

1330

1331
FILE *yyget_out ( yyscan_t yyscanner );
1332

1333

1334

1335
void yyset_out  ( FILE * _out_str , yyscan_t yyscanner );
1336

1337

1338

1339
                        int yyget_leng ( yyscan_t yyscanner );
1340

1341

1342

1343
char *yyget_text ( yyscan_t yyscanner );
1344

1345

1346

1347
int yyget_lineno ( yyscan_t yyscanner );
1348

1349

1350

1351
void yyset_lineno ( int _line_number , yyscan_t yyscanner );
1352

1353

1354

1355

1356
int yyget_column  ( yyscan_t yyscanner );
1357

1358

1359

1360

1361

1362
void yyset_column ( int _column_no , yyscan_t yyscanner );
1363

1364

1365

1366
/* %if-bison-bridge */
1367
/* %endif */
1368

1369
/* Macros after this point can all be overridden by user definitions in
1370
 * section 1.
1371
 */
1372

1373
#ifndef YY_SKIP_YYWRAP
1374
#ifdef __cplusplus
1375
extern "C" int yywrap ( yyscan_t yyscanner );
1376
#else
1377
extern int yywrap ( yyscan_t yyscanner );
1378
#endif
1379
#endif
1380

1381
/* %not-for-header */
1382
#ifndef YY_NO_UNPUT
1383
    
1384
#endif
1385
/* %ok-for-header */
1386

1387
/* %endif */
1388

1389
#ifndef yytext_ptr
1390
static void yy_flex_strncpy ( char *, const char *, int , yyscan_t yyscanner);
1391
#endif
1392

1393
#ifdef YY_NEED_STRLEN
1394
static int yy_flex_strlen ( const char * , yyscan_t yyscanner);
1395
#endif
1396

1397
#ifndef YY_NO_INPUT
1398
/* %if-c-only Standard (non-C++) definition */
1399
/* %not-for-header */
1400
#ifdef __cplusplus
1401
static int yyinput ( yyscan_t yyscanner );
1402
#else
1403
static int input ( yyscan_t yyscanner );
1404
#endif
1405
/* %ok-for-header */
1406

1407
/* %endif */
1408
#endif
1409

1410

1411
/* %if-c-only */
1412

1413

1414

1415

1416

1417
/* %endif */
1418

1419
/* Amount of stuff to slurp up with each read. */
1420
#ifndef YY_READ_BUF_SIZE
1421
#ifdef __ia64__
1422
/* On IA-64, the buffer size is 16k, not 8k */
1423
#define YY_READ_BUF_SIZE 16384
1424
#else
1425
#define YY_READ_BUF_SIZE 8192
2,147,483,647✔
1426
#endif /* __ia64__ */
1427
#endif
1428

1429

1430
/* Copy whatever the last rule matched to the standard output. */
1431
#ifndef ECHO
1432
/* %if-c-only Standard (non-C++) definition */
1433
/* This used to be an fputs(), but since the string might contain NUL's,
1434
 * we now use fwrite().
1435
 */
1436
#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
1437
/* %endif */
1438
/* %if-c++-only C++ definition */
1439
/* %endif */
1440
#endif
1441

1442

1443

1444
/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
1445
 * is returned in "result".
1446
 */
1447
#ifndef YY_INPUT
1448
#define YY_INPUT(buf,result,max_size) \
1449
/* %% [5.0] fread()/read() definition of YY_INPUT goes here unless we're doing C++ \ */\
1450
        if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2,147,483,647✔
1451
                { \
2,147,483,647✔
1452
                int c = '*'; \
1453
                int n; \
1454
                for ( n = 0; n < max_size && \
1455
                             (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1456
                        buf[n] = (char) c; \
1457
                if ( c == '\n' ) \
1458
                        buf[n++] = (char) c; \
1459
                if ( c == EOF && ferror( yyin ) ) \
1460
                        YY_FATAL_ERROR( "input in flex scanner failed" ); \
1461
                result = n; \
1462
                } \
1463
        else \
2,147,483,647✔
1464
                { \
2,147,483,647✔
1465
                errno=0; \
2,147,483,647✔
1466
                while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
2,147,483,647✔
1467
                        { \
2,147,483,647✔
1468
                        if( errno != EINTR) \
1469
                                { \
1470
                                YY_FATAL_ERROR( "input in flex scanner failed" ); \
1471
                                break; \
1472
                                } \
1473
                        errno=0; \
1474
                        clearerr(yyin); \
1475
                        } \
1476
                }\
2,147,483,647✔
1477
\
1478
/* %if-c++-only C++ definition \ */\
1479
/* %endif */
1480

1481
#endif
1482

1483

1484

1485
/* No semi-colon after return; correct usage is to write "yyterminate();" -
1486
 * we don't want an extra ';' after the "return" because that will cause
1487
 * some compilers to complain about unreachable statements.
1488
 */
1489
#ifndef yyterminate
1490
#define yyterminate() return YY_NULL
1491
#endif
1492

1493

1494
/* Number of entries by which start-condition stack grows. */
1495
#ifndef YY_START_STACK_INCR
1496
#define YY_START_STACK_INCR 25
1497
#endif
1498

1499

1500
/* Report a fatal error. */
1501
#ifndef YY_FATAL_ERROR
1502
/* %if-c-only */
1503
#define YY_FATAL_ERROR(msg) yy_fatal_error( msg , yyscanner)
1504
/* %endif */
1505
/* %if-c++-only */
1506
/* %endif */
1507
#endif
1508

1509

1510
/* %if-tables-serialization structures and prototypes */
1511
/* %not-for-header */
1512
/* %ok-for-header */
1513

1514
/* %not-for-header */
1515
/* %tables-yydmap generated elements */
1516
/* %endif */
1517
/* end tables serialization structures and prototypes */
1518

1519
/* %ok-for-header */
1520

1521

1522
/* Default declaration of generated scanner - a define so the user can
1523
 * easily add parameters.
1524
 */
1525
#ifndef YY_DECL
1526
#define YY_DECL_IS_OURS 1
1527
/* %if-c-only Standard (non-C++) definition */
1528

1529

1530

1531

1532

1533

1534

1535

1536

1537
extern int yylex (yyscan_t yyscanner);
1538

1539
#define YY_DECL int yylex (yyscan_t yyscanner)
1540
/* %endif */
1541
/* %if-c++-only C++ definition */
1542
/* %endif */
1543
#endif /* !YY_DECL */
1544

1545

1546
/* Code executed at the beginning of each rule, after yytext and yyleng
1547
 * have been set up.
1548
 */
1549
#ifndef YY_USER_ACTION
1550
#define YY_USER_ACTION
1551
#endif
1552

1553

1554

1555
/* Code executed at the end of each rule. */
1556
#ifndef YY_BREAK
1557
#define YY_BREAK /*LINTED*/break;
909,878✔
1558
#endif
1559

1560

1561

1562
/* %% [6.0] YY_RULE_SETUP definition goes here */
1563
#define YY_RULE_SETUP \
1564
        YY_USER_ACTION
1565

1566

1567
/* %not-for-header */
1568
/** The main scanner function which does all the work.
1569
 */
1570
YY_DECL
1571
{
983,800✔
1572
        yy_state_type yy_current_state;
983,800✔
1573
        char *yy_cp, *yy_bp;
983,800✔
1574
        int yy_act;
983,800✔
1575
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
983,800✔
1576

983,800✔
1577

983,800✔
1578

983,800✔
1579

983,800✔
1580

983,800✔
1581

983,800✔
1582

983,800✔
1583
        if ( !yyg->yy_init )
983,800✔
1584
                {
20,294✔
1585
                yyg->yy_init = 1;
20,294✔
1586

20,294✔
1587
#ifdef YY_USER_INIT
1588
                YY_USER_INIT;
1589
#endif
1590

20,294✔
1591

20,294✔
1592

20,294✔
1593
                if ( ! yyg->yy_start )
20,294✔
1594
                        yyg->yy_start = 1;        /* first start state */
20,294✔
1595

20,294✔
1596
                if ( ! yyin )
20,294✔
1597
/* %if-c-only */
20,294✔
1598
                        yyin = stdin;
20,294✔
1599
/* %endif */
20,294✔
1600
/* %if-c++-only */
20,294✔
1601
/* %endif */
20,294✔
1602

20,294✔
1603
                if ( ! yyout )
20,294✔
1604
/* %if-c-only */
20,294✔
1605
                        yyout = stdout;
20,296✔
1606
/* %endif */
20,294✔
1607
/* %if-c++-only */
20,294✔
1608
/* %endif */
20,294✔
1609

20,294✔
1610
                if ( ! YY_CURRENT_BUFFER ) {
20,294✔
1611
                        yyensure_buffer_stack (yyscanner);
1612
                        YY_CURRENT_BUFFER_LVALUE =
1613
                                yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner);
1614
                }
1615

20,294✔
1616
                yy_load_buffer_state( yyscanner );
20,294✔
1617
                }
20,294✔
1618

983,800✔
1619
        {
983,800✔
1620
/* %% [7.0] user's declarations go here */
983,800✔
1621

983,800✔
1622

983,800✔
1623
        while ( /*CONSTCOND*/1 )                /* loops until end-of-file is reached */
1,893,678✔
1624
                {
1,893,650✔
1625
/* %% [8.0] yymore()-related code goes here */
2,805,578✔
1626
                yy_cp = yyg->yy_c_buf_p;
1,893,650✔
1627

1,893,650✔
1628
                /* Support of yytext. */
1,893,650✔
1629
                *yy_cp = yyg->yy_hold_char;
1,893,650✔
1630

1,893,650✔
1631
                /* yy_bp points to the position in yy_ch_buf of the start of
1,893,650✔
1632
                 * the current run.
1,893,650✔
1633
                 */
1,893,650✔
1634
                yy_bp = yy_cp;
1,893,650✔
1635

1,893,650✔
1636
/* %% [9.0] code to set up and find next match goes here */
1,893,650✔
1637
                yy_current_state = yyg->yy_start;
1,893,650✔
1638
yy_match:
1,893,658✔
1639
                do
2,888,886✔
1640
                        {
6,138,160✔
1641
                        YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
6,138,160✔
1642
                        if ( yy_accept[yy_current_state] )
6,138,160✔
1643
                                {
4,187,588✔
1644
                                yyg->yy_last_accepting_state = yy_current_state;
3,192,360✔
1645
                                yyg->yy_last_accepting_cpos = yy_cp;
3,192,360✔
1646
                                }
3,192,360✔
1647
                        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
8,101,246✔
1648
                                {
2,958,314✔
1649
                                yy_current_state = (int) yy_def[yy_current_state];
2,958,314✔
1650
                                if ( yy_current_state >= 418 )
2,958,314✔
1651
                                        yy_c = yy_meta[yy_c];
2,059,106✔
1652
                                }
2,979,638✔
1653
                        yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
5,164,256✔
1654
                        ++yy_cp;
5,142,932✔
1655
                        }
5,142,932✔
1656
                while ( yy_current_state != 417 );
5,142,932✔
1657
                yy_cp = yyg->yy_last_accepting_cpos;
1,893,658✔
1658
                yy_current_state = yyg->yy_last_accepting_state;
1,893,658✔
1659

1,893,658✔
1660
yy_find_action:
1,913,800✔
1661
/* %% [10.0] code to find the action number goes here */
1,935,124✔
1662
                yy_act = yy_accept[yy_current_state];
1,935,124✔
1663

1,913,800✔
1664
                YY_DO_BEFORE_ACTION;
1,935,124✔
1665

1,913,800✔
1666
/* %% [11.0] code for yylineno update goes here */
1,935,124✔
1667

1,913,800✔
1668

1,913,800✔
1669
do_action:        /* This label is used only to access EOF actions. */
1,933,754✔
1670

1,933,754✔
1671
/* %% [12.0] debug code goes here */
1,955,078✔
1672
                if ( yy_flex_debug )
1,933,754✔
1673
                        {
1,955,078✔
1674
                        if ( yy_act == 0 )
1675
                                fprintf( stderr, "--scanner backing up\n" );
1676
                        else if ( yy_act < 68 )
1677
                                fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n",
1678
                                         (long)yy_rule_linenum[yy_act], yytext );
21,324✔
1679
                        else if ( yy_act == 68 )
×
1680
                                fprintf( stderr, "--accepting default rule (\"%s\")\n",
×
1681
                                         yytext );
×
UNCOV
1682
                        else if ( yy_act == 69 )
×
1683
                                fprintf( stderr, "--(end of buffer or a NUL)\n" );
1684
                        else
21,324✔
1685
                                fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
21,324✔
1686
                        }
1687

2,928,982✔
1688
                switch ( yy_act )
1,933,754✔
1689
        { /* beginning of action switch */
1,933,754✔
1690
/* %% [13.0] actions go here */
1691
                        case 0: /* must back up */
1,907,192✔
1692
                        /* undo the effects of YY_DO_BEFORE_ACTION */
1,907,102✔
1693
                        *yy_cp = yyg->yy_hold_char;
36✔
1694
                        yy_cp = yyg->yy_last_accepting_cpos;
1,907,102✔
1695
                        yy_current_state = yyg->yy_last_accepting_state;
36✔
1696
                        goto yy_find_action;
36✔
1697

1,907,066✔
1698
case 1:
909,878✔
1699
YY_RULE_SETUP
909,878✔
1700
;
909,878✔
1701
        YY_BREAK
909,878✔
1702
case 2:
1,907,066✔
1703
/* rule 2 can match eol */
1704
YY_RULE_SETUP
1705
;
1,907,066✔
1706
        YY_BREAK
1,907,070✔
1707
case 3:
1,907,616✔
1708
YY_RULE_SETUP
5,192,586✔
1709
return yytext[0];
5,192,586✔
1710
        YY_BREAK
5,192,040✔
1711
case 4:
3,453,296✔
1712
YY_RULE_SETUP
3,453,296✔
1713
return yy::parser::make_EQUAL  ();
3,453,296✔
1714
        YY_BREAK
3,223,658✔
1715
case 5:
8,175,210✔
1716
YY_RULE_SETUP
2,983,170✔
1717
return yy::parser::make_IN  (yytext);
2,983,170✔
1718
        YY_BREAK
2,982,790✔
1719
case 6:
1,076,482✔
1720
YY_RULE_SETUP
2,984,292✔
1721
return yy::parser::make_NOT_EQUAL();
5,193,542✔
1722
        YY_BREAK
5,192,040✔
1723
case 7:
5,192,352✔
1724
YY_RULE_SETUP
5,192,352✔
1725
return yy::parser::make_LESS   ();
1,907,382✔
1726
        YY_BREAK
1,907,070✔
1727
case 8:
1,674✔
1728
YY_RULE_SETUP
1,929,942✔
1729
return yy::parser::make_GREATER();
1,674✔
1730
        YY_BREAK
1,928,268✔
1731
case 9:
19,368✔
1732
YY_RULE_SETUP
1,947,636✔
1733
return yytext[0];
19,368✔
1734
        YY_BREAK
1735
case 10:
192✔
1736
YY_RULE_SETUP
192✔
1737
return yy::parser::make_LESS_EQUAL ();
1,949,426✔
1738
        YY_BREAK
1739
case 11:
372✔
1740
YY_RULE_SETUP
1,949,606✔
1741
return yy::parser::make_GREATER_EQUAL ();
372✔
1742
        YY_BREAK
×
1743
case 12:
466✔
1744
YY_RULE_SETUP
466!
1745
return yy::parser::make_AND    ();
466✔
NEW
1746
        YY_BREAK
×
1747
case 13:
214,962!
1748
YY_RULE_SETUP
214,962✔
1749
return yy::parser::make_OR     ();
214,962✔
1750
        YY_BREAK
×
1751
case 14:
482✔
1752
YY_RULE_SETUP
482✔
1753
return yy::parser::make_NOT();
482✔
UNCOV
1754
        YY_BREAK
×
1755
case 15:
1,878✔
1756
YY_RULE_SETUP
1,951,112✔
1757
return yy::parser::make_ANY();
1,951,112✔
1758
        YY_BREAK
1759
case 16:
1,304✔
1760
YY_RULE_SETUP
1,268✔
1761
return yy::parser::make_ALL();
1,304✔
1762
        YY_BREAK
36✔
1763
case 17:
1,246✔
1764
YY_RULE_SETUP
1,246✔
1765
return yy::parser::make_NONE();
1,210✔
1766
        YY_BREAK
911,928✔
1767
case 18:
912,182✔
1768
YY_RULE_SETUP
912,182✔
1769
return yy::parser::make_BEGINSWITH(yytext);
912,182✔
1770
        YY_BREAK
✔
1771
case 19:
256✔
1772
YY_RULE_SETUP
256✔
1773
return yy::parser::make_ENDSWITH(yytext);
256✔
UNCOV
1774
        YY_BREAK
×
1775
case 20:
1,152✔
1776
YY_RULE_SETUP
1,152✔
1777
return yy::parser::make_CONTAINS(yytext);
1,152✔
UNCOV
1778
        YY_BREAK
×
1779
case 21:
230,622✔
1780
YY_RULE_SETUP
230,622✔
1781
return yy::parser::make_TEXT(yytext);
230,622✔
UNCOV
1782
        YY_BREAK
×
1783
case 22:
620✔
1784
YY_RULE_SETUP
620✔
1785
return yy::parser::make_LIKE(yytext);
620✔
UNCOV
1786
        YY_BREAK
×
1787
case 23:
1,574✔
1788
YY_RULE_SETUP
1,574✔
1789
return yy::parser::make_BETWEEN(yytext);
1,574✔
UNCOV
1790
        YY_BREAK
×
1791
case 24:
428✔
1792
YY_RULE_SETUP
428✔
1793
return yy::parser::make_GEOWITHIN(yytext);
428✔
UNCOV
1794
        YY_BREAK
×
1795
case 25:
1,964✔
1796
YY_RULE_SETUP
1,964✔
1797
return yy::parser::make_TRUEPREDICATE (); 
1,964✔
UNCOV
1798
        YY_BREAK
×
1799
case 26:
24,058✔
1800
YY_RULE_SETUP
24,058✔
1801
return yy::parser::make_FALSEPREDICATE (); 
24,058✔
UNCOV
1802
        YY_BREAK
×
1803
case 27:
546✔
1804
YY_RULE_SETUP
546✔
1805
return yy::parser::make_SORT(yytext);
546✔
UNCOV
1806
        YY_BREAK
×
1807
case 28:
570✔
1808
YY_RULE_SETUP
570✔
1809
return yy::parser::make_DISTINCT(yytext);
570✔
UNCOV
1810
        YY_BREAK
×
1811
case 29:
708✔
1812
YY_RULE_SETUP
708✔
1813
return yy::parser::make_LIMIT(yytext);
708✔
UNCOV
1814
        YY_BREAK
×
1815
case 30:
215,014✔
1816
YY_RULE_SETUP
215,014✔
1817
return yy::parser::make_OBJ(yytext);
215,014✔
UNCOV
1818
        YY_BREAK
×
1819
case 31:
772✔
1820
YY_RULE_SETUP
772✔
1821
return yy::parser::make_ASCENDING(yytext);
772✔
UNCOV
1822
        YY_BREAK
×
1823
case 32:
1,952✔
1824
YY_RULE_SETUP
1,952✔
1825
return yy::parser::make_DESCENDING(yytext);
1,952✔
UNCOV
1826
        YY_BREAK
×
1827
case 33:
1,450✔
1828
YY_RULE_SETUP
1,450✔
1829
return yy::parser::make_SUBQUERY();
1,450✔
UNCOV
1830
        YY_BREAK
×
1831
case 34:
1,220✔
1832
YY_RULE_SETUP
1,220✔
1833
return yy::parser::make_GEOBOX();
1,220✔
UNCOV
1834
        YY_BREAK
×
1835
case 35:
300✔
1836
YY_RULE_SETUP
300✔
1837
return yy::parser::make_GEOPOLYGON();
300✔
UNCOV
1838
        YY_BREAK
×
1839
case 36:
304✔
1840
YY_RULE_SETUP
304✔
1841
return yy::parser::make_GEOCIRCLE();
304✔
UNCOV
1842
        YY_BREAK
×
1843
case 37:
2,466✔
1844
YY_RULE_SETUP
2,466✔
1845
return yy::parser::make_SIZE(yytext);
2,466✔
UNCOV
1846
        YY_BREAK
×
1847
case 38:
462✔
1848
YY_RULE_SETUP
462✔
1849
return yy::parser::make_MAX    ();
462✔
UNCOV
1850
        YY_BREAK
×
1851
case 39:
664✔
1852
YY_RULE_SETUP
664✔
1853
return yy::parser::make_MIN    ();
664✔
UNCOV
1854
        YY_BREAK
×
1855
case 40:
546✔
1856
YY_RULE_SETUP
546✔
1857
return yy::parser::make_SUM    ();
546✔
UNCOV
1858
        YY_BREAK
×
1859
case 41:
550✔
1860
YY_RULE_SETUP
550✔
1861
return yy::parser::make_AVG    ();
550✔
UNCOV
1862
        YY_BREAK
×
1863
case 42:
664✔
1864
YY_RULE_SETUP
664✔
1865
return yy::parser::make_BACKLINK();
664✔
UNCOV
1866
        YY_BREAK
×
1867
case 43:
372✔
1868
YY_RULE_SETUP
372✔
1869
return yy::parser::make_TYPE    (yytext);
372✔
UNCOV
1870
        YY_BREAK
×
1871
case 44:
376✔
1872
YY_RULE_SETUP
376✔
1873
return yy::parser::make_KEY_VAL (yytext);
376✔
UNCOV
1874
        YY_BREAK
×
1875
case 45:
210✔
1876
YY_RULE_SETUP
210✔
1877
return yy::parser::make_KEY_VAL (yytext);
210✔
UNCOV
1878
        YY_BREAK
×
1879
case 46:
926✔
1880
YY_RULE_SETUP
926✔
1881
return yy::parser::make_CASE    ();
926✔
UNCOV
1882
        YY_BREAK
×
1883
case 47:
994✔
1884
YY_RULE_SETUP
994✔
1885
return yy::parser::make_TRUE    ();
994✔
UNCOV
1886
        YY_BREAK
×
1887
case 48:
188✔
1888
YY_RULE_SETUP
188✔
1889
return yy::parser::make_FALSE    ();
188✔
UNCOV
1890
        YY_BREAK
×
1891
case 49:
366✔
1892
YY_RULE_SETUP
366✔
1893
return yy::parser::make_INFINITY(yytext);
366✔
UNCOV
1894
        YY_BREAK
×
1895
case 50:
106✔
1896
YY_RULE_SETUP
106✔
1897
return  yy::parser::make_NAN(yytext);
106✔
UNCOV
1898
        YY_BREAK
×
1899
case 51:
1,294✔
1900
YY_RULE_SETUP
1,294✔
1901
return yy::parser::make_NULL_VAL ();
1,294✔
UNCOV
1902
        YY_BREAK
×
1903
case 52:
298✔
1904
YY_RULE_SETUP
298✔
1905
return yy::parser::make_UUID(yytext); 
298✔
UNCOV
1906
        YY_BREAK
×
1907
case 53:
368✔
1908
YY_RULE_SETUP
368✔
1909
return yy::parser::make_OID(yytext); 
368✔
UNCOV
1910
        YY_BREAK
×
1911
case 54:
318✔
1912
YY_RULE_SETUP
318✔
1913
return yy::parser::make_TIMESTAMP(yytext);
318✔
UNCOV
1914
        YY_BREAK
×
1915
case 55:
2,024✔
1916
YY_RULE_SETUP
2,024✔
1917
return yy::parser::make_LINK (yytext);
2,024✔
UNCOV
1918
        YY_BREAK
×
1919
case 56:
458✔
1920
YY_RULE_SETUP
458✔
1921
return yy::parser::make_TYPED_LINK (yytext);
458✔
UNCOV
1922
        YY_BREAK
×
1923
case 57:
12,064✔
1924
YY_RULE_SETUP
12,064✔
1925
return yy::parser::make_NATURAL0 (yytext);
12,064✔
UNCOV
1926
        YY_BREAK
×
1927
case 58:
216,704✔
1928
YY_RULE_SETUP
216,704✔
1929
return yy::parser::make_ARG(yytext); 
216,704✔
UNCOV
1930
        YY_BREAK
×
1931
case 59:
650✔
1932
YY_RULE_SETUP
650✔
1933
return yy::parser::make_NUMBER (yytext);
650✔
UNCOV
1934
        YY_BREAK
×
1935
case 60:
402✔
1936
YY_RULE_SETUP
402✔
1937
return yy::parser::make_NUMBER (yytext);
402✔
UNCOV
1938
        YY_BREAK
×
1939
case 61:
376✔
1940
YY_RULE_SETUP
376✔
1941
return yy::parser::make_FLOAT (yytext);
376✔
UNCOV
1942
        YY_BREAK
×
1943
case 62:
1,334✔
1944
YY_RULE_SETUP
1,334✔
1945
return yy::parser::make_FLOAT (yytext);
1,334✔
UNCOV
1946
        YY_BREAK
×
1947
case 63:
726✔
1948
YY_RULE_SETUP
726✔
1949
return yy::parser::make_BASE64(yytext);
726✔
UNCOV
1950
        YY_BREAK
×
1951
case 64:
2,508✔
1952
/* rule 64 can match eol */
2,508✔
1953
YY_RULE_SETUP
2,508✔
1954
return yy::parser::make_STRING (yytext);
2,220✔
1955
        YY_BREAK
218✔
1956
case 65:
1,710✔
1957
/* rule 65 can match eol */
1,710✔
1958
YY_RULE_SETUP
1,492✔
1959
return yy::parser::make_STRING (yytext);
1,496✔
1960
        YY_BREAK
4✔
1961
case 66:
244,960✔
1962
YY_RULE_SETUP
244,956✔
1963
return yy::parser::make_ID (check_escapes(yytext));
245,664✔
1964
        YY_BREAK
708✔
1965
case 67:
766✔
1966
YY_RULE_SETUP
58✔
1967
{
144✔
1968
             throw yy::parser::syntax_error
144✔
1969
               ("invalid character: " + std::string(yytext));
144✔
UNCOV
1970
           }
×
1971
        YY_BREAK
160✔
1972
case YY_STATE_EOF(INITIAL):
20,116✔
1973
return yy::parser::make_END ();
20,116✔
UNCOV
1974
        YY_BREAK
×
1975
case 68:
76✔
1976
YY_RULE_SETUP
76✔
1977
ECHO;
76✔
UNCOV
1978
        YY_BREAK
×
1979

32✔
1980
        case YY_END_OF_BUFFER:
40,036✔
1981
                {
40,036✔
1982
                /* Amount of text matched not including the EOB char. */
40,004✔
1983
                int yy_amount_of_matched_text = (int) (yy_cp - yyg->yytext_ptr) - 1;
41,120✔
1984

41,120✔
1985
                /* Undo the effects of YY_DO_BEFORE_ACTION. */
41,120✔
1986
                *yy_cp = yyg->yy_hold_char;
40,004✔
1987
                YY_RESTORE_YY_MORE_OFFSET
40,340✔
1988

40,340✔
1989
                if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
40,340✔
1990
                        {
40,004✔
1991
                        /* We're scanning a new file or input source.  It's
20,430✔
1992
                         * possible that this happened because the user
20,430✔
1993
                         * just pointed yyin at a new source and called
20,430✔
1994
                         * yylex().  If so, then we have to assure
20,044✔
1995
                         * consistency between YY_CURRENT_BUFFER and our
20,374✔
1996
                         * globals.  Here is the right place to do so, because
20,374✔
1997
                         * this is the first action (other than possibly a
20,374✔
1998
                         * back-up) that will match for the new input source.
20,044✔
1999
                         */
20,048✔
2000
                        yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
20,048✔
2001
/* %if-c-only */
20,048✔
2002
                        YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
20,044✔
2003
/* %endif */
20,068✔
2004
/* %if-c++-only */
20,068✔
2005
/* %endif */
20,068✔
2006
                        YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
20,044✔
2007
                        }
32,248✔
2008

52,208✔
2009
                /* Note that here we test for yy_c_buf_p "<=" to the position
52,208✔
2010
                 * of the first EOB in the buffer, since yy_c_buf_p will
40,004✔
2011
                 * already have been incremented past the NUL character
256,614✔
2012
                 * (since all states make transitions on EOB to the
256,614✔
2013
                 * end-of-buffer state).  Contrast this with the test
256,614✔
2014
                 * in input().
40,004✔
2015
                 */
40,220✔
2016
                if ( yyg->yy_c_buf_p <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
40,220✔
2017
                        { /* This was really a NUL. */
216✔
UNCOV
2018
                        yy_state_type yy_next_state;
×
2019

6✔
2020
                        yyg->yy_c_buf_p = yyg->yytext_ptr + yy_amount_of_matched_text;
6✔
2021

6✔
UNCOV
2022
                        yy_current_state = yy_get_previous_state( yyscanner );
×
2023

84✔
2024
                        /* Okay, we're now positioned to make the NUL
84✔
2025
                         * transition.  We couldn't have
84✔
UNCOV
2026
                         * yy_get_previous_state() go ahead and do it
×
2027
                         * for us because it doesn't know how to deal
1,310✔
2028
                         * with the possibility of jamming (and we don't
1,310✔
2029
                         * want to build jamming into it because then it
1,310✔
UNCOV
2030
                         * will run more slowly).
×
2031
                         */
716✔
2032

716✔
2033
                        yy_next_state = yy_try_NUL_trans( yy_current_state , yyscanner);
716✔
NEW
2034

×
2035
                        yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
2,276✔
2036

2037
                        if ( yy_next_state )
2,276✔
2038
                                {
2,276✔
NEW
2039
                                /* Consume the NUL. */
×
2040
                                yy_cp = ++yyg->yy_c_buf_p;
1,642✔
2041
                                yy_current_state = yy_next_state;
2042
                                goto yy_match;
1,642✔
2043
                                }
1,642✔
NEW
2044

×
2045
                        else
246,828✔
2046
                                {
246,828✔
2047
/* %% [14.0] code to do back-up for compressed tables and set up yy_cp goes here */
246,828✔
NEW
2048
                                yy_cp = yyg->yy_last_accepting_cpos;
×
2049
                                yy_current_state = yyg->yy_last_accepting_state;
58✔
2050
                                goto yy_find_action;
58✔
2051
                                }
58✔
2052
                        }
40,062✔
2053

40,062✔
2054
                else switch ( yy_get_next_buffer( yyscanner ) )
40,004✔
2055
                        {
40,004✔
2056
                        case EOB_ACT_END_OF_FILE:
40,940✔
2057
                                {
40,940✔
2058
                                yyg->yy_did_buffer_switch_on_eof = 0;
19,956✔
2059

19,956✔
2060
                                if ( yywrap( yyscanner ) )
19,956✔
2061
                                        {
19,956!
2062
                                        /* Note: because we've taken care in
19,956✔
2063
                                         * yy_get_next_buffer() to have set up
19,956✔
2064
                                         * yytext, we can now set up
62,016✔
2065
                                         * yy_c_buf_p so that if some total
62,016✔
2066
                                         * hoser (like flex itself) wants to
19,956✔
2067
                                         * call the scanner after we return the
62,016✔
2068
                                         * YY_NULL, it'll still work - another
19,956✔
2069
                                         * YY_NULL will get returned.
19,956✔
2070
                                         */
62,016✔
2071
                                        yyg->yy_c_buf_p = yyg->yytext_ptr + YY_MORE_ADJ;
62,016✔
2072

19,956✔
2073
                                        yy_act = YY_STATE_EOF(YY_START);
62,016✔
2074
                                        goto do_action;
41,026✔
2075
                                        }
19,956✔
2076

2077
                                else
2078
                                        {
2079
                                        if ( ! yyg->yy_did_buffer_switch_on_eof )
2080
                                                YY_NEW_FILE;
2081
                                        }
2082
                                break;
19,956✔
2083
                                }
19,956✔
2084

41,026✔
2085
                        case EOB_ACT_CONTINUE_SCAN:
19,956✔
2086
                                yyg->yy_c_buf_p =
21,070✔
2087
                                        yyg->yytext_ptr + yy_amount_of_matched_text;
2088

2089
                                yy_current_state = yy_get_previous_state( yyscanner );
2090

21,070✔
2091
                                yy_cp = yyg->yy_c_buf_p;
21,070✔
2092
                                yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
2093
                                goto yy_match;
2094

19,956✔
2095
                        case EOB_ACT_LAST_MATCH:
20,050✔
2096
                                yyg->yy_c_buf_p =
20,050✔
2097
                                &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars];
20,050✔
2098

20,050✔
2099
                                yy_current_state = yy_get_previous_state( yyscanner );
20,050✔
2100

62,110✔
2101
                                yy_cp = yyg->yy_c_buf_p;
20,050✔
2102
                                yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
20,050✔
2103
                                goto yy_find_action;
20,050✔
2104
                        }
×
2105
                break;
2106
                }
×
2107

2108
        default:
2109
                YY_FATAL_ERROR(
2110
                        "fatal flex scanner internal error--no action found" );
1,933,754✔
2111
        } /* end of action switch */
1,933,754✔
2112
                } /* end of scanning one token */
1,933,754✔
2113
        } /* end of user's declarations */
983,800✔
2114
} /* end of yylex */
983,800✔
2115
/* %ok-for-header */
2116

2117

2118
/* %if-c++-only */
2119
/* %not-for-header */
2120
/* %ok-for-header */
2121

×
2122
/* %endif */
2123

2124

2125
/* yy_get_next_buffer - try to read in a new buffer
2126
 *
2127
 * Returns a code representing an action:
2128
 *        EOB_ACT_LAST_MATCH -
2129
 *        EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2130
 *        EOB_ACT_END_OF_FILE - end of file
2131
 */
2132
/* %if-c-only */
2133
static int yy_get_next_buffer (yyscan_t yyscanner)
2134
/* %endif */
2135
/* %if-c++-only */
2136
/* %endif */
42,060✔
2137
{
40,004✔
2138
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
82,064✔
2139
        char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
82,064✔
2140
        char *source = yyg->yytext_ptr;
60,988✔
2141
        int number_to_move, i;
60,988✔
2142
        int ret_val;
60,988✔
2143

40,004✔
2144
        if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] )
60,988✔
2145
                YY_FATAL_ERROR(
60,988✔
2146
                "fatal flex scanner internal error--end of buffer missed" );
40,004✔
2147

40,004✔
2148
        if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
40,004✔
2149
                { /* Don't try to fill the buffer, so this is an EOF. */
40,006✔
2150
                if ( yyg->yy_c_buf_p - yyg->yytext_ptr - YY_MORE_ADJ == 1 )
40,006✔
2151
                        {
19,956✔
2152
                        /* We matched a single character, the EOB, so
19,956✔
2153
                         * treat this as a final EOF.
19,956✔
2154
                         */
19,956✔
2155
                        return EOB_ACT_END_OF_FILE;
40,940✔
2156
                        }
19,956✔
2157

41,034✔
2158
                else
41,034✔
2159
                        {
41,034✔
2160
                        /* We matched some text prior to the EOB, first
20,050✔
2161
                         * process it.
20,050✔
2162
                         */
20,050✔
2163
                        return EOB_ACT_LAST_MATCH;
20,050!
2164
                        }
20,050✔
2165
                }
2,147,483,647✔
2166

2,147,483,647✔
2167
        /* Try to read more data. */
2,147,504,631✔
2168

2,147,483,647✔
2169
        /* First move last chars to start of buffer. */
2,147,483,647✔
2170
        number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr - 1);
2,147,483,647✔
2171

2,147,483,647✔
2172
        for ( i = 0; i < number_to_move; ++i )
2,147,483,647✔
2173
                *(dest++) = *(source++);
×
2174

2,147,483,647✔
2175
        if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2,147,483,647✔
2176
                /* don't do the read, it's not guaranteed to return an EOF,
2,147,483,647✔
2177
                 * just force an EOF
2,147,483,647✔
2178
                 */
2,147,483,647✔
2179
                YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0;
2,147,504,723✔
2180

2,147,504,723✔
2181
        else
2,147,504,723✔
2182
                {
2,147,483,647✔
2183
                        int num_to_read =
2,147,504,723✔
2184
                        YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
2,147,483,647✔
2185

2,147,504,723✔
2186
                while ( num_to_read <= 0 )
2,147,504,723✔
2187
                        { /* Not enough room in the buffer - grow it. */
21,076✔
2188

×
2189
                        /* just a shorter name for the current buffer */
×
2190
                        YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
×
2191

2192
                        int yy_c_buf_p_offset =
✔
UNCOV
2193
                                (int) (yyg->yy_c_buf_p - b->yy_ch_buf);
×
2194

1,949,234✔
2195
                        if ( b->yy_is_our_buffer )
1,949,234✔
2196
                                {
1,949,234✔
2197
                                int new_size = b->yy_buf_size * 2;
995,228✔
2198

995,228✔
2199
                                if ( new_size <= 0 )
2200
                                        b->yy_buf_size += b->yy_buf_size / 8;
2201
                                else
2202
                                        b->yy_buf_size *= 2;
2203

2204
                                b->yy_ch_buf = (char *)
2205
                                        /* Include room in for 2 EOB chars. */
2206
                                        yyrealloc( (void *) b->yy_ch_buf,
2207
                                                         (yy_size_t) (b->yy_buf_size + 2) , yyscanner );
2208
                                }
2209
                        else
2210
                                /* Can't grow it, we don't own it. */
2211
                                b->yy_ch_buf = NULL;
2212

2213
                        if ( ! b->yy_ch_buf )
2214
                                YY_FATAL_ERROR(
2215
                                "fatal error - scanner input buffer overflow" );
2216

2217
                        yyg->yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
2218

2219
                        num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
2220
                                                number_to_move - 1;
2221

42,062✔
2222
                        }
42,062✔
2223

2,147,525,709✔
2224
                if ( num_to_read > YY_READ_BUF_SIZE )
2,147,525,709✔
2225
                        num_to_read = YY_READ_BUF_SIZE;
2,147,525,709✔
2226

2,147,525,709✔
2227
                /* Read in more data. */
2,147,483,647✔
2228
                YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
2,147,525,709✔
2229
                        yyg->yy_n_chars, num_to_read );
2,147,483,647✔
2230

2,147,525,709✔
2231
                YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
2,147,483,647✔
2232
                }
2,147,525,709✔
2233

2,147,525,709✔
2234
        if ( yyg->yy_n_chars == 0 )
2,147,525,709✔
2235
                {
20,984✔
2236
                if ( number_to_move == YY_MORE_ADJ )
2237
                        {
2238
                        ret_val = EOB_ACT_END_OF_FILE;
2239
                        yyrestart( yyin  , yyscanner);
20,984✔
2240
                        }
20,984✔
2241

2242
                else
21,078✔
2243
                        {
21,078✔
2244
                        ret_val = EOB_ACT_LAST_MATCH;
2245
                        YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
2246
                                YY_BUFFER_EOF_PENDING;
2247
                        }
21,078✔
2248
                }
21,078✔
2249

2,147,483,647✔
2250
        else
2,147,483,647✔
2251
                ret_val = EOB_ACT_CONTINUE_SCAN;
2,147,483,647✔
2252

2,147,483,647✔
2253
        if ((yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
2,147,483,647✔
UNCOV
2254
                /* Extend the array by 50%, plus the number we really need. */
×
2255
                int new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1);
UNCOV
2256
                YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
×
UNCOV
2257
                        (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size , yyscanner );
×
2258
                if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
UNCOV
2259
                        YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
×
2260
                /* "- 2" to take care of EOB's */
2261
                YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
2262
        }
2263

2,147,483,647✔
2264
        yyg->yy_n_chars += number_to_move;
2,147,483,647✔
2265
        YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] = YY_END_OF_BUFFER_CHAR;
2,147,483,647✔
2266
        YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
2,147,483,647✔
2267

2,147,483,647✔
2268
        yyg->yytext_ptr = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
2,147,483,647✔
2269

2,147,483,647✔
2270
        return ret_val;
2,147,483,647!
2271
}
2,147,483,647✔
2272

2273

2274
/* yy_get_previous_state - get the state just before the EOB char was reached */
2275

2276
/* %if-c-only */
2277
/* %not-for-header */
2278
    static yy_state_type yy_get_previous_state (yyscan_t yyscanner)
2279
/* %endif */
×
2280
/* %if-c++-only */
2281
/* %endif */
2282
{
20,050✔
2283
        yy_state_type yy_current_state;
20,050!
2284
        char *yy_cp;
20,050✔
2285
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
20,050✔
2286

20,050✔
2287
/* %% [15.0] code to get the start state into yy_current_state goes here */
20,050✔
2288
        yy_current_state = yyg->yy_start;
20,050✔
2289

20,050✔
2290
        for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++yy_cp )
121,164✔
2291
                {
101,114✔
2292
/* %% [16.0] code to find the next state goes here */
101,114✔
2293
                YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
101,114✔
2294
                if ( yy_accept[yy_current_state] )
101,114✔
2295
                        {
46,246✔
2296
                        yyg->yy_last_accepting_state = yy_current_state;
46,246✔
2297
                        yyg->yy_last_accepting_cpos = yy_cp;
46,246!
2298
                        }
46,246✔
2299
                while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
141,944✔
2300
                        {
40,830✔
2301
                        yy_current_state = (int) yy_def[yy_current_state];
40,830✔
2302
                        if ( yy_current_state >= 418 )
40,830✔
2303
                                yy_c = yy_meta[yy_c];
40,520✔
2304
                        }
40,830✔
2305
                yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
101,114✔
2306
                }
101,114✔
2307

20,050✔
2308
        return yy_current_state;
20,050!
2309
}
20,050✔
2310

2311

2312
/* yy_try_NUL_trans - try to make a transition on the NUL character
×
2313
 *
2314
 * synopsis
2315
 *        next_state = yy_try_NUL_trans( current_state );
2316
 */
2317
/* %if-c-only */
2318
    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state , yyscan_t yyscanner)
×
2319
/* %endif */
2320
/* %if-c++-only */
×
2321
/* %endif */
2322
{
×
2323
        int yy_is_jam;
×
2324
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unused depending upon options. */
×
2325
/* %% [17.0] code to find the next state, and perhaps do backing up, goes here */
2326
        char *yy_cp = yyg->yy_c_buf_p;
×
2327

×
2328
        YY_CHAR yy_c = 1;
×
2329
        if ( yy_accept[yy_current_state] )
×
2330
                {
×
2331
                yyg->yy_last_accepting_state = yy_current_state;
×
UNCOV
2332
                yyg->yy_last_accepting_cpos = yy_cp;
×
2333
                }
UNCOV
2334
        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
×
UNCOV
2335
                {
×
2336
                yy_current_state = (int) yy_def[yy_current_state];
UNCOV
2337
                if ( yy_current_state >= 418 )
×
2338
                        yy_c = yy_meta[yy_c];
2339
                }
×
2340
        yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
×
2341
        yy_is_jam = (yy_current_state == 417);
×
2342

×
2343
        (void)yyg;
×
2344
        return yy_is_jam ? 0 : yy_current_state;
2345
}
×
2346

2347

2348
#ifndef YY_NO_UNPUT
2349
/* %if-c-only */
2350

2351
/* %endif */
2352
#endif
2353

2354
/* %if-c-only */
2355
#ifndef YY_NO_INPUT
2356
#ifdef __cplusplus
2357
    static int yyinput (yyscan_t yyscanner)
2358
#else
2359
    static int input  (yyscan_t yyscanner)
2360
#endif
2361

2362
/* %endif */
2363
/* %if-c++-only */
2364
/* %endif */
2365
{
2366
        int c;
21,078✔
2367
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
21,078✔
2368

21,078✔
2369
        *yyg->yy_c_buf_p = yyg->yy_hold_char;
21,078✔
2370

2371
        if ( *yyg->yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
2372
                {
21,078✔
2373
                /* yy_c_buf_p now points to the character we want to return.
2374
                 * If this occurs *before* the EOB characters, then it's a
122,050✔
2375
                 * valid NUL; if not, then we've hit the end of the buffer.
100,972✔
2376
                 */
2377
                if ( yyg->yy_c_buf_p < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
100,972✔
2378
                        /* This was really a NUL. */
100,972✔
2379
                        *yyg->yy_c_buf_p = '\0';
45,862✔
2380

45,862✔
2381
                else
45,862✔
2382
                        { /* need more input */
45,862✔
2383
                        int offset = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr);
140,916✔
2384
                        ++yyg->yy_c_buf_p;
39,944✔
2385

39,944✔
2386
                        switch ( yy_get_next_buffer( yyscanner ) )
39,944✔
2387
                                {
39,622✔
2388
                                case EOB_ACT_LAST_MATCH:
39,944✔
2389
                                        /* This happens because yy_g_n_b()
100,972✔
2390
                                         * sees that we've accumulated a
100,972✔
2391
                                         * token and flags that we need to
2392
                                         * try matching the token before
21,078✔
2393
                                         * proceeding.  But for input(),
21,078✔
2394
                                         * there's no matching to consider.
2395
                                         * So convert the EOB_ACT_LAST_MATCH
2396
                                         * to EOB_ACT_END_OF_FILE.
2397
                                         */
2398

2399
                                        /* Reset buffer status. */
2400
                                        yyrestart( yyin , yyscanner);
2401

2402
                                        /*FALLTHROUGH*/
2403

2404
                                case EOB_ACT_END_OF_FILE:
2405
                                        {
2406
                                        if ( yywrap( yyscanner ) )
2407
                                                return 0;
2408

2409
                                        if ( ! yyg->yy_did_buffer_switch_on_eof )
2410
                                                YY_NEW_FILE;
2411
#ifdef __cplusplus
2412
                                        return yyinput(yyscanner);
2413
#else
×
2414
                                        return input(yyscanner);
2415
#endif
2416
                                        }
2417

2418
                                case EOB_ACT_CONTINUE_SCAN:
×
2419
                                        yyg->yy_c_buf_p = yyg->yytext_ptr + offset;
2420
                                        break;
2421
                                }
×
2422
                        }
2423
                }
2424

2425
        c = *(unsigned char *) yyg->yy_c_buf_p;        /* cast for 8-bit char's */
2426
        *yyg->yy_c_buf_p = '\0';        /* preserve yytext */
2427
        yyg->yy_hold_char = *++yyg->yy_c_buf_p;
2428

×
2429
/* %% [19.0] update BOL and yylineno */
2430

2431
        return c;
2432
}
2433
/* %if-c-only */
2434
#endif        /* ifndef YY_NO_INPUT */
2435
/* %endif */
2436

2437
/** Immediately switch to a different input stream.
2438
 * @param input_file A readable stream.
2439
 * @param yyscanner The scanner object.
2440
 * @note This function does not reset the start condition to @c INITIAL .
2441
 */
2442
/* %if-c-only */
2443
    void yyrestart  (FILE * input_file , yyscan_t yyscanner)
2444
/* %endif */
2445
/* %if-c++-only */
2446
/* %endif */
2447
{
2448
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2449

2450
        if ( ! YY_CURRENT_BUFFER ){
2451
        yyensure_buffer_stack (yyscanner);
2452
                YY_CURRENT_BUFFER_LVALUE =
2453
            yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner);
2454
        }
2455

2456
        yy_init_buffer( YY_CURRENT_BUFFER, input_file , yyscanner);
2457
        yy_load_buffer_state( yyscanner );
2458
}
2459

2460
/* %if-c++-only */
2461
/* %endif */
2462

2463
/** Switch to a different input buffer.
2464
 * @param new_buffer The new input buffer.
2465
 * @param yyscanner The scanner object.
2466
 */
2467
/* %if-c-only */
2468
    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer , yyscan_t yyscanner)
2469
/* %endif */
2470
/* %if-c++-only */
2471
/* %endif */
2472
{
20,296✔
2473
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
20,296✔
2474

20,296✔
2475
        /* TODO. We should be able to replace this entire function body
20,296✔
2476
         * with
20,296✔
2477
         *                yypop_buffer_state();
20,296✔
2478
         *                yypush_buffer_state(new_buffer);
20,296✔
2479
     */
20,296✔
2480
        yyensure_buffer_stack (yyscanner);
20,296✔
2481
        if ( YY_CURRENT_BUFFER == new_buffer )
20,296✔
2482
                return;
2483

20,296✔
2484
        if ( YY_CURRENT_BUFFER )
20,296✔
2485
                {
20,296✔
2486
                /* Flush out information for old buffer. */
2487
                *yyg->yy_c_buf_p = yyg->yy_hold_char;
2488
                YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
2489
                YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
2490
                }
2491

20,296✔
2492
        YY_CURRENT_BUFFER_LVALUE = new_buffer;
20,296✔
2493
        yy_load_buffer_state( yyscanner );
20,296✔
2494

20,296✔
2495
        /* We don't actually know whether we did this switch during
20,296✔
2496
         * EOF (yywrap()) processing, but the only time this flag
20,296✔
2497
         * is looked at is after yywrap() is called, so it's safe
20,296✔
2498
         * to go ahead and always set it.
20,296✔
2499
         */
20,296✔
2500
        yyg->yy_did_buffer_switch_on_eof = 1;
20,296✔
2501
}
20,296✔
2502

2503

2504
/* %if-c-only */
2505
static void yy_load_buffer_state  (yyscan_t yyscanner)
2506
/* %endif */
2507
/* %if-c++-only */
2508
/* %endif */
2509
{
40,586✔
2510
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
40,586✔
2511
        yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
40,586✔
2512
        yyg->yytext_ptr = yyg->yy_c_buf_p = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
40,586✔
2513
/* %if-c-only */
40,586✔
2514
        yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
40,586✔
2515
/* %endif */
40,586✔
2516
/* %if-c++-only */
40,586✔
2517
/* %endif */
40,586✔
2518
        yyg->yy_hold_char = *yyg->yy_c_buf_p;
40,586✔
2519
}
40,586✔
2520

2521
/** Allocate and initialize an input buffer state.
2522
 * @param file A readable stream.
2523
 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
2524
 * @param yyscanner The scanner object.
2525
 * @return the allocated buffer state.
2526
 */
2527
/* %if-c-only */
2528
    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size , yyscan_t yyscanner)
2529
/* %endif */
2530
/* %if-c++-only */
2531
/* %endif */
2532
{
×
2533
        YY_BUFFER_STATE b;
2534
    
×
2535
        b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) , yyscanner );
×
2536
        if ( ! b )
×
2537
                YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
×
2538

×
2539
        b->yy_buf_size = size;
2540

×
2541
        /* yy_ch_buf has to be 2 characters longer than the size given because
×
UNCOV
2542
         * we need to put in 2 end-of-buffer characters.
×
2543
         */
2544
        b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) , yyscanner );
2545
        if ( ! b->yy_ch_buf )
2546
                YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2547

2548
        b->yy_is_our_buffer = 1;
2549

2550
        yy_init_buffer( b, file , yyscanner);
2551

2552
        return b;
2553
}
2554

2555
/* %if-c++-only */
2556
/* %endif */
21,324✔
2557

21,324✔
2558
/** Destroy the buffer.
2559
 * @param b a buffer created with yy_create_buffer()
2560
 * @param yyscanner The scanner object.
2561
 */
2562
/* %if-c-only */
2563
    void yy_delete_buffer (YY_BUFFER_STATE  b , yyscan_t yyscanner)
2564
/* %endif */
21,324✔
2565
/* %if-c++-only */
21,324✔
2566
/* %endif */
2567
{
20,296✔
2568
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
41,620✔
2569

20,296✔
2570
        if ( ! b )
20,296✔
2571
                return;
×
2572

20,296✔
2573
        if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
20,296✔
2574
                YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
20,296✔
2575

20,296✔
2576
        if ( b->yy_is_our_buffer )
41,620✔
2577
                yyfree( (void *) b->yy_ch_buf , yyscanner );
21,324✔
2578

20,296✔
2579
        yyfree( (void *) b , yyscanner );
20,296✔
2580
}
20,296✔
2581

2582

2583
/* Initializes or reinitializes a buffer.
2584
 * This function is sometimes called more than once on the same buffer,
21,324✔
2585
 * such as during a yyrestart() or at EOF.
21,324✔
2586
 */
2587
/* %if-c-only */
2588
    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file , yyscan_t yyscanner)
2589
/* %endif */
2590
/* %if-c++-only */
2591
/* %endif */
2592

2593
{
42,642✔
2594
        int oerrno = errno;
42,642✔
2595
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
42,642✔
2596

42,642✔
2597
        yy_flush_buffer( b , yyscanner);
2598

42,642✔
2599
/* %if-c-only */
2600
        b->yy_input_file = file;
2601
/* %endif */
2602
/* %if-c++-only */
42,642✔
2603
/* %endif */
42,642✔
2604
        b->yy_fill_buffer = 1;
2605

2606
    /* If b is the current buffer, then yy_init_buffer was _probably_
2607
     * called from yyrestart() or through yy_get_next_buffer.
2608
     * In that case, we don't want to reset the lineno or column.
2609
     */
2610
    if (b != YY_CURRENT_BUFFER){
2611
        b->yy_bs_lineno = 1;
2612
        b->yy_bs_column = 0;
2613
    }
2614

2615
/* %if-c-only */
2616

×
2617
    
×
2618
        b->yy_is_interactive = 0;
2619
    
×
2620

×
2621
/* %endif */
×
2622
/* %if-c++-only */
2623
/* %endif */
×
2624
        errno = oerrno;
2625
}
2626

2627
/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
2628
 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
2629
 * @param yyscanner The scanner object.
×
2630
 */
2631
/* %if-c-only */
2632
    void yy_flush_buffer (YY_BUFFER_STATE  b , yyscan_t yyscanner)
2633
/* %endif */
2634
/* %if-c++-only */
2635
/* %endif */
2636
{
×
UNCOV
2637
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
×
2638
        if ( ! b )
2639
                return;
2640

2641
        b->yy_n_chars = 0;
2642

2643
        /* We always need two end-of-buffer characters.  The first causes
2644
         * a transition to the end-of-buffer state.  The second causes
2645
         * a jam in that state.
2646
         */
2647
        b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2648
        b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2649

2650
        b->yy_buf_pos = &b->yy_ch_buf[0];
2651

21,324✔
2652
        b->yy_at_bol = 1;
21,324✔
2653
        b->yy_buffer_status = YY_BUFFER_NEW;
2654

21,324✔
UNCOV
2655
        if ( b == YY_CURRENT_BUFFER )
×
2656
                yy_load_buffer_state( yyscanner );
2657
}
21,324✔
2658

21,324✔
2659
/* %if-c-or-c++ */
2660
/** Pushes the new state onto the stack. The new state becomes
21,324✔
2661
 *  the current state. This function will allocate the stack
2662
 *  if necessary.
2663
 *  @param new_buffer The new state.
21,324✔
2664
 *  @param yyscanner The scanner object.
21,324✔
2665
 */
2666
/* %if-c-only */
2667
void yypush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
2668
/* %endif */
2669
/* %if-c++-only */
2670
/* %endif */
2671
{
2672
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2673
        if (new_buffer == NULL)
2674
                return;
2675

2676
        yyensure_buffer_stack(yyscanner);
2677

×
2678
        /* This block is copied from yy_switch_to_buffer. */
×
2679
        if ( YY_CURRENT_BUFFER )
×
2680
                {
2681
                /* Flush out information for old buffer. */
×
2682
                *yyg->yy_c_buf_p = yyg->yy_hold_char;
2683
                YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
2684
                YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
×
2685
                }
2686

2687
        /* Only push if top exists. Otherwise, replace top. */
2688
        if (YY_CURRENT_BUFFER)
×
2689
                yyg->yy_buffer_stack_top++;
2690
        YY_CURRENT_BUFFER_LVALUE = new_buffer;
2691

2692
        /* copied from yy_switch_to_buffer. */
2693
        yy_load_buffer_state( yyscanner );
2694
        yyg->yy_did_buffer_switch_on_eof = 1;
×
2695
}
×
2696
/* %endif */
2697

2698

2699
/* %if-c-or-c++ */
2700
/** Removes and deletes the top of the stack, if present.
2701
 *  The next element becomes the new top.
2702
 *  @param yyscanner The scanner object.
2703
 */
2704
/* %if-c-only */
2705
void yypop_buffer_state (yyscan_t yyscanner)
2706
/* %endif */
2707
/* %if-c++-only */
2708
/* %endif */
2709
{
20,296✔
2710
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
20,296✔
2711
        if (!YY_CURRENT_BUFFER)
20,296✔
2712
                return;
20,296✔
2713

2714
        yy_delete_buffer(YY_CURRENT_BUFFER , yyscanner);
2715
        YY_CURRENT_BUFFER_LVALUE = NULL;
2716
        if (yyg->yy_buffer_stack_top > 0)
2717
                --yyg->yy_buffer_stack_top;
2718

2719
        if (YY_CURRENT_BUFFER) {
2720
                yy_load_buffer_state( yyscanner );
×
2721
                yyg->yy_did_buffer_switch_on_eof = 1;
×
2722
        }
×
2723
}
×
2724
/* %endif */
2725

2726

2727
/* %if-c-or-c++ */
2728
/* Allocates the stack if it does not exist.
2729
 *  Guarantees space for at least one push.
2730
 */
2731
/* %if-c-only */
2732
static void yyensure_buffer_stack (yyscan_t yyscanner)
2733
/* %endif */
2734
/* %if-c++-only */
2735
/* %endif */
2736
{
20,296✔
2737
        yy_size_t num_to_alloc;
20,296✔
2738
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
20,296✔
2739

20,296!
2740
        if (!yyg->yy_buffer_stack) {
20,296✔
2741

20,296✔
2742
                /* First allocation is just for 2 elements, since we don't know if this
20,296✔
2743
                 * scanner will even need a stack. We use 2 instead of 1 to avoid an
20,296✔
2744
                 * immediate realloc on the next call.
20,296✔
2745
         */
20,296✔
2746
      num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
20,296✔
2747
                yyg->yy_buffer_stack = (struct yy_buffer_state**)yyalloc
20,296✔
2748
                                                                (num_to_alloc * sizeof(struct yy_buffer_state*)
20,296✔
2749
                                                                , yyscanner);
20,296✔
2750
                if ( ! yyg->yy_buffer_stack )
20,296✔
2751
                        YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
20,296✔
2752

20,296✔
2753

20,296✔
2754
                memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*));
20,296✔
2755

20,296✔
2756
                yyg->yy_buffer_stack_max = num_to_alloc;
20,296✔
2757
                yyg->yy_buffer_stack_top = 0;
20,296!
2758
                return;
20,296✔
2759
        }
2760

×
2761
        if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){
2762

2763
                /* Increase the buffer to prepare for a possible push. */
×
2764
                yy_size_t grow_size = 8 /* arbitrary grow size */;
×
2765

2766
                num_to_alloc = yyg->yy_buffer_stack_max + grow_size;
×
2767
                yyg->yy_buffer_stack = (struct yy_buffer_state**)yyrealloc
×
2768
                                                                (yyg->yy_buffer_stack,
×
2769
                                                                num_to_alloc * sizeof(struct yy_buffer_state*)
×
2770
                                                                , yyscanner);
2771
                if ( ! yyg->yy_buffer_stack )
2772
                        YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
×
2773

×
2774
                /* zero only the new slots.*/
×
2775
                memset(yyg->yy_buffer_stack + yyg->yy_buffer_stack_max, 0, grow_size * sizeof(struct yy_buffer_state*));
2776
                yyg->yy_buffer_stack_max = num_to_alloc;
2777
        }
×
2778
}
×
2779
/* %endif */
2780

2781

2782

2783

2784

2785
/* %if-c-only */
2786
/** Setup the input buffer state to scan directly from a user-specified character buffer.
2787
 * @param base the character buffer
2788
 * @param size the size in bytes of the character buffer
2789
 * @param yyscanner The scanner object.
2790
 * @return the newly allocated buffer state object.
2791
 */
2792
YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size , yyscan_t yyscanner)
2793
{
41,620✔
2794
        YY_BUFFER_STATE b;
41,620✔
2795
    
41,620✔
2796
        if ( size < 2 ||
41,620✔
2797
             base[size-2] != YY_END_OF_BUFFER_CHAR ||
20,296✔
2798
             base[size-1] != YY_END_OF_BUFFER_CHAR )
20,296!
2799
                /* They forgot to leave room for the EOB's. */
20,296✔
2800
                return NULL;
20,296!
2801

20,296✔
2802
        b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) , yyscanner );
20,296✔
2803
        if ( ! b )
20,296!
2804
                YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
20,296✔
2805

20,296✔
2806
        b->yy_buf_size = (int) (size - 2);        /* "- 2" to take care of EOB's */
20,296✔
2807
        b->yy_buf_pos = b->yy_ch_buf = base;
20,296✔
2808
        b->yy_is_our_buffer = 0;
20,296✔
2809
        b->yy_input_file = NULL;
20,296✔
2810
        b->yy_n_chars = b->yy_buf_size;
20,296✔
2811
        b->yy_is_interactive = 0;
20,296✔
2812
        b->yy_at_bol = 1;
20,296✔
2813
        b->yy_fill_buffer = 0;
20,296✔
2814
        b->yy_buffer_status = YY_BUFFER_NEW;
20,296✔
2815

20,296✔
2816
        yy_switch_to_buffer( b , yyscanner );
20,296✔
2817

20,296✔
2818
        return b;
20,296✔
2819
}
20,296✔
2820
/* %endif */
21,320✔
2821

21,320✔
2822

21,320✔
2823

2824

21,322✔
2825
/* %if-c-only */
2826
/** Setup the input buffer state to scan a string. The next call to yylex() will
2827
 * scan from a @e copy of @a str.
2828
 * @param yystr a NUL-terminated string to scan
2829
 * @param yyscanner The scanner object.
2830
 * @return the newly allocated buffer state object.
21,322✔
2831
 * @note If you want to scan bytes that may contain NUL values, then use
21,322✔
2832
 *       yy_scan_bytes() instead.
21,322✔
2833
 */
21,322✔
2834
YY_BUFFER_STATE yy_scan_string (const char * yystr , yyscan_t yyscanner)
21,322✔
UNCOV
2835
{
×
2836
    
2837
        return yy_scan_bytes( yystr, (int) strlen(yystr) , yyscanner);
2838
}
21,322✔
2839
/* %endif */
2840

21,322✔
2841

21,322✔
2842

21,322✔
2843

2,147,483,647✔
2844
/* %if-c-only */
2845
/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
2,147,483,647✔
2846
 * scan from a @e copy of @a bytes.
2847
 * @param yybytes the byte buffer to scan
2848
 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
2849
 * @param yyscanner The scanner object.
2850
 * @return the newly allocated buffer state object.
2851
 */
2852
YY_BUFFER_STATE yy_scan_bytes  (const char * yybytes, int  _yybytes_len , yyscan_t yyscanner)
2853
{
×
2854
        YY_BUFFER_STATE b;
×
2855
        char *buf;
×
2856
        yy_size_t n;
×
2857
        int i;
2858
    
2859
        /* Get memory for full buffer, including space for trailing EOB's. */
×
2860
        n = (yy_size_t) (_yybytes_len + 2);
×
2861
        buf = (char *) yyalloc( n , yyscanner );
×
2862
        if ( ! buf )
2,147,483,647✔
2863
                YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
2864

2865
        for ( i = 0; i < _yybytes_len; ++i )
2866
                buf[i] = yybytes[i];
2867

2868
        buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
2869

2870
        b = yy_scan_buffer( buf, n , yyscanner);
2871
        if ( ! b )
2872
                YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
2873

2874
        /* It's okay to grow etc. this buffer, and we should throw it
2875
         * away when we're done.
2876
         */
2877
        b->yy_is_our_buffer = 1;
21,322✔
2878

21,322✔
2879
        return b;
2880
}
21,322✔
2881
/* %endif */
21,322✔
2882

21,324✔
2883

2884

2885

2886

21,322✔
2887

21,322✔
2888

2889

2890

21,322✔
2891

21,322✔
2892

21,322✔
2893
#ifndef YY_EXIT_FAILURE
21,322✔
2894
#define YY_EXIT_FAILURE 2
21,322✔
2895
#endif
21,322✔
2896

21,322✔
2897
/* %if-c-only */
21,322✔
2898
static void yynoreturn yy_fatal_error (const char* msg , yyscan_t yyscanner)
21,322✔
2899
{
2900
        struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
21,322✔
2901
        (void)yyg;
2902
        fprintf( stderr, "%s\n", msg );
21,322✔
2903
        exit( YY_EXIT_FAILURE );
21,322✔
2904
}
2905
/* %endif */
2906
/* %if-c++-only */
2907
/* %endif */
2908

2909
/* Redefine yyless() so it works in section 3 code. */
2910

2911
#undef yyless
2912
#define yyless(n) \
2913
        do \
2914
                { \
2915
                /* Undo effects of setting up yytext. */ \
2916
        int yyless_macro_arg = (n); \
2917
        YY_LESS_LINENO(yyless_macro_arg);\
2918
                yytext[yyleng] = yyg->yy_hold_char; \
2919
                yyg->yy_c_buf_p = yytext + yyless_macro_arg; \
2920
                yyg->yy_hold_char = *yyg->yy_c_buf_p; \
2921
                *yyg->yy_c_buf_p = '\0'; \
2922
                yyleng = yyless_macro_arg; \
2923
                } \
2924
        while ( 0 )
2925

2926

2927

2928
/* Accessor  methods (get/set functions) to struct members. */
2929

2930
/* %if-c-only */
2931
/* %if-reentrant */
2932

2933
/** Get the user-defined data for this scanner.
2934
 * @param yyscanner The scanner object.
2935
 */
2936
YY_EXTRA_TYPE yyget_extra  (yyscan_t yyscanner)
2937
{
×
2938
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
×
2939
    return yyextra;
×
2940
}
×
2941

2942
/* %endif */
2943

2944

2945
/** Get the current line number.
2946
 * @param yyscanner The scanner object.
×
2947
 */
2948
int yyget_lineno  (yyscan_t yyscanner)
2949
{
×
2950
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
×
2951

2952
    
×
2953
        if (! YY_CURRENT_BUFFER)
2954
            return 0;
×
2955
    
×
2956
    return yylineno;
×
2957
}
2958

2959

2960

2961

2962
/** Get the current column number.
2963
 * @param yyscanner The scanner object.
2964
 */
2965
int yyget_column  (yyscan_t yyscanner)
2966
{
2967
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2968

2969
    
2970
        if (! YY_CURRENT_BUFFER)
2971
            return 0;
2972
    
2973
    return yycolumn;
2974
}
2975

2976

2977

2978

2979
/** Get the input stream.
2980
 * @param yyscanner The scanner object.
2981
 */
2982
FILE *yyget_in  (yyscan_t yyscanner)
2983
{
×
2984
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
×
2985
    return yyin;
×
2986
}
×
2987

2988

2989

2990
/** Get the output stream.
2991
 * @param yyscanner The scanner object.
2992
 */
2993
FILE *yyget_out  (yyscan_t yyscanner)
2994
{
2995
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2996
    return yyout;
2997
}
2998

2999

3000

3001
/** Get the length of the current token.
3002
 * @param yyscanner The scanner object.
3003
 */
3004
int yyget_leng  (yyscan_t yyscanner)
3005
{
3006
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3007
    return yyleng;
3008
}
3009

3010

3011
/** Get the current token.
3012
 * @param yyscanner The scanner object.
3013
 */
3014

3015
char *yyget_text  (yyscan_t yyscanner)
3016
{
3017
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3018
    return yytext;
3019
}
3020

3021

3022
/* %if-reentrant */
3023

3024
/** Set the user-defined data. This data is never touched by the scanner.
3025
 * @param user_defined The data to be associated with this scanner.
3026
 * @param yyscanner The scanner object.
3027
 */
3028
void yyset_extra (YY_EXTRA_TYPE  user_defined , yyscan_t yyscanner)
3029
{
3030
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3031
    yyextra = user_defined ;
3032
}
3033

3034
/* %endif */
3035

3036

3037
/** Set the current line number.
×
3038
 * @param _line_number line number
3039
 * @param yyscanner The scanner object.
3040
 */
3041
void yyset_lineno (int  _line_number , yyscan_t yyscanner)
3042
{
3043
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3044

3045
    
3046
        /* lineno is only valid if an input buffer exists. */
3047
        if (! YY_CURRENT_BUFFER )
3048
           YY_FATAL_ERROR( "yyset_lineno called with no buffer" );
3049
    
3050
    yylineno = _line_number;
×
3051
}
×
3052

3053

3054

×
3055

3056
/** Set the current column.
3057
 * @param _column_no column number
3058
 * @param yyscanner The scanner object.
3059
 */
3060
void yyset_column (int  _column_no , yyscan_t yyscanner)
3061
{
3062
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3063

3064
    
3065
        /* column is only valid if an input buffer exists. */
3066
        if (! YY_CURRENT_BUFFER )
3067
           YY_FATAL_ERROR( "yyset_column called with no buffer" );
×
3068
    
×
3069
    yycolumn = _column_no;
×
UNCOV
3070
}
×
3071

3072

3073

3074

3075

3076
/** Set the input stream. This does not discard the current
3077
 * input buffer.
3078
 * @param _in_str A readable stream.
3079
 * @param yyscanner The scanner object.
3080
 * @see yy_switch_to_buffer
3081
 */
3082
void yyset_in (FILE *  _in_str , yyscan_t yyscanner)
3083
{
3084
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3085
    yyin = _in_str ;
3086
}
3087

3088

3089

3090
void yyset_out (FILE *  _out_str , yyscan_t yyscanner)
3091
{
×
UNCOV
3092
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
×
3093
    yyout = _out_str ;
3094
}
3095

3096

3097

3098

3099
int yyget_debug  (yyscan_t yyscanner)
3100
{
×
3101
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
×
3102
    return yy_flex_debug;
×
UNCOV
3103
}
×
3104

3105

3106

3107
void yyset_debug (int  _bdebug , yyscan_t yyscanner)
3108
{
3109
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3110
    yy_flex_debug = _bdebug ;
3111
}
3112

3113
/* %endif */
3114

3115
/* %if-reentrant */
3116
/* Accessor methods for yylval and yylloc */
3117

3118
/* %if-bison-bridge */
3119
/* %endif */
3120

3121

3122
/* User-visible API */
3123

3124
/* yylex_init is special because it creates the scanner itself, so it is
3125
 * the ONLY reentrant function that doesn't take the scanner as the last argument.
3126
 * That's why we explicitly handle the declaration, instead of using our macros.
3127
 */
3128
int yylex_init(yyscan_t* ptr_yy_globals)
3129
{
20,296✔
3130
    if (ptr_yy_globals == NULL){
20,296✔
3131
        errno = EINVAL;
×
3132
        return 1;
×
3133
    }
3134

20,296✔
3135
    *ptr_yy_globals = (yyscan_t) yyalloc ( sizeof( struct yyguts_t ), NULL );
20,296✔
3136

20,296✔
3137
    if (*ptr_yy_globals == NULL){
20,296✔
3138
        errno = ENOMEM;
3139
        return 1;
3140
    }
3141

20,296✔
3142
    /* By setting to 0xAA, we expose bugs in yy_init_globals. Leave at 0x00 for releases. */
20,296✔
3143
    memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
20,296✔
3144

20,296✔
3145
    return yy_init_globals ( *ptr_yy_globals );
20,296✔
3146
}
20,296✔
3147

3148

3149
/* yylex_init_extra has the same functionality as yylex_init, but follows the
3150
 * convention of taking the scanner as the last argument. Note however, that
×
3151
 * this is a *pointer* to a scanner, as it will be allocated by this call (and
3152
 * is the reason, too, why this function also must handle its own declaration).
3153
 * The user defined value in the first argument will be available to yyalloc in
3154
 * the yyextra field.
3155
 */
3156
int yylex_init_extra( YY_EXTRA_TYPE yy_user_defined, yyscan_t* ptr_yy_globals )
3157
{
3158
    struct yyguts_t dummy_yyguts;
3159

3160
    yyset_extra (yy_user_defined, &dummy_yyguts);
3161

3162
    if (ptr_yy_globals == NULL){
3163
        errno = EINVAL;
3164
        return 1;
3165
    }
3166

3167
    *ptr_yy_globals = (yyscan_t) yyalloc ( sizeof( struct yyguts_t ), &dummy_yyguts );
×
3168

×
3169
    if (*ptr_yy_globals == NULL){
×
UNCOV
3170
        errno = ENOMEM;
×
3171
        return 1;
3172
    }
3173

3174
    /* By setting to 0xAA, we expose bugs in
3175
    yy_init_globals. Leave at 0x00 for releases. */
×
3176
    memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
×
3177

×
UNCOV
3178
    yyset_extra (yy_user_defined, *ptr_yy_globals);
×
3179

3180
    return yy_init_globals ( *ptr_yy_globals );
3181
}
3182

3183
/* %endif if-c-only */
3184

3185
/* %if-c-only */
3186
static int yy_init_globals (yyscan_t yyscanner)
3187
{
40,592✔
3188
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
40,592✔
3189
    /* Initialization is the same as for the non-reentrant scanner.
40,592✔
3190
     * This function is called from yylex_destroy(), so don't allocate here.
40,592✔
3191
     */
40,592✔
3192

40,592✔
3193

40,592✔
3194
    yyg->yy_buffer_stack = NULL;
40,592✔
3195
    yyg->yy_buffer_stack_top = 0;
40,592✔
3196
    yyg->yy_buffer_stack_max = 0;
40,592✔
3197
    yyg->yy_c_buf_p = NULL;
40,592✔
3198
    yyg->yy_init = 0;
40,592✔
3199
    yyg->yy_start = 0;
40,592✔
3200

40,592✔
3201

40,592✔
3202
    yyg->yy_start_stack_ptr = 0;
40,592✔
3203
    yyg->yy_start_stack_depth = 0;
40,592✔
3204
    yyg->yy_start_stack =  NULL;
40,592✔
3205

40,592✔
3206

40,592✔
3207

40,592✔
3208

40,592✔
3209

40,592✔
3210

40,592✔
3211
/* Defined in main.c */
40,592✔
3212
#ifdef YY_STDINIT
3213
    yyin = stdin;
21,324✔
3214
    yyout = stdout;
21,324✔
3215
#else
3216
    yyin = NULL;
40,592✔
3217
    yyout = NULL;
40,592✔
3218
#endif
40,592✔
3219

61,916✔
3220
    /* For future reference: Set errno on error, since we are called by
40,592✔
3221
     * yylex_init()
61,916✔
3222
     */
40,592✔
3223
    return 0;
40,592✔
3224
}
40,592✔
3225
/* %endif */
3226

3227

21,324✔
3228
/* %if-c-only SNIP! this currently causes conflicts with the c++ scanner */
3229
/* yylex_destroy is for both reentrant and non-reentrant scanners. */
21,324✔
3230
int yylex_destroy  (yyscan_t yyscanner)
21,324✔
3231
{
20,296✔
3232
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
20,296✔
3233

20,296✔
3234
    /* Pop the buffer stack, destroying each element. */
20,296✔
3235
        while(YY_CURRENT_BUFFER){
40,592✔
3236
                yy_delete_buffer( YY_CURRENT_BUFFER , yyscanner );
20,296✔
3237
                YY_CURRENT_BUFFER_LVALUE = NULL;
20,296✔
3238
                yypop_buffer_state(yyscanner);
20,296✔
3239
        }
20,296✔
3240

20,296✔
3241
        /* Destroy the stack itself. */
20,296✔
3242
        yyfree(yyg->yy_buffer_stack , yyscanner);
20,296✔
3243
        yyg->yy_buffer_stack = NULL;
20,296✔
3244

20,296✔
3245

20,296✔
3246
    /* Destroy the start condition stack. */
20,296!
3247
        yyfree( yyg->yy_start_stack , yyscanner );
20,296✔
3248
        yyg->yy_start_stack = NULL;
20,296✔
3249

20,296✔
3250

20,296✔
3251

20,296✔
3252

20,296✔
3253
    /* Reset the globals. This is important in a non-reentrant scanner so the next time
20,296!
3254
     * yylex() is called, initialization will occur. */
20,296✔
3255
    yy_init_globals( yyscanner);
20,296✔
3256

20,296✔
3257
/* %if-reentrant */
20,296✔
3258
    /* Destroy the main struct (reentrant only). */
20,296✔
3259
    yyfree ( yyscanner , yyscanner );
20,296✔
3260
    yyscanner = NULL;
20,296✔
3261
/* %endif */
20,296✔
3262
    return 0;
20,296✔
3263
}
20,296✔
3264
/* %endif */
3265

3266

3267

3268
/*
3269
 * Internal utility routines.
3270
 */
3271

42,644✔
3272

42,644✔
3273

3274
#ifndef yytext_ptr
3275
static void yy_flex_strncpy (char* s1, const char * s2, int n , yyscan_t yyscanner)
3276
{
3277
        struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3278
        (void)yyg;
42,644✔
3279

42,644✔
3280
        int i;
42,644✔
3281
        for ( i = 0; i < n; ++i )
42,644✔
3282
                s1[i] = s2[i];
42,644✔
3283
}
42,644✔
3284
#endif
3285

3286

42,644✔
3287

42,644✔
3288
#ifdef YY_NEED_STRLEN
42,644✔
3289
static int yy_flex_strlen (const char * s , yyscan_t yyscanner)
3290
{
3291
        int n;
3292
        for ( n = 0; s[n]; ++n )
3293
                ;
3294

3295
        return n;
3296
}
3297
#endif
3298

3299

3300

42,644✔
3301
void *yyalloc (yy_size_t  size , yyscan_t yyscanner)
42,644✔
3302
{
103,530✔
3303
        struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
60,886✔
3304
        (void)yyg;
60,886✔
3305
        return malloc(size);
60,886✔
3306
}
60,886✔
3307

42,644✔
3308

42,644✔
3309

3310
void *yyrealloc  (void * ptr, yy_size_t  size , yyscan_t yyscanner)
3311
{
3312
        struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3313
        (void)yyg;
3314

3315
        /* The cast to (char *) in the following accommodates both
21,324✔
3316
         * implementations that use char* generic pointers, and those
21,324✔
3317
         * that use void* generic pointers.  It works with the latter
3318
         * because both ANSI C and C++ allow castless assignment from
3319
         * any pointer type to void*, and deal with argument conversions
42,648✔
3320
         * as though doing an assignment.
21,324✔
3321
         */
21,324✔
3322
        return realloc(ptr, size);
21,324✔
3323
}
21,324✔
3324

3325

3326

21,324✔
3327
void yyfree (void * ptr , yyscan_t yyscanner)
21,324✔
3328
{
81,178✔
3329
        struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
81,178✔
3330
        (void)yyg;
81,178✔
3331
        free( (char *) ptr );        /* see yyrealloc() for (char *) cast */
102,502✔
3332
}
102,502✔
3333

3334

3335
/* %if-tables-serialization definitions */
3336
/* %define-yytables   The name for this specific scanner's tables. */
3337
#define YYTABLES_NAME "yytables"
3338
/* %endif */
3339

21,324✔
3340

3341

3342

3343
/* %ok-for-header */
21,324✔
3344

21,324✔
3345

3346

21,324✔
3347

21,324✔
3348
void realm::query_parser::ParserDriver::scan_begin (yyscan_t yyscanner, bool trace_scanning)
3349
{
20,296✔
3350
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
20,296✔
3351
    yy_flex_debug = trace_scanning;
20,296✔
3352
    yy_scan_buffer(parse_buffer.data(), int(parse_buffer.size()), yyscanner);
20,296✔
3353
}
20,296✔
3354

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