1 #line 1 "json_lex.yy.cpp"
3 #line 3 "json_lex.yy.cpp"
5 #define YY_INT_ALIGNED short int
9 #define yy_create_buffer yyjson_create_buffer
10 #define yy_delete_buffer yyjson_delete_buffer
11 #define yy_scan_buffer yyjson_scan_buffer
12 #define yy_scan_string yyjson_scan_string
13 #define yy_scan_bytes yyjson_scan_bytes
14 #define yy_init_buffer yyjson_init_buffer
15 #define yy_flush_buffer yyjson_flush_buffer
16 #define yy_load_buffer_state yyjson_load_buffer_state
17 #define yy_switch_to_buffer yyjson_switch_to_buffer
18 #define yypush_buffer_state yyjsonpush_buffer_state
19 #define yypop_buffer_state yyjsonpop_buffer_state
20 #define yyensure_buffer_stack yyjsonensure_buffer_stack
21 #define yy_flex_debug yyjson_flex_debug
23 #define yyleng yyjsonleng
24 #define yylex yyjsonlex
25 #define yylineno yyjsonlineno
26 #define yyout yyjsonout
27 #define yyrestart yyjsonrestart
28 #define yytext yyjsontext
29 #define yywrap yyjsonwrap
30 #define yyalloc yyjsonalloc
31 #define yyrealloc yyjsonrealloc
32 #define yyfree yyjsonfree
35 #define YY_FLEX_MAJOR_VERSION 2
36 #define YY_FLEX_MINOR_VERSION 6
37 #define YY_FLEX_SUBMINOR_VERSION 4
38 #if YY_FLEX_SUBMINOR_VERSION > 0
42 #ifdef yy_create_buffer
43 #define yyjson_create_buffer_ALREADY_DEFINED
45 #define yy_create_buffer yyjson_create_buffer
48 #ifdef yy_delete_buffer
49 #define yyjson_delete_buffer_ALREADY_DEFINED
51 #define yy_delete_buffer yyjson_delete_buffer
55 #define yyjson_scan_buffer_ALREADY_DEFINED
57 #define yy_scan_buffer yyjson_scan_buffer
61 #define yyjson_scan_string_ALREADY_DEFINED
63 #define yy_scan_string yyjson_scan_string
67 #define yyjson_scan_bytes_ALREADY_DEFINED
69 #define yy_scan_bytes yyjson_scan_bytes
73 #define yyjson_init_buffer_ALREADY_DEFINED
75 #define yy_init_buffer yyjson_init_buffer
78 #ifdef yy_flush_buffer
79 #define yyjson_flush_buffer_ALREADY_DEFINED
81 #define yy_flush_buffer yyjson_flush_buffer
84 #ifdef yy_load_buffer_state
85 #define yyjson_load_buffer_state_ALREADY_DEFINED
87 #define yy_load_buffer_state yyjson_load_buffer_state
90 #ifdef yy_switch_to_buffer
91 #define yyjson_switch_to_buffer_ALREADY_DEFINED
93 #define yy_switch_to_buffer yyjson_switch_to_buffer
96 #ifdef yypush_buffer_state
97 #define yyjsonpush_buffer_state_ALREADY_DEFINED
99 #define yypush_buffer_state yyjsonpush_buffer_state
102 #ifdef yypop_buffer_state
103 #define yyjsonpop_buffer_state_ALREADY_DEFINED
105 #define yypop_buffer_state yyjsonpop_buffer_state
108 #ifdef yyensure_buffer_stack
109 #define yyjsonensure_buffer_stack_ALREADY_DEFINED
111 #define yyensure_buffer_stack yyjsonensure_buffer_stack
115 #define yyjsonlex_ALREADY_DEFINED
117 #define yylex yyjsonlex
121 #define yyjsonrestart_ALREADY_DEFINED
123 #define yyrestart yyjsonrestart
127 #define yyjsonlex_init_ALREADY_DEFINED
129 #define yylex_init yyjsonlex_init
132 #ifdef yylex_init_extra
133 #define yyjsonlex_init_extra_ALREADY_DEFINED
135 #define yylex_init_extra yyjsonlex_init_extra
139 #define yyjsonlex_destroy_ALREADY_DEFINED
141 #define yylex_destroy yyjsonlex_destroy
145 #define yyjsonget_debug_ALREADY_DEFINED
147 #define yyget_debug yyjsonget_debug
151 #define yyjsonset_debug_ALREADY_DEFINED
153 #define yyset_debug yyjsonset_debug
157 #define yyjsonget_extra_ALREADY_DEFINED
159 #define yyget_extra yyjsonget_extra
163 #define yyjsonset_extra_ALREADY_DEFINED
165 #define yyset_extra yyjsonset_extra
169 #define yyjsonget_in_ALREADY_DEFINED
171 #define yyget_in yyjsonget_in
175 #define yyjsonset_in_ALREADY_DEFINED
177 #define yyset_in yyjsonset_in
181 #define yyjsonget_out_ALREADY_DEFINED
183 #define yyget_out yyjsonget_out
187 #define yyjsonset_out_ALREADY_DEFINED
189 #define yyset_out yyjsonset_out
193 #define yyjsonget_leng_ALREADY_DEFINED
195 #define yyget_leng yyjsonget_leng
199 #define yyjsonget_text_ALREADY_DEFINED
201 #define yyget_text yyjsonget_text
205 #define yyjsonget_lineno_ALREADY_DEFINED
207 #define yyget_lineno yyjsonget_lineno
211 #define yyjsonset_lineno_ALREADY_DEFINED
213 #define yyset_lineno yyjsonset_lineno
217 #define yyjsonwrap_ALREADY_DEFINED
219 #define yywrap yyjsonwrap
223 #define yyjsonalloc_ALREADY_DEFINED
225 #define yyalloc yyjsonalloc
229 #define yyjsonrealloc_ALREADY_DEFINED
231 #define yyrealloc yyjsonrealloc
235 #define yyjsonfree_ALREADY_DEFINED
237 #define yyfree yyjsonfree
241 #define yyjsontext_ALREADY_DEFINED
243 #define yytext yyjsontext
247 #define yyjsonleng_ALREADY_DEFINED
249 #define yyleng yyjsonleng
253 #define yyjsonin_ALREADY_DEFINED
255 #define yyin yyjsonin
259 #define yyjsonout_ALREADY_DEFINED
261 #define yyout yyjsonout
265 #define yyjson_flex_debug_ALREADY_DEFINED
267 #define yy_flex_debug yyjson_flex_debug
271 #define yyjsonlineno_ALREADY_DEFINED
273 #define yylineno yyjsonlineno
293 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
298 #ifndef __STDC_LIMIT_MACROS
299 #define __STDC_LIMIT_MACROS 1
302 #include <inttypes.h>
319 #define INT8_MIN (-128)
322 #define INT16_MIN (-32767-1)
325 #define INT32_MIN (-2147483647-1)
328 #define INT8_MAX (127)
331 #define INT16_MAX (32767)
334 #define INT32_MAX (2147483647)
337 #define UINT8_MAX (255U)
340 #define UINT16_MAX (65535U)
343 #define UINT32_MAX (4294967295U)
347 #define SIZE_MAX (~(size_t)0)
357 #define yyconst const
359 #if defined(__GNUC__) && __GNUC__ >= 3
360 #define yynoreturn __attribute__((__noreturn__))
371 #define YY_SC_TO_UI(c) ((YY_CHAR) (c))
377 #define BEGIN (yy_start) = 1 + 2 *
382 #define YY_START (((yy_start) - 1) / 2)
383 #define YYSTATE YY_START
385 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
387 #define YY_NEW_FILE yyrestart( yyin )
388 #define YY_END_OF_BUFFER_CHAR 0
397 #define YY_BUF_SIZE 32768
399 #define YY_BUF_SIZE 16384
405 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
407 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
408 #define YY_TYPEDEF_YY_BUFFER_STATE
412 #ifndef YY_TYPEDEF_YY_SIZE_T
413 #define YY_TYPEDEF_YY_SIZE_T
421 #define EOB_ACT_CONTINUE_SCAN 0
422 #define EOB_ACT_END_OF_FILE 1
423 #define EOB_ACT_LAST_MATCH 2
425 #define YY_LESS_LINENO(n)
426 #define YY_LINENO_REWIND_TO(ptr)
433 int yyless_macro_arg = (n); \
434 YY_LESS_LINENO(yyless_macro_arg);\
435 *yy_cp = (yy_hold_char); \
436 YY_RESTORE_YY_MORE_OFFSET \
437 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
438 YY_DO_BEFORE_ACTION; \
441 #define unput(c) yyunput( c, (yytext_ptr) )
443 #ifndef YY_STRUCT_YY_BUFFER_STATE
444 #define YY_STRUCT_YY_BUFFER_STATE
491 #define YY_BUFFER_NEW 0
492 #define YY_BUFFER_NORMAL 1
503 #define YY_BUFFER_EOF_PENDING 2
519 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
520 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
525 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
553 #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
563 #define yy_new_buffer yy_create_buffer
564 #define yy_set_interactive(is_interactive) \
566 if ( ! YY_CURRENT_BUFFER ){ \
567 yyensure_buffer_stack (); \
568 YY_CURRENT_BUFFER_LVALUE = \
569 yy_create_buffer( yyin, YY_BUF_SIZE ); \
571 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
573 #define yy_set_bol(at_bol) \
575 if ( ! YY_CURRENT_BUFFER ){\
576 yyensure_buffer_stack (); \
577 YY_CURRENT_BUFFER_LVALUE = \
578 yy_create_buffer( yyin, YY_BUF_SIZE ); \
580 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
582 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
584 #define yyjsonwrap() (1)
585 #define YY_SKIP_YYWRAP
599 #define yytext_ptr yytext
609 #define YY_DO_BEFORE_ACTION \
610 (yytext_ptr) = yy_bp; \
611 yyleng = (int) (yy_cp - yy_bp); \
612 (yy_hold_char) = *yy_cp; \
614 (yy_c_buf_p) = yy_cp;
615 #define YY_NUM_RULES 8
616 #define YY_END_OF_BUFFER 9
626 0, 0, 9, 7, 6, 6, 6, 7, 2, 2,
627 7, 7, 7, 0, 1, 0, 2, 2, 0, 0,
628 0, 2, 0, 0, 0, 1, 2, 2, 0, 2,
629 0, 0, 0, 0, 0, 0, 5, 3, 0, 2,
635 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
636 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
637 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
638 1, 2, 1, 4, 1, 1, 1, 1, 1, 1,
639 1, 1, 5, 1, 6, 7, 1, 8, 9, 9,
640 9, 9, 9, 9, 9, 9, 9, 1, 1, 1,
641 1, 1, 1, 1, 1, 1, 1, 1, 10, 1,
642 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
643 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
644 1, 11, 1, 1, 1, 1, 12, 1, 1, 1,
646 13, 14, 1, 1, 1, 1, 1, 15, 1, 16,
647 1, 1, 1, 17, 18, 19, 20, 1, 1, 1,
648 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
649 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
650 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
651 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
652 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
653 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
654 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
655 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
657 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
658 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
659 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
660 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
661 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
667 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
668 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
673 0, 0, 71, 72, 72, 72, 17, 14, 17, 17,
674 58, 49, 51, 25, 72, 27, 0, 24, 26, 34,
675 0, 0, 52, 51, 45, 33, 0, 37, 40, 43,
676 46, 48, 49, 48, 0, 42, 72, 72, 50, 52,
682 42, 1, 42, 42, 42, 42, 43, 42, 42, 9,
683 42, 42, 42, 43, 42, 43, 9, 9, 42, 42,
684 20, 10, 42, 42, 42, 43, 18, 42, 42, 42,
685 42, 42, 42, 42, 34, 42, 42, 42, 42, 42,
691 4, 5, 6, 7, 4, 8, 4, 9, 10, 4,
692 4, 4, 4, 11, 4, 12, 4, 4, 13, 4,
693 15, 17, 18, 19, 22, 22, 20, 16, 15, 21,
694 26, 27, 27, 28, 28, 16, 15, 16, 29, 29,
695 14, 30, 30, 16, 28, 28, 34, 30, 30, 35,
696 30, 30, 39, 39, 41, 40, 40, 40, 40, 40,
697 40, 38, 37, 36, 33, 32, 31, 25, 24, 23,
698 42, 3, 42, 42, 42, 42, 42, 42, 42, 42,
699 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
706 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
707 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
708 7, 8, 8, 9, 10, 10, 9, 7, 14, 9,
709 16, 18, 18, 19, 19, 14, 26, 16, 20, 20,
710 43, 20, 20, 26, 28, 28, 28, 29, 29, 28,
711 30, 30, 34, 34, 36, 34, 34, 39, 39, 40,
712 40, 33, 32, 31, 25, 24, 23, 13, 12, 11,
713 3, 42, 42, 42, 42, 42, 42, 42, 42, 42,
714 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
728 #define REJECT reject_used_but_not_detected
729 #define yymore() yymore_used_but_not_detected
730 #define YY_MORE_ADJ 0
731 #define YY_RESTORE_YY_MORE_OFFSET
736 #line 736 "json_lex.yy.cpp"
737 #define YY_NO_INPUT 1
738 #define YY_NO_UNISTD_H 1
741 #define PARSER json_parser
746 #include <util/pragma_wsign_compare.def>
747 #include <util/pragma_wnull_conversion.def>
748 #include <util/pragma_wdeprecated_register.def>
750 #line 750 "json_lex.yy.cpp"
751 #line 751 "json_lex.yy.cpp"
755 #ifndef YY_NO_UNISTD_H
763 #ifndef YY_EXTRA_TYPE
764 #define YY_EXTRA_TYPE void *
802 #ifndef YY_SKIP_YYWRAP
804 extern "C" int yywrap (
void );
806 extern int yywrap (
void );
815 static void yy_flex_strncpy (
char *,
const char *,
int );
818 #ifdef YY_NEED_STRLEN
819 static int yy_flex_strlen (
const char * );
824 static int yyinput (
void );
826 static int input (
void );
832 #ifndef YY_READ_BUF_SIZE
835 #define YY_READ_BUF_SIZE 16384
837 #define YY_READ_BUF_SIZE 8192
846 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
853 #define YY_INPUT(buf,result,max_size) \
854 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
858 for ( n = 0; n < max_size && \
859 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
862 buf[n++] = (char) c; \
863 if ( c == EOF && ferror( yyin ) ) \
864 YY_FATAL_ERROR( "input in flex scanner failed" ); \
870 while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
872 if( errno != EINTR) \
874 YY_FATAL_ERROR( "input in flex scanner failed" ); \
890 #define yyterminate() return YY_NULL
894 #ifndef YY_START_STACK_INCR
895 #define YY_START_STACK_INCR 25
899 #ifndef YY_FATAL_ERROR
900 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
909 #define YY_DECL_IS_OURS 1
911 extern int yylex (
void);
913 #define YY_DECL int yylex (void)
919 #ifndef YY_USER_ACTION
920 #define YY_USER_ACTION
925 #define YY_BREAK break;
928 #define YY_RULE_SETUP \
969 #line 969 "json_lex.yy.cpp"
993 while (
yy_chk[
yy_base[yy_current_state] + yy_c] != yy_current_state )
995 yy_current_state = (int)
yy_def[yy_current_state];
996 if ( yy_current_state >= 43 )
1002 while ( yy_current_state != 42 );
1020 goto yy_find_action;
1025 #line 41 "scanner.l"
1030 #line 42 "scanner.l"
1035 #line 43 "scanner.l"
1040 #line 44 "scanner.l"
1045 #line 45 "scanner.l"
1051 #line 47 "scanner.l"
1056 #line 48 "scanner.l"
1061 #line 50 "scanner.l"
1064 #line 1064 "json_lex.yy.cpp"
1071 int yy_amount_of_matched_text = (int) (yy_cp - (
yytext_ptr)) - 1;
1121 if ( yy_next_state )
1125 yy_current_state = yy_next_state;
1133 goto yy_find_action;
1186 goto yy_find_action;
1193 "fatal flex scanner internal error--no action found" );
1210 int number_to_move, i;
1215 "fatal flex scanner internal error--end of buffer missed" );
1241 for ( i = 0; i < number_to_move; ++i )
1242 *(dest++) = *(source++);
1255 while ( num_to_read <= 0 )
1261 int yy_c_buf_p_offset =
1268 if ( new_size <= 0 )
1284 "fatal error - scanner input buffer overflow" );
1328 YY_FATAL_ERROR(
"out of dynamic memory in yy_get_next_buffer()" );
1359 while (
yy_chk[
yy_base[yy_current_state] + yy_c] != yy_current_state )
1361 yy_current_state = (int)
yy_def[yy_current_state];
1362 if ( yy_current_state >= 43 )
1365 yy_current_state =
yy_nxt[
yy_base[yy_current_state] + yy_c];
1368 return yy_current_state;
1387 while (
yy_chk[
yy_base[yy_current_state] + yy_c] != yy_current_state )
1389 yy_current_state = (int)
yy_def[yy_current_state];
1390 if ( yy_current_state >= 43 )
1393 yy_current_state =
yy_nxt[
yy_base[yy_current_state] + yy_c];
1394 yy_is_jam = (yy_current_state == 42);
1396 return yy_is_jam ? 0 : yy_current_state;
1405 static int yyinput (
void)
1407 static int input (
void)
1650 if (new_buffer == NULL)
1712 YY_FATAL_ERROR(
"out of dynamic memory in yyensure_buffer_stack()" );
1732 YY_FATAL_ERROR(
"out of dynamic memory in yyensure_buffer_stack()" );
1809 for ( i = 0; i < _yybytes_len; ++i )
1810 buf[i] = yybytes[i];
1826 #ifndef YY_EXIT_FAILURE
1827 #define YY_EXIT_FAILURE 2
1832 fprintf( stderr,
"%s\n", msg );
1843 int yyless_macro_arg = (n); \
1844 YY_LESS_LINENO(yyless_macro_arg);\
1845 yytext[yyleng] = (yy_hold_char); \
1846 (yy_c_buf_p) = yytext + yyless_macro_arg; \
1847 (yy_hold_char) = *(yy_c_buf_p); \
1848 *(yy_c_buf_p) = '\0'; \
1849 yyleng = yyless_macro_arg; \
1988 static void yy_flex_strncpy (
char*
s1,
const char *
s2,
int n )
1992 for ( i = 0; i < n; ++i )
1997 #ifdef YY_NEED_STRLEN
1998 static int yy_flex_strlen (
const char * s )
2001 for ( n = 0; s[n]; ++n )
2023 return realloc(ptr, size);
2028 free( (
char *) ptr );
2031 #define YYTABLES_NAME "yytables"
2033 #line 50 "scanner.l"