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, 0, 2, 2, 0, 2,
629 0, 0, 0, 0, 0, 0, 0, 5, 3, 0,
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, 8, 9, 10, 10,
640 10, 10, 10, 10, 10, 10, 10, 1, 1, 1,
641 1, 1, 1, 1, 11, 11, 11, 11, 12, 11,
642 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
643 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
644 1, 13, 1, 1, 1, 1, 14, 15, 11, 11,
646 16, 17, 1, 1, 1, 1, 1, 18, 1, 19,
647 1, 1, 1, 20, 21, 22, 23, 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, 2, 1, 1, 1, 2, 3, 3,
668 3, 3, 2, 3, 4, 3, 4, 1, 2, 2,
674 0, 21, 93, 94, 94, 94, 1, 2, 21, 37,
675 69, 43, 42, 3, 94, 29, 29, 11, 25, 49,
676 0, 0, 30, 24, 16, 0, 0, 51, 41, 47,
677 11, 11, 10, 0, 63, 0, 2, 94, 94, 0,
678 55, 61, 94, 0, 94, 73, 77, 80, 82, 84,
684 46, 46, 45, 45, 45, 45, 47, 45, 45, 45,
685 45, 45, 45, 47, 45, 48, 45, 10, 45, 45,
686 20, 10, 45, 45, 45, 49, 18, 45, 45, 45,
687 45, 45, 45, 50, 45, 35, 45, 45, 45, 51,
688 45, 45, 45, 52, 0, 45, 45, 45, 45, 45,
694 45, 5, 6, 7, 15, 8, 15, 45, 9, 10,
695 17, 18, 45, 16, 45, 16, 11, 43, 12, 27,
696 27, 13, 5, 6, 7, 39, 8, 19, 38, 9,
697 10, 37, 20, 28, 28, 19, 21, 11, 33, 12,
698 20, 32, 13, 19, 21, 22, 22, 31, 20, 30,
699 30, 26, 21, 29, 29, 30, 30, 30, 30, 28,
700 28, 25, 35, 42, 42, 24, 36, 41, 41, 42,
701 42, 42, 42, 4, 4, 4, 4, 14, 14, 14,
702 14, 14, 23, 14, 34, 34, 40, 40, 44, 44,
703 14, 14, 45, 3, 45, 45, 45, 45, 45, 45,
705 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
706 45, 45, 45, 45, 45, 45, 45
711 0, 1, 1, 1, 7, 1, 14, 0, 1, 1,
712 8, 8, 0, 7, 0, 14, 1, 37, 1, 18,
713 18, 1, 2, 2, 2, 33, 2, 9, 32, 2,
714 2, 31, 9, 19, 19, 17, 9, 2, 25, 2,
715 17, 24, 2, 10, 17, 10, 10, 23, 10, 29,
716 29, 16, 10, 20, 20, 30, 30, 20, 20, 28,
717 28, 13, 28, 41, 41, 12, 28, 35, 35, 42,
718 42, 35, 35, 46, 46, 46, 46, 47, 47, 47,
719 47, 48, 11, 48, 49, 49, 50, 50, 51, 51,
720 52, 52, 3, 45, 45, 45, 45, 45, 45, 45,
722 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
723 45, 45, 45, 45, 45, 45, 45
735 #define REJECT reject_used_but_not_detected
736 #define yymore() yymore_used_but_not_detected
737 #define YY_MORE_ADJ 0
738 #define YY_RESTORE_YY_MORE_OFFSET
747 #line 747 "json_lex.yy.cpp"
748 #define YY_NO_INPUT 1
749 #define YY_NO_UNISTD_H 1
754 #pragma warning(disable:4365)
757 #pragma warning(disable:4005)
760 #define PARSER json_parser
765 #include <util/pragma_wsign_compare.def>
766 #include <util/pragma_wnull_conversion.def>
767 #include <util/pragma_wdeprecated_register.def>
769 #line 769 "json_lex.yy.cpp"
770 #line 770 "json_lex.yy.cpp"
774 #ifndef YY_NO_UNISTD_H
782 #ifndef YY_EXTRA_TYPE
783 #define YY_EXTRA_TYPE void *
821 #ifndef YY_SKIP_YYWRAP
823 extern "C" int yywrap (
void );
825 extern int yywrap (
void );
834 static void yy_flex_strncpy (
char *,
const char *,
int );
837 #ifdef YY_NEED_STRLEN
838 static int yy_flex_strlen (
const char * );
843 static int yyinput (
void );
845 static int input (
void );
851 #ifndef YY_READ_BUF_SIZE
854 #define YY_READ_BUF_SIZE 16384
856 #define YY_READ_BUF_SIZE 8192
865 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
872 #define YY_INPUT(buf,result,max_size) \
873 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
877 for ( n = 0; n < max_size && \
878 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
881 buf[n++] = (char) c; \
882 if ( c == EOF && ferror( yyin ) ) \
883 YY_FATAL_ERROR( "input in flex scanner failed" ); \
889 while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
891 if( errno != EINTR) \
893 YY_FATAL_ERROR( "input in flex scanner failed" ); \
909 #define yyterminate() return YY_NULL
913 #ifndef YY_START_STACK_INCR
914 #define YY_START_STACK_INCR 25
918 #ifndef YY_FATAL_ERROR
919 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
928 #define YY_DECL_IS_OURS 1
930 extern int yylex (
void);
932 #define YY_DECL int yylex (void)
938 #ifndef YY_USER_ACTION
939 #define YY_USER_ACTION
944 #define YY_BREAK break;
947 #define YY_RULE_SETUP \
988 #line 988 "json_lex.yy.cpp"
1012 while (
yy_chk[
yy_base[yy_current_state] + yy_c] != yy_current_state )
1014 yy_current_state = (int)
yy_def[yy_current_state];
1015 if ( yy_current_state >= 46 )
1018 yy_current_state =
yy_nxt[
yy_base[yy_current_state] + yy_c];
1021 while ( yy_current_state != 45 );
1039 goto yy_find_action;
1044 #line 57 "scanner.l"
1049 #line 58 "scanner.l"
1054 #line 59 "scanner.l"
1059 #line 60 "scanner.l"
1064 #line 61 "scanner.l"
1070 #line 63 "scanner.l"
1075 #line 64 "scanner.l"
1080 #line 66 "scanner.l"
1083 #line 1083 "json_lex.yy.cpp"
1090 int yy_amount_of_matched_text = (int) (yy_cp - (
yytext_ptr)) - 1;
1140 if ( yy_next_state )
1144 yy_current_state = yy_next_state;
1152 goto yy_find_action;
1205 goto yy_find_action;
1212 "fatal flex scanner internal error--no action found" );
1229 int number_to_move, i;
1234 "fatal flex scanner internal error--end of buffer missed" );
1260 for ( i = 0; i < number_to_move; ++i )
1261 *(dest++) = *(source++);
1274 while ( num_to_read <= 0 )
1280 int yy_c_buf_p_offset =
1287 if ( new_size <= 0 )
1303 "fatal error - scanner input buffer overflow" );
1347 YY_FATAL_ERROR(
"out of dynamic memory in yy_get_next_buffer()" );
1378 while (
yy_chk[
yy_base[yy_current_state] + yy_c] != yy_current_state )
1380 yy_current_state = (int)
yy_def[yy_current_state];
1381 if ( yy_current_state >= 46 )
1384 yy_current_state =
yy_nxt[
yy_base[yy_current_state] + yy_c];
1387 return yy_current_state;
1406 while (
yy_chk[
yy_base[yy_current_state] + yy_c] != yy_current_state )
1408 yy_current_state = (int)
yy_def[yy_current_state];
1409 if ( yy_current_state >= 46 )
1412 yy_current_state =
yy_nxt[
yy_base[yy_current_state] + yy_c];
1413 yy_is_jam = (yy_current_state == 45);
1415 return yy_is_jam ? 0 : yy_current_state;
1424 static int yyinput (
void)
1426 static int input (
void)
1669 if (new_buffer == NULL)
1731 YY_FATAL_ERROR(
"out of dynamic memory in yyensure_buffer_stack()" );
1751 YY_FATAL_ERROR(
"out of dynamic memory in yyensure_buffer_stack()" );
1828 for ( i = 0; i < _yybytes_len; ++i )
1829 buf[i] = yybytes[i];
1845 #ifndef YY_EXIT_FAILURE
1846 #define YY_EXIT_FAILURE 2
1851 fprintf( stderr,
"%s\n", msg );
1862 int yyless_macro_arg = (n); \
1863 YY_LESS_LINENO(yyless_macro_arg);\
1864 yytext[yyleng] = (yy_hold_char); \
1865 (yy_c_buf_p) = yytext + yyless_macro_arg; \
1866 (yy_hold_char) = *(yy_c_buf_p); \
1867 *(yy_c_buf_p) = '\0'; \
1868 yyleng = yyless_macro_arg; \
2007 static void yy_flex_strncpy (
char*
s1,
const char *
s2,
int n )
2011 for ( i = 0; i < n; ++i )
2016 #ifdef YY_NEED_STRLEN
2017 static int yy_flex_strlen (
const char * s )
2020 for ( n = 0; s[n]; ++n )
2042 return realloc(ptr, size);
2047 free( (
char *) ptr );
2050 #define YYTABLES_NAME "yytables"
2052 #line 66 "scanner.l"