/* Generated by Nim Compiler v0.16.0 */ /* (c) 2017 Andreas Rumpf */ /* The generated code is subject to the original license. */ /* Compiled for: Linux, amd64, gcc */ /* Command for C compiler: gcc -c -w -O3 -fno-strict-aliasing -I/afs/athena.mit.edu/software/nim-lang_v0.16.0/nim-0.16.0/lib -o tools/nimsuggest/nimcache/stdlib_json.o tools/nimsuggest/nimcache/stdlib_json.c */ #define NIM_INTBITS 64 #include "nimbase.h" #include #undef linux typedef struct TNimType TNimType; typedef struct TNimNode TNimNode; typedef struct Jsonparser_TAl5cv6tbH9avL9cKfMc0hkQ Jsonparser_TAl5cv6tbH9avL9cKfMc0hkQ; typedef struct Baselexer_B6cGbTPhMsqMovc9cOcIHRw Baselexer_B6cGbTPhMsqMovc9cOcIHRw; typedef struct TNimObject TNimObject; typedef struct Streamobj_RShkcoDOPnoCVhtpN1hDPQ Streamobj_RShkcoDOPnoCVhtpN1hDPQ; typedef struct NimStringDesc NimStringDesc; typedef struct TGenericSeq TGenericSeq; typedef struct TY_ArNCLAPkQjwz7DrguhEHNA TY_ArNCLAPkQjwz7DrguhEHNA; typedef struct Jsonparsingerror_4avqtqpbmyD9bxH9bUmO9b0yw Jsonparsingerror_4avqtqpbmyD9bxH9bUmO9b0yw; typedef struct Valueerror_Gi06FkNeykJn7mrqRZYrkA Valueerror_Gi06FkNeykJn7mrqRZYrkA; typedef struct Exception Exception; typedef NU8 Tnimkind_jIBKr1ejBgsfM33Kxw4j7A; typedef NU8 Tnimtypeflag_v8QUszD1sWlSIWZz7mC4bQ_Set; typedef N_NIMCALL_PTR(void, TY_ojoeKfW4VYIm36I9cpDTQIg) (void* p0, NI op0); typedef N_NIMCALL_PTR(void*, TY_WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p0); struct TNimType { NI size; Tnimkind_jIBKr1ejBgsfM33Kxw4j7A kind; Tnimtypeflag_v8QUszD1sWlSIWZz7mC4bQ_Set flags; TNimType* base; TNimNode* node; void* finalizer; TY_ojoeKfW4VYIm36I9cpDTQIg marker; TY_WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy; }; typedef NU8 Tnimnodekind_unfNsxrcATrufDZmpBq4HQ; struct TNimNode { Tnimnodekind_unfNsxrcATrufDZmpBq4HQ kind; NI offset; TNimType* typ; NCSTRING name; NI len; TNimNode** sons; }; struct TNimObject { TNimType* m_type; }; typedef NU8 TY_nmiMWKVIe46vacnhAFrQvw_Set[32]; struct Baselexer_B6cGbTPhMsqMovc9cOcIHRw { TNimObject Sup; NI bufpos; NCSTRING buf; NI buflen; Streamobj_RShkcoDOPnoCVhtpN1hDPQ* input; NI linenumber; NI sentinel; NI linestart; TY_nmiMWKVIe46vacnhAFrQvw_Set refillchars; }; struct TGenericSeq { NI len; NI reserved; }; struct NimStringDesc { TGenericSeq Sup; NIM_CHAR data[SEQ_DECL_SIZE]; }; typedef NU8 Tokkind_vfEI6XZ7Xkb5BV9c6202vjA; typedef NU8 Jsoneventkind_NdAkGi88owzfBOSBDfW49cQ; typedef NU8 Jsonerror_rhaSH4AjHj9bXRijCvdqRhQ; struct Jsonparser_TAl5cv6tbH9avL9cKfMc0hkQ { Baselexer_B6cGbTPhMsqMovc9cOcIHRw Sup; NimStringDesc* a; Tokkind_vfEI6XZ7Xkb5BV9c6202vjA tok; Jsoneventkind_NdAkGi88owzfBOSBDfW49cQ kind; Jsonerror_rhaSH4AjHj9bXRijCvdqRhQ err; TY_ArNCLAPkQjwz7DrguhEHNA* state; NimStringDesc* filename; }; typedef NU8 Parserstate_UzfeQnJimUtC9bt1BjDzcdQ; struct Exception { TNimObject Sup; Exception* parent; NCSTRING name; NimStringDesc* message; NimStringDesc* trace; }; struct Valueerror_Gi06FkNeykJn7mrqRZYrkA { Exception Sup; }; struct Jsonparsingerror_4avqtqpbmyD9bxH9bUmO9b0yw { Valueerror_Gi06FkNeykJn7mrqRZYrkA Sup; }; typedef NimStringDesc* TY_sMpvt1sOxOJ3LFGulnbeMQ[4]; typedef N_NIMCALL_PTR(void, TY_cnkJEp9bna8U6yi9aVW9cAJ0Q) (Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s0); typedef N_NIMCALL_PTR(NIM_BOOL, TY_KjFcmLOhf4VQvVcyLJWXZw) (Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s0); typedef N_NIMCALL_PTR(void, TY_jlOYFw9cHausuCbPoWx2iiA) (Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s0, NI pos0); typedef N_NIMCALL_PTR(NI, TY_Xzm85qBLb9cf9cu8VOfAr8PQ) (Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s0); typedef N_NIMCALL_PTR(NI, TY_tjaJtoUzLe1BMUbItlcGhQ) (Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s0, void* buffer0, NI buflen0); typedef N_NIMCALL_PTR(void, TY_b9bsIuILxTLVZHPvJBW187A) (Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s0, void* buffer0, NI buflen0); struct Streamobj_RShkcoDOPnoCVhtpN1hDPQ { TNimObject Sup; TY_cnkJEp9bna8U6yi9aVW9cAJ0Q closeimpl; TY_KjFcmLOhf4VQvVcyLJWXZw atendimpl; TY_jlOYFw9cHausuCbPoWx2iiA setpositionimpl; TY_Xzm85qBLb9cf9cu8VOfAr8PQ getpositionimpl; TY_tjaJtoUzLe1BMUbItlcGhQ readdataimpl; TY_tjaJtoUzLe1BMUbItlcGhQ peekdataimpl; TY_b9bsIuILxTLVZHPvJBW187A writedataimpl; TY_cnkJEp9bna8U6yi9aVW9cAJ0Q flushimpl; }; struct TY_ArNCLAPkQjwz7DrguhEHNA { TGenericSeq Sup; Parserstate_UzfeQnJimUtC9bt1BjDzcdQ data[SEQ_DECL_SIZE]; }; static N_NIMCALL(void, Marker_TY_ArNCLAPkQjwz7DrguhEHNA)(void* p, NI op); N_NIMCALL(void, open_xmgaYJZNnO6QcDtac9bs3Vg)(Baselexer_B6cGbTPhMsqMovc9cOcIHRw* L0, Streamobj_RShkcoDOPnoCVhtpN1hDPQ* input0, NI buflen0, TY_nmiMWKVIe46vacnhAFrQvw_Set refillchars0); N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src0); N_NIMCALL(void, genericSeqAssign)(void* dest0, void* src_qi9cfsBnd42r9a9cpCLO10jow, TNimType* mt0); N_NIMCALL(Tokkind_vfEI6XZ7Xkb5BV9c6202vjA, gettok_bhdBvXONA2D049cZWsITG7A)(Jsonparser_TAl5cv6tbH9avL9cKfMc0hkQ* my0); N_NIMCALL(NimStringDesc*, setLengthStr)(NimStringDesc* s0, NI newlen0); N_NIMCALL(void, skip_3S9b9cVNhGg79bsA5hP4JMAbA_2)(Jsonparser_TAl5cv6tbH9avL9cKfMc0hkQ* my0); N_NIMCALL(NI, handlecr_IwUEvMBOLRY9cqyar6XKEaw)(Baselexer_B6cGbTPhMsqMovc9cOcIHRw* L0, NI pos0); N_NIMCALL(NI, handlelf_IwUEvMBOLRY9cqyar6XKEaw_3)(Baselexer_B6cGbTPhMsqMovc9cOcIHRw* L0, NI pos0); N_NIMCALL(void, parsenumber_JYjE8i409cEC8b5C0sqMO7A)(Jsonparser_TAl5cv6tbH9avL9cKfMc0hkQ* my0); N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s0, NIM_CHAR c0); static N_INLINE(void, appendString)(NimStringDesc* dest0, NimStringDesc* src0); static N_INLINE(void, copymem_E1xtACub5WcDa3vbrIXbwgsystem)(void* dest0, void* source0, NI size0); N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest0, NI addlen0); N_NIMCALL(NIM_BOOL, contains_m1TSS3QwQPclQATuiRuVZg)(NimStringDesc* s0, TY_nmiMWKVIe46vacnhAFrQvw_Set chars0); N_NIMCALL(Tokkind_vfEI6XZ7Xkb5BV9c6202vjA, parsestring_bhdBvXONA2D049cZWsITG7A_2)(Jsonparser_TAl5cv6tbH9avL9cKfMc0hkQ* my0); N_NIMCALL(NI, parseescapedutf16_e6kX9atmDSRFKBvyA9bJj1Ew)(NCSTRING buf0, NI* pos0); N_NIMCALL(NIM_BOOL, handlehexchar_B9aB9bYdlH7mQEQhG7ESFXbg)(NIM_CHAR c0, NI* x0); static N_INLINE(void, appendChar)(NimStringDesc* dest0, NIM_CHAR c0); N_NIMCALL(NimStringDesc*, rawNewString)(NI space0); static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a0, NimStringDesc* b0); static N_INLINE(NIM_BOOL, equalmem_fmeFeLBvgmAHG9bC8ETS9bYQropes)(void* a0, void* b0, NI size0); N_NIMCALL(NimStringDesc*, nuctoUTF8)(NI32 c0); N_NIMCALL(void, parsename_JYjE8i409cEC8b5C0sqMO7A_2)(Jsonparser_TAl5cv6tbH9avL9cKfMc0hkQ* my0); N_NIMCALL(TGenericSeq*, incrSeqV2)(TGenericSeq* seq0, NI elemsize0); static N_INLINE(Parserstate_UzfeQnJimUtC9bt1BjDzcdQ, pop_VO9bSHcr4zrlIDTyWGxsSgwjson)(TY_ArNCLAPkQjwz7DrguhEHNA** s0); N_NIMCALL(TGenericSeq*, setLengthSeq)(TGenericSeq* seq0, NI elemsize0, NI newlen0); N_NIMCALL(void, next_3S9b9cVNhGg79bsA5hP4JMAbA)(Jsonparser_TAl5cv6tbH9avL9cKfMc0hkQ* my0); N_NIMCALL(void, nimGCvisit)(void* d0, NI op0); static N_NIMCALL(void, Marker_TY_TOl9bBVGahlQmjZBc3UGISg)(void* p, NI op); N_NIMCALL(void*, newObj)(TNimType* typ0, NI size0); N_NIMCALL(NimStringDesc*, errormsgexpected_JX5zi2U38bL44QMaeRJjvQ)(Jsonparser_TAl5cv6tbH9avL9cKfMc0hkQ* my0, NimStringDesc* e0); N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr0, NimStringDesc** a0, NI a0Len0); static N_INLINE(NI, getline_P0hkpPjGtCF4FNZ6q9atEnAjson)(Jsonparser_TAl5cv6tbH9avL9cKfMc0hkQ* my0); N_NIMCALL(NimStringDesc*, nimIntToStr)(NI x0); static N_INLINE(NI, getcolumn_P0hkpPjGtCF4FNZ6q9atEnA_2json)(Jsonparser_TAl5cv6tbH9avL9cKfMc0hkQ* my0); N_NIMCALL(NI, getcolnumber_9cj186ckGjLqyndkoW7bBdg)(Baselexer_B6cGbTPhMsqMovc9cOcIHRw* L0, NI pos0); N_NIMCALL(void, raiseException)(Exception* e0, NCSTRING ename0); N_NIMCALL(NimStringDesc*, rawNewString)(NI cap0); N_NIMCALL(void, escapejson_xxovtptDIL7ctJosN3ocbA)(NimStringDesc* s0, NimStringDesc** result0); extern TNimType NTI_B6cGbTPhMsqMovc9cOcIHRw; TNimType NTI_TAl5cv6tbH9avL9cKfMc0hkQ; extern TNimType NTI_77mFvmsOLKik79ci2hXkHEg; TNimType NTI_vfEI6XZ7Xkb5BV9c6202vjA; TNimType NTI_NdAkGi88owzfBOSBDfW49cQ; TNimType NTI_rhaSH4AjHj9bXRijCvdqRhQ; TNimType NTI_UzfeQnJimUtC9bt1BjDzcdQ; TNimType NTI_ArNCLAPkQjwz7DrguhEHNA; extern TNimType NTI_Gi06FkNeykJn7mrqRZYrkA; TNimType NTI_4avqtqpbmyD9bxH9bUmO9b0yw; TNimType NTI_TOl9bBVGahlQmjZBc3UGISg; static NIM_CONST TY_nmiMWKVIe46vacnhAFrQvw_Set T_9b9bytt1stv9cZ8uqII7HFgew_15 = { 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; NIM_CONST struct { TGenericSeq Sup; Parserstate_UzfeQnJimUtC9bt1BjDzcdQ data[1]; } T_9b9bytt1stv9cZ8uqII7HFgew_17 = {{1, 1}, {((Parserstate_UzfeQnJimUtC9bt1BjDzcdQ) 1)}}; NIM_CONST TY_ArNCLAPkQjwz7DrguhEHNA* T_9b9bytt1stv9cZ8uqII7HFgew_16 = ((TY_ArNCLAPkQjwz7DrguhEHNA*)&T_9b9bytt1stv9cZ8uqII7HFgew_17); STRING_LITERAL(T_9b9bytt1stv9cZ8uqII7HFgew_18, "", 0); STRING_LITERAL(T_9b9bytt1stv9cZ8uqII7HFgew_19, "0.", 2); static NIM_CONST TY_nmiMWKVIe46vacnhAFrQvw_Set T_9b9bytt1stv9cZ8uqII7HFgew_20 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; STRING_LITERAL(T_9b9bytt1stv9cZ8uqII7HFgew_21, "\\u", 2); STRING_LITERAL(T_9b9bytt1stv9cZ8uqII7HFgew_22, "null", 4); STRING_LITERAL(T_9b9bytt1stv9cZ8uqII7HFgew_23, "true", 4); STRING_LITERAL(T_9b9bytt1stv9cZ8uqII7HFgew_24, "false", 5); STRING_LITERAL(T_9b9bytt1stv9cZ8uqII7HFgew_25, "$1($2, $3) Error: $4", 20); STRING_LITERAL(T_9b9bytt1stv9cZ8uqII7HFgew_26, " expected", 9); STRING_LITERAL(T_9b9bytt1stv9cZ8uqII7HFgew_27, "\"", 1); STRING_LITERAL(T_9b9bytt1stv9cZ8uqII7HFgew_28, "\\\"", 2); STRING_LITERAL(T_9b9bytt1stv9cZ8uqII7HFgew_29, "\\\\", 2); STRING_LITERAL(T_9b9bytt1stv9cZ8uqII7HFgew_30, "\\u0000", 6); STRING_LITERAL(T_9b9bytt1stv9cZ8uqII7HFgew_31, "0123456789ABCDEF", 16); static N_NIMCALL(void, Marker_TY_ArNCLAPkQjwz7DrguhEHNA)(void* p, NI op) { TY_ArNCLAPkQjwz7DrguhEHNA* a; NI LOC1; a = (TY_ArNCLAPkQjwz7DrguhEHNA*)p; LOC1 = (NI)0; for (LOC1 = 0; LOC1 < a->Sup.len; LOC1++) { } } N_NIMCALL(void, open_USrSbIzr5aC08n4vhuXaWA)(Jsonparser_TAl5cv6tbH9avL9cKfMc0hkQ* my0, Streamobj_RShkcoDOPnoCVhtpN1hDPQ* input0, NimStringDesc* filename0) { Baselexer_B6cGbTPhMsqMovc9cOcIHRw* LOC1; LOC1 = (Baselexer_B6cGbTPhMsqMovc9cOcIHRw*)0; LOC1 = &my0->Sup; open_xmgaYJZNnO6QcDtac9bs3Vg(LOC1, input0, ((NI) 8192), T_9b9bytt1stv9cZ8uqII7HFgew_15); (*my0).filename = copyString(filename0); genericSeqAssign((&(*my0).state), T_9b9bytt1stv9cZ8uqII7HFgew_16, (&NTI_ArNCLAPkQjwz7DrguhEHNA)); (*my0).kind = ((Jsoneventkind_NdAkGi88owzfBOSBDfW49cQ) 0); (*my0).a = copyString(((NimStringDesc*) &T_9b9bytt1stv9cZ8uqII7HFgew_18)); } N_NIMCALL(void, skip_3S9b9cVNhGg79bsA5hP4JMAbA_2)(Jsonparser_TAl5cv6tbH9avL9cKfMc0hkQ* my0) { NI pos0; NCSTRING buf0; pos0 = (*my0).Sup.bufpos; buf0 = (*my0).Sup.buf; { while (1) { switch (((NU8)(buf0[pos0]))) { case 47: { { if (!((NU8)(buf0[(NI)(pos0 + ((NI) 1))]) == (NU8)(47))) goto LA6; pos0 += ((NI) 2); { while (1) { switch (((NU8)(buf0[pos0]))) { case 0: { goto LA8; } break; case 13: { Baselexer_B6cGbTPhMsqMovc9cOcIHRw* LOC12; LOC12 = (Baselexer_B6cGbTPhMsqMovc9cOcIHRw*)0; LOC12 = &my0->Sup; pos0 = handlecr_IwUEvMBOLRY9cqyar6XKEaw(LOC12, pos0); buf0 = (*my0).Sup.buf; goto LA8; } break; case 10: { Baselexer_B6cGbTPhMsqMovc9cOcIHRw* LOC14; LOC14 = (Baselexer_B6cGbTPhMsqMovc9cOcIHRw*)0; LOC14 = &my0->Sup; pos0 = handlelf_IwUEvMBOLRY9cqyar6XKEaw_3(LOC14, pos0); buf0 = (*my0).Sup.buf; goto LA8; } break; default: { pos0 += ((NI) 1); } break; } } } LA8: ; } goto LA4; LA6: ; { if (!((NU8)(buf0[(NI)(pos0 + ((NI) 1))]) == (NU8)(42))) goto LA17; pos0 += ((NI) 2); { while (1) { switch (((NU8)(buf0[pos0]))) { case 0: { (*my0).err = ((Jsonerror_rhaSH4AjHj9bXRijCvdqRhQ) 8); goto LA19; } break; case 13: { Baselexer_B6cGbTPhMsqMovc9cOcIHRw* LOC23; LOC23 = (Baselexer_B6cGbTPhMsqMovc9cOcIHRw*)0; LOC23 = &my0->Sup; pos0 = handlecr_IwUEvMBOLRY9cqyar6XKEaw(LOC23, pos0); buf0 = (*my0).Sup.buf; } break; case 10: { Baselexer_B6cGbTPhMsqMovc9cOcIHRw* LOC25; LOC25 = (Baselexer_B6cGbTPhMsqMovc9cOcIHRw*)0; LOC25 = &my0->Sup; pos0 = handlelf_IwUEvMBOLRY9cqyar6XKEaw_3(LOC25, pos0); buf0 = (*my0).Sup.buf; } break; case 42: { pos0 += ((NI) 1); { if (!((NU8)(buf0[pos0]) == (NU8)(47))) goto LA29; pos0 += ((NI) 1); goto LA19; } LA29: ; } break; default: { pos0 += ((NI) 1); } break; } } } LA19: ; } goto LA4; LA17: ; { goto LA1; } LA4: ; } break; case 32: case 9: { pos0 += ((NI) 1); } break; case 13: { Baselexer_B6cGbTPhMsqMovc9cOcIHRw* LOC35; LOC35 = (Baselexer_B6cGbTPhMsqMovc9cOcIHRw*)0; LOC35 = &my0->Sup; pos0 = handlecr_IwUEvMBOLRY9cqyar6XKEaw(LOC35, pos0); buf0 = (*my0).Sup.buf; } break; case 10: { Baselexer_B6cGbTPhMsqMovc9cOcIHRw* LOC37; LOC37 = (Baselexer_B6cGbTPhMsqMovc9cOcIHRw*)0; LOC37 = &my0->Sup; pos0 = handlelf_IwUEvMBOLRY9cqyar6XKEaw_3(LOC37, pos0); buf0 = (*my0).Sup.buf; } break; default: { goto LA1; } break; } } } LA1: ; (*my0).Sup.bufpos = pos0; } static N_INLINE(void, copymem_E1xtACub5WcDa3vbrIXbwgsystem)(void* dest0, void* source0, NI size0) { void* LOC1; LOC1 = (void*)0; LOC1 = memcpy(dest0, source0, ((size_t) (size0))); } static N_INLINE(void, appendString)(NimStringDesc* dest0, NimStringDesc* src0) { copymem_E1xtACub5WcDa3vbrIXbwgsystem(((void*) ((&(*dest0).data[((*dest0).Sup.len)- 0]))), ((void*) ((*src0).data)), ((NI) ((NI)((*src0).Sup.len + ((NI) 1))))); (*dest0).Sup.len += (*src0).Sup.len; } N_NIMCALL(void, parsenumber_JYjE8i409cEC8b5C0sqMO7A)(Jsonparser_TAl5cv6tbH9avL9cKfMc0hkQ* my0) { NI pos0; NCSTRING buf0; pos0 = (*my0).Sup.bufpos; buf0 = (*my0).Sup.buf; { if (!((NU8)(buf0[pos0]) == (NU8)(45))) goto LA3; (*my0).a = addChar((*my0).a, 45); pos0 += ((NI) 1); } LA3: ; { if (!((NU8)(buf0[pos0]) == (NU8)(46))) goto LA7; (*my0).a = resizeString((*my0).a, 2); appendString((*my0).a, ((NimStringDesc*) &T_9b9bytt1stv9cZ8uqII7HFgew_19)); pos0 += ((NI) 1); } goto LA5; LA7: ; { { while (1) { if (!(((NU8)(buf0[pos0])) >= ((NU8)(48)) && ((NU8)(buf0[pos0])) <= ((NU8)(57)))) goto LA11; (*my0).a = addChar((*my0).a, buf0[pos0]); pos0 += ((NI) 1); } LA11: ; } { if (!((NU8)(buf0[pos0]) == (NU8)(46))) goto LA14; (*my0).a = addChar((*my0).a, 46); pos0 += ((NI) 1); } LA14: ; } LA5: ; { while (1) { if (!(((NU8)(buf0[pos0])) >= ((NU8)(48)) && ((NU8)(buf0[pos0])) <= ((NU8)(57)))) goto LA17; (*my0).a = addChar((*my0).a, buf0[pos0]); pos0 += ((NI) 1); } LA17: ; } { if (!(((NU8)(buf0[pos0])) == ((NU8)(69)) || ((NU8)(buf0[pos0])) == ((NU8)(101)))) goto LA20; (*my0).a = addChar((*my0).a, buf0[pos0]); pos0 += ((NI) 1); { if (!(((NU8)(buf0[pos0])) == ((NU8)(43)) || ((NU8)(buf0[pos0])) == ((NU8)(45)))) goto LA24; (*my0).a = addChar((*my0).a, buf0[pos0]); pos0 += ((NI) 1); } LA24: ; { while (1) { if (!(((NU8)(buf0[pos0])) >= ((NU8)(48)) && ((NU8)(buf0[pos0])) <= ((NU8)(57)))) goto LA27; (*my0).a = addChar((*my0).a, buf0[pos0]); pos0 += ((NI) 1); } LA27: ; } } LA20: ; (*my0).Sup.bufpos = pos0; } N_NIMCALL(NIM_BOOL, handlehexchar_B9aB9bYdlH7mQEQhG7ESFXbg)(NIM_CHAR c0, NI* x0) { NIM_BOOL result0; result0 = (NIM_BOOL)0; result0 = NIM_TRUE; switch (((NU8)(c0))) { case 48 ... 57: { (*x0) = (NI)((NI)((NU64)((*x0)) << (NU64)(((NI) 4))) | ((NI) ((NI)(((NI) (((NU8)(c0)))) - ((NI) 48))))); } break; case 97 ... 102: { (*x0) = (NI)((NI)((NU64)((*x0)) << (NU64)(((NI) 4))) | ((NI) ((NI)(((NI) ((NI)(((NI) (((NU8)(c0)))) - ((NI) 97)))) + ((NI) 10))))); } break; case 65 ... 70: { (*x0) = (NI)((NI)((NU64)((*x0)) << (NU64)(((NI) 4))) | ((NI) ((NI)(((NI) ((NI)(((NI) (((NU8)(c0)))) - ((NI) 65)))) + ((NI) 10))))); } break; default: { result0 = NIM_FALSE; } break; } return result0; } N_NIMCALL(NI, parseescapedutf16_e6kX9atmDSRFKBvyA9bJj1Ew)(NCSTRING buf0, NI* pos0) { NI result0; { result0 = (NI)0; result0 = ((NI) 0); { NI HEX5F_azqg9bTpBvrihRW6HQM1Byg; NI res_tQXBgON6L7FBaEpV7yc6ag; HEX5F_azqg9bTpBvrihRW6HQM1Byg = (NI)0; res_tQXBgON6L7FBaEpV7yc6ag = ((NI) 0); { while (1) { if (!(res_tQXBgON6L7FBaEpV7yc6ag <= ((NI) 3))) goto LA3; HEX5F_azqg9bTpBvrihRW6HQM1Byg = res_tQXBgON6L7FBaEpV7yc6ag; { NIM_BOOL LOC6; LOC6 = (NIM_BOOL)0; LOC6 = handlehexchar_B9aB9bYdlH7mQEQhG7ESFXbg(buf0[(*pos0)], (&result0)); if (!LOC6) goto LA7; (*pos0) += ((NI) 1); } goto LA4; LA7: ; { result0 = ((NI) -1); goto BeforeRet; } LA4: ; res_tQXBgON6L7FBaEpV7yc6ag += ((NI) 1); } LA3: ; } } }BeforeRet: ; return result0; } static N_INLINE(void, appendChar)(NimStringDesc* dest0, NIM_CHAR c0) { (*dest0).data[((*dest0).Sup.len)- 0] = c0; (*dest0).data[((NI)((*dest0).Sup.len + ((NI) 1)))- 0] = 0; (*dest0).Sup.len += ((NI) 1); } static N_INLINE(NIM_BOOL, equalmem_fmeFeLBvgmAHG9bC8ETS9bYQropes)(void* a0, void* b0, NI size0) { NIM_BOOL result0; int LOC1; result0 = (NIM_BOOL)0; LOC1 = (int)0; LOC1 = memcmp(a0, b0, ((size_t) (size0))); result0 = (LOC1 == ((NI32) 0)); return result0; } static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a0, NimStringDesc* b0) { NIM_BOOL result0; NIM_BOOL LOC11; { result0 = (NIM_BOOL)0; { if (!(a0 == b0)) goto LA3; result0 = NIM_TRUE; goto BeforeRet; } LA3: ; { NIM_BOOL LOC7; LOC7 = (NIM_BOOL)0; LOC7 = (a0 == NIM_NIL); if (LOC7) goto LA8; LOC7 = (b0 == NIM_NIL); LA8: ; if (!LOC7) goto LA9; result0 = NIM_FALSE; goto BeforeRet; } LA9: ; LOC11 = (NIM_BOOL)0; LOC11 = ((*a0).Sup.len == (*b0).Sup.len); if (!(LOC11)) goto LA12; LOC11 = equalmem_fmeFeLBvgmAHG9bC8ETS9bYQropes(((void*) ((*a0).data)), ((void*) ((*b0).data)), ((NI) ((*a0).Sup.len))); LA12: ; result0 = LOC11; goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(Tokkind_vfEI6XZ7Xkb5BV9c6202vjA, parsestring_bhdBvXONA2D049cZWsITG7A_2)(Jsonparser_TAl5cv6tbH9avL9cKfMc0hkQ* my0) { Tokkind_vfEI6XZ7Xkb5BV9c6202vjA result0; NI pos0; NCSTRING buf0; result0 = (Tokkind_vfEI6XZ7Xkb5BV9c6202vjA)0; result0 = ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 2); pos0 = (NI)((*my0).Sup.bufpos + ((NI) 1)); buf0 = (*my0).Sup.buf; { while (1) { switch (((NU8)(buf0[pos0]))) { case 0: { (*my0).err = ((Jsonerror_rhaSH4AjHj9bXRijCvdqRhQ) 7); result0 = ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 0); goto LA1; } break; case 34: { pos0 += ((NI) 1); goto LA1; } break; case 92: { switch (((NU8)(buf0[(NI)(pos0 + ((NI) 1))]))) { case 92: case 34: case 39: case 47: { (*my0).a = addChar((*my0).a, buf0[(NI)(pos0 + ((NI) 1))]); pos0 += ((NI) 2); } break; case 98: { (*my0).a = addChar((*my0).a, 8); pos0 += ((NI) 2); } break; case 102: { (*my0).a = addChar((*my0).a, 12); pos0 += ((NI) 2); } break; case 110: { (*my0).a = addChar((*my0).a, 10); pos0 += ((NI) 2); } break; case 114: { (*my0).a = addChar((*my0).a, 13); pos0 += ((NI) 2); } break; case 116: { (*my0).a = addChar((*my0).a, 9); pos0 += ((NI) 2); } break; case 117: { NI r0; NimStringDesc* LOC33; pos0 += ((NI) 2); r0 = parseescapedutf16_e6kX9atmDSRFKBvyA9bJj1Ew(buf0, (&pos0)); { if (!(r0 < ((NI) 0))) goto LA15; (*my0).err = ((Jsonerror_rhaSH4AjHj9bXRijCvdqRhQ) 1); goto LA1; } LA15: ; { NI s0; if (!((NI)(r0 & ((NI) 64512)) == ((NI) 55296))) goto LA19; { NimStringDesc* LOC23; LOC23 = (NimStringDesc*)0; LOC23 = rawNewString(2); appendChar(LOC23, buf0[pos0]); appendChar(LOC23, buf0[(NI)(pos0 + ((NI) 1))]); if (!!(eqStrings(LOC23, ((NimStringDesc*) &T_9b9bytt1stv9cZ8uqII7HFgew_21)))) goto LA24; (*my0).err = ((Jsonerror_rhaSH4AjHj9bXRijCvdqRhQ) 1); goto LA1; } LA24: ; pos0 += ((NI) 2); s0 = parseescapedutf16_e6kX9atmDSRFKBvyA9bJj1Ew(buf0, (&pos0)); { NIM_BOOL LOC28; LOC28 = (NIM_BOOL)0; LOC28 = ((NI)(s0 & ((NI) 64512)) == ((NI) 56320)); if (!(LOC28)) goto LA29; LOC28 = (((NI) 0) < s0); LA29: ; if (!LOC28) goto LA30; r0 = (NI)(((NI) 65536) + (NI)((NI)((NU64)((NI)(r0 - ((NI) 55296))) << (NU64)(((NI) 10))) | (NI)(s0 - ((NI) 56320)))); } goto LA26; LA30: ; { (*my0).err = ((Jsonerror_rhaSH4AjHj9bXRijCvdqRhQ) 1); goto LA1; } LA26: ; } LA19: ; LOC33 = (NimStringDesc*)0; LOC33 = nuctoUTF8(((NI32) (r0))); (*my0).a = resizeString((*my0).a, LOC33->Sup.len + 0); appendString((*my0).a, LOC33); } break; default: { (*my0).a = addChar((*my0).a, buf0[pos0]); pos0 += ((NI) 1); } break; } } break; case 13: { Baselexer_B6cGbTPhMsqMovc9cOcIHRw* LOC36; LOC36 = (Baselexer_B6cGbTPhMsqMovc9cOcIHRw*)0; LOC36 = &my0->Sup; pos0 = handlecr_IwUEvMBOLRY9cqyar6XKEaw(LOC36, pos0); buf0 = (*my0).Sup.buf; (*my0).a = addChar((*my0).a, 13); } break; case 10: { Baselexer_B6cGbTPhMsqMovc9cOcIHRw* LOC38; LOC38 = (Baselexer_B6cGbTPhMsqMovc9cOcIHRw*)0; LOC38 = &my0->Sup; pos0 = handlelf_IwUEvMBOLRY9cqyar6XKEaw_3(LOC38, pos0); buf0 = (*my0).Sup.buf; (*my0).a = addChar((*my0).a, 10); } break; default: { (*my0).a = addChar((*my0).a, buf0[pos0]); pos0 += ((NI) 1); } break; } } } LA1: ; (*my0).Sup.bufpos = pos0; return result0; } N_NIMCALL(void, parsename_JYjE8i409cEC8b5C0sqMO7A_2)(Jsonparser_TAl5cv6tbH9avL9cKfMc0hkQ* my0) { NI pos0; NCSTRING buf0; pos0 = (*my0).Sup.bufpos; buf0 = (*my0).Sup.buf; { if (!(((NU8)(buf0[pos0])) >= ((NU8)(97)) && ((NU8)(buf0[pos0])) <= ((NU8)(122)) || ((NU8)(buf0[pos0])) >= ((NU8)(65)) && ((NU8)(buf0[pos0])) <= ((NU8)(90)) || ((NU8)(buf0[pos0])) == ((NU8)(95)))) goto LA3; { while (1) { if (!(((NU8)(buf0[pos0])) >= ((NU8)(97)) && ((NU8)(buf0[pos0])) <= ((NU8)(122)) || ((NU8)(buf0[pos0])) >= ((NU8)(65)) && ((NU8)(buf0[pos0])) <= ((NU8)(90)) || ((NU8)(buf0[pos0])) >= ((NU8)(48)) && ((NU8)(buf0[pos0])) <= ((NU8)(57)) || ((NU8)(buf0[pos0])) == ((NU8)(95)))) goto LA6; (*my0).a = addChar((*my0).a, buf0[pos0]); pos0 += ((NI) 1); } LA6: ; } } LA3: ; (*my0).Sup.bufpos = pos0; } N_NIMCALL(Tokkind_vfEI6XZ7Xkb5BV9c6202vjA, gettok_bhdBvXONA2D049cZWsITG7A)(Jsonparser_TAl5cv6tbH9avL9cKfMc0hkQ* my0) { Tokkind_vfEI6XZ7Xkb5BV9c6202vjA result0; result0 = (Tokkind_vfEI6XZ7Xkb5BV9c6202vjA)0; (*my0).a = setLengthStr((*my0).a, ((NI) 0)); skip_3S9b9cVNhGg79bsA5hP4JMAbA_2(my0); switch (((NU8)((*my0).Sup.buf[(*my0).Sup.bufpos]))) { case 45: case 46: case 48 ... 57: { parsenumber_JYjE8i409cEC8b5C0sqMO7A(my0); { NIM_BOOL LOC4; LOC4 = (NIM_BOOL)0; LOC4 = contains_m1TSS3QwQPclQATuiRuVZg((*my0).a, T_9b9bytt1stv9cZ8uqII7HFgew_20); if (!LOC4) goto LA5; result0 = ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 4); } goto LA2; LA5: ; { result0 = ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 3); } LA2: ; } break; case 34: { result0 = parsestring_bhdBvXONA2D049cZWsITG7A_2(my0); } break; case 91: { (*my0).Sup.bufpos += ((NI) 1); result0 = ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 10); } break; case 123: { (*my0).Sup.bufpos += ((NI) 1); result0 = ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 8); } break; case 93: { (*my0).Sup.bufpos += ((NI) 1); result0 = ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 11); } break; case 125: { (*my0).Sup.bufpos += ((NI) 1); result0 = ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 9); } break; case 44: { (*my0).Sup.bufpos += ((NI) 1); result0 = ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 13); } break; case 58: { (*my0).Sup.bufpos += ((NI) 1); result0 = ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 12); } break; case 0: { result0 = ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 1); } break; case 97 ... 122: case 65 ... 90: case 95: { parsename_JYjE8i409cEC8b5C0sqMO7A_2(my0); if (eqStrings((*my0).a, ((NimStringDesc*) &T_9b9bytt1stv9cZ8uqII7HFgew_22))) goto LA17; if (eqStrings((*my0).a, ((NimStringDesc*) &T_9b9bytt1stv9cZ8uqII7HFgew_23))) goto LA18; if (eqStrings((*my0).a, ((NimStringDesc*) &T_9b9bytt1stv9cZ8uqII7HFgew_24))) goto LA19; goto LA20; LA17: ; { result0 = ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 7); } goto LA21; LA18: ; { result0 = ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 5); } goto LA21; LA19: ; { result0 = ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 6); } goto LA21; LA20: ; { result0 = ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 0); } LA21: ; } break; default: { (*my0).Sup.bufpos += ((NI) 1); result0 = ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 0); } break; } (*my0).tok = result0; return result0; } static N_INLINE(Parserstate_UzfeQnJimUtC9bt1BjDzcdQ, pop_VO9bSHcr4zrlIDTyWGxsSgwjson)(TY_ArNCLAPkQjwz7DrguhEHNA** s0) { Parserstate_UzfeQnJimUtC9bt1BjDzcdQ result0; NI L0; result0 = (Parserstate_UzfeQnJimUtC9bt1BjDzcdQ)0; L0 = (NI)(((*s0) ? (*s0)->Sup.len : 0) - ((NI) 1)); result0 = (*s0)->data[L0]; (*s0) = (TY_ArNCLAPkQjwz7DrguhEHNA*) setLengthSeq(&((*s0))->Sup, sizeof(Parserstate_UzfeQnJimUtC9bt1BjDzcdQ), ((NI) (L0))); return result0; } N_NIMCALL(void, next_3S9b9cVNhGg79bsA5hP4JMAbA)(Jsonparser_TAl5cv6tbH9avL9cKfMc0hkQ* my0) { Tokkind_vfEI6XZ7Xkb5BV9c6202vjA tk0; NI i0; tk0 = gettok_bhdBvXONA2D049cZWsITG7A(my0); i0 = (NI)(((*my0).state ? (*my0).state->Sup.len : 0) - ((NI) 1)); switch ((*my0).state->data[i0]) { case ((Parserstate_UzfeQnJimUtC9bt1BjDzcdQ) 0): { { if (!(tk0 == ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 1))) goto LA4; (*my0).kind = ((Jsoneventkind_NdAkGi88owzfBOSBDfW49cQ) 1); } goto LA2; LA4: ; { (*my0).kind = ((Jsoneventkind_NdAkGi88owzfBOSBDfW49cQ) 0); (*my0).err = ((Jsonerror_rhaSH4AjHj9bXRijCvdqRhQ) 9); } LA2: ; } break; case ((Parserstate_UzfeQnJimUtC9bt1BjDzcdQ) 1): { switch (tk0) { case ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 2): case ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 3): case ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 4): case ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 5): case ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 6): case ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 7): { (*my0).state->data[i0] = ((Parserstate_UzfeQnJimUtC9bt1BjDzcdQ) 0); (*my0).kind = ((Jsoneventkind_NdAkGi88owzfBOSBDfW49cQ) (tk0)); } break; case ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 10): { (*my0).state = (TY_ArNCLAPkQjwz7DrguhEHNA*) incrSeqV2(&((*my0).state)->Sup, sizeof(Parserstate_UzfeQnJimUtC9bt1BjDzcdQ)); (*my0).state->data[(*my0).state->Sup.len] = ((Parserstate_UzfeQnJimUtC9bt1BjDzcdQ) 3); ++(*my0).state->Sup.len; (*my0).kind = ((Jsoneventkind_NdAkGi88owzfBOSBDfW49cQ) 10); } break; case ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 8): { (*my0).state = (TY_ArNCLAPkQjwz7DrguhEHNA*) incrSeqV2(&((*my0).state)->Sup, sizeof(Parserstate_UzfeQnJimUtC9bt1BjDzcdQ)); (*my0).state->data[(*my0).state->Sup.len] = ((Parserstate_UzfeQnJimUtC9bt1BjDzcdQ) 2); ++(*my0).state->Sup.len; (*my0).kind = ((Jsoneventkind_NdAkGi88owzfBOSBDfW49cQ) 8); } break; case ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 1): { (*my0).kind = ((Jsoneventkind_NdAkGi88owzfBOSBDfW49cQ) 1); } break; default: { (*my0).kind = ((Jsoneventkind_NdAkGi88owzfBOSBDfW49cQ) 0); (*my0).err = ((Jsonerror_rhaSH4AjHj9bXRijCvdqRhQ) 9); } break; } } break; case ((Parserstate_UzfeQnJimUtC9bt1BjDzcdQ) 2): { switch (tk0) { case ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 2): case ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 3): case ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 4): case ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 5): case ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 6): case ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 7): { (*my0).state = (TY_ArNCLAPkQjwz7DrguhEHNA*) incrSeqV2(&((*my0).state)->Sup, sizeof(Parserstate_UzfeQnJimUtC9bt1BjDzcdQ)); (*my0).state->data[(*my0).state->Sup.len] = ((Parserstate_UzfeQnJimUtC9bt1BjDzcdQ) 6); ++(*my0).state->Sup.len; (*my0).kind = ((Jsoneventkind_NdAkGi88owzfBOSBDfW49cQ) (tk0)); } break; case ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 10): { (*my0).state = (TY_ArNCLAPkQjwz7DrguhEHNA*) incrSeqV2(&((*my0).state)->Sup, sizeof(Parserstate_UzfeQnJimUtC9bt1BjDzcdQ)); (*my0).state->data[(*my0).state->Sup.len] = ((Parserstate_UzfeQnJimUtC9bt1BjDzcdQ) 6); ++(*my0).state->Sup.len; (*my0).state = (TY_ArNCLAPkQjwz7DrguhEHNA*) incrSeqV2(&((*my0).state)->Sup, sizeof(Parserstate_UzfeQnJimUtC9bt1BjDzcdQ)); (*my0).state->data[(*my0).state->Sup.len] = ((Parserstate_UzfeQnJimUtC9bt1BjDzcdQ) 3); ++(*my0).state->Sup.len; (*my0).kind = ((Jsoneventkind_NdAkGi88owzfBOSBDfW49cQ) 10); } break; case ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 8): { (*my0).state = (TY_ArNCLAPkQjwz7DrguhEHNA*) incrSeqV2(&((*my0).state)->Sup, sizeof(Parserstate_UzfeQnJimUtC9bt1BjDzcdQ)); (*my0).state->data[(*my0).state->Sup.len] = ((Parserstate_UzfeQnJimUtC9bt1BjDzcdQ) 6); ++(*my0).state->Sup.len; (*my0).state = (TY_ArNCLAPkQjwz7DrguhEHNA*) incrSeqV2(&((*my0).state)->Sup, sizeof(Parserstate_UzfeQnJimUtC9bt1BjDzcdQ)); (*my0).state->data[(*my0).state->Sup.len] = ((Parserstate_UzfeQnJimUtC9bt1BjDzcdQ) 2); ++(*my0).state->Sup.len; (*my0).kind = ((Jsoneventkind_NdAkGi88owzfBOSBDfW49cQ) 8); } break; case ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 9): { Parserstate_UzfeQnJimUtC9bt1BjDzcdQ LOC18; (*my0).kind = ((Jsoneventkind_NdAkGi88owzfBOSBDfW49cQ) 9); LOC18 = (Parserstate_UzfeQnJimUtC9bt1BjDzcdQ)0; LOC18 = pop_VO9bSHcr4zrlIDTyWGxsSgwjson((&(*my0).state)); } break; default: { (*my0).kind = ((Jsoneventkind_NdAkGi88owzfBOSBDfW49cQ) 0); (*my0).err = ((Jsonerror_rhaSH4AjHj9bXRijCvdqRhQ) 6); } break; } } break; case ((Parserstate_UzfeQnJimUtC9bt1BjDzcdQ) 3): { switch (tk0) { case ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 2): case ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 3): case ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 4): case ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 5): case ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 6): case ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 7): { (*my0).state = (TY_ArNCLAPkQjwz7DrguhEHNA*) incrSeqV2(&((*my0).state)->Sup, sizeof(Parserstate_UzfeQnJimUtC9bt1BjDzcdQ)); (*my0).state->data[(*my0).state->Sup.len] = ((Parserstate_UzfeQnJimUtC9bt1BjDzcdQ) 4); ++(*my0).state->Sup.len; (*my0).kind = ((Jsoneventkind_NdAkGi88owzfBOSBDfW49cQ) (tk0)); } break; case ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 10): { (*my0).state = (TY_ArNCLAPkQjwz7DrguhEHNA*) incrSeqV2(&((*my0).state)->Sup, sizeof(Parserstate_UzfeQnJimUtC9bt1BjDzcdQ)); (*my0).state->data[(*my0).state->Sup.len] = ((Parserstate_UzfeQnJimUtC9bt1BjDzcdQ) 4); ++(*my0).state->Sup.len; (*my0).state = (TY_ArNCLAPkQjwz7DrguhEHNA*) incrSeqV2(&((*my0).state)->Sup, sizeof(Parserstate_UzfeQnJimUtC9bt1BjDzcdQ)); (*my0).state->data[(*my0).state->Sup.len] = ((Parserstate_UzfeQnJimUtC9bt1BjDzcdQ) 3); ++(*my0).state->Sup.len; (*my0).kind = ((Jsoneventkind_NdAkGi88owzfBOSBDfW49cQ) 10); } break; case ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 8): { (*my0).state = (TY_ArNCLAPkQjwz7DrguhEHNA*) incrSeqV2(&((*my0).state)->Sup, sizeof(Parserstate_UzfeQnJimUtC9bt1BjDzcdQ)); (*my0).state->data[(*my0).state->Sup.len] = ((Parserstate_UzfeQnJimUtC9bt1BjDzcdQ) 4); ++(*my0).state->Sup.len; (*my0).state = (TY_ArNCLAPkQjwz7DrguhEHNA*) incrSeqV2(&((*my0).state)->Sup, sizeof(Parserstate_UzfeQnJimUtC9bt1BjDzcdQ)); (*my0).state->data[(*my0).state->Sup.len] = ((Parserstate_UzfeQnJimUtC9bt1BjDzcdQ) 2); ++(*my0).state->Sup.len; (*my0).kind = ((Jsoneventkind_NdAkGi88owzfBOSBDfW49cQ) 8); } break; case ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 11): { Parserstate_UzfeQnJimUtC9bt1BjDzcdQ LOC25; (*my0).kind = ((Jsoneventkind_NdAkGi88owzfBOSBDfW49cQ) 11); LOC25 = (Parserstate_UzfeQnJimUtC9bt1BjDzcdQ)0; LOC25 = pop_VO9bSHcr4zrlIDTyWGxsSgwjson((&(*my0).state)); } break; default: { (*my0).kind = ((Jsoneventkind_NdAkGi88owzfBOSBDfW49cQ) 0); (*my0).err = ((Jsonerror_rhaSH4AjHj9bXRijCvdqRhQ) 5); } break; } } break; case ((Parserstate_UzfeQnJimUtC9bt1BjDzcdQ) 4): { switch (tk0) { case ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 13): { Parserstate_UzfeQnJimUtC9bt1BjDzcdQ LOC29; LOC29 = (Parserstate_UzfeQnJimUtC9bt1BjDzcdQ)0; LOC29 = pop_VO9bSHcr4zrlIDTyWGxsSgwjson((&(*my0).state)); next_3S9b9cVNhGg79bsA5hP4JMAbA(my0); } break; case ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 11): { Parserstate_UzfeQnJimUtC9bt1BjDzcdQ LOC31; Parserstate_UzfeQnJimUtC9bt1BjDzcdQ LOC32; (*my0).kind = ((Jsoneventkind_NdAkGi88owzfBOSBDfW49cQ) 11); LOC31 = (Parserstate_UzfeQnJimUtC9bt1BjDzcdQ)0; LOC31 = pop_VO9bSHcr4zrlIDTyWGxsSgwjson((&(*my0).state)); LOC32 = (Parserstate_UzfeQnJimUtC9bt1BjDzcdQ)0; LOC32 = pop_VO9bSHcr4zrlIDTyWGxsSgwjson((&(*my0).state)); } break; default: { (*my0).kind = ((Jsoneventkind_NdAkGi88owzfBOSBDfW49cQ) 0); (*my0).err = ((Jsonerror_rhaSH4AjHj9bXRijCvdqRhQ) 5); } break; } } break; case ((Parserstate_UzfeQnJimUtC9bt1BjDzcdQ) 5): { switch (tk0) { case ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 13): { Parserstate_UzfeQnJimUtC9bt1BjDzcdQ LOC36; LOC36 = (Parserstate_UzfeQnJimUtC9bt1BjDzcdQ)0; LOC36 = pop_VO9bSHcr4zrlIDTyWGxsSgwjson((&(*my0).state)); next_3S9b9cVNhGg79bsA5hP4JMAbA(my0); } break; case ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 9): { Parserstate_UzfeQnJimUtC9bt1BjDzcdQ LOC38; Parserstate_UzfeQnJimUtC9bt1BjDzcdQ LOC39; (*my0).kind = ((Jsoneventkind_NdAkGi88owzfBOSBDfW49cQ) 9); LOC38 = (Parserstate_UzfeQnJimUtC9bt1BjDzcdQ)0; LOC38 = pop_VO9bSHcr4zrlIDTyWGxsSgwjson((&(*my0).state)); LOC39 = (Parserstate_UzfeQnJimUtC9bt1BjDzcdQ)0; LOC39 = pop_VO9bSHcr4zrlIDTyWGxsSgwjson((&(*my0).state)); } break; default: { (*my0).kind = ((Jsoneventkind_NdAkGi88owzfBOSBDfW49cQ) 0); (*my0).err = ((Jsonerror_rhaSH4AjHj9bXRijCvdqRhQ) 6); } break; } } break; case ((Parserstate_UzfeQnJimUtC9bt1BjDzcdQ) 6): { switch (tk0) { case ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 12): { (*my0).state->data[i0] = ((Parserstate_UzfeQnJimUtC9bt1BjDzcdQ) 7); next_3S9b9cVNhGg79bsA5hP4JMAbA(my0); } break; default: { (*my0).kind = ((Jsoneventkind_NdAkGi88owzfBOSBDfW49cQ) 0); (*my0).err = ((Jsonerror_rhaSH4AjHj9bXRijCvdqRhQ) 3); } break; } } break; case ((Parserstate_UzfeQnJimUtC9bt1BjDzcdQ) 7): { switch (tk0) { case ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 2): case ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 3): case ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 4): case ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 5): case ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 6): case ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 7): { (*my0).state->data[i0] = ((Parserstate_UzfeQnJimUtC9bt1BjDzcdQ) 5); (*my0).kind = ((Jsoneventkind_NdAkGi88owzfBOSBDfW49cQ) (tk0)); } break; case ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 10): { (*my0).state->data[i0] = ((Parserstate_UzfeQnJimUtC9bt1BjDzcdQ) 5); (*my0).state = (TY_ArNCLAPkQjwz7DrguhEHNA*) incrSeqV2(&((*my0).state)->Sup, sizeof(Parserstate_UzfeQnJimUtC9bt1BjDzcdQ)); (*my0).state->data[(*my0).state->Sup.len] = ((Parserstate_UzfeQnJimUtC9bt1BjDzcdQ) 3); ++(*my0).state->Sup.len; (*my0).kind = ((Jsoneventkind_NdAkGi88owzfBOSBDfW49cQ) 10); } break; case ((Tokkind_vfEI6XZ7Xkb5BV9c6202vjA) 8): { (*my0).state->data[i0] = ((Parserstate_UzfeQnJimUtC9bt1BjDzcdQ) 5); (*my0).state = (TY_ArNCLAPkQjwz7DrguhEHNA*) incrSeqV2(&((*my0).state)->Sup, sizeof(Parserstate_UzfeQnJimUtC9bt1BjDzcdQ)); (*my0).state->data[(*my0).state->Sup.len] = ((Parserstate_UzfeQnJimUtC9bt1BjDzcdQ) 2); ++(*my0).state->Sup.len; (*my0).kind = ((Jsoneventkind_NdAkGi88owzfBOSBDfW49cQ) 8); } break; default: { (*my0).kind = ((Jsoneventkind_NdAkGi88owzfBOSBDfW49cQ) 0); (*my0).err = ((Jsonerror_rhaSH4AjHj9bXRijCvdqRhQ) 10); } break; } } break; } } static N_NIMCALL(void, Marker_TY_TOl9bBVGahlQmjZBc3UGISg)(void* p, NI op) { Jsonparsingerror_4avqtqpbmyD9bxH9bUmO9b0yw* a; a = (Jsonparsingerror_4avqtqpbmyD9bxH9bUmO9b0yw*)p; nimGCvisit((void*)(*a).Sup.Sup.parent, op); nimGCvisit((void*)(*a).Sup.Sup.message, op); nimGCvisit((void*)(*a).Sup.Sup.trace, op); } static N_INLINE(NI, getline_P0hkpPjGtCF4FNZ6q9atEnAjson)(Jsonparser_TAl5cv6tbH9avL9cKfMc0hkQ* my0) { NI result0; result0 = (NI)0; result0 = (*my0).Sup.linenumber; return result0; } static N_INLINE(NI, getcolumn_P0hkpPjGtCF4FNZ6q9atEnA_2json)(Jsonparser_TAl5cv6tbH9avL9cKfMc0hkQ* my0) { NI result0; result0 = (NI)0; result0 = getcolnumber_9cj186ckGjLqyndkoW7bBdg((&(*my0).Sup), (*my0).Sup.bufpos); return result0; } N_NIMCALL(NimStringDesc*, errormsgexpected_JX5zi2U38bL44QMaeRJjvQ)(Jsonparser_TAl5cv6tbH9avL9cKfMc0hkQ* my0, NimStringDesc* e0) { NimStringDesc* result0; TY_sMpvt1sOxOJ3LFGulnbeMQ LOC1; NI LOC2; NI LOC3; NimStringDesc* LOC4; result0 = (NimStringDesc*)0; memset((void*)LOC1, 0, sizeof(LOC1)); LOC1[0] = copyString((*my0).filename); LOC2 = (NI)0; LOC2 = getline_P0hkpPjGtCF4FNZ6q9atEnAjson(my0); LOC1[1] = nimIntToStr(LOC2); LOC3 = (NI)0; LOC3 = getcolumn_P0hkpPjGtCF4FNZ6q9atEnA_2json(my0); LOC1[2] = nimIntToStr(LOC3); LOC4 = (NimStringDesc*)0; LOC4 = rawNewString(e0->Sup.len + 9); appendString(LOC4, e0); appendString(LOC4, ((NimStringDesc*) &T_9b9bytt1stv9cZ8uqII7HFgew_26)); LOC1[3] = LOC4; result0 = nsuFormatOpenArray(((NimStringDesc*) &T_9b9bytt1stv9cZ8uqII7HFgew_25), LOC1, 4); return result0; } N_NOINLINE(void, raiseparseerr_4afCLEB5DzcwYAdDumDqYQ)(Jsonparser_TAl5cv6tbH9avL9cKfMc0hkQ* p0, NimStringDesc* msg0) { Jsonparsingerror_4avqtqpbmyD9bxH9bUmO9b0yw* e_9c379ctWEtw9ai3iID5f9cjQmg; e_9c379ctWEtw9ai3iID5f9cjQmg = (Jsonparsingerror_4avqtqpbmyD9bxH9bUmO9b0yw*)0; e_9c379ctWEtw9ai3iID5f9cjQmg = (Jsonparsingerror_4avqtqpbmyD9bxH9bUmO9b0yw*) newObj((&NTI_TOl9bBVGahlQmjZBc3UGISg), sizeof(Jsonparsingerror_4avqtqpbmyD9bxH9bUmO9b0yw)); (*e_9c379ctWEtw9ai3iID5f9cjQmg).Sup.Sup.Sup.m_type = (&NTI_4avqtqpbmyD9bxH9bUmO9b0yw); (*e_9c379ctWEtw9ai3iID5f9cjQmg).Sup.Sup.message = errormsgexpected_JX5zi2U38bL44QMaeRJjvQ(p0, msg0); raiseException((Exception*)e_9c379ctWEtw9ai3iID5f9cjQmg, "JsonParsingError"); } N_NIMCALL(void, escapejson_xxovtptDIL7ctJosN3ocbA)(NimStringDesc* s0, NimStringDesc** result0) { (*result0) = resizeString((*result0), 1); appendString((*result0), ((NimStringDesc*) &T_9b9bytt1stv9cZ8uqII7HFgew_27)); { NI32 x_mVNrmtnwn1H6j9acDwXv03w; NI i_hZ2MLhguyDisOi0Ievi5oQ; NI32 result_IKfN6D1XyC573YEmGublkg; x_mVNrmtnwn1H6j9acDwXv03w = (NI32)0; i_hZ2MLhguyDisOi0Ievi5oQ = ((NI) 0); result_IKfN6D1XyC573YEmGublkg = (NI32)0; { while (1) { NI r0; if (!(i_hZ2MLhguyDisOi0Ievi5oQ < (s0 ? s0->Sup.len : 0))) goto LA3; { if (!((NU64)(((NI) (((NU8)(s0->data[i_hZ2MLhguyDisOi0Ievi5oQ]))))) <= (NU64)(((NI) 127)))) goto LA6; result_IKfN6D1XyC573YEmGublkg = ((NI32) (((NU8)(s0->data[i_hZ2MLhguyDisOi0Ievi5oQ])))); i_hZ2MLhguyDisOi0Ievi5oQ += ((NI) 1); } goto LA4; LA6: ; { if (!((NI)((NU64)(((NI) (((NU8)(s0->data[i_hZ2MLhguyDisOi0Ievi5oQ]))))) >> (NU64)(((NI) 5))) == ((NI) 6))) goto LA9; result_IKfN6D1XyC573YEmGublkg = ((NI32) ((NI)((NI)((NU64)(((NI) ((NI)(((NI) (((NU8)(s0->data[i_hZ2MLhguyDisOi0Ievi5oQ])))) & ((NI) 31))))) << (NU64)(((NI) 6))) | ((NI) ((NI)(((NI) (((NU8)(s0->data[(NI)(i_hZ2MLhguyDisOi0Ievi5oQ + ((NI) 1))])))) & ((NI) 63))))))); i_hZ2MLhguyDisOi0Ievi5oQ += ((NI) 2); } goto LA4; LA9: ; { if (!((NI)((NU64)(((NI) (((NU8)(s0->data[i_hZ2MLhguyDisOi0Ievi5oQ]))))) >> (NU64)(((NI) 4))) == ((NI) 14))) goto LA12; result_IKfN6D1XyC573YEmGublkg = ((NI32) ((NI)((NI)((NI)((NU64)(((NI) ((NI)(((NI) (((NU8)(s0->data[i_hZ2MLhguyDisOi0Ievi5oQ])))) & ((NI) 15))))) << (NU64)(((NI) 12))) | (NI)((NU64)(((NI) ((NI)(((NI) (((NU8)(s0->data[(NI)(i_hZ2MLhguyDisOi0Ievi5oQ + ((NI) 1))])))) & ((NI) 63))))) << (NU64)(((NI) 6)))) | ((NI) ((NI)(((NI) (((NU8)(s0->data[(NI)(i_hZ2MLhguyDisOi0Ievi5oQ + ((NI) 2))])))) & ((NI) 63))))))); i_hZ2MLhguyDisOi0Ievi5oQ += ((NI) 3); } goto LA4; LA12: ; { if (!((NI)((NU64)(((NI) (((NU8)(s0->data[i_hZ2MLhguyDisOi0Ievi5oQ]))))) >> (NU64)(((NI) 3))) == ((NI) 30))) goto LA15; result_IKfN6D1XyC573YEmGublkg = ((NI32) ((NI)((NI)((NI)((NI)((NU64)(((NI) ((NI)(((NI) (((NU8)(s0->data[i_hZ2MLhguyDisOi0Ievi5oQ])))) & ((NI) 7))))) << (NU64)(((NI) 18))) | (NI)((NU64)(((NI) ((NI)(((NI) (((NU8)(s0->data[(NI)(i_hZ2MLhguyDisOi0Ievi5oQ + ((NI) 1))])))) & ((NI) 63))))) << (NU64)(((NI) 12)))) | (NI)((NU64)(((NI) ((NI)(((NI) (((NU8)(s0->data[(NI)(i_hZ2MLhguyDisOi0Ievi5oQ + ((NI) 2))])))) & ((NI) 63))))) << (NU64)(((NI) 6)))) | ((NI) ((NI)(((NI) (((NU8)(s0->data[(NI)(i_hZ2MLhguyDisOi0Ievi5oQ + ((NI) 3))])))) & ((NI) 63))))))); i_hZ2MLhguyDisOi0Ievi5oQ += ((NI) 4); } goto LA4; LA15: ; { if (!((NI)((NU64)(((NI) (((NU8)(s0->data[i_hZ2MLhguyDisOi0Ievi5oQ]))))) >> (NU64)(((NI) 2))) == ((NI) 62))) goto LA18; result_IKfN6D1XyC573YEmGublkg = ((NI32) ((NI)((NI)((NI)((NI)((NI)((NU64)(((NI) ((NI)(((NI) (((NU8)(s0->data[i_hZ2MLhguyDisOi0Ievi5oQ])))) & ((NI) 3))))) << (NU64)(((NI) 24))) | (NI)((NU64)(((NI) ((NI)(((NI) (((NU8)(s0->data[(NI)(i_hZ2MLhguyDisOi0Ievi5oQ + ((NI) 1))])))) & ((NI) 63))))) << (NU64)(((NI) 18)))) | (NI)((NU64)(((NI) ((NI)(((NI) (((NU8)(s0->data[(NI)(i_hZ2MLhguyDisOi0Ievi5oQ + ((NI) 2))])))) & ((NI) 63))))) << (NU64)(((NI) 12)))) | (NI)((NU64)(((NI) ((NI)(((NI) (((NU8)(s0->data[(NI)(i_hZ2MLhguyDisOi0Ievi5oQ + ((NI) 3))])))) & ((NI) 63))))) << (NU64)(((NI) 6)))) | ((NI) ((NI)(((NI) (((NU8)(s0->data[(NI)(i_hZ2MLhguyDisOi0Ievi5oQ + ((NI) 4))])))) & ((NI) 63))))))); i_hZ2MLhguyDisOi0Ievi5oQ += ((NI) 5); } goto LA4; LA18: ; { if (!((NI)((NU64)(((NI) (((NU8)(s0->data[i_hZ2MLhguyDisOi0Ievi5oQ]))))) >> (NU64)(((NI) 1))) == ((NI) 126))) goto LA21; result_IKfN6D1XyC573YEmGublkg = ((NI32) ((NI)((NI)((NI)((NI)((NI)((NI)((NU64)(((NI) ((NI)(((NI) (((NU8)(s0->data[i_hZ2MLhguyDisOi0Ievi5oQ])))) & ((NI) 1))))) << (NU64)(((NI) 30))) | (NI)((NU64)(((NI) ((NI)(((NI) (((NU8)(s0->data[(NI)(i_hZ2MLhguyDisOi0Ievi5oQ + ((NI) 1))])))) & ((NI) 63))))) << (NU64)(((NI) 24)))) | (NI)((NU64)(((NI) ((NI)(((NI) (((NU8)(s0->data[(NI)(i_hZ2MLhguyDisOi0Ievi5oQ + ((NI) 2))])))) & ((NI) 63))))) << (NU64)(((NI) 18)))) | (NI)((NU64)(((NI) ((NI)(((NI) (((NU8)(s0->data[(NI)(i_hZ2MLhguyDisOi0Ievi5oQ + ((NI) 3))])))) & ((NI) 63))))) << (NU64)(((NI) 12)))) | (NI)((NU64)(((NI) ((NI)(((NI) (((NU8)(s0->data[(NI)(i_hZ2MLhguyDisOi0Ievi5oQ + ((NI) 4))])))) & ((NI) 63))))) << (NU64)(((NI) 6)))) | ((NI) ((NI)(((NI) (((NU8)(s0->data[(NI)(i_hZ2MLhguyDisOi0Ievi5oQ + ((NI) 5))])))) & ((NI) 63))))))); i_hZ2MLhguyDisOi0Ievi5oQ += ((NI) 6); } goto LA4; LA21: ; { result_IKfN6D1XyC573YEmGublkg = ((NI32) (((NU8)(s0->data[i_hZ2MLhguyDisOi0Ievi5oQ])))); i_hZ2MLhguyDisOi0Ievi5oQ += ((NI) 1); } LA4: ; x_mVNrmtnwn1H6j9acDwXv03w = result_IKfN6D1XyC573YEmGublkg; r0 = ((NI) (x_mVNrmtnwn1H6j9acDwXv03w)); { NIM_BOOL LOC26; NIM_CHAR c0; LOC26 = (NIM_BOOL)0; LOC26 = (((NI) 32) <= r0); if (!(LOC26)) goto LA27; LOC26 = (r0 <= ((NI) 127)); LA27: ; if (!LOC26) goto LA28; c0 = ((NIM_CHAR) (((NI) (r0)))); switch (((NU8)(c0))) { case 34: { (*result0) = resizeString((*result0), 2); appendString((*result0), ((NimStringDesc*) &T_9b9bytt1stv9cZ8uqII7HFgew_28)); } break; case 92: { (*result0) = resizeString((*result0), 2); appendString((*result0), ((NimStringDesc*) &T_9b9bytt1stv9cZ8uqII7HFgew_29)); } break; default: { (*result0) = addChar((*result0), c0); } break; } } goto LA24; LA28: ; { NI start0; (*result0) = resizeString((*result0), 6); appendString((*result0), ((NimStringDesc*) &T_9b9bytt1stv9cZ8uqII7HFgew_30)); start0 = (NI)(((*result0) ? (*result0)->Sup.len : 0) - ((NI) 4)); { NI j_dONqB3IuaQjYJbqYVMYypA; NI res_UsiepN9cABSrGRA8xEp1cXA; j_dONqB3IuaQjYJbqYVMYypA = (NI)0; res_UsiepN9cABSrGRA8xEp1cXA = ((NI) 3); { while (1) { if (!(((NI) 0) <= res_UsiepN9cABSrGRA8xEp1cXA)) goto LA36; j_dONqB3IuaQjYJbqYVMYypA = res_UsiepN9cABSrGRA8xEp1cXA; (*result0)->data[(NI)(j_dONqB3IuaQjYJbqYVMYypA + start0)] = ((NimStringDesc*) &T_9b9bytt1stv9cZ8uqII7HFgew_31)->data[(NI)(r0 & ((NI) 15))]; r0 = (NI)((NU64)(r0) >> (NU64)(((NI) 4))); res_UsiepN9cABSrGRA8xEp1cXA -= ((NI) 1); } LA36: ; } } } LA24: ; } LA3: ; } } (*result0) = resizeString((*result0), 1); appendString((*result0), ((NimStringDesc*) &T_9b9bytt1stv9cZ8uqII7HFgew_27)); } N_NIMCALL(NimStringDesc*, escapejson_ajHNbHGhsNVy1pVSYP9cEyA)(NimStringDesc* s0) { NimStringDesc* result0; result0 = (NimStringDesc*)0; result0 = rawNewString(((NI) ((NI)((s0 ? s0->Sup.len : 0) + (NI)((NU64)((s0 ? s0->Sup.len : 0)) >> (NU64)(((NI) 3))))))); escapejson_xxovtptDIL7ctJosN3ocbA(s0, (&result0)); return result0; } NIM_EXTERNC N_NOINLINE(void, stdlib_jsonInit000)(void) { } NIM_EXTERNC N_NOINLINE(void, stdlib_jsonDatInit000)(void) { static TNimNode* T_9b9bytt1stv9cZ8uqII7HFgew_2[6]; static TNimNode* T_9b9bytt1stv9cZ8uqII7HFgew_3[14]; NI T_9b9bytt1stv9cZ8uqII7HFgew_5; static char* NIM_CONST T_9b9bytt1stv9cZ8uqII7HFgew_4[14] = { "tkError", "tkEof", "tkString", "tkInt", "tkFloat", "tkTrue", "tkFalse", "tkNull", "tkCurlyLe", "tkCurlyRi", "tkBracketLe", "tkBracketRi", "tkColon", "tkComma"}; static TNimNode* T_9b9bytt1stv9cZ8uqII7HFgew_6[12]; NI T_9b9bytt1stv9cZ8uqII7HFgew_8; static char* NIM_CONST T_9b9bytt1stv9cZ8uqII7HFgew_7[12] = { "jsonError", "jsonEof", "jsonString", "jsonInt", "jsonFloat", "jsonTrue", "jsonFalse", "jsonNull", "jsonObjectStart", "jsonObjectEnd", "jsonArrayStart", "jsonArrayEnd"}; static TNimNode* T_9b9bytt1stv9cZ8uqII7HFgew_9[11]; NI T_9b9bytt1stv9cZ8uqII7HFgew_11; static char* NIM_CONST T_9b9bytt1stv9cZ8uqII7HFgew_10[11] = { "errNone", "errInvalidToken", "errStringExpected", "errColonExpected", "errCommaExpected", "errBracketRiExpected", "errCurlyRiExpected", "errQuoteExpected", "errEOC_Expected", "errEofExpected", "errExprExpected"}; static TNimNode* T_9b9bytt1stv9cZ8uqII7HFgew_12[8]; NI T_9b9bytt1stv9cZ8uqII7HFgew_14; static char* NIM_CONST T_9b9bytt1stv9cZ8uqII7HFgew_13[8] = { "stateEof", "stateStart", "stateObject", "stateArray", "stateExpectArrayComma", "stateExpectObjectComma", "stateExpectColon", "stateExpectValue"}; static TNimNode T_9b9bytt1stv9cZ8uqII7HFgew_0[57]; NTI_TAl5cv6tbH9avL9cKfMc0hkQ.size = sizeof(Jsonparser_TAl5cv6tbH9avL9cKfMc0hkQ); NTI_TAl5cv6tbH9avL9cKfMc0hkQ.kind = 17; NTI_TAl5cv6tbH9avL9cKfMc0hkQ.base = (&NTI_B6cGbTPhMsqMovc9cOcIHRw); T_9b9bytt1stv9cZ8uqII7HFgew_2[0] = &T_9b9bytt1stv9cZ8uqII7HFgew_0[1]; T_9b9bytt1stv9cZ8uqII7HFgew_0[1].kind = 1; T_9b9bytt1stv9cZ8uqII7HFgew_0[1].offset = offsetof(Jsonparser_TAl5cv6tbH9avL9cKfMc0hkQ, a); T_9b9bytt1stv9cZ8uqII7HFgew_0[1].typ = (&NTI_77mFvmsOLKik79ci2hXkHEg); T_9b9bytt1stv9cZ8uqII7HFgew_0[1].name = "a"; T_9b9bytt1stv9cZ8uqII7HFgew_2[1] = &T_9b9bytt1stv9cZ8uqII7HFgew_0[2]; NTI_vfEI6XZ7Xkb5BV9c6202vjA.size = sizeof(Tokkind_vfEI6XZ7Xkb5BV9c6202vjA); NTI_vfEI6XZ7Xkb5BV9c6202vjA.kind = 14; NTI_vfEI6XZ7Xkb5BV9c6202vjA.base = 0; NTI_vfEI6XZ7Xkb5BV9c6202vjA.flags = 3; for (T_9b9bytt1stv9cZ8uqII7HFgew_5 = 0; T_9b9bytt1stv9cZ8uqII7HFgew_5 < 14; T_9b9bytt1stv9cZ8uqII7HFgew_5++) { T_9b9bytt1stv9cZ8uqII7HFgew_0[T_9b9bytt1stv9cZ8uqII7HFgew_5+3].kind = 1; T_9b9bytt1stv9cZ8uqII7HFgew_0[T_9b9bytt1stv9cZ8uqII7HFgew_5+3].offset = T_9b9bytt1stv9cZ8uqII7HFgew_5; T_9b9bytt1stv9cZ8uqII7HFgew_0[T_9b9bytt1stv9cZ8uqII7HFgew_5+3].name = T_9b9bytt1stv9cZ8uqII7HFgew_4[T_9b9bytt1stv9cZ8uqII7HFgew_5]; T_9b9bytt1stv9cZ8uqII7HFgew_3[T_9b9bytt1stv9cZ8uqII7HFgew_5] = &T_9b9bytt1stv9cZ8uqII7HFgew_0[T_9b9bytt1stv9cZ8uqII7HFgew_5+3]; } T_9b9bytt1stv9cZ8uqII7HFgew_0[17].len = 14; T_9b9bytt1stv9cZ8uqII7HFgew_0[17].kind = 2; T_9b9bytt1stv9cZ8uqII7HFgew_0[17].sons = &T_9b9bytt1stv9cZ8uqII7HFgew_3[0]; NTI_vfEI6XZ7Xkb5BV9c6202vjA.node = &T_9b9bytt1stv9cZ8uqII7HFgew_0[17]; T_9b9bytt1stv9cZ8uqII7HFgew_0[2].kind = 1; T_9b9bytt1stv9cZ8uqII7HFgew_0[2].offset = offsetof(Jsonparser_TAl5cv6tbH9avL9cKfMc0hkQ, tok); T_9b9bytt1stv9cZ8uqII7HFgew_0[2].typ = (&NTI_vfEI6XZ7Xkb5BV9c6202vjA); T_9b9bytt1stv9cZ8uqII7HFgew_0[2].name = "tok"; T_9b9bytt1stv9cZ8uqII7HFgew_2[2] = &T_9b9bytt1stv9cZ8uqII7HFgew_0[18]; NTI_NdAkGi88owzfBOSBDfW49cQ.size = sizeof(Jsoneventkind_NdAkGi88owzfBOSBDfW49cQ); NTI_NdAkGi88owzfBOSBDfW49cQ.kind = 14; NTI_NdAkGi88owzfBOSBDfW49cQ.base = 0; NTI_NdAkGi88owzfBOSBDfW49cQ.flags = 3; for (T_9b9bytt1stv9cZ8uqII7HFgew_8 = 0; T_9b9bytt1stv9cZ8uqII7HFgew_8 < 12; T_9b9bytt1stv9cZ8uqII7HFgew_8++) { T_9b9bytt1stv9cZ8uqII7HFgew_0[T_9b9bytt1stv9cZ8uqII7HFgew_8+19].kind = 1; T_9b9bytt1stv9cZ8uqII7HFgew_0[T_9b9bytt1stv9cZ8uqII7HFgew_8+19].offset = T_9b9bytt1stv9cZ8uqII7HFgew_8; T_9b9bytt1stv9cZ8uqII7HFgew_0[T_9b9bytt1stv9cZ8uqII7HFgew_8+19].name = T_9b9bytt1stv9cZ8uqII7HFgew_7[T_9b9bytt1stv9cZ8uqII7HFgew_8]; T_9b9bytt1stv9cZ8uqII7HFgew_6[T_9b9bytt1stv9cZ8uqII7HFgew_8] = &T_9b9bytt1stv9cZ8uqII7HFgew_0[T_9b9bytt1stv9cZ8uqII7HFgew_8+19]; } T_9b9bytt1stv9cZ8uqII7HFgew_0[31].len = 12; T_9b9bytt1stv9cZ8uqII7HFgew_0[31].kind = 2; T_9b9bytt1stv9cZ8uqII7HFgew_0[31].sons = &T_9b9bytt1stv9cZ8uqII7HFgew_6[0]; NTI_NdAkGi88owzfBOSBDfW49cQ.node = &T_9b9bytt1stv9cZ8uqII7HFgew_0[31]; T_9b9bytt1stv9cZ8uqII7HFgew_0[18].kind = 1; T_9b9bytt1stv9cZ8uqII7HFgew_0[18].offset = offsetof(Jsonparser_TAl5cv6tbH9avL9cKfMc0hkQ, kind); T_9b9bytt1stv9cZ8uqII7HFgew_0[18].typ = (&NTI_NdAkGi88owzfBOSBDfW49cQ); T_9b9bytt1stv9cZ8uqII7HFgew_0[18].name = "kind"; T_9b9bytt1stv9cZ8uqII7HFgew_2[3] = &T_9b9bytt1stv9cZ8uqII7HFgew_0[32]; NTI_rhaSH4AjHj9bXRijCvdqRhQ.size = sizeof(Jsonerror_rhaSH4AjHj9bXRijCvdqRhQ); NTI_rhaSH4AjHj9bXRijCvdqRhQ.kind = 14; NTI_rhaSH4AjHj9bXRijCvdqRhQ.base = 0; NTI_rhaSH4AjHj9bXRijCvdqRhQ.flags = 3; for (T_9b9bytt1stv9cZ8uqII7HFgew_11 = 0; T_9b9bytt1stv9cZ8uqII7HFgew_11 < 11; T_9b9bytt1stv9cZ8uqII7HFgew_11++) { T_9b9bytt1stv9cZ8uqII7HFgew_0[T_9b9bytt1stv9cZ8uqII7HFgew_11+33].kind = 1; T_9b9bytt1stv9cZ8uqII7HFgew_0[T_9b9bytt1stv9cZ8uqII7HFgew_11+33].offset = T_9b9bytt1stv9cZ8uqII7HFgew_11; T_9b9bytt1stv9cZ8uqII7HFgew_0[T_9b9bytt1stv9cZ8uqII7HFgew_11+33].name = T_9b9bytt1stv9cZ8uqII7HFgew_10[T_9b9bytt1stv9cZ8uqII7HFgew_11]; T_9b9bytt1stv9cZ8uqII7HFgew_9[T_9b9bytt1stv9cZ8uqII7HFgew_11] = &T_9b9bytt1stv9cZ8uqII7HFgew_0[T_9b9bytt1stv9cZ8uqII7HFgew_11+33]; } T_9b9bytt1stv9cZ8uqII7HFgew_0[44].len = 11; T_9b9bytt1stv9cZ8uqII7HFgew_0[44].kind = 2; T_9b9bytt1stv9cZ8uqII7HFgew_0[44].sons = &T_9b9bytt1stv9cZ8uqII7HFgew_9[0]; NTI_rhaSH4AjHj9bXRijCvdqRhQ.node = &T_9b9bytt1stv9cZ8uqII7HFgew_0[44]; T_9b9bytt1stv9cZ8uqII7HFgew_0[32].kind = 1; T_9b9bytt1stv9cZ8uqII7HFgew_0[32].offset = offsetof(Jsonparser_TAl5cv6tbH9avL9cKfMc0hkQ, err); T_9b9bytt1stv9cZ8uqII7HFgew_0[32].typ = (&NTI_rhaSH4AjHj9bXRijCvdqRhQ); T_9b9bytt1stv9cZ8uqII7HFgew_0[32].name = "err"; T_9b9bytt1stv9cZ8uqII7HFgew_2[4] = &T_9b9bytt1stv9cZ8uqII7HFgew_0[45]; NTI_UzfeQnJimUtC9bt1BjDzcdQ.size = sizeof(Parserstate_UzfeQnJimUtC9bt1BjDzcdQ); NTI_UzfeQnJimUtC9bt1BjDzcdQ.kind = 14; NTI_UzfeQnJimUtC9bt1BjDzcdQ.base = 0; NTI_UzfeQnJimUtC9bt1BjDzcdQ.flags = 3; for (T_9b9bytt1stv9cZ8uqII7HFgew_14 = 0; T_9b9bytt1stv9cZ8uqII7HFgew_14 < 8; T_9b9bytt1stv9cZ8uqII7HFgew_14++) { T_9b9bytt1stv9cZ8uqII7HFgew_0[T_9b9bytt1stv9cZ8uqII7HFgew_14+46].kind = 1; T_9b9bytt1stv9cZ8uqII7HFgew_0[T_9b9bytt1stv9cZ8uqII7HFgew_14+46].offset = T_9b9bytt1stv9cZ8uqII7HFgew_14; T_9b9bytt1stv9cZ8uqII7HFgew_0[T_9b9bytt1stv9cZ8uqII7HFgew_14+46].name = T_9b9bytt1stv9cZ8uqII7HFgew_13[T_9b9bytt1stv9cZ8uqII7HFgew_14]; T_9b9bytt1stv9cZ8uqII7HFgew_12[T_9b9bytt1stv9cZ8uqII7HFgew_14] = &T_9b9bytt1stv9cZ8uqII7HFgew_0[T_9b9bytt1stv9cZ8uqII7HFgew_14+46]; } T_9b9bytt1stv9cZ8uqII7HFgew_0[54].len = 8; T_9b9bytt1stv9cZ8uqII7HFgew_0[54].kind = 2; T_9b9bytt1stv9cZ8uqII7HFgew_0[54].sons = &T_9b9bytt1stv9cZ8uqII7HFgew_12[0]; NTI_UzfeQnJimUtC9bt1BjDzcdQ.node = &T_9b9bytt1stv9cZ8uqII7HFgew_0[54]; NTI_ArNCLAPkQjwz7DrguhEHNA.size = sizeof(TY_ArNCLAPkQjwz7DrguhEHNA*); NTI_ArNCLAPkQjwz7DrguhEHNA.kind = 24; NTI_ArNCLAPkQjwz7DrguhEHNA.base = (&NTI_UzfeQnJimUtC9bt1BjDzcdQ); NTI_ArNCLAPkQjwz7DrguhEHNA.flags = 2; NTI_ArNCLAPkQjwz7DrguhEHNA.marker = Marker_TY_ArNCLAPkQjwz7DrguhEHNA; T_9b9bytt1stv9cZ8uqII7HFgew_0[45].kind = 1; T_9b9bytt1stv9cZ8uqII7HFgew_0[45].offset = offsetof(Jsonparser_TAl5cv6tbH9avL9cKfMc0hkQ, state); T_9b9bytt1stv9cZ8uqII7HFgew_0[45].typ = (&NTI_ArNCLAPkQjwz7DrguhEHNA); T_9b9bytt1stv9cZ8uqII7HFgew_0[45].name = "state"; T_9b9bytt1stv9cZ8uqII7HFgew_2[5] = &T_9b9bytt1stv9cZ8uqII7HFgew_0[55]; T_9b9bytt1stv9cZ8uqII7HFgew_0[55].kind = 1; T_9b9bytt1stv9cZ8uqII7HFgew_0[55].offset = offsetof(Jsonparser_TAl5cv6tbH9avL9cKfMc0hkQ, filename); T_9b9bytt1stv9cZ8uqII7HFgew_0[55].typ = (&NTI_77mFvmsOLKik79ci2hXkHEg); T_9b9bytt1stv9cZ8uqII7HFgew_0[55].name = "filename"; T_9b9bytt1stv9cZ8uqII7HFgew_0[0].len = 6; T_9b9bytt1stv9cZ8uqII7HFgew_0[0].kind = 2; T_9b9bytt1stv9cZ8uqII7HFgew_0[0].sons = &T_9b9bytt1stv9cZ8uqII7HFgew_2[0]; NTI_TAl5cv6tbH9avL9cKfMc0hkQ.node = &T_9b9bytt1stv9cZ8uqII7HFgew_0[0]; NTI_4avqtqpbmyD9bxH9bUmO9b0yw.size = sizeof(Jsonparsingerror_4avqtqpbmyD9bxH9bUmO9b0yw); NTI_4avqtqpbmyD9bxH9bUmO9b0yw.kind = 17; NTI_4avqtqpbmyD9bxH9bUmO9b0yw.base = (&NTI_Gi06FkNeykJn7mrqRZYrkA); T_9b9bytt1stv9cZ8uqII7HFgew_0[56].len = 0; T_9b9bytt1stv9cZ8uqII7HFgew_0[56].kind = 2; NTI_4avqtqpbmyD9bxH9bUmO9b0yw.node = &T_9b9bytt1stv9cZ8uqII7HFgew_0[56]; NTI_TOl9bBVGahlQmjZBc3UGISg.size = sizeof(Jsonparsingerror_4avqtqpbmyD9bxH9bUmO9b0yw*); NTI_TOl9bBVGahlQmjZBc3UGISg.kind = 22; NTI_TOl9bBVGahlQmjZBc3UGISg.base = (&NTI_4avqtqpbmyD9bxH9bUmO9b0yw); NTI_TOl9bBVGahlQmjZBc3UGISg.marker = Marker_TY_TOl9bBVGahlQmjZBc3UGISg; }