Coverage Report

Created: 2026-01-05 06:07

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