1 #include <TextRider.d>
2 #include <__oo2c.h>
3 #include <setjmp.h>
4
TextRider__GetError(OOC_INT32 code)5 static Msg__Msg TextRider__GetError(OOC_INT32 code) {
6 register OOC_INT64 i0,i1;
7
8 i0 = code;
9 i1 = (OOC_INT64)TextRider__errorContext;
10 i0 = (OOC_INT64)Msg__New((Msg__Context)i1, i0);
11 return (Msg__Msg)i0;
12 ;
13 }
14
TextRider__ErrorContextDesc_GetTemplate(TextRider__ErrorContext context,Msg__Msg msg,Msg__LString templ,OOC_LEN templ_0d)15 void TextRider__ErrorContextDesc_GetTemplate(TextRider__ErrorContext context, Msg__Msg msg, Msg__LString templ, OOC_LEN templ_0d) {
16 register OOC_INT64 i0,i1;
17 OOC_CHAR8 str[128];
18
19 i0 = (OOC_INT64)msg;
20 i1 = *(OOC_INT32*)((_check_pointer(i0, 7849))+16);
21 switch (i1) {
22 case 1:
23 _copy_8((const void*)(OOC_CHAR8*)"Number exceeded limits or string was too long",(void*)(OOC_INT64)str,128);
24 goto l4;
25 default:
26 _copy_8((const void*)(OOC_CHAR8*)"",(void*)(OOC_INT64)str,128);
27 i1 = (OOC_INT64)context;
28 Msg__ContextDesc_GetTemplate((Msg__Context)i1, (Msg__Msg)i0, (void*)(OOC_INT64)templ, templ_0d);
29 goto l4;
30 }
31 l4:
32 i0 = (
33 _cmp8((const void*)(OOC_INT64)str,(const void*)(OOC_CHAR8*)""))!=0;
34 if (!i0) goto l7;
35 _copy_8to16((const void*)(OOC_INT64)str,(void*)(OOC_INT64)templ,templ_0d);
36 l7:
37 return;
38 ;
39 }
40
TextRider__EolDetect(TextRider__Reader r,OOC_CHAR8 ch)41 static void TextRider__EolDetect(TextRider__Reader r, OOC_CHAR8 ch) {
42 register OOC_INT64 i0,i1,i2;
43
44 i0 = (OOC_INT64)r;
45 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 8342));
46 i1 = i1==0;
47 if (!i1) goto l15;
48 i1 = *(OOC_UINT8*)((_check_pointer(i0, 8371))+36);
49 if (i1) goto l9;
50 i1 = ch;
51 *(OOC_UINT8*)(((_check_pointer(i0, 8667))+32)+(_check_index(0, 2, OOC_UINT8, 8672))) = i1;
52 i1 = i1==10u;
53 if (i1) goto l7;
54 *(OOC_UINT8*)((_check_pointer(i0, 8809))+36) = 1u;
55 goto l15;
56 l7:
57 *(OOC_INT16*)((_check_pointer(i0, 8748))+34) = 1;
58 goto l15;
59 l9:
60 i1 = ch;
61 i2 = i1==10u;
62 if (i2) goto l12;
63 *(OOC_INT16*)((_check_pointer(i0, 8588))+34) = 1;
64 goto l13;
65 l12:
66 *(OOC_UINT8*)(((_check_pointer(i0, 8501))+32)+(_check_index(1, 2, OOC_UINT8, 8506))) = i1;
67 *(OOC_INT16*)((_check_pointer(i0, 8528))+34) = 2;
68 l13:
69 *(OOC_UINT8*)((_check_pointer(i0, 8624))+36) = 0u;
70 l15:
71 return;
72 ;
73 }
74
TextRider__Lookahead(TextRider__Reader r,OOC_INT16 len)75 static OOC_CHAR8 TextRider__Lookahead(TextRider__Reader r, OOC_INT16 len) {
76 register OOC_INT64 i0,i1,i2,i3;
77 OOC_CHAR8 ch;
78
79 i0 = (OOC_INT64)r;
80 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 9466));
81 _assert((i1==0), 127, 9457);
82 i1 = *(OOC_INT16*)((_check_pointer(i0, 9490))+56);
83 i2 = len;
84 i1 = i1==0;
85 if (i1) goto l3;
86 i1 = *(OOC_INT16*)((_check_pointer(i0, 9517))+56);
87 i1 = (OOC_INT64)*(OOC_INT64*)(((_check_pointer(i0, 9508))+40)+(_check_index((i1-1), 2, OOC_UINT16, 9515))*8);
88 i1 = i1==0;
89
90 goto l5;
91 l3:
92 i1=1u;
93 l5:
94 if (!i1) goto l38;
95 i1 = *(OOC_INT16*)((_check_pointer(i0, 9555))+56);
96 i1 = i1<i2;
97 if (i1) goto l9;
98 i1=0u;
99 goto l11;
100 l9:
101 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 9574))+16);
102 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 9586))+8);
103 i1 = i1==0;
104
105 l11:
106 if (!i1) goto l38;
107 l13_loop:
108 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 9612))+16);
109 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 9612))+16);
110 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 9624)))), Channel__ReaderDesc_ReadByte)),Channel__ReaderDesc_ReadByte)((Channel__Reader)i3, (void*)(OOC_INT64)&ch);
111 i1 = *(OOC_INT16*)((_check_pointer(i0, 9655))+34);
112 i1 = i1<0;
113 if (i1) goto l16;
114 i1=0u;
115 goto l26;
116 l16:
117 i1 = *(OOC_UINT8*)((_check_pointer(i0, 9685))+36);
118 if (i1) goto l19;
119 i1 = ch;
120 i1 = i1==10u;
121
122 goto l21;
123 l19:
124 i1=1u;
125 l21:
126 if (i1) goto l23;
127 i1 = ch;
128 i1 = i1==13u;
129
130 goto l26;
131 l23:
132 i1=1u;
133 l26:
134 if (!i1) goto l28;
135 i1 = ch;
136 TextRider__EolDetect((TextRider__Reader)i0, i1);
137 l28:
138 i1 = *(OOC_INT16*)((_check_pointer(i0, 9801))+56);
139 i3 = ch;
140 *(OOC_UINT8*)(((_check_pointer(i0, 9795))+37)+(_check_index(i1, 2, OOC_UINT16, 9799))) = i3;
141 i1 = *(OOC_INT16*)((_check_pointer(i0, 9835))+56);
142 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 9848))+16);
143 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i3, 9860))+8);
144 *(OOC_INT64*)(((_check_pointer(i0, 9826))+40)+(_check_index(i1, 2, OOC_UINT16, 9833))*8) = i3;
145 i1 = *(OOC_INT16*)((_check_pointer(i0, 9881))+56);
146 *(OOC_INT16*)((_check_pointer(i0, 9881))+56) = (i1+1);
147 i1 = *(OOC_INT16*)((_check_pointer(i0, 9555))+56);
148 i1 = i1<i2;
149 if (i1) goto l31;
150 i1=0u;
151 goto l33;
152 l31:
153 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 9574))+16);
154 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 9586))+8);
155 i1 = i1==0;
156
157 l33:
158 if (i1) goto l13_loop;
159 l38:
160 i1 = *(OOC_INT16*)((_check_pointer(i0, 9929))+56);
161 i1 = i2<=i1;
162 if (i1) goto l41;
163 i0=0u;
164 goto l42;
165 l41:
166 i0 = (OOC_INT64)*(OOC_INT64*)(((_check_pointer(i0, 9942))+40)+(_check_index((i2-1), 2, OOC_UINT16, 9949))*8);
167 i0 = i0==0;
168
169 l42:
170 return i0;
171 ;
172 }
173
TextRider__Consume(TextRider__Reader r)174 static OOC_CHAR8 TextRider__Consume(TextRider__Reader r) {
175 register OOC_INT64 i0,i1,i2,i3,i4;
176 OOC_CHAR8 ch;
177 OOC_INT16 i;
178
179 i0 = (OOC_INT64)r;
180 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 10201));
181 i1 = i1==0;
182 if (i1) goto l3;
183 ch = 0u;
184 goto l35;
185 l3:
186 i1 = *(OOC_INT16*)((_check_pointer(i0, 10231))+56);
187 i1 = i1>0;
188 if (i1) goto l25;
189 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 10469))+16);
190 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 10469))+16);
191 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 10481)))), Channel__ReaderDesc_ReadByte)),Channel__ReaderDesc_ReadByte)((Channel__Reader)i2, (void*)(OOC_INT64)&ch);
192 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 10512))+16);
193 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 10524))+8);
194 i1 = i1!=0;
195 if (i1) goto l23;
196 i1 = *(OOC_INT16*)((_check_pointer(i0, 10618))+34);
197 i1 = i1<0;
198 if (i1) goto l10;
199 i1=0u;
200 goto l20;
201 l10:
202 i1 = *(OOC_UINT8*)((_check_pointer(i0, 10651))+36);
203 if (i1) goto l13;
204 i1 = ch;
205 i1 = i1==10u;
206
207 goto l15;
208 l13:
209 i1=1u;
210 l15:
211 if (i1) goto l17;
212 i1 = ch;
213 i1 = i1==13u;
214
215 goto l20;
216 l17:
217 i1=1u;
218 l20:
219 if (!i1) goto l35;
220 i1 = ch;
221 TextRider__EolDetect((TextRider__Reader)i0, i1);
222 goto l35;
223 l23:
224 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 10564))+16);
225 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 10576))+8);
226 *(OOC_INT64*)(_check_pointer(i0, 10554)) = i1;
227 ch = 0u;
228 goto l35;
229 l25:
230 i1 = *(OOC_UINT8*)(((_check_pointer(i0, 10264))+37)+(_check_index(0, 2, OOC_UINT8, 10268)));
231 ch = i1;
232 i1 = (OOC_INT64)*(OOC_INT64*)(((_check_pointer(i0, 10292))+40)+(_check_index(0, 2, OOC_UINT8, 10299))*8);
233 *(OOC_INT64*)(_check_pointer(i0, 10282)) = i1;
234 i = 1;
235 i1 = *(OOC_INT16*)((_check_pointer(i0, 10327))+56);
236 i2 = 1<i1;
237 if (!i2) goto l33;
238 i2=1;
239 l28_loop:
240 i3 = i2-1;
241 i4 = *(OOC_UINT8*)(((_check_pointer(i0, 10365))+37)+(_check_index(i2, 2, OOC_UINT16, 10369)));
242 *(OOC_UINT8*)(((_check_pointer(i0, 10351))+37)+(_check_index(i3, 2, OOC_UINT16, 10355))) = i4;
243 i4 = (OOC_INT64)*(OOC_INT64*)(((_check_pointer(i0, 10402))+40)+(_check_index(i2, 2, OOC_UINT16, 10409))*8);
244 *(OOC_INT64*)(((_check_pointer(i0, 10385))+40)+(_check_index(i3, 2, OOC_UINT16, 10392))*8) = i4;
245 i2 = i2+1;
246 i = i2;
247 i3 = i2<i1;
248 if (i3) goto l28_loop;
249 l33:
250 i1 = *(OOC_INT16*)((_check_pointer(i0, 10440))+56);
251 *(OOC_INT16*)((_check_pointer(i0, 10440))+56) = (i1-1);
252 l35:
253 i0 = ch;
254 return i0;
255 ;
256 }
257
TextRider__ReaderDesc_Pos(TextRider__Reader r)258 OOC_INT32 TextRider__ReaderDesc_Pos(TextRider__Reader r) {
259 register OOC_INT64 i0,i1,i2;
260
261 i0 = (OOC_INT64)r;
262 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 11073))+16);
263 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 11073))+16);
264 i1 = OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 11084)))), Channel__ReaderDesc_Pos)),Channel__ReaderDesc_Pos)((Channel__Reader)i2);
265 i0 = *(OOC_INT16*)((_check_pointer(i0, 11092))+56);
266 return (i1-i0);
267 ;
268 }
269
TextRider__ReaderDesc_ClearError(TextRider__Reader r)270 void TextRider__ReaderDesc_ClearError(TextRider__Reader r) {
271 register OOC_INT64 i0,i1,i2;
272
273 i0 = (OOC_INT64)r;
274 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 11160))+16);
275 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 11160))+16);
276 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 11172)))), Channel__ReaderDesc_ClearError)),Channel__ReaderDesc_ClearError)((Channel__Reader)i2);
277 *(OOC_INT64*)(_check_pointer(i0, 11191)) = 0;
278 *(OOC_UINT8*)((_check_pointer(i0, 11211))+36) = 0u;
279 return;
280 ;
281 }
282
TextRider__ReaderDesc_Available(TextRider__Reader r)283 OOC_INT32 TextRider__ReaderDesc_Available(TextRider__Reader r) {
284 register OOC_INT64 i0,i1,i2,i3;
285 OOC_INT32 avail;
286 OOC_INT32 laChars;
287
288 i0 = (OOC_INT64)r;
289 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 11357))+16);
290 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 11357))+16);
291 i1 = OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 11369)))), Channel__ReaderDesc_Available)),Channel__ReaderDesc_Available)((Channel__Reader)i2);
292 avail = i1;
293 laChars = 0;
294 i2 = *(OOC_INT16*)((_check_pointer(i0, 11424))+56);
295 i2 = 0!=i2;
296 if (i2) goto l3;
297 i2=0u;
298 goto l5;
299 l3:
300 i2 = (OOC_INT64)*(OOC_INT64*)(((_check_pointer(i0, 11437))+40)+(_check_index(0, 2, OOC_UINT32, 11444))*8);
301 i2 = i2==(OOC_INT64)0;
302
303 l5:
304 if (i2) goto l7;
305 i0=0;
306 goto l17;
307 l7:
308 i2=0;
309 l8_loop:
310 i2 = i2+1;
311 laChars = i2;
312 i3 = *(OOC_INT16*)((_check_pointer(i0, 11424))+56);
313 i3 = i2!=i3;
314 if (i3) goto l11;
315 i3=0u;
316 goto l13;
317 l11:
318 i3 = (OOC_INT64)*(OOC_INT64*)(((_check_pointer(i0, 11437))+40)+(_check_index(i2, 2, OOC_UINT32, 11444))*8);
319 i3 = i3==(OOC_INT64)0;
320
321 l13:
322 if (i3) goto l8_loop;
323 l16:
324 i0=i2;
325 l17:
326 i2 = i1<0;
327 if (i2) goto l20;
328 i2=0u;
329 goto l22;
330 l20:
331 i2 = i0>0;
332
333 l22:
334 if (i2) goto l24;
335 return (i1+i0);
336 goto l25;
337 l24:
338 return i0;
339 l25:
340 _failed_function(11275); return 0;
341 ;
342 }
343
TextRider__ReaderDesc_SetPos(TextRider__Reader r,OOC_INT32 newPos)344 void TextRider__ReaderDesc_SetPos(TextRider__Reader r, OOC_INT32 newPos) {
345 register OOC_INT64 i0,i1,i2,i3;
346
347 i0 = (OOC_INT64)r;
348 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 11683));
349 i1 = i1==0;
350 if (!i1) goto l3;
351 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 11709))+16);
352 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 11709))+16);
353 i3 = newPos;
354 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 11721)))), Channel__ReaderDesc_SetPos)),Channel__ReaderDesc_SetPos)((Channel__Reader)i2, i3);
355 *(OOC_INT16*)((_check_pointer(i0, 11746))+56) = 0;
356 *(OOC_UINT8*)((_check_pointer(i0, 11824))+36) = 0u;
357 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 11909))+16);
358 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 11921))+8);
359 *(OOC_INT64*)(_check_pointer(i0, 11899)) = i1;
360 l3:
361 return;
362 ;
363 }
364
TextRider__ReaderDesc_SetOpts(TextRider__Reader r,OOC_UINT32 opts)365 void TextRider__ReaderDesc_SetOpts(TextRider__Reader r, OOC_UINT32 opts) {
366 register OOC_INT64 i0,i1;
367
368 i0 = (OOC_INT64)r;
369 i1 = opts;
370 *(OOC_UINT32*)((_check_pointer(i0, 12053))+8) = i1;
371 return;
372 ;
373 }
374
TextRider__ReaderDesc_SetEol(TextRider__Reader r,const OOC_CHAR8 marker__ref[],OOC_LEN marker_0d,OOC_INT16 markerLen)375 void TextRider__ReaderDesc_SetEol(TextRider__Reader r, const OOC_CHAR8 marker__ref[], OOC_LEN marker_0d, OOC_INT16 markerLen) {
376 register OOC_INT64 i0,i1,i2,i3;
377 OOC_ALLOCATE_VPAR(marker,OOC_CHAR8 ,marker_0d)
378 OOC_INT16 i;
379
380 OOC_INITIALIZE_VPAR(marker__ref,marker,OOC_CHAR8 ,marker_0d)
381 i0 = (OOC_INT64)r;
382 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 13891));
383 i1 = i1==0;
384 if (!i1) goto l26;
385 i1 = markerLen;
386 i2 = i1<1;
387 if (i2) goto l5;
388 i2=0u;
389 goto l7;
390 l5:
391 i2 = i1!=(-1);
392
393 l7:
394 if (i2) goto l9;
395 i2 = i1>2;
396
397 goto l11;
398 l9:
399 i2=1u;
400 l11:
401 if (i2) goto l24;
402 i = 0;
403 i2 = 0<i1;
404 if (!i2) goto l23;
405 i2=0;
406 l15_loop:
407 i3 = *(OOC_UINT8*)((OOC_INT64)marker+(_check_index(i2, marker_0d, OOC_UINT16, 14100)));
408 i3 = (OOC_UINT8)i3>=(OOC_UINT8)32u;
409 if (!i3) goto l18;
410 i3 = (OOC_INT64)TextRider__GetError(8);
411 *(OOC_INT64*)(_check_pointer(i0, 14130)) = i3;
412 l18:
413 i3 = *(OOC_UINT8*)((OOC_INT64)marker+(_check_index(i2, marker_0d, OOC_UINT16, 14208)));
414 *(OOC_UINT8*)(((_check_pointer(i0, 14190))+32)+(_check_index(i2, 2, OOC_UINT16, 14195))) = i3;
415 i2 = i2+1;
416 i = i2;
417 i3 = i2<i1;
418 if (i3) goto l15_loop;
419 l23:
420 *(OOC_INT16*)((_check_pointer(i0, 14234))+34) = i1;
421 goto l26;
422 l24:
423 i1 = (OOC_INT64)TextRider__GetError(8);
424 *(OOC_INT64*)(_check_pointer(i0, 13998)) = i1;
425 l26:
426 return;
427 ;
428 }
429
TextRider__ReaderDesc_ReadChar(TextRider__Reader r,OOC_CHAR8 * ch)430 void TextRider__ReaderDesc_ReadChar(TextRider__Reader r, OOC_CHAR8 *ch) {
431 register OOC_INT64 i0;
432
433 i0 = (OOC_INT64)r;
434 i0 = TextRider__Consume((TextRider__Reader)i0);
435 *ch = i0;
436 return;
437 ;
438 }
439
TextRider__ReaderDesc_Eol(TextRider__Reader r)440 OOC_CHAR8 TextRider__ReaderDesc_Eol(TextRider__Reader r) {
441 register OOC_INT64 i0,i1,i2,i3,i4;
442 OOC_INT16 i;
443
444 i0 = (OOC_INT64)r;
445 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 14774));
446 i1 = i1==0;
447 if (i1) goto l3;
448 return 1u;
449 goto l31;
450 l3:
451 i1 = *(OOC_INT16*)((_check_pointer(i0, 14804))+34);
452 i1 = i1>0;
453 if (i1) goto l14;
454 i1 = TextRider__Lookahead((TextRider__Reader)i0, 1);
455 if (i1) goto l8;
456 return 1u;
457 goto l31;
458 l8:
459 i1 = *(OOC_INT16*)((_check_pointer(i0, 15126))+34);
460 i1 = i1>0;
461 if (i1) goto l11;
462 i0 = *(OOC_UINT8*)(((_check_pointer(i0, 15289))+37)+(_check_index(0, 2, OOC_UINT8, 15293)));
463 return (i0==13u);
464 goto l31;
465 l11:
466 i0 = OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 15163)))), TextRider__ReaderDesc_Eol)),TextRider__ReaderDesc_Eol)((TextRider__Reader)i0);
467 return i0;
468 goto l31;
469 l14:
470 i = 0;
471 i1 = *(OOC_INT16*)((_check_pointer(i0, 14846))+34);
472 i2 = 0<i1;
473 if (!i2) goto l29;
474 i2=0;
475 l17_loop:
476 i3 = i2+1;
477 i4 = TextRider__Lookahead((TextRider__Reader)i0, i3);
478 if (i4) goto l20;
479 i2 = *(OOC_INT16*)((_check_pointer(i0, 15019))+56);
480 return (i2==1);
481 goto l24;
482 l20:
483 i4 = *(OOC_UINT8*)(((_check_pointer(i0, 14925))+32)+(_check_index(i2, 2, OOC_UINT16, 14930)));
484 i2 = *(OOC_UINT8*)(((_check_pointer(i0, 14914))+37)+(_check_index(i2, 2, OOC_UINT16, 14918)));
485 i2 = i2!=i4;
486 if (!i2) goto l24;
487 return 0u;
488 l24:
489 i = i3;
490 i2 = i3<i1;
491 if (!i2) goto l29;
492 i2=i3;
493 goto l17_loop;
494 l29:
495 return 1u;
496 l31:
497 _failed_function(14507); return 0;
498 ;
499 }
500
TextRider__SkipBlanks(TextRider__Reader r)501 static void TextRider__SkipBlanks(TextRider__Reader r) {
502 register OOC_INT64 i0,i1;
503 OOC_CHAR8 ch;
504
505 i0 = (OOC_INT64)r;
506 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 15716));
507 i1 = i1==0;
508 if (!i1) goto l53;
509 i1 = *(OOC_UINT32*)((_check_pointer(i0, 15765))+8);
510 i1 = _in(0,i1);
511 if (i1) goto l20;
512 i1 = TextRider__Lookahead((TextRider__Reader)i0, 1);
513 if (i1) goto l7;
514 i1=0u;
515 goto l9;
516 l7:
517 i1 = *(OOC_UINT8*)(((_check_pointer(i0, 15982))+37)+(_check_index(0, 2, OOC_UINT8, 15986)));
518 i1 = (OOC_UINT8)i1<=(OOC_UINT8)32u;
519
520 l9:
521 if (!i1) goto l53;
522 l10_loop:
523 i1 = TextRider__Consume((TextRider__Reader)i0);
524 ch = i1;
525 i1 = TextRider__Lookahead((TextRider__Reader)i0, 1);
526 if (i1) goto l13;
527 i1=0u;
528 goto l15;
529 l13:
530 i1 = *(OOC_UINT8*)(((_check_pointer(i0, 15982))+37)+(_check_index(0, 2, OOC_UINT8, 15986)));
531 i1 = (OOC_UINT8)i1<=(OOC_UINT8)32u;
532
533 l15:
534 if (i1) goto l10_loop;
535 goto l53;
536 l20:
537 i1 = OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 15792)))), TextRider__ReaderDesc_Eol)),TextRider__ReaderDesc_Eol)((TextRider__Reader)i0);
538 i1 = !i1;
539 if (i1) goto l23;
540 i1=0u;
541 goto l25;
542 l23:
543 i1 = TextRider__Lookahead((TextRider__Reader)i0, 1);
544
545 l25:
546 if (i1) goto l27;
547 i1=0u;
548 goto l29;
549 l27:
550 i1 = *(OOC_UINT8*)(((_check_pointer(i0, 15839))+37)+(_check_index(0, 2, OOC_UINT8, 15843)));
551 i1 = (OOC_UINT8)i1<=(OOC_UINT8)32u;
552
553 l29:
554 if (i1) goto l31;
555 i1=0u;
556 goto l33;
557 l31:
558 i1 = *(OOC_UINT8*)(((_check_pointer(i0, 15873))+37)+(_check_index(0, 2, OOC_UINT8, 15877)));
559 i1 = i1!=9u;
560
561 l33:
562 if (!i1) goto l53;
563 l34_loop:
564 i1 = TextRider__Consume((TextRider__Reader)i0);
565 ch = i1;
566 i1 = OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 15792)))), TextRider__ReaderDesc_Eol)),TextRider__ReaderDesc_Eol)((TextRider__Reader)i0);
567 i1 = !i1;
568 if (i1) goto l37;
569 i1=0u;
570 goto l39;
571 l37:
572 i1 = TextRider__Lookahead((TextRider__Reader)i0, 1);
573
574 l39:
575 if (i1) goto l41;
576 i1=0u;
577 goto l43;
578 l41:
579 i1 = *(OOC_UINT8*)(((_check_pointer(i0, 15839))+37)+(_check_index(0, 2, OOC_UINT8, 15843)));
580 i1 = (OOC_UINT8)i1<=(OOC_UINT8)32u;
581
582 l43:
583 if (i1) goto l45;
584 i1=0u;
585 goto l47;
586 l45:
587 i1 = *(OOC_UINT8*)(((_check_pointer(i0, 15873))+37)+(_check_index(0, 2, OOC_UINT8, 15877)));
588 i1 = i1!=9u;
589
590 l47:
591 if (i1) goto l34_loop;
592 l53:
593 return;
594 ;
595 }
596
TextRider__SkipEol(TextRider__Reader r)597 static void TextRider__SkipEol(TextRider__Reader r) {
598 register OOC_INT64 i0,i1,i2,i3;
599
600 i0 = (OOC_INT64)r;
601 i1 = OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 16161)))), TextRider__ReaderDesc_Eol)),TextRider__ReaderDesc_Eol)((TextRider__Reader)i0);
602 if (!i1) goto l11;
603 i1 = *(OOC_INT16*)((_check_pointer(i0, 16200))+34);
604 i1 = _abs(i1);
605 i2 = 1<=i1;
606 if (!i2) goto l11;
607 i2=1;
608 l5_loop:
609 i3 = TextRider__Consume((TextRider__Reader)i0);
610 i2 = i2+1;
611 i3 = i2<=i1;
612 if (i3) goto l5_loop;
613 l11:
614 return;
615 ;
616 }
617
TextRider__ReaderDesc_ReadLn(TextRider__Reader r)618 void TextRider__ReaderDesc_ReadLn(TextRider__Reader r) {
619 register OOC_INT64 i0,i1;
620 OOC_CHAR8 ch;
621
622 i0 = (OOC_INT64)r;
623 i1 = OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 16464)))), TextRider__ReaderDesc_Eol)),TextRider__ReaderDesc_Eol)((TextRider__Reader)i0);
624 i1 = !i1;
625 if (!i1) goto l8;
626 l3_loop:
627 i1 = TextRider__Consume((TextRider__Reader)i0);
628 ch = i1;
629 i1 = OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 16464)))), TextRider__ReaderDesc_Eol)),TextRider__ReaderDesc_Eol)((TextRider__Reader)i0);
630 i1 = !i1;
631 if (i1) goto l3_loop;
632 l8:
633 TextRider__SkipEol((TextRider__Reader)i0);
634 return;
635 ;
636 }
637
TextRider__ReaderDesc_ReadString(TextRider__Reader r,OOC_CHAR8 s[],OOC_LEN s_0d)638 void TextRider__ReaderDesc_ReadString(TextRider__Reader r, OOC_CHAR8 s[], OOC_LEN s_0d) {
639 register OOC_INT64 i0,i1,i2,i3,i4;
640 OOC_INT16 cnt;
641 OOC_CHAR8 quote;
642
643 i0 = (OOC_INT64)r;
644 TextRider__SkipBlanks((TextRider__Reader)i0);
645 cnt = 0;
646 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 16905));
647 i1 = i1==0;
648 if (i1) goto l3;
649 i1=0u;
650 goto l5;
651 l3:
652 i1 = TextRider__Lookahead((TextRider__Reader)i0, 1);
653
654 l5:
655 if (i1) goto l7;
656 i0 = TextRider__Consume((TextRider__Reader)i0);
657 i0=0;
658 goto l34;
659 l7:
660 i1 = *(OOC_UINT8*)(((_check_pointer(i0, 16954))+37)+(_check_index(0, 2, OOC_UINT8, 16958)));
661 i1 = i1!=34u;
662 if (i1) goto l10;
663 i1=0u;
664 goto l12;
665 l10:
666 i1 = *(OOC_UINT8*)(((_check_pointer(i0, 16973))+37)+(_check_index(0, 2, OOC_UINT8, 16977)));
667 i1 = i1!=39u;
668
669 l12:
670 if (i1) goto l32;
671 i1 = TextRider__Consume((TextRider__Reader)i0);
672 i2 = s_0d-1;
673 quote = i1;
674 i3=0;
675 l14_loop:
676 i4 = TextRider__Lookahead((TextRider__Reader)i0, 1);
677 i4 = !i4;
678 if (i4) goto l30;
679 i4 = *(OOC_UINT8*)(((_check_pointer(i0, 17218))+37)+(_check_index(0, 2, OOC_UINT8, 17222)));
680 i4 = (OOC_UINT8)i4<(OOC_UINT8)32u;
681 if (i4) goto l28;
682 i4 = *(OOC_UINT8*)(((_check_pointer(i0, 17321))+37)+(_check_index(0, 2, OOC_UINT8, 17325)));
683 i4 = i4==i1;
684 if (i4) goto l26;
685 i4 = i3==i2;
686 if (i4) goto l24;
687 i4 = TextRider__Consume((TextRider__Reader)i0);
688 *(OOC_UINT8*)((OOC_INT64)s+(_check_index(i3, s_0d, OOC_UINT16, 17545))) = i4;
689 i3 = i3+1;
690 cnt = i3;
691
692 goto l14_loop;
693 l24:
694 i1 = (OOC_INT64)TextRider__GetError(1);
695 *(OOC_INT64*)(_check_pointer(i0, 17463)) = i1;
696 goto l31;
697 l26:
698 i0 = TextRider__Consume((TextRider__Reader)i0);
699 goto l31;
700 l28:
701 i1 = (OOC_INT64)TextRider__GetError(8);
702 *(OOC_INT64*)(_check_pointer(i0, 17251)) = i1;
703 goto l31;
704 l30:
705 i0 = TextRider__Consume((TextRider__Reader)i0);
706 l31:
707 i0=i3;
708 goto l34;
709 l32:
710 i1 = (OOC_INT64)TextRider__GetError(8);
711 *(OOC_INT64*)(_check_pointer(i0, 17002)) = i1;
712 i0=0;
713 l34:
714 *(OOC_UINT8*)((OOC_INT64)s+(_check_index(i0, s_0d, OOC_UINT16, 17703))) = 0u;
715 return;
716 ;
717 }
718
TextRider__ReaderDesc_ReadLine(TextRider__Reader r,OOC_CHAR8 s[],OOC_LEN s_0d)719 void TextRider__ReaderDesc_ReadLine(TextRider__Reader r, OOC_CHAR8 s[], OOC_LEN s_0d) {
720 register OOC_INT64 i0,i1,i2,i3;
721 OOC_CHAR8 dummy;
722 OOC_INT16 cnt;
723
724 i0 = (OOC_INT64)r;
725 i1 = *(OOC_UINT8*)((_check_pointer(i0, 18226))+36);
726 if (i1) goto l3;
727 i1=0u;
728 goto l5;
729 l3:
730 i1 = TextRider__Lookahead((TextRider__Reader)i0, 1);
731
732 l5:
733 if (i1) goto l7;
734 i1=0u;
735 goto l9;
736 l7:
737 i1 = *(OOC_UINT8*)(((_check_pointer(i0, 18263))+37)+(_check_index(0, 2, OOC_UINT8, 18267)));
738 i1 = i1==10u;
739
740 l9:
741 if (!i1) goto l11;
742 i1 = TextRider__Consume((TextRider__Reader)i0);
743 dummy = i1;
744 l11:
745 cnt = 0;
746 i1 = OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 18388)))), TextRider__ReaderDesc_Eol)),TextRider__ReaderDesc_Eol)((TextRider__Reader)i0);
747 i1 = !i1;
748 if (i1) goto l14;
749 i1=0u;
750 goto l16;
751 l14:
752 i1 = TextRider__Lookahead((TextRider__Reader)i0, 1);
753
754 l16:
755 if (i1) goto l18;
756 i1=0u;
757 goto l20;
758 l18:
759 i1 = 0!=(s_0d-1);
760
761 l20:
762 if (i1) goto l22;
763 i1=0;
764 goto l36;
765 l22:
766 i1 = s_0d-1;
767 i2=0;
768 l23_loop:
769 i3 = TextRider__Consume((TextRider__Reader)i0);
770 *(OOC_UINT8*)((OOC_INT64)s+(_check_index(i2, s_0d, OOC_UINT16, 18445))) = i3;
771 i2 = i2+1;
772 cnt = i2;
773 i3 = OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 18388)))), TextRider__ReaderDesc_Eol)),TextRider__ReaderDesc_Eol)((TextRider__Reader)i0);
774 i3 = !i3;
775 if (i3) goto l26;
776 i3=0u;
777 goto l28;
778 l26:
779 i3 = TextRider__Lookahead((TextRider__Reader)i0, 1);
780
781 l28:
782 if (i3) goto l30;
783 i3=0u;
784 goto l32;
785 l30:
786 i3 = i2!=i1;
787
788 l32:
789 if (i3) goto l23_loop;
790 l35:
791 i1=i2;
792 l36:
793 i2 = OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 18505)))), TextRider__ReaderDesc_Eol)),TextRider__ReaderDesc_Eol)((TextRider__Reader)i0);
794 if (i2) goto l42;
795 i2 = i1==(s_0d-1);
796 if (!i2) goto l43;
797 i2 = (OOC_INT64)TextRider__GetError(1);
798 *(OOC_INT64*)(_check_pointer(i0, 18577)) = i2;
799 goto l43;
800 l42:
801 TextRider__SkipEol((TextRider__Reader)i0);
802 l43:
803 *(OOC_UINT8*)((OOC_INT64)s+(_check_index(i1, s_0d, OOC_UINT16, 18627))) = 0u;
804 return;
805 ;
806 }
807
TextRider__ReaderDesc_ReadIdentifier(TextRider__Reader r,OOC_CHAR8 s[],OOC_LEN s_0d)808 void TextRider__ReaderDesc_ReadIdentifier(TextRider__Reader r, OOC_CHAR8 s[], OOC_LEN s_0d) {
809 register OOC_INT64 i0,i1,i2,i3;
810 OOC_INT16 cnt;
811
812 i0 = (OOC_INT64)r;
813 TextRider__SkipBlanks((TextRider__Reader)i0);
814 cnt = 0;
815 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 18922));
816 i1 = i1==0;
817 if (i1) goto l3;
818 i1=0u;
819 goto l5;
820 l3:
821 i1 = TextRider__Lookahead((TextRider__Reader)i0, 1);
822
823 l5:
824 if (i1) goto l7;
825 i0 = TextRider__Consume((TextRider__Reader)i0);
826 i0=0;
827 goto l30;
828 l7:
829 i1 = *(OOC_UINT8*)(((_check_pointer(i0, 18990))+37)+(_check_index(0, 2, OOC_UINT8, 18994)));
830 i1 = CharClass__IsLetter(i1);
831 i1 = !i1;
832 if (i1) goto l28;
833 i1 = TextRider__Consume((TextRider__Reader)i0);
834 *(OOC_UINT8*)((OOC_INT64)s+(_check_index(0, s_0d, OOC_UINT8, 19067))) = i1;
835 i1 = s_0d-1;
836 cnt = 1;
837 i2=1;
838 l10_loop:
839 i3 = TextRider__Lookahead((TextRider__Reader)i0, 1);
840 if (i3) goto l13;
841 i3=0u;
842 goto l18;
843 l13:
844 i3 = *(OOC_UINT8*)(((_check_pointer(i0, 19188))+37)+(_check_index(0, 2, OOC_UINT8, 19192)));
845 i3 = CharClass__IsLetter(i3);
846 if (i3) goto l16;
847 i3 = *(OOC_UINT8*)(((_check_pointer(i0, 19237))+37)+(_check_index(0, 2, OOC_UINT8, 19241)));
848 i3 = CharClass__IsNumeric(i3);
849
850 goto l18;
851 l16:
852 i3=1u;
853 l18:
854 i3 = !i3;
855 if (i3) goto l27;
856 i3 = i2==i1;
857 if (i3) goto l24;
858 i3 = TextRider__Consume((TextRider__Reader)i0);
859 *(OOC_UINT8*)((OOC_INT64)s+(_check_index(i2, s_0d, OOC_UINT16, 19404))) = i3;
860 i2 = i2+1;
861 cnt = i2;
862
863 goto l10_loop;
864 l24:
865 i1 = (OOC_INT64)TextRider__GetError(1);
866 *(OOC_INT64*)(_check_pointer(i0, 19322)) = i1;
867 l27:
868 i0=i2;
869 goto l30;
870 l28:
871 i1 = (OOC_INT64)TextRider__GetError(8);
872 *(OOC_INT64*)(_check_pointer(i0, 19013)) = i1;
873 i0=0;
874 l30:
875 *(OOC_UINT8*)((OOC_INT64)s+(_check_index(i0, s_0d, OOC_UINT16, 19559))) = 0u;
876 return;
877 ;
878 }
879
TextRider__ReaderDesc_ReadBool(TextRider__Reader r,OOC_CHAR8 * _bool)880 void TextRider__ReaderDesc_ReadBool(TextRider__Reader r, OOC_CHAR8 *_bool) {
881 register OOC_INT64 i0,i1;
882 OOC_CHAR8 ident[8];
883
884 i0 = (OOC_INT64)r;
885 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 19962)))), TextRider__ReaderDesc_ReadIdentifier)),TextRider__ReaderDesc_ReadIdentifier)((TextRider__Reader)i0, (void*)(OOC_INT64)ident, 8);
886 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 19997));
887 i1 = i1==0;
888 if (!i1) goto l11;
889 i1 = (
890 _cmp8((const void*)(OOC_INT64)ident,(const void*)(OOC_CHAR8*)"TRUE"))==0;
891 if (i1) goto l9;
892 i1 = (
893 _cmp8((const void*)(OOC_INT64)ident,(const void*)(OOC_CHAR8*)"FALSE"))==0;
894 if (i1) goto l7;
895 i1 = (OOC_INT64)TextRider__GetError(8);
896 *(OOC_INT64*)(_check_pointer(i0, 20145)) = i1;
897 goto l11;
898 l7:
899 *_bool = 0u;
900 goto l11;
901 l9:
902 *_bool = 1u;
903 l11:
904 return;
905 ;
906 }
907
TextRider__HexDigit(OOC_CHAR8 ch)908 static OOC_CHAR8 TextRider__HexDigit(OOC_CHAR8 ch) {
909 register OOC_INT64 i0,i1;
910
911 i0 = ch;
912 i1 = (OOC_UINT8)i0>=(OOC_UINT8)48u;
913 if (i1) goto l3;
914 i1=0u;
915 goto l5;
916 l3:
917 i1 = (OOC_UINT8)i0<=(OOC_UINT8)57u;
918
919 l5:
920 if (i1) goto l11;
921 i1 = (OOC_UINT8)i0>=(OOC_UINT8)65u;
922 if (i1) goto l9;
923 i0=0u;
924 goto l12;
925 l9:
926 i0 = (OOC_UINT8)i0<=(OOC_UINT8)70u;
927
928 goto l12;
929 l11:
930 i0=1u;
931 l12:
932 return i0;
933 ;
934 }
935
TextRider__HexToInt(const OOC_CHAR8 str__ref[],OOC_LEN str_0d,OOC_INT32 * lint)936 static OOC_CHAR8 TextRider__HexToInt(const OOC_CHAR8 str__ref[], OOC_LEN str_0d, OOC_INT32 *lint) {
937 register OOC_INT64 i0,i1,i2,i3,i4;
938 OOC_ALLOCATE_VPAR(str,OOC_CHAR8 ,str_0d)
939 OOC_INT16 spos;
940 OOC_INT16 epos;
941 auto OOC_INT16 TextRider__HexToInt_GetDigit(OOC_CHAR8 c);
942
943 OOC_INT16 TextRider__HexToInt_GetDigit(OOC_CHAR8 c) {
944 register OOC_INT64 i0,i1;
945
946 i0 = c;
947 i1 = 48<=i0;
948 if (i1) goto l3;
949 i1=0u;
950 goto l5;
951 l3:
952 i1 = (OOC_UINT8)i0<=(OOC_UINT8)57;
953
954 l5:
955 if (i1) goto l7;
956 i0 = i0-55;
957
958 goto l8;
959 l7:
960 i0 = i0-48;
961
962 l8:
963 return i0;
964 ;
965 }
966
967
968 OOC_INITIALIZE_VPAR(str__ref,str,OOC_CHAR8 ,str_0d)
969 *lint = 0;
970 spos = 0;
971 i0 = *(OOC_UINT8*)((OOC_INT64)str+(_check_index(0, str_0d, OOC_UINT16, 21296)));
972 i0 = i0!=0u;
973 if (i0) goto l3;
974 i0=0;
975 goto l9;
976 l3:
977 i0=0;
978 l4_loop:
979 i0 = i0+1;
980 i1 = *(OOC_UINT8*)((OOC_INT64)str+(_check_index(i0, str_0d, OOC_UINT16, 21296)));
981 i1 = i1!=0u;
982 if (i1) goto l4_loop;
983 l9:
984 i1 = i0-1;
985 epos = i1;
986 i2 = *(OOC_UINT8*)((OOC_INT64)str+(_check_index(0, str_0d, OOC_UINT16, 21403)));
987 i2 = i2==48u;
988 if (i2) goto l12;
989 i2=0;
990 goto l18;
991 l12:
992 i2=0;
993 l13_loop:
994 i2 = i2+1;
995 spos = i2;
996 i3 = *(OOC_UINT8*)((OOC_INT64)str+(_check_index(i2, str_0d, OOC_UINT16, 21403)));
997 i3 = i3==48u;
998 if (i3) goto l13_loop;
999 l18:
1000 i3 = (i1-i2)>7;
1001 if (i3) goto l40;
1002 i3 = i2<i0;
1003 if (!i3) goto l41;
1004 i3 = *(OOC_UINT8*)((OOC_INT64)str+(_check_index(i2, str_0d, OOC_UINT16, 21691)));
1005 i3 = TextRider__HexToInt_GetDigit(i3);
1006 *lint = i3;
1007 i2 = i2+1;
1008 spos = i2;
1009 i4 = (i1-i2)==6;
1010 if (i4) goto l25;
1011 i4=0u;
1012 goto l27;
1013 l25:
1014 i4 = i3>=8;
1015
1016 l27:
1017 if (!i4) goto l30;
1018 i3 = i3-16;
1019 *lint = i3;
1020
1021 l30:
1022 i4 = i2<i0;
1023 if (!i4) goto l41;
1024 {register OOC_INT64 h0=i2;i2=i3;i3=h0;}
1025 l33_loop:
1026 i4 = *(OOC_UINT8*)((OOC_INT64)str+(_check_index(i3, str_0d, OOC_UINT16, 22081)));
1027 i4 = TextRider__HexToInt_GetDigit(i4);
1028 i2 = (i2*16)+i4;
1029 *lint = i2;
1030 i3 = i3+1;
1031 spos = i3;
1032 i4 = i3<i0;
1033 if (i4) goto l33_loop;
1034 goto l41;
1035 l40:
1036 return 0u;
1037 l41:
1038 return (i1>=0);
1039 ;
1040 }
1041
TextRider__ReaderDesc_ReadLInt(TextRider__Reader r,OOC_INT32 * lint)1042 void TextRider__ReaderDesc_ReadLInt(TextRider__Reader r, OOC_INT32 *lint) {
1043 register OOC_INT64 i0,i1,i2,i3,i4;
1044 OOC_INT16 pos;
1045 OOC_CHAR8 str[14];
1046 OOC_CHAR8 ch;
1047 OOC_CHAR8 ignoreZeros;
1048 OOC_INT8 res;
1049
1050 i0 = (OOC_INT64)r;
1051 TextRider__SkipBlanks((TextRider__Reader)i0);
1052 pos = 0;
1053 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 22712));
1054 i1 = i1==0;
1055 if (i1) goto l3;
1056 i1=0u;
1057 goto l5;
1058 l3:
1059 i1 = TextRider__Lookahead((TextRider__Reader)i0, 1);
1060
1061 l5:
1062 if (i1) goto l7;
1063 i0 = TextRider__Consume((TextRider__Reader)i0);
1064 goto l56;
1065 l7:
1066 i1 = *(OOC_UINT8*)(((_check_pointer(i0, 22761))+37)+(_check_index(0, 2, OOC_UINT8, 22765)));
1067 i1 = i1==43u;
1068 if (i1) goto l10;
1069 i1 = *(OOC_UINT8*)(((_check_pointer(i0, 22781))+37)+(_check_index(0, 2, OOC_UINT8, 22785)));
1070 i1 = i1==45u;
1071
1072 goto l12;
1073 l10:
1074 i1=1u;
1075 l12:
1076 if (i1) goto l14;
1077 i1=0;
1078 goto l18;
1079 l14:
1080 i1 = TextRider__Consume((TextRider__Reader)i0);
1081 *(OOC_UINT8*)((OOC_INT64)str+(_check_index(0, 14, OOC_UINT8, 22812))) = i1;
1082 pos = 1;
1083 i1 = TextRider__Lookahead((TextRider__Reader)i0, 1);
1084 i1 = !i1;
1085 if (!i1) goto l17;
1086 i1 = TextRider__Consume((TextRider__Reader)i0);
1087 return;
1088 l17:
1089 i1=1;
1090 l18:
1091 i2 = *(OOC_UINT8*)(((_check_pointer(i0, 23021))+37)+(_check_index(0, 2, OOC_UINT8, 23025)));
1092 i2 = CharClass__IsNumeric(i2);
1093 if (i2) goto l21;
1094 i1 = (OOC_INT64)TextRider__GetError(8);
1095 *(OOC_INT64*)(_check_pointer(i0, 24064)) = i1;
1096 goto l56;
1097 l21:
1098 *(OOC_UINT8*)((OOC_INT64)str+(_check_index(i1, 14, OOC_UINT16, 23046))) = 48u;
1099 i1 = i1+1;
1100 pos = i1;
1101 ignoreZeros = 1u;
1102 i2=i1;i1=1u;
1103 l22_loop:
1104 i3 = TextRider__Lookahead((TextRider__Reader)i0, 1);
1105 if (i3) goto l25;
1106 i3=0u;
1107 goto l26;
1108 l25:
1109 i3 = *(OOC_UINT8*)(((_check_pointer(i0, 23176))+37)+(_check_index(0, 2, OOC_UINT8, 23180)));
1110 i3 = CharClass__IsNumeric(i3);
1111
1112 l26:
1113 i3 = !i3;
1114 if (i3) goto l43;
1115 i3 = TextRider__Consume((TextRider__Reader)i0);
1116 ch = i3;
1117 i4 = !i1;
1118 if (i4) goto l31;
1119 i4 = i3!=48u;
1120
1121 goto l33;
1122 l31:
1123 i4=1u;
1124 l33:
1125 if (!i4) goto l22_loop;
1126 i1 = i2!=14;
1127 if (i1) goto l38;
1128 i1=i2;
1129 goto l39;
1130 l38:
1131 *(OOC_UINT8*)((OOC_INT64)str+(_check_index(i2, 14, OOC_UINT16, 23464))) = i3;
1132 i1 = i2+1;
1133 pos = i1;
1134
1135 l39:
1136 ignoreZeros = 0u;
1137 i2=i1;i1=0u;
1138 goto l22_loop;
1139 l43:
1140 i1 = i2==14;
1141 if (i1) goto l46;
1142 *(OOC_UINT8*)((OOC_INT64)str+(_check_index(i2, 14, OOC_UINT16, 23740))) = 0u;
1143 IntStr__StrToInt((void*)(OOC_INT64)str, 14, (void*)(OOC_INT64)lint, (void*)(OOC_INT64)&res);
1144 goto l47;
1145 l46:
1146 res = 1;
1147 l47:
1148 i1 = res;
1149 i2 = i1==1;
1150 if (i2) goto l53;
1151 i1 = i1!=0;
1152 if (!i1) goto l56;
1153 i1 = (OOC_INT64)TextRider__GetError(8);
1154 *(OOC_INT64*)(_check_pointer(i0, 23998)) = i1;
1155 goto l56;
1156 l53:
1157 i1 = (OOC_INT64)TextRider__GetError(1);
1158 *(OOC_INT64*)(_check_pointer(i0, 23905)) = i1;
1159 l56:
1160 return;
1161 ;
1162 }
1163
TextRider__ReaderDesc_ReadHex(TextRider__Reader r,OOC_INT32 * lint)1164 void TextRider__ReaderDesc_ReadHex(TextRider__Reader r, OOC_INT32 *lint) {
1165 register OOC_INT64 i0,i1,i2,i3,i4;
1166 OOC_INT16 pos;
1167 OOC_CHAR8 str[11];
1168 OOC_CHAR8 ignoreZeros;
1169 OOC_CHAR8 ch;
1170
1171 i0 = (OOC_INT64)r;
1172 TextRider__SkipBlanks((TextRider__Reader)i0);
1173 pos = 0;
1174 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 25033));
1175 i1 = i1==0;
1176 if (i1) goto l3;
1177 i1=0u;
1178 goto l5;
1179 l3:
1180 i1 = TextRider__Lookahead((TextRider__Reader)i0, 1);
1181
1182 l5:
1183 if (i1) goto l7;
1184 i0 = TextRider__Consume((TextRider__Reader)i0);
1185 goto l41;
1186 l7:
1187 i1 = *(OOC_UINT8*)(((_check_pointer(i0, 25101))+37)+(_check_index(0, 2, OOC_UINT8, 25105)));
1188 i1 = CharClass__IsNumeric(i1);
1189 if (i1) goto l10;
1190 i1 = (OOC_INT64)TextRider__GetError(8);
1191 *(OOC_INT64*)(_check_pointer(i0, 25963)) = i1;
1192 goto l41;
1193 l10:
1194 *(OOC_UINT8*)((OOC_INT64)str+(_check_index(0, 11, OOC_UINT16, 25126))) = 48u;
1195 pos = 1;
1196 ignoreZeros = 1u;
1197 i1=1u;i2=1;
1198 l11_loop:
1199 i3 = TextRider__Lookahead((TextRider__Reader)i0, 1);
1200 if (i3) goto l14;
1201 i3=0u;
1202 goto l15;
1203 l14:
1204 i3 = *(OOC_UINT8*)(((_check_pointer(i0, 25246))+37)+(_check_index(0, 2, OOC_UINT8, 25250)));
1205 i3 = TextRider__HexDigit(i3);
1206
1207 l15:
1208 i3 = !i3;
1209 if (i3) goto l32;
1210 i3 = TextRider__Consume((TextRider__Reader)i0);
1211 ch = i3;
1212 i4 = !i1;
1213 if (i4) goto l20;
1214 i4 = i3!=48u;
1215
1216 goto l22;
1217 l20:
1218 i4=1u;
1219 l22:
1220 if (!i4) goto l11_loop;
1221 i1 = i2!=11;
1222 if (i1) goto l27;
1223 i1=i2;
1224 goto l28;
1225 l27:
1226 *(OOC_UINT8*)((OOC_INT64)str+(_check_index(i2, 11, OOC_UINT16, 25534))) = i3;
1227 i1 = i2+1;
1228 pos = i1;
1229
1230 l28:
1231 ignoreZeros = 0u;
1232 i2=i1;i1=0u;
1233 goto l11_loop;
1234 l32:
1235 i1 = i2==11;
1236 if (i1) goto l38;
1237 *(OOC_UINT8*)((OOC_INT64)str+(_check_index(i2, 11, OOC_UINT16, 25816))) = 0u;
1238 i1 = TextRider__HexToInt((void*)(OOC_INT64)str, 11, (void*)(OOC_INT64)lint);
1239 i1 = !i1;
1240 if (!i1) goto l41;
1241 i1 = (OOC_INT64)TextRider__GetError(1);
1242 *(OOC_INT64*)(_check_pointer(i0, 25881)) = i1;
1243 goto l41;
1244 l38:
1245 i1 = (OOC_INT64)TextRider__GetError(1);
1246 *(OOC_INT64*)(_check_pointer(i0, 25754)) = i1;
1247 l41:
1248 return;
1249 ;
1250 }
1251
TextRider__ReaderDesc_ReadInt(TextRider__Reader r,OOC_INT16 * _int)1252 void TextRider__ReaderDesc_ReadInt(TextRider__Reader r, OOC_INT16 *_int) {
1253 register OOC_INT64 i0,i1,i2;
1254 OOC_INT32 lint;
1255
1256 i0 = (OOC_INT64)r;
1257 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 26212)))), TextRider__ReaderDesc_ReadLInt)),TextRider__ReaderDesc_ReadLInt)((TextRider__Reader)i0, (void*)(OOC_INT64)&lint);
1258 i1 = lint;
1259 i2 = i1>32767;
1260 if (i2) goto l3;
1261 i2 = i1<(-32768);
1262
1263 goto l5;
1264 l3:
1265 i2=1u;
1266 l5:
1267 if (i2) goto l7;
1268 *_int = i1;
1269 goto l8;
1270 l7:
1271 i1 = (OOC_INT64)TextRider__GetError(1);
1272 *(OOC_INT64*)(_check_pointer(i0, 26291)) = i1;
1273 l8:
1274 return;
1275 ;
1276 }
1277
TextRider__ReaderDesc_ReadSInt(TextRider__Reader r,OOC_INT8 * sint)1278 void TextRider__ReaderDesc_ReadSInt(TextRider__Reader r, OOC_INT8 *sint) {
1279 register OOC_INT64 i0,i1,i2;
1280 OOC_INT32 lint;
1281
1282 i0 = (OOC_INT64)r;
1283 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 26513)))), TextRider__ReaderDesc_ReadLInt)),TextRider__ReaderDesc_ReadLInt)((TextRider__Reader)i0, (void*)(OOC_INT64)&lint);
1284 i1 = lint;
1285 i2 = i1>127;
1286 if (i2) goto l3;
1287 i2 = i1<(-128);
1288
1289 goto l5;
1290 l3:
1291 i2=1u;
1292 l5:
1293 if (i2) goto l7;
1294 *sint = i1;
1295 goto l8;
1296 l7:
1297 i1 = (OOC_INT64)TextRider__GetError(1);
1298 *(OOC_INT64*)(_check_pointer(i0, 26594)) = i1;
1299 l8:
1300 return;
1301 ;
1302 }
1303
TextRider__ReaderDesc_ReadLReal(TextRider__Reader r,OOC_REAL64 * lreal)1304 void TextRider__ReaderDesc_ReadLReal(TextRider__Reader r, OOC_REAL64 *lreal) {
1305 register OOC_INT64 i0,i1,i2,i3;
1306 OOC_INT16 pos;
1307 ConvTypes__ScanState state;
1308 OOC_INT8 _class;
1309 OOC_CHAR8 str[1024];
1310 OOC_INT8 res;
1311
1312 i0 = (OOC_INT64)r;
1313 TextRider__SkipBlanks((TextRider__Reader)i0);
1314 pos = 0;
1315 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 27454));
1316 i1 = i1==0;
1317 if (i1) goto l3;
1318 i1=0u;
1319 goto l5;
1320 l3:
1321 i1 = TextRider__Lookahead((TextRider__Reader)i0, 1);
1322
1323 l5:
1324 if (i1) goto l7;
1325 i0 = TextRider__Consume((TextRider__Reader)i0);
1326 goto l36;
1327 l7:
1328 i1 = *(OOC_UINT8*)(((_check_pointer(i0, 27518))+37)+(_check_index(0, 2, OOC_UINT8, 27522)));
1329 LRealConv__ScanReal(i1, (void*)(OOC_INT64)&_class, (void*)(OOC_INT64)&state);
1330 i1 = _class;
1331 i1 = i1==1;
1332 if (i1) goto l10;
1333 i1 = (OOC_INT64)TextRider__GetError(8);
1334 *(OOC_INT64*)(_check_pointer(i0, 28513)) = i1;
1335 goto l36;
1336 l10:
1337 i1 = TextRider__Consume((TextRider__Reader)i0);
1338 *(OOC_UINT8*)((OOC_INT64)str+(_check_index(0, 1024, OOC_UINT8, 27600))) = i1;
1339 pos = 1;
1340 i1=1;
1341 l11_loop:
1342 i2 = TextRider__Lookahead((TextRider__Reader)i0, 1);
1343 i2 = !i2;
1344 if (i2) goto l23;
1345 i2 = (OOC_INT64)state;
1346 i2 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i2, 27737));
1347 i3 = *(OOC_UINT8*)(((_check_pointer(i0, 27742))+37)+(_check_index(0, 2, OOC_UINT8, 27746)));
1348 ((void (*)(OOC_CHAR8 ch, OOC_INT8 *cl, ConvTypes__ScanState *st))i2)(i3, (void*)(OOC_INT64)&_class, (void*)(OOC_INT64)&state);
1349 i2 = _class;
1350 i2 = i2==1;
1351 if (!i2) goto l23;
1352 i2 = i1<1024;
1353 if (i2) goto l18;
1354 goto l19;
1355 l18:
1356 i2 = TextRider__Consume((TextRider__Reader)i0);
1357 *(OOC_UINT8*)((OOC_INT64)str+(_check_index(i1, 1024, OOC_UINT16, 27868))) = i2;
1358 l19:
1359 i1 = i1+1;
1360 pos = i1;
1361
1362 goto l11_loop;
1363 l23:
1364 i2 = i1<1024;
1365 if (i2) goto l26;
1366 i1 = (OOC_INT64)TextRider__GetError(8);
1367 *(OOC_INT64*)(_check_pointer(i0, 28438)) = i1;
1368 goto l36;
1369 l26:
1370 *(OOC_UINT8*)((OOC_INT64)str+(_check_index(i1, 1024, OOC_UINT16, 28104))) = 0u;
1371 LRealStr__StrToReal((void*)(OOC_INT64)str, 1024, (void*)(OOC_INT64)lreal, (void*)(OOC_INT64)&res);
1372 i1 = res;
1373 i2 = i1==1;
1374 if (i2) goto l32;
1375 i1 = i1!=0;
1376 if (!i1) goto l36;
1377 i1 = (OOC_INT64)TextRider__GetError(8);
1378 *(OOC_INT64*)(_check_pointer(i0, 28366)) = i1;
1379 goto l36;
1380 l32:
1381 i1 = (OOC_INT64)TextRider__GetError(1);
1382 *(OOC_INT64*)(_check_pointer(i0, 28267)) = i1;
1383 l36:
1384 return;
1385 ;
1386 }
1387
TextRider__ReaderDesc_ReadReal(TextRider__Reader r,OOC_REAL32 * real)1388 void TextRider__ReaderDesc_ReadReal(TextRider__Reader r, OOC_REAL32 *real) {
1389 register OOC_INT64 i0,i1;
1390 register OOC_REAL64 d0;
1391 OOC_REAL64 n;
1392 auto OOC_CHAR8 TextRider__ReaderDesc_ReadReal_ValidReal(OOC_REAL64 value);
1393
1394 OOC_CHAR8 TextRider__ReaderDesc_ReadReal_ValidReal(OOC_REAL64 value) {
1395 register OOC_INT64 i0;
1396 register OOC_REAL64 d0;
1397
1398 d0 = value;
1399 i0 = (-3.4028235677973366E+38)<d0;
1400 if (i0) goto l3;
1401 i0=0u;
1402 goto l4;
1403 l3:
1404 i0 = d0<3.4028235677973366E+38;
1405
1406 l4:
1407 return i0;
1408 ;
1409 }
1410
1411
1412 i0 = (OOC_INT64)r;
1413 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 29418)))), TextRider__ReaderDesc_ReadLReal)),TextRider__ReaderDesc_ReadLReal)((TextRider__Reader)i0, (void*)(OOC_INT64)&n);
1414 d0 = n;
1415 i1 = TextRider__ReaderDesc_ReadReal_ValidReal(d0);
1416 if (i1) goto l3;
1417 i1 = (OOC_INT64)TextRider__GetError(1);
1418 *(OOC_INT64*)(_check_pointer(i0, 29498)) = i1;
1419 goto l4;
1420 l3:
1421 *real = ((OOC_REAL32)d0);
1422 l4:
1423 return;
1424 ;
1425 }
1426
TextRider__ReaderDesc_ReadSet(TextRider__Reader r,OOC_UINT32 * s)1427 void TextRider__ReaderDesc_ReadSet(TextRider__Reader r, OOC_UINT32 *s) {
1428 register OOC_INT64 i0,i1,i2;
1429 OOC_CHAR8 ch;
1430 auto OOC_UINT32 TextRider__ReaderDesc_ReadSet_ReadRange(void);
1431
1432 OOC_UINT32 TextRider__ReaderDesc_ReadSet_ReadRange(void) {
1433 register OOC_INT64 i0,i1,i2;
1434 OOC_INT8 low;
1435 OOC_INT8 high;
1436
1437 i0 = (OOC_INT64)r;
1438 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 29778)))), TextRider__ReaderDesc_ReadSInt)),TextRider__ReaderDesc_ReadSInt)((TextRider__Reader)i0, (void*)(OOC_INT64)&low);
1439 i0 = low;
1440 high = i0;
1441 i1 = (OOC_INT64)r;
1442 i2 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i1, 29833));
1443 i2 = i2==0;
1444 if (!i2) goto l37;
1445 i2 = i0<0;
1446 if (i2) goto l5;
1447 i0 = i0>31;
1448
1449 goto l7;
1450 l5:
1451 i0=1u;
1452 l7:
1453 if (i0) goto l35;
1454 i0 = TextRider__Lookahead((TextRider__Reader)i1, 2);
1455 if (i0) goto l11;
1456 i0=0u;
1457 goto l13;
1458 l11:
1459 i0 = (OOC_INT64)r;
1460 i0 = *(OOC_UINT8*)(((_check_pointer(i0, 30004))+37)+(_check_index(0, 2, OOC_UINT8, 30008)));
1461 i0 = i0==46u;
1462
1463 l13:
1464 if (i0) goto l15;
1465 i0=0u;
1466 goto l17;
1467 l15:
1468 i0 = (OOC_INT64)r;
1469 i0 = *(OOC_UINT8*)(((_check_pointer(i0, 30023))+37)+(_check_index(1, 2, OOC_UINT8, 30027)));
1470 i0 = i0==46u;
1471
1472 l17:
1473 if (!i0) goto l37;
1474 i0 = (OOC_INT64)r;
1475 i0 = TextRider__Consume((TextRider__Reader)i0);
1476 ch = i0;
1477 i0 = (OOC_INT64)r;
1478 i0 = TextRider__Consume((TextRider__Reader)i0);
1479 ch = i0;
1480 i0 = (OOC_INT64)r;
1481 TextRider__SkipBlanks((TextRider__Reader)i0);
1482 i0 = (OOC_INT64)r;
1483 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 30138)))), TextRider__ReaderDesc_ReadSInt)),TextRider__ReaderDesc_ReadSInt)((TextRider__Reader)i0, (void*)(OOC_INT64)&high);
1484 i0 = (OOC_INT64)r;
1485 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 30172));
1486 i1 = i1==0;
1487 if (i1) goto l21;
1488 i1=0u;
1489 goto l31;
1490 l21:
1491 i1 = high;
1492 i2 = i1<0;
1493 if (i2) goto l24;
1494 i2 = i1>31;
1495
1496 goto l26;
1497 l24:
1498 i2=1u;
1499 l26:
1500 if (i2) goto l28;
1501 i2 = low;
1502 i1 = i1<i2;
1503
1504 goto l31;
1505 l28:
1506 i1=1u;
1507 l31:
1508 if (!i1) goto l37;
1509 i1 = (OOC_INT64)TextRider__GetError(1);
1510 *(OOC_INT64*)(_check_pointer(i0, 30271)) = i1;
1511 return 0u;
1512 goto l37;
1513 l35:
1514 i0 = (OOC_INT64)TextRider__GetError(1);
1515 *(OOC_INT64*)(_check_pointer(i1, 29912)) = i0;
1516 return 0u;
1517 l37:
1518 i0 = (OOC_INT64)r;
1519 TextRider__SkipBlanks((TextRider__Reader)i0);
1520 i0 = low;
1521 i1 = high;
1522 return (_bit_range(i0,i1));
1523 ;
1524 }
1525
1526
1527 i0 = (OOC_INT64)r;
1528 TextRider__SkipBlanks((TextRider__Reader)i0);
1529 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 30507));
1530 i1 = i1==0;
1531 if (i1) goto l3;
1532 i1=0u;
1533 goto l5;
1534 l3:
1535 i1 = TextRider__Lookahead((TextRider__Reader)i0, 1);
1536
1537 l5:
1538 if (i1) goto l7;
1539 i0 = TextRider__Consume((TextRider__Reader)i0);
1540 goto l57;
1541 l7:
1542 i1 = *(OOC_UINT8*)(((_check_pointer(i0, 30556))+37)+(_check_index(0, 2, OOC_UINT8, 30560)));
1543 i1 = i1==123u;
1544 if (i1) goto l10;
1545 i1 = (OOC_INT64)TextRider__GetError(8);
1546 *(OOC_INT64*)(_check_pointer(i0, 31223)) = i1;
1547 goto l57;
1548 l10:
1549 *s = 0u;
1550 i1 = TextRider__Consume((TextRider__Reader)i0);
1551 ch = i1;
1552 TextRider__SkipBlanks((TextRider__Reader)i0);
1553 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 30657));
1554 i1 = i1==0;
1555 if (i1) goto l13;
1556 i1=0u;
1557 goto l15;
1558 l13:
1559 i1 = TextRider__Lookahead((TextRider__Reader)i0, 1);
1560
1561 l15:
1562 if (i1) goto l17;
1563 i0 = TextRider__Consume((TextRider__Reader)i0);
1564 goto l57;
1565 l17:
1566 i1 = *(OOC_UINT8*)(((_check_pointer(i0, 30710))+37)+(_check_index(0, 2, OOC_UINT8, 30714)));
1567 i1 = i1!=125u;
1568 if (!i1) goto l46;
1569 i0 = TextRider__ReaderDesc_ReadSet_ReadRange();
1570 i0 = 0u|i0;
1571 *s = i0;
1572 i1 = (OOC_INT64)r;
1573 i2 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i1, 30784));
1574 i2 = i2==0;
1575 if (i2) goto l23;
1576 i2=0u;
1577 goto l25;
1578 l23:
1579 i2 = TextRider__Lookahead((TextRider__Reader)i1, 1);
1580
1581 l25:
1582 if (i2) goto l27;
1583 i2=0u;
1584 goto l29;
1585 l27:
1586 i2 = *(OOC_UINT8*)(((_check_pointer(i1, 30821))+37)+(_check_index(0, 2, OOC_UINT8, 30825)));
1587 i2 = i2==44u;
1588
1589 l29:
1590 if (i2) goto l31;
1591 i0=i1;
1592 goto l46;
1593 l31:
1594 {register OOC_INT64 h0=i0;i0=i1;i1=h0;}
1595 l32_loop:
1596 i2 = TextRider__Consume((TextRider__Reader)i0);
1597 ch = i2;
1598 TextRider__SkipBlanks((TextRider__Reader)i0);
1599 i0 = TextRider__ReaderDesc_ReadSet_ReadRange();
1600 i0 = i1|i0;
1601 *s = i0;
1602 i1 = (OOC_INT64)r;
1603 i2 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i1, 30784));
1604 i2 = i2==0;
1605 if (i2) goto l35;
1606 i2=0u;
1607 goto l37;
1608 l35:
1609 i2 = TextRider__Lookahead((TextRider__Reader)i1, 1);
1610
1611 l37:
1612 if (i2) goto l39;
1613 i2=0u;
1614 goto l41;
1615 l39:
1616 i2 = *(OOC_UINT8*)(((_check_pointer(i1, 30821))+37)+(_check_index(0, 2, OOC_UINT8, 30825)));
1617 i2 = i2==44u;
1618
1619 l41:
1620 if (!i2) goto l44;
1621 {register OOC_INT64 h0=i0;i0=i1;i1=h0;}
1622 goto l32_loop;
1623 l44:
1624 i0=i1;
1625 l46:
1626 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 30983));
1627 i1 = i1==0;
1628 if (i1) goto l49;
1629 i1=0u;
1630 goto l51;
1631 l49:
1632 i1 = *(OOC_UINT8*)(((_check_pointer(i0, 31001))+37)+(_check_index(0, 2, OOC_UINT8, 31005)));
1633 i1 = i1==125u;
1634
1635 l51:
1636 if (i1) goto l53;
1637 i1 = (OOC_INT64)TextRider__GetError(8);
1638 *(OOC_INT64*)(_check_pointer(i0, 31079)) = i1;
1639 goto l57;
1640 l53:
1641 i0 = TextRider__Consume((TextRider__Reader)i0);
1642 l57:
1643 return;
1644 ;
1645 }
1646
TextRider__SkipSpaces(TextRider__Scanner s)1647 static void TextRider__SkipSpaces(TextRider__Scanner s) {
1648 register OOC_INT64 i0,i1,i2;
1649 OOC_CHAR8 ch;
1650
1651 i0 = (OOC_INT64)s;
1652 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 31808));
1653 _assert((i1==0), 127, 31799);
1654 i1 = *(OOC_UINT32*)((_check_pointer(i0, 31851))+24);
1655 i1 = _in(0,i1);
1656 if (i1) goto l23;
1657 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 32061))+8);
1658 i1 = TextRider__Lookahead((TextRider__Reader)i1, 1);
1659 if (i1) goto l5;
1660 i1=0u;
1661 goto l7;
1662 l5:
1663 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 32073))+8);
1664 i1 = *(OOC_UINT8*)(((_check_pointer(i1, 32076))+37)+(_check_index(0, 2, OOC_UINT8, 32080)));
1665 i1 = (OOC_UINT8)i1<=(OOC_UINT8)32u;
1666
1667 l7:
1668 if (!i1) goto l55;
1669 l9_loop:
1670 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 32107))+8);
1671 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 32107))+8);
1672 i1 = OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 32110)))), TextRider__ReaderDesc_Eol)),TextRider__ReaderDesc_Eol)((TextRider__Reader)i2);
1673 if (i1) goto l12;
1674 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 32213))+8);
1675 i1 = TextRider__Consume((TextRider__Reader)i1);
1676 ch = i1;
1677 goto l13;
1678 l12:
1679 i1 = *(OOC_INT32*)((_check_pointer(i0, 32139))+36);
1680 *(OOC_INT32*)((_check_pointer(i0, 32139))+36) = (i1+1);
1681 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 32169))+8);
1682 TextRider__SkipEol((TextRider__Reader)i1);
1683 l13:
1684 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 32061))+8);
1685 i1 = TextRider__Lookahead((TextRider__Reader)i1, 1);
1686 if (i1) goto l16;
1687 i1=0u;
1688 goto l18;
1689 l16:
1690 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 32073))+8);
1691 i1 = *(OOC_UINT8*)(((_check_pointer(i1, 32076))+37)+(_check_index(0, 2, OOC_UINT8, 32080)));
1692 i1 = (OOC_UINT8)i1<=(OOC_UINT8)32u;
1693
1694 l18:
1695 if (i1) goto l9_loop;
1696 goto l55;
1697 l23:
1698 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 31877))+8);
1699 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 31877))+8);
1700 i1 = OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 31880)))), TextRider__ReaderDesc_Eol)),TextRider__ReaderDesc_Eol)((TextRider__Reader)i2);
1701 i1 = !i1;
1702 if (i1) goto l26;
1703 i1=0u;
1704 goto l28;
1705 l26:
1706 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 31903))+8);
1707 i1 = TextRider__Lookahead((TextRider__Reader)i1, 1);
1708
1709 l28:
1710 if (i1) goto l30;
1711 i1=0u;
1712 goto l32;
1713 l30:
1714 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 31928))+8);
1715 i1 = *(OOC_UINT8*)(((_check_pointer(i1, 31931))+37)+(_check_index(0, 2, OOC_UINT8, 31935)));
1716 i1 = (OOC_UINT8)i1<=(OOC_UINT8)32u;
1717
1718 l32:
1719 if (i1) goto l34;
1720 i1=0u;
1721 goto l36;
1722 l34:
1723 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 31963))+8);
1724 i1 = *(OOC_UINT8*)(((_check_pointer(i1, 31966))+37)+(_check_index(0, 2, OOC_UINT8, 31970)));
1725 i1 = i1!=9u;
1726
1727 l36:
1728 if (!i1) goto l55;
1729 l37_loop:
1730 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 32013))+8);
1731 i1 = TextRider__Consume((TextRider__Reader)i1);
1732 ch = i1;
1733 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 31877))+8);
1734 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 31877))+8);
1735 i1 = OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 31880)))), TextRider__ReaderDesc_Eol)),TextRider__ReaderDesc_Eol)((TextRider__Reader)i2);
1736 i1 = !i1;
1737 if (i1) goto l40;
1738 i1=0u;
1739 goto l42;
1740 l40:
1741 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 31903))+8);
1742 i1 = TextRider__Lookahead((TextRider__Reader)i1, 1);
1743
1744 l42:
1745 if (i1) goto l44;
1746 i1=0u;
1747 goto l46;
1748 l44:
1749 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 31928))+8);
1750 i1 = *(OOC_UINT8*)(((_check_pointer(i1, 31931))+37)+(_check_index(0, 2, OOC_UINT8, 31935)));
1751 i1 = (OOC_UINT8)i1<=(OOC_UINT8)32u;
1752
1753 l46:
1754 if (i1) goto l48;
1755 i1=0u;
1756 goto l50;
1757 l48:
1758 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 31963))+8);
1759 i1 = *(OOC_UINT8*)(((_check_pointer(i1, 31966))+37)+(_check_index(0, 2, OOC_UINT8, 31970)));
1760 i1 = i1!=9u;
1761
1762 l50:
1763 if (i1) goto l37_loop;
1764 l55:
1765 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 32264))+8);
1766 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i1, 32267));
1767 *(OOC_INT64*)(_check_pointer(i0, 32254)) = i1;
1768 return;
1769 ;
1770 }
1771
TextRider__ScannerDesc_Pos(TextRider__Scanner s)1772 OOC_INT32 TextRider__ScannerDesc_Pos(TextRider__Scanner s) {
1773 register OOC_INT64 i0,i1;
1774
1775 i0 = (OOC_INT64)s;
1776 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 32406))+8);
1777 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 32406))+8);
1778 i0 = OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 32408)))), TextRider__ReaderDesc_Pos)),TextRider__ReaderDesc_Pos)((TextRider__Reader)i0);
1779 return i0;
1780 ;
1781 }
1782
TextRider__ScannerDesc_ClearError(TextRider__Scanner s)1783 void TextRider__ScannerDesc_ClearError(TextRider__Scanner s) {
1784 register OOC_INT64 i0,i1,i2;
1785
1786 i0 = (OOC_INT64)s;
1787 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 32478))+8);
1788 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 32478))+8);
1789 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 32481)))), TextRider__ReaderDesc_ClearError)),TextRider__ReaderDesc_ClearError)((TextRider__Reader)i2);
1790 *(OOC_INT64*)(_check_pointer(i0, 32500)) = 0;
1791 *(OOC_INT16*)((_check_pointer(i0, 32520))+28) = (-1);
1792 return;
1793 ;
1794 }
1795
TextRider__ScannerDesc_Available(TextRider__Scanner s)1796 OOC_INT32 TextRider__ScannerDesc_Available(TextRider__Scanner s) {
1797 register OOC_INT64 i0,i1;
1798
1799 i0 = (OOC_INT64)s;
1800 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 32627))+8);
1801 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 32627))+8);
1802 i0 = OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 32629)))), TextRider__ReaderDesc_Available)),TextRider__ReaderDesc_Available)((TextRider__Reader)i0);
1803 return i0;
1804 ;
1805 }
1806
TextRider__ScannerDesc_SetPos(TextRider__Scanner s,OOC_INT32 pos)1807 void TextRider__ScannerDesc_SetPos(TextRider__Scanner s, OOC_INT32 pos) {
1808 register OOC_INT64 i0,i1,i2,i3;
1809
1810 i0 = (OOC_INT64)s;
1811 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 32724));
1812 i1 = i1==0;
1813 if (!i1) goto l4;
1814 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 32750))+8);
1815 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 32750))+8);
1816 i3 = pos;
1817 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 32753)))), TextRider__ReaderDesc_SetPos)),TextRider__ReaderDesc_SetPos)((TextRider__Reader)i2, i3);
1818 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 32785))+8);
1819 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i1, 32788));
1820 *(OOC_INT64*)(_check_pointer(i0, 32775)) = i1;
1821 l4:
1822 return;
1823 ;
1824 }
1825
TextRider__ScannerDesc_Scan(TextRider__Scanner s)1826 void TextRider__ScannerDesc_Scan(TextRider__Scanner s) {
1827 register OOC_INT64 i0,i1,i2;
1828 OOC_CHAR8 ch;
1829 OOC_CHAR8 str[1024];
1830 OOC_INT16 pos;
1831 OOC_INT8 res;
1832 auto void TextRider__ScannerDesc_Scan_ReadNum(void);
1833 auto void TextRider__ScannerDesc_Scan_SetType(OOC_INT8 type);
1834
1835 void TextRider__ScannerDesc_Scan_ReadNum(void) {
1836 register OOC_INT64 i0,i1;
1837 auto void TextRider__ScannerDesc_Scan_ReadNum_Get(void);
1838 auto OOC_CHAR8 TextRider__ScannerDesc_Scan_ReadNum_LA(void);
1839
1840 void TextRider__ScannerDesc_Scan_ReadNum_Get(void) {
1841 register OOC_INT64 i0,i1;
1842
1843 i0 = pos;
1844 i1 = i0<1024;
1845 if (!i1) goto l3;
1846 i1 = (OOC_INT64)s;
1847 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 33335))+8);
1848 i1 = TextRider__Consume((TextRider__Reader)i1);
1849 *(OOC_UINT8*)((OOC_INT64)str+(_check_index(i0, 1024, OOC_UINT16, 33316))) = i1;
1850 l3:
1851 i0 = pos;
1852 pos = (i0+1);
1853 i0 = (OOC_INT64)s;
1854 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 33386))+8);
1855 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i1, 33389));
1856 i1 = i1==0;
1857 if (i1) goto l6;
1858 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 33471))+8);
1859 *(OOC_UINT8*)(((_check_pointer(i0, 33474))+37)+(_check_index(0, 2, OOC_UINT8, 33478))) = 0u;
1860 goto l7;
1861 l6:
1862 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 33439))+8);
1863 i0 = TextRider__Lookahead((TextRider__Reader)i0, 1);
1864 l7:
1865 return;
1866 ;
1867 }
1868
1869
1870 OOC_CHAR8 TextRider__ScannerDesc_Scan_ReadNum_LA(void) {
1871 register OOC_INT64 i0;
1872
1873 i0 = (OOC_INT64)s;
1874 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 33575))+8);
1875 i0 = *(OOC_UINT8*)(((_check_pointer(i0, 33578))+37)+(_check_index(0, 2, OOC_UINT8, 33582)));
1876 return i0;
1877 ;
1878 }
1879
1880
1881 i0 = (OOC_INT64)s;
1882 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 33626))+8);
1883 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i1, 33629));
1884 i1 = i1==0;
1885 if (i1) goto l3;
1886 i0=0u;
1887 goto l5;
1888 l3:
1889 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 33657))+8);
1890 i0 = TextRider__Lookahead((TextRider__Reader)i0, 1);
1891
1892 l5:
1893 if (!i0) goto l81;
1894 pos = 0;
1895 i0 = TextRider__ScannerDesc_Scan_ReadNum_LA();
1896 i0 = i0==45u;
1897 if (i0) goto l9;
1898 i0 = TextRider__ScannerDesc_Scan_ReadNum_LA();
1899 i0 = i0==43u;
1900
1901 goto l11;
1902 l9:
1903 i0=1u;
1904 l11:
1905 if (!i0) goto l13;
1906 TextRider__ScannerDesc_Scan_ReadNum_Get();
1907 l13:
1908 i0 = TextRider__ScannerDesc_Scan_ReadNum_LA();
1909 i0 = CharClass__IsNumeric(i0);
1910 i0 = !i0;
1911 if (i0) goto l23;
1912 i0 = TextRider__ScannerDesc_Scan_ReadNum_LA();
1913 i0 = TextRider__HexDigit(i0);
1914 if (!i0) goto l24;
1915 l17_loop:
1916 TextRider__ScannerDesc_Scan_ReadNum_Get();
1917 i0 = TextRider__ScannerDesc_Scan_ReadNum_LA();
1918 i0 = TextRider__HexDigit(i0);
1919 if (i0) goto l17_loop;
1920 goto l24;
1921 l23:
1922 i0 = (OOC_INT64)s;
1923 i1 = (OOC_INT64)TextRider__GetError(8);
1924 *(OOC_INT64*)(_check_pointer(i0, 33857)) = i1;
1925 return;
1926 l24:
1927 i0 = TextRider__ScannerDesc_Scan_ReadNum_LA();
1928 i0 = i0==46u;
1929 if (i0) goto l37;
1930 i0 = TextRider__ScannerDesc_Scan_ReadNum_LA();
1931 i0 = i0==72u;
1932 if (i0) goto l32;
1933 i0 = (OOC_INT64)s;
1934 *(OOC_INT16*)((_check_pointer(i0, 35352))+28) = 2;
1935 i1 = pos;
1936 *(OOC_UINT8*)((OOC_INT64)str+(_check_index(i1, 1024, OOC_UINT16, 35377))) = 0u;
1937 IntStr__StrToInt((void*)(OOC_INT64)str, 1024, (void*)((_check_pointer(i0, 35420))+40), (void*)(OOC_INT64)&res);
1938 i0 = res;
1939 i0 = i0!=0;
1940 if (!i0) goto l81;
1941 i0 = (OOC_INT64)s;
1942 i1 = (OOC_INT64)TextRider__GetError(8);
1943 *(OOC_INT64*)(_check_pointer(i0, 35487)) = i1;
1944 goto l81;
1945 l32:
1946 i0 = (OOC_INT64)s;
1947 *(OOC_INT16*)((_check_pointer(i0, 35138))+28) = 2;
1948 i1 = pos;
1949 *(OOC_UINT8*)((OOC_INT64)str+(_check_index(i1, 1024, OOC_UINT16, 35153))) = 0u;
1950 i0 = TextRider__HexToInt((void*)(OOC_INT64)str, 1024, (void*)((_check_pointer(i0, 35195))+40));
1951 i0 = !i0;
1952 if (!i0) goto l35;
1953 i0 = (OOC_INT64)s;
1954 i1 = (OOC_INT64)TextRider__GetError(8);
1955 *(OOC_INT64*)(_check_pointer(i0, 35220)) = i1;
1956 l35:
1957 TextRider__ScannerDesc_Scan_ReadNum_Get();
1958 goto l81;
1959 l37:
1960 i0 = (OOC_INT64)s;
1961 *(OOC_INT16*)((_check_pointer(i0, 34084))+28) = 3;
1962 TextRider__ScannerDesc_Scan_ReadNum_Get();
1963 i0 = TextRider__ScannerDesc_Scan_ReadNum_LA();
1964 i0 = CharClass__IsNumeric(i0);
1965 if (!i0) goto l44;
1966 l39_loop:
1967 TextRider__ScannerDesc_Scan_ReadNum_Get();
1968 i0 = TextRider__ScannerDesc_Scan_ReadNum_LA();
1969 i0 = CharClass__IsNumeric(i0);
1970 if (i0) goto l39_loop;
1971 l44:
1972 i0 = TextRider__ScannerDesc_Scan_ReadNum_LA();
1973 i0 = i0==69u;
1974 if (i0) goto l47;
1975 i0 = TextRider__ScannerDesc_Scan_ReadNum_LA();
1976 i0 = i0==101u;
1977
1978 goto l49;
1979 l47:
1980 i0=1u;
1981 l49:
1982 if (!i0) goto l72;
1983 TextRider__ScannerDesc_Scan_ReadNum_Get();
1984 i0 = pos;
1985 i0 = i0-1;
1986 i1 = i0<1024;
1987 if (!i1) goto l53;
1988 *(OOC_UINT8*)((OOC_INT64)str+(_check_index(i0, 1024, OOC_UINT16, 34342))) = 69u;
1989 l53:
1990 i0 = TextRider__ScannerDesc_Scan_ReadNum_LA();
1991 i0 = i0==45u;
1992 if (i0) goto l56;
1993 i0 = TextRider__ScannerDesc_Scan_ReadNum_LA();
1994 i0 = i0==43u;
1995
1996 goto l58;
1997 l56:
1998 i0=1u;
1999 l58:
2000 if (!i0) goto l60;
2001 TextRider__ScannerDesc_Scan_ReadNum_Get();
2002 l60:
2003 i0 = TextRider__ScannerDesc_Scan_ReadNum_LA();
2004 i0 = CharClass__IsNumeric(i0);
2005 i0 = !i0;
2006 if (i0) goto l70;
2007 i0 = TextRider__ScannerDesc_Scan_ReadNum_LA();
2008 i0 = CharClass__IsNumeric(i0);
2009 if (!i0) goto l72;
2010 l64_loop:
2011 TextRider__ScannerDesc_Scan_ReadNum_Get();
2012 i0 = TextRider__ScannerDesc_Scan_ReadNum_LA();
2013 i0 = CharClass__IsNumeric(i0);
2014 if (i0) goto l64_loop;
2015 goto l72;
2016 l70:
2017 i0 = (OOC_INT64)s;
2018 i1 = (OOC_INT64)TextRider__GetError(8);
2019 *(OOC_INT64*)(_check_pointer(i0, 34521)) = i1;
2020 return;
2021 l72:
2022 i0 = pos;
2023 i1 = i0<1024;
2024 if (i1) goto l75;
2025 i0 = (OOC_INT64)s;
2026 i1 = (OOC_INT64)TextRider__GetError(8);
2027 *(OOC_INT64*)(_check_pointer(i0, 35010)) = i1;
2028 goto l81;
2029 l75:
2030 *(OOC_UINT8*)((OOC_INT64)str+(_check_index(i0, 1024, OOC_UINT16, 34764))) = 0u;
2031 i0 = (OOC_INT64)s;
2032 LRealStr__StrToReal((void*)(OOC_INT64)str, 1024, (void*)((_check_pointer(i0, 34812))+48), (void*)(OOC_INT64)&res);
2033 i0 = res;
2034 i0 = i0!=0;
2035 if (!i0) goto l81;
2036 i0 = (OOC_INT64)s;
2037 i1 = (OOC_INT64)TextRider__GetError(8);
2038 *(OOC_INT64*)(_check_pointer(i0, 34932)) = i1;
2039 l81:
2040 return;
2041 ;
2042 }
2043
2044
2045 void TextRider__ScannerDesc_Scan_SetType(OOC_INT8 type) {
2046 register OOC_INT64 i0,i1;
2047
2048 i0 = (OOC_INT64)s;
2049 i1 = type;
2050 *(OOC_INT16*)((_check_pointer(i0, 35647))+28) = i1;
2051 return;
2052 ;
2053 }
2054
2055
2056 i0 = (OOC_INT64)s;
2057 i1 = *(OOC_INT16*)((_check_pointer(i0, 35699))+28);
2058 i1 = i1<9;
2059 if (!i1) goto l77;
2060 TextRider__SkipSpaces((TextRider__Scanner)i0);
2061 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 35863));
2062 i1 = i1==0;
2063 if (i1) goto l5;
2064 i1=0u;
2065 goto l7;
2066 l5:
2067 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 35891))+8);
2068 i1 = TextRider__Lookahead((TextRider__Reader)i1, 1);
2069
2070 l7:
2071 if (i1) goto l9;
2072 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 37406))+8);
2073 i0 = TextRider__Consume((TextRider__Reader)i0);
2074 ch = i0;
2075 goto l54;
2076 l9:
2077 i1 = OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 35920)))), TextRider__ScannerDesc_Pos)),TextRider__ScannerDesc_Pos)((TextRider__Scanner)i0);
2078 *(OOC_INT32*)((_check_pointer(i0, 35913))+32) = i1;
2079 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 35941))+8);
2080 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 35941))+8);
2081 i1 = OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 35944)))), TextRider__ReaderDesc_Eol)),TextRider__ReaderDesc_Eol)((TextRider__Reader)i2);
2082 if (i1) goto l52;
2083 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 36064))+8);
2084 i1 = *(OOC_UINT8*)(((_check_pointer(i1, 36067))+37)+(_check_index(0, 2, OOC_UINT8, 36071)));
2085 switch (i1) {
2086 case 34u:
2087 case 39u:
2088 i1 = *(OOC_UINT32*)((_check_pointer(i0, 36137))+24);
2089 i1 = _in(3,i1);
2090 if (i1) goto l16;
2091 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 36257))+8);
2092 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 36257))+8);
2093 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 36260)))), TextRider__ReaderDesc_ReadChar)),TextRider__ReaderDesc_ReadChar)((TextRider__Reader)i2, (void*)((_check_pointer(i0, 36273))+56));
2094 TextRider__ScannerDesc_Scan_SetType(0);
2095 goto l54;
2096 l16:
2097 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 36164))+8);
2098 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 36164))+8);
2099 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 36167)))), TextRider__ReaderDesc_ReadString)),TextRider__ReaderDesc_ReadString)((TextRider__Reader)i2, (void*)((_check_pointer(i0, 36182))+57), 256);
2100 TextRider__ScannerDesc_Scan_SetType(1);
2101 goto l54;
2102 case 97u ... 122u:
2103 case 65u ... 90u:
2104 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 36372))+8);
2105 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 36372))+8);
2106 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 36375)))), TextRider__ReaderDesc_ReadIdentifier)),TextRider__ReaderDesc_ReadIdentifier)((TextRider__Reader)i2, (void*)((_check_pointer(i0, 36394))+57), 256);
2107 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 36422))+8);
2108 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i1, 36425));
2109 i1 = i1==0;
2110 if (i1) goto l21;
2111 i1=0u;
2112 goto l23;
2113 l21:
2114 i1 = *(OOC_UINT32*)((_check_pointer(i0, 36461))+24);
2115 i1 = _in(1,i1);
2116
2117 l23:
2118 if (i1) goto l25;
2119 i1=0u;
2120 goto l31;
2121 l25:
2122 i1 = (
2123 _cmp8((const void*)((_check_pointer(i0, 36487))+57),(const void*)(OOC_CHAR8*)"TRUE"))==0;
2124 if (i1) goto l28;
2125 i1 = (
2126 _cmp8((const void*)((_check_pointer(i0, 36511))+57),(const void*)(OOC_CHAR8*)"FALSE"))==0;
2127
2128 goto l31;
2129 l28:
2130 i1=1u;
2131 l31:
2132 if (i1) goto l33;
2133 TextRider__ScannerDesc_Scan_SetType(8);
2134 goto l54;
2135 l33:
2136 *(OOC_UINT8*)((_check_pointer(i0, 36550))+320) = ((
2137 _cmp8((const void*)((_check_pointer(i0, 36562))+57),(const void*)(OOC_CHAR8*)"TRUE"))==0);
2138 TextRider__ScannerDesc_Scan_SetType(4);
2139 goto l54;
2140 case 43u:
2141 case 45u:
2142 i1 = *(OOC_UINT32*)((_check_pointer(i0, 36733))+24);
2143 i1 = _in(4,i1);
2144 if (i1) goto l38;
2145 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 36798))+8);
2146 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 36798))+8);
2147 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 36801)))), TextRider__ReaderDesc_ReadChar)),TextRider__ReaderDesc_ReadChar)((TextRider__Reader)i2, (void*)((_check_pointer(i0, 36814))+56));
2148 TextRider__ScannerDesc_Scan_SetType(0);
2149 goto l54;
2150 l38:
2151 TextRider__ScannerDesc_Scan_ReadNum();
2152 goto l54;
2153 case 48u ... 57u:
2154 TextRider__ScannerDesc_Scan_ReadNum();
2155 goto l54;
2156 case 123u:
2157 i1 = *(OOC_UINT32*)((_check_pointer(i0, 36982))+24);
2158 i1 = _in(2,i1);
2159 if (i1) goto l44;
2160 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 37093))+8);
2161 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 37093))+8);
2162 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 37096)))), TextRider__ReaderDesc_ReadChar)),TextRider__ReaderDesc_ReadChar)((TextRider__Reader)i2, (void*)((_check_pointer(i0, 37109))+56));
2163 TextRider__ScannerDesc_Scan_SetType(0);
2164 goto l54;
2165 l44:
2166 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 37009))+8);
2167 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 37009))+8);
2168 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 37012)))), TextRider__ReaderDesc_ReadSet)),TextRider__ReaderDesc_ReadSet)((TextRider__Reader)i2, (void*)((_check_pointer(i0, 37024))+316));
2169 TextRider__ScannerDesc_Scan_SetType(5);
2170 goto l54;
2171 default:
2172 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 37190))+8);
2173 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 37190))+8);
2174 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 37193)))), TextRider__ReaderDesc_ReadChar)),TextRider__ReaderDesc_ReadChar)((TextRider__Reader)i2, (void*)((_check_pointer(i0, 37206))+56));
2175 i0 = *(OOC_UINT8*)((_check_pointer(i0, 37231))+56);
2176 i0 = i0==9u;
2177 if (i0) goto l49;
2178 TextRider__ScannerDesc_Scan_SetType(0);
2179 goto l54;
2180 l49:
2181 TextRider__ScannerDesc_Scan_SetType(6);
2182 goto l54;
2183 }
2184 l52:
2185 *(OOC_INT16*)((_check_pointer(i0, 35968))+28) = 7;
2186 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 36004))+8);
2187 TextRider__SkipEol((TextRider__Reader)i1);
2188 i1 = *(OOC_INT32*)((_check_pointer(i0, 36026))+36);
2189 *(OOC_INT32*)((_check_pointer(i0, 36026))+36) = (i1+1);
2190 l54:
2191 i0 = (OOC_INT64)s;
2192 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 37457))+8);
2193 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i1, 37460));
2194 i1 = i1!=0;
2195 if (i1) goto l57;
2196 i1=0u;
2197 goto l59;
2198 l57:
2199 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 37478));
2200 i1 = i1==0;
2201
2202 l59:
2203 if (!i1) goto l61;
2204 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 37518))+8);
2205 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i1, 37521));
2206 *(OOC_INT64*)(_check_pointer(i0, 37508)) = i1;
2207 l61:
2208 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 37549));
2209 i1 = i1!=0;
2210 if (i1) goto l64;
2211 i1=0u;
2212 goto l66;
2213 l64:
2214 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 37567));
2215 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 37572))+24);
2216 i2 = (OOC_INT64)TextRider__errorContext;
2217 i1 = i1==i2;
2218
2219 l66:
2220 if (!i1) goto l77;
2221 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 37617));
2222 i1 = *(OOC_INT32*)((_check_pointer(i1, 37622))+16);
2223 i1 = i1==8;
2224 if (i1) goto l70;
2225 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 37663));
2226 i1 = *(OOC_INT32*)((_check_pointer(i1, 37668))+16);
2227 i1 = i1==1;
2228
2229 goto l72;
2230 l70:
2231 i1=1u;
2232 l72:
2233 if (i1) goto l74;
2234 *(OOC_INT16*)((_check_pointer(i0, 37753))+28) = 9;
2235 goto l77;
2236 l74:
2237 *(OOC_INT16*)((_check_pointer(i0, 37711))+28) = 10;
2238 l77:
2239 return;
2240 ;
2241 }
2242
TextRider__ScannerDesc_SetOpts(TextRider__Scanner s,OOC_UINT32 opts)2243 void TextRider__ScannerDesc_SetOpts(TextRider__Scanner s, OOC_UINT32 opts) {
2244 register OOC_INT64 i0,i1;
2245
2246 i0 = (OOC_INT64)s;
2247 i1 = opts;
2248 *(OOC_UINT32*)((_check_pointer(i0, 37933))+24) = i1;
2249 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 37950))+8);
2250 *(OOC_UINT32*)((_check_pointer(i0, 37952))+8) = (i1&1u);
2251 return;
2252 ;
2253 }
2254
TextRider__ScannerDesc_SetEol(TextRider__Scanner s,const OOC_CHAR8 marker__ref[],OOC_LEN marker_0d,OOC_INT16 markerLen)2255 void TextRider__ScannerDesc_SetEol(TextRider__Scanner s, const OOC_CHAR8 marker__ref[], OOC_LEN marker_0d, OOC_INT16 markerLen) {
2256 register OOC_INT64 i0,i1,i2;
2257 OOC_ALLOCATE_VPAR(marker,OOC_CHAR8 ,marker_0d)
2258
2259 OOC_INITIALIZE_VPAR(marker__ref,marker,OOC_CHAR8 ,marker_0d)
2260 i0 = (OOC_INT64)s;
2261 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 38152))+8);
2262 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 38152))+8);
2263 i2 = markerLen;
2264 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 38155)))), TextRider__ReaderDesc_SetEol)),TextRider__ReaderDesc_SetEol)((TextRider__Reader)i0, (void*)(OOC_INT64)marker, marker_0d, i2);
2265 return;
2266 ;
2267 }
2268
TextRider__WriterDesc_Pos(TextRider__Writer w)2269 OOC_INT32 TextRider__WriterDesc_Pos(TextRider__Writer w) {
2270 register OOC_INT64 i0,i1;
2271
2272 i0 = (OOC_INT64)w;
2273 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 38456))+16);
2274 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 38456))+16);
2275 i0 = OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 38467)))), Channel__WriterDesc_Pos)),Channel__WriterDesc_Pos)((Channel__Writer)i0);
2276 return i0;
2277 ;
2278 }
2279
TextRider__WriterDesc_SetPos(TextRider__Writer w,OOC_INT32 newPos)2280 void TextRider__WriterDesc_SetPos(TextRider__Writer w, OOC_INT32 newPos) {
2281 register OOC_INT64 i0,i1,i2,i3;
2282
2283 i0 = (OOC_INT64)w;
2284 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 38552));
2285 i1 = i1==0;
2286 if (!i1) goto l4;
2287 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 38578))+16);
2288 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 38578))+16);
2289 i3 = newPos;
2290 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 38589)))), Channel__WriterDesc_SetPos)),Channel__WriterDesc_SetPos)((Channel__Writer)i2, i3);
2291 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 38623))+16);
2292 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 38635))+8);
2293 *(OOC_INT64*)(_check_pointer(i0, 38613)) = i1;
2294 l4:
2295 return;
2296 ;
2297 }
2298
TextRider__WriterDesc_ClearError(TextRider__Writer w)2299 void TextRider__WriterDesc_ClearError(TextRider__Writer w) {
2300 register OOC_INT64 i0,i1,i2;
2301
2302 i0 = (OOC_INT64)w;
2303 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 38712))+16);
2304 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 38712))+16);
2305 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 38723)))), Channel__WriterDesc_ClearError)),Channel__WriterDesc_ClearError)((Channel__Writer)i2);
2306 *(OOC_INT64*)(_check_pointer(i0, 38741)) = 0;
2307 return;
2308 ;
2309 }
2310
TextRider__WriterDesc_SetOpts(TextRider__Writer w,OOC_UINT32 opts)2311 void TextRider__WriterDesc_SetOpts(TextRider__Writer w, OOC_UINT32 opts) {
2312 register OOC_INT64 i0,i1;
2313
2314 i0 = (OOC_INT64)w;
2315 i1 = opts;
2316 *(OOC_UINT32*)((_check_pointer(i0, 38876))+8) = i1;
2317 return;
2318 ;
2319 }
2320
TextRider__WriterDesc_SetEol(TextRider__Writer w,const OOC_CHAR8 marker__ref[],OOC_LEN marker_0d,OOC_INT16 markerLen)2321 void TextRider__WriterDesc_SetEol(TextRider__Writer w, const OOC_CHAR8 marker__ref[], OOC_LEN marker_0d, OOC_INT16 markerLen) {
2322 register OOC_INT64 i0,i1,i2,i3;
2323 OOC_ALLOCATE_VPAR(marker,OOC_CHAR8 ,marker_0d)
2324 OOC_INT16 i;
2325
2326 OOC_INITIALIZE_VPAR(marker__ref,marker,OOC_CHAR8 ,marker_0d)
2327 i0 = (OOC_INT64)w;
2328 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 39417));
2329 i1 = i1==0;
2330 if (!i1) goto l19;
2331 i1 = markerLen;
2332 i2 = i1<0;
2333 if (i2) goto l5;
2334 i2 = i1>2;
2335
2336 goto l7;
2337 l5:
2338 i2=1u;
2339 l7:
2340 if (i2) goto l17;
2341 i = 0;
2342 i2 = 0<i1;
2343 if (!i2) goto l16;
2344 i2=0;
2345 l11_loop:
2346 i3 = *(OOC_UINT8*)((OOC_INT64)marker+(_check_index(i2, marker_0d, OOC_UINT16, 39616)));
2347 *(OOC_UINT8*)(((_check_pointer(i0, 39598))+32)+(_check_index(i2, 2, OOC_UINT16, 39603))) = i3;
2348 i2 = i2+1;
2349 i = i2;
2350 i3 = i2<i1;
2351 if (i3) goto l11_loop;
2352 l16:
2353 *(OOC_INT16*)((_check_pointer(i0, 39642))+34) = i1;
2354 goto l19;
2355 l17:
2356 i1 = (OOC_INT64)TextRider__GetError(8);
2357 *(OOC_INT64*)(_check_pointer(i0, 39505)) = i1;
2358 l19:
2359 return;
2360 ;
2361 }
2362
TextRider__WriterDesc_WriteString(TextRider__Writer w,const OOC_CHAR8 s[],OOC_LEN s_0d)2363 void TextRider__WriterDesc_WriteString(TextRider__Writer w, const OOC_CHAR8 s[], OOC_LEN s_0d) {
2364 register OOC_INT64 i0,i1,i2,i3;
2365
2366 i0 = (OOC_INT64)w;
2367 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 39817));
2368 i1 = i1==0;
2369 if (!i1) goto l10;
2370 i1 = Strings__Length((void*)(OOC_INT64)s, s_0d);
2371 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 39843))+16);
2372 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 39843))+16);
2373 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 39855)))), Channel__WriterDesc_WriteBytes)),Channel__WriterDesc_WriteBytes)((Channel__Writer)i3, (void*)(OOC_INT64)s, (-1), 0, i1);
2374 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 39913))+16);
2375 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 39925))+8);
2376 *(OOC_INT64*)(_check_pointer(i0, 39903)) = i1;
2377 i1 = *(OOC_UINT32*)((_check_pointer(i0, 39958))+8);
2378 i1 = _in(0,i1);
2379 if (i1) goto l5;
2380 i1=0u;
2381 goto l7;
2382 l5:
2383 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 39968));
2384 i1 = i1==0;
2385
2386 l7:
2387 if (!i1) goto l10;
2388 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 39996))+24);
2389 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 39996))+24);
2390 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 40002)))), Channel__ChannelDesc_Flush)),Channel__ChannelDesc_Flush)((Channel__Channel)i2);
2391 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 40030))+24);
2392 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i1, 40036));
2393 *(OOC_INT64*)(_check_pointer(i0, 40020)) = i1;
2394 l10:
2395 return;
2396 ;
2397 }
2398
TextRider__WriterDesc_WriteObject(TextRider__Writer w,Object__Object obj)2399 void TextRider__WriterDesc_WriteObject(TextRider__Writer w, Object__Object obj) {
2400 register OOC_INT64 i0,i1,i2,i3,i4,i5,i6;
2401 Object__String s;
2402 Object__CharsLatin1 chars;
2403 Object__CharsUTF16 chars16;
2404 OOC_INT32 i;
2405 Object__String8 s8;
2406
2407 i0 = (OOC_INT64)obj;
2408 i1 = i0==(OOC_INT64)0;
2409 if (i1) goto l32;
2410 i1 = (OOC_INT64)w;
2411 i2 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i1, 40341));
2412 i2 = i2==(OOC_INT64)0;
2413 if (!i2) goto l33;
2414 i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 40374)))), Object__ObjectDesc_ToString)),Object__ObjectDesc_ToString)((Object__Object)i0);
2415 s = (Object__String)i0;
2416 i2 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 40399)))), &_td_Object__String8Desc);
2417 if (i2) goto l22;
2418 i2 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 40519)))), &_td_Object__String16Desc);
2419 if (i2) goto l9;
2420 _failed_with(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 40516)))), 40516);
2421 goto l23;
2422 l9:
2423 i2 = (OOC_INT64)Object__String16Desc_CharsUTF16((Object__String16)i0);
2424 chars16 = (Object__CharsUTF16)i2;
2425 i3 = *(OOC_INT32*)(_check_pointer(i0, 40598));
2426 i = 0;
2427 i4 = 0<i3;
2428 if (!i4) goto l20;
2429 i4=0;
2430 l12_loop:
2431 i5 = _check_pointer(i2, 40632);
2432 i6 = OOC_ARRAY_LENGTH(i5, 0);
2433 i5 = *(OOC_UINT16*)(i5+(_check_index(i4, i6, OOC_UINT32, 40632))*2);
2434 i5 = (OOC_UINT16)i5>=(OOC_UINT16)256u;
2435 if (!i5) goto l15;
2436 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 40663)))), TextRider__WriterDesc_WriteString)),TextRider__WriterDesc_WriteString)((TextRider__Writer)i1, (OOC_CHAR8*)"[TextRider.WriteObject: String16 not implemented]", 50);
2437 return;
2438 l15:
2439 i4 = i4+1;
2440 i = i4;
2441 i5 = i4<i3;
2442 if (i5) goto l12_loop;
2443 l20:
2444 i0 = (OOC_INT64)Object__String16Desc_ToString8((Object__String16)i0, 63u);
2445 s8 = (Object__String8)i0;
2446 i2 = (OOC_INT64)Object__String8Desc_CharsLatin1((Object__String8)i0);
2447 chars = (Object__CharsLatin1)i2;
2448 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 40854))+16);
2449 i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 40854))+16);
2450 i0 = *(OOC_INT32*)(_check_pointer(i0, 40893));
2451 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i3, 40866)))), Channel__WriterDesc_WriteBytes)),Channel__WriterDesc_WriteBytes)((Channel__Writer)i4, (void*)(_check_pointer(i2, 40885)), (-1), 0, i0);
2452 goto l23;
2453 l22:
2454 i2 = (OOC_INT64)Object__String8Desc_CharsLatin1((Object__String8)i0);
2455 chars = (Object__CharsLatin1)i2;
2456 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 40462))+16);
2457 i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 40462))+16);
2458 i0 = *(OOC_INT32*)(_check_pointer(i0, 40500));
2459 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i3, 40474)))), Channel__WriterDesc_WriteBytes)),Channel__WriterDesc_WriteBytes)((Channel__Writer)i4, (void*)(_check_pointer(i2, 40493)), (-1), 0, i0);
2460 l23:
2461 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 40931))+16);
2462 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 40943))+8);
2463 *(OOC_INT64*)(_check_pointer(i1, 40921)) = i0;
2464 i0 = *(OOC_UINT32*)((_check_pointer(i1, 40976))+8);
2465 i0 = _in(0,i0);
2466 if (i0) goto l26;
2467 i0=0u;
2468 goto l28;
2469 l26:
2470 i0 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i1, 40986));
2471 i0 = i0==(OOC_INT64)0;
2472
2473 l28:
2474 if (!i0) goto l33;
2475 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 41014))+24);
2476 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 41014))+24);
2477 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 41020)))), Channel__ChannelDesc_Flush)),Channel__ChannelDesc_Flush)((Channel__Channel)i2);
2478 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 41048))+24);
2479 i0 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 41054));
2480 *(OOC_INT64*)(_check_pointer(i1, 41038)) = i0;
2481 goto l33;
2482 l32:
2483 i0 = (OOC_INT64)w;
2484 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 40306)))), TextRider__WriterDesc_WriteString)),TextRider__WriterDesc_WriteString)((TextRider__Writer)i0, (OOC_CHAR8*)"<NIL>", 6);
2485 l33:
2486 return;
2487 ;
2488 }
2489
TextRider__WriterDesc_WriteBool(TextRider__Writer w,OOC_CHAR8 _bool)2490 void TextRider__WriterDesc_WriteBool(TextRider__Writer w, OOC_CHAR8 _bool) {
2491 register OOC_INT64 i0;
2492
2493 i0 = _bool;
2494 if (i0) goto l3;
2495 i0 = (OOC_INT64)w;
2496 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 41206)))), TextRider__WriterDesc_WriteString)),TextRider__WriterDesc_WriteString)((TextRider__Writer)i0, (OOC_CHAR8*)"FALSE", 6);
2497 goto l4;
2498 l3:
2499 i0 = (OOC_INT64)w;
2500 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 41173)))), TextRider__WriterDesc_WriteString)),TextRider__WriterDesc_WriteString)((TextRider__Writer)i0, (OOC_CHAR8*)"TRUE", 5);
2501 l4:
2502 return;
2503 ;
2504 }
2505
TextRider__WriterDesc_WriteChar(TextRider__Writer w,OOC_CHAR8 ch)2506 void TextRider__WriterDesc_WriteChar(TextRider__Writer w, OOC_CHAR8 ch) {
2507 register OOC_INT64 i0,i1,i2,i3;
2508
2509 i0 = (OOC_INT64)w;
2510 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 41319));
2511 i1 = i1==0;
2512 if (!i1) goto l10;
2513 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 41345))+16);
2514 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 41345))+16);
2515 i3 = ch;
2516 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 41356)))), Channel__WriterDesc_WriteByte)),Channel__WriterDesc_WriteByte)((Channel__Writer)i2, i3);
2517 i1 = *(OOC_UINT32*)((_check_pointer(i0, 41398))+8);
2518 i1 = _in(0,i1);
2519 if (i1) goto l5;
2520 i1=0u;
2521 goto l7;
2522 l5:
2523 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 41408));
2524 i1 = i1==0;
2525
2526 l7:
2527 if (!i1) goto l10;
2528 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 41436))+24);
2529 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 41436))+24);
2530 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 41442)))), Channel__ChannelDesc_Flush)),Channel__ChannelDesc_Flush)((Channel__Channel)i2);
2531 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 41470))+24);
2532 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i1, 41476));
2533 *(OOC_INT64*)(_check_pointer(i0, 41460)) = i1;
2534 l10:
2535 return;
2536 ;
2537 }
2538
TextRider__WritePad(TextRider__Writer w,OOC_INT32 n)2539 static void TextRider__WritePad(TextRider__Writer w, OOC_INT32 n) {
2540 register OOC_INT64 i0,i1,i2;
2541
2542 i0 = n;
2543 i1 = i0>0;
2544 if (!i1) goto l8;
2545 i1 = (OOC_INT64)w;
2546
2547 l3_loop:
2548 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 41615)))), TextRider__WriterDesc_WriteChar)),TextRider__WriterDesc_WriteChar)((TextRider__Writer)i1, 32u);
2549 i0 = i0-1;
2550 n = i0;
2551 i2 = i0>0;
2552 if (i2) goto l3_loop;
2553 l8:
2554 return;
2555 ;
2556 }
2557
TextRider__WriterDesc_WriteLInt(TextRider__Writer w,OOC_INT32 lint,OOC_INT32 n)2558 void TextRider__WriterDesc_WriteLInt(TextRider__Writer w, OOC_INT32 lint, OOC_INT32 n) {
2559 register OOC_INT64 i0,i1,i2;
2560 OOC_CHAR8 val[16];
2561
2562 i0 = lint;
2563 IntStr__IntToStr(i0, (void*)(OOC_INT64)val, 16);
2564 i0 = Strings__Length((void*)(OOC_INT64)val, 16);
2565 i1 = n;
2566 i2 = (OOC_INT64)w;
2567 TextRider__WritePad((TextRider__Writer)i2, (i1-i0));
2568 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 42193)))), TextRider__WriterDesc_WriteString)),TextRider__WriterDesc_WriteString)((TextRider__Writer)i2, (void*)(OOC_INT64)val, 16);
2569 return;
2570 ;
2571 }
2572
TextRider__WriterDesc_WriteSInt(TextRider__Writer w,OOC_INT8 sint,OOC_INT32 n)2573 void TextRider__WriterDesc_WriteSInt(TextRider__Writer w, OOC_INT8 sint, OOC_INT32 n) {
2574 register OOC_INT64 i0,i1,i2;
2575
2576 i0 = (OOC_INT64)w;
2577 i1 = sint;
2578 i2 = n;
2579 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 42307)))), TextRider__WriterDesc_WriteLInt)),TextRider__WriterDesc_WriteLInt)((TextRider__Writer)i0, i1, i2);
2580 return;
2581 ;
2582 }
2583
TextRider__WriterDesc_WriteInt(TextRider__Writer w,OOC_INT16 _int,OOC_INT32 n)2584 void TextRider__WriterDesc_WriteInt(TextRider__Writer w, OOC_INT16 _int, OOC_INT32 n) {
2585 register OOC_INT64 i0,i1,i2;
2586
2587 i0 = (OOC_INT64)w;
2588 i1 = _int;
2589 i2 = n;
2590 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 42418)))), TextRider__WriterDesc_WriteLInt)),TextRider__WriterDesc_WriteLInt)((TextRider__Writer)i0, i1, i2);
2591 return;
2592 ;
2593 }
2594
TextRider__WriterDesc_WriteHex(TextRider__Writer w,OOC_INT32 lint,OOC_INT32 d)2595 void TextRider__WriterDesc_WriteHex(TextRider__Writer w, OOC_INT32 lint, OOC_INT32 d) {
2596 register OOC_INT64 i0,i1;
2597 auto void TextRider__WriterDesc_WriteHex_WriteHexDigits(TextRider__Writer w, OOC_INT32 *n, OOC_INT32 digits);
2598
2599 void TextRider__WriterDesc_WriteHex_WriteHexDigits(TextRider__Writer w, OOC_INT32 *n, OOC_INT32 digits) {
2600 register OOC_INT64 i0,i1,i2,i3,i4;
2601 OOC_INT32 dig;
2602
2603 i0 = digits;
2604 i1 = i0>8;
2605 if (!i1) goto l13;
2606 i1 = (OOC_INT64)w;
2607 i2 = *n;
2608 i2 = i2<0;
2609
2610 l4_loop:
2611 if (i2) goto l7;
2612 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 42865)))), TextRider__WriterDesc_WriteChar)),TextRider__WriterDesc_WriteChar)((TextRider__Writer)i1, 48u);
2613 goto l8;
2614 l7:
2615 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 42843)))), TextRider__WriterDesc_WriteChar)),TextRider__WriterDesc_WriteChar)((TextRider__Writer)i1, 70u);
2616 l8:
2617 i0 = i0-1;
2618 digits = i0;
2619 i3 = i0>8;
2620 if (i3) goto l4_loop;
2621 l13:
2622 i1 = i0>0;
2623 if (!i1) goto l25;
2624 i1 = (OOC_INT64)w;
2625 i2 = *n;
2626
2627 l16_loop:
2628 i0 = i0-1;
2629 digits = i0;
2630 i3 = _mod((_ash(i2,(-(4*i0)))),16);
2631 dig = i3;
2632 i4 = i3<=9;
2633 if (i4) goto l19;
2634 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 43114)))), TextRider__WriterDesc_WriteChar)),TextRider__WriterDesc_WriteChar)((TextRider__Writer)i1, (55+i3));
2635 goto l20;
2636 l19:
2637 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 43067)))), TextRider__WriterDesc_WriteChar)),TextRider__WriterDesc_WriteChar)((TextRider__Writer)i1, (48+i3));
2638 l20:
2639 i3 = i0>0;
2640 if (i3) goto l16_loop;
2641 l25:
2642 return;
2643 ;
2644 }
2645
2646
2647 i0 = d;
2648 i1 = i0<=0;
2649 if (!i1) goto l4;
2650 d = 8;
2651 i0=8;
2652 l4:
2653 i1 = (OOC_INT64)w;
2654 TextRider__WriterDesc_WriteHex_WriteHexDigits((TextRider__Writer)i1, (void*)(OOC_INT64)&lint, i0);
2655 return;
2656 ;
2657 }
2658
TextRider__WriterDesc_WriteLReal(TextRider__Writer w,OOC_REAL64 lreal,OOC_INT32 n,OOC_INT32 k)2659 void TextRider__WriterDesc_WriteLReal(TextRider__Writer w, OOC_REAL64 lreal, OOC_INT32 n, OOC_INT32 k) {
2660 register OOC_INT64 i0,i1,i2;
2661 register OOC_REAL64 d0;
2662 OOC_CHAR8 val[128];
2663
2664 i0 = k;
2665 d0 = lreal;
2666 LRealStr__RealToFloat(d0, i0, (void*)(OOC_INT64)val, 128);
2667 i0 = Strings__Length((void*)(OOC_INT64)val, 128);
2668 i1 = n;
2669 i2 = (OOC_INT64)w;
2670 TextRider__WritePad((TextRider__Writer)i2, (i1-i0));
2671 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 43684)))), TextRider__WriterDesc_WriteString)),TextRider__WriterDesc_WriteString)((TextRider__Writer)i2, (void*)(OOC_INT64)val, 128);
2672 return;
2673 ;
2674 }
2675
TextRider__WriterDesc_WriteReal(TextRider__Writer w,OOC_REAL32 real,OOC_INT32 n,OOC_INT32 k)2676 void TextRider__WriterDesc_WriteReal(TextRider__Writer w, OOC_REAL32 real, OOC_INT32 n, OOC_INT32 k) {
2677 register OOC_INT64 i0,i1,i2;
2678 register OOC_REAL32 f0;
2679 OOC_CHAR8 val[128];
2680
2681 i0 = k;
2682 f0 = real;
2683 RealStr__RealToFloat(f0, i0, (void*)(OOC_INT64)val, 128);
2684 i0 = Strings__Length((void*)(OOC_INT64)val, 128);
2685 i1 = n;
2686 i2 = (OOC_INT64)w;
2687 TextRider__WritePad((TextRider__Writer)i2, (i1-i0));
2688 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 44055)))), TextRider__WriterDesc_WriteString)),TextRider__WriterDesc_WriteString)((TextRider__Writer)i2, (void*)(OOC_INT64)val, 128);
2689 return;
2690 ;
2691 }
2692
TextRider__WriterDesc_WriteLRealFix(TextRider__Writer w,OOC_REAL64 * lreal,OOC_INT32 n,OOC_INT32 k)2693 void TextRider__WriterDesc_WriteLRealFix(TextRider__Writer w, OOC_REAL64 *lreal, OOC_INT32 n, OOC_INT32 k) {
2694 register OOC_INT64 i0,i1,i2;
2695 register OOC_REAL64 d0;
2696 OOC_CHAR8 val[128];
2697
2698 i0 = k;
2699 d0 = *lreal;
2700 LRealStr__RealToFixed(d0, i0, (void*)(OOC_INT64)val, 128);
2701 i0 = Strings__Length((void*)(OOC_INT64)val, 128);
2702 i1 = n;
2703 i2 = (OOC_INT64)w;
2704 TextRider__WritePad((TextRider__Writer)i2, (i1-i0));
2705 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 44504)))), TextRider__WriterDesc_WriteString)),TextRider__WriterDesc_WriteString)((TextRider__Writer)i2, (void*)(OOC_INT64)val, 128);
2706 return;
2707 ;
2708 }
2709
TextRider__WriterDesc_WriteRealFix(TextRider__Writer w,OOC_REAL32 real,OOC_INT32 n,OOC_INT32 k)2710 void TextRider__WriterDesc_WriteRealFix(TextRider__Writer w, OOC_REAL32 real, OOC_INT32 n, OOC_INT32 k) {
2711 register OOC_INT64 i0,i1,i2;
2712 register OOC_REAL32 f0;
2713 OOC_CHAR8 val[128];
2714
2715 i0 = k;
2716 f0 = real;
2717 RealStr__RealToFixed(f0, i0, (void*)(OOC_INT64)val, 128);
2718 i0 = Strings__Length((void*)(OOC_INT64)val, 128);
2719 i1 = n;
2720 i2 = (OOC_INT64)w;
2721 TextRider__WritePad((TextRider__Writer)i2, (i1-i0));
2722 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 44887)))), TextRider__WriterDesc_WriteString)),TextRider__WriterDesc_WriteString)((TextRider__Writer)i2, (void*)(OOC_INT64)val, 128);
2723 return;
2724 ;
2725 }
2726
TextRider__WriterDesc_WriteLRealEng(TextRider__Writer w,OOC_REAL64 * lreal,OOC_INT32 n,OOC_INT32 k)2727 void TextRider__WriterDesc_WriteLRealEng(TextRider__Writer w, OOC_REAL64 *lreal, OOC_INT32 n, OOC_INT32 k) {
2728 register OOC_INT64 i0,i1,i2;
2729 register OOC_REAL64 d0;
2730 OOC_CHAR8 val[128];
2731
2732 i0 = k;
2733 d0 = *lreal;
2734 LRealStr__RealToEng(d0, i0, (void*)(OOC_INT64)val, 128);
2735 i0 = Strings__Length((void*)(OOC_INT64)val, 128);
2736 i1 = n;
2737 i2 = (OOC_INT64)w;
2738 TextRider__WritePad((TextRider__Writer)i2, (i1-i0));
2739 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 45335)))), TextRider__WriterDesc_WriteString)),TextRider__WriterDesc_WriteString)((TextRider__Writer)i2, (void*)(OOC_INT64)val, 128);
2740 return;
2741 ;
2742 }
2743
TextRider__WriterDesc_WriteRealEng(TextRider__Writer w,OOC_REAL32 real,OOC_INT32 n,OOC_INT32 k)2744 void TextRider__WriterDesc_WriteRealEng(TextRider__Writer w, OOC_REAL32 real, OOC_INT32 n, OOC_INT32 k) {
2745 register OOC_INT64 i0,i1,i2;
2746 register OOC_REAL32 f0;
2747 OOC_CHAR8 val[128];
2748
2749 i0 = k;
2750 f0 = real;
2751 RealStr__RealToEng(f0, i0, (void*)(OOC_INT64)val, 128);
2752 i0 = Strings__Length((void*)(OOC_INT64)val, 128);
2753 i1 = n;
2754 i2 = (OOC_INT64)w;
2755 TextRider__WritePad((TextRider__Writer)i2, (i1-i0));
2756 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 45716)))), TextRider__WriterDesc_WriteString)),TextRider__WriterDesc_WriteString)((TextRider__Writer)i2, (void*)(OOC_INT64)val, 128);
2757 return;
2758 ;
2759 }
2760
TextRider__WriterDesc_WriteSet(TextRider__Writer w,OOC_UINT32 s)2761 void TextRider__WriterDesc_WriteSet(TextRider__Writer w, OOC_UINT32 s) {
2762 register OOC_INT64 i0,i1,i2,i3,i4,i5;
2763 OOC_INT8 bit;
2764 OOC_CHAR8 addComma;
2765 OOC_INT8 lo;
2766
2767 i0 = (OOC_INT64)w;
2768 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 45909)))), TextRider__WriterDesc_WriteChar)),TextRider__WriterDesc_WriteChar)((TextRider__Writer)i0, 123u);
2769 bit = 0;
2770 i1 = s;
2771 addComma = 0u;
2772 i2=0;i3=0u;
2773 l1_loop:
2774 i4 = _in(i2,i1);
2775 if (i4) goto l4;
2776 {register OOC_INT64 h0=i2;i2=i3;i3=h0;}
2777 goto l29;
2778 l4:
2779 lo = i2;
2780 i4 = i2<31;
2781 if (i4) goto l7;
2782 i4=0u;
2783 goto l9;
2784 l7:
2785 i4 = _in((i2+1),i1);
2786
2787 l9:
2788 if (i4) goto l11;
2789 i4=i2;
2790 goto l22;
2791 l11:
2792 i4=i2;
2793 l12_loop:
2794 i4 = i4+1;
2795 bit = i4;
2796 i5 = i4<31;
2797 if (i5) goto l15;
2798 i5=0u;
2799 goto l17;
2800 l15:
2801 i5 = _in((i4+1),i1);
2802
2803 l17:
2804 if (i5) goto l12_loop;
2805 l22:
2806 if (i3) goto l24;
2807 addComma = 1u;
2808 i3=1u;
2809 goto l25;
2810 l24:
2811 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 46181)))), TextRider__WriterDesc_WriteString)),TextRider__WriterDesc_WriteString)((TextRider__Writer)i0, (OOC_CHAR8*)", ", 3);
2812
2813 l25:
2814 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 46234)))), TextRider__WriterDesc_WriteInt)),TextRider__WriterDesc_WriteInt)((TextRider__Writer)i0, i2, 0);
2815 i2 = i2<i4;
2816 if (!i2) goto l28;
2817 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 46286)))), TextRider__WriterDesc_WriteString)),TextRider__WriterDesc_WriteString)((TextRider__Writer)i0, (OOC_CHAR8*)"..", 3);
2818 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 46307)))), TextRider__WriterDesc_WriteInt)),TextRider__WriterDesc_WriteInt)((TextRider__Writer)i0, i4, 0);
2819 l28:
2820 i2=i3;i3=i4;
2821 l29:
2822 i3 = i3+1;
2823 bit = i3;
2824 i4 = i3<=31;
2825 if (!i4) goto l33;
2826 {register OOC_INT64 h0=i2;i2=i3;i3=h0;}
2827 goto l1_loop;
2828 l33:
2829 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 46377)))), TextRider__WriterDesc_WriteChar)),TextRider__WriterDesc_WriteChar)((TextRider__Writer)i0, 125u);
2830 return;
2831 ;
2832 }
2833
TextRider__WriterDesc_WriteLn(TextRider__Writer w)2834 void TextRider__WriterDesc_WriteLn(TextRider__Writer w) {
2835 register OOC_INT64 i0,i1,i2,i3;
2836 OOC_INT16 i;
2837
2838 i0 = (OOC_INT64)w;
2839 i = 0;
2840 i1 = *(OOC_INT16*)((_check_pointer(i0, 46517))+34);
2841 i2 = 0<i1;
2842 if (!i2) goto l8;
2843 i2=0;
2844 l3_loop:
2845 i3 = *(OOC_UINT8*)(((_check_pointer(i0, 46552))+32)+(_check_index(i2, 2, OOC_UINT16, 46556)));
2846 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 46538)))), TextRider__WriterDesc_WriteChar)),TextRider__WriterDesc_WriteChar)((TextRider__Writer)i0, i3);
2847 i2 = i2+1;
2848 i = i2;
2849 i3 = i2<i1;
2850 if (i3) goto l3_loop;
2851 l8:
2852 return;
2853 ;
2854 }
2855
TextRider__InitReader(TextRider__Reader r,Channel__Channel ch)2856 void TextRider__InitReader(TextRider__Reader r, Channel__Channel ch) {
2857 register OOC_INT64 i0,i1,i2;
2858
2859 i0 = (OOC_INT64)r;
2860 *(OOC_INT64*)(_check_pointer(i0, 46756)) = 0;
2861 *(OOC_UINT32*)((_check_pointer(i0, 46776))+8) = 0u;
2862 i1 = (OOC_INT64)ch;
2863 i2 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 46826)))), Channel__ChannelDesc_NewReader)),Channel__ChannelDesc_NewReader)((Channel__Channel)i1);
2864 *(OOC_INT64*)((_check_pointer(i0, 46808))+16) = i2;
2865 *(OOC_INT64*)((_check_pointer(i0, 46845))+24) = i1;
2866 *(OOC_INT16*)((_check_pointer(i0, 46864))+34) = (-1);
2867 *(OOC_UINT8*)((_check_pointer(i0, 46885))+36) = 0u;
2868 *(OOC_INT16*)((_check_pointer(i0, 46914))+56) = 0;
2869 return;
2870 ;
2871 }
2872
TextRider__ConnectReader(Channel__Channel ch)2873 TextRider__Reader TextRider__ConnectReader(Channel__Channel ch) {
2874 register OOC_INT64 i0,i1;
2875 TextRider__Reader r;
2876
2877 i0 = (OOC_INT64)RT0__NewObject(_td_TextRider__Reader.baseTypes[0]);
2878 r = (TextRider__Reader)i0;
2879 i1 = (OOC_INT64)ch;
2880 TextRider__InitReader((TextRider__Reader)i0, (Channel__Channel)i1);
2881 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 47075))+16);
2882 i1 = i1==(OOC_INT64)0;
2883 if (i1) goto l3;
2884 return (TextRider__Reader)i0;
2885 goto l4;
2886 l3:
2887 return (TextRider__Reader)(OOC_INT64)0;
2888 l4:
2889 _failed_function(46956); return 0;
2890 ;
2891 }
2892
TextRider__InitWriter(TextRider__Writer w,Channel__Channel ch)2893 void TextRider__InitWriter(TextRider__Writer w, Channel__Channel ch) {
2894 register OOC_INT64 i0,i1,i2,i3;
2895 OOC_INT16 i;
2896
2897 i0 = (OOC_INT64)w;
2898 *(OOC_INT64*)(_check_pointer(i0, 47365)) = 0;
2899 *(OOC_UINT32*)((_check_pointer(i0, 47385))+8) = 0u;
2900 i1 = (OOC_INT64)ch;
2901 i2 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 47435)))), Channel__ChannelDesc_NewWriter)),Channel__ChannelDesc_NewWriter)((Channel__Channel)i1);
2902 *(OOC_INT64*)((_check_pointer(i0, 47417))+16) = i2;
2903 *(OOC_INT64*)((_check_pointer(i0, 47454))+24) = i1;
2904 i1 = Strings__Length((void*)(OOC_INT64)CharClass__systemEol, 3);
2905 *(OOC_INT16*)((_check_pointer(i0, 47473))+34) = i1;
2906 i = 0;
2907 i1 = *(OOC_INT16*)((_check_pointer(i0, 47542))+34);
2908 i2 = 0<i1;
2909 if (!i2) goto l8;
2910 i2=0;
2911 l3_loop:
2912 i3 = *(OOC_UINT8*)((OOC_INT64)CharClass__systemEol+(_check_index(i2, 3, OOC_UINT16, 47594)));
2913 *(OOC_UINT8*)(((_check_pointer(i0, 47563))+32)+(_check_index(i2, 2, OOC_UINT16, 47568))) = i3;
2914 i2 = i2+1;
2915 i = i2;
2916 i3 = i2<i1;
2917 if (i3) goto l3_loop;
2918 l8:
2919 return;
2920 ;
2921 }
2922
TextRider__ConnectWriter(Channel__Channel ch)2923 TextRider__Writer TextRider__ConnectWriter(Channel__Channel ch) {
2924 register OOC_INT64 i0,i1;
2925 TextRider__Writer w;
2926
2927 i0 = (OOC_INT64)RT0__NewObject(_td_TextRider__Writer.baseTypes[0]);
2928 w = (TextRider__Writer)i0;
2929 i1 = (OOC_INT64)ch;
2930 TextRider__InitWriter((TextRider__Writer)i0, (Channel__Channel)i1);
2931 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 47754))+16);
2932 i1 = i1==(OOC_INT64)0;
2933 if (i1) goto l3;
2934 return (TextRider__Writer)i0;
2935 goto l4;
2936 l3:
2937 return (TextRider__Writer)(OOC_INT64)0;
2938 l4:
2939 _failed_function(47635); return 0;
2940 ;
2941 }
2942
TextRider__InitScanner(TextRider__Scanner s,Channel__Channel ch)2943 void TextRider__InitScanner(TextRider__Scanner s, Channel__Channel ch) {
2944 register OOC_INT64 i0,i1,i2;
2945
2946 i0 = (OOC_INT64)s;
2947 *(OOC_INT64*)(_check_pointer(i0, 48023)) = 0;
2948 i1 = (OOC_INT64)ch;
2949 i2 = (OOC_INT64)TextRider__ConnectReader((Channel__Channel)i1);
2950 *(OOC_INT64*)((_check_pointer(i0, 48043))+8) = i2;
2951 *(OOC_UINT32*)((_check_pointer(i0, 48071))+24) = 30u;
2952 *(OOC_INT16*)((_check_pointer(i0, 48101))+28) = (-1);
2953 *(OOC_INT32*)((_check_pointer(i0, 48124))+36) = 0;
2954 *(OOC_INT64*)((_check_pointer(i0, 48140))+16) = i1;
2955 return;
2956 ;
2957 }
2958
TextRider__ConnectScanner(Channel__Channel ch)2959 TextRider__Scanner TextRider__ConnectScanner(Channel__Channel ch) {
2960 register OOC_INT64 i0,i1;
2961 TextRider__Scanner s;
2962
2963 i0 = (OOC_INT64)RT0__NewObject(_td_TextRider__Scanner.baseTypes[0]);
2964 s = (TextRider__Scanner)i0;
2965 i1 = (OOC_INT64)ch;
2966 TextRider__InitScanner((TextRider__Scanner)i0, (Channel__Channel)i1);
2967 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 48307))+8);
2968 i1 = i1==(OOC_INT64)0;
2969 if (i1) goto l3;
2970 return (TextRider__Scanner)i0;
2971 goto l4;
2972 l3:
2973 return (TextRider__Scanner)(OOC_INT64)0;
2974 l4:
2975 _failed_function(48184); return 0;
2976 ;
2977 }
2978
OOC_TextRider_init(void)2979 void OOC_TextRider_init(void) {
2980 register OOC_INT64 i0;
2981
2982 i0 = (OOC_INT64)RT0__NewObject(_td_TextRider__ErrorContext.baseTypes[0]);
2983 TextRider__errorContext = (TextRider__ErrorContext)i0;
2984 Msg__InitContext((Msg__Context)i0, (OOC_CHAR8*)"OOC:Core:TextRider", 19);
2985 return;
2986 ;
2987 }
2988
OOC_TextRider_destroy(void)2989 void OOC_TextRider_destroy(void) {
2990 }
2991
2992 /* --- */
2993