1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 32
3 #define NIM_EmulateOverflowChecks
4
5 #include "nimbase.h"
6 #include <string.h>
7 #undef LANGUAGE_C
8 #undef MIPSEB
9 #undef MIPSEL
10 #undef PPC
11 #undef R3000
12 #undef R4000
13 #undef i386
14 #undef linux
15 #undef mips
16 #undef near
17 #undef far
18 #undef powerpc
19 #undef unix
20 #define nimfr_(x, y)
21 #define nimln_(x, y)
22 typedef struct TNimType TNimType;
23 typedef struct TNimNode TNimNode;
24 typedef struct tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ;
25 typedef struct tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg;
26 typedef struct RootObj RootObj;
27 typedef struct NimStringDesc NimStringDesc;
28 typedef struct TGenericSeq TGenericSeq;
29 typedef struct tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ;
30 typedef struct tySequence__Ih0V9cYug0VPJyBBGvgEH7Q tySequence__Ih0V9cYug0VPJyBBGvgEH7Q;
31 typedef struct tyObject_JsonParsingError__XTejXaID1NT7KS9byQm3Jxg tyObject_JsonParsingError__XTejXaID1NT7KS9byQm3Jxg;
32 typedef struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw;
33 typedef struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA;
34 typedef struct Exception Exception;
35 typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA;
36 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
37 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
38 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
39 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
40 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
41 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
42 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
43 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
44 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
45 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
46 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
47 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
48 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
49 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
50 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
51 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
52 typedef struct tyObject_JsonKindError__GezlryuJLt9aOJ0RpuN6G8g tyObject_JsonKindError__GezlryuJLt9aOJ0RpuN6G8g;
53 typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA;
54 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
55 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
56 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
57 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
58 struct TNimType {
59 NI size;
60 NI align;
61 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
62 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
63 TNimType* base;
64 TNimNode* node;
65 void* finalizer;
66 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
67 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
68 };
69 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
70 struct TNimNode {
71 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
72 NI offset;
73 TNimType* typ;
74 NCSTRING name;
75 NI len;
76 TNimNode** sons;
77 };
78 struct RootObj {
79 TNimType* m_type;
80 };
81 struct TGenericSeq {
82 NI len;
83 NI reserved;
84 };
85 struct NimStringDesc {
86 TGenericSeq Sup;
87 NIM_CHAR data[SEQ_DECL_SIZE];
88 };
89 typedef NU8 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw[32];
90 struct tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg {
91 RootObj Sup;
92 NI bufpos;
93 NimStringDesc* buf;
94 tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* input;
95 NI lineNumber;
96 NI sentinel;
97 NI lineStart;
98 NI offsetBase;
99 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw refillChars;
100 };
101 typedef NU8 tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw;
102 typedef NU8 tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA;
103 typedef NU8 tyEnum_JsonError__G9cw5MrJXJrcpID5JXaplew;
104 struct tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ {
105 tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg Sup;
106 NimStringDesc* a;
107 tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw tok;
108 tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA kind;
109 tyEnum_JsonError__G9cw5MrJXJrcpID5JXaplew err;
110 tySequence__Ih0V9cYug0VPJyBBGvgEH7Q* state;
111 NimStringDesc* filename;
112 NIM_BOOL rawStringLiterals;
113 };
114 typedef NU8 tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ;
115 struct Exception {
116 RootObj Sup;
117 Exception* parent;
118 NCSTRING name;
119 NimStringDesc* message;
120 tySequence__uB9b75OUPRENsBAu4AnoePA* trace;
121 Exception* up;
122 };
123 struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA {
124 Exception Sup;
125 };
126 struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw {
127 tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup;
128 };
129 struct tyObject_JsonParsingError__XTejXaID1NT7KS9byQm3Jxg {
130 tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw Sup;
131 };
132 typedef NimStringDesc* tyArray__sMpvt1sOxOJ3LFGulnbeMQ[4];
133 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
134 NI refcount;
135 TNimType* typ;
136 };
137 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
138 void* bottom;
139 };
140 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
141 NI len;
142 NI cap;
143 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
144 };
145 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
146 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
147 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
148 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
149 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
150 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
151 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
152 };
153 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
154 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
155 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
156 NI key;
157 NI upperBound;
158 NI level;
159 };
160 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
161 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
162 NI Field1;
163 };
164 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
165 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
166 NI len;
167 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
168 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
169 };
170 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
171 NI minLargeObj;
172 NI maxLargeObj;
173 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
174 NU32 flBitmap;
175 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
176 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
177 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
178 NI currMem;
179 NI maxMem;
180 NI freeMem;
181 NI occ;
182 NI lastSize;
183 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
184 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
185 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
186 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
187 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
188 NIM_BOOL locked;
189 NIM_BOOL blockChunkSizeIncrease;
190 NI nextChunkSize;
191 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
192 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
193 };
194 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
195 NI stackScans;
196 NI cycleCollections;
197 NI maxThreshold;
198 NI maxStackSize;
199 NI maxStackCells;
200 NI cycleTableSize;
201 NI64 maxPause;
202 };
203 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
204 NI counter;
205 NI max;
206 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
207 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
208 };
209 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
210 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
211 NI cycleThreshold;
212 NI zctThreshold;
213 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
214 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
215 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
216 NI recGcLock;
217 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
218 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
219 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
220 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
221 NI gcThreadId;
222 };
223 struct tyObject_JsonKindError__GezlryuJLt9aOJ0RpuN6G8g {
224 tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw Sup;
225 };
226 typedef NimStringDesc* tyArray__FkG8aLMyiZfDjueUwWl3WA[14];
227 struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA {
228 NCSTRING procname;
229 NI line;
230 NCSTRING filename;
231 };
232 struct tySequence__Ih0V9cYug0VPJyBBGvgEH7Q {
233 TGenericSeq Sup;
234 tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ data[SEQ_DECL_SIZE];
235 };
236 struct tySequence__uB9b75OUPRENsBAu4AnoePA {
237 TGenericSeq Sup;
238 tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];
239 };
240 static N_NIMCALL(void, Marker_tySequence__Ih0V9cYug0VPJyBBGvgEH7Q)(void* p, NI op);
241 N_LIB_PRIVATE N_NIMCALL(void, open__pureZlexbase_122)(tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* L, tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* input, NI bufLen, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw refillChars);
242 N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
243 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
244 N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
245 N_LIB_PRIVATE N_NIMCALL(tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw, getTok__pureZparsejson_425)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my);
246 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, setLengthStr)(NimStringDesc* s, NI newLen);
247 N_LIB_PRIVATE N_NIMCALL(void, skip__pureZparsejson_324)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my);
248 N_LIB_PRIVATE N_NIMCALL(NI, handleCR__pureZlexbase_79)(tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* L, NI pos);
249 N_LIB_PRIVATE N_NIMCALL(NI, handleLF__pureZlexbase_90)(tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* L, NI pos);
250 N_LIB_PRIVATE N_NIMCALL(void, parseNumber__pureZparsejson_355)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my);
251 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
252 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
253 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
254 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
255 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
256 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__pureZstrutils_1635)(NimStringDesc* s, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw chars);
257 N_LIB_PRIVATE N_NIMCALL(tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw, parseString__pureZparsejson_233)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my);
258 N_LIB_PRIVATE N_NIMCALL(NI, parseEscapedUTF16__pureZparsejson_220)(NCSTRING buf, NI* pos);
259 static N_INLINE(NIM_BOOL, handleHexChar__stdZprivateZdecode95helpers_1)(NIM_CHAR c, NI* x);
260 static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s);
261 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nuctoUTF8)(NI32 c);
262 N_LIB_PRIVATE N_NIMCALL(void, parseName__pureZparsejson_410)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my);
263 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
264 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size);
265 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
266 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
267 static N_INLINE(tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ, pop__pureZparsejson_504)(tySequence__Ih0V9cYug0VPJyBBGvgEH7Q** s);
268 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
269 N_LIB_PRIVATE N_NIMCALL(void, next__pureZparsejson_456)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my);
270 N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
271 static N_NIMCALL(void, Marker_tyRef__PyuSdojUZWOAnzN7dInq1Q)(void* p, NI op);
272 N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size);
273 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, errorMsgExpected__pureZparsejson_216)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my, NimStringDesc* e);
274 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
275 static N_INLINE(void, nimZeroMem)(void* p, NI size);
276 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
277 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_3)(NI x);
278 static N_INLINE(NI, getLine__pureZparsejson_200)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my);
279 static N_INLINE(NI, getColumn__pureZparsejson_188)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my);
280 N_LIB_PRIVATE N_NIMCALL(NI, getColNumber__pureZlexbase_137)(tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* L, NI pos);
281 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
282 static N_INLINE(void, asgnRef)(void** dest, void* src);
283 static N_INLINE(void, incRef__system_5329)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
284 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
285 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5291)(void* usr);
286 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
287 static N_INLINE(void, decRef__system_5336)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
288 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
289 static N_INLINE(void, rtlAddZCT__system_5334)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
290 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5285)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
291 N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line);
292 static N_NIMCALL(void, Marker_tyRef__tn3kJ9cInprO2X2FSPir4WQ)(void* p, NI op);
293 N_LIB_PRIVATE N_NOINLINE(void, raiseParseErr__pureZparsejson_580)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* p, NimStringDesc* msg) __attribute__((noreturn));
294 extern TNimType NTIbaselexer__MAw8rJZtJ279bVV3TWMtXSg_;
295 N_LIB_PRIVATE TNimType NTIjsonparser__KWIQnzXEOUqdWsnCUL9atyQ_;
296 extern TNimType NTIstring__77mFvmsOLKik79ci2hXkHEg_;
297 N_LIB_PRIVATE TNimType NTItokkind__Q9c4KaNqJU4PbXaGht0C7iw_;
298 N_LIB_PRIVATE TNimType NTIjsoneventkind__0zjE9c54eTrq224F5wMcaFA_;
299 N_LIB_PRIVATE TNimType NTIjsonerror__G9cw5MrJXJrcpID5JXaplew_;
300 N_LIB_PRIVATE TNimType NTIparserstate__Na0rM2Zdr3RpxeNeXbvLrQ_;
301 N_LIB_PRIVATE TNimType NTIseqLparserstateT__Ih0V9cYug0VPJyBBGvgEH7Q_;
302 extern TNimType NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_;
303 static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__nIinruGrC8EPIfjL3PuTvA_15 = {
304 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
305 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
306 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
307 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
308 ;
309 STRING_LITERAL(TM__nIinruGrC8EPIfjL3PuTvA_16, "0.", 2);
310 static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__nIinruGrC8EPIfjL3PuTvA_17 = {
311 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
312 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
313 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
314 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
315 ;
316 STRING_LITERAL(TM__nIinruGrC8EPIfjL3PuTvA_18, "null", 4);
317 STRING_LITERAL(TM__nIinruGrC8EPIfjL3PuTvA_19, "true", 4);
318 STRING_LITERAL(TM__nIinruGrC8EPIfjL3PuTvA_20, "false", 5);
319 extern TNimType NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_;
320 N_LIB_PRIVATE TNimType NTIjsonparsingerror__XTejXaID1NT7KS9byQm3Jxg_;
321 N_LIB_PRIVATE TNimType NTIrefjsonparsingerror__PyuSdojUZWOAnzN7dInq1Q_;
322 STRING_LITERAL(TM__nIinruGrC8EPIfjL3PuTvA_21, "$1($2, $3) Error: $4", 20);
323 STRING_LITERAL(TM__nIinruGrC8EPIfjL3PuTvA_22, " expected", 9);
324 N_LIB_PRIVATE TNimType NTIjsonkinderror__GezlryuJLt9aOJ0RpuN6G8g_;
325 N_LIB_PRIVATE TNimType NTIrefjsonkinderror__tn3kJ9cInprO2X2FSPir4WQ_;
326 STRING_LITERAL(TM__nIinruGrC8EPIfjL3PuTvA_23, "invalid token", 13);
327 STRING_LITERAL(TM__nIinruGrC8EPIfjL3PuTvA_24, "EOF", 3);
328 STRING_LITERAL(TM__nIinruGrC8EPIfjL3PuTvA_25, "string literal", 14);
329 STRING_LITERAL(TM__nIinruGrC8EPIfjL3PuTvA_26, "int literal", 11);
330 STRING_LITERAL(TM__nIinruGrC8EPIfjL3PuTvA_27, "float literal", 13);
331 STRING_LITERAL(TM__nIinruGrC8EPIfjL3PuTvA_28, "{", 1);
332 STRING_LITERAL(TM__nIinruGrC8EPIfjL3PuTvA_29, "}", 1);
333 STRING_LITERAL(TM__nIinruGrC8EPIfjL3PuTvA_30, "[", 1);
334 STRING_LITERAL(TM__nIinruGrC8EPIfjL3PuTvA_31, "]", 1);
335 STRING_LITERAL(TM__nIinruGrC8EPIfjL3PuTvA_32, ":", 1);
336 STRING_LITERAL(TM__nIinruGrC8EPIfjL3PuTvA_33, ",", 1);
337 N_LIB_PRIVATE NIM_CONST tyArray__FkG8aLMyiZfDjueUwWl3WA tokToStr__pureZparsejson_78 = {((NimStringDesc*) &TM__nIinruGrC8EPIfjL3PuTvA_23),
338 ((NimStringDesc*) &TM__nIinruGrC8EPIfjL3PuTvA_24),
339 ((NimStringDesc*) &TM__nIinruGrC8EPIfjL3PuTvA_25),
340 ((NimStringDesc*) &TM__nIinruGrC8EPIfjL3PuTvA_26),
341 ((NimStringDesc*) &TM__nIinruGrC8EPIfjL3PuTvA_27),
342 ((NimStringDesc*) &TM__nIinruGrC8EPIfjL3PuTvA_19),
343 ((NimStringDesc*) &TM__nIinruGrC8EPIfjL3PuTvA_20),
344 ((NimStringDesc*) &TM__nIinruGrC8EPIfjL3PuTvA_18),
345 ((NimStringDesc*) &TM__nIinruGrC8EPIfjL3PuTvA_28),
346 ((NimStringDesc*) &TM__nIinruGrC8EPIfjL3PuTvA_29),
347 ((NimStringDesc*) &TM__nIinruGrC8EPIfjL3PuTvA_30),
348 ((NimStringDesc*) &TM__nIinruGrC8EPIfjL3PuTvA_31),
349 ((NimStringDesc*) &TM__nIinruGrC8EPIfjL3PuTvA_32),
350 ((NimStringDesc*) &TM__nIinruGrC8EPIfjL3PuTvA_33)}
351 ;
352 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5238;
N_NIMCALL(void,Marker_tySequence__Ih0V9cYug0VPJyBBGvgEH7Q)353 static N_NIMCALL(void, Marker_tySequence__Ih0V9cYug0VPJyBBGvgEH7Q)(void* p, NI op) {
354 tySequence__Ih0V9cYug0VPJyBBGvgEH7Q* a;
355 NI T1_;
356 a = (tySequence__Ih0V9cYug0VPJyBBGvgEH7Q*)p;
357 T1_ = (NI)0;
358 }
N_NIMCALL(void,open__pureZparsejson_97)359 N_LIB_PRIVATE N_NIMCALL(void, open__pureZparsejson_97)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my, tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* input, NimStringDesc* filename, NIM_BOOL rawStringLiterals) {
360 open__pureZlexbase_122(&my->Sup, input, ((NI) 8192), TM__nIinruGrC8EPIfjL3PuTvA_15);
361 unsureAsgnRef((void**) (&(*my).filename), copyString(filename));
362 unsureAsgnRef((void**) (&(*my).state), (tySequence__Ih0V9cYug0VPJyBBGvgEH7Q*) newSeq((&NTIseqLparserstateT__Ih0V9cYug0VPJyBBGvgEH7Q_), 1));
363 (*my).state->data[0] = ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ) 1);
364 (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA) 0);
365 unsureAsgnRef((void**) (&(*my).a), ((NimStringDesc*) NIM_NIL));
366 (*my).rawStringLiterals = rawStringLiterals;
367 }
N_NIMCALL(void,skip__pureZparsejson_324)368 N_LIB_PRIVATE N_NIMCALL(void, skip__pureZparsejson_324)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my) {
369 NI pos;
370 pos = (*my).Sup.bufpos;
371 {
372 while (1) {
373 switch (((NU8)((*my).Sup.buf->data[pos]))) {
374 case 47:
375 {
376 {
377 if (!((NU8)((*my).Sup.buf->data[(NI)(pos + ((NI) 1))]) == (NU8)(47))) goto LA6_;
378 pos += ((NI) 2);
379 {
380 while (1) {
381 switch (((NU8)((*my).Sup.buf->data[pos]))) {
382 case 0:
383 {
384 goto LA8;
385 }
386 break;
387 case 13:
388 {
389 pos = handleCR__pureZlexbase_79(&my->Sup, pos);
390 goto LA8;
391 }
392 break;
393 case 10:
394 {
395 pos = handleLF__pureZlexbase_90(&my->Sup, pos);
396 goto LA8;
397 }
398 break;
399 default:
400 {
401 pos += ((NI) 1);
402 }
403 break;
404 }
405 }
406 } LA8: ;
407 }
408 goto LA4_;
409 LA6_: ;
410 {
411 if (!((NU8)((*my).Sup.buf->data[(NI)(pos + ((NI) 1))]) == (NU8)(42))) goto LA15_;
412 pos += ((NI) 2);
413 {
414 while (1) {
415 switch (((NU8)((*my).Sup.buf->data[pos]))) {
416 case 0:
417 {
418 (*my).err = ((tyEnum_JsonError__G9cw5MrJXJrcpID5JXaplew) 8);
419 goto LA17;
420 }
421 break;
422 case 13:
423 {
424 pos = handleCR__pureZlexbase_79(&my->Sup, pos);
425 }
426 break;
427 case 10:
428 {
429 pos = handleLF__pureZlexbase_90(&my->Sup, pos);
430 }
431 break;
432 case 42:
433 {
434 pos += ((NI) 1);
435 {
436 if (!((NU8)((*my).Sup.buf->data[pos]) == (NU8)(47))) goto LA25_;
437 pos += ((NI) 1);
438 goto LA17;
439 }
440 LA25_: ;
441 }
442 break;
443 default:
444 {
445 pos += ((NI) 1);
446 }
447 break;
448 }
449 }
450 } LA17: ;
451 }
452 goto LA4_;
453 LA15_: ;
454 {
455 goto LA1;
456 }
457 LA4_: ;
458 }
459 break;
460 case 32:
461 case 9:
462 {
463 pos += ((NI) 1);
464 }
465 break;
466 case 13:
467 {
468 pos = handleCR__pureZlexbase_79(&my->Sup, pos);
469 }
470 break;
471 case 10:
472 {
473 pos = handleLF__pureZlexbase_90(&my->Sup, pos);
474 }
475 break;
476 default:
477 {
478 goto LA1;
479 }
480 break;
481 }
482 }
483 } LA1: ;
484 (*my).Sup.bufpos = pos;
485 }
N_INLINE(void,nimCopyMem)486 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
487 void* T1_;
488 T1_ = (void*)0;
489 T1_ = memcpy(dest, source, ((size_t) (size)));
490 }
N_INLINE(void,copyMem__system_1727)491 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
492 nimCopyMem(dest, source, size);
493 }
N_INLINE(void,appendString)494 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
495 {
496 if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
497 copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
498 (*dest).Sup.len += (*src).Sup.len;
499 }
500 LA3_: ;
501 }
N_NIMCALL(void,parseNumber__pureZparsejson_355)502 N_LIB_PRIVATE N_NIMCALL(void, parseNumber__pureZparsejson_355)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my) {
503 NI pos;
504 pos = (*my).Sup.bufpos;
505 {
506 if (!((NU8)((*my).Sup.buf->data[pos]) == (NU8)(45))) goto LA3_;
507 unsureAsgnRef((void**) (&(*my).a), addChar((*my).a, 45));
508 pos += ((NI) 1);
509 }
510 LA3_: ;
511 {
512 if (!((NU8)((*my).Sup.buf->data[pos]) == (NU8)(46))) goto LA7_;
513 unsureAsgnRef((void**) (&(*my).a), resizeString((*my).a, 2));
514 appendString((*my).a, ((NimStringDesc*) &TM__nIinruGrC8EPIfjL3PuTvA_16));
515 pos += ((NI) 1);
516 }
517 goto LA5_;
518 LA7_: ;
519 {
520 {
521 while (1) {
522 if (!(((NU8)((*my).Sup.buf->data[pos])) >= ((NU8)(48)) && ((NU8)((*my).Sup.buf->data[pos])) <= ((NU8)(57)))) goto LA11;
523 unsureAsgnRef((void**) (&(*my).a), addChar((*my).a, (*my).Sup.buf->data[pos]));
524 pos += ((NI) 1);
525 } LA11: ;
526 }
527 {
528 if (!((NU8)((*my).Sup.buf->data[pos]) == (NU8)(46))) goto LA14_;
529 unsureAsgnRef((void**) (&(*my).a), addChar((*my).a, 46));
530 pos += ((NI) 1);
531 }
532 LA14_: ;
533 }
534 LA5_: ;
535 {
536 while (1) {
537 if (!(((NU8)((*my).Sup.buf->data[pos])) >= ((NU8)(48)) && ((NU8)((*my).Sup.buf->data[pos])) <= ((NU8)(57)))) goto LA17;
538 unsureAsgnRef((void**) (&(*my).a), addChar((*my).a, (*my).Sup.buf->data[pos]));
539 pos += ((NI) 1);
540 } LA17: ;
541 }
542 {
543 if (!(((NU8)((*my).Sup.buf->data[pos])) == ((NU8)(69)) || ((NU8)((*my).Sup.buf->data[pos])) == ((NU8)(101)))) goto LA20_;
544 unsureAsgnRef((void**) (&(*my).a), addChar((*my).a, (*my).Sup.buf->data[pos]));
545 pos += ((NI) 1);
546 {
547 if (!(((NU8)((*my).Sup.buf->data[pos])) == ((NU8)(43)) || ((NU8)((*my).Sup.buf->data[pos])) == ((NU8)(45)))) goto LA24_;
548 unsureAsgnRef((void**) (&(*my).a), addChar((*my).a, (*my).Sup.buf->data[pos]));
549 pos += ((NI) 1);
550 }
551 LA24_: ;
552 {
553 while (1) {
554 if (!(((NU8)((*my).Sup.buf->data[pos])) >= ((NU8)(48)) && ((NU8)((*my).Sup.buf->data[pos])) <= ((NU8)(57)))) goto LA27;
555 unsureAsgnRef((void**) (&(*my).a), addChar((*my).a, (*my).Sup.buf->data[pos]));
556 pos += ((NI) 1);
557 } LA27: ;
558 }
559 }
560 LA20_: ;
561 (*my).Sup.bufpos = pos;
562 }
N_INLINE(NIM_BOOL,handleHexChar__stdZprivateZdecode95helpers_1)563 static N_INLINE(NIM_BOOL, handleHexChar__stdZprivateZdecode95helpers_1)(NIM_CHAR c, NI* x) {
564 NIM_BOOL result;
565 result = (NIM_BOOL)0;
566 result = NIM_TRUE;
567 switch (((NU8)(c))) {
568 case 48 ... 57:
569 {
570 (*x) = (NI)((NI)((NU32)((*x)) << (NU32)(((NI) 4))) | (NI)(((NU8)(c)) - ((NI) 48)));
571 }
572 break;
573 case 97 ... 102:
574 {
575 (*x) = (NI)((NI)((NU32)((*x)) << (NU32)(((NI) 4))) | (NI)((NI)(((NU8)(c)) - ((NI) 97)) + ((NI) 10)));
576 }
577 break;
578 case 65 ... 70:
579 {
580 (*x) = (NI)((NI)((NU32)((*x)) << (NU32)(((NI) 4))) | (NI)((NI)(((NU8)(c)) - ((NI) 65)) + ((NI) 10)));
581 }
582 break;
583 default:
584 {
585 result = NIM_FALSE;
586 }
587 break;
588 }
589 return result;
590 }
N_NIMCALL(NI,parseEscapedUTF16__pureZparsejson_220)591 N_LIB_PRIVATE N_NIMCALL(NI, parseEscapedUTF16__pureZparsejson_220)(NCSTRING buf, NI* pos) {
592 NI result;
593 { result = (NI)0;
594 result = ((NI) 0);
595 {
596 NI _;
597 NI res;
598 _ = (NI)0;
599 res = ((NI) 0);
600 {
601 while (1) {
602 if (!(res <= ((NI) 3))) goto LA3;
603 _ = res;
604 {
605 NIM_BOOL T6_;
606 T6_ = (NIM_BOOL)0;
607 T6_ = handleHexChar__stdZprivateZdecode95helpers_1(buf[(*pos)], (&result));
608 if (!T6_) goto LA7_;
609 (*pos) += ((NI) 1);
610 }
611 goto LA4_;
612 LA7_: ;
613 {
614 result = ((NI) -1);
615 goto BeforeRet_;
616 }
617 LA4_: ;
618 res += ((NI) 1);
619 } LA3: ;
620 }
621 }
622 }BeforeRet_: ;
623 return result;
624 }
N_INLINE(NCSTRING,nimToCStringConv)625 static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s) {
626 NCSTRING result;
627 result = (NCSTRING)0;
628 {
629 NIM_BOOL T3_;
630 T3_ = (NIM_BOOL)0;
631 T3_ = (s == ((NimStringDesc*) NIM_NIL));
632 if (T3_) goto LA4_;
633 T3_ = ((*s).Sup.len == ((NI) 0));
634 LA4_: ;
635 if (!T3_) goto LA5_;
636 result = "";
637 }
638 goto LA1_;
639 LA5_: ;
640 {
641 result = ((NCSTRING) ((*s).data));
642 }
643 LA1_: ;
644 return result;
645 }
N_NIMCALL(tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw,parseString__pureZparsejson_233)646 N_LIB_PRIVATE N_NIMCALL(tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw, parseString__pureZparsejson_233)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my) {
647 tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw result;
648 NI pos;
649 result = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0;
650 result = ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 2);
651 pos = (NI)((*my).Sup.bufpos + ((NI) 1));
652 {
653 if (!(*my).rawStringLiterals) goto LA3_;
654 unsureAsgnRef((void**) (&(*my).a), addChar((*my).a, 34));
655 }
656 LA3_: ;
657 {
658 while (1) {
659 switch (((NU8)((*my).Sup.buf->data[pos]))) {
660 case 0:
661 {
662 (*my).err = ((tyEnum_JsonError__G9cw5MrJXJrcpID5JXaplew) 7);
663 result = ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 0);
664 goto LA5;
665 }
666 break;
667 case 34:
668 {
669 {
670 if (!(*my).rawStringLiterals) goto LA11_;
671 unsureAsgnRef((void**) (&(*my).a), addChar((*my).a, 34));
672 }
673 LA11_: ;
674 pos += ((NI) 1);
675 goto LA5;
676 }
677 break;
678 case 92:
679 {
680 {
681 if (!(*my).rawStringLiterals) goto LA16_;
682 unsureAsgnRef((void**) (&(*my).a), addChar((*my).a, 92));
683 }
684 LA16_: ;
685 switch (((NU8)((*my).Sup.buf->data[(NI)(pos + ((NI) 1))]))) {
686 case 92:
687 case 34:
688 case 39:
689 case 47:
690 {
691 unsureAsgnRef((void**) (&(*my).a), addChar((*my).a, (*my).Sup.buf->data[(NI)(pos + ((NI) 1))]));
692 pos += ((NI) 2);
693 }
694 break;
695 case 98:
696 {
697 unsureAsgnRef((void**) (&(*my).a), addChar((*my).a, 8));
698 pos += ((NI) 2);
699 }
700 break;
701 case 102:
702 {
703 unsureAsgnRef((void**) (&(*my).a), addChar((*my).a, 12));
704 pos += ((NI) 2);
705 }
706 break;
707 case 110:
708 {
709 unsureAsgnRef((void**) (&(*my).a), addChar((*my).a, 10));
710 pos += ((NI) 2);
711 }
712 break;
713 case 114:
714 {
715 unsureAsgnRef((void**) (&(*my).a), addChar((*my).a, 13));
716 pos += ((NI) 2);
717 }
718 break;
719 case 116:
720 {
721 unsureAsgnRef((void**) (&(*my).a), addChar((*my).a, 9));
722 pos += ((NI) 2);
723 }
724 break;
725 case 118:
726 {
727 unsureAsgnRef((void**) (&(*my).a), addChar((*my).a, 11));
728 pos += ((NI) 2);
729 }
730 break;
731 case 117:
732 {
733 NI pos2;
734 NI r;
735 {
736 if (!(*my).rawStringLiterals) goto LA28_;
737 unsureAsgnRef((void**) (&(*my).a), addChar((*my).a, 117));
738 }
739 LA28_: ;
740 pos += ((NI) 2);
741 pos2 = pos;
742 r = parseEscapedUTF16__pureZparsejson_220(nimToCStringConv((*my).Sup.buf), (&pos));
743 {
744 if (!(r < ((NI) 0))) goto LA32_;
745 (*my).err = ((tyEnum_JsonError__G9cw5MrJXJrcpID5JXaplew) 1);
746 goto LA5;
747 }
748 LA32_: ;
749 {
750 NI s;
751 if (!((NI)(r & ((NI) 64512)) == ((NI) 55296))) goto LA36_;
752 {
753 NIM_BOOL T40_;
754 T40_ = (NIM_BOOL)0;
755 T40_ = !(((NU8)((*my).Sup.buf->data[pos]) == (NU8)(92)));
756 if (T40_) goto LA41_;
757 T40_ = !(((NU8)((*my).Sup.buf->data[(NI)(pos + ((NI) 1))]) == (NU8)(117)));
758 LA41_: ;
759 if (!T40_) goto LA42_;
760 (*my).err = ((tyEnum_JsonError__G9cw5MrJXJrcpID5JXaplew) 1);
761 goto LA5;
762 }
763 LA42_: ;
764 pos += ((NI) 2);
765 s = parseEscapedUTF16__pureZparsejson_220(nimToCStringConv((*my).Sup.buf), (&pos));
766 {
767 NIM_BOOL T46_;
768 T46_ = (NIM_BOOL)0;
769 T46_ = ((NI)(s & ((NI) 64512)) == ((NI) 56320));
770 if (!(T46_)) goto LA47_;
771 T46_ = (((NI) 0) < s);
772 LA47_: ;
773 if (!T46_) goto LA48_;
774 r = (NI)(((NI) 65536) + (NI)((NI)((NU32)((NI)(r - ((NI) 55296))) << (NU32)(((NI) 10))) | (NI)(s - ((NI) 56320))));
775 }
776 goto LA44_;
777 LA48_: ;
778 {
779 (*my).err = ((tyEnum_JsonError__G9cw5MrJXJrcpID5JXaplew) 1);
780 goto LA5;
781 }
782 LA44_: ;
783 }
784 LA36_: ;
785 {
786 NI length;
787 if (!(*my).rawStringLiterals) goto LA53_;
788 length = (NI)(pos - pos2);
789 {
790 NI i;
791 NI res;
792 i = (NI)0;
793 res = ((NI) 1);
794 {
795 while (1) {
796 if (!(res <= length)) goto LA57;
797 i = res;
798 {
799 if (!(((NU8)((*my).Sup.buf->data[pos2])) >= ((NU8)(48)) && ((NU8)((*my).Sup.buf->data[pos2])) <= ((NU8)(57)) || ((NU8)((*my).Sup.buf->data[pos2])) >= ((NU8)(65)) && ((NU8)((*my).Sup.buf->data[pos2])) <= ((NU8)(70)) || ((NU8)((*my).Sup.buf->data[pos2])) >= ((NU8)(97)) && ((NU8)((*my).Sup.buf->data[pos2])) <= ((NU8)(102)))) goto LA60_;
800 unsureAsgnRef((void**) (&(*my).a), addChar((*my).a, (*my).Sup.buf->data[pos2]));
801 pos2 += ((NI) 1);
802 }
803 goto LA58_;
804 LA60_: ;
805 {
806 goto LA55;
807 }
808 LA58_: ;
809 res += ((NI) 1);
810 } LA57: ;
811 }
812 } LA55: ;
813 }
814 goto LA51_;
815 LA53_: ;
816 {
817 NimStringDesc* T64_;
818 T64_ = NIM_NIL;
819 T64_ = nuctoUTF8(((NI32) (r)));
820 unsureAsgnRef((void**) (&(*my).a), resizeString((*my).a, (T64_ ? T64_->Sup.len : 0) + 0));
821 appendString((*my).a, T64_);
822 }
823 LA51_: ;
824 }
825 break;
826 default:
827 {
828 unsureAsgnRef((void**) (&(*my).a), addChar((*my).a, (*my).Sup.buf->data[pos]));
829 pos += ((NI) 1);
830 }
831 break;
832 }
833 }
834 break;
835 case 13:
836 {
837 pos = handleCR__pureZlexbase_79(&my->Sup, pos);
838 unsureAsgnRef((void**) (&(*my).a), addChar((*my).a, 13));
839 }
840 break;
841 case 10:
842 {
843 pos = handleLF__pureZlexbase_90(&my->Sup, pos);
844 unsureAsgnRef((void**) (&(*my).a), addChar((*my).a, 10));
845 }
846 break;
847 default:
848 {
849 unsureAsgnRef((void**) (&(*my).a), addChar((*my).a, (*my).Sup.buf->data[pos]));
850 pos += ((NI) 1);
851 }
852 break;
853 }
854 }
855 } LA5: ;
856 (*my).Sup.bufpos = pos;
857 return result;
858 }
N_NIMCALL(void,parseName__pureZparsejson_410)859 N_LIB_PRIVATE N_NIMCALL(void, parseName__pureZparsejson_410)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my) {
860 NI pos;
861 pos = (*my).Sup.bufpos;
862 {
863 if (!(((NU8)((*my).Sup.buf->data[pos])) >= ((NU8)(97)) && ((NU8)((*my).Sup.buf->data[pos])) <= ((NU8)(122)) || ((NU8)((*my).Sup.buf->data[pos])) >= ((NU8)(65)) && ((NU8)((*my).Sup.buf->data[pos])) <= ((NU8)(90)) || ((NU8)((*my).Sup.buf->data[pos])) == ((NU8)(95)))) goto LA3_;
864 {
865 while (1) {
866 if (!(((NU8)((*my).Sup.buf->data[pos])) >= ((NU8)(97)) && ((NU8)((*my).Sup.buf->data[pos])) <= ((NU8)(122)) || ((NU8)((*my).Sup.buf->data[pos])) >= ((NU8)(65)) && ((NU8)((*my).Sup.buf->data[pos])) <= ((NU8)(90)) || ((NU8)((*my).Sup.buf->data[pos])) >= ((NU8)(48)) && ((NU8)((*my).Sup.buf->data[pos])) <= ((NU8)(57)) || ((NU8)((*my).Sup.buf->data[pos])) == ((NU8)(95)))) goto LA6;
867 unsureAsgnRef((void**) (&(*my).a), addChar((*my).a, (*my).Sup.buf->data[pos]));
868 pos += ((NI) 1);
869 } LA6: ;
870 }
871 }
872 LA3_: ;
873 (*my).Sup.bufpos = pos;
874 }
N_INLINE(int,nimCmpMem)875 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
876 int result;
877 result = (int)0;
878 result = memcmp(a, b, ((size_t) (size)));
879 return result;
880 }
N_INLINE(NIM_BOOL,equalMem__system_1735)881 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size) {
882 NIM_BOOL result;
883 int T1_;
884 result = (NIM_BOOL)0;
885 T1_ = (int)0;
886 T1_ = nimCmpMem(a, b, size);
887 result = (T1_ == ((NI32) 0));
888 return result;
889 }
N_INLINE(NIM_BOOL,eqStrings)890 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
891 NIM_BOOL result;
892 NI alen;
893 NI blen;
894 { result = (NIM_BOOL)0;
895 alen = (a ? a->Sup.len : 0);
896 blen = (b ? b->Sup.len : 0);
897 {
898 if (!(alen == blen)) goto LA3_;
899 {
900 if (!(alen == ((NI) 0))) goto LA7_;
901 result = NIM_TRUE;
902 goto BeforeRet_;
903 }
904 LA7_: ;
905 result = equalMem__system_1735(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
906 goto BeforeRet_;
907 }
908 LA3_: ;
909 }BeforeRet_: ;
910 return result;
911 }
N_NIMCALL(tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw,getTok__pureZparsejson_425)912 N_LIB_PRIVATE N_NIMCALL(tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw, getTok__pureZparsejson_425)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my) {
913 tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw result;
914 result = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0;
915 unsureAsgnRef((void**) (&(*my).a), setLengthStr((*my).a, ((NI) 0)));
916 skip__pureZparsejson_324(my);
917 switch (((NU8)((*my).Sup.buf->data[(*my).Sup.bufpos]))) {
918 case 45:
919 case 46:
920 case 48 ... 57:
921 {
922 parseNumber__pureZparsejson_355(my);
923 {
924 NIM_BOOL T4_;
925 T4_ = (NIM_BOOL)0;
926 T4_ = contains__pureZstrutils_1635((*my).a, TM__nIinruGrC8EPIfjL3PuTvA_17);
927 if (!T4_) goto LA5_;
928 result = ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 4);
929 }
930 goto LA2_;
931 LA5_: ;
932 {
933 result = ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 3);
934 }
935 LA2_: ;
936 }
937 break;
938 case 34:
939 {
940 result = parseString__pureZparsejson_233(my);
941 }
942 break;
943 case 91:
944 {
945 (*my).Sup.bufpos += ((NI) 1);
946 result = ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 10);
947 }
948 break;
949 case 123:
950 {
951 (*my).Sup.bufpos += ((NI) 1);
952 result = ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 8);
953 }
954 break;
955 case 93:
956 {
957 (*my).Sup.bufpos += ((NI) 1);
958 result = ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 11);
959 }
960 break;
961 case 125:
962 {
963 (*my).Sup.bufpos += ((NI) 1);
964 result = ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 9);
965 }
966 break;
967 case 44:
968 {
969 (*my).Sup.bufpos += ((NI) 1);
970 result = ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 13);
971 }
972 break;
973 case 58:
974 {
975 (*my).Sup.bufpos += ((NI) 1);
976 result = ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 12);
977 }
978 break;
979 case 0:
980 {
981 result = ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 1);
982 }
983 break;
984 case 97 ... 122:
985 case 65 ... 90:
986 case 95:
987 {
988 parseName__pureZparsejson_410(my);
989 if (eqStrings((*my).a, ((NimStringDesc*) &TM__nIinruGrC8EPIfjL3PuTvA_18))) goto LA17_;
990 if (eqStrings((*my).a, ((NimStringDesc*) &TM__nIinruGrC8EPIfjL3PuTvA_19))) goto LA18_;
991 if (eqStrings((*my).a, ((NimStringDesc*) &TM__nIinruGrC8EPIfjL3PuTvA_20))) goto LA19_;
992 goto LA20_;
993 LA17_: ;
994 {
995 result = ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 7);
996 }
997 goto LA21_;
998 LA18_: ;
999 {
1000 result = ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 5);
1001 }
1002 goto LA21_;
1003 LA19_: ;
1004 {
1005 result = ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 6);
1006 }
1007 goto LA21_;
1008 LA20_: ;
1009 {
1010 result = ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 0);
1011 }
1012 LA21_: ;
1013 }
1014 break;
1015 default:
1016 {
1017 (*my).Sup.bufpos += ((NI) 1);
1018 result = ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 0);
1019 }
1020 break;
1021 }
1022 (*my).tok = result;
1023 return result;
1024 }
N_INLINE(tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ,pop__pureZparsejson_504)1025 static N_INLINE(tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ, pop__pureZparsejson_504)(tySequence__Ih0V9cYug0VPJyBBGvgEH7Q** s) {
1026 tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ result;
1027 NI L;
1028 NI T1_;
1029 result = (tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)0;
1030 T1_ = ((*s) ? (*s)->Sup.len : 0);
1031 L = (NI)(T1_ - ((NI) 1));
1032 result = (*s)->data[L];
1033 unsureAsgnRef((void**) (&(*s)), (tySequence__Ih0V9cYug0VPJyBBGvgEH7Q*) setLengthSeqV2(&((*s))->Sup, (&NTIseqLparserstateT__Ih0V9cYug0VPJyBBGvgEH7Q_), ((NI) (L))));
1034 return result;
1035 }
N_NIMCALL(void,next__pureZparsejson_456)1036 N_LIB_PRIVATE N_NIMCALL(void, next__pureZparsejson_456)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my) {
1037 tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw tk;
1038 NI i;
1039 NI T1_;
1040 tk = getTok__pureZparsejson_425(my);
1041 T1_ = ((*my).state ? (*my).state->Sup.len : 0);
1042 i = (NI)(T1_ - ((NI) 1));
1043 switch ((*my).state->data[i]) {
1044 case ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ) 0):
1045 {
1046 {
1047 if (!(tk == ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 1))) goto LA5_;
1048 (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA) 1);
1049 }
1050 goto LA3_;
1051 LA5_: ;
1052 {
1053 (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA) 0);
1054 (*my).err = ((tyEnum_JsonError__G9cw5MrJXJrcpID5JXaplew) 9);
1055 }
1056 LA3_: ;
1057 }
1058 break;
1059 case ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ) 1):
1060 {
1061 switch (tk) {
1062 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 2):
1063 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 3):
1064 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 4):
1065 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 5):
1066 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 6):
1067 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 7):
1068 {
1069 (*my).state->data[i] = ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ) 0);
1070 (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA) (tk));
1071 }
1072 break;
1073 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 10):
1074 {
1075 NI T11_;
1076 unsureAsgnRef((void**) (&(*my).state), (tySequence__Ih0V9cYug0VPJyBBGvgEH7Q*) incrSeqV3((TGenericSeq*)((*my).state), (&NTIseqLparserstateT__Ih0V9cYug0VPJyBBGvgEH7Q_)));
1077 T11_ = (*my).state->Sup.len++;
1078 (*my).state->data[T11_] = ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ) 3);
1079 (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA) 10);
1080 }
1081 break;
1082 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 8):
1083 {
1084 NI T13_;
1085 unsureAsgnRef((void**) (&(*my).state), (tySequence__Ih0V9cYug0VPJyBBGvgEH7Q*) incrSeqV3((TGenericSeq*)((*my).state), (&NTIseqLparserstateT__Ih0V9cYug0VPJyBBGvgEH7Q_)));
1086 T13_ = (*my).state->Sup.len++;
1087 (*my).state->data[T13_] = ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ) 2);
1088 (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA) 8);
1089 }
1090 break;
1091 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 1):
1092 {
1093 (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA) 1);
1094 }
1095 break;
1096 default:
1097 {
1098 (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA) 0);
1099 (*my).err = ((tyEnum_JsonError__G9cw5MrJXJrcpID5JXaplew) 9);
1100 }
1101 break;
1102 }
1103 }
1104 break;
1105 case ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ) 2):
1106 {
1107 switch (tk) {
1108 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 2):
1109 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 3):
1110 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 4):
1111 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 5):
1112 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 6):
1113 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 7):
1114 {
1115 NI T18_;
1116 unsureAsgnRef((void**) (&(*my).state), (tySequence__Ih0V9cYug0VPJyBBGvgEH7Q*) incrSeqV3((TGenericSeq*)((*my).state), (&NTIseqLparserstateT__Ih0V9cYug0VPJyBBGvgEH7Q_)));
1117 T18_ = (*my).state->Sup.len++;
1118 (*my).state->data[T18_] = ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ) 6);
1119 (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA) (tk));
1120 }
1121 break;
1122 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 10):
1123 {
1124 NI T20_;
1125 NI T21_;
1126 unsureAsgnRef((void**) (&(*my).state), (tySequence__Ih0V9cYug0VPJyBBGvgEH7Q*) incrSeqV3((TGenericSeq*)((*my).state), (&NTIseqLparserstateT__Ih0V9cYug0VPJyBBGvgEH7Q_)));
1127 T20_ = (*my).state->Sup.len++;
1128 (*my).state->data[T20_] = ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ) 6);
1129 unsureAsgnRef((void**) (&(*my).state), (tySequence__Ih0V9cYug0VPJyBBGvgEH7Q*) incrSeqV3((TGenericSeq*)((*my).state), (&NTIseqLparserstateT__Ih0V9cYug0VPJyBBGvgEH7Q_)));
1130 T21_ = (*my).state->Sup.len++;
1131 (*my).state->data[T21_] = ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ) 3);
1132 (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA) 10);
1133 }
1134 break;
1135 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 8):
1136 {
1137 NI T23_;
1138 NI T24_;
1139 unsureAsgnRef((void**) (&(*my).state), (tySequence__Ih0V9cYug0VPJyBBGvgEH7Q*) incrSeqV3((TGenericSeq*)((*my).state), (&NTIseqLparserstateT__Ih0V9cYug0VPJyBBGvgEH7Q_)));
1140 T23_ = (*my).state->Sup.len++;
1141 (*my).state->data[T23_] = ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ) 6);
1142 unsureAsgnRef((void**) (&(*my).state), (tySequence__Ih0V9cYug0VPJyBBGvgEH7Q*) incrSeqV3((TGenericSeq*)((*my).state), (&NTIseqLparserstateT__Ih0V9cYug0VPJyBBGvgEH7Q_)));
1143 T24_ = (*my).state->Sup.len++;
1144 (*my).state->data[T24_] = ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ) 2);
1145 (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA) 8);
1146 }
1147 break;
1148 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 9):
1149 {
1150 tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ T26_;
1151 (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA) 9);
1152 T26_ = (tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)0;
1153 T26_ = pop__pureZparsejson_504((&(*my).state));
1154 (void)(T26_);
1155 }
1156 break;
1157 default:
1158 {
1159 (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA) 0);
1160 (*my).err = ((tyEnum_JsonError__G9cw5MrJXJrcpID5JXaplew) 6);
1161 }
1162 break;
1163 }
1164 }
1165 break;
1166 case ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ) 3):
1167 {
1168 switch (tk) {
1169 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 2):
1170 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 3):
1171 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 4):
1172 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 5):
1173 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 6):
1174 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 7):
1175 {
1176 NI T30_;
1177 unsureAsgnRef((void**) (&(*my).state), (tySequence__Ih0V9cYug0VPJyBBGvgEH7Q*) incrSeqV3((TGenericSeq*)((*my).state), (&NTIseqLparserstateT__Ih0V9cYug0VPJyBBGvgEH7Q_)));
1178 T30_ = (*my).state->Sup.len++;
1179 (*my).state->data[T30_] = ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ) 4);
1180 (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA) (tk));
1181 }
1182 break;
1183 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 10):
1184 {
1185 NI T32_;
1186 NI T33_;
1187 unsureAsgnRef((void**) (&(*my).state), (tySequence__Ih0V9cYug0VPJyBBGvgEH7Q*) incrSeqV3((TGenericSeq*)((*my).state), (&NTIseqLparserstateT__Ih0V9cYug0VPJyBBGvgEH7Q_)));
1188 T32_ = (*my).state->Sup.len++;
1189 (*my).state->data[T32_] = ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ) 4);
1190 unsureAsgnRef((void**) (&(*my).state), (tySequence__Ih0V9cYug0VPJyBBGvgEH7Q*) incrSeqV3((TGenericSeq*)((*my).state), (&NTIseqLparserstateT__Ih0V9cYug0VPJyBBGvgEH7Q_)));
1191 T33_ = (*my).state->Sup.len++;
1192 (*my).state->data[T33_] = ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ) 3);
1193 (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA) 10);
1194 }
1195 break;
1196 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 8):
1197 {
1198 NI T35_;
1199 NI T36_;
1200 unsureAsgnRef((void**) (&(*my).state), (tySequence__Ih0V9cYug0VPJyBBGvgEH7Q*) incrSeqV3((TGenericSeq*)((*my).state), (&NTIseqLparserstateT__Ih0V9cYug0VPJyBBGvgEH7Q_)));
1201 T35_ = (*my).state->Sup.len++;
1202 (*my).state->data[T35_] = ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ) 4);
1203 unsureAsgnRef((void**) (&(*my).state), (tySequence__Ih0V9cYug0VPJyBBGvgEH7Q*) incrSeqV3((TGenericSeq*)((*my).state), (&NTIseqLparserstateT__Ih0V9cYug0VPJyBBGvgEH7Q_)));
1204 T36_ = (*my).state->Sup.len++;
1205 (*my).state->data[T36_] = ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ) 2);
1206 (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA) 8);
1207 }
1208 break;
1209 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 11):
1210 {
1211 tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ T38_;
1212 (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA) 11);
1213 T38_ = (tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)0;
1214 T38_ = pop__pureZparsejson_504((&(*my).state));
1215 (void)(T38_);
1216 }
1217 break;
1218 default:
1219 {
1220 (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA) 0);
1221 (*my).err = ((tyEnum_JsonError__G9cw5MrJXJrcpID5JXaplew) 5);
1222 }
1223 break;
1224 }
1225 }
1226 break;
1227 case ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ) 4):
1228 {
1229 switch (tk) {
1230 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 13):
1231 {
1232 tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ T42_;
1233 T42_ = (tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)0;
1234 T42_ = pop__pureZparsejson_504((&(*my).state));
1235 (void)(T42_);
1236 next__pureZparsejson_456(my);
1237 }
1238 break;
1239 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 11):
1240 {
1241 tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ T44_;
1242 tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ T45_;
1243 (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA) 11);
1244 T44_ = (tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)0;
1245 T44_ = pop__pureZparsejson_504((&(*my).state));
1246 (void)(T44_);
1247 T45_ = (tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)0;
1248 T45_ = pop__pureZparsejson_504((&(*my).state));
1249 (void)(T45_);
1250 }
1251 break;
1252 default:
1253 {
1254 (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA) 0);
1255 (*my).err = ((tyEnum_JsonError__G9cw5MrJXJrcpID5JXaplew) 5);
1256 }
1257 break;
1258 }
1259 }
1260 break;
1261 case ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ) 5):
1262 {
1263 switch (tk) {
1264 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 13):
1265 {
1266 tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ T49_;
1267 T49_ = (tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)0;
1268 T49_ = pop__pureZparsejson_504((&(*my).state));
1269 (void)(T49_);
1270 next__pureZparsejson_456(my);
1271 }
1272 break;
1273 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 9):
1274 {
1275 tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ T51_;
1276 tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ T52_;
1277 (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA) 9);
1278 T51_ = (tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)0;
1279 T51_ = pop__pureZparsejson_504((&(*my).state));
1280 (void)(T51_);
1281 T52_ = (tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)0;
1282 T52_ = pop__pureZparsejson_504((&(*my).state));
1283 (void)(T52_);
1284 }
1285 break;
1286 default:
1287 {
1288 (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA) 0);
1289 (*my).err = ((tyEnum_JsonError__G9cw5MrJXJrcpID5JXaplew) 6);
1290 }
1291 break;
1292 }
1293 }
1294 break;
1295 case ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ) 6):
1296 {
1297 switch (tk) {
1298 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 12):
1299 {
1300 (*my).state->data[i] = ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ) 7);
1301 next__pureZparsejson_456(my);
1302 }
1303 break;
1304 default:
1305 {
1306 (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA) 0);
1307 (*my).err = ((tyEnum_JsonError__G9cw5MrJXJrcpID5JXaplew) 3);
1308 }
1309 break;
1310 }
1311 }
1312 break;
1313 case ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ) 7):
1314 {
1315 switch (tk) {
1316 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 2):
1317 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 3):
1318 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 4):
1319 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 5):
1320 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 6):
1321 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 7):
1322 {
1323 (*my).state->data[i] = ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ) 5);
1324 (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA) (tk));
1325 }
1326 break;
1327 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 10):
1328 {
1329 NI T60_;
1330 (*my).state->data[i] = ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ) 5);
1331 unsureAsgnRef((void**) (&(*my).state), (tySequence__Ih0V9cYug0VPJyBBGvgEH7Q*) incrSeqV3((TGenericSeq*)((*my).state), (&NTIseqLparserstateT__Ih0V9cYug0VPJyBBGvgEH7Q_)));
1332 T60_ = (*my).state->Sup.len++;
1333 (*my).state->data[T60_] = ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ) 3);
1334 (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA) 10);
1335 }
1336 break;
1337 case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 8):
1338 {
1339 NI T62_;
1340 (*my).state->data[i] = ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ) 5);
1341 unsureAsgnRef((void**) (&(*my).state), (tySequence__Ih0V9cYug0VPJyBBGvgEH7Q*) incrSeqV3((TGenericSeq*)((*my).state), (&NTIseqLparserstateT__Ih0V9cYug0VPJyBBGvgEH7Q_)));
1342 T62_ = (*my).state->Sup.len++;
1343 (*my).state->data[T62_] = ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ) 2);
1344 (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA) 8);
1345 }
1346 break;
1347 default:
1348 {
1349 (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA) 0);
1350 (*my).err = ((tyEnum_JsonError__G9cw5MrJXJrcpID5JXaplew) 10);
1351 }
1352 break;
1353 }
1354 }
1355 break;
1356 }
1357 }
N_NIMCALL(void,Marker_tyRef__PyuSdojUZWOAnzN7dInq1Q)1358 static N_NIMCALL(void, Marker_tyRef__PyuSdojUZWOAnzN7dInq1Q)(void* p, NI op) {
1359 tyObject_JsonParsingError__XTejXaID1NT7KS9byQm3Jxg* a;
1360 a = (tyObject_JsonParsingError__XTejXaID1NT7KS9byQm3Jxg*)p;
1361 nimGCvisit((void*)(*a).Sup.Sup.Sup.parent, op);
1362 nimGCvisit((void*)(*a).Sup.Sup.Sup.message, op);
1363 nimGCvisit((void*)(*a).Sup.Sup.Sup.trace, op);
1364 nimGCvisit((void*)(*a).Sup.Sup.Sup.up, op);
1365 }
N_INLINE(void,nimSetMem__systemZmemory_7)1366 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
1367 void* T1_;
1368 T1_ = (void*)0;
1369 T1_ = memset(a, v, ((size_t) (size)));
1370 }
N_INLINE(void,nimZeroMem)1371 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
1372 nimSetMem__systemZmemory_7(p, ((int) 0), size);
1373 }
N_INLINE(NI,getLine__pureZparsejson_200)1374 static N_INLINE(NI, getLine__pureZparsejson_200)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my) {
1375 NI result;
1376 result = (NI)0;
1377 result = (*my).Sup.lineNumber;
1378 return result;
1379 }
N_INLINE(NI,getColumn__pureZparsejson_188)1380 static N_INLINE(NI, getColumn__pureZparsejson_188)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my) {
1381 NI result;
1382 result = (NI)0;
1383 result = getColNumber__pureZlexbase_137((&(*my).Sup), (*my).Sup.bufpos);
1384 return result;
1385 }
N_NIMCALL(NimStringDesc *,errorMsgExpected__pureZparsejson_216)1386 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, errorMsgExpected__pureZparsejson_216)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my, NimStringDesc* e) {
1387 NimStringDesc* result;
1388 tyArray__sMpvt1sOxOJ3LFGulnbeMQ T1_;
1389 NI T2_;
1390 NI T3_;
1391 NimStringDesc* T4_;
1392 result = NIM_NIL;
1393 nimZeroMem((void*)T1_, sizeof(tyArray__sMpvt1sOxOJ3LFGulnbeMQ));
1394 T1_[0] = copyString((*my).filename);
1395 T2_ = (NI)0;
1396 T2_ = getLine__pureZparsejson_200(my);
1397 T1_[1] = dollar___systemZdollars_3(T2_);
1398 T3_ = (NI)0;
1399 T3_ = getColumn__pureZparsejson_188(my);
1400 T1_[2] = dollar___systemZdollars_3(T3_);
1401 T4_ = NIM_NIL;
1402 T4_ = rawNewString((e ? e->Sup.len : 0) + 9);
1403 appendString(T4_, e);
1404 appendString(T4_, ((NimStringDesc*) &TM__nIinruGrC8EPIfjL3PuTvA_22));
1405 T1_[3] = T4_;
1406 result = nsuFormatOpenArray(((NimStringDesc*) &TM__nIinruGrC8EPIfjL3PuTvA_21), T1_, 4);
1407 return result;
1408 }
N_INLINE(NI,pluspercent___system_696)1409 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
1410 NI result;
1411 result = (NI)0;
1412 result = ((NI) ((NU)((NU32)(((NU) (x))) + (NU32)(((NU) (y))))));
1413 return result;
1414 }
N_INLINE(void,incRef__system_5329)1415 static N_INLINE(void, incRef__system_5329)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1416 (*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
1417 }
N_INLINE(NI,minuspercent___system_716)1418 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
1419 NI result;
1420 result = (NI)0;
1421 result = ((NI) ((NU)((NU32)(((NU) (x))) - (NU32)(((NU) (y))))));
1422 return result;
1423 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5291)1424 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5291)(void* usr) {
1425 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
1426 NI T1_;
1427 result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1428 T1_ = (NI)0;
1429 T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 8));
1430 result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
1431 return result;
1432 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)1433 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
1434 NIM_BOOL result;
1435 result = (NIM_BOOL)0;
1436 result = ((NU32)(((NU) (x))) < (NU32)(((NU) (y))));
1437 return result;
1438 }
N_INLINE(void,rtlAddZCT__system_5334)1439 static N_INLINE(void, rtlAddZCT__system_5334)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1440 addZCT__system_5285((&gch__system_5238.zct), c);
1441 }
N_INLINE(void,decRef__system_5336)1442 static N_INLINE(void, decRef__system_5336)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1443 (*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
1444 {
1445 NIM_BOOL T3_;
1446 T3_ = (NIM_BOOL)0;
1447 T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
1448 if (!T3_) goto LA4_;
1449 rtlAddZCT__system_5334(c);
1450 }
1451 LA4_: ;
1452 }
N_INLINE(void,asgnRef)1453 static N_INLINE(void, asgnRef)(void** dest, void* src) {
1454 {
1455 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
1456 if (!!((src == NIM_NIL))) goto LA3_;
1457 T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1458 T5_ = usrToCell__system_5291(src);
1459 incRef__system_5329(T5_);
1460 }
1461 LA3_: ;
1462 {
1463 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
1464 if (!!(((*dest) == NIM_NIL))) goto LA8_;
1465 T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1466 T10_ = usrToCell__system_5291((*dest));
1467 decRef__system_5336(T10_);
1468 }
1469 LA8_: ;
1470 (*dest) = src;
1471 }
N_NOINLINE(void,raiseParseErr__pureZparsejson_580)1472 N_LIB_PRIVATE N_NOINLINE(void, raiseParseErr__pureZparsejson_580)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* p, NimStringDesc* msg) {
1473 tyObject_JsonParsingError__XTejXaID1NT7KS9byQm3Jxg* T1_;
1474 T1_ = NIM_NIL;
1475 T1_ = (tyObject_JsonParsingError__XTejXaID1NT7KS9byQm3Jxg*) newObj((&NTIrefjsonparsingerror__PyuSdojUZWOAnzN7dInq1Q_), sizeof(tyObject_JsonParsingError__XTejXaID1NT7KS9byQm3Jxg));
1476 (*T1_).Sup.Sup.Sup.Sup.m_type = (&NTIjsonparsingerror__XTejXaID1NT7KS9byQm3Jxg_);
1477 (*T1_).Sup.Sup.Sup.name = "JsonParsingError";
1478 asgnRef((void**) (&(*T1_).Sup.Sup.Sup.message), errorMsgExpected__pureZparsejson_216(p, msg));
1479 asgnRef((void**) (&(*T1_).Sup.Sup.Sup.parent), ((Exception*) NIM_NIL));
1480 raiseExceptionEx((Exception*)T1_, "JsonParsingError", "raiseParseErr", "parsejson.nim", 515);
1481 }
N_NIMCALL(void,Marker_tyRef__tn3kJ9cInprO2X2FSPir4WQ)1482 static N_NIMCALL(void, Marker_tyRef__tn3kJ9cInprO2X2FSPir4WQ)(void* p, NI op) {
1483 tyObject_JsonKindError__GezlryuJLt9aOJ0RpuN6G8g* a;
1484 a = (tyObject_JsonKindError__GezlryuJLt9aOJ0RpuN6G8g*)p;
1485 nimGCvisit((void*)(*a).Sup.Sup.Sup.parent, op);
1486 nimGCvisit((void*)(*a).Sup.Sup.Sup.message, op);
1487 nimGCvisit((void*)(*a).Sup.Sup.Sup.trace, op);
1488 nimGCvisit((void*)(*a).Sup.Sup.Sup.up, op);
1489 }
N_NIMCALL(void,eat__pureZparsejson_602)1490 N_LIB_PRIVATE N_NIMCALL(void, eat__pureZparsejson_602)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* p, tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw tok) {
1491 {
1492 tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw T5_;
1493 if (!((*p).tok == tok)) goto LA3_;
1494 T5_ = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0;
1495 T5_ = getTok__pureZparsejson_425(p);
1496 (void)(T5_);
1497 }
1498 goto LA1_;
1499 LA3_: ;
1500 {
1501 raiseParseErr__pureZparsejson_580((&(*p)), tokToStr__pureZparsejson_78[(tok)- 0]);
1502 }
1503 LA1_: ;
1504 }
N_NIMCALL(void,stdlib_parsejsonDatInit000)1505 N_LIB_PRIVATE N_NIMCALL(void, stdlib_parsejsonDatInit000)(void) {
1506 static TNimNode* TM__nIinruGrC8EPIfjL3PuTvA_2_7[7];
1507 static TNimNode* TM__nIinruGrC8EPIfjL3PuTvA_3_14[14];
1508 NI TM__nIinruGrC8EPIfjL3PuTvA_5;
1509 static char* NIM_CONST TM__nIinruGrC8EPIfjL3PuTvA_4[14] = {
1510 "tkError",
1511 "tkEof",
1512 "tkString",
1513 "tkInt",
1514 "tkFloat",
1515 "tkTrue",
1516 "tkFalse",
1517 "tkNull",
1518 "tkCurlyLe",
1519 "tkCurlyRi",
1520 "tkBracketLe",
1521 "tkBracketRi",
1522 "tkColon",
1523 "tkComma"};
1524 static TNimNode* TM__nIinruGrC8EPIfjL3PuTvA_6_12[12];
1525 NI TM__nIinruGrC8EPIfjL3PuTvA_8;
1526 static char* NIM_CONST TM__nIinruGrC8EPIfjL3PuTvA_7[12] = {
1527 "jsonError",
1528 "jsonEof",
1529 "jsonString",
1530 "jsonInt",
1531 "jsonFloat",
1532 "jsonTrue",
1533 "jsonFalse",
1534 "jsonNull",
1535 "jsonObjectStart",
1536 "jsonObjectEnd",
1537 "jsonArrayStart",
1538 "jsonArrayEnd"};
1539 static TNimNode* TM__nIinruGrC8EPIfjL3PuTvA_9_11[11];
1540 NI TM__nIinruGrC8EPIfjL3PuTvA_11;
1541 static char* NIM_CONST TM__nIinruGrC8EPIfjL3PuTvA_10[11] = {
1542 "errNone",
1543 "errInvalidToken",
1544 "errStringExpected",
1545 "errColonExpected",
1546 "errCommaExpected",
1547 "errBracketRiExpected",
1548 "errCurlyRiExpected",
1549 "errQuoteExpected",
1550 "errEOC_Expected",
1551 "errEofExpected",
1552 "errExprExpected"};
1553 static TNimNode* TM__nIinruGrC8EPIfjL3PuTvA_12_8[8];
1554 NI TM__nIinruGrC8EPIfjL3PuTvA_14;
1555 static char* NIM_CONST TM__nIinruGrC8EPIfjL3PuTvA_13[8] = {
1556 "stateEof",
1557 "stateStart",
1558 "stateObject",
1559 "stateArray",
1560 "stateExpectArrayComma",
1561 "stateExpectObjectComma",
1562 "stateExpectColon",
1563 "stateExpectValue"};
1564 static TNimNode TM__nIinruGrC8EPIfjL3PuTvA_0[59];
1565 NTIjsonparser__KWIQnzXEOUqdWsnCUL9atyQ_.size = sizeof(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ);
1566 NTIjsonparser__KWIQnzXEOUqdWsnCUL9atyQ_.align = NIM_ALIGNOF(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ);
1567 NTIjsonparser__KWIQnzXEOUqdWsnCUL9atyQ_.kind = 17;
1568 NTIjsonparser__KWIQnzXEOUqdWsnCUL9atyQ_.base = (&NTIbaselexer__MAw8rJZtJ279bVV3TWMtXSg_);
1569 TM__nIinruGrC8EPIfjL3PuTvA_2_7[0] = &TM__nIinruGrC8EPIfjL3PuTvA_0[1];
1570 TM__nIinruGrC8EPIfjL3PuTvA_0[1].kind = 1;
1571 TM__nIinruGrC8EPIfjL3PuTvA_0[1].offset = offsetof(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ, a);
1572 TM__nIinruGrC8EPIfjL3PuTvA_0[1].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
1573 TM__nIinruGrC8EPIfjL3PuTvA_0[1].name = "a";
1574 TM__nIinruGrC8EPIfjL3PuTvA_2_7[1] = &TM__nIinruGrC8EPIfjL3PuTvA_0[2];
1575 NTItokkind__Q9c4KaNqJU4PbXaGht0C7iw_.size = sizeof(tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw);
1576 NTItokkind__Q9c4KaNqJU4PbXaGht0C7iw_.align = NIM_ALIGNOF(tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw);
1577 NTItokkind__Q9c4KaNqJU4PbXaGht0C7iw_.kind = 14;
1578 NTItokkind__Q9c4KaNqJU4PbXaGht0C7iw_.base = 0;
1579 NTItokkind__Q9c4KaNqJU4PbXaGht0C7iw_.flags = 3;
1580 for (TM__nIinruGrC8EPIfjL3PuTvA_5 = 0; TM__nIinruGrC8EPIfjL3PuTvA_5 < 14; TM__nIinruGrC8EPIfjL3PuTvA_5++) {
1581 TM__nIinruGrC8EPIfjL3PuTvA_0[TM__nIinruGrC8EPIfjL3PuTvA_5+3].kind = 1;
1582 TM__nIinruGrC8EPIfjL3PuTvA_0[TM__nIinruGrC8EPIfjL3PuTvA_5+3].offset = TM__nIinruGrC8EPIfjL3PuTvA_5;
1583 TM__nIinruGrC8EPIfjL3PuTvA_0[TM__nIinruGrC8EPIfjL3PuTvA_5+3].name = TM__nIinruGrC8EPIfjL3PuTvA_4[TM__nIinruGrC8EPIfjL3PuTvA_5];
1584 TM__nIinruGrC8EPIfjL3PuTvA_3_14[TM__nIinruGrC8EPIfjL3PuTvA_5] = &TM__nIinruGrC8EPIfjL3PuTvA_0[TM__nIinruGrC8EPIfjL3PuTvA_5+3];
1585 }
1586 TM__nIinruGrC8EPIfjL3PuTvA_0[17].len = 14; TM__nIinruGrC8EPIfjL3PuTvA_0[17].kind = 2; TM__nIinruGrC8EPIfjL3PuTvA_0[17].sons = &TM__nIinruGrC8EPIfjL3PuTvA_3_14[0];
1587 NTItokkind__Q9c4KaNqJU4PbXaGht0C7iw_.node = &TM__nIinruGrC8EPIfjL3PuTvA_0[17];
1588 TM__nIinruGrC8EPIfjL3PuTvA_0[2].kind = 1;
1589 TM__nIinruGrC8EPIfjL3PuTvA_0[2].offset = offsetof(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ, tok);
1590 TM__nIinruGrC8EPIfjL3PuTvA_0[2].typ = (&NTItokkind__Q9c4KaNqJU4PbXaGht0C7iw_);
1591 TM__nIinruGrC8EPIfjL3PuTvA_0[2].name = "tok";
1592 TM__nIinruGrC8EPIfjL3PuTvA_2_7[2] = &TM__nIinruGrC8EPIfjL3PuTvA_0[18];
1593 NTIjsoneventkind__0zjE9c54eTrq224F5wMcaFA_.size = sizeof(tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA);
1594 NTIjsoneventkind__0zjE9c54eTrq224F5wMcaFA_.align = NIM_ALIGNOF(tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA);
1595 NTIjsoneventkind__0zjE9c54eTrq224F5wMcaFA_.kind = 14;
1596 NTIjsoneventkind__0zjE9c54eTrq224F5wMcaFA_.base = 0;
1597 NTIjsoneventkind__0zjE9c54eTrq224F5wMcaFA_.flags = 3;
1598 for (TM__nIinruGrC8EPIfjL3PuTvA_8 = 0; TM__nIinruGrC8EPIfjL3PuTvA_8 < 12; TM__nIinruGrC8EPIfjL3PuTvA_8++) {
1599 TM__nIinruGrC8EPIfjL3PuTvA_0[TM__nIinruGrC8EPIfjL3PuTvA_8+19].kind = 1;
1600 TM__nIinruGrC8EPIfjL3PuTvA_0[TM__nIinruGrC8EPIfjL3PuTvA_8+19].offset = TM__nIinruGrC8EPIfjL3PuTvA_8;
1601 TM__nIinruGrC8EPIfjL3PuTvA_0[TM__nIinruGrC8EPIfjL3PuTvA_8+19].name = TM__nIinruGrC8EPIfjL3PuTvA_7[TM__nIinruGrC8EPIfjL3PuTvA_8];
1602 TM__nIinruGrC8EPIfjL3PuTvA_6_12[TM__nIinruGrC8EPIfjL3PuTvA_8] = &TM__nIinruGrC8EPIfjL3PuTvA_0[TM__nIinruGrC8EPIfjL3PuTvA_8+19];
1603 }
1604 TM__nIinruGrC8EPIfjL3PuTvA_0[31].len = 12; TM__nIinruGrC8EPIfjL3PuTvA_0[31].kind = 2; TM__nIinruGrC8EPIfjL3PuTvA_0[31].sons = &TM__nIinruGrC8EPIfjL3PuTvA_6_12[0];
1605 NTIjsoneventkind__0zjE9c54eTrq224F5wMcaFA_.node = &TM__nIinruGrC8EPIfjL3PuTvA_0[31];
1606 TM__nIinruGrC8EPIfjL3PuTvA_0[18].kind = 1;
1607 TM__nIinruGrC8EPIfjL3PuTvA_0[18].offset = offsetof(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ, kind);
1608 TM__nIinruGrC8EPIfjL3PuTvA_0[18].typ = (&NTIjsoneventkind__0zjE9c54eTrq224F5wMcaFA_);
1609 TM__nIinruGrC8EPIfjL3PuTvA_0[18].name = "kind";
1610 TM__nIinruGrC8EPIfjL3PuTvA_2_7[3] = &TM__nIinruGrC8EPIfjL3PuTvA_0[32];
1611 NTIjsonerror__G9cw5MrJXJrcpID5JXaplew_.size = sizeof(tyEnum_JsonError__G9cw5MrJXJrcpID5JXaplew);
1612 NTIjsonerror__G9cw5MrJXJrcpID5JXaplew_.align = NIM_ALIGNOF(tyEnum_JsonError__G9cw5MrJXJrcpID5JXaplew);
1613 NTIjsonerror__G9cw5MrJXJrcpID5JXaplew_.kind = 14;
1614 NTIjsonerror__G9cw5MrJXJrcpID5JXaplew_.base = 0;
1615 NTIjsonerror__G9cw5MrJXJrcpID5JXaplew_.flags = 3;
1616 for (TM__nIinruGrC8EPIfjL3PuTvA_11 = 0; TM__nIinruGrC8EPIfjL3PuTvA_11 < 11; TM__nIinruGrC8EPIfjL3PuTvA_11++) {
1617 TM__nIinruGrC8EPIfjL3PuTvA_0[TM__nIinruGrC8EPIfjL3PuTvA_11+33].kind = 1;
1618 TM__nIinruGrC8EPIfjL3PuTvA_0[TM__nIinruGrC8EPIfjL3PuTvA_11+33].offset = TM__nIinruGrC8EPIfjL3PuTvA_11;
1619 TM__nIinruGrC8EPIfjL3PuTvA_0[TM__nIinruGrC8EPIfjL3PuTvA_11+33].name = TM__nIinruGrC8EPIfjL3PuTvA_10[TM__nIinruGrC8EPIfjL3PuTvA_11];
1620 TM__nIinruGrC8EPIfjL3PuTvA_9_11[TM__nIinruGrC8EPIfjL3PuTvA_11] = &TM__nIinruGrC8EPIfjL3PuTvA_0[TM__nIinruGrC8EPIfjL3PuTvA_11+33];
1621 }
1622 TM__nIinruGrC8EPIfjL3PuTvA_0[44].len = 11; TM__nIinruGrC8EPIfjL3PuTvA_0[44].kind = 2; TM__nIinruGrC8EPIfjL3PuTvA_0[44].sons = &TM__nIinruGrC8EPIfjL3PuTvA_9_11[0];
1623 NTIjsonerror__G9cw5MrJXJrcpID5JXaplew_.node = &TM__nIinruGrC8EPIfjL3PuTvA_0[44];
1624 TM__nIinruGrC8EPIfjL3PuTvA_0[32].kind = 1;
1625 TM__nIinruGrC8EPIfjL3PuTvA_0[32].offset = offsetof(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ, err);
1626 TM__nIinruGrC8EPIfjL3PuTvA_0[32].typ = (&NTIjsonerror__G9cw5MrJXJrcpID5JXaplew_);
1627 TM__nIinruGrC8EPIfjL3PuTvA_0[32].name = "err";
1628 TM__nIinruGrC8EPIfjL3PuTvA_2_7[4] = &TM__nIinruGrC8EPIfjL3PuTvA_0[45];
1629 NTIparserstate__Na0rM2Zdr3RpxeNeXbvLrQ_.size = sizeof(tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ);
1630 NTIparserstate__Na0rM2Zdr3RpxeNeXbvLrQ_.align = NIM_ALIGNOF(tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ);
1631 NTIparserstate__Na0rM2Zdr3RpxeNeXbvLrQ_.kind = 14;
1632 NTIparserstate__Na0rM2Zdr3RpxeNeXbvLrQ_.base = 0;
1633 NTIparserstate__Na0rM2Zdr3RpxeNeXbvLrQ_.flags = 3;
1634 for (TM__nIinruGrC8EPIfjL3PuTvA_14 = 0; TM__nIinruGrC8EPIfjL3PuTvA_14 < 8; TM__nIinruGrC8EPIfjL3PuTvA_14++) {
1635 TM__nIinruGrC8EPIfjL3PuTvA_0[TM__nIinruGrC8EPIfjL3PuTvA_14+46].kind = 1;
1636 TM__nIinruGrC8EPIfjL3PuTvA_0[TM__nIinruGrC8EPIfjL3PuTvA_14+46].offset = TM__nIinruGrC8EPIfjL3PuTvA_14;
1637 TM__nIinruGrC8EPIfjL3PuTvA_0[TM__nIinruGrC8EPIfjL3PuTvA_14+46].name = TM__nIinruGrC8EPIfjL3PuTvA_13[TM__nIinruGrC8EPIfjL3PuTvA_14];
1638 TM__nIinruGrC8EPIfjL3PuTvA_12_8[TM__nIinruGrC8EPIfjL3PuTvA_14] = &TM__nIinruGrC8EPIfjL3PuTvA_0[TM__nIinruGrC8EPIfjL3PuTvA_14+46];
1639 }
1640 TM__nIinruGrC8EPIfjL3PuTvA_0[54].len = 8; TM__nIinruGrC8EPIfjL3PuTvA_0[54].kind = 2; TM__nIinruGrC8EPIfjL3PuTvA_0[54].sons = &TM__nIinruGrC8EPIfjL3PuTvA_12_8[0];
1641 NTIparserstate__Na0rM2Zdr3RpxeNeXbvLrQ_.node = &TM__nIinruGrC8EPIfjL3PuTvA_0[54];
1642 NTIseqLparserstateT__Ih0V9cYug0VPJyBBGvgEH7Q_.size = sizeof(tySequence__Ih0V9cYug0VPJyBBGvgEH7Q*);
1643 NTIseqLparserstateT__Ih0V9cYug0VPJyBBGvgEH7Q_.align = NIM_ALIGNOF(tySequence__Ih0V9cYug0VPJyBBGvgEH7Q*);
1644 NTIseqLparserstateT__Ih0V9cYug0VPJyBBGvgEH7Q_.kind = 24;
1645 NTIseqLparserstateT__Ih0V9cYug0VPJyBBGvgEH7Q_.base = (&NTIparserstate__Na0rM2Zdr3RpxeNeXbvLrQ_);
1646 NTIseqLparserstateT__Ih0V9cYug0VPJyBBGvgEH7Q_.marker = Marker_tySequence__Ih0V9cYug0VPJyBBGvgEH7Q;
1647 TM__nIinruGrC8EPIfjL3PuTvA_0[45].kind = 1;
1648 TM__nIinruGrC8EPIfjL3PuTvA_0[45].offset = offsetof(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ, state);
1649 TM__nIinruGrC8EPIfjL3PuTvA_0[45].typ = (&NTIseqLparserstateT__Ih0V9cYug0VPJyBBGvgEH7Q_);
1650 TM__nIinruGrC8EPIfjL3PuTvA_0[45].name = "state";
1651 TM__nIinruGrC8EPIfjL3PuTvA_2_7[5] = &TM__nIinruGrC8EPIfjL3PuTvA_0[55];
1652 TM__nIinruGrC8EPIfjL3PuTvA_0[55].kind = 1;
1653 TM__nIinruGrC8EPIfjL3PuTvA_0[55].offset = offsetof(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ, filename);
1654 TM__nIinruGrC8EPIfjL3PuTvA_0[55].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
1655 TM__nIinruGrC8EPIfjL3PuTvA_0[55].name = "filename";
1656 TM__nIinruGrC8EPIfjL3PuTvA_2_7[6] = &TM__nIinruGrC8EPIfjL3PuTvA_0[56];
1657 TM__nIinruGrC8EPIfjL3PuTvA_0[56].kind = 1;
1658 TM__nIinruGrC8EPIfjL3PuTvA_0[56].offset = offsetof(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ, rawStringLiterals);
1659 TM__nIinruGrC8EPIfjL3PuTvA_0[56].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
1660 TM__nIinruGrC8EPIfjL3PuTvA_0[56].name = "rawStringLiterals";
1661 TM__nIinruGrC8EPIfjL3PuTvA_0[0].len = 7; TM__nIinruGrC8EPIfjL3PuTvA_0[0].kind = 2; TM__nIinruGrC8EPIfjL3PuTvA_0[0].sons = &TM__nIinruGrC8EPIfjL3PuTvA_2_7[0];
1662 NTIjsonparser__KWIQnzXEOUqdWsnCUL9atyQ_.node = &TM__nIinruGrC8EPIfjL3PuTvA_0[0];
1663 NTIjsonparsingerror__XTejXaID1NT7KS9byQm3Jxg_.size = sizeof(tyObject_JsonParsingError__XTejXaID1NT7KS9byQm3Jxg);
1664 NTIjsonparsingerror__XTejXaID1NT7KS9byQm3Jxg_.align = NIM_ALIGNOF(tyObject_JsonParsingError__XTejXaID1NT7KS9byQm3Jxg);
1665 NTIjsonparsingerror__XTejXaID1NT7KS9byQm3Jxg_.kind = 17;
1666 NTIjsonparsingerror__XTejXaID1NT7KS9byQm3Jxg_.base = (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_);
1667 TM__nIinruGrC8EPIfjL3PuTvA_0[57].len = 0; TM__nIinruGrC8EPIfjL3PuTvA_0[57].kind = 2;
1668 NTIjsonparsingerror__XTejXaID1NT7KS9byQm3Jxg_.node = &TM__nIinruGrC8EPIfjL3PuTvA_0[57];
1669 NTIrefjsonparsingerror__PyuSdojUZWOAnzN7dInq1Q_.size = sizeof(tyObject_JsonParsingError__XTejXaID1NT7KS9byQm3Jxg*);
1670 NTIrefjsonparsingerror__PyuSdojUZWOAnzN7dInq1Q_.align = NIM_ALIGNOF(tyObject_JsonParsingError__XTejXaID1NT7KS9byQm3Jxg*);
1671 NTIrefjsonparsingerror__PyuSdojUZWOAnzN7dInq1Q_.kind = 22;
1672 NTIrefjsonparsingerror__PyuSdojUZWOAnzN7dInq1Q_.base = (&NTIjsonparsingerror__XTejXaID1NT7KS9byQm3Jxg_);
1673 NTIrefjsonparsingerror__PyuSdojUZWOAnzN7dInq1Q_.marker = Marker_tyRef__PyuSdojUZWOAnzN7dInq1Q;
1674 NTIjsonkinderror__GezlryuJLt9aOJ0RpuN6G8g_.size = sizeof(tyObject_JsonKindError__GezlryuJLt9aOJ0RpuN6G8g);
1675 NTIjsonkinderror__GezlryuJLt9aOJ0RpuN6G8g_.align = NIM_ALIGNOF(tyObject_JsonKindError__GezlryuJLt9aOJ0RpuN6G8g);
1676 NTIjsonkinderror__GezlryuJLt9aOJ0RpuN6G8g_.kind = 17;
1677 NTIjsonkinderror__GezlryuJLt9aOJ0RpuN6G8g_.base = (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_);
1678 TM__nIinruGrC8EPIfjL3PuTvA_0[58].len = 0; TM__nIinruGrC8EPIfjL3PuTvA_0[58].kind = 2;
1679 NTIjsonkinderror__GezlryuJLt9aOJ0RpuN6G8g_.node = &TM__nIinruGrC8EPIfjL3PuTvA_0[58];
1680 NTIrefjsonkinderror__tn3kJ9cInprO2X2FSPir4WQ_.size = sizeof(tyObject_JsonKindError__GezlryuJLt9aOJ0RpuN6G8g*);
1681 NTIrefjsonkinderror__tn3kJ9cInprO2X2FSPir4WQ_.align = NIM_ALIGNOF(tyObject_JsonKindError__GezlryuJLt9aOJ0RpuN6G8g*);
1682 NTIrefjsonkinderror__tn3kJ9cInprO2X2FSPir4WQ_.kind = 22;
1683 NTIrefjsonkinderror__tn3kJ9cInprO2X2FSPir4WQ_.base = (&NTIjsonkinderror__GezlryuJLt9aOJ0RpuN6G8g_);
1684 NTIrefjsonkinderror__tn3kJ9cInprO2X2FSPir4WQ_.marker = Marker_tyRef__tn3kJ9cInprO2X2FSPir4WQ;
1685 }
1686
1687