1 #include <XML/Parser.d>
2 #include <__oo2c.h>
3 #include <setjmp.h>
4
XML_Parser__IsCharUCS4(OOC_INT32 ch)5 static OOC_CHAR8 XML_Parser__IsCharUCS4(OOC_INT32 ch) {
6 register OOC_INT64 i0,i1;
7
8 i0 = ch;
9 i1 = 32<=i0;
10 if (i1) goto l3;
11 i1=0u;
12 goto l5;
13 l3:
14 i1 = i0<=55295;
15
16 l5:
17 if (i1) goto l7;
18 i1 = i0==9;
19
20 goto l9;
21 l7:
22 i1=1u;
23 l9:
24 if (i1) goto l11;
25 i1 = i0==10;
26
27 goto l13;
28 l11:
29 i1=1u;
30 l13:
31 if (i1) goto l15;
32 i1 = i0==13;
33
34 goto l17;
35 l15:
36 i1=1u;
37 l17:
38 if (i1) goto l23;
39 i1 = 57344<=i0;
40 if (i1) goto l21;
41 i1=0u;
42 goto l25;
43 l21:
44 i1 = i0<=65533;
45
46 goto l25;
47 l23:
48 i1=1u;
49 l25:
50 if (i1) goto l31;
51 i1 = 65536<=i0;
52 if (i1) goto l29;
53 i0=0u;
54 goto l32;
55 l29:
56 i0 = i0<=1114111;
57
58 goto l32;
59 l31:
60 i0=1u;
61 l32:
62 return i0;
63 ;
64 }
65
XML_Parser__IsDigit(OOC_CHAR16 ch)66 static OOC_CHAR8 XML_Parser__IsDigit(OOC_CHAR16 ch) {
67 register OOC_INT64 i0,i1;
68
69 i0 = ch;
70 i1 = (OOC_UINT16)i0<(OOC_UINT16)256u;
71 if (i1) goto l6;
72 switch (i0) {
73 case 1632u ... 1641u:
74 case 1776u ... 1785u:
75 case 2406u ... 2415u:
76 case 2534u ... 2543u:
77 case 2662u ... 2671u:
78 case 2790u ... 2799u:
79 case 2918u ... 2927u:
80 case 3047u ... 3055u:
81 case 3174u ... 3183u:
82 case 3302u ... 3311u:
83 case 3430u ... 3439u:
84 case 3664u ... 3673u:
85 case 3792u ... 3801u:
86 case 3872u ... 3881u:
87 return 1u;
88 goto l11;
89 default:
90 return 0u;
91 goto l11;
92 }
93 l6:
94 i1 = (OOC_UINT16)48u<=(OOC_UINT16)i0;
95 if (i1) goto l9;
96 i0=0u;
97 goto l10;
98 l9:
99 i0 = (OOC_UINT16)i0<=(OOC_UINT16)57u;
100
101 l10:
102 return i0;
103 l11:
104 _failed_function(9290); return 0;
105 ;
106 }
107
XML_Parser__IsBaseChar(OOC_CHAR16 ch)108 static OOC_CHAR8 XML_Parser__IsBaseChar(OOC_CHAR16 ch) {
109 register OOC_INT64 i0,i1;
110
111 i0 = ch;
112 i1 = (OOC_UINT16)i0<(OOC_UINT16)256u;
113 if (i1) goto l41;
114 i1 = (OOC_UINT16)i0<(OOC_UINT16)1024u;
115 if (i1) goto l36;
116 i1 = (OOC_UINT16)i0<(OOC_UINT16)2048u;
117 if (i1) goto l31;
118 i1 = (OOC_UINT16)i0<(OOC_UINT16)3072u;
119 if (i1) goto l26;
120 i1 = (OOC_UINT16)i0<(OOC_UINT16)4096u;
121 if (i1) goto l21;
122 i1 = (OOC_UINT16)i0<(OOC_UINT16)5120u;
123 if (i1) goto l16;
124 switch (i0) {
125 case 7680u ... 7835u:
126 case 7840u ... 7929u:
127 case 7936u ... 7957u:
128 case 7960u ... 7965u:
129 case 7968u ... 8005u:
130 case 8008u ... 8013u:
131 case 8016u ... 8023u:
132 case 8025u:
133 case 8027u:
134 case 8029u:
135 case 8031u ... 8061u:
136 case 8064u ... 8116u:
137 case 8118u ... 8124u:
138 case 8126u:
139 case 8130u ... 8132u:
140 case 8134u ... 8140u:
141 case 8144u ... 8147u:
142 case 8150u ... 8155u:
143 case 8160u ... 8172u:
144 case 8178u ... 8180u:
145 case 8182u ... 8188u:
146 case 8486u:
147 case 8490u ... 8491u:
148 case 8494u:
149 case 8576u ... 8578u:
150 case 12353u ... 12436u:
151 case 12449u ... 12538u:
152 case 12549u ... 12588u:
153 case 44032u ... 55203u:
154 return 1u;
155 goto l45;
156 default:
157 return 0u;
158 goto l45;
159 }
160 l16:
161 switch (i0) {
162 case 4256u ... 4293u:
163 case 4304u ... 4342u:
164 case 4352u:
165 case 4354u ... 4355u:
166 case 4357u ... 4359u:
167 case 4361u:
168 case 4363u ... 4364u:
169 case 4366u ... 4370u:
170 case 4412u:
171 case 4414u:
172 case 4416u:
173 case 4428u:
174 case 4430u:
175 case 4432u:
176 case 4436u ... 4437u:
177 case 4441u:
178 case 4447u ... 4449u:
179 case 4451u:
180 case 4453u:
181 case 4455u:
182 case 4457u:
183 case 4461u ... 4462u:
184 case 4466u ... 4467u:
185 case 4469u:
186 case 4510u:
187 case 4520u:
188 case 4523u:
189 case 4526u ... 4527u:
190 case 4535u ... 4536u:
191 case 4538u:
192 case 4540u ... 4546u:
193 case 4587u:
194 case 4592u:
195 case 4601u:
196 return 1u;
197 goto l45;
198 default:
199 return 0u;
200 goto l45;
201 }
202 l21:
203 switch (i0) {
204 case 3077u ... 3084u:
205 case 3086u ... 3088u:
206 case 3090u ... 3112u:
207 case 3114u ... 3123u:
208 case 3125u ... 3129u:
209 case 3168u ... 3169u:
210 case 3205u ... 3212u:
211 case 3214u ... 3216u:
212 case 3218u ... 3240u:
213 case 3242u ... 3251u:
214 case 3253u ... 3257u:
215 case 3294u:
216 case 3296u ... 3297u:
217 case 3333u ... 3340u:
218 case 3342u ... 3344u:
219 case 3346u ... 3368u:
220 case 3370u ... 3385u:
221 case 3424u ... 3425u:
222 case 3585u ... 3630u:
223 case 3632u:
224 case 3634u ... 3635u:
225 case 3648u ... 3653u:
226 case 3713u ... 3714u:
227 case 3716u:
228 case 3719u ... 3720u:
229 case 3722u:
230 case 3725u:
231 case 3732u ... 3735u:
232 case 3737u ... 3743u:
233 case 3745u ... 3747u:
234 case 3749u:
235 case 3751u:
236 case 3754u ... 3755u:
237 case 3757u ... 3758u:
238 case 3760u:
239 case 3762u ... 3763u:
240 case 3773u:
241 case 3776u ... 3780u:
242 case 3904u ... 3911u:
243 case 3913u ... 3945u:
244 return 1u;
245 goto l45;
246 default:
247 return 0u;
248 goto l45;
249 }
250 l26:
251 switch (i0) {
252 case 2309u ... 2361u:
253 case 2365u:
254 case 2392u ... 2401u:
255 case 2437u ... 2444u:
256 case 2447u ... 2448u:
257 case 2451u ... 2472u:
258 case 2474u ... 2480u:
259 case 2482u:
260 case 2486u ... 2489u:
261 case 2524u ... 2525u:
262 case 2527u ... 2529u:
263 case 2544u ... 2545u:
264 case 2565u ... 2570u:
265 case 2575u ... 2576u:
266 case 2579u ... 2600u:
267 case 2602u ... 2608u:
268 case 2610u ... 2611u:
269 case 2613u ... 2614u:
270 case 2616u ... 2617u:
271 case 2649u ... 2652u:
272 case 2654u:
273 case 2674u ... 2676u:
274 case 2693u ... 2699u:
275 case 2701u:
276 case 2703u ... 2705u:
277 case 2707u ... 2728u:
278 case 2730u ... 2736u:
279 case 2738u ... 2739u:
280 case 2741u ... 2745u:
281 case 2749u:
282 case 2784u:
283 case 2821u ... 2828u:
284 case 2831u ... 2832u:
285 case 2835u ... 2856u:
286 case 2858u ... 2864u:
287 case 2866u ... 2867u:
288 case 2870u ... 2873u:
289 case 2877u:
290 case 2908u ... 2909u:
291 case 2911u ... 2913u:
292 case 2949u ... 2954u:
293 case 2958u ... 2960u:
294 case 2962u ... 2965u:
295 case 2969u ... 2970u:
296 case 2972u:
297 case 2974u ... 2975u:
298 case 2979u ... 2980u:
299 case 2984u ... 2986u:
300 case 2990u ... 2997u:
301 case 2999u ... 3001u:
302 return 1u;
303 goto l45;
304 default:
305 return 0u;
306 goto l45;
307 }
308 l31:
309 switch (i0) {
310 case 1025u ... 1036u:
311 case 1038u ... 1103u:
312 case 1105u ... 1116u:
313 case 1118u ... 1153u:
314 case 1168u ... 1220u:
315 case 1223u ... 1224u:
316 case 1227u ... 1228u:
317 case 1232u ... 1259u:
318 case 1262u ... 1269u:
319 case 1272u ... 1273u:
320 case 1329u ... 1366u:
321 case 1369u:
322 case 1377u ... 1414u:
323 case 1488u ... 1514u:
324 case 1520u ... 1522u:
325 case 1569u ... 1594u:
326 case 1601u ... 1610u:
327 case 1649u ... 1719u:
328 case 1722u ... 1726u:
329 case 1728u ... 1742u:
330 case 1744u ... 1747u:
331 case 1749u:
332 case 1765u ... 1766u:
333 return 1u;
334 goto l45;
335 default:
336 return 0u;
337 goto l45;
338 }
339 l36:
340 switch (i0) {
341 case 256u ... 305u:
342 case 308u ... 318u:
343 case 321u ... 328u:
344 case 330u ... 382u:
345 case 384u ... 451u:
346 case 461u ... 496u:
347 case 500u ... 501u:
348 case 506u ... 535u:
349 case 592u ... 680u:
350 case 699u ... 705u:
351 case 902u:
352 case 904u ... 906u:
353 case 908u:
354 case 910u ... 929u:
355 case 931u ... 974u:
356 case 976u ... 982u:
357 case 986u:
358 case 988u:
359 case 990u:
360 case 992u:
361 case 994u ... 1011u:
362 return 1u;
363 goto l45;
364 default:
365 return 0u;
366 goto l45;
367 }
368 l41:
369 switch (i0) {
370 case 65u ... 90u:
371 case 97u ... 122u:
372 case 192u ... 214u:
373 case 216u ... 246u:
374 case 248u ... 255u:
375 return 1u;
376 goto l45;
377 default:
378 return 0u;
379 goto l45;
380 }
381 l45:
382 _failed_function(9776); return 0;
383 ;
384 }
385
XML_Parser__IsIdeographic(OOC_CHAR16 ch)386 static OOC_CHAR8 XML_Parser__IsIdeographic(OOC_CHAR16 ch) {
387 register OOC_INT64 i0,i1;
388
389 i0 = ch;
390 i1 = (OOC_UINT16)19968u<=(OOC_UINT16)i0;
391 if (i1) goto l3;
392 i1=0u;
393 goto l5;
394 l3:
395 i1 = (OOC_UINT16)i0<=(OOC_UINT16)40869u;
396
397 l5:
398 if (i1) goto l7;
399 i1 = i0==12295u;
400
401 goto l9;
402 l7:
403 i1=1u;
404 l9:
405 if (i1) goto l15;
406 i1 = (OOC_UINT16)12321u<=(OOC_UINT16)i0;
407 if (i1) goto l13;
408 i0=0u;
409 goto l16;
410 l13:
411 i0 = (OOC_UINT16)i0<=(OOC_UINT16)12329u;
412
413 goto l16;
414 l15:
415 i0=1u;
416 l16:
417 return i0;
418 ;
419 }
420
XML_Parser__IsCombiningChar(OOC_CHAR16 ch)421 static OOC_CHAR8 XML_Parser__IsCombiningChar(OOC_CHAR16 ch) {
422 register OOC_INT64 i0,i1;
423
424 i0 = ch;
425 i1 = (OOC_UINT16)i0<(OOC_UINT16)768u;
426 if (i1) goto l31;
427 i1 = (OOC_UINT16)i0<(OOC_UINT16)2560u;
428 if (i1) goto l26;
429 i1 = (OOC_UINT16)i0<(OOC_UINT16)3328u;
430 if (i1) goto l21;
431 i1 = (OOC_UINT16)i0<(OOC_UINT16)4096u;
432 if (i1) goto l16;
433 i1 = (OOC_UINT16)i0<(OOC_UINT16)8192u;
434 if (i1) goto l14;
435 switch (i0) {
436 case 8400u ... 8412u:
437 case 8417u:
438 case 12330u ... 12335u:
439 case 12441u:
440 case 12442u:
441 return 1u;
442 goto l32;
443 default:
444 return 0u;
445 goto l32;
446 }
447 l14:
448 return 0u;
449 goto l32;
450 l16:
451 switch (i0) {
452 case 3330u ... 3331u:
453 case 3390u ... 3395u:
454 case 3398u ... 3400u:
455 case 3402u ... 3405u:
456 case 3415u:
457 case 3633u:
458 case 3636u ... 3642u:
459 case 3655u ... 3662u:
460 case 3761u:
461 case 3764u ... 3769u:
462 case 3771u ... 3772u:
463 case 3784u ... 3789u:
464 case 3864u ... 3865u:
465 case 3893u:
466 case 3895u:
467 case 3897u:
468 case 3902u:
469 case 3903u:
470 case 3953u ... 3972u:
471 case 3974u ... 3979u:
472 case 3984u ... 3989u:
473 case 3991u:
474 case 3993u ... 4013u:
475 case 4017u ... 4023u:
476 case 4025u:
477 return 1u;
478 goto l32;
479 default:
480 return 0u;
481 goto l32;
482 }
483 l21:
484 switch (i0) {
485 case 2562u:
486 case 2620u:
487 case 2622u:
488 case 2623u:
489 case 2624u ... 2626u:
490 case 2631u ... 2632u:
491 case 2635u ... 2637u:
492 case 2672u ... 2673u:
493 case 2689u ... 2691u:
494 case 2748u:
495 case 2750u ... 2757u:
496 case 2759u ... 2761u:
497 case 2763u ... 2765u:
498 case 2817u ... 2819u:
499 case 2876u:
500 case 2878u ... 2883u:
501 case 2887u ... 2888u:
502 case 2891u ... 2893u:
503 case 2902u ... 2903u:
504 case 2946u ... 2947u:
505 case 3006u ... 3010u:
506 case 3014u ... 3016u:
507 case 3018u ... 3021u:
508 case 3031u:
509 case 3073u ... 3075u:
510 case 3134u ... 3140u:
511 case 3142u ... 3144u:
512 case 3146u ... 3149u:
513 case 3157u ... 3158u:
514 case 3202u ... 3203u:
515 case 3262u ... 3268u:
516 case 3270u ... 3272u:
517 case 3274u ... 3277u:
518 case 3285u ... 3286u:
519 return 1u;
520 goto l32;
521 default:
522 return 0u;
523 goto l32;
524 }
525 l26:
526 switch (i0) {
527 case 768u ... 837u:
528 case 864u ... 865u:
529 case 1155u ... 1158u:
530 case 1425u ... 1441u:
531 case 1443u ... 1465u:
532 case 1467u ... 1469u:
533 case 1471u:
534 case 1473u ... 1474u:
535 case 1476u:
536 case 1611u ... 1618u:
537 case 1648u:
538 case 1750u ... 1756u:
539 case 1757u ... 1759u:
540 case 1760u ... 1764u:
541 case 1767u ... 1768u:
542 case 1770u ... 1773u:
543 case 2305u ... 2307u:
544 case 2364u:
545 case 2366u ... 2380u:
546 case 2381u:
547 case 2385u ... 2388u:
548 case 2402u ... 2403u:
549 case 2433u ... 2435u:
550 case 2492u:
551 case 2494u:
552 case 2495u:
553 case 2496u ... 2500u:
554 case 2503u ... 2504u:
555 case 2507u ... 2509u:
556 case 2519u:
557 case 2530u ... 2531u:
558 return 1u;
559 goto l32;
560 default:
561 return 0u;
562 goto l32;
563 }
564 l31:
565 return 0u;
566 l32:
567 _failed_function(13952); return 0;
568 ;
569 }
570
XML_Parser__IsExtender(OOC_CHAR16 ch)571 static OOC_CHAR8 XML_Parser__IsExtender(OOC_CHAR16 ch) {
572 register OOC_INT64 i0,i1;
573
574 i0 = ch;
575 i1 = i0==183u;
576 if (i1) goto l10;
577 i1 = (OOC_UINT16)i0>=(OOC_UINT16)720u;
578 if (i1) goto l5;
579 return 0u;
580 goto l11;
581 l5:
582 switch (i0) {
583 case 720u:
584 case 721u:
585 case 903u:
586 case 1600u:
587 case 3654u:
588 case 3782u:
589 case 12293u:
590 case 12337u ... 12341u:
591 case 12445u ... 12446u:
592 case 12540u ... 12542u:
593 return 1u;
594 goto l11;
595 default:
596 return 0u;
597 goto l11;
598 }
599 l10:
600 return 1u;
601 l11:
602 _failed_function(15990); return 0;
603 ;
604 }
605
XML_Parser__IsLetter(OOC_CHAR16 ch)606 static OOC_CHAR8 XML_Parser__IsLetter(OOC_CHAR16 ch) {
607 register OOC_INT64 i0,i1;
608
609 i0 = ch;
610 i1 = XML_Parser__IsBaseChar(i0);
611 if (i1) goto l3;
612 i0 = XML_Parser__IsIdeographic(i0);
613
614 goto l4;
615 l3:
616 i0=1u;
617 l4:
618 return i0;
619 ;
620 }
621
XML_Parser__IsNameChar(OOC_CHAR16 ch)622 OOC_CHAR8 XML_Parser__IsNameChar(OOC_CHAR16 ch) {
623 register OOC_INT64 i0,i1;
624
625 i0 = ch;
626 i1 = XML_Parser__IsLetter(i0);
627 if (i1) goto l3;
628 i1 = XML_Parser__IsDigit(i0);
629
630 goto l5;
631 l3:
632 i1=1u;
633 l5:
634 if (i1) goto l7;
635 i1 = i0==46u;
636
637 goto l9;
638 l7:
639 i1=1u;
640 l9:
641 if (i1) goto l11;
642 i1 = i0==45u;
643
644 goto l13;
645 l11:
646 i1=1u;
647 l13:
648 if (i1) goto l15;
649 i1 = i0==95u;
650
651 goto l17;
652 l15:
653 i1=1u;
654 l17:
655 if (i1) goto l19;
656 i1 = i0==58u;
657
658 goto l21;
659 l19:
660 i1=1u;
661 l21:
662 if (i1) goto l23;
663 i1 = XML_Parser__IsCombiningChar(i0);
664
665 goto l25;
666 l23:
667 i1=1u;
668 l25:
669 if (i1) goto l27;
670 i0 = XML_Parser__IsExtender(i0);
671
672 goto l28;
673 l27:
674 i0=1u;
675 l28:
676 return i0;
677 ;
678 }
679
XML_Parser__IsNameChar0(OOC_CHAR16 ch)680 OOC_CHAR8 XML_Parser__IsNameChar0(OOC_CHAR16 ch) {
681 register OOC_INT64 i0,i1;
682
683 i0 = ch;
684 i1 = XML_Parser__IsLetter(i0);
685 if (i1) goto l3;
686 i1 = i0==95u;
687
688 goto l5;
689 l3:
690 i1=1u;
691 l5:
692 if (i1) goto l7;
693 i0 = i0==58u;
694
695 goto l8;
696 l7:
697 i0=1u;
698 l8:
699 return i0;
700 ;
701 }
702
XML_Parser__IsPubidChar(OOC_CHAR16 ch)703 static OOC_CHAR8 XML_Parser__IsPubidChar(OOC_CHAR16 ch) {
704 register OOC_INT64 i0,i1,i2;
705
706 i0 = ch;
707 i1 = _cap(i0);
708 i2 = (OOC_UINT16)65u<=(OOC_UINT16)i1;
709 if (i2) goto l3;
710 i1=0u;
711 goto l5;
712 l3:
713 i1 = (OOC_UINT16)i1<=(OOC_UINT16)90u;
714
715 l5:
716 if (i1) goto l11;
717 i1 = (OOC_UINT16)48u<=(OOC_UINT16)i0;
718 if (i1) goto l9;
719 i1=0u;
720 goto l13;
721 l9:
722 i1 = (OOC_UINT16)i0<=(OOC_UINT16)57u;
723
724 goto l13;
725 l11:
726 i1=1u;
727 l13:
728 if (i1) goto l15;
729 i1 = i0==32u;
730
731 goto l17;
732 l15:
733 i1=1u;
734 l17:
735 if (i1) goto l19;
736 i1 = i0==13u;
737
738 goto l21;
739 l19:
740 i1=1u;
741 l21:
742 if (i1) goto l23;
743 i1 = i0==10u;
744
745 goto l25;
746 l23:
747 i1=1u;
748 l25:
749 if (i1) goto l44;
750 i1 = *(OOC_UINT16*)((OOC_INT64)XML_Parser__suplPubidChar+(_check_index(0, 32, OOC_UINT32, 17141))*2);
751 i1 = i1!=0u;
752 if (i1) goto l29;
753 i1=0u;
754 goto l31;
755 l29:
756 i1 = *(OOC_UINT16*)((OOC_INT64)XML_Parser__suplPubidChar+(_check_index(0, 32, OOC_UINT32, 17167))*2);
757 i1 = i1!=i0;
758
759 l31:
760 if (i1) goto l33;
761 i0=0;
762 goto l43;
763 l33:
764 i1=0;
765 l34_loop:
766 i1 = i1+1;
767 i2 = *(OOC_UINT16*)((OOC_INT64)XML_Parser__suplPubidChar+(_check_index(i1, 32, OOC_UINT32, 17141))*2);
768 i2 = i2!=0u;
769 if (i2) goto l37;
770 i2=0u;
771 goto l39;
772 l37:
773 i2 = *(OOC_UINT16*)((OOC_INT64)XML_Parser__suplPubidChar+(_check_index(i1, 32, OOC_UINT32, 17167))*2);
774 i2 = i2!=i0;
775
776 l39:
777 if (i2) goto l34_loop;
778 l42:
779 i0=i1;
780 l43:
781 i0 = *(OOC_UINT16*)((OOC_INT64)XML_Parser__suplPubidChar+(_check_index(i0, 32, OOC_UINT32, 17234))*2);
782 return (i0!=0u);
783 goto l45;
784 l44:
785 return 1u;
786 l45:
787 _failed_function(16859); return 0;
788 ;
789 }
790
XML_Parser__IsVersionNumChar(OOC_CHAR16 ch)791 static OOC_CHAR8 XML_Parser__IsVersionNumChar(OOC_CHAR16 ch) {
792 register OOC_INT64 i0,i1,i2;
793
794 i0 = ch;
795 i1 = _cap(i0);
796 i2 = (OOC_UINT16)65u<=(OOC_UINT16)i1;
797 if (i2) goto l3;
798 i1=0u;
799 goto l5;
800 l3:
801 i1 = (OOC_UINT16)i1<=(OOC_UINT16)90u;
802
803 l5:
804 if (i1) goto l11;
805 i1 = (OOC_UINT16)48u<=(OOC_UINT16)i0;
806 if (i1) goto l9;
807 i1=0u;
808 goto l13;
809 l9:
810 i1 = (OOC_UINT16)i0<=(OOC_UINT16)57u;
811
812 goto l13;
813 l11:
814 i1=1u;
815 l13:
816 if (i1) goto l15;
817 i1 = i0==95u;
818
819 goto l17;
820 l15:
821 i1=1u;
822 l17:
823 if (i1) goto l19;
824 i1 = i0==46u;
825
826 goto l21;
827 l19:
828 i1=1u;
829 l21:
830 if (i1) goto l23;
831 i1 = i0==58u;
832
833 goto l25;
834 l23:
835 i1=1u;
836 l25:
837 if (i1) goto l27;
838 i0 = i0==45u;
839
840 goto l28;
841 l27:
842 i0=1u;
843 l28:
844 return i0;
845 ;
846 }
847
XML_Parser__IsEncNameChar(OOC_CHAR16 ch,OOC_CHAR8 first)848 static OOC_CHAR8 XML_Parser__IsEncNameChar(OOC_CHAR16 ch, OOC_CHAR8 first) {
849 register OOC_INT64 i0,i1,i2;
850
851 i0 = ch;
852 i1 = _cap(i0);
853 i2 = (OOC_UINT16)65u<=(OOC_UINT16)i1;
854 if (i2) goto l3;
855 i1=0u;
856 goto l5;
857 l3:
858 i1 = (OOC_UINT16)i1<=(OOC_UINT16)90u;
859
860 l5:
861 if (i1) goto l27;
862 i1 = first;
863 i1 = !i1;
864 if (i1) goto l9;
865 return 0u;
866 goto l28;
867 l9:
868 i1 = (OOC_UINT16)48u<=(OOC_UINT16)i0;
869 if (i1) goto l12;
870 i1=0u;
871 goto l14;
872 l12:
873 i1 = (OOC_UINT16)i0<=(OOC_UINT16)57u;
874
875 l14:
876 if (i1) goto l16;
877 i1 = i0==46u;
878
879 goto l18;
880 l16:
881 i1=1u;
882 l18:
883 if (i1) goto l20;
884 i1 = i0==95u;
885
886 goto l22;
887 l20:
888 i1=1u;
889 l22:
890 if (i1) goto l24;
891 i0 = i0==45u;
892
893 goto l25;
894 l24:
895 i0=1u;
896 l25:
897 return i0;
898 goto l28;
899 l27:
900 return 1u;
901 l28:
902 _failed_function(17526); return 0;
903 ;
904 }
905
XML_Parser__SetBaseURI(Msg__Msg err,const OOC_CHAR8 name__ref[],OOC_LEN name_0d,URI__URI uri)906 static void XML_Parser__SetBaseURI(Msg__Msg err, const OOC_CHAR8 name__ref[], OOC_LEN name_0d, URI__URI uri) {
907 register OOC_INT64 i0,i1;
908 OOC_ALLOCATE_VPAR(name,OOC_CHAR8 ,name_0d)
909 Object__String str;
910 Object__String8 str8;
911 Object__CharsLatin1 chars;
912
913 OOC_INITIALIZE_VPAR(name__ref,name,OOC_CHAR8 ,name_0d)
914 i0 = (OOC_INT64)uri;
915 i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 18090)))), URI__URIDesc_ToString)),URI__URIDesc_ToString)((URI__URI)i0);
916 str = (Object__String)i0;
917 i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 18118)))), Object__StringDesc_ToString8)),Object__StringDesc_ToString8)((Object__String)i0, 63u);
918 str8 = (Object__String8)i0;
919 i0 = (OOC_INT64)Object__String8Desc_CharsLatin1((Object__String8)i0);
920 chars = (Object__CharsLatin1)i0;
921 i1 = OOC_ARRAY_LENGTH((_check_pointer(i0, 18220)), 0);
922 i0 = (OOC_INT64)Msg__GetStringPtr((void*)(_check_pointer(i0, 18220)), i1);
923 i1 = (OOC_INT64)err;
924 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 18175)))), Msg__MsgDesc_SetStringAttrib)),Msg__MsgDesc_SetStringAttrib)((Msg__Msg)i1, (void*)(OOC_INT64)name, name_0d, (Msg__StringPtr)i0);
925 return;
926 ;
927 }
928
XML_Parser__ErrorListenerDesc_Error(XML_Parser__ErrorListener el,XML_Error__Context context,OOC_INT32 code,OOC_CHAR8 fatalError,const struct XML_Locator__Position * pos__ref)929 Msg__Msg XML_Parser__ErrorListenerDesc_Error(XML_Parser__ErrorListener el, XML_Error__Context context, OOC_INT32 code, OOC_CHAR8 fatalError, const struct XML_Locator__Position *pos__ref) {
930 register OOC_INT64 i0,i1,i2,i3;
931 OOC_ALLOCATE_VPAR(pos,XML_Locator__Position ,1)
932 XML_Parser__Parser p;
933 Msg__Msg err;
934
935 OOC_INITIALIZE_VPAR(pos__ref,pos,XML_Locator__Position ,32)
936 i0 = (OOC_INT64)el;
937 i0 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 18516));
938 p = (XML_Parser__Parser)i0;
939 i1 = (OOC_INT64)context;
940 i2 = code;
941 i1 = (OOC_INT64)XML_Error__New((XML_Error__Context)i1, i2);
942 err = (Msg__Msg)i1;
943 i2 = *(OOC_INT32*)(OOC_INT64)pos;
944 i3 = XML_Error__errMsgCharPosBase;
945 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 18566)))), Msg__MsgDesc_SetIntAttrib)),Msg__MsgDesc_SetIntAttrib)((Msg__Msg)i1, (OOC_CHAR8*)"char", 5, (i2+i3));
946 i2 = *(OOC_INT32*)((OOC_INT64)pos+4);
947 i3 = XML_Error__errMsgLineBase;
948 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 18638)))), Msg__MsgDesc_SetIntAttrib)),Msg__MsgDesc_SetIntAttrib)((Msg__Msg)i1, (OOC_CHAR8*)"line", 5, (i2+i3));
949 i2 = *(OOC_INT32*)((OOC_INT64)pos+8);
950 i3 = XML_Error__errMsgColumnBase;
951 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 18702)))), Msg__MsgDesc_SetIntAttrib)),Msg__MsgDesc_SetIntAttrib)((Msg__Msg)i1, (OOC_CHAR8*)"column", 7, (i2+i3));
952 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 18797))+104);
953 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 18808))+72);
954 XML_Parser__SetBaseURI((Msg__Msg)i1, (OOC_CHAR8*)"baseURI", 8, (URI__URI)i2);
955 i2 = (OOC_INT64)*(OOC_INT64*)((OOC_INT64)pos+24);
956 i3 = i2!=0;
957 if (!i3) goto l3;
958 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 18974))+8);
959 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 18974))+8);
960 i3 = OOC_ARRAY_LENGTH((_check_pointer(i3, 18980)), 0);
961 i2 = (OOC_INT64)Msg__GetLStringPtr((void*)(_check_pointer(i2, 18980)), i3);
962 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 18870)))), Msg__MsgDesc_SetLStringAttrib)),Msg__MsgDesc_SetLStringAttrib)((Msg__Msg)i1, (OOC_CHAR8*)"entity_name", 12, (Msg__LStringPtr)i2);
963 l3:
964 i2 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 18998));
965 i3 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 18998));
966 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 19007)))), Msg__MsgListDesc_Append)),Msg__MsgListDesc_Append)((Msg__MsgList)i3, (Msg__Msg)i1);
967 i2 = fatalError;
968 if (i2) goto l6;
969 i2=0u;
970 goto l8;
971 l6:
972 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 19058))+72);
973 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 19045))+80);
974 i2 = i3==i2;
975
976 l8:
977 if (!i2) goto l10;
978 i2 = (OOC_INT64)XML_Builder__New();
979 *(OOC_INT64*)((_check_pointer(i0, 19088))+80) = i2;
980 l10:
981 return (Msg__Msg)i1;
982 ;
983 }
984
XML_Parser__ParserDesc_ParseDocument(XML_Parser__Parser p)985 void XML_Parser__ParserDesc_ParseDocument(XML_Parser__Parser p) {
986 register OOC_INT64 i0,i1,i2,i3,i4;
987 XML_UnicodeBuffer__CharArray chars;
988 XML_DTD__Builder dtd;
989 OOC_INT32 cpos;
990 OOC_INT32 cstart;
991 OOC_INT32 cdelta;
992 auto void XML_Parser__ParserDesc_ParseDocument_DecLength(struct XML_Locator__Position *pos, RT0__Struct pos__tag, OOC_INT32 len);
993 auto void XML_Parser__ParserDesc_ParseDocument_StorePosition(struct XML_Locator__Position *pos, RT0__Struct pos__tag);
994 auto void XML_Parser__ParserDesc_ParseDocument_ResetLocator(void);
995 auto void XML_Parser__ParserDesc_ParseDocument_SetFileEntity(XML_DTD__ExternalEntity _new);
996 auto void XML_Parser__ParserDesc_ParseDocument_ErrPosNF(OOC_INT32 code, struct XML_Locator__Position *pos, RT0__Struct pos__tag);
997 auto void XML_Parser__ParserDesc_ParseDocument_ErrPos(OOC_INT32 code, struct XML_Locator__Position *pos, RT0__Struct pos__tag);
998 auto void XML_Parser__ParserDesc_ParseDocument_WriteBuffer(const OOC_CHAR8 msg__ref[], OOC_LEN msg_0d);
999 auto void XML_Parser__ParserDesc_ParseDocument_ErrNF(OOC_INT32 code);
1000 auto void XML_Parser__ParserDesc_ParseDocument_Err(OOC_INT32 code);
1001 auto XML_UnicodeBuffer__CharArray XML_Parser__ParserDesc_ParseDocument_Clone(XML_UnicodeBuffer__CharArray string);
1002 auto XML_UnicodeBuffer__CharArray XML_Parser__ParserDesc_ParseDocument_GetString(OOC_INT32 start, OOC_INT32 end);
1003 auto XML_UnicodeBuffer__Input XML_Parser__ParserDesc_ParseDocument_GetBuffer(XML_DTD__ExternalEntity entity);
1004 auto void XML_Parser__ParserDesc_ParseDocument_CheckInvalidChars(void);
1005 auto XML_UnicodeBuffer__CharArray XML_Parser__ParserDesc_ParseDocument_Internalize(XML_DTD__ExternalEntity entity);
1006 auto void XML_Parser__ParserDesc_ParseDocument_PushEntity(XML_DTD__Entity entity, OOC_CHAR8 syncEntity);
1007 auto void XML_Parser__ParserDesc_ParseDocument_PopEntity(void);
1008 auto void XML_Parser__ParserDesc_ParseDocument_NextBlock(void);
1009 auto void XML_Parser__ParserDesc_ParseDocument_DiscardPreviousInput(void);
1010 auto void XML_Parser__ParserDesc_ParseDocument_EndOfLine(void);
1011 auto void XML_Parser__ParserDesc_ParseDocument_Tab(void);
1012 auto OOC_CHAR8 XML_Parser__ParserDesc_ParseDocument_LookingAtS(void);
1013 auto OOC_CHAR8 XML_Parser__ParserDesc_ParseDocument_LookingAtSnoPE(void);
1014 auto OOC_CHAR8 XML_Parser__ParserDesc_ParseDocument_LookingAt(const OOC_CHAR8 str__ref[], OOC_LEN str_0d, OOC_INT8 followedBy);
1015 auto void XML_Parser__ParserDesc_ParseDocument_NextChar(void);
1016 auto XML_UnicodeBuffer__CharArray XML_Parser__ParserDesc_ParseDocument_Nmtoken(OOC_CHAR8 checkForQName, OOC_CHAR8 noColon);
1017 auto XML_UnicodeBuffer__CharArray XML_Parser__ParserDesc_ParseDocument_Name(OOC_CHAR8 noColon);
1018 auto void XML_Parser__ParserDesc_ParseDocument_CheckChar(OOC_CHAR8 ch);
1019 auto void XML_Parser__ParserDesc_ParseDocument_XMLDecl(XML_DTD__ExternalEntity entity);
1020 auto void XML_Parser__ParserDesc_ParseDocument_extSubsetDecl(void);
1021 auto void XML_Parser__ParserDesc_ParseDocument_SkippedEntity(XML_UnicodeBuffer__CharArray name);
1022 auto void XML_Parser__ParserDesc_ParseDocument_PEReference(OOC_CHAR8 declSep);
1023 auto void XML_Parser__ParserDesc_ParseDocument_OptS(OOC_CHAR8 noPE);
1024 auto void XML_Parser__ParserDesc_ParseDocument_S(void);
1025 auto void XML_Parser__ParserDesc_ParseDocument_SnoPE(void);
1026 auto void XML_Parser__ParserDesc_ParseDocument_ControlChar(OOC_CHAR16 eolReplacement);
1027 auto XML_UnicodeBuffer__CharArray XML_Parser__ParserDesc_ParseDocument_String(OOC_INT8 type);
1028 auto void XML_Parser__ParserDesc_ParseDocument_Eq(void);
1029 auto void XML_Parser__ParserDesc_ParseDocument_XMLDecl(XML_DTD__ExternalEntity entity);
1030 auto XML_DTD__Entity XML_Parser__ParserDesc_ParseDocument_CurrentEntity(void);
1031 auto void XML_Parser__ParserDesc_ParseDocument_CheckCurrentEntity(XML_DTD__Entity reference);
1032 auto void XML_Parser__ParserDesc_ParseDocument_PI(void);
1033 auto void XML_Parser__ParserDesc_ParseDocument_Comment(void);
1034 auto void XML_Parser__ParserDesc_ParseDocument_CDSect(void);
1035 auto void XML_Parser__ParserDesc_ParseDocument_CharRef(void);
1036 auto XML_DTD__EntityRef XML_Parser__ParserDesc_ParseDocument_EntityRef(OOC_CHAR8 enforceDecl, OOC_CHAR8 permitExternal);
1037 auto XML_DTD__AttValue XML_Parser__ParserDesc_ParseDocument_AttValue(OOC_CHAR8 isAttDecl);
1038 auto void XML_Parser__ParserDesc_ParseDocument_Expand(XML_DTD__AttValue attValue);
1039 auto void XML_Parser__ParserDesc_ParseDocument_element(void);
1040 auto void XML_Parser__ParserDesc_ParseDocument_content(void);
1041 auto void XML_Parser__ParserDesc_ParseDocument_element(void);
1042 auto void XML_Parser__ParserDesc_ParseDocument_MiscRep(void);
1043 auto void XML_Parser__ParserDesc_ParseDocument_ExternalID(OOC_CHAR8 optionJustPubid, XML_UnicodeBuffer__CharArray *_public, XML_UnicodeBuffer__CharArray *system, URI__URI *baseURI);
1044 auto void XML_Parser__ParserDesc_ParseDocument_markupdecl(void);
1045 auto void XML_Parser__ParserDesc_ParseDocument_extSubsetDecl(void);
1046 auto void XML_Parser__ParserDesc_ParseDocument_prolog(void);
1047
1048 void XML_Parser__ParserDesc_ParseDocument_DecLength(struct XML_Locator__Position *pos, RT0__Struct pos__tag, OOC_INT32 len) {
1049 register OOC_INT64 i0,i1,i2;
1050
1051 i0 = *(OOC_INT32*)(OOC_INT64)pos;
1052 i1 = len;
1053 *(OOC_INT32*)(OOC_INT64)pos = (i0-i1);
1054 i0 = (OOC_INT64)pos+8;
1055 i2 = *(OOC_INT32*)i0;
1056 *(OOC_INT32*)i0 = (i2-i1);
1057 return;
1058 ;
1059 }
1060
1061
1062 void XML_Parser__ParserDesc_ParseDocument_StorePosition(struct XML_Locator__Position *pos, RT0__Struct pos__tag) {
1063 register OOC_INT64 i0,i1,i2,i3,i4,i5;
1064 OOC_INT32 i;
1065
1066 i0 = (OOC_INT64)p;
1067 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 21555))+64);
1068 i1 = i1!=(OOC_INT64)0;
1069 if (i1) goto l3;
1070 i1=0u;
1071 goto l5;
1072 l3:
1073 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 21579))+64);
1074 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 21583))+40);
1075 i2 = (OOC_INT64)chars;
1076 i1 = i2==i1;
1077
1078 l5:
1079 if (i1) goto l23;
1080 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 21911))+64);
1081 i1 = i1==(OOC_INT64)0;
1082 if (i1) goto l18;
1083 i1 = *(OOC_INT32*)((_check_pointer(i0, 21974))+160);
1084 i1 = i1-1;
1085 i = i1;
1086 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 22008))+152);
1087 i2 = _check_pointer(i2, 22017);
1088 i3 = OOC_ARRAY_LENGTH(i2, 0);
1089 i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 22034))+64);
1090 i2 = (OOC_INT64)*(OOC_INT64*)(i2+((_check_index(i1, i3, OOC_UINT32, 22017))*40));
1091 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i4, 22038))+40);
1092 i2 = i2!=i3;
1093 if (!i2) goto l19;
1094 l12_loop:
1095 i1 = i1-1;
1096 i = i1;
1097 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 22008))+152);
1098 i2 = _check_pointer(i2, 22017);
1099 i3 = OOC_ARRAY_LENGTH(i2, 0);
1100 i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 22034))+64);
1101 i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i4, 22038))+40);
1102 i2 = (OOC_INT64)*(OOC_INT64*)(i2+((_check_index(i1, i3, OOC_UINT32, 22017))*40));
1103 i2 = i2!=i4;
1104 if (i2) goto l12_loop;
1105 goto l19;
1106 l18:
1107 i = 0;
1108 i1=0;
1109 l19:
1110 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 22124))+152);
1111 i2 = _check_pointer(i2, 22133);
1112 i3 = OOC_ARRAY_LENGTH(i2, 0);
1113 i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 22147))+152);
1114 i4 = _check_pointer(i4, 22156);
1115 i5 = OOC_ARRAY_LENGTH(i4, 0);
1116 i4 = (OOC_INT64)*(OOC_INT64*)((i4+((_check_index(i1, i5, OOC_UINT32, 22156))*40))+32);
1117 i2 = *(OOC_INT32*)((i2+((_check_index(i1, i3, OOC_UINT32, 22133))*40))+8);
1118 i3 = *(OOC_INT32*)((_check_pointer(i4, 22163))+48);
1119 *(OOC_INT32*)(OOC_INT64)pos = (i2+i3);
1120 i2 = *(OOC_INT32*)((_check_pointer(i0, 22203))+164);
1121 *(OOC_INT32*)((OOC_INT64)pos+4) = i2;
1122 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 22239))+152);
1123 i2 = _check_pointer(i2, 22248);
1124 i3 = OOC_ARRAY_LENGTH(i2, 0);
1125 i2 = *(OOC_INT32*)((i2+((_check_index(i1, i3, OOC_UINT32, 22248))*40))+8);
1126 i3 = *(OOC_INT32*)((_check_pointer(i0, 22288))+168);
1127 i4 = *(OOC_INT32*)((_check_pointer(i0, 22303))+172);
1128 *(OOC_INT32*)((OOC_INT64)pos+8) = ((i2-i3)+i4);
1129 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 22331))+152);
1130 i2 = _check_pointer(i2, 22340);
1131 i3 = OOC_ARRAY_LENGTH(i2, 0);
1132 i2 = (OOC_INT64)*(OOC_INT64*)((i2+((_check_index(i1, i3, OOC_UINT32, 22340))*40))+24);
1133 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 22351))+8);
1134 i2 = i2!=(OOC_INT64)0;
1135 if (!i2) goto l24;
1136 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 22417))+152);
1137 i2 = _check_pointer(i2, 22426);
1138 i3 = OOC_ARRAY_LENGTH(i2, 0);
1139 i2 = (OOC_INT64)*(OOC_INT64*)((i2+((_check_index(i1, i3, OOC_UINT32, 22426))*40))+24);
1140 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 22437))+8);
1141 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 22417))+152);
1142 i0 = _check_pointer(i0, 22426);
1143 i3 = OOC_ARRAY_LENGTH(i0, 0);
1144 i0 = (OOC_INT64)*(OOC_INT64*)((i0+((_check_index(i1, i3, OOC_UINT32, 22426))*40))+24);
1145 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 22437))+8);
1146 i1 = OOC_ARRAY_LENGTH((_check_pointer(i2, 22443)), 0);
1147 i0 = LongStrings__Length((void*)(_check_pointer(i0, 22443)), i1);
1148 XML_Parser__ParserDesc_ParseDocument_DecLength((void*)(OOC_INT64)pos, (RT0__Struct)((OOC_INT64)pos__tag), (i0+2));
1149 goto l24;
1150 l23:
1151 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 21629))+64);
1152 i1 = *(OOC_INT32*)((_check_pointer(i1, 21633))+48);
1153 i2 = cpos;
1154 *(OOC_INT32*)(OOC_INT64)pos = (i2+i1);
1155 i1 = *(OOC_INT32*)((_check_pointer(i0, 21673))+164);
1156 *(OOC_INT32*)((OOC_INT64)pos+4) = i1;
1157 i1 = *(OOC_INT32*)((_check_pointer(i0, 21714))+168);
1158 i0 = *(OOC_INT32*)((_check_pointer(i0, 21729))+172);
1159 *(OOC_INT32*)((OOC_INT64)pos+8) = ((i2-i1)+i0);
1160 l24:
1161 return;
1162 ;
1163 }
1164
1165
1166 void XML_Parser__ParserDesc_ParseDocument_ResetLocator(void) {
1167 register OOC_INT64 i0;
1168
1169 i0 = (OOC_INT64)p;
1170 *(OOC_INT32*)((_check_pointer(i0, 22540))+164) = 0;
1171 *(OOC_INT32*)((_check_pointer(i0, 22564))+168) = 0;
1172 *(OOC_INT32*)((_check_pointer(i0, 22591))+172) = 0;
1173 cpos = 0;
1174 cdelta = 0;
1175 cstart = 0;
1176 return;
1177 ;
1178 }
1179
1180
1181 void XML_Parser__ParserDesc_ParseDocument_SetFileEntity(XML_DTD__ExternalEntity _new) {
1182 register OOC_INT64 i0,i1;
1183
1184 i0 = (OOC_INT64)p;
1185 i1 = (OOC_INT64)_new;
1186 *(OOC_INT64*)((_check_pointer(i0, 22760))+104) = i1;
1187 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 22788))+8);
1188 *(OOC_INT64*)((_check_pointer(i0, 22791))+16) = i1;
1189 return;
1190 ;
1191 }
1192
1193
1194 void XML_Parser__ParserDesc_ParseDocument_ErrPosNF(OOC_INT32 code, struct XML_Locator__Position *pos, RT0__Struct pos__tag) {
1195 register OOC_INT64 i0,i1,i2,i3;
1196 OOC_INT32 i;
1197
1198 i0 = (OOC_INT64)p;
1199 i1 = (OOC_INT64)XML_Parser__parserContext;
1200 i2 = code;
1201 i1 = (OOC_INT64)XML_Error__New((XML_Error__Context)i1, i2);
1202 *(OOC_INT64*)((_check_pointer(i0, 22948))+176) = i1;
1203 i0 = (OOC_INT64)p;
1204 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 23003))+176);
1205 i2 = *(OOC_INT32*)(OOC_INT64)pos;
1206 i3 = XML_Error__errMsgCharPosBase;
1207 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 23003))+176);
1208 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 23014)))), Msg__MsgDesc_SetIntAttrib)),Msg__MsgDesc_SetIntAttrib)((Msg__Msg)i0, (OOC_CHAR8*)"char", 5, (i2+i3));
1209 i0 = (OOC_INT64)p;
1210 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 23086))+176);
1211 i2 = *(OOC_INT32*)((OOC_INT64)pos+4);
1212 i3 = XML_Error__errMsgLineBase;
1213 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 23086))+176);
1214 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 23097)))), Msg__MsgDesc_SetIntAttrib)),Msg__MsgDesc_SetIntAttrib)((Msg__Msg)i0, (OOC_CHAR8*)"line", 5, (i2+i3));
1215 i0 = (OOC_INT64)p;
1216 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 23161))+176);
1217 i2 = *(OOC_INT32*)((OOC_INT64)pos+8);
1218 i3 = XML_Error__errMsgColumnBase;
1219 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 23161))+176);
1220 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 23172)))), Msg__MsgDesc_SetIntAttrib)),Msg__MsgDesc_SetIntAttrib)((Msg__Msg)i0, (OOC_CHAR8*)"column", 7, (i2+i3));
1221 i0 = (OOC_INT64)p;
1222 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 23277))+104);
1223 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 23288))+72);
1224 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 23253))+176);
1225 XML_Parser__SetBaseURI((Msg__Msg)i0, (OOC_CHAR8*)"baseURI", 8, (URI__URI)i1);
1226 i0 = (OOC_INT64)p;
1227 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 23318))+64);
1228 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 23322))+40);
1229 i2 = (OOC_INT64)chars;
1230 i1 = i2!=i1;
1231 if (!i1) goto l4;
1232 i1 = *(OOC_INT32*)((_check_pointer(i0, 23350))+160);
1233 i1 = i1-1;
1234 i = i1;
1235 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 23472))+152);
1236 i2 = _check_pointer(i2, 23481);
1237 i3 = OOC_ARRAY_LENGTH(i2, 0);
1238 i2 = (OOC_INT64)*(OOC_INT64*)((i2+((_check_index(i1, i3, OOC_UINT32, 23481))*40))+24);
1239 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 23492))+8);
1240 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 23472))+152);
1241 i0 = _check_pointer(i0, 23481);
1242 i3 = OOC_ARRAY_LENGTH(i0, 0);
1243 i0 = (OOC_INT64)*(OOC_INT64*)((i0+((_check_index(i1, i3, OOC_UINT32, 23481))*40))+24);
1244 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 23492))+8);
1245 i1 = OOC_ARRAY_LENGTH((_check_pointer(i2, 23498)), 0);
1246 i0 = (OOC_INT64)Msg__GetLStringPtr((void*)(_check_pointer(i0, 23498)), i1);
1247 i1 = (OOC_INT64)p;
1248 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 23375))+176);
1249 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 23375))+176);
1250 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 23386)))), Msg__MsgDesc_SetLStringAttrib)),Msg__MsgDesc_SetLStringAttrib)((Msg__Msg)i1, (OOC_CHAR8*)"entity_name", 12, (Msg__LStringPtr)i0);
1251 l4:
1252 i0 = (OOC_INT64)p;
1253 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 23520));
1254 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 23540))+176);
1255 i0 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 23520));
1256 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 23529)))), Msg__MsgListDesc_Append)),Msg__MsgListDesc_Append)((Msg__MsgList)i0, (Msg__Msg)i2);
1257 return;
1258 ;
1259 }
1260
1261
1262 void XML_Parser__ParserDesc_ParseDocument_ErrPos(OOC_INT32 code, struct XML_Locator__Position *pos, RT0__Struct pos__tag) {
1263 register OOC_INT64 i0,i1,i2;
1264
1265 i0 = code;
1266 XML_Parser__ParserDesc_ParseDocument_ErrPosNF(i0, (void*)(OOC_INT64)pos, (RT0__Struct)((OOC_INT64)pos__tag));
1267 i0 = (OOC_INT64)p;
1268 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 23689))+80);
1269 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 23702))+72);
1270 i1 = i1==i2;
1271 if (!i1) goto l4;
1272 i1 = (OOC_INT64)XML_Builder__New();
1273 *(OOC_INT64*)((_check_pointer(i0, 23734))+80) = i1;
1274 l4:
1275 return;
1276 ;
1277 }
1278
1279
1280 void XML_Parser__ParserDesc_ParseDocument_WriteBuffer(const OOC_CHAR8 msg__ref[], OOC_LEN msg_0d) {
1281 register OOC_INT64 i0,i1,i2,i3,i4;
1282 OOC_ALLOCATE_VPAR(msg,OOC_CHAR8 ,msg_0d)
1283 OOC_INT32 end;
1284 OOC_INT32 i;
1285
1286 i0 = cpos;
1287 i1 = i0+80;
1288 OOC_INITIALIZE_VPAR(msg__ref,msg,OOC_CHAR8 ,msg_0d)
1289 end = i1;
1290 i = i0;
1291 Out__Ln();
1292 Out__String((OOC_CHAR8*)"### buffer contents ", 21);
1293 Out__String((void*)(OOC_INT64)msg, msg_0d);
1294 Out__String((OOC_CHAR8*)" ###", 5);
1295 Out__Ln();
1296 i2 = (OOC_INT64)chars;
1297 i2 = _check_pointer(i2, 24063);
1298 i3 = OOC_ARRAY_LENGTH(i2, 0);
1299 i2 = *(OOC_UINT16*)(i2+(_check_index(i0, i3, OOC_UINT32, 24063))*2);
1300 i2 = (OOC_UINT16)i2<(OOC_UINT16)65534u;
1301 if (i2) goto l3;
1302 i2=0u;
1303 goto l5;
1304 l3:
1305 i2 = i0<=i1;
1306
1307 l5:
1308 if (!i2) goto l20;
1309 l7_loop:
1310 i2 = (OOC_INT64)chars;
1311 i3 = _check_pointer(i2, 24120);
1312 i4 = OOC_ARRAY_LENGTH(i3, 0);
1313 i3 = *(OOC_UINT16*)(i3+(_check_index(i0, i4, OOC_UINT32, 24120))*2);
1314 i3 = (OOC_UINT16)i3>(OOC_UINT16)255u;
1315 if (i3) goto l10;
1316 i2 = _check_pointer(i2, 24205);
1317 i3 = OOC_ARRAY_LENGTH(i2, 0);
1318 i2 = *(OOC_UINT16*)(i2+(_check_index(i0, i3, OOC_UINT32, 24205))*2);
1319 Out__Char(i2);
1320 goto l11;
1321 l10:
1322 Out__Char(63u);
1323 l11:
1324 i0 = i0+1;
1325 i = i0;
1326 i2 = (OOC_INT64)chars;
1327 i2 = _check_pointer(i2, 24063);
1328 i3 = OOC_ARRAY_LENGTH(i2, 0);
1329 i2 = *(OOC_UINT16*)(i2+(_check_index(i0, i3, OOC_UINT32, 24063))*2);
1330 i2 = (OOC_UINT16)i2<(OOC_UINT16)65534u;
1331 if (i2) goto l14;
1332 i2=0u;
1333 goto l16;
1334 l14:
1335 i2 = i0<=i1;
1336
1337 l16:
1338 if (i2) goto l7_loop;
1339 l20:
1340 Out__Ln();
1341 return;
1342 ;
1343 }
1344
1345
1346 void XML_Parser__ParserDesc_ParseDocument_ErrNF(OOC_INT32 code) {
1347 register OOC_INT64 i0,i1,i2;
1348
1349 i0 = (OOC_INT64)p;
1350 i1 = _check_pointer(i0, 24423);
1351 i1 = (OOC_INT64)&_td_XML_Locator__Position;
1352 XML_Parser__ParserDesc_ParseDocument_StorePosition((void*)((_check_pointer(i0, 24423))+24), (RT0__Struct)i1);
1353 i0 = (OOC_INT64)p;
1354 i2 = _check_pointer(i0, 24459);
1355 i2 = code;
1356 XML_Parser__ParserDesc_ParseDocument_ErrPosNF(i2, (void*)((_check_pointer(i0, 24459))+24), (RT0__Struct)i1);
1357 return;
1358 ;
1359 }
1360
1361
1362 void XML_Parser__ParserDesc_ParseDocument_Err(OOC_INT32 code) {
1363 register OOC_INT64 i0,i1,i2;
1364
1365 i0 = code;
1366 XML_Parser__ParserDesc_ParseDocument_ErrNF(i0);
1367 i0 = (OOC_INT64)p;
1368 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 24566))+80);
1369 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 24579))+72);
1370 i1 = i1==i2;
1371 if (!i1) goto l4;
1372 i1 = (OOC_INT64)XML_Builder__New();
1373 *(OOC_INT64*)((_check_pointer(i0, 24611))+80) = i1;
1374 l4:
1375 return;
1376 ;
1377 }
1378
1379
1380 XML_UnicodeBuffer__CharArray XML_Parser__ParserDesc_ParseDocument_Clone(XML_UnicodeBuffer__CharArray string) {
1381 register OOC_INT64 i0,i1,i2,i3,i4,i5,i6,i7;
1382 XML_UnicodeBuffer__CharArray clone;
1383 OOC_INT32 i;
1384
1385 i0 = (OOC_INT64)string;
1386 i1 = OOC_ARRAY_LENGTH((_check_pointer(i0, 24888)), 0);
1387 i1 = (OOC_INT64)RT0__NewObject(_td_XML_UnicodeBuffer__CharArray.baseTypes[0], i1);
1388 clone = (XML_UnicodeBuffer__CharArray)i1;
1389 i = 0;
1390 i2 = OOC_ARRAY_LENGTH((_check_pointer(i0, 24924)), 0);
1391 i3 = 0<i2;
1392 if (!i3) goto l8;
1393 i3=0;
1394 l3_loop:
1395 i4 = _check_pointer(i1, 24945);
1396 i5 = OOC_ARRAY_LENGTH(i4, 0);
1397 i6 = _check_pointer(i0, 24958);
1398 i7 = OOC_ARRAY_LENGTH(i6, 0);
1399 i6 = *(OOC_UINT16*)(i6+(_check_index(i3, i7, OOC_UINT32, 24958))*2);
1400 *(OOC_UINT16*)(i4+(_check_index(i3, i5, OOC_UINT32, 24945))*2) = i6;
1401 i3 = i3+1;
1402 i = i3;
1403 i4 = i3<i2;
1404 if (i4) goto l3_loop;
1405 l8:
1406 return (XML_UnicodeBuffer__CharArray)i1;
1407 ;
1408 }
1409
1410
1411 XML_UnicodeBuffer__CharArray XML_Parser__ParserDesc_ParseDocument_GetString(OOC_INT32 start, OOC_INT32 end) {
1412 register OOC_INT64 i0,i1,i2,i3,i4,i5,i6,i7,i8;
1413 XML_UnicodeBuffer__CharArray string;
1414 OOC_INT32 i;
1415
1416 i0 = end;
1417 i1 = start;
1418 i2 = (OOC_INT64)RT0__NewObject(_td_XML_UnicodeBuffer__CharArray.baseTypes[0], ((i0-i1)+1));
1419 string = (XML_UnicodeBuffer__CharArray)i2;
1420 i = 0;
1421 i3 = i1!=i0;
1422 if (i3) goto l3;
1423 i0=0;
1424 goto l9;
1425 l3:
1426 i3 = (OOC_INT64)chars;
1427 i4=i1;i1=0;
1428 l4_loop:
1429 i5 = _check_pointer(i2, 25227);
1430 i6 = OOC_ARRAY_LENGTH(i5, 0);
1431 i7 = _check_pointer(i3, 25239);
1432 i8 = OOC_ARRAY_LENGTH(i7, 0);
1433 i7 = *(OOC_UINT16*)(i7+(_check_index(i4, i8, OOC_UINT32, 25239))*2);
1434 *(OOC_UINT16*)(i5+(_check_index(i1, i6, OOC_UINT32, 25227))*2) = i7;
1435 i4 = i4+1;
1436 start = i4;
1437 i1 = i1+1;
1438 i = i1;
1439 i5 = i4!=i0;
1440 if (i5) goto l4_loop;
1441 l8:
1442 i0=i1;
1443 l9:
1444 i1 = _check_pointer(i2, 25300);
1445 i3 = OOC_ARRAY_LENGTH(i1, 0);
1446 *(OOC_UINT16*)(i1+(_check_index(i0, i3, OOC_UINT32, 25300))*2) = 0u;
1447 return (XML_UnicodeBuffer__CharArray)i2;
1448 ;
1449 }
1450
1451
1452 XML_UnicodeBuffer__Input XML_Parser__ParserDesc_ParseDocument_GetBuffer(XML_DTD__ExternalEntity entity) {
1453 register OOC_INT64 i0,i1,i2;
1454 IO__ByteChannel ch;
1455 XML_UnicodeBuffer__Input in;
1456
1457 i0 = (OOC_INT64)entity;
1458 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 25521))+72);
1459 i1 = i1==(OOC_INT64)0;
1460 if (i1) goto l3;
1461 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 25593))+72);
1462 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 25593))+72);
1463 i1 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 25602)))), URI__URIDesc_GetChannel)),URI__URIDesc_GetChannel)((URI__URI)i2, 2);
1464 ch = (IO__ByteChannel)i1;
1465 i2 = (OOC_INT64)p;
1466 i2 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i2, 25674));
1467 i1 = (OOC_INT64)XML_UnicodeBuffer__NewInput((IO__ByteChannel)i1, (XML_UnicodeCodec__Factory)(OOC_INT64)0, (Msg__MsgList)i2);
1468 in = (XML_UnicodeBuffer__Input)i1;
1469 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 25721))+16);
1470 XML_DTD__ExternalEntityDesc_SetCodecFactory((XML_DTD__ExternalEntity)i0, (XML_UnicodeCodec__Factory)i2);
1471 return (XML_UnicodeBuffer__Input)i1;
1472 goto l4;
1473 l3:
1474 return (XML_UnicodeBuffer__Input)(OOC_INT64)0;
1475 l4:
1476 _failed_function(25365); return 0;
1477 ;
1478 }
1479
1480
1481 void XML_Parser__ParserDesc_ParseDocument_CheckInvalidChars(void) {
1482 register OOC_INT64 i0,i1,i2;
1483
1484 i0 = (OOC_INT64)p;
1485 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 25840))+64);
1486 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 25844))+24);
1487 i0 = *(OOC_INT32*)(_check_pointer(i0, 25851));
1488 i0 = i0!=0;
1489 if (!i0) goto l4;
1490 XML_Parser__ParserDesc_ParseDocument_Err(27);
1491 i0 = (OOC_INT64)p;
1492 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 25957))+104);
1493 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 25937))+176);
1494 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 25968))+72);
1495 XML_Parser__SetBaseURI((Msg__Msg)i0, (OOC_CHAR8*)"uri", 4, (URI__URI)i1);
1496 i0 = (OOC_INT64)p;
1497 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 26029))+64);
1498 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 26033))+24);
1499 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 25988))+176);
1500 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 25988))+176);
1501 i1 = *(OOC_INT32*)(_check_pointer(i1, 26040));
1502 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 25999)))), Msg__MsgDesc_SetIntAttrib)),Msg__MsgDesc_SetIntAttrib)((Msg__Msg)i0, (OOC_CHAR8*)"encodings", 10, i1);
1503 l4:
1504 return;
1505 ;
1506 }
1507
1508
1509 XML_UnicodeBuffer__CharArray XML_Parser__ParserDesc_ParseDocument_Internalize(XML_DTD__ExternalEntity entity) {
1510 register OOC_INT64 i0,i1,i2,i3,i4,i5,i6,i7,i8;
1511 XML_UnicodeBuffer__Input in;
1512 OOC_INT32 len;
1513 OOC_INT32 i;
1514 OOC_INT32 delta;
1515 XML_UnicodeBuffer__CharArray str;
1516
1517 i0 = (OOC_INT64)entity;
1518 i1 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_GetBuffer((XML_DTD__ExternalEntity)i0);
1519 in = (XML_UnicodeBuffer__Input)i1;
1520 i2 = i1!=(OOC_INT64)0;
1521 if (i2) goto l3;
1522 i1 = (OOC_INT64)RT0__NewObject(_td_XML_UnicodeBuffer__CharArray.baseTypes[0], 2);
1523 str = (XML_UnicodeBuffer__CharArray)i1;
1524 len = 0;
1525 i2=0;
1526 goto l36;
1527 l3:
1528 i2 = XML_UnicodeBuffer__InputDesc_NextBlock((XML_UnicodeBuffer__Input)i1);
1529 if (!i2) goto l10;
1530 l5_loop:
1531 i2 = XML_UnicodeBuffer__InputDesc_NextBlock((XML_UnicodeBuffer__Input)i1);
1532 if (i2) goto l5_loop;
1533 l10:
1534 i2 = *(OOC_INT32*)((_check_pointer(i1, 26434))+52);
1535 len = i2;
1536 i = 0;
1537 delta = 0;
1538 i3 = 0!=i2;
1539 if (i3) goto l13;
1540 i3=0;
1541 goto l27;
1542 l13:
1543 i3=0;i4=0;
1544 l14_loop:
1545 i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 26521))+40);
1546 i5 = _check_pointer(i5, 26528);
1547 i6 = OOC_ARRAY_LENGTH(i5, 0);
1548 i5 = *(OOC_UINT16*)(i5+(_check_index(i3, i6, OOC_UINT32, 26528))*2);
1549 switch (i5) {
1550 case 13u:
1551 i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 26571))+40);
1552 i5 = _check_pointer(i5, 26578);
1553 i6 = OOC_ARRAY_LENGTH(i5, 0);
1554 *(OOC_UINT16*)(i5+(_check_index((i3-i4), i6, OOC_UINT32, 26578))*2) = 10u;
1555 i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 26619))+40);
1556 i5 = _check_pointer(i5, 26626);
1557 i6 = OOC_ARRAY_LENGTH(i5, 0);
1558 i7 = i3+1;
1559 i5 = *(OOC_UINT16*)(i5+(_check_index(i7, i6, OOC_UINT32, 26626))*2);
1560 i5 = i5==10u;
1561 if (i5) goto l19;
1562 {register OOC_INT64 h0=i3;i3=i4;i4=h0;}
1563 goto l22;
1564 l19:
1565 i3 = i4+1;
1566 delta = i3;
1567 i4=i7;
1568 goto l22;
1569 default:
1570 i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 26729))+40);
1571 i5 = _check_pointer(i5, 26736);
1572 i6 = OOC_ARRAY_LENGTH(i5, 0);
1573 i7 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 26751))+40);
1574 i7 = _check_pointer(i7, 26758);
1575 i8 = OOC_ARRAY_LENGTH(i7, 0);
1576 i7 = *(OOC_UINT16*)(i7+(_check_index(i3, i8, OOC_UINT32, 26758))*2);
1577 *(OOC_UINT16*)(i5+(_check_index((i3-i4), i6, OOC_UINT32, 26736))*2) = i7;
1578 {register OOC_INT64 h0=i3;i3=i4;i4=h0;}
1579 goto l22;
1580 }
1581 l22:
1582 i4 = i4+1;
1583 i = i4;
1584 i5 = i4!=i2;
1585 if (!i5) goto l27;
1586 {register OOC_INT64 h0=i3;i3=i4;i4=h0;}
1587 goto l14_loop;
1588 l27:
1589 i2 = i2-i3;
1590 len = i2;
1591 i3 = (OOC_INT64)RT0__NewObject(_td_XML_UnicodeBuffer__CharArray.baseTypes[0], (i2+2));
1592 str = (XML_UnicodeBuffer__CharArray)i3;
1593 i = 0;
1594 i4 = 0<i2;
1595 if (!i4) goto l35;
1596 i4=0;
1597 l30_loop:
1598 i5 = _check_pointer(i3, 26905);
1599 i6 = OOC_ARRAY_LENGTH(i5, 0);
1600 i7 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 26914))+40);
1601 i7 = _check_pointer(i7, 26921);
1602 i8 = OOC_ARRAY_LENGTH(i7, 0);
1603 i7 = *(OOC_UINT16*)(i7+(_check_index(i4, i8, OOC_UINT32, 26921))*2);
1604 *(OOC_UINT16*)(i5+(_check_index(i4, i6, OOC_UINT32, 26905))*2) = i7;
1605 i4 = i4+1;
1606 i = i4;
1607 i5 = i4<i2;
1608 if (i5) goto l30_loop;
1609 l35:
1610 XML_Parser__ParserDesc_ParseDocument_CheckInvalidChars();
1611 XML_UnicodeBuffer__InputDesc_Close((XML_UnicodeBuffer__Input)i1);
1612 i1=i3;
1613 l36:
1614 i0 = *(OOC_INT8*)((_check_pointer(i0, 27061))+16);
1615 switch (i0) {
1616 case 2:
1617 i0 = _check_pointer(i1, 27117);
1618 i3 = OOC_ARRAY_LENGTH(i0, 0);
1619 *(OOC_UINT16*)(i0+(_check_index(i2, i3, OOC_UINT32, 27117))*2) = 65535u;
1620 goto l41;
1621 case 3:
1622 i0 = _check_pointer(i1, 27191);
1623 i3 = OOC_ARRAY_LENGTH(i0, 0);
1624 *(OOC_UINT16*)(i0+(_check_index(i2, i3, OOC_UINT32, 27191))*2) = 65534u;
1625 goto l41;
1626 default:
1627 _failed_case(i0, 27050);
1628 goto l41;
1629 }
1630 l41:
1631 return (XML_UnicodeBuffer__CharArray)i1;
1632 ;
1633 }
1634
1635
1636 void XML_Parser__ParserDesc_ParseDocument_PushEntity(XML_DTD__Entity entity, OOC_CHAR8 syncEntity) {
1637 register OOC_INT64 i0,i1,i2,i3,i4,i5,i6,i7,i8;
1638 XML_Parser__PEInfoList newList;
1639 OOC_INT32 i;
1640
1641 i0 = (OOC_INT64)entity;
1642 i1 = i0!=(OOC_INT64)0;
1643 if (!i1) goto l3;
1644 *(OOC_UINT8*)((_check_pointer(i0, 27685))+33) = 1u;
1645 l3:
1646 i1 = (OOC_INT64)p;
1647 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 27755))+152);
1648 i3 = *(OOC_INT32*)((_check_pointer(i1, 27734))+160);
1649 i2 = OOC_ARRAY_LENGTH((_check_pointer(i2, 27764)), 0);
1650 i2 = i3==i2;
1651 if (!i2) goto l14;
1652 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 27801))+152);
1653 i2 = OOC_ARRAY_LENGTH((_check_pointer(i2, 27810)), 0);
1654 i2 = (OOC_INT64)RT0__NewObject(_td_XML_Parser__PEInfoList.baseTypes[0], (i2+4));
1655 newList = (XML_Parser__PEInfoList)i2;
1656 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 27855))+152);
1657 i = 0;
1658 i3 = OOC_ARRAY_LENGTH((_check_pointer(i3, 27864)), 0);
1659 i4 = 0<i3;
1660 if (!i4) goto l13;
1661 i4=0;
1662 l8_loop:
1663 i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 27897))+152);
1664 i5 = _check_pointer(i5, 27906);
1665 i6 = OOC_ARRAY_LENGTH(i5, 0);
1666 i7 = _check_pointer(i2, 27889);
1667 i8 = OOC_ARRAY_LENGTH(i7, 0);
1668 _copy_block((i5+((_check_index(i4, i6, OOC_UINT32, 27906))*40)),(i7+((_check_index(i4, i8, OOC_UINT32, 27889))*40)),40);
1669 i4 = i4+1;
1670 i = i4;
1671 i5 = i4<i3;
1672 if (i5) goto l8_loop;
1673 l13:
1674 *(OOC_INT64*)((_check_pointer(i1, 27932))+152) = i2;
1675 l14:
1676 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 27971))+152);
1677 i2 = _check_pointer(i2, 27980);
1678 i3 = *(OOC_INT32*)((_check_pointer(i1, 27982))+160);
1679 i4 = OOC_ARRAY_LENGTH(i2, 0);
1680 *(OOC_INT64*)((i2+((_check_index(i3, i4, OOC_UINT32, 27980))*40))+24) = i0;
1681 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 28022))+152);
1682 i2 = _check_pointer(i2, 28031);
1683 i3 = *(OOC_INT32*)((_check_pointer(i1, 28033))+160);
1684 i4 = OOC_ARRAY_LENGTH(i2, 0);
1685 i5 = (OOC_INT64)chars;
1686 *(OOC_INT64*)(i2+((_check_index(i3, i4, OOC_UINT32, 28031))*40)) = i5;
1687 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 28074))+152);
1688 i2 = _check_pointer(i2, 28083);
1689 i3 = *(OOC_INT32*)((_check_pointer(i1, 28085))+160);
1690 i4 = OOC_ARRAY_LENGTH(i2, 0);
1691 i5 = cpos;
1692 *(OOC_INT32*)((i2+((_check_index(i3, i4, OOC_UINT32, 28083))*40))+8) = i5;
1693 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 28124))+152);
1694 i2 = _check_pointer(i2, 28133);
1695 i3 = *(OOC_INT32*)((_check_pointer(i1, 28135))+160);
1696 i4 = OOC_ARRAY_LENGTH(i2, 0);
1697 i5 = *(OOC_INT32*)((_check_pointer(i1, 28166))+164);
1698 *(OOC_INT32*)((i2+((_check_index(i3, i4, OOC_UINT32, 28133))*40))+12) = i5;
1699 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 28185))+152);
1700 i2 = _check_pointer(i2, 28194);
1701 i3 = *(OOC_INT32*)((_check_pointer(i1, 28196))+160);
1702 i4 = OOC_ARRAY_LENGTH(i2, 0);
1703 i5 = *(OOC_INT32*)((_check_pointer(i1, 28230))+168);
1704 *(OOC_INT32*)((i2+((_check_index(i3, i4, OOC_UINT32, 28194))*40))+16) = i5;
1705 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 28252))+152);
1706 i2 = _check_pointer(i2, 28261);
1707 i3 = *(OOC_INT32*)((_check_pointer(i1, 28263))+160);
1708 i4 = OOC_ARRAY_LENGTH(i2, 0);
1709 i5 = *(OOC_INT32*)((_check_pointer(i1, 28297))+172);
1710 *(OOC_INT32*)((i2+((_check_index(i3, i4, OOC_UINT32, 28261))*40))+20) = i5;
1711 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 28319))+152);
1712 i2 = _check_pointer(i2, 28328);
1713 i3 = *(OOC_INT32*)((_check_pointer(i1, 28330))+160);
1714 i4 = OOC_ARRAY_LENGTH(i2, 0);
1715 i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 28352))+64);
1716 *(OOC_INT64*)((i2+((_check_index(i3, i4, OOC_UINT32, 28328))*40))+32) = i5;
1717 i2 = *(OOC_INT32*)((_check_pointer(i1, 28370))+160);
1718 *(OOC_INT32*)((_check_pointer(i1, 28370))+160) = (i2+1);
1719 i2 = syncEntity;
1720 if (i2) goto l17;
1721 i3=0u;
1722 goto l19;
1723 l17:
1724 i3 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 28422)))), &_td_XML_DTD__ExternalEntityDesc);
1725
1726 l19:
1727 if (i3) goto l47;
1728 i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 29081)))), &_td_XML_DTD__ExternalEntityDesc);
1729 if (i1) goto l23;
1730 i1=0u;
1731 goto l25;
1732 l23:
1733 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 29113))+24);
1734 i1 = i1==(OOC_INT64)0;
1735
1736 l25:
1737 if (!i1) goto l27;
1738 i1 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_Internalize((XML_DTD__ExternalEntity)(_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 29197)))), &_td_XML_DTD__ExternalEntityDesc, 29197)));
1739 XML_DTD__EntityDesc_SetEntityValue((XML_DTD__Entity)i0, (XML_UnicodeBuffer__CharArray)i1);
1740 l27:
1741 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 29258))+24);
1742 i1 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_Clone((XML_UnicodeBuffer__CharArray)i1);
1743 chars = (XML_UnicodeBuffer__CharArray)i1;
1744 i3 = *(OOC_INT8*)((_check_pointer(i0, 29302))+16);
1745 switch (i3) {
1746 case 0:
1747 case 2:
1748 i2 = _check_pointer(i1, 29391);
1749 i1 = OOC_ARRAY_LENGTH((_check_pointer(i1, 29402)), 0);
1750 i3 = OOC_ARRAY_LENGTH(i2, 0);
1751 *(OOC_UINT16*)(i2+(_check_index((i1-2), i3, OOC_UINT32, 29391))*2) = 65535u;
1752 goto l39;
1753 case 1:
1754 case 3:
1755 i3 = _check_pointer(i1, 29511);
1756 i4 = OOC_ARRAY_LENGTH((_check_pointer(i1, 29522)), 0);
1757 i5 = OOC_ARRAY_LENGTH(i3, 0);
1758 *(OOC_UINT16*)(i3+(_check_index((i4-2), i5, OOC_UINT32, 29511))*2) = 65534u;
1759 i3 = (OOC_INT64)p;
1760 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i3, 29916))+128);
1761 i3 = i3==(OOC_INT64)0;
1762 if (!i3) goto l39;
1763 i3 = _check_pointer(i1, 29963);
1764 i4 = OOC_ARRAY_LENGTH((_check_pointer(i1, 29974)), 0);
1765 i5 = OOC_ARRAY_LENGTH(i3, 0);
1766 *(OOC_UINT16*)(i3+(_check_index((i4-2), i5, OOC_UINT32, 29963))*2) = 32u;
1767 if (i2) goto l35;
1768 i2 = _check_pointer(i1, 30111);
1769 i1 = OOC_ARRAY_LENGTH((_check_pointer(i1, 30122)), 0);
1770 i3 = OOC_ARRAY_LENGTH(i2, 0);
1771 *(OOC_UINT16*)(i2+(_check_index((i1-1), i3, OOC_UINT32, 30111))*2) = 65534u;
1772 goto l39;
1773 l35:
1774 i2 = _check_pointer(i1, 30038);
1775 i1 = OOC_ARRAY_LENGTH((_check_pointer(i1, 30049)), 0);
1776 i3 = OOC_ARRAY_LENGTH(i2, 0);
1777 *(OOC_UINT16*)(i2+(_check_index((i1-1), i3, OOC_UINT32, 30038))*2) = 65535u;
1778 goto l39;
1779 default:
1780 _failed_case(i3, 29291);
1781 goto l39;
1782 }
1783 l39:
1784 i1 = *(OOC_INT8*)((_check_pointer(i0, 30218))+16);
1785 i1 = i1==0;
1786 if (i1) goto l42;
1787 i1 = *(OOC_INT8*)((_check_pointer(i0, 30275))+16);
1788 i1 = i1==1;
1789
1790 goto l44;
1791 l42:
1792 i1=1u;
1793 l44:
1794 if (!i1) goto l52;
1795 i1 = (OOC_INT64)p;
1796 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 30329))+8);
1797 *(OOC_INT64*)((_check_pointer(i1, 30332))+24) = (_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 30365)))), &_td_XML_DTD__InternalEntityDesc, 30365));
1798 goto l52;
1799 l47:
1800 i2 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_GetBuffer((XML_DTD__ExternalEntity)(_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 28534)))), &_td_XML_DTD__ExternalEntityDesc, 28534)));
1801 *(OOC_INT64*)((_check_pointer(i1, 28504))+64) = i2;
1802 XML_Parser__ParserDesc_ParseDocument_SetFileEntity((XML_DTD__ExternalEntity)(_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 28586)))), &_td_XML_DTD__ExternalEntityDesc, 28586)));
1803 XML_Parser__ParserDesc_ParseDocument_ResetLocator();
1804 i0 = (OOC_INT64)p;
1805 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 28639))+64);
1806 i1 = i1==(OOC_INT64)0;
1807 if (i1) goto l50;
1808 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 28803))+64);
1809 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 28807))+40);
1810 chars = (XML_UnicodeBuffer__CharArray)i0;
1811 goto l52;
1812 l50:
1813 i0 = (OOC_INT64)RT0__NewObject(_td_XML_UnicodeBuffer__CharArray.baseTypes[0], 2);
1814 chars = (XML_UnicodeBuffer__CharArray)i0;
1815 i0 = _check_pointer(i0, 28746);
1816 i1 = OOC_ARRAY_LENGTH(i0, 0);
1817 *(OOC_UINT16*)(i0+(_check_index(0, i1, OOC_UINT8, 28746))*2) = 65535u;
1818 l52:
1819 cpos = 0;
1820 cdelta = 0;
1821 cstart = 0;
1822 return;
1823 ;
1824 }
1825
1826
1827 void XML_Parser__ParserDesc_ParseDocument_PopEntity(void) {
1828 register OOC_INT64 i0,i1,i2,i3,i4;
1829 OOC_INT32 i;
1830
1831 i0 = (OOC_INT64)p;
1832 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 30557))+128);
1833 i0 = i0!=(OOC_INT64)0;
1834 if (!i0) goto l3;
1835 i0 = (OOC_INT64)dtd;
1836 i1 = cdelta;
1837 i2 = cpos;
1838 i3 = cstart;
1839 i4 = (OOC_INT64)chars;
1840 i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 30759)))), XML_DTD__BuilderDesc_NewCharacters)),XML_DTD__BuilderDesc_NewCharacters)((XML_DTD__Builder)i0, (XML_UnicodeBuffer__CharArray)i4, i3, (i2-i1), 1u);
1841 i1 = (OOC_INT64)p;
1842 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 30729))+128);
1843 XML_DTD__AttValueDesc_Append((XML_DTD__AttValue)i1, (XML_DTD__Fragment)i0);
1844 l3:
1845 i0 = (OOC_INT64)p;
1846 i1 = *(OOC_INT32*)((_check_pointer(i0, 30841))+160);
1847 *(OOC_INT32*)((_check_pointer(i0, 30841))+160) = (i1-1);
1848 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 30867))+64);
1849 i1 = i1!=(OOC_INT64)0;
1850 if (i1) goto l6;
1851 i0=0u;
1852 goto l8;
1853 l6:
1854 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 30891))+152);
1855 i1 = _check_pointer(i1, 30900);
1856 i2 = *(OOC_INT32*)((_check_pointer(i0, 30902))+160);
1857 i3 = OOC_ARRAY_LENGTH(i1, 0);
1858 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 30883))+64);
1859 i1 = (OOC_INT64)*(OOC_INT64*)((i1+((_check_index(i2, i3, OOC_UINT32, 30900))*40))+32);
1860 i0 = i0!=i1;
1861
1862 l8:
1863 if (!i0) goto l10;
1864 XML_Parser__ParserDesc_ParseDocument_CheckInvalidChars();
1865 i0 = (OOC_INT64)p;
1866 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 30962))+64);
1867 XML_UnicodeBuffer__InputDesc_Close((XML_UnicodeBuffer__Input)i0);
1868 l10:
1869 i0 = (OOC_INT64)p;
1870 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 31056))+152);
1871 i1 = _check_pointer(i1, 31065);
1872 i2 = *(OOC_INT32*)((_check_pointer(i0, 31067))+160);
1873 i3 = OOC_ARRAY_LENGTH(i1, 0);
1874 i1 = (OOC_INT64)*(OOC_INT64*)(i1+((_check_index(i2, i3, OOC_UINT32, 31065))*40));
1875 chars = (XML_UnicodeBuffer__CharArray)i1;
1876 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 31107))+152);
1877 i1 = _check_pointer(i1, 31116);
1878 i2 = *(OOC_INT32*)((_check_pointer(i0, 31118))+160);
1879 i3 = OOC_ARRAY_LENGTH(i1, 0);
1880 i1 = *(OOC_INT32*)((i1+((_check_index(i2, i3, OOC_UINT32, 31116))*40))+8);
1881 cpos = i1;
1882 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 31164))+152);
1883 i1 = _check_pointer(i1, 31173);
1884 i2 = *(OOC_INT32*)((_check_pointer(i0, 31175))+160);
1885 i3 = OOC_ARRAY_LENGTH(i1, 0);
1886 i1 = *(OOC_INT32*)((i1+((_check_index(i2, i3, OOC_UINT32, 31173))*40))+12);
1887 *(OOC_INT32*)((_check_pointer(i0, 31149))+164) = i1;
1888 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 31228))+152);
1889 i1 = _check_pointer(i1, 31237);
1890 i2 = *(OOC_INT32*)((_check_pointer(i0, 31239))+160);
1891 i3 = OOC_ARRAY_LENGTH(i1, 0);
1892 i1 = *(OOC_INT32*)((i1+((_check_index(i2, i3, OOC_UINT32, 31237))*40))+16);
1893 *(OOC_INT32*)((_check_pointer(i0, 31210))+168) = i1;
1894 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 31295))+152);
1895 i1 = _check_pointer(i1, 31304);
1896 i2 = *(OOC_INT32*)((_check_pointer(i0, 31306))+160);
1897 i3 = OOC_ARRAY_LENGTH(i1, 0);
1898 i1 = *(OOC_INT32*)((i1+((_check_index(i2, i3, OOC_UINT32, 31304))*40))+20);
1899 *(OOC_INT32*)((_check_pointer(i0, 31277))+172) = i1;
1900 i1 = *(OOC_INT32*)((_check_pointer(i0, 31349))+160);
1901 i1 = i1-1;
1902 i = i1;
1903 i2 = i1>=0;
1904 if (i2) goto l13;
1905 i2=0u;
1906 goto l15;
1907 l13:
1908 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 31391))+152);
1909 i2 = _check_pointer(i2, 31400);
1910 i3 = OOC_ARRAY_LENGTH(i2, 0);
1911 i2 = (OOC_INT64)*(OOC_INT64*)((i2+((_check_index(i1, i3, OOC_UINT32, 31400))*40))+24);
1912 i2 = !(OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 31412)))), &_td_XML_DTD__ExternalEntityDesc));
1913
1914 l15:
1915 if (!i2) goto l27;
1916 l18_loop:
1917 i1 = i1-1;
1918 i = i1;
1919 i2 = i1>=0;
1920 if (i2) goto l21;
1921 i2=0u;
1922 goto l23;
1923 l21:
1924 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 31391))+152);
1925 i2 = _check_pointer(i2, 31400);
1926 i3 = OOC_ARRAY_LENGTH(i2, 0);
1927 i2 = (OOC_INT64)*(OOC_INT64*)((i2+((_check_index(i1, i3, OOC_UINT32, 31400))*40))+24);
1928 i2 = !(OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 31412)))), &_td_XML_DTD__ExternalEntityDesc));
1929
1930 l23:
1931 if (i2) goto l18_loop;
1932 l27:
1933 i2 = i1>=0;
1934 if (i2) goto l30;
1935 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 31589))+96);
1936 XML_Parser__ParserDesc_ParseDocument_SetFileEntity((XML_DTD__ExternalEntity)i0);
1937 goto l31;
1938 l30:
1939 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 31512))+152);
1940 i0 = _check_pointer(i0, 31521);
1941 i2 = OOC_ARRAY_LENGTH(i0, 0);
1942 i0 = (OOC_INT64)*(OOC_INT64*)((i0+((_check_index(i1, i2, OOC_UINT32, 31521))*40))+24);
1943 XML_Parser__ParserDesc_ParseDocument_SetFileEntity((XML_DTD__ExternalEntity)(_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 31537)))), &_td_XML_DTD__ExternalEntityDesc, 31537)));
1944 l31:
1945 i0 = (OOC_INT64)p;
1946 i2 = *(OOC_INT32*)((_check_pointer(i0, 31640))+160);
1947 i1 = i1!=(i2-1);
1948 if (i1) goto l34;
1949 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 31881))+8);
1950 *(OOC_INT64*)((_check_pointer(i1, 31884))+24) = (OOC_INT64)0;
1951 goto l35;
1952 l34:
1953 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 31741))+8);
1954 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 31767))+152);
1955 i2 = _check_pointer(i2, 31776);
1956 i3 = *(OOC_INT32*)((_check_pointer(i0, 31778))+160);
1957 i4 = OOC_ARRAY_LENGTH(i2, 0);
1958 i2 = (OOC_INT64)*(OOC_INT64*)((i2+((_check_index((i3-1), i4, OOC_UINT32, 31776))*40))+24);
1959 *(OOC_INT64*)((_check_pointer(i1, 31744))+24) = (_type_guard(i2, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 31806)))), &_td_XML_DTD__InternalEntityDesc, 31806));
1960 l35:
1961 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 31944))+152);
1962 i1 = _check_pointer(i1, 31953);
1963 i2 = *(OOC_INT32*)((_check_pointer(i0, 31955))+160);
1964 i3 = OOC_ARRAY_LENGTH(i1, 0);
1965 i1 = (OOC_INT64)*(OOC_INT64*)((i1+((_check_index(i2, i3, OOC_UINT32, 31953))*40))+32);
1966 *(OOC_INT64*)((_check_pointer(i0, 31935))+64) = i1;
1967 i1 = cpos;
1968 cstart = i1;
1969 cdelta = 0;
1970 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 32027))+152);
1971 i1 = _check_pointer(i1, 32036);
1972 i2 = *(OOC_INT32*)((_check_pointer(i0, 32038))+160);
1973 i3 = OOC_ARRAY_LENGTH(i1, 0);
1974 i1 = (OOC_INT64)*(OOC_INT64*)((i1+((_check_index(i2, i3, OOC_UINT32, 32036))*40))+24);
1975 i1 = i1!=(OOC_INT64)0;
1976 if (!i1) goto l38;
1977 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 32081))+152);
1978 i1 = _check_pointer(i1, 32090);
1979 i0 = *(OOC_INT32*)((_check_pointer(i0, 32092))+160);
1980 i2 = OOC_ARRAY_LENGTH(i1, 0);
1981 i0 = (OOC_INT64)*(OOC_INT64*)((i1+((_check_index(i0, i2, OOC_UINT32, 32090))*40))+24);
1982 *(OOC_UINT8*)((_check_pointer(i0, 32113))+33) = 0u;
1983 l38:
1984 return;
1985 ;
1986 }
1987
1988
1989 void XML_Parser__ParserDesc_ParseDocument_NextBlock(void) {
1990 register OOC_INT64 i0,i1,i2,i3;
1991 OOC_INT32 oldOffset;
1992 OOC_CHAR8 res;
1993
1994 i0 = (OOC_INT64)chars;
1995 i1 = _check_pointer(i0, 32297);
1996 i2 = OOC_ARRAY_LENGTH(i1, 0);
1997 i3 = cpos;
1998 i1 = *(OOC_UINT16*)(i1+(_check_index(i3, i2, OOC_UINT32, 32297))*2);
1999 _assert((i1==65534u), 127, 32284);
2000 i1 = (OOC_INT64)p;
2001 i2 = *(OOC_INT32*)((_check_pointer(i1, 32336))+160);
2002 i2 = i2!=0;
2003 if (i2) goto l3;
2004 i2=0u;
2005 goto l5;
2006 l3:
2007 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 32358))+64);
2008 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 32362))+40);
2009 i2 = i2!=i0;
2010
2011 l5:
2012 if (i2) goto l7;
2013 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 32884))+64);
2014 i0 = *(OOC_INT32*)((_check_pointer(i0, 32888))+48);
2015 oldOffset = i0;
2016 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 32922))+64);
2017 i1 = XML_UnicodeBuffer__InputDesc_NextBlock((XML_UnicodeBuffer__Input)i1);
2018 res = i1;
2019 i1 = (OOC_INT64)p;
2020 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 32959))+64);
2021 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 32963))+40);
2022 chars = (XML_UnicodeBuffer__CharArray)i2;
2023 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 32992))+64);
2024 i2 = *(OOC_INT32*)((_check_pointer(i2, 32996))+48);
2025 i3 = cpos;
2026 cpos = (i3-(i2-i0));
2027 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 33047))+64);
2028 i2 = *(OOC_INT32*)((_check_pointer(i2, 33051))+48);
2029 i3 = cstart;
2030 cstart = (i3-(i2-i0));
2031 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 33110))+64);
2032 i2 = *(OOC_INT32*)((_check_pointer(i2, 33114))+48);
2033 i3 = *(OOC_INT32*)((_check_pointer(i1, 33094))+168);
2034 *(OOC_INT32*)((_check_pointer(i1, 33094))+168) = (i3-(i2-i0));
2035 goto l11;
2036 l7:
2037 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 32500))+128);
2038 i1 = i1==(OOC_INT64)0;
2039 if (!i1) goto l10;
2040 i1 = _check_pointer(i0, 32553);
2041 i2 = OOC_ARRAY_LENGTH((_check_pointer(i0, 32564)), 0);
2042 i3 = OOC_ARRAY_LENGTH(i1, 0);
2043 i1 = *(OOC_UINT16*)(i1+(_check_index((i2-2), i3, OOC_UINT32, 32553))*2);
2044 _assert((i1==32u), 127, 32540);
2045 i1 = _check_pointer(i0, 32593);
2046 i0 = OOC_ARRAY_LENGTH((_check_pointer(i0, 32604)), 0);
2047 i2 = OOC_ARRAY_LENGTH(i1, 0);
2048 *(OOC_UINT16*)(i1+(_check_index((i0-2), i2, OOC_UINT32, 32593))*2) = 65534u;
2049 l10:
2050 XML_Parser__ParserDesc_ParseDocument_PopEntity();
2051 l11:
2052 return;
2053 ;
2054 }
2055
2056
2057 void XML_Parser__ParserDesc_ParseDocument_DiscardPreviousInput(void) {
2058 register OOC_INT64 i0,i1,i2;
2059
2060 i0 = (OOC_INT64)p;
2061 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 33230))+64);
2062 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 33234))+40);
2063 i2 = (OOC_INT64)chars;
2064 i1 = i1==i2;
2065 if (!i1) goto l4;
2066 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 33265))+64);
2067 i1 = cpos;
2068 *(OOC_INT32*)((_check_pointer(i0, 33269))+56) = i1;
2069 cstart = i1;
2070 l4:
2071 return;
2072 ;
2073 }
2074
2075
2076 void XML_Parser__ParserDesc_ParseDocument_EndOfLine(void) {
2077 register OOC_INT64 i0,i1,i2;
2078
2079 i0 = (OOC_INT64)p;
2080 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 33508))+64);
2081 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 33512))+40);
2082 i2 = (OOC_INT64)chars;
2083 i1 = i2==i1;
2084 if (!i1) goto l4;
2085 i1 = *(OOC_INT32*)((_check_pointer(i0, 33540))+164);
2086 *(OOC_INT32*)((_check_pointer(i0, 33540))+164) = (i1+1);
2087 i1 = cpos;
2088 *(OOC_INT32*)((_check_pointer(i0, 33562))+168) = i1;
2089 *(OOC_INT32*)((_check_pointer(i0, 33594))+172) = 0;
2090 l4:
2091 return;
2092 ;
2093 }
2094
2095
2096 void XML_Parser__ParserDesc_ParseDocument_Tab(void) {
2097 register OOC_INT64 i0,i1,i2,i3;
2098 OOC_INT32 currColumn;
2099
2100 i0 = (OOC_INT64)p;
2101 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 33813))+64);
2102 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 33817))+40);
2103 i2 = (OOC_INT64)chars;
2104 i1 = i2==i1;
2105 if (!i1) goto l4;
2106 i1 = *(OOC_INT32*)((_check_pointer(i0, 33859))+168);
2107 i2 = cpos;
2108 i3 = *(OOC_INT32*)((_check_pointer(i0, 33874))+172);
2109 i1 = (i2-i1)+i3;
2110 currColumn = i1;
2111 i2 = *(OOC_INT32*)((_check_pointer(i0, 33903))+172);
2112 *(OOC_INT32*)((_check_pointer(i0, 33903))+172) = (i2+((8-(_mod(i1,8)))-1));
2113 l4:
2114 return;
2115 ;
2116 }
2117
2118
2119 OOC_CHAR8 XML_Parser__ParserDesc_ParseDocument_LookingAtS(void) {
2120 register OOC_INT64 i0,i1,i2,i3,i4;
2121
2122 i0 = (OOC_INT64)chars;
2123 i1 = _check_pointer(i0, 34090);
2124 i2 = OOC_ARRAY_LENGTH(i1, 0);
2125 i3 = cpos;
2126 i1 = *(OOC_UINT16*)(i1+(_check_index(i3, i2, OOC_UINT32, 34090))*2);
2127 i1 = (OOC_UINT16)i1<=(OOC_UINT16)32u;
2128 if (i1) goto l23;
2129 i1 = (OOC_INT64)p;
2130 i2 = *(OOC_UINT8*)((_check_pointer(i1, 34144))+119);
2131 if (i2) goto l5;
2132 i2 = *(OOC_UINT8*)((_check_pointer(i1, 34167))+120);
2133
2134 goto l7;
2135 l5:
2136 i2=1u;
2137 l7:
2138 if (i2) goto l9;
2139 i2=0u;
2140 goto l11;
2141 l9:
2142 i2 = _check_pointer(i0, 34207);
2143 i4 = OOC_ARRAY_LENGTH(i2, 0);
2144 i2 = *(OOC_UINT16*)(i2+(_check_index(i3, i4, OOC_UINT32, 34207))*2);
2145 i2 = i2==37u;
2146
2147 l11:
2148 if (i2) goto l13;
2149 return 0u;
2150 goto l24;
2151 l13:
2152 i2 = _check_pointer(i0, 34242);
2153 i3 = i3+1;
2154 i4 = OOC_ARRAY_LENGTH(i2, 0);
2155 i2 = *(OOC_UINT16*)(i2+(_check_index(i3, i4, OOC_UINT32, 34242))*2);
2156 i2 = i2==65534u;
2157 if (i2) goto l16;
2158 i0 = _check_pointer(i0, 34584);
2159 i1 = OOC_ARRAY_LENGTH(i0, 0);
2160 i0 = *(OOC_UINT16*)(i0+(_check_index(i3, i1, OOC_UINT32, 34584))*2);
2161 i0 = XML_Parser__IsNameChar(i0);
2162 return i0;
2163 goto l24;
2164 l16:
2165 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 34298))+64);
2166 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 34302))+40);
2167 i0 = i0==i1;
2168 if (i0) goto l19;
2169 return 0u;
2170 goto l24;
2171 l19:
2172 cpos = i3;
2173 XML_Parser__ParserDesc_ParseDocument_NextBlock();
2174 i0 = cpos;
2175 i0 = i0-1;
2176 cpos = i0;
2177 i1 = (OOC_INT64)chars;
2178 i1 = _check_pointer(i1, 34478);
2179 i2 = OOC_ARRAY_LENGTH(i1, 0);
2180 i0 = *(OOC_UINT16*)(i1+(_check_index((i0+1), i2, OOC_UINT32, 34478))*2);
2181 i0 = XML_Parser__IsNameChar(i0);
2182 return i0;
2183 goto l24;
2184 l23:
2185 return 1u;
2186 l24:
2187 _failed_function(33992); return 0;
2188 ;
2189 }
2190
2191
2192 OOC_CHAR8 XML_Parser__ParserDesc_ParseDocument_LookingAtSnoPE(void) {
2193 register OOC_INT64 i0,i1,i2;
2194
2195 i0 = (OOC_INT64)chars;
2196 i0 = _check_pointer(i0, 34772);
2197 i1 = OOC_ARRAY_LENGTH(i0, 0);
2198 i2 = cpos;
2199 i0 = *(OOC_UINT16*)(i0+(_check_index(i2, i1, OOC_UINT32, 34772))*2);
2200 return ((OOC_UINT16)i0<=(OOC_UINT16)32u);
2201 ;
2202 }
2203
2204
2205 OOC_CHAR8 XML_Parser__ParserDesc_ParseDocument_LookingAt(const OOC_CHAR8 str__ref[], OOC_LEN str_0d, OOC_INT8 followedBy) {
2206 register OOC_INT64 i0,i1,i2,i3,i4,i5;
2207 OOC_ALLOCATE_VPAR(str,OOC_CHAR8 ,str_0d)
2208 OOC_INT32 i;
2209
2210 OOC_INITIALIZE_VPAR(str__ref,str,OOC_CHAR8 ,str_0d)
2211 i = 0;
2212 i0 = followedBy;
2213 i1=0;
2214 l1_loop:
2215 i2 = (OOC_INT64)chars;
2216 i3 = _check_pointer(i2, 35663);
2217 i4 = OOC_ARRAY_LENGTH(i3, 0);
2218 i5 = cpos;
2219 i3 = *(OOC_UINT16*)(i3+(_check_index(i5, i4, OOC_UINT32, 35663))*2);
2220 i3 = i3==65534u;
2221 if (i3) goto l17;
2222 i3 = *(OOC_UINT8*)((OOC_INT64)str+(_check_index(i1, str_0d, OOC_UINT32, 35973)));
2223 i3 = i3==0u;
2224 if (i3) goto l10;
2225 i2 = _check_pointer(i2, 36214);
2226 i3 = OOC_ARRAY_LENGTH(i2, 0);
2227 i4 = *(OOC_UINT8*)((OOC_INT64)str+(_check_index(i1, str_0d, OOC_UINT32, 36203)));
2228 i2 = *(OOC_UINT16*)(i2+(_check_index(i5, i3, OOC_UINT32, 36214))*2);
2229 i2 = i4==i2;
2230 if (!i2) goto l7;
2231 goto l8;
2232 l7:
2233 cpos = (i5-i1);
2234 return 0u;
2235
2236 goto l1_loop;
2237 l8:
2238 i1 = i1+1;
2239 i = i1;
2240 cpos = (i5+1);
2241
2242 goto l1_loop;
2243 l10:
2244 i3 = i5-i1;
2245 cpos = i3;
2246 switch (i0) {
2247 case 1:
2248 i2 = _check_pointer(i2, 36110);
2249 i4 = OOC_ARRAY_LENGTH(i2, 0);
2250 i2 = *(OOC_UINT16*)(i2+(_check_index((i3+i1), i4, OOC_UINT32, 36110))*2);
2251 i2 = XML_Parser__IsNameChar(i2);
2252 return (!i2);
2253 goto l1_loop;
2254 case 0:
2255 return 1u;
2256 goto l1_loop;
2257 default:
2258 _failed_case(i0, 36023);
2259 goto l1_loop;
2260 }
2261 l17:
2262 i3 = (OOC_INT64)p;
2263 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i3, 35718))+64);
2264 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i3, 35722))+40);
2265 i2 = i2==i3;
2266 if (!i2) goto l19;
2267 goto l20;
2268 l19:
2269 cpos = (i5-i1);
2270 i2 = *(OOC_UINT8*)((OOC_INT64)str+(_check_index(i1, str_0d, OOC_UINT32, 35931)));
2271 return (i2==0u);
2272 goto l1_loop;
2273 l20:
2274 XML_Parser__ParserDesc_ParseDocument_NextBlock();
2275 goto l1_loop;
2276 l24:
2277 ;
2278 }
2279
2280
2281 void XML_Parser__ParserDesc_ParseDocument_NextChar(void) {
2282 register OOC_INT64 i0,i1,i2,i3;
2283
2284 i0 = (OOC_INT64)chars;
2285 i1 = _check_pointer(i0, 36427);
2286 i2 = OOC_ARRAY_LENGTH(i1, 0);
2287 i3 = cpos;
2288 i1 = *(OOC_UINT16*)(i1+(_check_index(i3, i2, OOC_UINT32, 36427))*2);
2289 i1 = i1!=65535u;
2290 if (!i1) goto l6;
2291 i1 = i3+1;
2292 cpos = i1;
2293 i0 = _check_pointer(i0, 36496);
2294 i2 = OOC_ARRAY_LENGTH(i0, 0);
2295 i0 = *(OOC_UINT16*)(i0+(_check_index(i1, i2, OOC_UINT32, 36496))*2);
2296 i0 = i0==65534u;
2297 if (!i0) goto l6;
2298 XML_Parser__ParserDesc_ParseDocument_NextBlock();
2299 l6:
2300 return;
2301 ;
2302 }
2303
2304
2305 XML_UnicodeBuffer__CharArray XML_Parser__ParserDesc_ParseDocument_Nmtoken(OOC_CHAR8 checkForQName, OOC_CHAR8 noColon) {
2306 register OOC_INT64 i0,i1,i2,i3,i4,i5,i6;
2307 OOC_INT32 colon;
2308 XML_UnicodeBuffer__CharArray string;
2309
2310 i0 = (OOC_INT64)chars;
2311 i0 = _check_pointer(i0, 36816);
2312 i1 = OOC_ARRAY_LENGTH(i0, 0);
2313 i2 = cpos;
2314 i0 = *(OOC_UINT16*)(i0+(_check_index(i2, i1, OOC_UINT32, 36816))*2);
2315 i0 = XML_Parser__IsNameChar(i0);
2316 if (i0) goto l3;
2317 XML_Parser__ParserDesc_ParseDocument_Err(11);
2318 XML_Parser__ParserDesc_ParseDocument_NextChar();
2319 i0 = (OOC_INT64)XML_Parser__noName;
2320 return (XML_UnicodeBuffer__CharArray)i0;
2321 goto l50;
2322 l3:
2323 i0 = cpos;
2324 cstart = i0;
2325 i1 = (OOC_INT64)chars;
2326 i1 = _check_pointer(i1, 36870);
2327 i2 = OOC_ARRAY_LENGTH(i1, 0);
2328 i1 = *(OOC_UINT16*)(i1+(_check_index(i0, i2, OOC_UINT32, 36870))*2);
2329 i1 = i1==58u;
2330 if (i1) goto l6;
2331 colon = (-1);
2332 i0=(-1);
2333 goto l14;
2334 l6:
2335 colon = i0;
2336 i1 = checkForQName;
2337 if (!i1) goto l14;
2338 i1 = noColon;
2339 if (i1) goto l11;
2340 XML_Parser__ParserDesc_ParseDocument_Err(31);
2341 goto l14;
2342 l11:
2343 XML_Parser__ParserDesc_ParseDocument_Err(30);
2344 l14:
2345 i1 = cpos;
2346 cpos = (i1+1);
2347 i1 = noColon;
2348 i2 = checkForQName;
2349
2350 l15_loop:
2351 i3 = (OOC_INT64)chars;
2352 i4 = _check_pointer(i3, 37277);
2353 i5 = OOC_ARRAY_LENGTH(i4, 0);
2354 i6 = cpos;
2355 i4 = *(OOC_UINT16*)(i4+(_check_index(i6, i5, OOC_UINT32, 37277))*2);
2356 i4 = i4==65534u;
2357 if (i4) goto l36;
2358 i4 = _check_pointer(i3, 37556);
2359 i5 = OOC_ARRAY_LENGTH(i4, 0);
2360 i4 = *(OOC_UINT16*)(i4+(_check_index(i6, i5, OOC_UINT32, 37556))*2);
2361 i4 = i4==58u;
2362 if (i4) goto l20;
2363 i4=0u;
2364 goto l22;
2365 l20:
2366 i4=i2;
2367 l22:
2368 if (i4) goto l28;
2369 i3 = _check_pointer(i3, 37895);
2370 i4 = OOC_ARRAY_LENGTH(i3, 0);
2371 i3 = *(OOC_UINT16*)(i3+(_check_index(i6, i4, OOC_UINT32, 37895))*2);
2372 i3 = XML_Parser__IsNameChar(i3);
2373 if (!i3) goto l25;
2374 goto l26;
2375 l25:
2376 i0 = cpos;
2377 i1 = cstart;
2378 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_GetString(i1, i0);
2379 string = (XML_UnicodeBuffer__CharArray)i0;
2380
2381 goto l43;
2382 l26:
2383 i3 = cpos;
2384 cpos = (i3+1);
2385 goto l15_loop;
2386 l28:
2387 if (i1) goto l33;
2388 i0 = i0>=0;
2389 if (i0) goto l31;
2390 goto l34;
2391 l31:
2392 XML_Parser__ParserDesc_ParseDocument_Err(31);
2393 goto l34;
2394 l33:
2395 XML_Parser__ParserDesc_ParseDocument_Err(30);
2396 l34:
2397 i0 = cpos;
2398 colon = i0;
2399 cpos = (i0+1);
2400
2401 goto l15_loop;
2402 l36:
2403 i4 = (OOC_INT64)p;
2404 i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i4, 37334))+64);
2405 i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i4, 37338))+40);
2406 i3 = i3!=i4;
2407 if (i3) goto l40;
2408 XML_Parser__ParserDesc_ParseDocument_NextBlock();
2409 goto l15_loop;
2410 l40:
2411 i0 = cstart;
2412 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_GetString(i0, i6);
2413 string = (XML_UnicodeBuffer__CharArray)i0;
2414 XML_Parser__ParserDesc_ParseDocument_NextBlock();
2415
2416 l43:
2417 if (i2) goto l45;
2418 i1=0u;
2419 goto l47;
2420 l45:
2421 i1 = _check_pointer(i0, 38072);
2422 i2 = OOC_ARRAY_LENGTH((_check_pointer(i0, 38084)), 0);
2423 i3 = OOC_ARRAY_LENGTH(i1, 0);
2424 i1 = *(OOC_UINT16*)(i1+(_check_index((i2-2), i3, OOC_UINT32, 38072))*2);
2425 i1 = i1==58u;
2426
2427 l47:
2428 if (!i1) goto l49;
2429 XML_Parser__ParserDesc_ParseDocument_Err(31);
2430 l49:
2431 return (XML_UnicodeBuffer__CharArray)i0;
2432 l50:
2433 _failed_function(36603); return 0;
2434 ;
2435 }
2436
2437
2438 XML_UnicodeBuffer__CharArray XML_Parser__ParserDesc_ParseDocument_Name(OOC_CHAR8 noColon) {
2439 register OOC_INT64 i0,i1,i2;
2440
2441 i0 = (OOC_INT64)chars;
2442 i0 = _check_pointer(i0, 38474);
2443 i1 = OOC_ARRAY_LENGTH(i0, 0);
2444 i2 = cpos;
2445 i0 = *(OOC_UINT16*)(i0+(_check_index(i2, i1, OOC_UINT32, 38474))*2);
2446 i0 = XML_Parser__IsNameChar0(i0);
2447 if (i0) goto l3;
2448 XML_Parser__ParserDesc_ParseDocument_Err(10);
2449 XML_Parser__ParserDesc_ParseDocument_NextChar();
2450 i0 = (OOC_INT64)XML_Parser__noName;
2451 return (XML_UnicodeBuffer__CharArray)i0;
2452 goto l4;
2453 l3:
2454 i0 = (OOC_INT64)p;
2455 i0 = *(OOC_UINT8*)((_check_pointer(i0, 38512))+113);
2456 i1 = noColon;
2457 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_Nmtoken(i0, i1);
2458 return (XML_UnicodeBuffer__CharArray)i0;
2459 l4:
2460 _failed_function(38338); return 0;
2461 ;
2462 }
2463
2464
2465 void XML_Parser__ParserDesc_ParseDocument_CheckChar(OOC_CHAR8 ch) {
2466 register OOC_INT64 i0,i1,i2,i3;
2467 OOC_CHAR8 str[2];
2468
2469 i0 = (OOC_INT64)chars;
2470 i0 = _check_pointer(i0, 38858);
2471 i1 = OOC_ARRAY_LENGTH(i0, 0);
2472 i2 = cpos;
2473 i0 = *(OOC_UINT16*)(i0+(_check_index(i2, i1, OOC_UINT32, 38858))*2);
2474 i1 = ch;
2475 i0 = i0!=i1;
2476 if (!i0) goto l3;
2477 XML_Parser__ParserDesc_ParseDocument_Err(12);
2478 _copy_8((const void*)(OOC_CHAR8*)"X",(void*)(OOC_INT64)str,2);
2479 *(OOC_UINT8*)((OOC_INT64)str+(_check_index(0, 2, OOC_UINT8, 38935))) = i1;
2480 i0 = (OOC_INT64)Msg__GetStringPtr((void*)(OOC_INT64)str, 2);
2481 i1 = (OOC_INT64)p;
2482 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 38955))+176);
2483 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 38955))+176);
2484 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 38966)))), Msg__MsgDesc_SetStringAttrib)),Msg__MsgDesc_SetStringAttrib)((Msg__Msg)i1, (OOC_CHAR8*)"symbol", 7, (Msg__StringPtr)i0);
2485 l3:
2486 i0 = (OOC_INT64)chars;
2487 i1 = _check_pointer(i0, 39045);
2488 i2 = OOC_ARRAY_LENGTH(i1, 0);
2489 i3 = cpos;
2490 i1 = *(OOC_UINT16*)(i1+(_check_index(i3, i2, OOC_UINT32, 39045))*2);
2491 i1 = i1!=65535u;
2492 if (!i1) goto l9;
2493 i1 = i3+1;
2494 cpos = i1;
2495 i0 = _check_pointer(i0, 39114);
2496 i2 = OOC_ARRAY_LENGTH(i0, 0);
2497 i0 = *(OOC_UINT16*)(i0+(_check_index(i1, i2, OOC_UINT32, 39114))*2);
2498 i0 = i0==65534u;
2499 if (!i0) goto l9;
2500 XML_Parser__ParserDesc_ParseDocument_NextBlock();
2501 l9:
2502 return;
2503 ;
2504 }
2505
2506
2507 void XML_Parser__ParserDesc_ParseDocument_SkippedEntity(XML_UnicodeBuffer__CharArray name) {
2508 register OOC_INT64 i0,i1;
2509
2510 i0 = (OOC_INT64)p;
2511 *(OOC_UINT8*)((_check_pointer(i0, 39459))+116) = 0u;
2512 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 39498))+96);
2513 i1 = *(OOC_INT8*)((_check_pointer(i1, 39514))+96);
2514 i1 = i1!=0;
2515 if (!i1) goto l3;
2516 *(OOC_UINT8*)((_check_pointer(i0, 39562))+115) = 0u;
2517 l3:
2518 return;
2519 ;
2520 }
2521
2522
2523 void XML_Parser__ParserDesc_ParseDocument_PEReference(OOC_CHAR8 declSep) {
2524 register OOC_INT64 i0,i1,i2,i3,i4,i5;
2525 OOC_INT32 oldCStart;
2526 XML_UnicodeBuffer__CharArray name;
2527 XML_DTD__Declaration decl;
2528 XML_DTD__Entity entity;
2529 OOC_CHAR8 inInternalSubset;
2530 OOC_CHAR8 oldFlag;
2531
2532 i0 = declSep;
2533 i1 = !i0;
2534 if (i1) goto l3;
2535 i1=0u;
2536 goto l9;
2537 l3:
2538 i1 = (OOC_INT64)p;
2539 i2 = *(OOC_UINT8*)((_check_pointer(i1, 39923))+119);
2540 i2 = !i2;
2541 if (i2) goto l6;
2542 i1=0u;
2543 goto l9;
2544 l6:
2545 i1 = *(OOC_UINT8*)((_check_pointer(i1, 39946))+120);
2546 i1 = !i1;
2547
2548 l9:
2549 if (!i1) goto l11;
2550 XML_Parser__ParserDesc_ParseDocument_Err(115);
2551 l11:
2552 XML_Parser__ParserDesc_ParseDocument_CheckChar(37u);
2553 i1 = (OOC_INT64)p;
2554 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 40065))+64);
2555 i1 = *(OOC_INT32*)((_check_pointer(i1, 40069))+48);
2556 i2 = cstart;
2557 i1 = i2+i1;
2558 oldCStart = i1;
2559 i2 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_Name(1u);
2560 name = (XML_UnicodeBuffer__CharArray)i2;
2561 i3 = (OOC_INT64)p;
2562 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i3, 40141))+64);
2563 i3 = *(OOC_INT32*)((_check_pointer(i3, 40145))+48);
2564 cstart = (i1-i3);
2565 XML_Parser__ParserDesc_ParseDocument_CheckChar(59u);
2566 i1 = (OOC_INT64)dtd;
2567 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 40203))+16);
2568 i1 = (OOC_INT64)XML_DTD__NamespaceDesc_Get((XML_DTD__Namespace)i1, (XML_UnicodeBuffer__CharArray)i2);
2569 decl = (XML_DTD__Declaration)i1;
2570 i3 = i1==(OOC_INT64)0;
2571 if (i3) goto l48;
2572 i1 = _type_guard(i1, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 40608)))), &_td_XML_DTD__EntityDesc, 40608);
2573 entity = (XML_DTD__Entity)i1;
2574 if (i0) goto l19;
2575 i0 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 41950)))), &_td_XML_DTD__ExternalEntityDesc);
2576 if (!i0) goto l18;
2577 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_Internalize((XML_DTD__ExternalEntity)(_type_guard(i1, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 42038)))), &_td_XML_DTD__ExternalEntityDesc, 42038)));
2578 XML_DTD__EntityDesc_SetEntityValue((XML_DTD__Entity)i1, (XML_UnicodeBuffer__CharArray)i0);
2579 l18:
2580 XML_Parser__ParserDesc_ParseDocument_PushEntity((XML_DTD__Entity)i1, 0u);
2581 goto l61;
2582 l19:
2583 i0 = (OOC_INT64)p;
2584 i3 = *(OOC_UINT8*)((_check_pointer(i0, 40808))+112);
2585 if (i3) goto l22;
2586 i3 = *(OOC_INT8*)((_check_pointer(i1, 40851))+16);
2587 i3 = i3==1;
2588
2589 goto l24;
2590 l22:
2591 i3=1u;
2592 l24:
2593 if (i3) goto l26;
2594 XML_Parser__ParserDesc_ParseDocument_SkippedEntity((XML_UnicodeBuffer__CharArray)i2);
2595 goto l61;
2596 l26:
2597 i2 = *(OOC_UINT8*)((_check_pointer(i0, 40929))+119);
2598 if (i2) goto l29;
2599 i0 = *(OOC_UINT8*)((_check_pointer(i0, 40952))+120);
2600
2601 goto l30;
2602 l29:
2603 i0=1u;
2604 l30:
2605 i0 = !i0;
2606 inInternalSubset = i0;
2607 XML_Parser__ParserDesc_ParseDocument_PushEntity((XML_DTD__Entity)i1, i0);
2608 i2 = (OOC_INT64)p;
2609 i3 = *(OOC_UINT8*)((_check_pointer(i2, 41127))+120);
2610 oldFlag = i3;
2611 i4 = *(OOC_INT8*)((_check_pointer(i1, 41169))+16);
2612 i4 = i4==3;
2613 if (!i4) goto l36;
2614 *(OOC_UINT8*)((_check_pointer(i2, 41227))+120) = 1u;
2615 i2 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"<?xml", 6, 1);
2616 if (!i2) goto l36;
2617 XML_Parser__ParserDesc_ParseDocument_XMLDecl((XML_DTD__ExternalEntity)(_type_guard(i1, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 41352)))), &_td_XML_DTD__ExternalEntityDesc, 41352)));
2618 l36:
2619 XML_Parser__ParserDesc_ParseDocument_extSubsetDecl();
2620 i2 = (OOC_INT64)chars;
2621 i2 = _check_pointer(i2, 41465);
2622 i4 = OOC_ARRAY_LENGTH(i2, 0);
2623 i5 = cpos;
2624 i2 = *(OOC_UINT16*)(i2+(_check_index(i5, i4, OOC_UINT32, 41465))*2);
2625 i2 = i2!=65535u;
2626 if (!i2) goto l39;
2627 XML_Parser__ParserDesc_ParseDocument_Err(28);
2628 l39:
2629 i1 = *(OOC_INT8*)((_check_pointer(i1, 41588))+16);
2630 i1 = i1==3;
2631 if (!i1) goto l43;
2632 i1 = (OOC_INT64)p;
2633 *(OOC_UINT8*)((_check_pointer(i1, 41646))+120) = i3;
2634 l43:
2635 if (!i0) goto l61;
2636 XML_Parser__ParserDesc_ParseDocument_PopEntity();
2637 goto l61;
2638 l48:
2639 i0 = (OOC_INT64)p;
2640 i1 = *(OOC_UINT8*)((_check_pointer(i0, 40318))+114);
2641 if (i1) goto l55;
2642 i1 = *(OOC_UINT8*)((_check_pointer(i0, 40347))+115);
2643 if (i1) goto l53;
2644 i0=0u;
2645 goto l57;
2646 l53:
2647 i0 = *(OOC_UINT8*)((_check_pointer(i0, 40372))+112);
2648
2649 goto l57;
2650 l55:
2651 i0=1u;
2652 l57:
2653 if (i0) goto l59;
2654 XML_Parser__ParserDesc_ParseDocument_SkippedEntity((XML_UnicodeBuffer__CharArray)i2);
2655 goto l61;
2656 l59:
2657 XML_Parser__ParserDesc_ParseDocument_Err(211);
2658 i0 = OOC_ARRAY_LENGTH((_check_pointer(i2, 40510)), 0);
2659 i0 = (OOC_INT64)Msg__GetLStringPtr((void*)(_check_pointer(i2, 40510)), i0);
2660 i1 = (OOC_INT64)p;
2661 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 40448))+176);
2662 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 40448))+176);
2663 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 40459)))), Msg__MsgDesc_SetLStringAttrib)),Msg__MsgDesc_SetLStringAttrib)((Msg__Msg)i1, (OOC_CHAR8*)"name", 5, (Msg__LStringPtr)i0);
2664 l61:
2665 return;
2666 ;
2667 }
2668
2669
2670 void XML_Parser__ParserDesc_ParseDocument_OptS(OOC_CHAR8 noPE) {
2671 register OOC_INT64 i0,i1,i2,i3,i4,i5;
2672
2673 i0 = noPE;
2674 i1 = !i0;
2675 l1_loop:
2676 i2 = (OOC_INT64)chars;
2677 i3 = _check_pointer(i2, 42601);
2678 i4 = OOC_ARRAY_LENGTH(i3, 0);
2679 i5 = cpos;
2680 i3 = *(OOC_UINT16*)(i3+(_check_index(i5, i4, OOC_UINT32, 42601))*2);
2681 switch (i3) {
2682 case 65534u:
2683 XML_Parser__ParserDesc_ParseDocument_NextBlock();
2684 goto l1_loop;
2685 case 32u:
2686 cpos = (i5+1);
2687 goto l1_loop;
2688 case 10u:
2689 cpos = (i5+1);
2690 XML_Parser__ParserDesc_ParseDocument_EndOfLine();
2691 goto l1_loop;
2692 case 13u:
2693 i3 = i5+1;
2694 cpos = i3;
2695 i2 = _check_pointer(i2, 42808);
2696 i4 = OOC_ARRAY_LENGTH(i2, 0);
2697 i2 = *(OOC_UINT16*)(i2+(_check_index(i3, i4, OOC_UINT32, 42808))*2);
2698 i2 = i2==65534u;
2699 if (!i2) goto l9;
2700 XML_Parser__ParserDesc_ParseDocument_NextBlock();
2701 l9:
2702 i2 = (OOC_INT64)chars;
2703 i2 = _check_pointer(i2, 42896);
2704 i3 = OOC_ARRAY_LENGTH(i2, 0);
2705 i4 = cpos;
2706 i2 = *(OOC_UINT16*)(i2+(_check_index(i4, i3, OOC_UINT32, 42896))*2);
2707 i2 = i2==10u;
2708 if (i2) goto l11;
2709 goto l12;
2710 l11:
2711 cpos = (i4+1);
2712 l12:
2713 XML_Parser__ParserDesc_ParseDocument_EndOfLine();
2714 goto l1_loop;
2715 case 9u:
2716 XML_Parser__ParserDesc_ParseDocument_Tab();
2717 i2 = cpos;
2718 cpos = (i2+1);
2719 goto l1_loop;
2720 case 37u:
2721 if (!i1) goto l25;
2722 XML_Parser__ParserDesc_ParseDocument_PEReference(0u);
2723 XML_Parser__ParserDesc_ParseDocument_OptS(i0);
2724 goto l1_loop;
2725 default:
2726 i2 = _check_pointer(i2, 43198);
2727 i3 = OOC_ARRAY_LENGTH(i2, 0);
2728 i2 = *(OOC_UINT16*)(i2+(_check_index(i5, i3, OOC_UINT32, 43198))*2);
2729 i2 = (OOC_UINT16)i2<(OOC_UINT16)32u;
2730 if (!i2) goto l25;
2731 XML_Parser__ParserDesc_ParseDocument_Err(1);
2732 i2 = cpos;
2733 cpos = (i2+1);
2734 goto l1_loop;
2735 }
2736 l25:
2737 return;
2738 ;
2739 }
2740
2741
2742 void XML_Parser__ParserDesc_ParseDocument_S(void) {
2743 register OOC_INT64 i0;
2744
2745 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAtS();
2746 if (i0) goto l3;
2747 XML_Parser__ParserDesc_ParseDocument_Err(9);
2748 goto l4;
2749 l3:
2750 XML_Parser__ParserDesc_ParseDocument_OptS(0u);
2751 l4:
2752 return;
2753 ;
2754 }
2755
2756
2757 void XML_Parser__ParserDesc_ParseDocument_SnoPE(void) {
2758 register OOC_INT64 i0;
2759
2760 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAtSnoPE();
2761 if (i0) goto l3;
2762 XML_Parser__ParserDesc_ParseDocument_Err(9);
2763 goto l4;
2764 l3:
2765 XML_Parser__ParserDesc_ParseDocument_OptS(1u);
2766 l4:
2767 return;
2768 ;
2769 }
2770
2771
2772 void XML_Parser__ParserDesc_ParseDocument_ControlChar(OOC_CHAR16 eolReplacement) {
2773 register OOC_INT64 i0,i1,i2,i3,i4,i5;
2774 OOC_INT32 cend;
2775
2776 i0 = (OOC_INT64)chars;
2777 i1 = _check_pointer(i0, 44240);
2778 i2 = OOC_ARRAY_LENGTH(i1, 0);
2779 i3 = cpos;
2780 i1 = *(OOC_UINT16*)(i1+(_check_index(i3, i2, OOC_UINT32, 44240))*2);
2781 i1 = (OOC_UINT16)i1<(OOC_UINT16)32u;
2782 if (i1) goto l3;
2783 i1 = _check_pointer(i0, 44263);
2784 i2 = OOC_ARRAY_LENGTH(i1, 0);
2785 i1 = *(OOC_UINT16*)(i1+(_check_index(i3, i2, OOC_UINT32, 44263))*2);
2786 i1 = i1==65534u;
2787
2788 goto l4;
2789 l3:
2790 i1=1u;
2791 l4:
2792 i2 = cdelta;
2793 i2 = i3-i2;
2794 _assert(i1, 127, 44226);
2795 cend = i2;
2796 i1 = _check_pointer(i0, 44335);
2797 i4 = OOC_ARRAY_LENGTH(i1, 0);
2798 i1 = *(OOC_UINT16*)(i1+(_check_index(i3, i4, OOC_UINT32, 44335))*2);
2799 switch (i1) {
2800 case 65534u:
2801 XML_Parser__ParserDesc_ParseDocument_NextBlock();
2802 goto l30;
2803 case 32u:
2804 i0 = _check_pointer(i0, 44415);
2805 i1 = OOC_ARRAY_LENGTH(i0, 0);
2806 *(OOC_UINT16*)(i0+(_check_index(i2, i1, OOC_UINT32, 44415))*2) = 32u;
2807 cpos = (i3+1);
2808 goto l30;
2809 case 10u:
2810 i1 = (OOC_INT64)p;
2811 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 44480))+64);
2812 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 44484))+40);
2813 i1 = i0==i1;
2814 if (i1) goto l11;
2815 i1 = _check_pointer(i0, 44705);
2816 i4 = OOC_ARRAY_LENGTH(i1, 0);
2817 i0 = _check_pointer(i0, 44720);
2818 i5 = OOC_ARRAY_LENGTH(i0, 0);
2819 i0 = *(OOC_UINT16*)(i0+(_check_index(i3, i5, OOC_UINT32, 44720))*2);
2820 *(OOC_UINT16*)(i1+(_check_index(i2, i4, OOC_UINT32, 44705))*2) = i0;
2821 cpos = (i3+1);
2822 goto l30;
2823 l11:
2824 i0 = _check_pointer(i0, 44513);
2825 i1 = OOC_ARRAY_LENGTH(i0, 0);
2826 i4 = eolReplacement;
2827 *(OOC_UINT16*)(i0+(_check_index(i2, i1, OOC_UINT32, 44513))*2) = i4;
2828 cpos = (i3+1);
2829 XML_Parser__ParserDesc_ParseDocument_EndOfLine();
2830 goto l30;
2831 case 13u:
2832 i1 = (OOC_INT64)p;
2833 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 44790))+64);
2834 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 44794))+40);
2835 i1 = i0==i1;
2836 if (i1) goto l16;
2837 i1 = _check_pointer(i0, 45218);
2838 i4 = OOC_ARRAY_LENGTH(i1, 0);
2839 i0 = _check_pointer(i0, 45233);
2840 i5 = OOC_ARRAY_LENGTH(i0, 0);
2841 i0 = *(OOC_UINT16*)(i0+(_check_index(i3, i5, OOC_UINT32, 45233))*2);
2842 *(OOC_UINT16*)(i1+(_check_index(i2, i4, OOC_UINT32, 45218))*2) = i0;
2843 cpos = (i3+1);
2844 goto l30;
2845 l16:
2846 i1 = _check_pointer(i0, 44823);
2847 i4 = OOC_ARRAY_LENGTH(i1, 0);
2848 i5 = eolReplacement;
2849 *(OOC_UINT16*)(i1+(_check_index(i2, i4, OOC_UINT32, 44823))*2) = i5;
2850 i1 = i3+1;
2851 cpos = i1;
2852 i0 = _check_pointer(i0, 44890);
2853 i2 = OOC_ARRAY_LENGTH(i0, 0);
2854 i0 = *(OOC_UINT16*)(i0+(_check_index(i1, i2, OOC_UINT32, 44890))*2);
2855 i0 = i0==65534u;
2856 if (!i0) goto l19;
2857 XML_Parser__ParserDesc_ParseDocument_NextBlock();
2858 l19:
2859 i0 = (OOC_INT64)chars;
2860 i0 = _check_pointer(i0, 44978);
2861 i1 = OOC_ARRAY_LENGTH(i0, 0);
2862 i2 = cpos;
2863 i0 = *(OOC_UINT16*)(i0+(_check_index(i2, i1, OOC_UINT32, 44978))*2);
2864 i0 = i0==10u;
2865 if (!i0) goto l22;
2866 i0 = cdelta;
2867 cpos = (i2+1);
2868 cdelta = (i0+1);
2869 l22:
2870 XML_Parser__ParserDesc_ParseDocument_EndOfLine();
2871 goto l30;
2872 case 9u:
2873 i1 = eolReplacement;
2874 i1 = i1==32u;
2875 if (i1) goto l27;
2876 i0 = _check_pointer(i0, 45378);
2877 i1 = OOC_ARRAY_LENGTH(i0, 0);
2878 *(OOC_UINT16*)(i0+(_check_index(i2, i1, OOC_UINT32, 45378))*2) = 9u;
2879 goto l28;
2880 l27:
2881 i0 = _check_pointer(i0, 45336);
2882 i1 = OOC_ARRAY_LENGTH(i0, 0);
2883 *(OOC_UINT16*)(i0+(_check_index(i2, i1, OOC_UINT32, 45336))*2) = 32u;
2884 l28:
2885 XML_Parser__ParserDesc_ParseDocument_Tab();
2886 i0 = cpos;
2887 cpos = (i0+1);
2888 goto l30;
2889 default:
2890 i0 = _check_pointer(i0, 45458);
2891 i1 = OOC_ARRAY_LENGTH(i0, 0);
2892 *(OOC_UINT16*)(i0+(_check_index(i2, i1, OOC_UINT32, 45458))*2) = 65533u;
2893 XML_Parser__ParserDesc_ParseDocument_Err(1);
2894 i0 = cpos;
2895 cpos = (i0+1);
2896 goto l30;
2897 }
2898 l30:
2899 return;
2900 ;
2901 }
2902
2903
2904 XML_UnicodeBuffer__CharArray XML_Parser__ParserDesc_ParseDocument_String(OOC_INT8 type) {
2905 register OOC_INT64 i0,i1,i2,i3,i4,i5,i6;
2906 struct XML_Locator__Position pos;
2907 OOC_CHAR16 endChar;
2908 XML_UnicodeBuffer__CharArray string;
2909 auto void XML_Parser__ParserDesc_ParseDocument_String_NormalizeWhitespace(void);
2910
2911 void XML_Parser__ParserDesc_ParseDocument_String_NormalizeWhitespace(void) {
2912 register OOC_INT64 i0,i1,i2,i3,i4,i5,i6,i7,i8,i9,i10;
2913 OOC_INT32 i;
2914 OOC_INT32 delta;
2915
2916 i0 = cpos;
2917 i1 = cdelta;
2918 i2 = i0-i1;
2919 i3 = cstart;
2920 i4 = i3!=i2;
2921 if (i4) goto l3;
2922 i4=0u;
2923 goto l5;
2924 l3:
2925 i4 = (OOC_INT64)chars;
2926 i4 = _check_pointer(i4, 46081);
2927 i5 = OOC_ARRAY_LENGTH(i4, 0);
2928 i4 = *(OOC_UINT16*)(i4+(_check_index(i3, i5, OOC_UINT32, 46081))*2);
2929 i4 = (OOC_UINT16)i4<=(OOC_UINT16)32u;
2930
2931 l5:
2932 if (!i4) goto l17;
2933 i4 = (OOC_INT64)chars;
2934
2935 l8_loop:
2936 i3 = i3+1;
2937 cstart = i3;
2938 i5 = i3!=i2;
2939 if (i5) goto l11;
2940 i5=0u;
2941 goto l13;
2942 l11:
2943 i5 = _check_pointer(i4, 46081);
2944 i6 = OOC_ARRAY_LENGTH(i5, 0);
2945 i5 = *(OOC_UINT16*)(i5+(_check_index(i3, i6, OOC_UINT32, 46081))*2);
2946 i5 = (OOC_UINT16)i5<=(OOC_UINT16)32u;
2947
2948 l13:
2949 if (i5) goto l8_loop;
2950 l17:
2951 i = i3;
2952 delta = 0;
2953 i4 = i3!=i2;
2954 if (i4) goto l20;
2955 i2=0;
2956 goto l47;
2957 l20:
2958 i4 = (OOC_INT64)chars;
2959 i5=i3;i6=0;
2960 l21_loop:
2961 i7 = _check_pointer(i4, 46224);
2962 i8 = OOC_ARRAY_LENGTH(i7, 0);
2963 i7 = *(OOC_UINT16*)(i7+(_check_index(i5, i8, OOC_UINT32, 46224))*2);
2964 i7 = (OOC_UINT16)i7<=(OOC_UINT16)32u;
2965 if (i7) goto l24;
2966 i7 = _check_pointer(i4, 46486);
2967 i8 = OOC_ARRAY_LENGTH(i7, 0);
2968 i9 = _check_pointer(i4, 46504);
2969 i10 = OOC_ARRAY_LENGTH(i9, 0);
2970 i9 = *(OOC_UINT16*)(i9+(_check_index(i5, i10, OOC_UINT32, 46504))*2);
2971 *(OOC_UINT16*)(i7+(_check_index((i5-i6), i8, OOC_UINT32, 46486))*2) = i9;
2972 {register OOC_INT64 h0=i5;i5=i6;i6=h0;}
2973 goto l42;
2974 l24:
2975 i7 = _check_pointer(i4, 46322);
2976 i8 = OOC_ARRAY_LENGTH(i7, 0);
2977 *(OOC_UINT16*)(i7+(_check_index((i5-i6), i8, OOC_UINT32, 46322))*2) = 32u;
2978 i7 = i5+1;
2979 i8 = i7!=i2;
2980 if (i8) goto l27;
2981 i8=0u;
2982 goto l29;
2983 l27:
2984 i8 = _check_pointer(i4, 46386);
2985 i9 = OOC_ARRAY_LENGTH(i8, 0);
2986 i8 = *(OOC_UINT16*)(i8+(_check_index(i7, i9, OOC_UINT32, 46386))*2);
2987 i8 = (OOC_UINT16)i8<=(OOC_UINT16)32u;
2988
2989 l29:
2990 if (i8) goto l31;
2991 {register OOC_INT64 h0=i5;i5=i6;i6=h0;}
2992 goto l42;
2993 l31:
2994 i5=i6;i6=i7;
2995 l32_loop:
2996 i = i6;
2997 i5 = i5+1;
2998 delta = i5;
2999 i7 = i6+1;
3000 i8 = i7!=i2;
3001 if (i8) goto l35;
3002 i8=0u;
3003 goto l37;
3004 l35:
3005 i8 = _check_pointer(i4, 46386);
3006 i9 = OOC_ARRAY_LENGTH(i8, 0);
3007 i8 = *(OOC_UINT16*)(i8+(_check_index(i7, i9, OOC_UINT32, 46386))*2);
3008 i8 = (OOC_UINT16)i8<=(OOC_UINT16)32u;
3009
3010 l37:
3011 if (!i8) goto l42;
3012 i6=i7;
3013 goto l32_loop;
3014 l42:
3015 i6 = i6+1;
3016 i = i6;
3017 i7 = i6!=i2;
3018 if (!i7) goto l46;
3019 {register OOC_INT64 h0=i5;i5=i6;i6=h0;}
3020 goto l21_loop;
3021 l46:
3022 i2=i5;
3023 l47:
3024 i1 = i1+i2;
3025 cdelta = i1;
3026 i0 = i0-i1;
3027 i2 = i0!=i3;
3028 if (i2) goto l50;
3029 i0=0u;
3030 goto l52;
3031 l50:
3032 i2 = (OOC_INT64)chars;
3033 i2 = _check_pointer(i2, 46698);
3034 i3 = OOC_ARRAY_LENGTH(i2, 0);
3035 i0 = *(OOC_UINT16*)(i2+(_check_index((i0-1), i3, OOC_UINT32, 46698))*2);
3036 i0 = i0==32u;
3037
3038 l52:
3039 if (!i0) goto l54;
3040 cdelta = (i1+1);
3041 l54:
3042 return;
3043 ;
3044 }
3045
3046
3047 i0 = (OOC_INT64)chars;
3048 i1 = _check_pointer(i0, 46822);
3049 i2 = OOC_ARRAY_LENGTH(i1, 0);
3050 i3 = cpos;
3051 i1 = *(OOC_UINT16*)(i1+(_check_index(i3, i2, OOC_UINT32, 46822))*2);
3052 i1 = i1==39u;
3053 if (i1) goto l3;
3054 i0 = _check_pointer(i0, 46845);
3055 i1 = OOC_ARRAY_LENGTH(i0, 0);
3056 i0 = *(OOC_UINT16*)(i0+(_check_index(i3, i1, OOC_UINT32, 46845))*2);
3057 i0 = i0==34u;
3058
3059 goto l5;
3060 l3:
3061 i0=1u;
3062 l5:
3063 if (i0) goto l7;
3064 XML_Parser__ParserDesc_ParseDocument_Err(16);
3065 i0 = cpos;
3066 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_GetString(i0, i0);
3067 return (XML_UnicodeBuffer__CharArray)i0;
3068 goto l59;
3069 l7:
3070 i0 = (OOC_INT64)&_td_XML_Locator__Position;
3071 XML_Parser__ParserDesc_ParseDocument_StorePosition((void*)(OOC_INT64)&pos, (RT0__Struct)i0);
3072 i1 = (OOC_INT64)chars;
3073 i1 = _check_pointer(i1, 46917);
3074 i2 = OOC_ARRAY_LENGTH(i1, 0);
3075 i3 = cpos;
3076 i1 = *(OOC_UINT16*)(i1+(_check_index(i3, i2, OOC_UINT32, 46917))*2);
3077 endChar = i1;
3078 i1 = i3+1;
3079 cpos = i1;
3080 cstart = i1;
3081 cdelta = 0;
3082 l8_loop:
3083 i1 = (OOC_INT64)chars;
3084 i2 = _check_pointer(i1, 47015);
3085 i3 = OOC_ARRAY_LENGTH(i2, 0);
3086 i4 = cpos;
3087 i2 = *(OOC_UINT16*)(i2+(_check_index(i4, i3, OOC_UINT32, 47015))*2);
3088 switch (i2) {
3089 case 0u ... 31u:
3090 case 65534u:
3091 i2 = type;
3092 i2 = i2==2;
3093 if (i2) goto l13;
3094 i1=0u;
3095 goto l15;
3096 l13:
3097 i1 = _check_pointer(i1, 47116);
3098 i2 = OOC_ARRAY_LENGTH(i1, 0);
3099 i1 = *(OOC_UINT16*)(i1+(_check_index(i4, i2, OOC_UINT32, 47116))*2);
3100 i1 = i1==9u;
3101
3102 l15:
3103 if (i1) goto l16;
3104 goto l17;
3105 l16:
3106 XML_Parser__ParserDesc_ParseDocument_Err(20);
3107 l17:
3108 XML_Parser__ParserDesc_ParseDocument_ControlChar(10u);
3109 goto l8_loop;
3110 case 65535u:
3111 XML_Parser__ParserDesc_ParseDocument_ErrPos(6, (void*)(OOC_INT64)&pos, (RT0__Struct)i0);
3112 i1 = cpos;
3113 i2 = cdelta;
3114 i3 = cstart;
3115 i1 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_GetString(i3, (i1-i2));
3116 return (XML_UnicodeBuffer__CharArray)i1;
3117 goto l8_loop;
3118 default:
3119 i2 = _check_pointer(i1, 47389);
3120 i3 = OOC_ARRAY_LENGTH(i2, 0);
3121 i2 = *(OOC_UINT16*)(i2+(_check_index(i4, i3, OOC_UINT32, 47389))*2);
3122 i3 = endChar;
3123 i2 = i2==i3;
3124 if (i2) goto l37;
3125 i2 = type;
3126 switch (i2) {
3127 case 2:
3128 i1 = _check_pointer(i1, 48193);
3129 i2 = OOC_ARRAY_LENGTH(i1, 0);
3130 i1 = *(OOC_UINT16*)(i1+(_check_index(i4, i2, OOC_UINT32, 48193))*2);
3131 i1 = XML_Parser__IsPubidChar(i1);
3132 i1 = !i1;
3133 if (i1) goto l25;
3134 goto l36;
3135 l25:
3136 XML_Parser__ParserDesc_ParseDocument_Err(20);
3137 goto l36;
3138 case 4:
3139 i1 = _check_pointer(i1, 48339);
3140 i2 = OOC_ARRAY_LENGTH(i1, 0);
3141 i3 = cstart;
3142 i1 = *(OOC_UINT16*)(i1+(_check_index(i4, i2, OOC_UINT32, 48339))*2);
3143 i1 = XML_Parser__IsEncNameChar(i1, (i4==i3));
3144 i1 = !i1;
3145 if (i1) goto l29;
3146 goto l36;
3147 l29:
3148 XML_Parser__ParserDesc_ParseDocument_Err(21);
3149 goto l36;
3150 case 3:
3151 i1 = _check_pointer(i1, 48504);
3152 i2 = OOC_ARRAY_LENGTH(i1, 0);
3153 i1 = *(OOC_UINT16*)(i1+(_check_index(i4, i2, OOC_UINT32, 48504))*2);
3154 i1 = XML_Parser__IsVersionNumChar(i1);
3155 i1 = !i1;
3156 if (i1) goto l33;
3157 goto l36;
3158 l33:
3159 XML_Parser__ParserDesc_ParseDocument_Err(22);
3160 goto l36;
3161 default:
3162 goto l36;
3163 }
3164 l36:
3165 i1 = (OOC_INT64)chars;
3166 i2 = _check_pointer(i1, 48653);
3167 i3 = cdelta;
3168 i4 = cpos;
3169 i5 = OOC_ARRAY_LENGTH(i2, 0);
3170 i1 = _check_pointer(i1, 48675);
3171 i6 = OOC_ARRAY_LENGTH(i1, 0);
3172 i1 = *(OOC_UINT16*)(i1+(_check_index(i4, i6, OOC_UINT32, 48675))*2);
3173 *(OOC_UINT16*)(i2+(_check_index((i4-i3), i5, OOC_UINT32, 48653))*2) = i1;
3174 cpos = (i4+1);
3175 goto l8_loop;
3176 l37:
3177 i1 = type;
3178 i1 = i1==2;
3179 if (!i1) goto l40;
3180 XML_Parser__ParserDesc_ParseDocument_String_NormalizeWhitespace();
3181 l40:
3182 i1 = cpos;
3183 i2 = cdelta;
3184 i3 = cstart;
3185 i1 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_GetString(i3, (i1-i2));
3186 string = (XML_UnicodeBuffer__CharArray)i1;
3187 i2 = endChar;
3188 XML_Parser__ParserDesc_ParseDocument_CheckChar(i2);
3189 i2 = type;
3190 switch (i2) {
3191 case 5:
3192 i2 = (
3193 _cmp16((const void*)(_check_pointer(i1, 47719)),(const void*)((OOC_CHAR16[]){121,101,115,0})))!=0;
3194 if (i2) goto l45;
3195 i2=0u;
3196 goto l47;
3197 l45:
3198 i2 = (
3199 _cmp16((const void*)(_check_pointer(i1, 47739)),(const void*)((OOC_CHAR16[]){110,111,0})))!=0;
3200
3201 l47:
3202 if (i2) goto l48;
3203 goto l55;
3204 l48:
3205 XML_Parser__ParserDesc_ParseDocument_ErrPos(24, (void*)(OOC_INT64)&pos, (RT0__Struct)i0);
3206 goto l55;
3207 case 4:
3208 case 3:
3209 i2 = (
3210 _cmp16((const void*)(_check_pointer(i1, 47893)),(const void*)((OOC_CHAR16[]){0})))==0;
3211 if (i2) goto l52;
3212 goto l55;
3213 l52:
3214 XML_Parser__ParserDesc_ParseDocument_ErrPos(23, (void*)(OOC_INT64)&pos, (RT0__Struct)i0);
3215 goto l55;
3216 default:
3217 goto l55;
3218 }
3219 l55:
3220 return (XML_UnicodeBuffer__CharArray)i1;
3221 goto l8_loop;
3222 }
3223 l59:
3224 _failed_function(45583); return 0;
3225 ;
3226 }
3227
3228
3229 void XML_Parser__ParserDesc_ParseDocument_Eq(void) {
3230
3231 XML_Parser__ParserDesc_ParseDocument_OptS(1u);
3232 XML_Parser__ParserDesc_ParseDocument_CheckChar(61u);
3233 XML_Parser__ParserDesc_ParseDocument_OptS(1u);
3234 return;
3235 ;
3236 }
3237
3238
3239 void XML_Parser__ParserDesc_ParseDocument_XMLDecl(XML_DTD__ExternalEntity entity) {
3240 register OOC_INT64 i0,i1,i2,i3,i4,i5,i6,i7,i8;
3241 XML_UnicodeBuffer__CharArray string;
3242 OOC_CHAR8 *encoding;
3243 OOC_INT32 i;
3244 XML_UnicodeCodec__Factory codecFactory;
3245
3246 i0 = cpos;
3247 i1 = (OOC_INT64)entity;
3248 _assert((i0==0), 127, 49256);
3249 _assert((i1!=(OOC_INT64)0), 127, 49281);
3250 i0 = i0+5;
3251 cpos = i0;
3252 i2 = (OOC_INT64)chars;
3253 i2 = _check_pointer(i2, 49382);
3254 i3 = OOC_ARRAY_LENGTH(i2, 0);
3255 i0 = *(OOC_UINT16*)(i2+(_check_index(i0, i3, OOC_UINT32, 49382))*2);
3256 i0 = i0!=63u;
3257 if (!i0) goto l3;
3258 XML_Parser__ParserDesc_ParseDocument_S();
3259 l3:
3260 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"version", 8, 1);
3261 if (i0) goto l9;
3262 i0 = *(OOC_INT8*)((_check_pointer(i1, 49654))+16);
3263 i0 = i0==5;
3264 if (!i0) goto l13;
3265 XML_Parser__ParserDesc_ParseDocument_Err(111);
3266 goto l13;
3267 l9:
3268 i0 = cpos;
3269 cpos = (i0+7);
3270 XML_Parser__ParserDesc_ParseDocument_Eq();
3271 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_String(3);
3272 XML_DTD__ExternalEntityDesc_SetVersion((XML_DTD__ExternalEntity)i1, (XML_UnicodeBuffer__CharArray)i0);
3273 i0 = (OOC_INT64)chars;
3274 i0 = _check_pointer(i0, 49610);
3275 i2 = OOC_ARRAY_LENGTH(i0, 0);
3276 i3 = cpos;
3277 i0 = *(OOC_UINT16*)(i0+(_check_index(i3, i2, OOC_UINT32, 49610))*2);
3278 i0 = i0!=63u;
3279 if (!i0) goto l13;
3280 XML_Parser__ParserDesc_ParseDocument_S();
3281 l13:
3282 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"encoding", 9, 1);
3283 if (i0) goto l19;
3284 i0 = *(OOC_INT8*)((_check_pointer(i1, 50817))+16);
3285 i0 = i0!=5;
3286 if (!i0) goto l46;
3287 XML_Parser__ParserDesc_ParseDocument_Err(116);
3288 goto l46;
3289 l19:
3290 i0 = cpos;
3291 cpos = (i0+8);
3292 XML_Parser__ParserDesc_ParseDocument_Eq();
3293 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_String(4);
3294 string = (XML_UnicodeBuffer__CharArray)i0;
3295 i2 = (OOC_INT64)p;
3296 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 49927))+64);
3297 i2 = *(OOC_UINT8*)((_check_pointer(i2, 49931))+32);
3298 if (i2) goto l22;
3299 i2=0u;
3300 goto l24;
3301 l22:
3302 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 49960))+88);
3303 i2 = i2==(OOC_INT64)0;
3304
3305 l24:
3306 if (!i2) goto l42;
3307 i2 = OOC_ARRAY_LENGTH((_check_pointer(i0, 50178)), 0);
3308 i2 = LongStrings__Length((void*)(_check_pointer(i0, 50178)), i2);
3309 i2 = (OOC_INT64)RT0__NewObject(_td_XML_Parser__49161.baseTypes[0], (i2+1));
3310 encoding = (void*)i2;
3311 i = 0;
3312 i3 = OOC_ARRAY_LENGTH((_check_pointer(i2, 50222)), 0);
3313 i4 = 0<i3;
3314 if (!i4) goto l37;
3315 i4=0;
3316 l28_loop:
3317 i5 = _check_pointer(i0, 50252);
3318 i6 = OOC_ARRAY_LENGTH(i5, 0);
3319 i5 = *(OOC_UINT16*)(i5+(_check_index(i4, i6, OOC_UINT32, 50252))*2);
3320 i5 = (OOC_UINT16)i5>(OOC_UINT16)255u;
3321 if (i5) goto l31;
3322 i5 = _check_pointer(i2, 50347);
3323 i6 = OOC_ARRAY_LENGTH(i5, 0);
3324 i7 = _check_pointer(i0, 50367);
3325 i8 = OOC_ARRAY_LENGTH(i7, 0);
3326 i7 = *(OOC_UINT16*)(i7+(_check_index(i4, i8, OOC_UINT32, 50367))*2);
3327 *(OOC_UINT8*)(i5+(_check_index(i4, i6, OOC_UINT32, 50347))) = i7;
3328 goto l32;
3329 l31:
3330 i5 = _check_pointer(i2, 50297);
3331 i6 = OOC_ARRAY_LENGTH(i5, 0);
3332 *(OOC_UINT8*)(i5+(_check_index(i4, i6, OOC_UINT32, 50297))) = 63u;
3333 l32:
3334 i4 = i4+1;
3335 i = i4;
3336 i5 = i4<i3;
3337 if (i5) goto l28_loop;
3338 l37:
3339 i3 = OOC_ARRAY_LENGTH((_check_pointer(i2, 50455)), 0);
3340 i2 = (OOC_INT64)XML_UnicodeCodec__GetFactory((void*)(_check_pointer(i2, 50455)), i3);
3341 codecFactory = (XML_UnicodeCodec__Factory)i2;
3342 i3 = i2==(OOC_INT64)0;
3343 if (i3) goto l40;
3344 i3 = (OOC_INT64)p;
3345 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i3, 50569))+64);
3346 XML_UnicodeBuffer__InputDesc_SetCodec((XML_UnicodeBuffer__Input)i3, (XML_UnicodeCodec__Factory)i2, 0u);
3347 XML_Parser__ParserDesc_ParseDocument_ResetLocator();
3348 XML_Parser__ParserDesc_ParseDocument_XMLDecl((XML_DTD__ExternalEntity)i1);
3349 return;
3350 goto l42;
3351 l40:
3352 XML_Parser__ParserDesc_ParseDocument_Err(29);
3353 l42:
3354 XML_DTD__ExternalEntityDesc_SetEncoding((XML_DTD__ExternalEntity)i1, (XML_UnicodeBuffer__CharArray)i0);
3355 i0 = (OOC_INT64)chars;
3356 i0 = _check_pointer(i0, 50773);
3357 i2 = OOC_ARRAY_LENGTH(i0, 0);
3358 i3 = cpos;
3359 i0 = *(OOC_UINT16*)(i0+(_check_index(i3, i2, OOC_UINT32, 50773))*2);
3360 i0 = i0!=63u;
3361 if (!i0) goto l46;
3362 XML_Parser__ParserDesc_ParseDocument_S();
3363 l46:
3364 i0 = *(OOC_INT8*)((_check_pointer(i1, 50913))+16);
3365 i0 = i0==5;
3366 if (i0) goto l49;
3367 i0=0u;
3368 goto l51;
3369 l49:
3370 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"standalone", 11, 1);
3371
3372 l51:
3373 if (!i0) goto l57;
3374 i0 = cpos;
3375 cpos = (i0+10);
3376 XML_Parser__ParserDesc_ParseDocument_Eq();
3377 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_String(5);
3378 string = (XML_UnicodeBuffer__CharArray)i0;
3379 i0 = (
3380 _cmp16((const void*)(_check_pointer(i0, 51143)),(const void*)((OOC_CHAR16[]){121,101,115,0})))==0;
3381 if (i0) goto l55;
3382 XML_DTD__ExternalEntityDesc_SetStandalone((XML_DTD__ExternalEntity)i1, 1);
3383 goto l57;
3384 l55:
3385 XML_DTD__ExternalEntityDesc_SetStandalone((XML_DTD__ExternalEntity)i1, 0);
3386 l57:
3387 XML_Parser__ParserDesc_ParseDocument_OptS(1u);
3388 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"?>", 3, 0);
3389 if (i0) goto l60;
3390 XML_Parser__ParserDesc_ParseDocument_Err(114);
3391 goto l61;
3392 l60:
3393 i0 = cpos;
3394 cpos = (i0+2);
3395 l61:
3396 return;
3397 ;
3398 }
3399
3400
3401 XML_DTD__Entity XML_Parser__ParserDesc_ParseDocument_CurrentEntity(void) {
3402 register OOC_INT64 i0,i1,i2,i3;
3403
3404 i0 = (OOC_INT64)p;
3405 i1 = *(OOC_INT32*)((_check_pointer(i0, 51516))+160);
3406 i1 = i1==0;
3407 if (i1) goto l3;
3408 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 51642))+152);
3409 i1 = _check_pointer(i1, 51651);
3410 i2 = *(OOC_INT32*)((_check_pointer(i0, 51653))+160);
3411 i3 = OOC_ARRAY_LENGTH(i1, 0);
3412 i1 = (OOC_INT64)*(OOC_INT64*)((i1+((_check_index((i2-1), i3, OOC_UINT32, 51651))*40))+24);
3413 _assert((i1!=(OOC_INT64)0), 127, 51633);
3414 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 51701))+152);
3415 i1 = _check_pointer(i1, 51710);
3416 i0 = *(OOC_INT32*)((_check_pointer(i0, 51712))+160);
3417 i2 = OOC_ARRAY_LENGTH(i1, 0);
3418 i0 = (OOC_INT64)*(OOC_INT64*)((i1+((_check_index((i0-1), i2, OOC_UINT32, 51710))*40))+24);
3419 return (XML_DTD__Entity)i0;
3420 goto l4;
3421 l3:
3422 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 51556))+96);
3423 _assert((i1!=(OOC_INT64)0), 127, 51547);
3424 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 51597))+96);
3425 return (XML_DTD__Entity)i0;
3426 l4:
3427 _failed_function(51465); return 0;
3428 ;
3429 }
3430
3431
3432 void XML_Parser__ParserDesc_ParseDocument_CheckCurrentEntity(XML_DTD__Entity reference) {
3433 register OOC_INT64 i0,i1;
3434
3435 i0 = (OOC_INT64)p;
3436 i0 = *(OOC_UINT8*)((_check_pointer(i0, 51848))+114);
3437 if (i0) goto l3;
3438 i0=0u;
3439 goto l5;
3440 l3:
3441 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_CurrentEntity();
3442 i1 = (OOC_INT64)reference;
3443 i0 = i1!=i0;
3444
3445 l5:
3446 if (!i0) goto l7;
3447 XML_Parser__ParserDesc_ParseDocument_ErrNF(306);
3448 l7:
3449 return;
3450 ;
3451 }
3452
3453
3454 void XML_Parser__ParserDesc_ParseDocument_PI(void) {
3455 register OOC_INT64 i0,i1,i2,i3,i4,i5,i6,i7,i8;
3456 XML_DTD__Entity currentEntity;
3457 XML_UnicodeBuffer__CharArray target;
3458 auto OOC_CHAR8 XML_Parser__ParserDesc_ParseDocument_PI_IsReserved(const OOC_CHAR16 name__ref[], OOC_LEN name_0d);
3459
3460 OOC_CHAR8 XML_Parser__ParserDesc_ParseDocument_PI_IsReserved(const OOC_CHAR16 name__ref[], OOC_LEN name_0d) {
3461 register OOC_INT64 i0;
3462 OOC_ALLOCATE_VPAR(name,OOC_CHAR16 ,name_0d)
3463
3464 OOC_INITIALIZE_VPAR(name__ref,name,OOC_CHAR16 ,(name_0d*2))
3465 i0 = *(OOC_UINT16*)((OOC_INT64)name+(_check_index(0, name_0d, OOC_UINT8, 52208))*2);
3466 i0 = (_cap(i0))==88u;
3467 if (i0) goto l3;
3468 i0=0u;
3469 goto l5;
3470 l3:
3471 i0 = *(OOC_UINT16*)((OOC_INT64)name+(_check_index(1, name_0d, OOC_UINT8, 52247))*2);
3472 i0 = (_cap(i0))==77u;
3473
3474 l5:
3475 if (i0) goto l7;
3476 i0=0u;
3477 goto l8;
3478 l7:
3479 i0 = *(OOC_UINT16*)((OOC_INT64)name+(_check_index(2, name_0d, OOC_UINT8, 52286))*2);
3480 i0 = (_cap(i0))==76u;
3481
3482 l8:
3483 return i0;
3484 ;
3485 }
3486
3487
3488 i0 = (OOC_INT64)p;
3489 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 52357))+8);
3490 i1 = _check_pointer(i1, 52360);
3491 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 52357))+8);
3492 i1 = (OOC_INT64)&_td_XML_Locator__Position;
3493 XML_Parser__ParserDesc_ParseDocument_StorePosition((void*)(_check_pointer(i0, 52360)), (RT0__Struct)i1);
3494 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_CurrentEntity();
3495 i2 = cpos;
3496 currentEntity = (XML_DTD__Entity)i0;
3497 cpos = (i2+2);
3498 i2 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_Name(1u);
3499 target = (XML_UnicodeBuffer__CharArray)i2;
3500 i3 = (
3501 _cmp16((const void*)(_check_pointer(i2, 52511)),(const void*)((OOC_CHAR16[]){120,109,108,0})))==0;
3502 if (i3) goto l6;
3503 i3 = OOC_ARRAY_LENGTH((_check_pointer(i2, 52603)), 0);
3504 i3 = XML_Parser__ParserDesc_ParseDocument_PI_IsReserved((void*)(_check_pointer(i2, 52603)), i3);
3505 if (!i3) goto l7;
3506 i3 = (OOC_INT64)p;
3507 i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i3, 52646))+8);
3508 i4 = _check_pointer(i4, 52649);
3509 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i3, 52646))+8);
3510 XML_Parser__ParserDesc_ParseDocument_ErrPos(26, (void*)(_check_pointer(i3, 52649)), (RT0__Struct)i1);
3511 goto l7;
3512 l6:
3513 i3 = (OOC_INT64)p;
3514 i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i3, 52567))+8);
3515 i4 = _check_pointer(i4, 52570);
3516 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i3, 52567))+8);
3517 XML_Parser__ParserDesc_ParseDocument_ErrPos(25, (void*)(_check_pointer(i3, 52570)), (RT0__Struct)i1);
3518 l7:
3519 i3 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"?>", 3, 0);
3520 if (i3) goto l22;
3521 XML_Parser__ParserDesc_ParseDocument_S();
3522 i3 = cpos;
3523 cstart = i3;
3524 cdelta = 0;
3525 l10_loop:
3526 i3 = (OOC_INT64)chars;
3527 i4 = _check_pointer(i3, 52978);
3528 i5 = OOC_ARRAY_LENGTH(i4, 0);
3529 i6 = cpos;
3530 i4 = *(OOC_UINT16*)(i4+(_check_index(i6, i5, OOC_UINT32, 52978))*2);
3531 switch (i4) {
3532 case 0u ... 31u:
3533 case 65534u:
3534 XML_Parser__ParserDesc_ParseDocument_ControlChar(10u);
3535 goto l10_loop;
3536 case 65535u:
3537 i0 = (OOC_INT64)p;
3538 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 53127))+8);
3539 i2 = _check_pointer(i2, 53130);
3540 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 53127))+8);
3541 XML_Parser__ParserDesc_ParseDocument_ErrPos(7, (void*)(_check_pointer(i0, 53130)), (RT0__Struct)i1);
3542 goto l23;
3543 case 63u:
3544 i3 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"?>", 3, 0);
3545 if (i3) goto l18;
3546 i3 = (OOC_INT64)chars;
3547 i4 = _check_pointer(i3, 53578);
3548 i5 = cdelta;
3549 i6 = cpos;
3550 i7 = OOC_ARRAY_LENGTH(i4, 0);
3551 i3 = _check_pointer(i3, 53600);
3552 i8 = OOC_ARRAY_LENGTH(i3, 0);
3553 i3 = *(OOC_UINT16*)(i3+(_check_index(i6, i8, OOC_UINT32, 53600))*2);
3554 *(OOC_UINT16*)(i4+(_check_index((i6-i5), i7, OOC_UINT32, 53578))*2) = i3;
3555 cpos = (i6+1);
3556
3557 goto l10_loop;
3558 l18:
3559 XML_Parser__ParserDesc_ParseDocument_CheckCurrentEntity((XML_DTD__Entity)i0);
3560 i0 = (OOC_INT64)p;
3561 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 53470))+104);
3562 i3 = (OOC_INT64)chars;
3563 i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 53285))+80);
3564 i5 = cpos;
3565 i6 = cdelta;
3566 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 53482))+72);
3567 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 53285))+80);
3568 i7 = OOC_ARRAY_LENGTH((_check_pointer(i3, 53332)), 0);
3569 i8 = cstart;
3570 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i4, 53294)))), XML_Builder__BuilderDesc_ProcessingInstruction)),XML_Builder__BuilderDesc_ProcessingInstruction)((XML_Builder__Builder)i0, (XML_UnicodeBuffer__CharArray)i2, (void*)(_check_pointer(i3, 53332)), i7, i8, (i5-i6), (URI__URI)i1);
3571 i0 = cpos;
3572 cpos = (i0+2);
3573 goto l23;
3574 default:
3575 i4 = _check_pointer(i3, 53667);
3576 i5 = cdelta;
3577 i7 = OOC_ARRAY_LENGTH(i4, 0);
3578 i3 = _check_pointer(i3, 53689);
3579 i8 = OOC_ARRAY_LENGTH(i3, 0);
3580 i3 = *(OOC_UINT16*)(i3+(_check_index(i6, i8, OOC_UINT32, 53689))*2);
3581 *(OOC_UINT16*)(i4+(_check_index((i6-i5), i7, OOC_UINT32, 53667))*2) = i3;
3582 cpos = (i6+1);
3583 goto l10_loop;
3584 }
3585 l22:
3586 i0 = (OOC_INT64)p;
3587 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 52840))+104);
3588 i3 = (OOC_INT64)chars;
3589 i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 52725))+80);
3590 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 52852))+72);
3591 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 52725))+80);
3592 i5 = OOC_ARRAY_LENGTH((_check_pointer(i3, 52772)), 0);
3593 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i4, 52734)))), XML_Builder__BuilderDesc_ProcessingInstruction)),XML_Builder__BuilderDesc_ProcessingInstruction)((XML_Builder__Builder)i0, (XML_UnicodeBuffer__CharArray)i2, (void*)(_check_pointer(i3, 52772)), i5, 0, 0, (URI__URI)i1);
3594 i0 = cpos;
3595 cpos = (i0+2);
3596 l23:
3597 return;
3598 ;
3599 }
3600
3601
3602 void XML_Parser__ParserDesc_ParseDocument_Comment(void) {
3603 register OOC_INT64 i0,i1,i2,i3,i4,i5,i6,i7;
3604 XML_DTD__Entity currentEntity;
3605
3606 i0 = (OOC_INT64)p;
3607 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 53900))+8);
3608 i1 = _check_pointer(i1, 53903);
3609 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 53900))+8);
3610 i1 = (OOC_INT64)&_td_XML_Locator__Position;
3611 XML_Parser__ParserDesc_ParseDocument_StorePosition((void*)(_check_pointer(i0, 53903)), (RT0__Struct)i1);
3612 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_CurrentEntity();
3613 i2 = cpos;
3614 currentEntity = (XML_DTD__Entity)i0;
3615 i2 = i2+4;
3616 cpos = i2;
3617 cstart = i2;
3618 cdelta = 0;
3619 l1_loop:
3620 i2 = (OOC_INT64)chars;
3621 i3 = _check_pointer(i2, 54075);
3622 i4 = OOC_ARRAY_LENGTH(i3, 0);
3623 i5 = cpos;
3624 i3 = *(OOC_UINT16*)(i3+(_check_index(i5, i4, OOC_UINT32, 54075))*2);
3625 switch (i3) {
3626 case 0u ... 31u:
3627 case 65534u:
3628 XML_Parser__ParserDesc_ParseDocument_ControlChar(10u);
3629 goto l1_loop;
3630 case 65535u:
3631 i0 = (OOC_INT64)p;
3632 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 54221))+8);
3633 i2 = _check_pointer(i2, 54224);
3634 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 54221))+8);
3635 XML_Parser__ParserDesc_ParseDocument_ErrPos(5, (void*)(_check_pointer(i0, 54224)), (RT0__Struct)i1);
3636 goto l15;
3637 case 45u:
3638 i2 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"-->", 4, 0);
3639 if (i2) goto l12;
3640 i2 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"--", 3, 0);
3641 if (i2) goto l9;
3642 goto l11;
3643 l9:
3644 XML_Parser__ParserDesc_ParseDocument_Err(4);
3645 l11:
3646 i2 = (OOC_INT64)chars;
3647 i3 = _check_pointer(i2, 54603);
3648 i4 = cpos;
3649 i5 = cdelta;
3650 i6 = OOC_ARRAY_LENGTH(i3, 0);
3651 i2 = _check_pointer(i2, 54625);
3652 i7 = OOC_ARRAY_LENGTH(i2, 0);
3653 i2 = *(OOC_UINT16*)(i2+(_check_index(i4, i7, OOC_UINT32, 54625))*2);
3654 *(OOC_UINT16*)(i3+(_check_index((i4-i5), i6, OOC_UINT32, 54603))*2) = i2;
3655 cpos = (i4+1);
3656 goto l1_loop;
3657 l12:
3658 XML_Parser__ParserDesc_ParseDocument_CheckCurrentEntity((XML_DTD__Entity)i0);
3659 i0 = (OOC_INT64)chars;
3660 i1 = (OOC_INT64)p;
3661 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 54370))+80);
3662 i3 = cpos;
3663 i4 = cdelta;
3664 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 54370))+80);
3665 i5 = OOC_ARRAY_LENGTH((_check_pointer(i0, 54395)), 0);
3666 i6 = cstart;
3667 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 54379)))), XML_Builder__BuilderDesc_Comment)),XML_Builder__BuilderDesc_Comment)((XML_Builder__Builder)i1, (void*)(_check_pointer(i0, 54395)), i5, i6, (i3-i4));
3668 i0 = cpos;
3669 cpos = (i0+3);
3670 goto l15;
3671 default:
3672 i3 = _check_pointer(i2, 54673);
3673 i4 = cdelta;
3674 i6 = OOC_ARRAY_LENGTH(i3, 0);
3675 i2 = _check_pointer(i2, 54695);
3676 i7 = OOC_ARRAY_LENGTH(i2, 0);
3677 i2 = *(OOC_UINT16*)(i2+(_check_index(i5, i7, OOC_UINT32, 54695))*2);
3678 *(OOC_UINT16*)(i3+(_check_index((i5-i4), i6, OOC_UINT32, 54673))*2) = i2;
3679 cpos = (i5+1);
3680 goto l1_loop;
3681 }
3682 l15:
3683 XML_Parser__ParserDesc_ParseDocument_DiscardPreviousInput();
3684 return;
3685 ;
3686 }
3687
3688
3689 void XML_Parser__ParserDesc_ParseDocument_CDSect(void) {
3690 register OOC_INT64 i0,i1,i2,i3,i4,i5,i6,i7;
3691
3692 i0 = (OOC_INT64)p;
3693 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 54888))+8);
3694 i1 = _check_pointer(i1, 54891);
3695 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 54888))+8);
3696 i1 = (OOC_INT64)&_td_XML_Locator__Position;
3697 XML_Parser__ParserDesc_ParseDocument_StorePosition((void*)(_check_pointer(i0, 54891)), (RT0__Struct)i1);
3698 i0 = (OOC_INT64)p;
3699 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 54902))+80);
3700 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 54902))+80);
3701 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 54911)))), XML_Builder__BuilderDesc_StartCDATA)),XML_Builder__BuilderDesc_StartCDATA)((XML_Builder__Builder)i0);
3702 i0 = cpos;
3703 i0 = i0+9;
3704 cpos = i0;
3705 cstart = i0;
3706 cdelta = 0;
3707 l1_loop:
3708 i0 = (OOC_INT64)chars;
3709 i2 = _check_pointer(i0, 55084);
3710 i3 = OOC_ARRAY_LENGTH(i2, 0);
3711 i4 = cpos;
3712 i2 = *(OOC_UINT16*)(i2+(_check_index(i4, i3, OOC_UINT32, 55084))*2);
3713 switch (i2) {
3714 case 0u ... 31u:
3715 case 65534u:
3716 XML_Parser__ParserDesc_ParseDocument_ControlChar(10u);
3717 goto l1_loop;
3718 case 65535u:
3719 i0 = (OOC_INT64)p;
3720 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 55228))+8);
3721 i2 = _check_pointer(i2, 55231);
3722 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 55228))+8);
3723 XML_Parser__ParserDesc_ParseDocument_ErrPos(8, (void*)(_check_pointer(i0, 55231)), (RT0__Struct)i1);
3724 goto l12;
3725 case 93u:
3726 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"]]>", 4, 0);
3727 if (i0) goto l9;
3728 i0 = (OOC_INT64)chars;
3729 i2 = _check_pointer(i0, 55660);
3730 i3 = cdelta;
3731 i4 = cpos;
3732 i5 = OOC_ARRAY_LENGTH(i2, 0);
3733 i0 = _check_pointer(i0, 55682);
3734 i6 = OOC_ARRAY_LENGTH(i0, 0);
3735 i0 = *(OOC_UINT16*)(i0+(_check_index(i4, i6, OOC_UINT32, 55682))*2);
3736 *(OOC_UINT16*)(i2+(_check_index((i4-i3), i5, OOC_UINT32, 55660))*2) = i0;
3737 cpos = (i4+1);
3738 goto l1_loop;
3739 l9:
3740 i0 = (OOC_INT64)p;
3741 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 55340))+8);
3742 i2 = _check_pointer(i2, 55343);
3743 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 55340))+8);
3744 XML_Parser__ParserDesc_ParseDocument_DecLength((void*)(_check_pointer(i0, 55343)), (RT0__Struct)i1, (-9));
3745 i0 = (OOC_INT64)chars;
3746 i2 = (OOC_INT64)p;
3747 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 55364))+80);
3748 i4 = cpos;
3749 i5 = cdelta;
3750 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 55364))+80);
3751 i6 = OOC_ARRAY_LENGTH((_check_pointer(i0, 55392)), 0);
3752 i7 = cstart;
3753 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i3, 55373)))), XML_Builder__BuilderDesc_Characters)),XML_Builder__BuilderDesc_Characters)((XML_Builder__Builder)i2, (void*)(_check_pointer(i0, 55392)), i6, i7, (i4-i5), 1);
3754 i0 = cpos;
3755 cpos = (i0+3);
3756 i0 = (OOC_INT64)p;
3757 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 55548))+8);
3758 i2 = _check_pointer(i2, 55551);
3759 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 55548))+8);
3760 XML_Parser__ParserDesc_ParseDocument_StorePosition((void*)(_check_pointer(i0, 55551)), (RT0__Struct)i1);
3761 i0 = (OOC_INT64)p;
3762 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 55568))+80);
3763 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 55568))+80);
3764 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 55577)))), XML_Builder__BuilderDesc_EndCDATA)),XML_Builder__BuilderDesc_EndCDATA)((XML_Builder__Builder)i0);
3765 goto l12;
3766 default:
3767 i2 = _check_pointer(i0, 55743);
3768 i3 = cdelta;
3769 i5 = OOC_ARRAY_LENGTH(i2, 0);
3770 i0 = _check_pointer(i0, 55765);
3771 i6 = OOC_ARRAY_LENGTH(i0, 0);
3772 i0 = *(OOC_UINT16*)(i0+(_check_index(i4, i6, OOC_UINT32, 55765))*2);
3773 *(OOC_UINT16*)(i2+(_check_index((i4-i3), i5, OOC_UINT32, 55743))*2) = i0;
3774 cpos = (i4+1);
3775 goto l1_loop;
3776 }
3777 l12:
3778 return;
3779 ;
3780 }
3781
3782
3783 void XML_Parser__ParserDesc_ParseDocument_CharRef(void) {
3784 register OOC_INT64 i0,i1,i2,i3,i4,i5;
3785 struct XML_Locator__Position pos;
3786 OOC_INT32 cval;
3787 auto OOC_INT32 XML_Parser__ParserDesc_ParseDocument_CharRef_ToUnicode(OOC_INT32 cval);
3788
3789 OOC_INT32 XML_Parser__ParserDesc_ParseDocument_CharRef_ToUnicode(OOC_INT32 cval) {
3790 register OOC_INT64 i0,i1,i2,i3,i4;
3791
3792 i0 = cval;
3793 i1 = i0<=65535;
3794 if (i1) goto l3;
3795 i0 = i0-65536;
3796 cval = i0;
3797 i1 = (OOC_INT64)chars;
3798 i2 = _check_pointer(i1, 56523);
3799 i3 = cdelta;
3800 i4 = cpos;
3801 i3 = i4-i3;
3802 i4 = OOC_ARRAY_LENGTH(i2, 0);
3803 *(OOC_UINT16*)(i2+(_check_index(i3, i4, OOC_UINT32, 56523))*2) = (55296+(i0>>10));
3804 i1 = _check_pointer(i1, 56589);
3805 i2 = OOC_ARRAY_LENGTH(i1, 0);
3806 *(OOC_UINT16*)(i1+(_check_index((i3+1), i2, OOC_UINT32, 56589))*2) = (56320+(_mod(i0,1024)));
3807 return 2;
3808 goto l4;
3809 l3:
3810 i1 = (OOC_INT64)chars;
3811 i1 = _check_pointer(i1, 56413);
3812 i2 = cdelta;
3813 i3 = cpos;
3814 i4 = OOC_ARRAY_LENGTH(i1, 0);
3815 *(OOC_UINT16*)(i1+(_check_index((i3-i2), i4, OOC_UINT32, 56413))*2) = i0;
3816 return 1;
3817 l4:
3818 _failed_function(56313); return 0;
3819 ;
3820 }
3821
3822
3823 i0 = (OOC_INT64)&_td_XML_Locator__Position;
3824 XML_Parser__ParserDesc_ParseDocument_StorePosition((void*)(OOC_INT64)&pos, (RT0__Struct)i0);
3825 cval = 0;
3826 i1 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"&#x", 4, 0);
3827 if (i1) goto l15;
3828 i1 = cpos;
3829 i2 = cdelta;
3830 cpos = (i1+2);
3831 cdelta = (i2+2);
3832 i1=0;
3833 l3_loop:
3834 i2 = (OOC_INT64)chars;
3835 i3 = _check_pointer(i2, 57555);
3836 i4 = OOC_ARRAY_LENGTH(i3, 0);
3837 i5 = cpos;
3838 i3 = *(OOC_UINT16*)(i3+(_check_index(i5, i4, OOC_UINT32, 57555))*2);
3839 switch (i3) {
3840 case 65534u:
3841 XML_Parser__ParserDesc_ParseDocument_NextBlock();
3842
3843 goto l3_loop;
3844 case 59u:
3845 case 65535u:
3846
3847 goto l33;
3848 case 48u ... 57u:
3849 i3 = i1<=131072;
3850 if (i3) goto l10;
3851 goto l11;
3852 l10:
3853 i2 = _check_pointer(i2, 57772);
3854 i3 = OOC_ARRAY_LENGTH(i2, 0);
3855 i2 = *(OOC_UINT16*)(i2+(_check_index(i5, i3, OOC_UINT32, 57772))*2);
3856 i1 = ((i1*10)+i2)-48;
3857 cval = i1;
3858
3859 l11:
3860 i2 = cdelta;
3861 cpos = (i5+1);
3862 cdelta = (i2+1);
3863
3864 goto l3_loop;
3865 default:
3866 XML_Parser__ParserDesc_ParseDocument_Err(14);
3867 cval = 32;
3868 i1=32;
3869 goto l33;
3870 }
3871 l15:
3872 i1 = cpos;
3873 i2 = cdelta;
3874 cpos = (i1+3);
3875 cdelta = (i2+3);
3876 i1=0;
3877 l16_loop:
3878 i2 = (OOC_INT64)chars;
3879 i3 = _check_pointer(i2, 56873);
3880 i4 = OOC_ARRAY_LENGTH(i3, 0);
3881 i5 = cpos;
3882 i3 = *(OOC_UINT16*)(i3+(_check_index(i5, i4, OOC_UINT32, 56873))*2);
3883 switch (i3) {
3884 case 65534u:
3885 XML_Parser__ParserDesc_ParseDocument_NextBlock();
3886
3887 goto l16_loop;
3888 case 59u:
3889 case 65535u:
3890
3891 goto l33;
3892 case 48u ... 57u:
3893 i3 = i1<=131072;
3894 if (i3) goto l23;
3895 goto l24;
3896 l23:
3897 i2 = _check_pointer(i2, 57090);
3898 i3 = OOC_ARRAY_LENGTH(i2, 0);
3899 i2 = *(OOC_UINT16*)(i2+(_check_index(i5, i3, OOC_UINT32, 57090))*2);
3900 i1 = ((i1*16)+i2)-48;
3901 cval = i1;
3902
3903 l24:
3904 i2 = cdelta;
3905 cpos = (i5+1);
3906 cdelta = (i2+1);
3907
3908 goto l16_loop;
3909 case 97u ... 102u:
3910 case 65u ... 70u:
3911 i3 = i1<=131072;
3912 if (i3) goto l28;
3913 goto l29;
3914 l28:
3915 i2 = _check_pointer(i2, 57283);
3916 i3 = OOC_ARRAY_LENGTH(i2, 0);
3917 i2 = *(OOC_UINT16*)(i2+(_check_index(i5, i3, OOC_UINT32, 57283))*2);
3918 i1 = ((i1*16)+((_cap(i2))+10))-65;
3919 cval = i1;
3920
3921 l29:
3922 i2 = cdelta;
3923 cpos = (i5+1);
3924 cdelta = (i2+1);
3925
3926 goto l16_loop;
3927 default:
3928 XML_Parser__ParserDesc_ParseDocument_Err(15);
3929 cval = 32;
3930 i1=32;
3931 goto l33;
3932 }
3933 l33:
3934 i2 = (OOC_INT64)chars;
3935 i2 = _check_pointer(i2, 57979);
3936 i3 = OOC_ARRAY_LENGTH(i2, 0);
3937 i4 = cpos;
3938 i2 = *(OOC_UINT16*)(i2+(_check_index(i4, i3, OOC_UINT32, 57979))*2);
3939 i2 = i2==59u;
3940 if (!i2) goto l36;
3941 i2 = cdelta;
3942 cdelta = (i2+1);
3943 l36:
3944 XML_Parser__ParserDesc_ParseDocument_CheckChar(59u);
3945 i2 = XML_Parser__IsCharUCS4(i1);
3946 i2 = !i2;
3947 if (i2) goto l39;
3948 i0=i1;
3949 goto l40;
3950 l39:
3951 XML_Parser__ParserDesc_ParseDocument_ErrPos(17, (void*)(OOC_INT64)&pos, (RT0__Struct)i0);
3952 cval = 32;
3953 i0=32;
3954 l40:
3955 i1 = cdelta;
3956 i0 = XML_Parser__ParserDesc_ParseDocument_CharRef_ToUnicode(i0);
3957 cdelta = (i1-i0);
3958 return;
3959 ;
3960 }
3961
3962
3963 XML_DTD__EntityRef XML_Parser__ParserDesc_ParseDocument_EntityRef(OOC_CHAR8 enforceDecl, OOC_CHAR8 permitExternal) {
3964 register OOC_INT64 i0,i1,i2,i3;
3965 struct XML_Locator__Position pos;
3966 OOC_INT32 localCStart;
3967 XML_UnicodeBuffer__CharArray name;
3968 XML_DTD__Declaration decl;
3969 XML_DTD__Entity entity;
3970
3971 i0 = (OOC_INT64)&_td_XML_Locator__Position;
3972 XML_Parser__ParserDesc_ParseDocument_StorePosition((void*)(OOC_INT64)&pos, (RT0__Struct)i0);
3973 XML_Parser__ParserDesc_ParseDocument_CheckChar(38u);
3974 i1 = (OOC_INT64)p;
3975 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 58621))+64);
3976 i1 = *(OOC_INT32*)((_check_pointer(i1, 58625))+48);
3977 i2 = cstart;
3978 i1 = i1+i2;
3979 localCStart = i1;
3980 i2 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_Name(1u);
3981 name = (XML_UnicodeBuffer__CharArray)i2;
3982 i3 = (OOC_INT64)p;
3983 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i3, 58706))+64);
3984 i3 = *(OOC_INT32*)((_check_pointer(i3, 58710))+48);
3985 cstart = (i1-i3);
3986 XML_Parser__ParserDesc_ParseDocument_CheckChar(59u);
3987 i1 = (OOC_INT64)dtd;
3988 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 58775))+8);
3989 i1 = (OOC_INT64)XML_DTD__NamespaceDesc_Get((XML_DTD__Namespace)i1, (XML_UnicodeBuffer__CharArray)i2);
3990 decl = (XML_DTD__Declaration)i1;
3991 i3 = i1==(OOC_INT64)0;
3992 if (i3) goto l15;
3993 i1 = _type_guard(i1, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 59095)))), &_td_XML_DTD__EntityDesc, 59095);
3994 entity = (XML_DTD__Entity)i1;
3995 i3 = *(OOC_INT8*)((_check_pointer(i1, 59122))+16);
3996 i3 = i3==4;
3997 if (i3) goto l13;
3998 i3 = permitExternal;
3999 i3 = !i3;
4000 if (i3) goto l7;
4001 i3=0u;
4002 goto l9;
4003 l7:
4004 i3 = *(OOC_INT8*)((_check_pointer(i1, 59343))+16);
4005 i3 = i3==2;
4006
4007 l9:
4008 if (i3) goto l11;
4009 i0=i2;
4010 goto l14;
4011 l11:
4012 XML_Parser__ParserDesc_ParseDocument_ErrPos(305, (void*)(OOC_INT64)&pos, (RT0__Struct)i0);
4013 i0 = OOC_ARRAY_LENGTH((_check_pointer(i2, 59506)), 0);
4014 i0 = (OOC_INT64)Msg__GetLStringPtr((void*)(_check_pointer(i2, 59506)), i0);
4015 i2 = (OOC_INT64)p;
4016 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 59444))+176);
4017 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 59444))+176);
4018 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i3, 59455)))), Msg__MsgDesc_SetLStringAttrib)),Msg__MsgDesc_SetLStringAttrib)((Msg__Msg)i2, (OOC_CHAR8*)"name", 5, (Msg__LStringPtr)i0);
4019 i0 = (OOC_INT64)XML_Parser__noName;
4020 name = (XML_UnicodeBuffer__CharArray)i0;
4021
4022 goto l14;
4023 l13:
4024 XML_Parser__ParserDesc_ParseDocument_ErrPos(304, (void*)(OOC_INT64)&pos, (RT0__Struct)i0);
4025 i0 = OOC_ARRAY_LENGTH((_check_pointer(i2, 59274)), 0);
4026 i0 = (OOC_INT64)Msg__GetLStringPtr((void*)(_check_pointer(i2, 59274)), i0);
4027 i2 = (OOC_INT64)p;
4028 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 59212))+176);
4029 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 59212))+176);
4030 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i3, 59223)))), Msg__MsgDesc_SetLStringAttrib)),Msg__MsgDesc_SetLStringAttrib)((Msg__Msg)i2, (OOC_CHAR8*)"name", 5, (Msg__LStringPtr)i0);
4031 i0 = (OOC_INT64)XML_Parser__noName;
4032 name = (XML_UnicodeBuffer__CharArray)i0;
4033
4034 l14:
4035 {register OOC_INT64 h0=i0;i0=i1;i1=h0;}
4036 goto l27;
4037 l15:
4038 entity = (XML_DTD__Entity)(OOC_INT64)0;
4039 i1 = enforceDecl;
4040 if (i1) goto l18;
4041 i1=0u;
4042 goto l20;
4043 l18:
4044 i1 = (OOC_INT64)p;
4045 i1 = *(OOC_UINT8*)((_check_pointer(i1, 58878))+115);
4046
4047 l20:
4048 if (i1) goto l22;
4049 i1=0u;
4050 goto l24;
4051 l22:
4052 i1 = (OOC_INT64)XML_Parser__noName;
4053 i1 = i2!=i1;
4054
4055 l24:
4056 if (!i1) goto l26;
4057 XML_Parser__ParserDesc_ParseDocument_ErrPos(210, (void*)(OOC_INT64)&pos, (RT0__Struct)i0);
4058 i0 = OOC_ARRAY_LENGTH((_check_pointer(i2, 59041)), 0);
4059 i0 = (OOC_INT64)Msg__GetLStringPtr((void*)(_check_pointer(i2, 59041)), i0);
4060 i1 = (OOC_INT64)p;
4061 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 58979))+176);
4062 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 58979))+176);
4063 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i3, 58990)))), Msg__MsgDesc_SetLStringAttrib)),Msg__MsgDesc_SetLStringAttrib)((Msg__Msg)i1, (OOC_CHAR8*)"name", 5, (Msg__LStringPtr)i0);
4064 l26:
4065 i1=i2;i0=(OOC_INT64)0;
4066 l27:
4067 i2 = (OOC_INT64)dtd;
4068 i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 59575)))), XML_DTD__BuilderDesc_NewEntityRef)),XML_DTD__BuilderDesc_NewEntityRef)((XML_DTD__Builder)i2, (XML_UnicodeBuffer__CharArray)i1, (XML_DTD__Entity)i0);
4069 return (XML_DTD__EntityRef)i0;
4070 ;
4071 }
4072
4073
4074 XML_DTD__AttValue XML_Parser__ParserDesc_ParseDocument_AttValue(OOC_CHAR8 isAttDecl) {
4075 register OOC_INT64 i0,i1,i2,i3,i4,i5,i6;
4076 XML_DTD__AttValue attValue;
4077 struct XML_Locator__Position pos;
4078 OOC_CHAR16 endChar;
4079 auto void XML_Parser__ParserDesc_ParseDocument_AttValue_Flush(void);
4080
4081 void XML_Parser__ParserDesc_ParseDocument_AttValue_Flush(void) {
4082 register OOC_INT64 i0,i1,i2,i3,i4;
4083
4084 i0 = cpos;
4085 i1 = cdelta;
4086 i0 = i0-i1;
4087 i1 = cstart;
4088 i2 = i0!=i1;
4089 if (!i2) goto l4;
4090 i2 = (OOC_INT64)dtd;
4091 i3 = (OOC_INT64)chars;
4092 i4 = isAttDecl;
4093 i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 60206)))), XML_DTD__BuilderDesc_NewCharacters)),XML_DTD__BuilderDesc_NewCharacters)((XML_DTD__Builder)i2, (XML_UnicodeBuffer__CharArray)i3, i1, i0, i4);
4094 i1 = (OOC_INT64)attValue;
4095 XML_DTD__AttValueDesc_Append((XML_DTD__AttValue)i1, (XML_DTD__Fragment)i0);
4096 l4:
4097 return;
4098 ;
4099 }
4100
4101
4102 i0 = (OOC_INT64)dtd;
4103 i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 60329)))), XML_DTD__BuilderDesc_NewAttValue)),XML_DTD__BuilderDesc_NewAttValue)((XML_DTD__Builder)i0);
4104 attValue = (XML_DTD__AttValue)i0;
4105 i0 = (OOC_INT64)chars;
4106 i1 = _check_pointer(i0, 60361);
4107 i2 = OOC_ARRAY_LENGTH(i1, 0);
4108 i3 = cpos;
4109 i1 = *(OOC_UINT16*)(i1+(_check_index(i3, i2, OOC_UINT32, 60361))*2);
4110 i1 = i1==39u;
4111 if (i1) goto l3;
4112 i0 = _check_pointer(i0, 60384);
4113 i1 = OOC_ARRAY_LENGTH(i0, 0);
4114 i0 = *(OOC_UINT16*)(i0+(_check_index(i3, i1, OOC_UINT32, 60384))*2);
4115 i0 = i0==34u;
4116
4117 goto l5;
4118 l3:
4119 i0=1u;
4120 l5:
4121 if (i0) goto l7;
4122 XML_Parser__ParserDesc_ParseDocument_Err(108);
4123 XML_Parser__ParserDesc_ParseDocument_NextChar();
4124 goto l25;
4125 l7:
4126 i0 = (OOC_INT64)&_td_XML_Locator__Position;
4127 XML_Parser__ParserDesc_ParseDocument_StorePosition((void*)(OOC_INT64)&pos, (RT0__Struct)i0);
4128 i1 = (OOC_INT64)chars;
4129 i1 = _check_pointer(i1, 60456);
4130 i2 = OOC_ARRAY_LENGTH(i1, 0);
4131 i3 = cpos;
4132 i1 = *(OOC_UINT16*)(i1+(_check_index(i3, i2, OOC_UINT32, 60456))*2);
4133 endChar = i1;
4134 i1 = i3+1;
4135 cpos = i1;
4136 cstart = i1;
4137 cdelta = 0;
4138 l8_loop:
4139 i1 = (OOC_INT64)chars;
4140 i2 = _check_pointer(i1, 60553);
4141 i3 = OOC_ARRAY_LENGTH(i2, 0);
4142 i4 = cpos;
4143 i2 = *(OOC_UINT16*)(i2+(_check_index(i4, i3, OOC_UINT32, 60553))*2);
4144 switch (i2) {
4145 case 0u ... 31u:
4146 case 65534u:
4147 XML_Parser__ParserDesc_ParseDocument_ControlChar(32u);
4148 goto l8_loop;
4149 case 65535u:
4150 XML_Parser__ParserDesc_ParseDocument_ErrPos(6, (void*)(OOC_INT64)&pos, (RT0__Struct)i0);
4151 XML_Parser__ParserDesc_ParseDocument_AttValue_Flush();
4152 goto l25;
4153 case 60u:
4154 XML_Parser__ParserDesc_ParseDocument_Err(13);
4155 i1 = (OOC_INT64)chars;
4156 i1 = _check_pointer(i1, 60812);
4157 i2 = cpos;
4158 i3 = cdelta;
4159 i4 = OOC_ARRAY_LENGTH(i1, 0);
4160 *(OOC_UINT16*)(i1+(_check_index((i2-i3), i4, OOC_UINT32, 60812))*2) = 32u;
4161 cpos = (i2+1);
4162 goto l8_loop;
4163 case 38u:
4164 i1 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"&#", 3, 0);
4165 if (!i1) goto l15;
4166 goto l16;
4167 l15:
4168 XML_Parser__ParserDesc_ParseDocument_AttValue_Flush();
4169 i1 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_EntityRef(1u, 0u);
4170 i2 = (OOC_INT64)attValue;
4171 XML_DTD__AttValueDesc_Append((XML_DTD__AttValue)i2, (XML_DTD__Fragment)i1);
4172 i1 = cpos;
4173 cstart = i1;
4174 cdelta = 0;
4175 goto l8_loop;
4176 l16:
4177 XML_Parser__ParserDesc_ParseDocument_CharRef();
4178 goto l8_loop;
4179 default:
4180 i2 = _check_pointer(i1, 61201);
4181 i3 = OOC_ARRAY_LENGTH(i2, 0);
4182 i2 = *(OOC_UINT16*)(i2+(_check_index(i4, i3, OOC_UINT32, 61201))*2);
4183 i3 = endChar;
4184 i2 = i2==i3;
4185 if (i2) goto l22;
4186 i2 = _check_pointer(i1, 61566);
4187 i3 = cdelta;
4188 i5 = OOC_ARRAY_LENGTH(i2, 0);
4189 i1 = _check_pointer(i1, 61588);
4190 i6 = OOC_ARRAY_LENGTH(i1, 0);
4191 i1 = *(OOC_UINT16*)(i1+(_check_index(i4, i6, OOC_UINT32, 61588))*2);
4192 *(OOC_UINT16*)(i2+(_check_index((i4-i3), i5, OOC_UINT32, 61566))*2) = i1;
4193 cpos = (i4+1);
4194 goto l8_loop;
4195 l22:
4196 XML_Parser__ParserDesc_ParseDocument_AttValue_Flush();
4197 i0 = endChar;
4198 XML_Parser__ParserDesc_ParseDocument_CheckChar(i0);
4199 goto l25;
4200 }
4201 l25:
4202 i0 = (OOC_INT64)attValue;
4203 return (XML_DTD__AttValue)i0;
4204 ;
4205 }
4206
4207
4208 void XML_Parser__ParserDesc_ParseDocument_Expand(XML_DTD__AttValue attValue) {
4209 register OOC_INT64 i0,i1,i2;
4210 XML_DTD__Fragment fragment;
4211 XML_DTD__Declaration decl;
4212 XML_DTD__Entity entity;
4213 auto XML_DTD__AttValue XML_Parser__ParserDesc_ParseDocument_Expand_ExpandAttValue(XML_DTD__Entity entity);
4214 auto OOC_CHAR8 XML_Parser__ParserDesc_ParseDocument_Expand_IsRecursive(XML_DTD__Entity entity);
4215 auto XML_DTD__AttValue XML_Parser__ParserDesc_ParseDocument_Expand_ExpandAttValue(XML_DTD__Entity entity);
4216
4217 OOC_CHAR8 XML_Parser__ParserDesc_ParseDocument_Expand_IsRecursive(XML_DTD__Entity entity) {
4218 register OOC_INT64 i0,i1,i2;
4219 XML_DTD__Fragment fragment;
4220
4221 i0 = (OOC_INT64)entity;
4222 i1 = *(OOC_UINT8*)((_check_pointer(i0, 62143))+33);
4223 if (i1) goto l24;
4224 *(OOC_UINT8*)((_check_pointer(i0, 62211))+33) = 1u;
4225 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 62252))+40);
4226 i1 = i1==(OOC_INT64)0;
4227 if (!i1) goto l5;
4228 i1 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_Expand_ExpandAttValue((XML_DTD__Entity)i0);
4229 *(OOC_INT64*)((_check_pointer(i0, 62293))+40) = i1;
4230 l5:
4231 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 62374))+40);
4232 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i1, 62384));
4233 fragment = (XML_DTD__Fragment)i1;
4234 i2 = i1!=(OOC_INT64)0;
4235 if (!i2) goto l23;
4236 l8_loop:
4237 i2 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 62461)))), &_td_XML_DTD__EntityRefDesc);
4238 if (!i2) goto l18;
4239 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 62506))+16);
4240 i2 = i2!=(OOC_INT64)0;
4241 if (i2) goto l13;
4242 i2=0u;
4243 goto l15;
4244 l13:
4245 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 62562))+16);
4246 i2 = XML_Parser__ParserDesc_ParseDocument_Expand_IsRecursive((XML_DTD__Entity)i2);
4247
4248 l15:
4249 if (!i2) goto l18;
4250 *(OOC_UINT8*)((_check_pointer(i0, 62599))+33) = 0u;
4251 return 1u;
4252 l18:
4253 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i1, 62772));
4254 fragment = (XML_DTD__Fragment)i1;
4255 i2 = i1!=(OOC_INT64)0;
4256 if (i2) goto l8_loop;
4257 l23:
4258 *(OOC_UINT8*)((_check_pointer(i0, 62810))+33) = 0u;
4259 return 0u;
4260 goto l25;
4261 l24:
4262 return 1u;
4263 l25:
4264 _failed_function(62013); return 0;
4265 ;
4266 }
4267
4268
4269 XML_DTD__AttValue XML_Parser__ParserDesc_ParseDocument_Expand_ExpandAttValue(XML_DTD__Entity entity) {
4270 register OOC_INT64 i0,i1,i2,i3,i4;
4271 XML_DTD__AttValue attValue;
4272 auto void XML_Parser__ParserDesc_ParseDocument_Expand_ExpandAttValue_Flush(void);
4273
4274 void XML_Parser__ParserDesc_ParseDocument_Expand_ExpandAttValue_Flush(void) {
4275 register OOC_INT64 i0,i1,i2,i3;
4276
4277 i0 = cpos;
4278 i1 = cstart;
4279 i2 = i0!=i1;
4280 if (!i2) goto l3;
4281 i2 = (OOC_INT64)dtd;
4282 i3 = (OOC_INT64)chars;
4283 i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 63123)))), XML_DTD__BuilderDesc_NewCharacters)),XML_DTD__BuilderDesc_NewCharacters)((XML_DTD__Builder)i2, (XML_UnicodeBuffer__CharArray)i3, i1, i0, 0u);
4284 i1 = (OOC_INT64)attValue;
4285 XML_DTD__AttValueDesc_Append((XML_DTD__AttValue)i1, (XML_DTD__Fragment)i0);
4286 l3:
4287 return;
4288 ;
4289 }
4290
4291
4292 i0 = (OOC_INT64)entity;
4293 i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 63234)))), &_td_XML_DTD__ExternalEntityDesc);
4294 if (!i1) goto l3;
4295 i1 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_Internalize((XML_DTD__ExternalEntity)(_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 63320)))), &_td_XML_DTD__ExternalEntityDesc, 63320)));
4296 XML_DTD__EntityDesc_SetEntityValue((XML_DTD__Entity)i0, (XML_UnicodeBuffer__CharArray)i1);
4297 l3:
4298 XML_Parser__ParserDesc_ParseDocument_PushEntity((XML_DTD__Entity)i0, 0u);
4299 i0 = (OOC_INT64)dtd;
4300 i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 63411)))), XML_DTD__BuilderDesc_NewAttValue)),XML_DTD__BuilderDesc_NewAttValue)((XML_DTD__Builder)i0);
4301 attValue = (XML_DTD__AttValue)i0;
4302 i0 = cpos;
4303 cstart = i0;
4304 l4_loop:
4305 i0 = (OOC_INT64)chars;
4306 i1 = _check_pointer(i0, 63485);
4307 i2 = OOC_ARRAY_LENGTH(i1, 0);
4308 i3 = cpos;
4309 i1 = *(OOC_UINT16*)(i1+(_check_index(i3, i2, OOC_UINT32, 63485))*2);
4310 switch (i1) {
4311 case 65535u:
4312 XML_Parser__ParserDesc_ParseDocument_Expand_ExpandAttValue_Flush();
4313 goto l19;
4314 case 0u ... 31u:
4315 i1 = _check_pointer(i0, 63789);
4316 i2 = OOC_ARRAY_LENGTH(i1, 0);
4317 i1 = *(OOC_UINT16*)(i1+(_check_index(i3, i2, OOC_UINT32, 63789))*2);
4318 i1 = i1!=9u;
4319 if (!i1) goto l4_loop;
4320 i0 = _check_pointer(i0, 63832);
4321 i1 = OOC_ARRAY_LENGTH(i0, 0);
4322 *(OOC_UINT16*)(i0+(_check_index(i3, i1, OOC_UINT32, 63832))*2) = 32u;
4323 goto l4_loop;
4324 case 60u:
4325 XML_Parser__ParserDesc_ParseDocument_Err(13);
4326 i0 = cpos;
4327 cpos = (i0+1);
4328 goto l4_loop;
4329 case 38u:
4330 XML_Parser__ParserDesc_ParseDocument_Expand_ExpandAttValue_Flush();
4331 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"&#", 3, 0);
4332 if (i0) goto l15;
4333 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_EntityRef(1u, 0u);
4334 i1 = (OOC_INT64)attValue;
4335 XML_DTD__AttValueDesc_Append((XML_DTD__AttValue)i1, (XML_DTD__Fragment)i0);
4336 goto l16;
4337 l15:
4338 i0 = cpos;
4339 cstart = i0;
4340 cdelta = 0;
4341 XML_Parser__ParserDesc_ParseDocument_CharRef();
4342 i0 = (OOC_INT64)dtd;
4343 i1 = cpos;
4344 i2 = cdelta;
4345 i3 = cstart;
4346 i4 = (OOC_INT64)chars;
4347 i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 64201)))), XML_DTD__BuilderDesc_NewCharacters)),XML_DTD__BuilderDesc_NewCharacters)((XML_DTD__Builder)i0, (XML_UnicodeBuffer__CharArray)i4, i3, (i1-i2), 0u);
4348 i1 = (OOC_INT64)attValue;
4349 XML_DTD__AttValueDesc_Append((XML_DTD__AttValue)i1, (XML_DTD__Fragment)i0);
4350 l16:
4351 i0 = cpos;
4352 cstart = i0;
4353 goto l4_loop;
4354 default:
4355 cpos = (i3+1);
4356 goto l4_loop;
4357 }
4358 l19:
4359 XML_Parser__ParserDesc_ParseDocument_PopEntity();
4360 i0 = (OOC_INT64)attValue;
4361 return (XML_DTD__AttValue)i0;
4362 ;
4363 }
4364
4365
4366 i0 = (OOC_INT64)attValue;
4367 i0 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 64543));
4368 fragment = (XML_DTD__Fragment)i0;
4369 i1 = i0!=0;
4370 if (!i1) goto l22;
4371 l3_loop:
4372 i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 64612)))), &_td_XML_DTD__EntityRefDesc);
4373 if (!i1) goto l17;
4374 i1 = (OOC_INT64)dtd;
4375 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 64680))+8);
4376 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 64652))+8);
4377 i1 = (OOC_INT64)XML_DTD__NamespaceDesc_Get((XML_DTD__Namespace)i1, (XML_UnicodeBuffer__CharArray)i2);
4378 decl = (XML_DTD__Declaration)i1;
4379 i2 = i1==0;
4380 if (i2) goto l15;
4381 i1 = _type_guard(i1, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 64894)))), &_td_XML_DTD__EntityDesc, 64894);
4382 entity = (XML_DTD__Entity)i1;
4383 *(OOC_INT64*)((_check_pointer(i0, 64923))+16) = i1;
4384 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 64965))+40);
4385 i0 = i0==0;
4386 if (i0) goto l10;
4387 i0=i1;
4388 goto l11;
4389 l10:
4390 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_Expand_ExpandAttValue((XML_DTD__Entity)i1);
4391 *(OOC_INT64*)((_check_pointer(i1, 65008))+40) = i0;
4392 i0 = (OOC_INT64)entity;
4393 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 65075))+40);
4394 XML_Parser__ParserDesc_ParseDocument_Expand((XML_DTD__AttValue)i1);
4395
4396 l11:
4397 i0 = XML_Parser__ParserDesc_ParseDocument_Expand_IsRecursive((XML_DTD__Entity)i0);
4398 if (!i0) goto l17;
4399 XML_Parser__ParserDesc_ParseDocument_Err(213);
4400 i0 = (OOC_INT64)entity;
4401 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 65269))+8);
4402 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 65269))+8);
4403 i1 = OOC_ARRAY_LENGTH((_check_pointer(i1, 65275)), 0);
4404 i0 = (OOC_INT64)Msg__GetLStringPtr((void*)(_check_pointer(i0, 65275)), i1);
4405 i1 = (OOC_INT64)p;
4406 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 65205))+176);
4407 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 65205))+176);
4408 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 65216)))), Msg__MsgDesc_SetLStringAttrib)),Msg__MsgDesc_SetLStringAttrib)((Msg__Msg)i1, (OOC_CHAR8*)"name", 5, (Msg__LStringPtr)i0);
4409 i0 = (OOC_INT64)fragment;
4410 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 65302))+16);
4411 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 65310))+40);
4412 XML_DTD__AttValueDesc_Clear((XML_DTD__AttValue)i0);
4413 goto l17;
4414 l15:
4415 XML_Parser__ParserDesc_ParseDocument_Err(210);
4416 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 64838))+8);
4417 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 64838))+8);
4418 i1 = OOC_ARRAY_LENGTH((_check_pointer(i1, 64844)), 0);
4419 i0 = (OOC_INT64)Msg__GetLStringPtr((void*)(_check_pointer(i0, 64844)), i1);
4420 i1 = (OOC_INT64)p;
4421 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 64772))+176);
4422 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 64772))+176);
4423 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 64783)))), Msg__MsgDesc_SetLStringAttrib)),Msg__MsgDesc_SetLStringAttrib)((Msg__Msg)i1, (OOC_CHAR8*)"name", 5, (Msg__LStringPtr)i0);
4424 l17:
4425 i0 = (OOC_INT64)fragment;
4426 i0 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 65467));
4427 fragment = (XML_DTD__Fragment)i0;
4428 i1 = i0!=0;
4429 if (i1) goto l3_loop;
4430 l22:
4431 return;
4432 ;
4433 }
4434
4435
4436 void XML_Parser__ParserDesc_ParseDocument_content(void) {
4437 register OOC_INT64 i0,i1,i2;
4438 auto void XML_Parser__ParserDesc_ParseDocument_content_CharData(void);
4439 auto void XML_Parser__ParserDesc_ParseDocument_content_FollowEntityRef(XML_DTD__EntityRef entityRef);
4440
4441 void XML_Parser__ParserDesc_ParseDocument_content_CharData(void) {
4442 register OOC_INT64 i0,i1,i2,i3,i4,i5,i6;
4443 OOC_INT8 elementWhitespace;
4444
4445 i0 = (OOC_INT64)p;
4446 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 66008))+8);
4447 i1 = _check_pointer(i1, 66011);
4448 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 66008))+8);
4449 XML_Parser__ParserDesc_ParseDocument_StorePosition((void*)(_check_pointer(i0, 66011)), (RT0__Struct)((OOC_INT64)&_td_XML_Locator__Position));
4450 i0 = cpos;
4451 cstart = i0;
4452 cdelta = 0;
4453 elementWhitespace = 2;
4454 i0=2;
4455 l1_loop:
4456 i1 = (OOC_INT64)chars;
4457 i2 = _check_pointer(i1, 66372);
4458 i3 = OOC_ARRAY_LENGTH(i2, 0);
4459 i4 = cpos;
4460 i2 = *(OOC_UINT16*)(i2+(_check_index(i4, i3, OOC_UINT32, 66372))*2);
4461 switch (i2) {
4462 case 0u ... 31u:
4463 case 65534u:
4464 i2 = (OOC_INT64)p;
4465 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 66447))+64);
4466 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 66451))+40);
4467 i1 = i1!=i2;
4468 if (!i1) goto l5;
4469 goto l9;
4470 l5:
4471 XML_Parser__ParserDesc_ParseDocument_ControlChar(10u);
4472 i1 = cdelta;
4473 i1 = i1!=0;
4474 if (!i1) goto l1_loop;
4475 goto l21_loop;
4476 l9:
4477 cpos = (i4+1);
4478 goto l1_loop;
4479 case 32u:
4480 cpos = (i4+1);
4481
4482 goto l1_loop;
4483 case 60u:
4484 case 38u:
4485 case 65535u:
4486 goto l21_loop;
4487 case 93u:
4488 i1 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"]]>", 4, 0);
4489 if (i1) goto l21_loop;
4490 i0 = cpos;
4491 elementWhitespace = 1;
4492 cpos = (i0+1);
4493 i0=1;
4494 goto l1_loop;
4495 default:
4496 elementWhitespace = 1;
4497 cpos = (i4+1);
4498 i0=1;
4499 goto l1_loop;
4500 }
4501 l21_loop:
4502 i1 = (OOC_INT64)chars;
4503 i2 = _check_pointer(i1, 67096);
4504 i3 = OOC_ARRAY_LENGTH(i2, 0);
4505 i4 = cpos;
4506 i2 = *(OOC_UINT16*)(i2+(_check_index(i4, i3, OOC_UINT32, 67096))*2);
4507 switch (i2) {
4508 case 0u ... 31u:
4509 case 65534u:
4510 i2 = (OOC_INT64)p;
4511 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 67171))+64);
4512 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 67175))+40);
4513 i2 = i1!=i2;
4514 if (!i2) goto l25;
4515 goto l26;
4516 l25:
4517 XML_Parser__ParserDesc_ParseDocument_ControlChar(10u);
4518 goto l21_loop;
4519 l26:
4520 i2 = _check_pointer(i1, 67571);
4521 i3 = cdelta;
4522 i5 = OOC_ARRAY_LENGTH(i2, 0);
4523 i1 = _check_pointer(i1, 67593);
4524 i6 = OOC_ARRAY_LENGTH(i1, 0);
4525 i1 = *(OOC_UINT16*)(i1+(_check_index(i4, i6, OOC_UINT32, 67593))*2);
4526 *(OOC_UINT16*)(i2+(_check_index((i4-i3), i5, OOC_UINT32, 67571))*2) = i1;
4527 cpos = (i4+1);
4528 goto l21_loop;
4529 case 32u:
4530 i2 = _check_pointer(i1, 67716);
4531 i3 = cdelta;
4532 i5 = OOC_ARRAY_LENGTH(i2, 0);
4533 i1 = _check_pointer(i1, 67738);
4534 i6 = OOC_ARRAY_LENGTH(i1, 0);
4535 i1 = *(OOC_UINT16*)(i1+(_check_index(i4, i6, OOC_UINT32, 67738))*2);
4536 *(OOC_UINT16*)(i2+(_check_index((i4-i3), i5, OOC_UINT32, 67716))*2) = i1;
4537 cpos = (i4+1);
4538
4539 goto l21_loop;
4540 case 60u:
4541 case 65535u:
4542 goto l41;
4543 case 38u:
4544 i1 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"&#", 3, 0);
4545 if (!i1) goto l41;
4546 elementWhitespace = 1;
4547 XML_Parser__ParserDesc_ParseDocument_CharRef();
4548 i0=1;
4549 goto l21_loop;
4550 case 93u:
4551 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"]]>", 4, 0);
4552 if (i0) goto l37;
4553 goto l38;
4554 l37:
4555 XML_Parser__ParserDesc_ParseDocument_Err(3);
4556 l38:
4557 elementWhitespace = 1;
4558 i0 = (OOC_INT64)chars;
4559 i1 = _check_pointer(i0, 68240);
4560 i2 = cdelta;
4561 i3 = cpos;
4562 i4 = OOC_ARRAY_LENGTH(i1, 0);
4563 i0 = _check_pointer(i0, 68262);
4564 i5 = OOC_ARRAY_LENGTH(i0, 0);
4565 i0 = *(OOC_UINT16*)(i0+(_check_index(i3, i5, OOC_UINT32, 68262))*2);
4566 *(OOC_UINT16*)(i1+(_check_index((i3-i2), i4, OOC_UINT32, 68240))*2) = i0;
4567 cpos = (i3+1);
4568 i0=1;
4569 goto l21_loop;
4570 default:
4571 elementWhitespace = 1;
4572 i0 = _check_pointer(i1, 68371);
4573 i2 = cdelta;
4574 i3 = OOC_ARRAY_LENGTH(i0, 0);
4575 i1 = _check_pointer(i1, 68393);
4576 i5 = OOC_ARRAY_LENGTH(i1, 0);
4577 i1 = *(OOC_UINT16*)(i1+(_check_index(i4, i5, OOC_UINT32, 68393))*2);
4578 *(OOC_UINT16*)(i0+(_check_index((i4-i2), i3, OOC_UINT32, 68371))*2) = i1;
4579 cpos = (i4+1);
4580 i0=1;
4581 goto l21_loop;
4582 }
4583 l41:
4584 i1 = cdelta;
4585 i2 = cpos;
4586 i1 = i2-i1;
4587 i2 = cstart;
4588 i3 = i1!=i2;
4589 if (!i3) goto l44;
4590 i3 = (OOC_INT64)chars;
4591 i4 = (OOC_INT64)p;
4592 i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i4, 68490))+80);
4593 i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i4, 68490))+80);
4594 i6 = OOC_ARRAY_LENGTH((_check_pointer(i3, 68518)), 0);
4595 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i5, 68499)))), XML_Builder__BuilderDesc_Characters)),XML_Builder__BuilderDesc_Characters)((XML_Builder__Builder)i4, (void*)(_check_pointer(i3, 68518)), i6, i2, i1, i0);
4596 l44:
4597 return;
4598 ;
4599 }
4600
4601
4602 void XML_Parser__ParserDesc_ParseDocument_content_FollowEntityRef(XML_DTD__EntityRef entityRef) {
4603 register OOC_INT64 i0,i1,i2,i3,i4,i5,i6;
4604 XML_DTD__Declaration decl;
4605 XML_DTD__Entity entity;
4606 struct XML_Locator__Position pos;
4607
4608 i0 = (OOC_INT64)entityRef;
4609 i1 = (OOC_INT64)dtd;
4610 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 68848))+8);
4611 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 68877))+8);
4612 i1 = (OOC_INT64)XML_DTD__NamespaceDesc_Get((XML_DTD__Namespace)i1, (XML_UnicodeBuffer__CharArray)i2);
4613 decl = (XML_DTD__Declaration)i1;
4614 entity = (XML_DTD__Entity)(OOC_INT64)0;
4615 i2 = i1!=(OOC_INT64)0;
4616 if (i2) goto l3;
4617 i2=(OOC_INT64)0;
4618 goto l4;
4619 l3:
4620 i2 = _type_guard(i1, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 68967)))), &_td_XML_DTD__EntityDesc, 68967);
4621 entity = (XML_DTD__Entity)i2;
4622
4623 l4:
4624 i3 = (OOC_INT64)p;
4625 i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i3, 69012))+8);
4626 i4 = _check_pointer(i4, 69015);
4627 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i3, 69012))+8);
4628 i4 = (OOC_INT64)&_td_XML_Locator__Position;
4629 XML_Parser__ParserDesc_ParseDocument_StorePosition((void*)(_check_pointer(i3, 69015)), (RT0__Struct)i4);
4630 i3 = (OOC_INT64)p;
4631 i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i3, 69040))+64);
4632 i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i5, 69044))+40);
4633 i6 = (OOC_INT64)chars;
4634 i5 = i6==i5;
4635 if (!i5) goto l7;
4636 i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 69115))+8);
4637 i6 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 69115))+8);
4638 i5 = OOC_ARRAY_LENGTH((_check_pointer(i5, 69121)), 0);
4639 i5 = LongStrings__Length((void*)(_check_pointer(i6, 69121)), i5);
4640 i6 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i3, 69080))+8);
4641 i6 = _check_pointer(i6, 69083);
4642 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i3, 69080))+8);
4643 XML_Parser__ParserDesc_ParseDocument_DecLength((void*)(_check_pointer(i3, 69083)), (RT0__Struct)i4, (i5+2));
4644 l7:
4645 i3 = i2==(OOC_INT64)0;
4646 if (i3) goto l32;
4647 i3 = *(OOC_UINT8*)((_check_pointer(i2, 69366))+33);
4648 if (i3) goto l30;
4649 i3 = *(OOC_INT8*)((_check_pointer(i2, 69571))+16);
4650 i3 = i3==2;
4651 if (i3) goto l14;
4652 i3=0u;
4653 goto l16;
4654 l14:
4655 i3 = (OOC_INT64)p;
4656 i3 = *(OOC_UINT8*)((_check_pointer(i3, 69625))+112);
4657 i3 = !i3;
4658
4659 l16:
4660 if (i3) goto l28;
4661 i3 = (OOC_INT64)p;
4662 i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i3, 69751))+80);
4663 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i3, 69751))+80);
4664 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i5, 69760)))), XML_Builder__BuilderDesc_StartEntity)),XML_Builder__BuilderDesc_StartEntity)((XML_Builder__Builder)i3, (XML_DTD__Entity)i2);
4665 XML_Parser__ParserDesc_ParseDocument_PushEntity((XML_DTD__Entity)i2, 1u);
4666 XML_Parser__ParserDesc_ParseDocument_StorePosition((void*)(OOC_INT64)&pos, (RT0__Struct)i4);
4667 i3 = *(OOC_INT8*)((_check_pointer(i2, 69954))+16);
4668 i3 = i3==2;
4669 if (i3) goto l20;
4670 i3=0u;
4671 goto l22;
4672 l20:
4673 i3 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"<?xml", 6, 1);
4674
4675 l22:
4676 if (!i3) goto l24;
4677 XML_Parser__ParserDesc_ParseDocument_XMLDecl((XML_DTD__ExternalEntity)(_type_guard(i1, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 70079)))), &_td_XML_DTD__ExternalEntityDesc, 70079)));
4678 l24:
4679 XML_Parser__ParserDesc_ParseDocument_content();
4680 i1 = (OOC_INT64)chars;
4681 i1 = _check_pointer(i1, 70149);
4682 i3 = OOC_ARRAY_LENGTH(i1, 0);
4683 i5 = cpos;
4684 i1 = *(OOC_UINT16*)(i1+(_check_index(i5, i3, OOC_UINT32, 70149))*2);
4685 i1 = i1!=65535u;
4686 if (!i1) goto l27;
4687 XML_Parser__ParserDesc_ParseDocument_ErrPos(302, (void*)(OOC_INT64)&pos, (RT0__Struct)i4);
4688 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 70349))+8);
4689 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 70349))+8);
4690 i1 = OOC_ARRAY_LENGTH((_check_pointer(i1, 70355)), 0);
4691 i0 = (OOC_INT64)Msg__GetLStringPtr((void*)(_check_pointer(i0, 70355)), i1);
4692 i1 = (OOC_INT64)p;
4693 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 70242))+176);
4694 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 70242))+176);
4695 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i3, 70253)))), Msg__MsgDesc_SetLStringAttrib)),Msg__MsgDesc_SetLStringAttrib)((Msg__Msg)i1, (OOC_CHAR8*)"name", 5, (Msg__LStringPtr)i0);
4696 l27:
4697 XML_Parser__ParserDesc_ParseDocument_PopEntity();
4698 i0 = (OOC_INT64)p;
4699 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 70421))+8);
4700 i1 = _check_pointer(i1, 70424);
4701 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 70421))+8);
4702 XML_Parser__ParserDesc_ParseDocument_StorePosition((void*)(_check_pointer(i0, 70424)), (RT0__Struct)i4);
4703 i0 = (OOC_INT64)p;
4704 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 70439))+80);
4705 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 70439))+80);
4706 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 70448)))), XML_Builder__BuilderDesc_EndEntity)),XML_Builder__BuilderDesc_EndEntity)((XML_Builder__Builder)i0, (XML_DTD__Entity)i2);
4707 goto l33;
4708 l28:
4709 i1 = (OOC_INT64)p;
4710 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 69661))+80);
4711 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 69696))+8);
4712 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 69661))+80);
4713 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i3, 69670)))), XML_Builder__BuilderDesc_SkippedEntity)),XML_Builder__BuilderDesc_SkippedEntity)((XML_Builder__Builder)i1, (XML_UnicodeBuffer__CharArray)i0, (XML_DTD__Entity)i2);
4714 goto l33;
4715 l30:
4716 XML_Parser__ParserDesc_ParseDocument_Err(213);
4717 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 69540))+8);
4718 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 69540))+8);
4719 i1 = OOC_ARRAY_LENGTH((_check_pointer(i1, 69546)), 0);
4720 i0 = (OOC_INT64)Msg__GetLStringPtr((void*)(_check_pointer(i0, 69546)), i1);
4721 i1 = (OOC_INT64)p;
4722 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 69434))+176);
4723 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 69434))+176);
4724 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 69445)))), Msg__MsgDesc_SetLStringAttrib)),Msg__MsgDesc_SetLStringAttrib)((Msg__Msg)i1, (OOC_CHAR8*)"name", 5, (Msg__LStringPtr)i0);
4725 goto l33;
4726 l32:
4727 i1 = (OOC_INT64)p;
4728 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 69212))+8);
4729 i2 = _check_pointer(i2, 69215);
4730 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 69212))+8);
4731 XML_Parser__ParserDesc_ParseDocument_ErrPos(210, (void*)(_check_pointer(i1, 69215)), (RT0__Struct)i4);
4732 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 69336))+8);
4733 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 69336))+8);
4734 i1 = OOC_ARRAY_LENGTH((_check_pointer(i1, 69342)), 0);
4735 i0 = (OOC_INT64)Msg__GetLStringPtr((void*)(_check_pointer(i0, 69342)), i1);
4736 i1 = (OOC_INT64)p;
4737 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 69230))+176);
4738 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 69230))+176);
4739 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 69241)))), Msg__MsgDesc_SetLStringAttrib)),Msg__MsgDesc_SetLStringAttrib)((Msg__Msg)i1, (OOC_CHAR8*)"name", 5, (Msg__LStringPtr)i0);
4740 l33:
4741 return;
4742 ;
4743 }
4744
4745
4746 l1_loop:
4747 i0 = (OOC_INT64)chars;
4748 i0 = _check_pointer(i0, 70564);
4749 i1 = OOC_ARRAY_LENGTH(i0, 0);
4750 i2 = cpos;
4751 i0 = *(OOC_UINT16*)(i0+(_check_index(i2, i1, OOC_UINT32, 70564))*2);
4752 switch (i0) {
4753 case 65535u:
4754 goto l28;
4755 case 60u:
4756 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"<!--", 5, 0);
4757 if (!i0) goto l6;
4758 goto l19;
4759 l6:
4760 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"<![CDATA[", 10, 0);
4761 if (!i0) goto l8;
4762 goto l17;
4763 l8:
4764 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"<?", 3, 0);
4765 if (!i0) goto l10;
4766 goto l15;
4767 l10:
4768 i0 = (OOC_INT64)chars;
4769 i0 = _check_pointer(i0, 70873);
4770 i1 = cpos;
4771 i2 = OOC_ARRAY_LENGTH(i0, 0);
4772 i0 = *(OOC_UINT16*)(i0+(_check_index((i1+1), i2, OOC_UINT32, 70873))*2);
4773 i0 = i0!=47u;
4774 if (!i0) goto l28;
4775 XML_Parser__ParserDesc_ParseDocument_element();
4776 goto l1_loop;
4777 l15:
4778 XML_Parser__ParserDesc_ParseDocument_PI();
4779 goto l1_loop;
4780 l17:
4781 XML_Parser__ParserDesc_ParseDocument_CDSect();
4782 goto l1_loop;
4783 l19:
4784 XML_Parser__ParserDesc_ParseDocument_Comment();
4785 goto l1_loop;
4786 case 38u:
4787 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"&#", 3, 0);
4788 if (!i0) goto l23;
4789 goto l24;
4790 l23:
4791 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_EntityRef(0u, 1u);
4792 XML_Parser__ParserDesc_ParseDocument_content_FollowEntityRef((XML_DTD__EntityRef)i0);
4793 goto l1_loop;
4794 l24:
4795 XML_Parser__ParserDesc_ParseDocument_content_CharData();
4796 goto l1_loop;
4797 default:
4798 XML_Parser__ParserDesc_ParseDocument_content_CharData();
4799 goto l1_loop;
4800 }
4801 l28:
4802 return;
4803 ;
4804 }
4805
4806
4807 void XML_Parser__ParserDesc_ParseDocument_element(void) {
4808 register OOC_INT64 i0,i1,i2,i3,i4,i5,i6,i7;
4809 OOC_CHAR8 emptyElementTag;
4810 XML_UnicodeBuffer__CharArray startName;
4811 XML_DTD__Declaration decl;
4812 XML_UnicodeBuffer__CharArray attrName;
4813 XML_DTD__AttrDecl attrDecl;
4814 XML_DTD__Declaration decl0;
4815 XML_DTD__AttValue attrValue;
4816 struct XML_Locator__Position pos;
4817 XML_UnicodeBuffer__CharArray endName;
4818 auto void XML_Parser__ParserDesc_ParseDocument_element_NoteName(XML_UnicodeBuffer__CharArray name);
4819 auto OOC_CHAR8 XML_Parser__ParserDesc_ParseDocument_element_AttributeNameUsed(XML_UnicodeBuffer__CharArray name);
4820 auto void XML_Parser__ParserDesc_ParseDocument_element_AddDefaultAttributes(XML_DTD__ElementDecl elemDecl);
4821 auto void XML_Parser__ParserDesc_ParseDocument_element_ErrEndTag(void);
4822
4823 void XML_Parser__ParserDesc_ParseDocument_element_NoteName(XML_UnicodeBuffer__CharArray name) {
4824 register OOC_INT64 i0,i1,i2,i3,i4,i5,i6,i7;
4825 XML_Parser__NameList newList;
4826 OOC_INT32 i;
4827
4828 i0 = (OOC_INT64)p;
4829 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 71653))+136);
4830 i2 = *(OOC_INT32*)((_check_pointer(i0, 71631))+144);
4831 i1 = OOC_ARRAY_LENGTH((_check_pointer(i1, 71663)), 0);
4832 i1 = i2==i1;
4833 if (!i1) goto l11;
4834 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 71702))+136);
4835 i1 = OOC_ARRAY_LENGTH((_check_pointer(i1, 71712)), 0);
4836 i1 = (OOC_INT64)RT0__NewObject(_td_XML_Parser__NameList.baseTypes[0], (i1+8));
4837 newList = (XML_Parser__NameList)i1;
4838 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 71760))+136);
4839 i = 0;
4840 i2 = OOC_ARRAY_LENGTH((_check_pointer(i2, 71770)), 0);
4841 i3 = 0<i2;
4842 if (!i3) goto l10;
4843 i3=0;
4844 l5_loop:
4845 i4 = _check_pointer(i1, 71797);
4846 i5 = OOC_ARRAY_LENGTH(i4, 0);
4847 i6 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 71805))+136);
4848 i6 = _check_pointer(i6, 71815);
4849 i7 = OOC_ARRAY_LENGTH(i6, 0);
4850 i6 = (OOC_INT64)*(OOC_INT64*)(i6+(_check_index(i3, i7, OOC_UINT32, 71815))*8);
4851 *(OOC_INT64*)(i4+(_check_index(i3, i5, OOC_UINT32, 71797))*8) = i6;
4852 i3 = i3+1;
4853 i = i3;
4854 i4 = i3<i2;
4855 if (i4) goto l5_loop;
4856 l10:
4857 *(OOC_INT64*)((_check_pointer(i0, 71845))+136) = i1;
4858 l11:
4859 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 71889))+136);
4860 i1 = _check_pointer(i1, 71899);
4861 i2 = *(OOC_INT32*)((_check_pointer(i0, 71901))+144);
4862 i3 = OOC_ARRAY_LENGTH(i1, 0);
4863 i4 = (OOC_INT64)name;
4864 *(OOC_INT64*)(i1+(_check_index(i2, i3, OOC_UINT32, 71899))*8) = i4;
4865 i1 = *(OOC_INT32*)((_check_pointer(i0, 71939))+144);
4866 *(OOC_INT32*)((_check_pointer(i0, 71939))+144) = (i1+1);
4867 return;
4868 ;
4869 }
4870
4871
4872 OOC_CHAR8 XML_Parser__ParserDesc_ParseDocument_element_AttributeNameUsed(XML_UnicodeBuffer__CharArray name) {
4873 register OOC_INT64 i0,i1,i2,i3,i4,i5;
4874 OOC_INT32 i;
4875
4876 i0 = (OOC_INT64)p;
4877 i = 0;
4878 i1 = *(OOC_INT32*)((_check_pointer(i0, 72105))+144);
4879 i2 = 0<i1;
4880 if (!i2) goto l11;
4881 i2 = (OOC_INT64)name;
4882 i3=0;
4883 l3_loop:
4884 i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 72147))+136);
4885 i4 = _check_pointer(i4, 72157);
4886 i5 = OOC_ARRAY_LENGTH(i4, 0);
4887 i4 = (OOC_INT64)*(OOC_INT64*)(i4+(_check_index(i3, i5, OOC_UINT32, 72157))*8);
4888 i4 = (
4889 _cmp16((const void*)(_check_pointer(i2, 72142)),(const void*)(_check_pointer(i4, 72160))))==0;
4890 if (!i4) goto l6;
4891 return 1u;
4892 l6:
4893 i3 = i3+1;
4894 i = i3;
4895 i4 = i3<i1;
4896 if (i4) goto l3_loop;
4897 l11:
4898 return 0u;
4899 ;
4900 }
4901
4902
4903 void XML_Parser__ParserDesc_ParseDocument_element_AddDefaultAttributes(XML_DTD__ElementDecl elemDecl) {
4904 register OOC_INT64 i0,i1,i2,i3,i4,i5,i6;
4905 XML_DTD__Declaration decl;
4906 XML_DTD__AttrDecl attrDecl;
4907 auto OOC_CHAR8 XML_Parser__ParserDesc_ParseDocument_element_AddDefaultAttributes_AttributeDefined(XML_UnicodeBuffer__CharArray name);
4908
4909 OOC_CHAR8 XML_Parser__ParserDesc_ParseDocument_element_AddDefaultAttributes_AttributeDefined(XML_UnicodeBuffer__CharArray name) {
4910 register OOC_INT64 i0,i1,i2,i3,i4;
4911 OOC_INT32 i;
4912
4913 i = 0;
4914 i0 = (OOC_INT64)p;
4915 i1 = *(OOC_INT32*)((_check_pointer(i0, 72588))+144);
4916 i1 = 0!=i1;
4917 if (!i1) goto l11;
4918 i1 = (OOC_INT64)name;
4919 i2=0;
4920 l3_loop:
4921 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 72623))+136);
4922 i3 = _check_pointer(i3, 72633);
4923 i4 = OOC_ARRAY_LENGTH(i3, 0);
4924 i3 = (OOC_INT64)*(OOC_INT64*)(i3+(_check_index(i2, i4, OOC_UINT32, 72633))*8);
4925 i3 = (
4926 _cmp16((const void*)(_check_pointer(i3, 72636)),(const void*)(_check_pointer(i1, 72644))))==0;
4927 if (!i3) goto l6;
4928 return 1u;
4929 l6:
4930 i2 = i2+1;
4931 i = i2;
4932 i3 = *(OOC_INT32*)((_check_pointer(i0, 72588))+144);
4933 i3 = i2!=i3;
4934 if (i3) goto l3_loop;
4935 l11:
4936 return 0u;
4937 ;
4938 }
4939
4940
4941 i0 = (OOC_INT64)elemDecl;
4942 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 72826))+40);
4943 i0 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 72841));
4944 decl = (XML_DTD__Declaration)i0;
4945 i1 = i0!=0;
4946 if (!i1) goto l22;
4947 i1 = (OOC_INT64)&_td_XML_Locator__Position;
4948
4949 l3_loop:
4950 i2 = _type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 72914)))), &_td_XML_DTD__AttrDeclDesc, 72914);
4951 attrDecl = (XML_DTD__AttrDecl)i2;
4952 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 72965))+8);
4953 i3 = XML_Parser__ParserDesc_ParseDocument_element_AddDefaultAttributes_AttributeDefined((XML_UnicodeBuffer__CharArray)i3);
4954 i3 = !i3;
4955 if (!i3) goto l17;
4956 i3 = *(OOC_INT8*)((_check_pointer(i2, 73002))+40);
4957 i3 = i3>=2;
4958 if (i3) goto l15;
4959 i3 = (OOC_INT64)p;
4960 i4 = *(OOC_UINT8*)((_check_pointer(i3, 73235))+114);
4961 if (i4) goto l10;
4962 i4=0u;
4963 goto l12;
4964 l10:
4965 i4 = *(OOC_INT8*)((_check_pointer(i2, 73277))+40);
4966 i4 = i4==0;
4967
4968 l12:
4969 if (!i4) goto l17;
4970 i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i3, 73358))+8);
4971 i4 = _check_pointer(i4, 73361);
4972 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i3, 73358))+8);
4973 XML_Parser__ParserDesc_ParseDocument_ErrPosNF(214, (void*)(_check_pointer(i3, 73361)), (RT0__Struct)i1);
4974 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 73446))+8);
4975 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 73446))+8);
4976 i3 = OOC_ARRAY_LENGTH((_check_pointer(i3, 73452)), 0);
4977 i2 = (OOC_INT64)Msg__GetLStringPtr((void*)(_check_pointer(i2, 73452)), i3);
4978 i3 = (OOC_INT64)p;
4979 i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i3, 73380))+176);
4980 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i3, 73380))+176);
4981 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i4, 73391)))), Msg__MsgDesc_SetLStringAttrib)),Msg__MsgDesc_SetLStringAttrib)((Msg__Msg)i3, (OOC_CHAR8*)"name", 5, (Msg__LStringPtr)i2);
4982 goto l17;
4983 l15:
4984 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 73067))+48);
4985 XML_Parser__ParserDesc_ParseDocument_Expand((XML_DTD__AttValue)i3);
4986 i3 = (OOC_INT64)p;
4987 i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i3, 73099))+80);
4988 i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 73193))+48);
4989 i6 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 73130))+8);
4990 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i3, 73099))+80);
4991 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i4, 73108)))), XML_Builder__BuilderDesc_Attribute)),XML_Builder__BuilderDesc_Attribute)((XML_Builder__Builder)i3, (XML_DTD__NamespaceDeclaration)0, (XML_UnicodeBuffer__CharArray)i6, (XML_DTD__AttrDecl)i2, (XML_DTD__AttValue)i5, 0u);
4992 l17:
4993 i0 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 73509));
4994 decl = (XML_DTD__Declaration)i0;
4995 i2 = i0!=0;
4996 if (i2) goto l3_loop;
4997 l22:
4998 return;
4999 ;
5000 }
5001
5002
5003 void XML_Parser__ParserDesc_ParseDocument_element_ErrEndTag(void) {
5004 register OOC_INT64 i0,i1,i2;
5005
5006 i0 = (OOC_INT64)startName;
5007 i1 = (OOC_INT64)XML_Parser__noName;
5008 i0 = i0!=i1;
5009 if (!i0) goto l4;
5010 XML_Parser__ParserDesc_ParseDocument_ErrPos(209, (void*)(OOC_INT64)&pos, (RT0__Struct)((OOC_INT64)&_td_XML_Locator__Position));
5011 i0 = (OOC_INT64)startName;
5012 i1 = OOC_ARRAY_LENGTH((_check_pointer(i0, 73757)), 0);
5013 i0 = (OOC_INT64)Msg__GetLStringPtr((void*)(_check_pointer(i0, 73757)), i1);
5014 i1 = (OOC_INT64)p;
5015 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 73690))+176);
5016 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 73690))+176);
5017 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 73701)))), Msg__MsgDesc_SetLStringAttrib)),Msg__MsgDesc_SetLStringAttrib)((Msg__Msg)i1, (OOC_CHAR8*)"name", 5, (Msg__LStringPtr)i0);
5018 l4:
5019 return;
5020 ;
5021 }
5022
5023
5024 i0 = (OOC_INT64)chars;
5025 i0 = _check_pointer(i0, 73824);
5026 i1 = OOC_ARRAY_LENGTH(i0, 0);
5027 i2 = cpos;
5028 i0 = *(OOC_UINT16*)(i0+(_check_index(i2, i1, OOC_UINT32, 73824))*2);
5029 i0 = i0==60u;
5030 if (i0) goto l3;
5031 XML_Parser__ParserDesc_ParseDocument_Err(208);
5032 goto l51;
5033 l3:
5034 XML_Parser__ParserDesc_ParseDocument_CheckChar(60u);
5035 i0 = (OOC_INT64)p;
5036 *(OOC_INT32*)((_check_pointer(i0, 73877))+144) = 0;
5037 emptyElementTag = 0u;
5038 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 73955))+8);
5039 i1 = _check_pointer(i1, 73958);
5040 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 73955))+8);
5041 i1 = (OOC_INT64)&_td_XML_Locator__Position;
5042 XML_Parser__ParserDesc_ParseDocument_StorePosition((void*)(_check_pointer(i0, 73958)), (RT0__Struct)i1);
5043 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_Name(0u);
5044 startName = (XML_UnicodeBuffer__CharArray)i0;
5045 i2 = (OOC_INT64)dtd;
5046 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 74016))+24);
5047 i2 = (OOC_INT64)XML_DTD__NamespaceDesc_Get((XML_DTD__Namespace)i2, (XML_UnicodeBuffer__CharArray)i0);
5048 decl = (XML_DTD__Declaration)i2;
5049 i3 = (OOC_INT64)p;
5050 i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i3, 74062))+80);
5051 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i3, 74062))+80);
5052 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i4, 74071)))), XML_Builder__BuilderDesc_StartElement)),XML_Builder__BuilderDesc_StartElement)((XML_Builder__Builder)i3, (XML_DTD__NamespaceDeclaration)(OOC_INT64)0, (XML_UnicodeBuffer__CharArray)i0);
5053 i0 = i2!=(OOC_INT64)0;
5054 {register OOC_INT64 h0=i0;i0=i2;i2=h0;}
5055 l4_loop:
5056 i3 = (OOC_INT64)chars;
5057 i4 = _check_pointer(i3, 74151);
5058 i5 = OOC_ARRAY_LENGTH(i4, 0);
5059 i6 = cpos;
5060 i4 = *(OOC_UINT16*)(i4+(_check_index(i6, i5, OOC_UINT32, 74151))*2);
5061 i4 = i4==65535u;
5062 if (i4) goto l34;
5063 i4 = _check_pointer(i3, 74222);
5064 i5 = OOC_ARRAY_LENGTH(i4, 0);
5065 i4 = *(OOC_UINT16*)(i4+(_check_index(i6, i5, OOC_UINT32, 74222))*2);
5066 i4 = i4!=62u;
5067 if (i4) goto l9;
5068 i3=0u;
5069 goto l11;
5070 l9:
5071 i3 = _check_pointer(i3, 74244);
5072 i4 = OOC_ARRAY_LENGTH(i3, 0);
5073 i3 = *(OOC_UINT16*)(i3+(_check_index(i6, i4, OOC_UINT32, 74244))*2);
5074 i3 = i3!=47u;
5075
5076 l11:
5077 if (!i3) goto l14;
5078 XML_Parser__ParserDesc_ParseDocument_S();
5079 l14:
5080 i3 = (OOC_INT64)chars;
5081 i4 = _check_pointer(i3, 74311);
5082 i5 = OOC_ARRAY_LENGTH(i4, 0);
5083 i6 = cpos;
5084 i4 = *(OOC_UINT16*)(i4+(_check_index(i6, i5, OOC_UINT32, 74311))*2);
5085 i4 = i4==47u;
5086 if (i4) goto l32;
5087 i3 = _check_pointer(i3, 74435);
5088 i4 = OOC_ARRAY_LENGTH(i3, 0);
5089 i3 = *(OOC_UINT16*)(i3+(_check_index(i6, i4, OOC_UINT32, 74435))*2);
5090 i3 = i3==62u;
5091 if (i3) goto l34;
5092 l20:
5093 i0 = (OOC_INT64)p;
5094 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 74523))+8);
5095 i2 = _check_pointer(i2, 74526);
5096 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 74523))+8);
5097 XML_Parser__ParserDesc_ParseDocument_StorePosition((void*)(_check_pointer(i0, 74526)), (RT0__Struct)i1);
5098 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_Name(0u);
5099 attrName = (XML_UnicodeBuffer__CharArray)i0;
5100 i2 = XML_Parser__ParserDesc_ParseDocument_element_AttributeNameUsed((XML_UnicodeBuffer__CharArray)i0);
5101 if (!i2) goto l23;
5102 i2 = (OOC_INT64)p;
5103 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 74652))+8);
5104 i3 = _check_pointer(i3, 74655);
5105 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 74652))+8);
5106 XML_Parser__ParserDesc_ParseDocument_ErrPos(212, (void*)(_check_pointer(i2, 74655)), (RT0__Struct)i1);
5107 i2 = OOC_ARRAY_LENGTH((_check_pointer(i0, 74738)), 0);
5108 i2 = (OOC_INT64)Msg__GetLStringPtr((void*)(_check_pointer(i0, 74738)), i2);
5109 i3 = (OOC_INT64)p;
5110 i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i3, 74672))+176);
5111 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i3, 74672))+176);
5112 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i4, 74683)))), Msg__MsgDesc_SetLStringAttrib)),Msg__MsgDesc_SetLStringAttrib)((Msg__Msg)i3, (OOC_CHAR8*)"name", 5, (Msg__LStringPtr)i2);
5113 l23:
5114 XML_Parser__ParserDesc_ParseDocument_element_NoteName((XML_UnicodeBuffer__CharArray)i0);
5115 XML_Parser__ParserDesc_ParseDocument_Eq();
5116 attrDecl = (XML_DTD__AttrDecl)(OOC_INT64)0;
5117 i0 = (OOC_INT64)decl;
5118 i2 = i0!=(OOC_INT64)0;
5119 if (i2) goto l26;
5120 i3=(OOC_INT64)0;
5121 goto l31;
5122 l26:
5123 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 74890)))), &_td_XML_DTD__ElementDeclDesc, 74890)), 74902))+40);
5124 i4 = (OOC_INT64)attrName;
5125 i3 = (OOC_INT64)XML_DTD__NamespaceDesc_Get((XML_DTD__Namespace)i3, (XML_UnicodeBuffer__CharArray)i4);
5126 decl0 = (XML_DTD__Declaration)i3;
5127 i4 = i3!=(OOC_INT64)0;
5128 if (i4) goto l29;
5129 i3=(OOC_INT64)0;
5130 goto l31;
5131 l29:
5132 i3 = _type_guard(i3, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i3, 75005)))), &_td_XML_DTD__AttrDeclDesc, 75005);
5133 attrDecl = (XML_DTD__AttrDecl)i3;
5134
5135 l31:
5136 i4 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_AttValue(1u);
5137 attrValue = (XML_DTD__AttValue)i4;
5138 XML_Parser__ParserDesc_ParseDocument_Expand((XML_DTD__AttValue)i4);
5139 i5 = (OOC_INT64)p;
5140 i6 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i5, 75127))+80);
5141 i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i5, 75127))+80);
5142 i7 = (OOC_INT64)attrName;
5143 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i6, 75136)))), XML_Builder__BuilderDesc_Attribute)),XML_Builder__BuilderDesc_Attribute)((XML_Builder__Builder)i5, (XML_DTD__NamespaceDeclaration)(OOC_INT64)0, (XML_UnicodeBuffer__CharArray)i7, (XML_DTD__AttrDecl)i3, (XML_DTD__AttValue)i4, 1u);
5144
5145 goto l4_loop;
5146 l32:
5147 XML_Parser__ParserDesc_ParseDocument_CheckChar(47u);
5148 emptyElementTag = 1u;
5149 l34:
5150 i3 = (OOC_INT64)p;
5151 i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i3, 75252))+8);
5152 i4 = _check_pointer(i4, 75255);
5153 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i3, 75252))+8);
5154 XML_Parser__ParserDesc_ParseDocument_StorePosition((void*)(_check_pointer(i3, 75255)), (RT0__Struct)i1);
5155 if (!i2) goto l37;
5156 XML_Parser__ParserDesc_ParseDocument_element_AddDefaultAttributes((XML_DTD__ElementDecl)(_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 75329)))), &_td_XML_DTD__ElementDeclDesc, 75329)));
5157 l37:
5158 XML_Parser__ParserDesc_ParseDocument_CheckChar(62u);
5159 i0 = (OOC_INT64)p;
5160 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 75390))+80);
5161 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 75390))+80);
5162 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 75399)))), XML_Builder__BuilderDesc_AttributesDone)),XML_Builder__BuilderDesc_AttributesDone)((XML_Builder__Builder)i0);
5163 XML_Parser__ParserDesc_ParseDocument_DiscardPreviousInput();
5164 i0 = emptyElementTag;
5165 if (i0) goto l49;
5166 XML_Parser__ParserDesc_ParseDocument_content();
5167 XML_Parser__ParserDesc_ParseDocument_StorePosition((void*)(OOC_INT64)&pos, (RT0__Struct)i1);
5168 i0 = (OOC_INT64)chars;
5169 i0 = _check_pointer(i0, 75688);
5170 i2 = OOC_ARRAY_LENGTH(i0, 0);
5171 i3 = cpos;
5172 i0 = *(OOC_UINT16*)(i0+(_check_index(i3, i2, OOC_UINT32, 75688))*2);
5173 i0 = i0!=60u;
5174 if (!i0) goto l42;
5175 XML_Parser__ParserDesc_ParseDocument_element_ErrEndTag();
5176 l42:
5177 XML_Parser__ParserDesc_ParseDocument_CheckChar(60u);
5178 i0 = (OOC_INT64)chars;
5179 i0 = _check_pointer(i0, 75768);
5180 i2 = OOC_ARRAY_LENGTH(i0, 0);
5181 i3 = cpos;
5182 i0 = *(OOC_UINT16*)(i0+(_check_index(i3, i2, OOC_UINT32, 75768))*2);
5183 i0 = i0!=47u;
5184 if (!i0) goto l45;
5185 XML_Parser__ParserDesc_ParseDocument_element_ErrEndTag();
5186 l45:
5187 XML_Parser__ParserDesc_ParseDocument_CheckChar(47u);
5188 i0 = (OOC_INT64)p;
5189 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 75855))+8);
5190 i2 = _check_pointer(i2, 75858);
5191 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 75855))+8);
5192 XML_Parser__ParserDesc_ParseDocument_StorePosition((void*)(_check_pointer(i0, 75858)), (RT0__Struct)i1);
5193 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_Name(0u);
5194 endName = (XML_UnicodeBuffer__CharArray)i0;
5195 i1 = (OOC_INT64)startName;
5196 i0 = (
5197 _cmp16((const void*)(_check_pointer(i0, 75918)),(const void*)(_check_pointer(i1, 75931))))!=0;
5198 if (!i0) goto l48;
5199 XML_Parser__ParserDesc_ParseDocument_element_ErrEndTag();
5200 l48:
5201 i0 = (OOC_INT64)p;
5202 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 75965))+80);
5203 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 75965))+80);
5204 i2 = (OOC_INT64)startName;
5205 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 75974)))), XML_Builder__BuilderDesc_EndElement)),XML_Builder__BuilderDesc_EndElement)((XML_Builder__Builder)i0, (XML_DTD__NamespaceDeclaration)(OOC_INT64)0, (XML_UnicodeBuffer__CharArray)i2);
5206 XML_Parser__ParserDesc_ParseDocument_OptS(1u);
5207 XML_Parser__ParserDesc_ParseDocument_CheckChar(62u);
5208 goto l51;
5209 l49:
5210 i0 = (OOC_INT64)p;
5211 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 75534))+8);
5212 i2 = _check_pointer(i2, 75537);
5213 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 75534))+8);
5214 XML_Parser__ParserDesc_ParseDocument_StorePosition((void*)(_check_pointer(i0, 75537)), (RT0__Struct)i1);
5215 i0 = (OOC_INT64)p;
5216 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 75552))+80);
5217 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 75552))+80);
5218 i2 = (OOC_INT64)startName;
5219 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 75561)))), XML_Builder__BuilderDesc_EndElement)),XML_Builder__BuilderDesc_EndElement)((XML_Builder__Builder)i0, (XML_DTD__NamespaceDeclaration)(OOC_INT64)0, (XML_UnicodeBuffer__CharArray)i2);
5220 l51:
5221 return;
5222 ;
5223 }
5224
5225
5226 void XML_Parser__ParserDesc_ParseDocument_MiscRep(void) {
5227 register OOC_INT64 i0,i1,i2;
5228
5229 l1_loop:
5230 i0 = (OOC_INT64)chars;
5231 i0 = _check_pointer(i0, 76275);
5232 i1 = OOC_ARRAY_LENGTH(i0, 0);
5233 i2 = cpos;
5234 i0 = *(OOC_UINT16*)(i0+(_check_index(i2, i1, OOC_UINT32, 76275))*2);
5235 switch (i0) {
5236 case 65534u:
5237 XML_Parser__ParserDesc_ParseDocument_NextBlock();
5238 goto l1_loop;
5239 case 60u:
5240 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"<!--", 5, 0);
5241 if (!i0) goto l6;
5242 goto l11;
5243 l6:
5244 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"<?", 3, 0);
5245 if (!i0) goto l16;
5246 XML_Parser__ParserDesc_ParseDocument_PI();
5247 goto l1_loop;
5248 l11:
5249 XML_Parser__ParserDesc_ParseDocument_Comment();
5250 goto l1_loop;
5251 case 0u ... 32u:
5252 XML_Parser__ParserDesc_ParseDocument_S();
5253 goto l1_loop;
5254 default:
5255 goto l16;
5256 }
5257 l16:
5258 return;
5259 ;
5260 }
5261
5262
5263 void XML_Parser__ParserDesc_ParseDocument_ExternalID(OOC_CHAR8 optionJustPubid, XML_UnicodeBuffer__CharArray *_public, XML_UnicodeBuffer__CharArray *system, URI__URI *baseURI) {
5264 register OOC_INT64 i0,i1,i2,i3,i4;
5265 Msg__Msg res;
5266
5267 *_public = (XML_UnicodeBuffer__CharArray)(OOC_INT64)0;
5268 *system = (XML_UnicodeBuffer__CharArray)(OOC_INT64)0;
5269 *baseURI = (URI__URI)(OOC_INT64)0;
5270 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"SYSTEM", 7, 1);
5271 if (i0) goto l28;
5272 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"PUBLIC", 7, 1);
5273 if (i0) goto l5;
5274 XML_Parser__ParserDesc_ParseDocument_Err(112);
5275 goto l32;
5276 l5:
5277 i0 = cpos;
5278 cpos = (i0+6);
5279 XML_Parser__ParserDesc_ParseDocument_S();
5280 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_String(2);
5281 *_public = (XML_UnicodeBuffer__CharArray)i0;
5282 i0 = optionJustPubid;
5283 i0 = !i0;
5284 if (i0) goto l8;
5285 i1 = XML_Parser__ParserDesc_ParseDocument_LookingAtS();
5286
5287 goto l10;
5288 l8:
5289 i1=1u;
5290 l10:
5291 if (!i1) goto l23;
5292 XML_Parser__ParserDesc_ParseDocument_S();
5293 if (i0) goto l14;
5294 i0 = (OOC_INT64)chars;
5295 i0 = _check_pointer(i0, 77604);
5296 i1 = OOC_ARRAY_LENGTH(i0, 0);
5297 i2 = cpos;
5298 i0 = *(OOC_UINT16*)(i0+(_check_index(i2, i1, OOC_UINT32, 77604))*2);
5299 i0 = i0==39u;
5300
5301 goto l16;
5302 l14:
5303 i0=1u;
5304 l16:
5305 if (i0) goto l18;
5306 i0 = (OOC_INT64)chars;
5307 i0 = _check_pointer(i0, 77627);
5308 i1 = OOC_ARRAY_LENGTH(i0, 0);
5309 i2 = cpos;
5310 i0 = *(OOC_UINT16*)(i0+(_check_index(i2, i1, OOC_UINT32, 77627))*2);
5311 i0 = i0==34u;
5312
5313 goto l20;
5314 l18:
5315 i0=1u;
5316 l20:
5317 if (!i0) goto l23;
5318 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_String(2);
5319 *system = (XML_UnicodeBuffer__CharArray)i0;
5320 l23:
5321 i0 = (OOC_INT64)p;
5322 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 77763))+104);
5323 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 77732))+56);
5324 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 77774))+72);
5325 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 77732))+56);
5326 i3 = (OOC_INT64)*system;
5327 i4 = (OOC_INT64)*_public;
5328 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 77736)))), XML_EntityResolver__ResolverDesc_GetURI)),XML_EntityResolver__ResolverDesc_GetURI)((XML_EntityResolver__Resolver)i0, (XML_UnicodeBuffer__CharArray)i4, (XML_UnicodeBuffer__CharArray)i3, (URI__URI)i1, (void*)(OOC_INT64)baseURI, (void*)(OOC_INT64)&res);
5329 i0 = (OOC_INT64)res;
5330 i0 = i0!=(OOC_INT64)0;
5331 if (!i0) goto l32;
5332 XML_Parser__ParserDesc_ParseDocument_Err(117);
5333 i0 = (OOC_INT64)p;
5334 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 77868))+176);
5335 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 77868))+176);
5336 i2 = (OOC_INT64)res;
5337 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 77879)))), Msg__MsgDesc_SetMsgAttrib)),Msg__MsgDesc_SetMsgAttrib)((Msg__Msg)i0, (OOC_CHAR8*)"uri_error", 10, (Msg__Msg)i2);
5338 goto l32;
5339 l28:
5340 i0 = cpos;
5341 cpos = (i0+6);
5342 XML_Parser__ParserDesc_ParseDocument_S();
5343 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_String(1);
5344 *system = (XML_UnicodeBuffer__CharArray)i0;
5345 i1 = (OOC_INT64)p;
5346 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 77149))+104);
5347 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 77121))+56);
5348 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 77161))+72);
5349 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 77121))+56);
5350 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i3, 77125)))), XML_EntityResolver__ResolverDesc_GetURI)),XML_EntityResolver__ResolverDesc_GetURI)((XML_EntityResolver__Resolver)i1, (XML_UnicodeBuffer__CharArray)(OOC_INT64)0, (XML_UnicodeBuffer__CharArray)i0, (URI__URI)i2, (void*)(OOC_INT64)baseURI, (void*)(OOC_INT64)&res);
5351 i0 = (OOC_INT64)res;
5352 i0 = i0!=(OOC_INT64)0;
5353 if (!i0) goto l32;
5354 XML_Parser__ParserDesc_ParseDocument_Err(117);
5355 i0 = (OOC_INT64)p;
5356 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 77256))+176);
5357 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 77256))+176);
5358 i2 = (OOC_INT64)res;
5359 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 77267)))), Msg__MsgDesc_SetMsgAttrib)),Msg__MsgDesc_SetMsgAttrib)((Msg__Msg)i0, (OOC_CHAR8*)"uri_error", 10, (Msg__Msg)i2);
5360 l32:
5361 return;
5362 ;
5363 }
5364
5365
5366 void XML_Parser__ParserDesc_ParseDocument_markupdecl(void) {
5367 register OOC_INT64 i0;
5368 auto void XML_Parser__ParserDesc_ParseDocument_markupdecl_elementdecl(XML_DTD__Entity currentEntity);
5369 auto void XML_Parser__ParserDesc_ParseDocument_markupdecl_AttListDecl(XML_DTD__Entity currentEntity);
5370 auto void XML_Parser__ParserDesc_ParseDocument_markupdecl_EntityDecl(XML_DTD__Entity currentEntity);
5371 auto void XML_Parser__ParserDesc_ParseDocument_markupdecl_NotationDecl(XML_DTD__Entity currentEntity);
5372
5373 void XML_Parser__ParserDesc_ParseDocument_markupdecl_elementdecl(XML_DTD__Entity currentEntity) {
5374 register OOC_INT64 i0,i1,i2,i3,i4;
5375 XML_UnicodeBuffer__CharArray elementName;
5376 XML_DTD__CP cp;
5377 XML_DTD__ElementDecl elementDecl;
5378 XML_DTD__Declaration decl;
5379 auto XML_DTD__CP XML_Parser__ParserDesc_ParseDocument_markupdecl_elementdecl_contentspec(void);
5380
5381 XML_DTD__CP XML_Parser__ParserDesc_ParseDocument_markupdecl_elementdecl_contentspec(void) {
5382 register OOC_INT64 i0,i1,i2;
5383 XML_DTD__Entity currentEntity;
5384 auto XML_DTD__CP XML_Parser__ParserDesc_ParseDocument_markupdecl_elementdecl_contentspec_Mixed(XML_DTD__Entity currentEntity);
5385 auto XML_DTD__CP XML_Parser__ParserDesc_ParseDocument_markupdecl_elementdecl_contentspec_children(XML_DTD__Entity currentEntity);
5386
5387 XML_DTD__CP XML_Parser__ParserDesc_ParseDocument_markupdecl_elementdecl_contentspec_Mixed(XML_DTD__Entity currentEntity) {
5388 register OOC_INT64 i0,i1,i2,i3,i4,i5;
5389 XML_DTD__CP first;
5390 XML_DTD__CP last;
5391 OOC_CHAR8 hasAlternative;
5392
5393 i0 = cpos;
5394 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_GetString(i0, (i0+7));
5395 i1 = (OOC_INT64)dtd;
5396 i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 78686)))), XML_DTD__BuilderDesc_NewNameCP)),XML_DTD__BuilderDesc_NewNameCP)((XML_DTD__Builder)i1, 0, (XML_UnicodeBuffer__CharArray)i0);
5397 i1 = cpos;
5398 first = (XML_DTD__CP)i0;
5399 i1 = i1+7;
5400 cpos = i1;
5401 last = (XML_DTD__CP)i0;
5402 XML_Parser__ParserDesc_ParseDocument_OptS(0u);
5403 hasAlternative = 0u;
5404 i2 = (OOC_INT64)chars;
5405 i2 = _check_pointer(i2, 78917);
5406 i3 = OOC_ARRAY_LENGTH(i2, 0);
5407 i1 = *(OOC_UINT16*)(i2+(_check_index(i1, i3, OOC_UINT32, 78917))*2);
5408 i2 = (OOC_INT64)currentEntity;
5409 i1 = i1==124u;
5410 if (i1) goto l3;
5411 i1=0u;
5412 goto l9;
5413 l3:
5414 i1=i0;
5415 l4_loop:
5416 hasAlternative = 1u;
5417 XML_Parser__ParserDesc_ParseDocument_CheckChar(124u);
5418 XML_Parser__ParserDesc_ParseDocument_OptS(0u);
5419 i3 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_Name(0u);
5420 i4 = (OOC_INT64)dtd;
5421 i3 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i4, 79063)))), XML_DTD__BuilderDesc_NewNameCP)),XML_DTD__BuilderDesc_NewNameCP)((XML_DTD__Builder)i4, 0, (XML_UnicodeBuffer__CharArray)i3);
5422 XML_DTD__CPDesc_SetNext((XML_DTD__CP)i1, (XML_DTD__CP)i3);
5423 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 79130))+8);
5424 last = (XML_DTD__CP)i1;
5425 XML_Parser__ParserDesc_ParseDocument_OptS(0u);
5426 i3 = (OOC_INT64)chars;
5427 i3 = _check_pointer(i3, 78917);
5428 i4 = OOC_ARRAY_LENGTH(i3, 0);
5429 i5 = cpos;
5430 i3 = *(OOC_UINT16*)(i3+(_check_index(i5, i4, OOC_UINT32, 78917))*2);
5431 i3 = i3==124u;
5432 if (i3) goto l4_loop;
5433 l8:
5434 i1=1u;
5435 l9:
5436 XML_Parser__ParserDesc_ParseDocument_CheckCurrentEntity((XML_DTD__Entity)i2);
5437 XML_Parser__ParserDesc_ParseDocument_CheckChar(41u);
5438 if (i1) goto l12;
5439 i1 = (OOC_INT64)chars;
5440 i1 = _check_pointer(i1, 79298);
5441 i2 = OOC_ARRAY_LENGTH(i1, 0);
5442 i3 = cpos;
5443 i1 = *(OOC_UINT16*)(i1+(_check_index(i3, i2, OOC_UINT32, 79298))*2);
5444 i1 = i1==42u;
5445
5446 goto l14;
5447 l12:
5448 i1=1u;
5449 l14:
5450 if (i1) goto l16;
5451 i1 = (OOC_INT64)dtd;
5452 i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 79450)))), XML_DTD__BuilderDesc_NewChoiceCP)),XML_DTD__BuilderDesc_NewChoiceCP)((XML_DTD__Builder)i1, 0, (XML_DTD__CP)i0);
5453 return (XML_DTD__CP)i0;
5454 goto l17;
5455 l16:
5456 XML_Parser__ParserDesc_ParseDocument_CheckChar(42u);
5457 i1 = (OOC_INT64)dtd;
5458 i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 79372)))), XML_DTD__BuilderDesc_NewChoiceCP)),XML_DTD__BuilderDesc_NewChoiceCP)((XML_DTD__Builder)i1, 2, (XML_DTD__CP)i0);
5459 return (XML_DTD__CP)i0;
5460 l17:
5461 _failed_function(78443); return 0;
5462 ;
5463 }
5464
5465
5466 XML_DTD__CP XML_Parser__ParserDesc_ParseDocument_markupdecl_elementdecl_contentspec_children(XML_DTD__Entity currentEntity) {
5467 register OOC_INT64 i0,i1;
5468 XML_DTD__CP cp;
5469 auto OOC_INT8 XML_Parser__ParserDesc_ParseDocument_markupdecl_elementdecl_contentspec_children_Quantifier(void);
5470 auto XML_DTD__CP XML_Parser__ParserDesc_ParseDocument_markupdecl_elementdecl_contentspec_children_choiceseq(XML_DTD__Entity currentEntity);
5471
5472 OOC_INT8 XML_Parser__ParserDesc_ParseDocument_markupdecl_elementdecl_contentspec_children_Quantifier(void) {
5473 register OOC_INT64 i0,i1,i2;
5474
5475 i0 = (OOC_INT64)chars;
5476 i0 = _check_pointer(i0, 79861);
5477 i1 = OOC_ARRAY_LENGTH(i0, 0);
5478 i2 = cpos;
5479 i0 = *(OOC_UINT16*)(i0+(_check_index(i2, i1, OOC_UINT32, 79861))*2);
5480 switch (i0) {
5481 case 42u:
5482 XML_Parser__ParserDesc_ParseDocument_CheckChar(42u);
5483 return 2;
5484 goto l6;
5485 case 43u:
5486 XML_Parser__ParserDesc_ParseDocument_CheckChar(43u);
5487 return 3;
5488 goto l6;
5489 case 63u:
5490 XML_Parser__ParserDesc_ParseDocument_CheckChar(63u);
5491 return 1;
5492 goto l6;
5493 default:
5494 return 0;
5495 goto l6;
5496 }
5497 l6:
5498 _failed_function(79728); return 0;
5499 ;
5500 }
5501
5502
5503 XML_DTD__CP XML_Parser__ParserDesc_ParseDocument_markupdecl_elementdecl_contentspec_children_choiceseq(XML_DTD__Entity currentEntity) {
5504 register OOC_INT64 i0,i1,i2,i3;
5505 OOC_CHAR16 _class;
5506 XML_DTD__CP first;
5507 XML_DTD__CP last;
5508 auto XML_DTD__CP XML_Parser__ParserDesc_ParseDocument_markupdecl_elementdecl_contentspec_children_choiceseq_cp(void);
5509
5510 XML_DTD__CP XML_Parser__ParserDesc_ParseDocument_markupdecl_elementdecl_contentspec_children_choiceseq_cp(void) {
5511 register OOC_INT64 i0,i1,i2,i3;
5512
5513 i0 = (OOC_INT64)chars;
5514 i1 = _check_pointer(i0, 80619);
5515 i2 = OOC_ARRAY_LENGTH(i1, 0);
5516 i3 = cpos;
5517 i1 = *(OOC_UINT16*)(i1+(_check_index(i3, i2, OOC_UINT32, 80619))*2);
5518 i1 = i1==40u;
5519 if (i1) goto l7;
5520 i0 = _check_pointer(i0, 80847);
5521 i1 = OOC_ARRAY_LENGTH(i0, 0);
5522 i0 = *(OOC_UINT16*)(i0+(_check_index(i3, i1, OOC_UINT32, 80847))*2);
5523 i0 = XML_Parser__IsNameChar0(i0);
5524 if (i0) goto l5;
5525 XML_Parser__ParserDesc_ParseDocument_Err(110);
5526 i0 = (OOC_INT64)dtd;
5527 i1 = (OOC_INT64)XML_Parser__noName;
5528 i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 81010)))), XML_DTD__BuilderDesc_NewNameCP)),XML_DTD__BuilderDesc_NewNameCP)((XML_DTD__Builder)i0, 0, (XML_UnicodeBuffer__CharArray)i1);
5529
5530 goto l8;
5531 l5:
5532 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_Name(0u);
5533 i1 = (OOC_INT64)dtd;
5534 i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 80887)))), XML_DTD__BuilderDesc_NewNameCP)),XML_DTD__BuilderDesc_NewNameCP)((XML_DTD__Builder)i1, 0, (XML_UnicodeBuffer__CharArray)i0);
5535
5536 goto l8;
5537 l7:
5538 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_CurrentEntity();
5539 XML_Parser__ParserDesc_ParseDocument_CheckChar(40u);
5540 XML_Parser__ParserDesc_ParseDocument_OptS(0u);
5541 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_markupdecl_elementdecl_contentspec_children_choiceseq((XML_DTD__Entity)i0);
5542
5543 l8:
5544 i1 = XML_Parser__ParserDesc_ParseDocument_markupdecl_elementdecl_contentspec_children_Quantifier();
5545 XML_DTD__CPDesc_SetMode((XML_DTD__CP)i0, i1);
5546 return (XML_DTD__CP)i0;
5547 ;
5548 }
5549
5550
5551 _class = 0u;
5552 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_markupdecl_elementdecl_contentspec_children_choiceseq_cp();
5553 first = (XML_DTD__CP)i0;
5554 XML_Parser__ParserDesc_ParseDocument_OptS(0u);
5555 last = (XML_DTD__CP)i0;
5556 l1_loop:
5557 i0 = (OOC_INT64)chars;
5558 i1 = _check_pointer(i0, 81333);
5559 i2 = OOC_ARRAY_LENGTH(i1, 0);
5560 i3 = cpos;
5561 i1 = *(OOC_UINT16*)(i1+(_check_index(i3, i2, OOC_UINT32, 81333))*2);
5562 switch (i1) {
5563 case 65534u:
5564 XML_Parser__ParserDesc_ParseDocument_NextBlock();
5565 goto l1_loop;
5566 case 44u:
5567 case 124u:
5568 i1 = _class;
5569 i1 = i1==0u;
5570 if (i1) goto l6;
5571 goto l7;
5572 l6:
5573 i0 = _check_pointer(i0, 81508);
5574 i1 = OOC_ARRAY_LENGTH(i0, 0);
5575 i0 = *(OOC_UINT16*)(i0+(_check_index(i3, i1, OOC_UINT32, 81508))*2);
5576 _class = i0;
5577 l7:
5578 i0 = _class;
5579 XML_Parser__ParserDesc_ParseDocument_CheckChar(i0);
5580 XML_Parser__ParserDesc_ParseDocument_OptS(0u);
5581 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_markupdecl_elementdecl_contentspec_children_choiceseq_cp();
5582 i1 = (OOC_INT64)last;
5583 XML_DTD__CPDesc_SetNext((XML_DTD__CP)i1, (XML_DTD__CP)i0);
5584 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 81685))+8);
5585 last = (XML_DTD__CP)i0;
5586 XML_Parser__ParserDesc_ParseDocument_OptS(0u);
5587 goto l1_loop;
5588 default:
5589 goto l10;
5590 }
5591 l10:
5592 XML_Parser__ParserDesc_ParseDocument_CheckChar(41u);
5593 i0 = (OOC_INT64)currentEntity;
5594 XML_Parser__ParserDesc_ParseDocument_CheckCurrentEntity((XML_DTD__Entity)i0);
5595 i0 = _class;
5596 i0 = i0==44u;
5597 if (i0) goto l13;
5598 i0 = (OOC_INT64)dtd;
5599 i1 = (OOC_INT64)first;
5600 i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 82096)))), XML_DTD__BuilderDesc_NewChoiceCP)),XML_DTD__BuilderDesc_NewChoiceCP)((XML_DTD__Builder)i0, 0, (XML_DTD__CP)i1);
5601 return (XML_DTD__CP)i0;
5602 goto l14;
5603 l13:
5604 i0 = (OOC_INT64)dtd;
5605 i1 = (OOC_INT64)first;
5606 i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 82020)))), XML_DTD__BuilderDesc_NewSeqCP)),XML_DTD__BuilderDesc_NewSeqCP)((XML_DTD__Builder)i0, 0, (XML_DTD__CP)i1);
5607 return (XML_DTD__CP)i0;
5608 l14:
5609 _failed_function(80169); return 0;
5610 ;
5611 }
5612
5613
5614 i0 = (OOC_INT64)currentEntity;
5615 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_markupdecl_elementdecl_contentspec_children_choiceseq((XML_DTD__Entity)i0);
5616 cp = (XML_DTD__CP)i0;
5617 i0 = XML_Parser__ParserDesc_ParseDocument_markupdecl_elementdecl_contentspec_children_Quantifier();
5618 i1 = (OOC_INT64)cp;
5619 XML_DTD__CPDesc_SetMode((XML_DTD__CP)i1, i0);
5620 return (XML_DTD__CP)i1;
5621 ;
5622 }
5623
5624
5625 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"EMPTY", 6, 1);
5626 if (i0) goto l15;
5627 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"ANY", 4, 1);
5628 if (i0) goto l13;
5629 i0 = (OOC_INT64)chars;
5630 i0 = _check_pointer(i0, 82597);
5631 i1 = OOC_ARRAY_LENGTH(i0, 0);
5632 i2 = cpos;
5633 i0 = *(OOC_UINT16*)(i0+(_check_index(i2, i1, OOC_UINT32, 82597))*2);
5634 i0 = i0==40u;
5635 if (i0) goto l7;
5636 XML_Parser__ParserDesc_ParseDocument_Err(106);
5637 i0 = (OOC_INT64)dtd;
5638 i1 = (OOC_INT64)XML_Parser__noName;
5639 i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 82976)))), XML_DTD__BuilderDesc_NewNameCP)),XML_DTD__BuilderDesc_NewNameCP)((XML_DTD__Builder)i0, 0, (XML_UnicodeBuffer__CharArray)i1);
5640 return (XML_DTD__CP)i0;
5641 goto l16;
5642 l7:
5643 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_CurrentEntity();
5644 currentEntity = (XML_DTD__Entity)i0;
5645 XML_Parser__ParserDesc_ParseDocument_CheckChar(40u);
5646 XML_Parser__ParserDesc_ParseDocument_OptS(0u);
5647 i1 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"#PCDATA", 8, 1);
5648 if (i1) goto l10;
5649 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_markupdecl_elementdecl_contentspec_children((XML_DTD__Entity)i0);
5650 return (XML_DTD__CP)i0;
5651 goto l16;
5652 l10:
5653 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_markupdecl_elementdecl_contentspec_Mixed((XML_DTD__Entity)i0);
5654 return (XML_DTD__CP)i0;
5655 goto l16;
5656 l13:
5657 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_Name(0u);
5658 i1 = (OOC_INT64)dtd;
5659 i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 82536)))), XML_DTD__BuilderDesc_NewNameCP)),XML_DTD__BuilderDesc_NewNameCP)((XML_DTD__Builder)i1, 0, (XML_UnicodeBuffer__CharArray)i0);
5660 return (XML_DTD__CP)i0;
5661 goto l16;
5662 l15:
5663 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_Name(0u);
5664 i1 = (OOC_INT64)dtd;
5665 i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 82417)))), XML_DTD__BuilderDesc_NewNameCP)),XML_DTD__BuilderDesc_NewNameCP)((XML_DTD__Builder)i1, 0, (XML_UnicodeBuffer__CharArray)i0);
5666 return (XML_DTD__CP)i0;
5667 l16:
5668 _failed_function(78320); return 0;
5669 ;
5670 }
5671
5672
5673 i0 = cpos;
5674 cpos = (i0+9);
5675 XML_Parser__ParserDesc_ParseDocument_S();
5676 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_Name(0u);
5677 elementName = (XML_UnicodeBuffer__CharArray)i0;
5678 XML_Parser__ParserDesc_ParseDocument_S();
5679 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_markupdecl_elementdecl_contentspec();
5680 cp = (XML_DTD__CP)i0;
5681 XML_Parser__ParserDesc_ParseDocument_OptS(0u);
5682 i1 = (OOC_INT64)currentEntity;
5683 i2 = OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 83314)))), XML_DTD__EntityDesc_IsDocumentEntity)),XML_DTD__EntityDesc_IsDocumentEntity)((XML_DTD__Entity)i1);
5684 i3 = (OOC_INT64)dtd;
5685 i4 = (OOC_INT64)elementName;
5686 i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i3, 83265)))), XML_DTD__BuilderDesc_NewElementDecl)),XML_DTD__BuilderDesc_NewElementDecl)((XML_DTD__Builder)i3, (XML_UnicodeBuffer__CharArray)i4, (XML_DTD__CP)i0, (!i2));
5687 elementDecl = (XML_DTD__ElementDecl)i0;
5688 i2 = (OOC_INT64)dtd;
5689 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 83352))+24);
5690 i0 = XML_DTD__NamespaceDesc_Add((XML_DTD__Namespace)i2, (XML_DTD__Declaration)i0);
5691 i0 = !i0;
5692 if (!i0) goto l3;
5693 i0 = (OOC_INT64)dtd;
5694 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 83416))+24);
5695 i0 = (OOC_INT64)XML_DTD__NamespaceDesc_Get((XML_DTD__Namespace)i0, (XML_UnicodeBuffer__CharArray)i4);
5696 decl = (XML_DTD__Declaration)i0;
5697 XML_DTD__ElementDeclDesc_SetMultipleDecl((XML_DTD__ElementDecl)(_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 83474)))), &_td_XML_DTD__ElementDeclDesc, 83474)));
5698 l3:
5699 XML_Parser__ParserDesc_ParseDocument_CheckCurrentEntity((XML_DTD__Entity)i1);
5700 XML_Parser__ParserDesc_ParseDocument_CheckChar(62u);
5701 return;
5702 ;
5703 }
5704
5705
5706 void XML_Parser__ParserDesc_ParseDocument_markupdecl_AttListDecl(XML_DTD__Entity currentEntity) {
5707 register OOC_INT64 i0,i1,i2,i3,i4,i5,i6,i7;
5708 XML_UnicodeBuffer__CharArray elementName;
5709 XML_UnicodeBuffer__CharArray attrName;
5710 XML_DTD__Enumeration attrEnumeration;
5711 OOC_INT8 attrType;
5712 XML_DTD__AttValue defaultValue;
5713 OOC_INT8 _default;
5714 XML_DTD__AttrDecl attrDecl;
5715 auto void XML_Parser__ParserDesc_ParseDocument_markupdecl_AttListDecl_AttType(OOC_INT8 *attrType, XML_DTD__Enumeration *_enum);
5716 auto void XML_Parser__ParserDesc_ParseDocument_markupdecl_AttListDecl_DefaultDecl(OOC_INT8 attrType, OOC_INT8 *_default, XML_DTD__AttValue *defaultValue);
5717
5718 void XML_Parser__ParserDesc_ParseDocument_markupdecl_AttListDecl_AttType(OOC_INT8 *attrType, XML_DTD__Enumeration *_enum) {
5719 register OOC_INT64 i0,i1,i2;
5720 auto XML_DTD__Enumeration XML_Parser__ParserDesc_ParseDocument_markupdecl_AttListDecl_AttType_Enumeration(OOC_INT8 attrType);
5721
5722 XML_DTD__Enumeration XML_Parser__ParserDesc_ParseDocument_markupdecl_AttListDecl_AttType_Enumeration(OOC_INT8 attrType) {
5723 register OOC_INT64 i0,i1,i2,i3;
5724
5725 i0 = (OOC_INT64)dtd;
5726 i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 84290)))), XML_DTD__BuilderDesc_NewEnumeration)),XML_DTD__BuilderDesc_NewEnumeration)((XML_DTD__Builder)i0);
5727 *_enum = (XML_DTD__Enumeration)i0;
5728 XML_Parser__ParserDesc_ParseDocument_CheckChar(40u);
5729 i0 = attrType;
5730 l1_loop:
5731 XML_Parser__ParserDesc_ParseDocument_OptS(0u);
5732 switch (i0) {
5733 case 7:
5734 i1 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_Name(1u);
5735 i2 = (OOC_INT64)*_enum;
5736 XML_DTD__EnumerationDesc_Append((XML_DTD__Enumeration)i2, (XML_UnicodeBuffer__CharArray)i1);
5737 goto l6;
5738 case 8:
5739 i1 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_Nmtoken(0u, 0u);
5740 i2 = (OOC_INT64)*_enum;
5741 XML_DTD__EnumerationDesc_Append((XML_DTD__Enumeration)i2, (XML_UnicodeBuffer__CharArray)i1);
5742 goto l6;
5743 default:
5744 _failed_case(i0, 84398);
5745 goto l6;
5746 }
5747 l6:
5748 XML_Parser__ParserDesc_ParseDocument_OptS(0u);
5749 i1 = (OOC_INT64)chars;
5750 i1 = _check_pointer(i1, 84652);
5751 i2 = OOC_ARRAY_LENGTH(i1, 0);
5752 i3 = cpos;
5753 i1 = *(OOC_UINT16*)(i1+(_check_index(i3, i2, OOC_UINT32, 84652))*2);
5754 i1 = i1==124u;
5755 if (!i1) goto l11;
5756 XML_Parser__ParserDesc_ParseDocument_CheckChar(124u);
5757 goto l1_loop;
5758 l11:
5759 XML_Parser__ParserDesc_ParseDocument_CheckChar(41u);
5760 i0 = (OOC_INT64)*_enum;
5761 return (XML_DTD__Enumeration)i0;
5762 ;
5763 }
5764
5765
5766 *_enum = (XML_DTD__Enumeration)(OOC_INT64)0;
5767 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"CDATA", 6, 1);
5768 if (i0) goto l43;
5769 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"ID", 3, 1);
5770 if (i0) goto l41;
5771 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"IDREF", 6, 1);
5772 if (i0) goto l39;
5773 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"IDREFS", 7, 1);
5774 if (i0) goto l37;
5775 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"ENTITY", 7, 1);
5776 if (i0) goto l35;
5777 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"ENTITIES", 9, 1);
5778 if (i0) goto l33;
5779 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"NMTOKEN", 8, 1);
5780 if (i0) goto l31;
5781 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"NMTOKENS", 9, 1);
5782 if (i0) goto l29;
5783 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"NOTATION", 9, 1);
5784 if (i0) goto l19;
5785 i0 = (OOC_INT64)chars;
5786 i0 = _check_pointer(i0, 85990);
5787 i1 = OOC_ARRAY_LENGTH(i0, 0);
5788 i2 = cpos;
5789 i0 = *(OOC_UINT16*)(i0+(_check_index(i2, i1, OOC_UINT32, 85990))*2);
5790 i0 = i0==40u;
5791
5792 goto l21;
5793 l19:
5794 i0=1u;
5795 l21:
5796 if (i0) goto l23;
5797 XML_Parser__ParserDesc_ParseDocument_Err(107);
5798 XML_Parser__ParserDesc_ParseDocument_NextChar();
5799 *attrType = 9;
5800 goto l44;
5801 l23:
5802 i0 = (OOC_INT64)chars;
5803 i0 = _check_pointer(i0, 86030);
5804 i1 = OOC_ARRAY_LENGTH(i0, 0);
5805 i2 = cpos;
5806 i0 = *(OOC_UINT16*)(i0+(_check_index(i2, i1, OOC_UINT32, 86030))*2);
5807 i0 = i0==40u;
5808 if (i0) goto l26;
5809 *attrType = 7;
5810 cpos = (i2+8);
5811 XML_Parser__ParserDesc_ParseDocument_S();
5812 i0=7;
5813 goto l27;
5814 l26:
5815 *attrType = 8;
5816 i0=8;
5817 l27:
5818 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_markupdecl_AttListDecl_AttType_Enumeration(i0);
5819 *_enum = (XML_DTD__Enumeration)i0;
5820 goto l44;
5821 l29:
5822 i0 = cpos;
5823 cpos = (i0+8);
5824 *attrType = 6;
5825 goto l44;
5826 l31:
5827 i0 = cpos;
5828 cpos = (i0+7);
5829 *attrType = 5;
5830 goto l44;
5831 l33:
5832 i0 = cpos;
5833 cpos = (i0+8);
5834 *attrType = 4;
5835 goto l44;
5836 l35:
5837 i0 = cpos;
5838 cpos = (i0+6);
5839 *attrType = 3;
5840 goto l44;
5841 l37:
5842 i0 = cpos;
5843 cpos = (i0+6);
5844 *attrType = 2;
5845 goto l44;
5846 l39:
5847 i0 = cpos;
5848 cpos = (i0+5);
5849 *attrType = 1;
5850 goto l44;
5851 l41:
5852 i0 = cpos;
5853 cpos = (i0+2);
5854 *attrType = 0;
5855 goto l44;
5856 l43:
5857 i0 = cpos;
5858 cpos = (i0+5);
5859 *attrType = 9;
5860 l44:
5861 return;
5862 ;
5863 }
5864
5865
5866 void XML_Parser__ParserDesc_ParseDocument_markupdecl_AttListDecl_DefaultDecl(OOC_INT8 attrType, OOC_INT8 *_default, XML_DTD__AttValue *defaultValue) {
5867 register OOC_INT64 i0;
5868
5869 *defaultValue = (XML_DTD__AttValue)(OOC_INT64)0;
5870 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"#REQUIRED", 10, 1);
5871 if (i0) goto l11;
5872 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"#IMPLIED", 9, 1);
5873 if (i0) goto l9;
5874 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"#FIXED", 7, 1);
5875 if (i0) goto l7;
5876 *_default = 2;
5877 goto l8;
5878 l7:
5879 i0 = cpos;
5880 cpos = (i0+6);
5881 XML_Parser__ParserDesc_ParseDocument_S();
5882 *_default = 3;
5883 l8:
5884 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_AttValue(1u);
5885 *defaultValue = (XML_DTD__AttValue)i0;
5886 goto l12;
5887 l9:
5888 i0 = cpos;
5889 cpos = (i0+8);
5890 *_default = 1;
5891 goto l12;
5892 l11:
5893 i0 = cpos;
5894 cpos = (i0+9);
5895 *_default = 0;
5896 l12:
5897 return;
5898 ;
5899 }
5900
5901
5902 i0 = cpos;
5903 cpos = (i0+9);
5904 XML_Parser__ParserDesc_ParseDocument_S();
5905 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_Name(0u);
5906 elementName = (XML_UnicodeBuffer__CharArray)i0;
5907 l1_loop:
5908 i0 = (OOC_INT64)chars;
5909 i0 = _check_pointer(i0, 87459);
5910 i1 = OOC_ARRAY_LENGTH(i0, 0);
5911 i2 = cpos;
5912 i0 = *(OOC_UINT16*)(i0+(_check_index(i2, i1, OOC_UINT32, 87459))*2);
5913 i0 = i0!=62u;
5914 if (!i0) goto l4;
5915 XML_Parser__ParserDesc_ParseDocument_S();
5916 l4:
5917 i0 = (OOC_INT64)chars;
5918 i1 = _check_pointer(i0, 87526);
5919 i2 = OOC_ARRAY_LENGTH(i1, 0);
5920 i3 = cpos;
5921 i1 = *(OOC_UINT16*)(i1+(_check_index(i3, i2, OOC_UINT32, 87526))*2);
5922 i1 = i1==62u;
5923 if (i1) goto l7;
5924 i0 = _check_pointer(i0, 87549);
5925 i1 = OOC_ARRAY_LENGTH(i0, 0);
5926 i0 = *(OOC_UINT16*)(i0+(_check_index(i3, i1, OOC_UINT32, 87549))*2);
5927 i0 = i0==65535u;
5928
5929 goto l9;
5930 l7:
5931 i0=1u;
5932 l9:
5933 if (i0) goto l15;
5934 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_Name(0u);
5935 attrName = (XML_UnicodeBuffer__CharArray)i0;
5936 XML_Parser__ParserDesc_ParseDocument_S();
5937 XML_Parser__ParserDesc_ParseDocument_markupdecl_AttListDecl_AttType((void*)(OOC_INT64)&attrType, (void*)(OOC_INT64)&attrEnumeration);
5938 XML_Parser__ParserDesc_ParseDocument_S();
5939 i0 = attrType;
5940 XML_Parser__ParserDesc_ParseDocument_markupdecl_AttListDecl_DefaultDecl(i0, (void*)(OOC_INT64)&_default, (void*)(OOC_INT64)&defaultValue);
5941 i0 = (OOC_INT64)p;
5942 i0 = *(OOC_UINT8*)((_check_pointer(i0, 87794))+115);
5943 if (!i0) goto l1_loop;
5944 i0 = (OOC_INT64)currentEntity;
5945 i0 = OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 87978)))), XML_DTD__EntityDesc_IsDocumentEntity)),XML_DTD__EntityDesc_IsDocumentEntity)((XML_DTD__Entity)i0);
5946 i1 = (OOC_INT64)dtd;
5947 i2 = (OOC_INT64)defaultValue;
5948 i3 = _default;
5949 i4 = (OOC_INT64)attrEnumeration;
5950 i5 = attrType;
5951 i6 = (OOC_INT64)attrName;
5952 i7 = (OOC_INT64)elementName;
5953 i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 87848)))), XML_DTD__BuilderDesc_NewAttrDecl)),XML_DTD__BuilderDesc_NewAttrDecl)((XML_DTD__Builder)i1, (XML_UnicodeBuffer__CharArray)i7, (XML_UnicodeBuffer__CharArray)i6, i5, (XML_DTD__Enumeration)i4, i3, (XML_DTD__AttValue)i2, (!i0));
5954 attrDecl = (XML_DTD__AttrDecl)i0;
5955 i1 = (OOC_INT64)dtd;
5956 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 88016)))), XML_DTD__BuilderDesc_AddAttribute)),XML_DTD__BuilderDesc_AddAttribute)((XML_DTD__Builder)i1, (XML_DTD__AttrDecl)i0);
5957 goto l1_loop;
5958 l15:
5959 i0 = (OOC_INT64)currentEntity;
5960 XML_Parser__ParserDesc_ParseDocument_CheckCurrentEntity((XML_DTD__Entity)i0);
5961 XML_Parser__ParserDesc_ParseDocument_CheckChar(62u);
5962 return;
5963 ;
5964 }
5965
5966
5967 void XML_Parser__ParserDesc_ParseDocument_markupdecl_EntityDecl(XML_DTD__Entity currentEntity) {
5968 register OOC_INT64 i0,i1,i2,i3,i4,i5,i6,i7,i8;
5969 OOC_CHAR8 isPEntity;
5970 XML_UnicodeBuffer__CharArray name;
5971 XML_UnicodeBuffer__CharArray _public;
5972 XML_UnicodeBuffer__CharArray system;
5973 XML_UnicodeBuffer__CharArray ndata;
5974 XML_UnicodeBuffer__CharArray entityValue;
5975 OOC_INT8 entityType;
5976 XML_DTD__Entity entity;
5977 URI__URI baseURI;
5978 auto XML_UnicodeBuffer__CharArray XML_Parser__ParserDesc_ParseDocument_markupdecl_EntityDecl_EntityValue(OOC_CHAR8 isPEntity);
5979
5980 XML_UnicodeBuffer__CharArray XML_Parser__ParserDesc_ParseDocument_markupdecl_EntityDecl_EntityValue(OOC_CHAR8 isPEntity) {
5981 register OOC_INT64 i0,i1,i2,i3,i4,i5,i6;
5982 XML_UnicodeBuffer__CharArray string;
5983 struct XML_Locator__Position pos;
5984 OOC_INT32 startLevel;
5985 OOC_CHAR16 endChar;
5986 OOC_INT32 storedPos;
5987 XML_DTD__Fragment fragment;
5988 auto void XML_Parser__ParserDesc_ParseDocument_markupdecl_EntityDecl_EntityValue_Copy(OOC_INT32 start, OOC_INT32 end);
5989
5990 void XML_Parser__ParserDesc_ParseDocument_markupdecl_EntityDecl_EntityValue_Copy(OOC_INT32 start, OOC_INT32 end) {
5991 register OOC_INT64 i0,i1,i2,i3,i4,i5,i6,i7;
5992
5993 i0 = start;
5994 i1 = end;
5995 i2 = i0!=i1;
5996 if (!i2) goto l8;
5997 i2 = cdelta;
5998 i3 = (OOC_INT64)chars;
5999 i2 = (i2*(-1))+i0;
6000
6001 l3_loop:
6002 i4 = _check_pointer(i3, 88971);
6003 i5 = OOC_ARRAY_LENGTH(i4, 0);
6004 i6 = _check_pointer(i3, 88994);
6005 i7 = OOC_ARRAY_LENGTH(i6, 0);
6006 i6 = *(OOC_UINT16*)(i6+(_check_index(i0, i7, OOC_UINT32, 88994))*2);
6007 *(OOC_UINT16*)(i4+(_check_index(i2, i5, OOC_UINT32, 88971))*2) = i6;
6008 i0 = i0+1;
6009 start = i0;
6010 i2 = i2+1;
6011 i4 = i0!=i1;
6012 if (i4) goto l3_loop;
6013 l8:
6014 return;
6015 ;
6016 }
6017
6018
6019 i0 = (OOC_INT64)XML_Parser__noName;
6020 string = (XML_UnicodeBuffer__CharArray)i0;
6021 i1 = (OOC_INT64)chars;
6022 i2 = _check_pointer(i1, 89127);
6023 i3 = OOC_ARRAY_LENGTH(i2, 0);
6024 i4 = cpos;
6025 i2 = *(OOC_UINT16*)(i2+(_check_index(i4, i3, OOC_UINT32, 89127))*2);
6026 i2 = i2==39u;
6027 if (i2) goto l3;
6028 i1 = _check_pointer(i1, 89150);
6029 i2 = OOC_ARRAY_LENGTH(i1, 0);
6030 i1 = *(OOC_UINT16*)(i1+(_check_index(i4, i2, OOC_UINT32, 89150))*2);
6031 i1 = i1==34u;
6032
6033 goto l5;
6034 l3:
6035 i1=1u;
6036 l5:
6037 if (i1) goto l7;
6038 XML_Parser__ParserDesc_ParseDocument_Err(109);
6039 XML_Parser__ParserDesc_ParseDocument_NextChar();
6040
6041 goto l32;
6042 l7:
6043 i0 = (OOC_INT64)p;
6044 i1 = (OOC_INT64)dtd;
6045 i1 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 89435)))), XML_DTD__BuilderDesc_NewAttValue)),XML_DTD__BuilderDesc_NewAttValue)((XML_DTD__Builder)i1);
6046 *(OOC_INT64*)((_check_pointer(i0, 89411))+128) = i1;
6047 i0 = (OOC_INT64)&_td_XML_Locator__Position;
6048 XML_Parser__ParserDesc_ParseDocument_StorePosition((void*)(OOC_INT64)&pos, (RT0__Struct)i0);
6049 i1 = (OOC_INT64)p;
6050 i1 = *(OOC_INT32*)((_check_pointer(i1, 89525))+160);
6051 startLevel = i1;
6052 i1 = (OOC_INT64)chars;
6053 i1 = _check_pointer(i1, 89567);
6054 i2 = OOC_ARRAY_LENGTH(i1, 0);
6055 i3 = cpos;
6056 i1 = *(OOC_UINT16*)(i1+(_check_index(i3, i2, OOC_UINT32, 89567))*2);
6057 endChar = i1;
6058 i1 = i3+1;
6059 cpos = i1;
6060 cstart = i1;
6061 cdelta = 0;
6062 l8_loop:
6063 i1 = (OOC_INT64)chars;
6064 i2 = _check_pointer(i1, 89681);
6065 i3 = OOC_ARRAY_LENGTH(i2, 0);
6066 i4 = cpos;
6067 i2 = *(OOC_UINT16*)(i2+(_check_index(i4, i3, OOC_UINT32, 89681))*2);
6068 switch (i2) {
6069 case 0u ... 31u:
6070 case 65534u:
6071 XML_Parser__ParserDesc_ParseDocument_ControlChar(10u);
6072 goto l8_loop;
6073 case 65535u:
6074 XML_Parser__ParserDesc_ParseDocument_ErrPos(6, (void*)(OOC_INT64)&pos, (RT0__Struct)i0);
6075 i0 = (OOC_INT64)dtd;
6076 i1 = cpos;
6077 i2 = cdelta;
6078 i3 = cstart;
6079 i4 = (OOC_INT64)chars;
6080 i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 89902)))), XML_DTD__BuilderDesc_NewCharacters)),XML_DTD__BuilderDesc_NewCharacters)((XML_DTD__Builder)i0, (XML_UnicodeBuffer__CharArray)i4, i3, (i1-i2), 1u);
6081 i1 = (OOC_INT64)p;
6082 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 89872))+128);
6083 XML_DTD__AttValueDesc_Append((XML_DTD__AttValue)i1, (XML_DTD__Fragment)i0);
6084 goto l31;
6085 case 37u:
6086 i2 = cdelta;
6087 i2 = i4-i2;
6088 i3 = cstart;
6089 i4 = i3!=i2;
6090 if (i4) goto l14;
6091 goto l15;
6092 l14:
6093 i4 = (OOC_INT64)dtd;
6094 i1 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i4, 90209)))), XML_DTD__BuilderDesc_NewCharacters)),XML_DTD__BuilderDesc_NewCharacters)((XML_DTD__Builder)i4, (XML_UnicodeBuffer__CharArray)i1, i3, i2, 1u);
6095 i2 = (OOC_INT64)p;
6096 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 90179))+128);
6097 XML_DTD__AttValueDesc_Append((XML_DTD__AttValue)i2, (XML_DTD__Fragment)i1);
6098 l15:
6099 XML_Parser__ParserDesc_ParseDocument_PEReference(0u);
6100 goto l8_loop;
6101 case 38u:
6102 i1 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"&#", 3, 0);
6103 if (!i1) goto l18;
6104 goto l19;
6105 l18:
6106 i1 = (OOC_INT64)p;
6107 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 90750))+64);
6108 i1 = *(OOC_INT32*)((_check_pointer(i1, 90754))+48);
6109 i2 = cpos;
6110 i1 = i2+i1;
6111 storedPos = i1;
6112 i2 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_EntityRef(0u, 1u);
6113 fragment = (XML_DTD__Fragment)i2;
6114 i2 = (OOC_INT64)p;
6115 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 90862))+64);
6116 i2 = *(OOC_INT32*)((_check_pointer(i2, 90866))+48);
6117 i3 = cpos;
6118 XML_Parser__ParserDesc_ParseDocument_markupdecl_EntityDecl_EntityValue_Copy((i1-i2), i3);
6119 goto l8_loop;
6120 l19:
6121 XML_Parser__ParserDesc_ParseDocument_CharRef();
6122 goto l8_loop;
6123 default:
6124 i2 = _check_pointer(i1, 90954);
6125 i3 = OOC_ARRAY_LENGTH(i2, 0);
6126 i2 = *(OOC_UINT16*)(i2+(_check_index(i4, i3, OOC_UINT32, 90954))*2);
6127 i3 = endChar;
6128 i2 = i2==i3;
6129 if (i2) goto l24;
6130 i2=0u;
6131 goto l26;
6132 l24:
6133 i2 = (OOC_INT64)p;
6134 i2 = *(OOC_INT32*)((_check_pointer(i2, 90976))+160);
6135 i5 = startLevel;
6136 i2 = i2==i5;
6137
6138 l26:
6139 if (i2) goto l29;
6140 i2 = _check_pointer(i1, 91355);
6141 i3 = cdelta;
6142 i5 = OOC_ARRAY_LENGTH(i2, 0);
6143 i1 = _check_pointer(i1, 91377);
6144 i6 = OOC_ARRAY_LENGTH(i1, 0);
6145 i1 = *(OOC_UINT16*)(i1+(_check_index(i4, i6, OOC_UINT32, 91377))*2);
6146 *(OOC_UINT16*)(i2+(_check_index((i4-i3), i5, OOC_UINT32, 91355))*2) = i1;
6147 cpos = (i4+1);
6148 goto l8_loop;
6149 l29:
6150 i0 = (OOC_INT64)dtd;
6151 i2 = cdelta;
6152 i5 = cstart;
6153 i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 91188)))), XML_DTD__BuilderDesc_NewCharacters)),XML_DTD__BuilderDesc_NewCharacters)((XML_DTD__Builder)i0, (XML_UnicodeBuffer__CharArray)i1, i5, (i4-i2), 1u);
6154 i1 = (OOC_INT64)p;
6155 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 91158))+128);
6156 XML_DTD__AttValueDesc_Append((XML_DTD__AttValue)i1, (XML_DTD__Fragment)i0);
6157 XML_Parser__ParserDesc_ParseDocument_CheckChar(i3);
6158 goto l31;
6159 }
6160 l31:
6161 i0 = (OOC_INT64)p;
6162 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 91474))+128);
6163 i0 = (OOC_INT64)XML_DTD__AttValueDesc_Flatten((XML_DTD__AttValue)i0, (XML_DTD__AttrDecl)(OOC_INT64)0);
6164 string = (XML_UnicodeBuffer__CharArray)i0;
6165 i1 = (OOC_INT64)p;
6166 *(OOC_INT64*)((_check_pointer(i1, 91521))+128) = (OOC_INT64)0;
6167
6168 l32:
6169 return (XML_UnicodeBuffer__CharArray)i0;
6170 ;
6171 }
6172
6173
6174 i0 = cpos;
6175 cpos = (i0+8);
6176 XML_Parser__ParserDesc_ParseDocument_SnoPE();
6177 i0 = (OOC_INT64)chars;
6178 i0 = _check_pointer(i0, 91790);
6179 i1 = OOC_ARRAY_LENGTH(i0, 0);
6180 i2 = cpos;
6181 i0 = *(OOC_UINT16*)(i0+(_check_index(i2, i1, OOC_UINT32, 91790))*2);
6182 i0 = i0==37u;
6183 isPEntity = i0;
6184 if (!i0) goto l3;
6185 XML_Parser__ParserDesc_ParseDocument_CheckChar(37u);
6186 XML_Parser__ParserDesc_ParseDocument_S();
6187 l3:
6188 i1 = (OOC_INT64)p;
6189 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 91907))+8);
6190 i2 = _check_pointer(i2, 91910);
6191 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 91907))+8);
6192 i2 = (OOC_INT64)&_td_XML_Locator__Position;
6193 XML_Parser__ParserDesc_ParseDocument_StorePosition((void*)(_check_pointer(i1, 91910)), (RT0__Struct)i2);
6194 i1 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_Name(1u);
6195 name = (XML_UnicodeBuffer__CharArray)i1;
6196 XML_Parser__ParserDesc_ParseDocument_S();
6197 i3 = (OOC_INT64)chars;
6198 i4 = _check_pointer(i3, 91971);
6199 i5 = OOC_ARRAY_LENGTH(i4, 0);
6200 i6 = cpos;
6201 i4 = *(OOC_UINT16*)(i4+(_check_index(i6, i5, OOC_UINT32, 91971))*2);
6202 i4 = i4==39u;
6203 if (i4) goto l6;
6204 i3 = _check_pointer(i3, 91994);
6205 i4 = OOC_ARRAY_LENGTH(i3, 0);
6206 i3 = *(OOC_UINT16*)(i3+(_check_index(i6, i4, OOC_UINT32, 91994))*2);
6207 i3 = i3==34u;
6208
6209 goto l8;
6210 l6:
6211 i3=1u;
6212 l8:
6213 if (i3) goto l26;
6214 entityValue = (XML_UnicodeBuffer__CharArray)(OOC_INT64)0;
6215 if (i0) goto l12;
6216 entityType = 2;
6217 i2=2;
6218 goto l13;
6219 l12:
6220 entityType = 3;
6221 i2=3;
6222 l13:
6223 XML_Parser__ParserDesc_ParseDocument_ExternalID(0u, (void*)(OOC_INT64)&_public, (void*)(OOC_INT64)&system, (void*)(OOC_INT64)&baseURI);
6224 ndata = (XML_UnicodeBuffer__CharArray)(OOC_INT64)0;
6225 i3 = !i0;
6226 if (i3) goto l16;
6227 i3=0u;
6228 goto l18;
6229 l16:
6230 i3 = XML_Parser__ParserDesc_ParseDocument_LookingAtS();
6231
6232 l18:
6233 if (i3) goto l20;
6234 i3=i2;i2=(OOC_INT64)0;
6235 goto l25;
6236 l20:
6237 XML_Parser__ParserDesc_ParseDocument_S();
6238 i3 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"NDATA", 6, 1);
6239 if (i3) goto l23;
6240 i3=i2;i2=(OOC_INT64)0;
6241 goto l25;
6242 l23:
6243 i2 = cpos;
6244 entityType = 4;
6245 cpos = (i2+5);
6246 XML_Parser__ParserDesc_ParseDocument_S();
6247 i2 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_Name(0u);
6248 ndata = (XML_UnicodeBuffer__CharArray)i2;
6249 i3=4;
6250 l25:
6251 i4 = (OOC_INT64)currentEntity;
6252 i4 = OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i4, 93317)))), XML_DTD__EntityDesc_IsDocumentEntity)),XML_DTD__EntityDesc_IsDocumentEntity)((XML_DTD__Entity)i4);
6253 i5 = (OOC_INT64)dtd;
6254 i6 = (OOC_INT64)baseURI;
6255 i7 = (OOC_INT64)system;
6256 i8 = (OOC_INT64)_public;
6257 i1 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i5, 93203)))), XML_DTD__BuilderDesc_NewExternalEntity)),XML_DTD__BuilderDesc_NewExternalEntity)((XML_DTD__Builder)i5, (XML_UnicodeBuffer__CharArray)i1, i3, (XML_UnicodeBuffer__CharArray)i8, (XML_UnicodeBuffer__CharArray)i7, (XML_UnicodeBuffer__CharArray)i2, (URI__URI)i6, (!i4));
6258 entity = (XML_DTD__Entity)i1;
6259
6260 goto l38;
6261 l26:
6262 _public = (XML_UnicodeBuffer__CharArray)(OOC_INT64)0;
6263 system = (XML_UnicodeBuffer__CharArray)(OOC_INT64)0;
6264 ndata = (XML_UnicodeBuffer__CharArray)(OOC_INT64)0;
6265 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_markupdecl_EntityDecl_EntityValue(i0);
6266 entityValue = (XML_UnicodeBuffer__CharArray)i0;
6267 i1 = isPEntity;
6268 if (i1) goto l29;
6269 entityType = 0;
6270 i3=0;
6271 goto l30;
6272 l29:
6273 entityType = 1;
6274 i3=1;
6275 l30:
6276 i4 = (OOC_INT64)name;
6277 i5 = !i1;
6278 if (i5) goto l33;
6279 i5=0u;
6280 goto l35;
6281 l33:
6282 i5 = (OOC_INT64)dtd;
6283 i5 = OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i5, 92312)))), XML_DTD__BuilderDesc_IsValidEntityDecl)),XML_DTD__BuilderDesc_IsValidEntityDecl)((XML_DTD__Builder)i5, (XML_UnicodeBuffer__CharArray)i4, (XML_UnicodeBuffer__CharArray)i0);
6284 i5 = !i5;
6285
6286 l35:
6287 if (!i5) goto l37;
6288 i5 = (OOC_INT64)p;
6289 i6 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i5, 92403))+8);
6290 i6 = _check_pointer(i6, 92406);
6291 i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i5, 92403))+8);
6292 XML_Parser__ParserDesc_ParseDocument_ErrPos(118, (void*)(_check_pointer(i5, 92406)), (RT0__Struct)i2);
6293 l37:
6294 i2 = (OOC_INT64)currentEntity;
6295 i2 = OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 92557)))), XML_DTD__EntityDesc_IsDocumentEntity)),XML_DTD__EntityDesc_IsDocumentEntity)((XML_DTD__Entity)i2);
6296 i5 = (OOC_INT64)dtd;
6297 i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i5, 92447)))), XML_DTD__BuilderDesc_NewInternalEntity)),XML_DTD__BuilderDesc_NewInternalEntity)((XML_DTD__Builder)i5, (XML_UnicodeBuffer__CharArray)i4, i3, (XML_UnicodeBuffer__CharArray)i0, (!i2));
6298 entity = (XML_DTD__Entity)i0;
6299 {register OOC_INT64 h0=i0;i0=i1;i1=h0;}
6300 l38:
6301 XML_Parser__ParserDesc_ParseDocument_OptS(0u);
6302 i2 = (OOC_INT64)currentEntity;
6303 XML_Parser__ParserDesc_ParseDocument_CheckCurrentEntity((XML_DTD__Entity)i2);
6304 XML_Parser__ParserDesc_ParseDocument_CheckChar(62u);
6305 i2 = (OOC_INT64)p;
6306 i2 = *(OOC_UINT8*)((_check_pointer(i2, 93456))+115);
6307 if (!i2) goto l48;
6308 l41:
6309 if (i0) goto l46;
6310 i0 = (OOC_INT64)dtd;
6311 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 93582))+8);
6312 i0 = XML_DTD__NamespaceDesc_Add((XML_DTD__Namespace)i0, (XML_DTD__Declaration)i1);
6313 if (!i0) goto l48;
6314 i0 = (OOC_INT64)p;
6315 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 93628))+80);
6316 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 93628))+80);
6317 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 93637)))), XML_Builder__BuilderDesc_EntityDecl)),XML_Builder__BuilderDesc_EntityDecl)((XML_Builder__Builder)i0, (XML_DTD__Entity)i1);
6318 goto l48;
6319 l46:
6320 i0 = (OOC_INT64)dtd;
6321 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 93535))+16);
6322 i0 = XML_DTD__NamespaceDesc_Add((XML_DTD__Namespace)i0, (XML_DTD__Declaration)i1);
6323 l48:
6324 return;
6325 ;
6326 }
6327
6328
6329 void XML_Parser__ParserDesc_ParseDocument_markupdecl_NotationDecl(XML_DTD__Entity currentEntity) {
6330 register OOC_INT64 i0,i1,i2,i3,i4;
6331 XML_UnicodeBuffer__CharArray name;
6332 URI__URI baseURI;
6333 XML_UnicodeBuffer__CharArray system;
6334 XML_UnicodeBuffer__CharArray _public;
6335
6336 i0 = cpos;
6337 cpos = (i0+10);
6338 XML_Parser__ParserDesc_ParseDocument_S();
6339 i0 = (OOC_INT64)p;
6340 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 94040))+8);
6341 i1 = _check_pointer(i1, 94043);
6342 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 94040))+8);
6343 XML_Parser__ParserDesc_ParseDocument_StorePosition((void*)(_check_pointer(i0, 94043)), (RT0__Struct)((OOC_INT64)&_td_XML_Locator__Position));
6344 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_Name(1u);
6345 name = (XML_UnicodeBuffer__CharArray)i0;
6346 XML_Parser__ParserDesc_ParseDocument_S();
6347 XML_Parser__ParserDesc_ParseDocument_ExternalID(1u, (void*)(OOC_INT64)&_public, (void*)(OOC_INT64)&system, (void*)(OOC_INT64)&baseURI);
6348 XML_Parser__ParserDesc_ParseDocument_OptS(0u);
6349 i1 = (OOC_INT64)dtd;
6350 i2 = (OOC_INT64)_public;
6351 i3 = (OOC_INT64)system;
6352 i4 = (OOC_INT64)baseURI;
6353 i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 94364)))), XML_DTD__BuilderDesc_NewNotation)),XML_DTD__BuilderDesc_NewNotation)((XML_DTD__Builder)i1, (XML_UnicodeBuffer__CharArray)i0, (XML_UnicodeBuffer__CharArray)i2, (XML_UnicodeBuffer__CharArray)i3, (URI__URI)i4);
6354 i1 = (OOC_INT64)p;
6355 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 94340))+80);
6356 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 94340))+80);
6357 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 94349)))), XML_Builder__BuilderDesc_Notation)),XML_Builder__BuilderDesc_Notation)((XML_Builder__Builder)i1, (XML_DTD__Notation)i0);
6358 i0 = (OOC_INT64)currentEntity;
6359 XML_Parser__ParserDesc_ParseDocument_CheckCurrentEntity((XML_DTD__Entity)i0);
6360 XML_Parser__ParserDesc_ParseDocument_CheckChar(62u);
6361 return;
6362 ;
6363 }
6364
6365
6366 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"<!ELEMENT", 10, 1);
6367 if (i0) goto l23;
6368 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"<!ATTLIST", 10, 1);
6369 if (i0) goto l21;
6370 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"<!ENTITY", 9, 1);
6371 if (i0) goto l19;
6372 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"<!NOTATION", 11, 1);
6373 if (i0) goto l17;
6374 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"<?", 3, 0);
6375 if (i0) goto l15;
6376 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"<!--", 5, 0);
6377 if (i0) goto l13;
6378 XML_Parser__ParserDesc_ParseDocument_Err(105);
6379 XML_Parser__ParserDesc_ParseDocument_NextChar();
6380 goto l24;
6381 l13:
6382 XML_Parser__ParserDesc_ParseDocument_Comment();
6383 goto l24;
6384 l15:
6385 XML_Parser__ParserDesc_ParseDocument_PI();
6386 goto l24;
6387 l17:
6388 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_CurrentEntity();
6389 XML_Parser__ParserDesc_ParseDocument_markupdecl_NotationDecl((XML_DTD__Entity)i0);
6390 goto l24;
6391 l19:
6392 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_CurrentEntity();
6393 XML_Parser__ParserDesc_ParseDocument_markupdecl_EntityDecl((XML_DTD__Entity)i0);
6394 goto l24;
6395 l21:
6396 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_CurrentEntity();
6397 XML_Parser__ParserDesc_ParseDocument_markupdecl_AttListDecl((XML_DTD__Entity)i0);
6398 goto l24;
6399 l23:
6400 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_CurrentEntity();
6401 XML_Parser__ParserDesc_ParseDocument_markupdecl_elementdecl((XML_DTD__Entity)i0);
6402 l24:
6403 XML_Parser__ParserDesc_ParseDocument_DiscardPreviousInput();
6404 return;
6405 ;
6406 }
6407
6408
6409 void XML_Parser__ParserDesc_ParseDocument_extSubsetDecl(void) {
6410 register OOC_INT64 i0,i1,i2,i3,i4;
6411 XML_DTD__Entity currentEntity;
6412 struct XML_Locator__Position pos;
6413 auto void XML_Parser__ParserDesc_ParseDocument_extSubsetDecl_ignoreSectContents(void);
6414
6415 void XML_Parser__ParserDesc_ParseDocument_extSubsetDecl_ignoreSectContents(void) {
6416 register OOC_INT64 i0,i1,i2,i3,i4,i5,i6,i7;
6417 OOC_INT32 level;
6418
6419 level = 1;
6420 i0 = cpos;
6421 cstart = i0;
6422 i0 = (OOC_INT64)&_td_XML_Locator__Position;
6423 cdelta = 0;
6424 i1=1;
6425 l1_loop:
6426 i2 = (OOC_INT64)chars;
6427 i3 = _check_pointer(i2, 95469);
6428 i4 = OOC_ARRAY_LENGTH(i3, 0);
6429 i5 = cpos;
6430 i3 = *(OOC_UINT16*)(i3+(_check_index(i5, i4, OOC_UINT32, 95469))*2);
6431 switch (i3) {
6432 case 0u ... 31u:
6433 case 65534u:
6434 XML_Parser__ParserDesc_ParseDocument_ControlChar(10u);
6435
6436 goto l1_loop;
6437 case 65535u:
6438 XML_Parser__ParserDesc_ParseDocument_ErrPos(19, (void*)(OOC_INT64)&pos, (RT0__Struct)i0);
6439 goto l23;
6440 case 93u:
6441 i2 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"]]>", 4, 0);
6442 if (i2) goto l8;
6443 i2 = (OOC_INT64)chars;
6444 i3 = _check_pointer(i2, 96017);
6445 i4 = cdelta;
6446 i5 = cpos;
6447 i6 = OOC_ARRAY_LENGTH(i3, 0);
6448 i2 = _check_pointer(i2, 96039);
6449 i7 = OOC_ARRAY_LENGTH(i2, 0);
6450 i2 = *(OOC_UINT16*)(i2+(_check_index(i5, i7, OOC_UINT32, 96039))*2);
6451 *(OOC_UINT16*)(i3+(_check_index((i5-i4), i6, OOC_UINT32, 96017))*2) = i2;
6452 cpos = (i5+1);
6453
6454 goto l1_loop;
6455 l8:
6456 i2 = i1==1;
6457 if (!i2) goto l11;
6458 i2 = (OOC_INT64)currentEntity;
6459 XML_Parser__ParserDesc_ParseDocument_CheckCurrentEntity((XML_DTD__Entity)i2);
6460 l11:
6461 i2 = cpos;
6462 cpos = (i2+3);
6463 i1 = i1-1;
6464 level = i1;
6465 i2 = i1==0;
6466 if (!i2) goto l1_loop;
6467 goto l23;
6468 case 60u:
6469 i2 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"<![", 4, 0);
6470 if (!i2) goto l18;
6471 goto l19;
6472 l18:
6473 i2 = (OOC_INT64)chars;
6474 i3 = _check_pointer(i2, 96269);
6475 i4 = cdelta;
6476 i5 = cpos;
6477 i6 = OOC_ARRAY_LENGTH(i3, 0);
6478 i2 = _check_pointer(i2, 96291);
6479 i7 = OOC_ARRAY_LENGTH(i2, 0);
6480 i2 = *(OOC_UINT16*)(i2+(_check_index(i5, i7, OOC_UINT32, 96291))*2);
6481 *(OOC_UINT16*)(i3+(_check_index((i5-i4), i6, OOC_UINT32, 96269))*2) = i2;
6482 cpos = (i5+1);
6483
6484 goto l1_loop;
6485 l19:
6486 i2 = cpos;
6487 cpos = (i2+3);
6488 i1 = i1+1;
6489 level = i1;
6490
6491 goto l1_loop;
6492 default:
6493 i3 = _check_pointer(i2, 96358);
6494 i4 = cdelta;
6495 i6 = OOC_ARRAY_LENGTH(i3, 0);
6496 i2 = _check_pointer(i2, 96380);
6497 i7 = OOC_ARRAY_LENGTH(i2, 0);
6498 i2 = *(OOC_UINT16*)(i2+(_check_index(i5, i7, OOC_UINT32, 96380))*2);
6499 *(OOC_UINT16*)(i3+(_check_index((i5-i4), i6, OOC_UINT32, 96358))*2) = i2;
6500 cpos = (i5+1);
6501
6502 goto l1_loop;
6503 }
6504 l23:
6505 return;
6506 ;
6507 }
6508
6509
6510 i0 = (OOC_INT64)&_td_XML_Locator__Position;
6511 l1_loop:
6512 i1 = (OOC_INT64)chars;
6513 i2 = _check_pointer(i1, 96498);
6514 i3 = OOC_ARRAY_LENGTH(i2, 0);
6515 i4 = cpos;
6516 i2 = *(OOC_UINT16*)(i2+(_check_index(i4, i3, OOC_UINT32, 96498))*2);
6517 i2 = i2==60u;
6518 if (i2) goto l12;
6519 i1 = _check_pointer(i1, 97637);
6520 i2 = OOC_ARRAY_LENGTH(i1, 0);
6521 i1 = *(OOC_UINT16*)(i1+(_check_index(i4, i2, OOC_UINT32, 97637))*2);
6522 i1 = i1==37u;
6523 if (!i1) goto l5;
6524 goto l10;
6525 l5:
6526 i1 = XML_Parser__ParserDesc_ParseDocument_LookingAtSnoPE();
6527 if (!i1) goto l30;
6528 XML_Parser__ParserDesc_ParseDocument_SnoPE();
6529 goto l1_loop;
6530 l10:
6531 XML_Parser__ParserDesc_ParseDocument_PEReference(1u);
6532 goto l1_loop;
6533 l12:
6534 i1 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_CurrentEntity();
6535 currentEntity = (XML_DTD__Entity)i1;
6536 XML_Parser__ParserDesc_ParseDocument_StorePosition((void*)(OOC_INT64)&pos, (RT0__Struct)i0);
6537 i2 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"<![", 4, 0);
6538 if (i2) goto l15;
6539 XML_Parser__ParserDesc_ParseDocument_markupdecl();
6540 goto l1_loop;
6541 l15:
6542 i2 = cpos;
6543 cpos = (i2+3);
6544 XML_Parser__ParserDesc_ParseDocument_OptS(0u);
6545 i2 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"INCLUDE", 8, 1);
6546 if (i2) goto l22;
6547 i2 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"IGNORE", 7, 1);
6548 if (!i2) goto l19;
6549 goto l20;
6550 l19:
6551 XML_Parser__ParserDesc_ParseDocument_Err(113);
6552 goto l1_loop;
6553 l20:
6554 i2 = cpos;
6555 cpos = (i2+6);
6556 XML_Parser__ParserDesc_ParseDocument_OptS(0u);
6557 XML_Parser__ParserDesc_ParseDocument_CheckCurrentEntity((XML_DTD__Entity)i1);
6558 XML_Parser__ParserDesc_ParseDocument_CheckChar(91u);
6559 XML_Parser__ParserDesc_ParseDocument_extSubsetDecl_ignoreSectContents();
6560 goto l1_loop;
6561 l22:
6562 i2 = cpos;
6563 cpos = (i2+7);
6564 XML_Parser__ParserDesc_ParseDocument_OptS(0u);
6565 XML_Parser__ParserDesc_ParseDocument_CheckCurrentEntity((XML_DTD__Entity)i1);
6566 XML_Parser__ParserDesc_ParseDocument_CheckChar(91u);
6567 XML_Parser__ParserDesc_ParseDocument_extSubsetDecl();
6568 XML_Parser__ParserDesc_ParseDocument_CheckCurrentEntity((XML_DTD__Entity)i1);
6569 i1 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"]]>", 4, 0);
6570 if (!i1) goto l24;
6571 goto l25;
6572 l24:
6573 XML_Parser__ParserDesc_ParseDocument_Err(18);
6574 goto l1_loop;
6575 l25:
6576 i1 = cpos;
6577 cpos = (i1+3);
6578 goto l1_loop;
6579 l30:
6580 return;
6581 ;
6582 }
6583
6584
6585 void XML_Parser__ParserDesc_ParseDocument_prolog(void) {
6586 register OOC_INT64 i0;
6587 auto void XML_Parser__ParserDesc_ParseDocument_prolog_doctypedecl(void);
6588
6589 void XML_Parser__ParserDesc_ParseDocument_prolog_doctypedecl(void) {
6590 register OOC_INT64 i0,i1,i2,i3,i4;
6591 XML_UnicodeBuffer__CharArray rootName;
6592 URI__URI baseURI;
6593 XML_UnicodeBuffer__CharArray system;
6594 XML_UnicodeBuffer__CharArray _public;
6595 XML_DTD__ExternalEntity externalSubset;
6596 XML_DTD__Declaration decl;
6597 XML_DTD__AttrDecl attr;
6598 auto void XML_Parser__ParserDesc_ParseDocument_prolog_doctypedecl_CheckGeneralEntities(void);
6599
6600 void XML_Parser__ParserDesc_ParseDocument_prolog_doctypedecl_CheckGeneralEntities(void) {
6601 register OOC_INT64 i0,i1,i2,i3,i4,i5,i6,i7,i8;
6602 XML_Builder__Builder oldBuilder;
6603 OOC_INT32 oldErrCount;
6604 OOC_CHAR8 oldValidating;
6605 struct XML_Locator__Position pos;
6606 XML_DTD__Declaration decl;
6607 OOC_INT32 len;
6608
6609 i0 = (OOC_INT64)p;
6610 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 98552))+80);
6611 oldBuilder = (XML_Builder__Builder)i1;
6612 i2 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 98589));
6613 i2 = *(OOC_INT32*)(_check_pointer(i2, 98598));
6614 oldErrCount = i2;
6615 i0 = *(OOC_UINT8*)((_check_pointer(i0, 98638))+114);
6616 oldValidating = i0;
6617 i3 = (OOC_INT64)&_td_XML_Locator__Position;
6618 XML_Parser__ParserDesc_ParseDocument_StorePosition((void*)(OOC_INT64)&pos, (RT0__Struct)i3);
6619 i4 = (OOC_INT64)p;
6620 i5 = (OOC_INT64)XML_Builder__New();
6621 *(OOC_INT64*)((_check_pointer(i4, 98705))+80) = i5;
6622 i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i4, 98752))+88);
6623 i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i4, 98757))+8);
6624 i4 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i4, 98770));
6625 decl = (XML_DTD__Declaration)i4;
6626 i5 = i4!=0;
6627 if (!i5) goto l14;
6628 l3_loop:
6629 i5 = *(OOC_INT8*)((_check_pointer((_type_guard(i4, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i4, 98839)))), &_td_XML_DTD__EntityDesc, 98839)), 98846))+16);
6630 i5 = i5==0;
6631 if (!i5) goto l9;
6632 i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i4, 98932))+8);
6633 i6 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i4, 98932))+8);
6634 i5 = OOC_ARRAY_LENGTH((_check_pointer(i5, 98938)), 0);
6635 i5 = LongStrings__Length((void*)(_check_pointer(i6, 98938)), i5);
6636 i5 = i5+2;
6637 i6 = cpos;
6638 len = i5;
6639 cpos = (i6+i5);
6640 XML_Parser__ParserDesc_ParseDocument_PushEntity((XML_DTD__Entity)(_type_guard(i4, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i4, 98996)))), &_td_XML_DTD__EntityDesc, 98996)), 1u);
6641 XML_Parser__ParserDesc_ParseDocument_content();
6642 i6 = (OOC_INT64)chars;
6643 i6 = _check_pointer(i6, 99073);
6644 i7 = OOC_ARRAY_LENGTH(i6, 0);
6645 i8 = cpos;
6646 i6 = *(OOC_UINT16*)(i6+(_check_index(i8, i7, OOC_UINT32, 99073))*2);
6647 i6 = i6!=65535u;
6648 if (!i6) goto l8;
6649 XML_Parser__ParserDesc_ParseDocument_ErrPos(302, (void*)(OOC_INT64)&pos, (RT0__Struct)i3);
6650 i6 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i4, 99283))+8);
6651 i7 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i4, 99283))+8);
6652 i6 = OOC_ARRAY_LENGTH((_check_pointer(i6, 99289)), 0);
6653 i6 = (OOC_INT64)Msg__GetLStringPtr((void*)(_check_pointer(i7, 99289)), i6);
6654 i7 = (OOC_INT64)p;
6655 i8 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i7, 99174))+176);
6656 i7 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i7, 99174))+176);
6657 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i8, 99185)))), Msg__MsgDesc_SetLStringAttrib)),Msg__MsgDesc_SetLStringAttrib)((Msg__Msg)i7, (OOC_CHAR8*)"name", 5, (Msg__LStringPtr)i6);
6658 l8:
6659 XML_Parser__ParserDesc_ParseDocument_PopEntity();
6660 i6 = cpos;
6661 cpos = (i6-i5);
6662 l9:
6663 i4 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i4, 99410));
6664 decl = (XML_DTD__Declaration)i4;
6665 i5 = i4!=0;
6666 if (i5) goto l3_loop;
6667 l14:
6668 i3 = (OOC_INT64)p;
6669 *(OOC_UINT8*)((_check_pointer(i3, 99517))+114) = i0;
6670 i0 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i3, 99563));
6671 i0 = *(OOC_INT32*)(_check_pointer(i0, 99572));
6672 i0 = i0==i2;
6673 if (i0) goto l17;
6674 i0 = (OOC_INT64)XML_Builder__New();
6675 *(OOC_INT64*)((_check_pointer(i3, 99744))+80) = i0;
6676 goto l18;
6677 l17:
6678 *(OOC_INT64*)((_check_pointer(i3, 99638))+80) = i1;
6679 l18:
6680 return;
6681 ;
6682 }
6683
6684
6685 i0 = (OOC_INT64)p;
6686 *(OOC_UINT8*)((_check_pointer(i0, 99890))+118) = 1u;
6687 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 99940))+8);
6688 i1 = _check_pointer(i1, 99943);
6689 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 99940))+8);
6690 i1 = (OOC_INT64)&_td_XML_Locator__Position;
6691 XML_Parser__ParserDesc_ParseDocument_StorePosition((void*)(_check_pointer(i0, 99943)), (RT0__Struct)i1);
6692 i0 = (OOC_INT64)p;
6693 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 99956))+80);
6694 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 99978))+88);
6695 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 99956))+80);
6696 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 99965)))), XML_Builder__BuilderDesc_StartDTD)),XML_Builder__BuilderDesc_StartDTD)((XML_Builder__Builder)i0, (XML_DTD__Builder)i3);
6697 i0 = cpos;
6698 cpos = (i0+9);
6699 XML_Parser__ParserDesc_ParseDocument_S();
6700 i0 = (OOC_INT64)XML_Parser__ParserDesc_ParseDocument_Name(0u);
6701 rootName = (XML_UnicodeBuffer__CharArray)i0;
6702 i2 = (OOC_INT64)p;
6703 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 100135))+88);
6704 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 100135))+88);
6705 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i3, 100140)))), XML_DTD__BuilderDesc_SetRootName)),XML_DTD__BuilderDesc_SetRootName)((XML_DTD__Builder)i2, (XML_UnicodeBuffer__CharArray)i0);
6706 XML_Parser__ParserDesc_ParseDocument_OptS(0u);
6707 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"SYSTEM", 7, 0);
6708 if (i0) goto l3;
6709 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"PUBLIC", 7, 0);
6710
6711 goto l5;
6712 l3:
6713 i0=1u;
6714 l5:
6715 if (i0) goto l7;
6716 system = (XML_UnicodeBuffer__CharArray)(OOC_INT64)0;
6717 _public = (XML_UnicodeBuffer__CharArray)(OOC_INT64)0;
6718 baseURI = (URI__URI)(OOC_INT64)0;
6719 goto l8;
6720 l7:
6721 XML_Parser__ParserDesc_ParseDocument_ExternalID(0u, (void*)(OOC_INT64)&_public, (void*)(OOC_INT64)&system, (void*)(OOC_INT64)&baseURI);
6722 XML_Parser__ParserDesc_ParseDocument_OptS(0u);
6723 l8:
6724 i0 = (OOC_INT64)chars;
6725 i0 = _check_pointer(i0, 100583);
6726 i2 = OOC_ARRAY_LENGTH(i0, 0);
6727 i3 = cpos;
6728 i0 = *(OOC_UINT16*)(i0+(_check_index(i3, i2, OOC_UINT32, 100583))*2);
6729 i0 = i0==91u;
6730 if (!i0) goto l28;
6731 XML_Parser__ParserDesc_ParseDocument_CheckChar(91u);
6732 l11_loop:
6733 i0 = (OOC_INT64)chars;
6734 i2 = _check_pointer(i0, 100665);
6735 i3 = OOC_ARRAY_LENGTH(i2, 0);
6736 i4 = cpos;
6737 i2 = *(OOC_UINT16*)(i2+(_check_index(i4, i3, OOC_UINT32, 100665))*2);
6738 i2 = i2==60u;
6739 if (!i2) goto l13;
6740 goto l22;
6741 l13:
6742 i0 = _check_pointer(i0, 100733);
6743 i2 = OOC_ARRAY_LENGTH(i0, 0);
6744 i0 = *(OOC_UINT16*)(i0+(_check_index(i4, i2, OOC_UINT32, 100733))*2);
6745 i0 = i0==37u;
6746 if (!i0) goto l15;
6747 goto l20;
6748 l15:
6749 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAtSnoPE();
6750 if (!i0) goto l24;
6751 XML_Parser__ParserDesc_ParseDocument_SnoPE();
6752 goto l11_loop;
6753 l20:
6754 XML_Parser__ParserDesc_ParseDocument_PEReference(1u);
6755 goto l11_loop;
6756 l22:
6757 XML_Parser__ParserDesc_ParseDocument_markupdecl();
6758 goto l11_loop;
6759 l24:
6760 i0 = (OOC_INT64)p;
6761 i0 = *(OOC_INT32*)((_check_pointer(i0, 100927))+160);
6762 i0 = i0!=0;
6763 if (!i0) goto l27;
6764 XML_Parser__ParserDesc_ParseDocument_Err(300);
6765 l27:
6766 XML_Parser__ParserDesc_ParseDocument_CheckChar(93u);
6767 XML_Parser__ParserDesc_ParseDocument_OptS(0u);
6768 l28:
6769 XML_Parser__ParserDesc_ParseDocument_CheckChar(62u);
6770 externalSubset = (XML_DTD__ExternalEntity)(OOC_INT64)0;
6771 i0 = (OOC_INT64)_public;
6772 i2 = i0!=(OOC_INT64)0;
6773 if (i2) goto l31;
6774 i2 = (OOC_INT64)system;
6775 i2 = i2!=(OOC_INT64)0;
6776
6777 goto l33;
6778 l31:
6779 i2=1u;
6780 l33:
6781 if (!i2) goto l45;
6782 i2 = (OOC_INT64)p;
6783 i2 = *(OOC_UINT8*)((_check_pointer(i2, 101190))+112);
6784 if (i2) goto l37;
6785 XML_Parser__ParserDesc_ParseDocument_SkippedEntity((XML_UnicodeBuffer__CharArray)(OOC_INT64)0);
6786 goto l45;
6787 l37:
6788 i2 = (OOC_INT64)dtd;
6789 i3 = (OOC_INT64)baseURI;
6790 i4 = (OOC_INT64)system;
6791 i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 101248)))), XML_DTD__BuilderDesc_NewExternalDTD)),XML_DTD__BuilderDesc_NewExternalDTD)((XML_DTD__Builder)i2, (XML_UnicodeBuffer__CharArray)i0, (XML_UnicodeBuffer__CharArray)i4, (URI__URI)i3);
6792 externalSubset = (XML_DTD__ExternalEntity)i0;
6793 XML_Parser__ParserDesc_ParseDocument_PushEntity((XML_DTD__Entity)i0, 1u);
6794 i2 = (OOC_INT64)p;
6795 *(OOC_UINT8*)((_check_pointer(i2, 101352))+119) = 1u;
6796 i2 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"<?xml", 6, 1);
6797 if (!i2) goto l40;
6798 XML_Parser__ParserDesc_ParseDocument_XMLDecl((XML_DTD__ExternalEntity)i0);
6799 l40:
6800 XML_Parser__ParserDesc_ParseDocument_extSubsetDecl();
6801 i0 = (OOC_INT64)p;
6802 *(OOC_UINT8*)((_check_pointer(i0, 101535))+119) = 0u;
6803 i0 = (OOC_INT64)chars;
6804 i0 = _check_pointer(i0, 101585);
6805 i2 = OOC_ARRAY_LENGTH(i0, 0);
6806 i3 = cpos;
6807 i0 = *(OOC_UINT16*)(i0+(_check_index(i3, i2, OOC_UINT32, 101585))*2);
6808 i0 = i0!=65535u;
6809 if (!i0) goto l43;
6810 XML_Parser__ParserDesc_ParseDocument_Err(28);
6811 l43:
6812 XML_Parser__ParserDesc_ParseDocument_PopEntity();
6813 l45:
6814 i0 = (OOC_INT64)dtd;
6815 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 101869))+32);
6816 decl = (XML_DTD__Declaration)i0;
6817 i2 = i0!=(OOC_INT64)0;
6818 if (!i2) goto l56;
6819 l48_loop:
6820 i2 = _type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 101943)))), &_td_XML_DTD__AttrDeclDesc, 101943);
6821 attr = (XML_DTD__AttrDecl)i2;
6822 i3 = *(OOC_INT8*)((_check_pointer(i2, 101972))+40);
6823 i3 = i3>=2;
6824 if (!i3) goto l51;
6825 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 102031))+48);
6826 XML_Parser__ParserDesc_ParseDocument_Expand((XML_DTD__AttValue)i2);
6827 l51:
6828 i0 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 102084));
6829 decl = (XML_DTD__Declaration)i0;
6830 i2 = i0!=(OOC_INT64)0;
6831 if (i2) goto l48_loop;
6832 l56:
6833 i0 = (OOC_INT64)dtd;
6834 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 102124)))), XML_DTD__BuilderDesc_AttachAttributes)),XML_DTD__BuilderDesc_AttachAttributes)((XML_DTD__Builder)i0);
6835 XML_Parser__ParserDesc_ParseDocument_prolog_doctypedecl_CheckGeneralEntities();
6836 i0 = (OOC_INT64)p;
6837 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 102198))+8);
6838 i2 = _check_pointer(i2, 102201);
6839 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 102198))+8);
6840 XML_Parser__ParserDesc_ParseDocument_StorePosition((void*)(_check_pointer(i0, 102201)), (RT0__Struct)i1);
6841 i0 = (OOC_INT64)p;
6842 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 102214))+80);
6843 i2 = *(OOC_UINT8*)((_check_pointer(i0, 102250))+116);
6844 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 102214))+80);
6845 i3 = (OOC_INT64)externalSubset;
6846 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 102223)))), XML_Builder__BuilderDesc_EndDTD)),XML_Builder__BuilderDesc_EndDTD)((XML_Builder__Builder)i0, (XML_DTD__ExternalEntity)i3, i2);
6847 i0 = (OOC_INT64)p;
6848 *(OOC_UINT8*)((_check_pointer(i0, 102294))+118) = 0u;
6849 return;
6850 ;
6851 }
6852
6853
6854 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"<?xml", 6, 1);
6855 if (!i0) goto l3;
6856 i0 = (OOC_INT64)p;
6857 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 102420))+96);
6858 XML_Parser__ParserDesc_ParseDocument_XMLDecl((XML_DTD__ExternalEntity)i0);
6859 l3:
6860 XML_Parser__ParserDesc_ParseDocument_MiscRep();
6861 i0 = XML_Parser__ParserDesc_ParseDocument_LookingAt((OOC_CHAR8*)"<!DOCTYPE", 10, 1);
6862 if (!i0) goto l6;
6863 XML_Parser__ParserDesc_ParseDocument_prolog_doctypedecl();
6864 XML_Parser__ParserDesc_ParseDocument_MiscRep();
6865 l6:
6866 return;
6867 ;
6868 }
6869
6870
6871 i0 = (OOC_INT64)p;
6872 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 102615))+96);
6873 XML_Parser__ParserDesc_ParseDocument_SetFileEntity((XML_DTD__ExternalEntity)i0);
6874 XML_Parser__ParserDesc_ParseDocument_ResetLocator();
6875 i0 = (OOC_INT64)p;
6876 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 102666))+64);
6877 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 102670))+40);
6878 chars = (XML_UnicodeBuffer__CharArray)i1;
6879 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 102691))+88);
6880 dtd = (XML_DTD__Builder)i1;
6881 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 102723))+8);
6882 i1 = _check_pointer(i1, 102726);
6883 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 102723))+8);
6884 i1 = (OOC_INT64)&_td_XML_Locator__Position;
6885 XML_Parser__ParserDesc_ParseDocument_StorePosition((void*)(_check_pointer(i0, 102726)), (RT0__Struct)i1);
6886 i0 = (OOC_INT64)p;
6887 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 102735))+80);
6888 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 102759))+8);
6889 i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 102735))+80);
6890 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 102744)))), XML_Builder__BuilderDesc_SetLocator)),XML_Builder__BuilderDesc_SetLocator)((XML_Builder__Builder)i4, (XML_Locator__Locator)i3);
6891 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 102770))+80);
6892 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 102800))+16);
6893 i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 102770))+80);
6894 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 102779)))), XML_Builder__BuilderDesc_SetErrorListener)),XML_Builder__BuilderDesc_SetErrorListener)((XML_Builder__Builder)i4, (XML_Locator__ErrorListener)i3);
6895 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 102823))+80);
6896 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 102850))+96);
6897 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 102823))+80);
6898 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 102832)))), XML_Builder__BuilderDesc_StartDocument)),XML_Builder__BuilderDesc_StartDocument)((XML_Builder__Builder)i0, (XML_DTD__ExternalEntity)i3);
6899 XML_Parser__ParserDesc_ParseDocument_prolog();
6900 i0 = (OOC_INT64)p;
6901 *(OOC_UINT8*)((_check_pointer(i0, 102906))+117) = 1u;
6902 XML_Parser__ParserDesc_ParseDocument_element();
6903 i0 = (OOC_INT64)p;
6904 i0 = *(OOC_INT32*)((_check_pointer(i0, 102957))+160);
6905 i0 = i0!=0;
6906 if (!i0) goto l3;
6907 XML_Parser__ParserDesc_ParseDocument_Err(301);
6908 l3:
6909 i0 = (OOC_INT64)p;
6910 *(OOC_UINT8*)((_check_pointer(i0, 103022))+117) = 0u;
6911 XML_Parser__ParserDesc_ParseDocument_MiscRep();
6912 i0 = (OOC_INT64)chars;
6913 i0 = _check_pointer(i0, 103078);
6914 i2 = OOC_ARRAY_LENGTH(i0, 0);
6915 i3 = cpos;
6916 i0 = *(OOC_UINT16*)(i0+(_check_index(i3, i2, OOC_UINT32, 103078))*2);
6917 i0 = i0!=65535u;
6918 if (!i0) goto l6;
6919 XML_Parser__ParserDesc_ParseDocument_Err(2);
6920 l6:
6921 XML_Parser__ParserDesc_ParseDocument_CheckInvalidChars();
6922 i0 = (OOC_INT64)p;
6923 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 103197))+8);
6924 i2 = _check_pointer(i2, 103200);
6925 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 103197))+8);
6926 XML_Parser__ParserDesc_ParseDocument_StorePosition((void*)(_check_pointer(i0, 103200)), (RT0__Struct)i1);
6927 i0 = (OOC_INT64)p;
6928 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 103209))+72);
6929 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 103209))+72);
6930 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 103225)))), XML_Builder__BuilderDesc_EndDocument)),XML_Builder__BuilderDesc_EndDocument)((XML_Builder__Builder)i0);
6931 return;
6932 ;
6933 }
6934
XML_Parser__Init(XML_Parser__Parser p,OOC_CHAR8 _new,IO__ByteChannel reader,URI__URI baseURI,XML_UnicodeCodec__Factory codecFactory,XML_EntityResolver__Resolver entityResolver,XML_Builder__Builder builder)6935 static void XML_Parser__Init(XML_Parser__Parser p, OOC_CHAR8 _new, IO__ByteChannel reader, URI__URI baseURI, XML_UnicodeCodec__Factory codecFactory, XML_EntityResolver__Resolver entityResolver, XML_Builder__Builder builder) {
6936 register OOC_INT64 i0,i1,i2,i3;
6937
6938 i0 = (OOC_INT64)p;
6939 i1 = (OOC_INT64)XML_Error__NewList();
6940 *(OOC_INT64*)(_check_pointer(i0, 103572)) = i1;
6941 i1 = _new;
6942 if (i1) goto l3;
6943 _assert(0u, 127, 103824);
6944 goto l4;
6945 l3:
6946 *(OOC_INT64*)((_check_pointer(i0, 103630))+8) = ((OOC_INT64)RT0__NewObject(_td_XML_Locator__Locator.baseTypes[0]));
6947 *(OOC_INT64*)((_check_pointer(i0, 103648))+16) = ((OOC_INT64)RT0__NewObject(_td_XML_Parser__ErrorListener.baseTypes[0]));
6948 *(OOC_INT64*)((_check_pointer(i0, 103678))+136) = ((OOC_INT64)RT0__NewObject(_td_XML_Parser__NameList.baseTypes[0], 8));
6949 *(OOC_INT64*)((_check_pointer(i0, 103717))+152) = ((OOC_INT64)RT0__NewObject(_td_XML_Parser__PEInfoList.baseTypes[0], 4));
6950 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 103797));
6951 i2 = (OOC_INT64)reader;
6952 i3 = (OOC_INT64)codecFactory;
6953 i1 = (OOC_INT64)XML_UnicodeBuffer__NewInput((IO__ByteChannel)i2, (XML_UnicodeCodec__Factory)i3, (Msg__MsgList)i1);
6954 *(OOC_INT64*)((_check_pointer(i0, 103749))+64) = i1;
6955 l4:
6956 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 103917))+8);
6957 *(OOC_INT64*)((_check_pointer(i1, 103920))+24) = 0;
6958 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 103952))+16);
6959 *(OOC_INT64*)(_check_pointer(i1, 103967)) = i0;
6960 i1 = (OOC_INT64)XML_DTD__New();
6961 *(OOC_INT64*)((_check_pointer(i0, 103987))+88) = i1;
6962 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 104033))+88);
6963 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 104033))+88);
6964 i3 = (OOC_INT64)baseURI;
6965 i1 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 104038)))), XML_DTD__BuilderDesc_NewDocumentEntity)),XML_DTD__BuilderDesc_NewDocumentEntity)((XML_DTD__Builder)i2, (URI__URI)i3);
6966 *(OOC_INT64*)((_check_pointer(i0, 104012))+96) = i1;
6967 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 104110))+64);
6968 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 104114))+16);
6969 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 104074))+96);
6970 XML_DTD__ExternalEntityDesc_SetCodecFactory((XML_DTD__ExternalEntity)i2, (XML_UnicodeCodec__Factory)i1);
6971 i1 = (OOC_INT64)builder;
6972 *(OOC_INT64*)((_check_pointer(i0, 104136))+80) = i1;
6973 *(OOC_INT64*)((_check_pointer(i0, 104163))+72) = i1;
6974 i1 = (OOC_INT64)entityResolver;
6975 i1 = i1==0;
6976 if (!i1) goto l7;
6977 i1 = (OOC_INT64)XML_EntityResolver__New();
6978 entityResolver = (XML_EntityResolver__Resolver)i1;
6979 l7:
6980 i1 = (OOC_INT64)entityResolver;
6981 *(OOC_INT64*)((_check_pointer(i0, 104286))+56) = i1;
6982 *(OOC_UINT8*)((_check_pointer(i0, 104325))+112) = 1u;
6983 *(OOC_UINT8*)((_check_pointer(i0, 104359))+113) = 0u;
6984 *(OOC_UINT8*)((_check_pointer(i0, 104390))+114) = 0u;
6985 *(OOC_UINT8*)((_check_pointer(i0, 104418))+115) = 1u;
6986 *(OOC_UINT8*)((_check_pointer(i0, 104454))+116) = 1u;
6987 *(OOC_UINT8*)((_check_pointer(i0, 104491))+117) = 0u;
6988 *(OOC_UINT8*)((_check_pointer(i0, 104526))+118) = 0u;
6989 *(OOC_UINT8*)((_check_pointer(i0, 104549))+119) = 0u;
6990 *(OOC_UINT8*)((_check_pointer(i0, 104583))+120) = 0u;
6991 *(OOC_INT64*)((_check_pointer(i0, 104622))+128) = 0;
6992 *(OOC_INT32*)((_check_pointer(i0, 104653))+144) = 0;
6993 *(OOC_INT32*)((_check_pointer(i0, 104678))+160) = 0;
6994 return;
6995 ;
6996 }
6997
XML_Parser__NewChannel(IO__ByteChannel ch,URI__URI baseURI,XML_UnicodeCodec__Factory codecFactory,XML_EntityResolver__Resolver entityResolver,XML_Builder__Builder builder)6998 XML_Parser__Parser XML_Parser__NewChannel(IO__ByteChannel ch, URI__URI baseURI, XML_UnicodeCodec__Factory codecFactory, XML_EntityResolver__Resolver entityResolver, XML_Builder__Builder builder) {
6999 register OOC_INT64 i0,i1,i2,i3,i4,i5;
7000
7001 i0 = (OOC_INT64)RT0__NewObject(_td_XML_Parser__Parser.baseTypes[0]);
7002 i1 = (OOC_INT64)builder;
7003 i2 = (OOC_INT64)entityResolver;
7004 i3 = (OOC_INT64)codecFactory;
7005 i4 = (OOC_INT64)baseURI;
7006 i5 = (OOC_INT64)ch;
7007 XML_Parser__Init((XML_Parser__Parser)i0, 1u, (IO__ByteChannel)i5, (URI__URI)i4, (XML_UnicodeCodec__Factory)i3, (XML_EntityResolver__Resolver)i2, (XML_Builder__Builder)i1);
7008 return (XML_Parser__Parser)i0;
7009 ;
7010 }
7011
XML_Parser__NewURI(URI__URI uri,URI__URI baseURI,XML_UnicodeCodec__Factory codecFactory,XML_EntityResolver__Resolver entityResolver,XML_Builder__Builder builder)7012 XML_Parser__Parser XML_Parser__NewURI(URI__URI uri, URI__URI baseURI, XML_UnicodeCodec__Factory codecFactory, XML_EntityResolver__Resolver entityResolver, XML_Builder__Builder builder) {
7013 register OOC_INT64 i0,i1,i2,i3,i4;
7014
7015 i0 = (OOC_INT64)uri;
7016 i1 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 107258)))), URI__URIDesc_GetChannel)),URI__URIDesc_GetChannel)((URI__URI)i0, 2);
7017 i2 = (OOC_INT64)codecFactory;
7018 i3 = (OOC_INT64)entityResolver;
7019 i4 = (OOC_INT64)builder;
7020 i0 = (OOC_INT64)XML_Parser__NewChannel((IO__ByteChannel)i1, (URI__URI)i0, (XML_UnicodeCodec__Factory)i2, (XML_EntityResolver__Resolver)i3, (XML_Builder__Builder)i4);
7021 return (XML_Parser__Parser)i0;
7022 ;
7023 }
7024
XML_Parser__NewFile(const OOC_CHAR8 filePath__ref[],OOC_LEN filePath_0d,URI__URI baseURI,XML_UnicodeCodec__Factory codecFactory,XML_EntityResolver__Resolver entityResolver,XML_Builder__Builder builder)7025 XML_Parser__Parser XML_Parser__NewFile(const OOC_CHAR8 filePath__ref[], OOC_LEN filePath_0d, URI__URI baseURI, XML_UnicodeCodec__Factory codecFactory, XML_EntityResolver__Resolver entityResolver, XML_Builder__Builder builder) {
7026 register OOC_INT64 i0,i1,i2,i3,i4;
7027 OOC_ALLOCATE_VPAR(filePath,OOC_CHAR8 ,filePath_0d)
7028
7029 OOC_INITIALIZE_VPAR(filePath__ref,filePath,OOC_CHAR8 ,filePath_0d)
7030 i0 = (OOC_INT64)URI_Scheme_File__ToURI((void*)(OOC_INT64)filePath, filePath_0d);
7031 i1 = (OOC_INT64)baseURI;
7032 i2 = (OOC_INT64)codecFactory;
7033 i3 = (OOC_INT64)entityResolver;
7034 i4 = (OOC_INT64)builder;
7035 i0 = (OOC_INT64)XML_Parser__NewURI((URI__URI)i0, (URI__URI)i1, (XML_UnicodeCodec__Factory)i2, (XML_EntityResolver__Resolver)i3, (XML_Builder__Builder)i4);
7036 return (XML_Parser__Parser)i0;
7037 ;
7038 }
7039
XML_Parser__NewExternalID(const OOC_CHAR16 _public__ref[],OOC_LEN _public_0d,const OOC_CHAR16 system__ref[],OOC_LEN system_0d,URI__URI systemBaseURI,XML_UnicodeCodec__Factory codecFactory,XML_EntityResolver__Resolver entityResolver,XML_Builder__Builder builder,Msg__Msg * res)7040 XML_Parser__Parser XML_Parser__NewExternalID(const OOC_CHAR16 _public__ref[], OOC_LEN _public_0d, const OOC_CHAR16 system__ref[], OOC_LEN system_0d, URI__URI systemBaseURI, XML_UnicodeCodec__Factory codecFactory, XML_EntityResolver__Resolver entityResolver, XML_Builder__Builder builder, Msg__Msg *res) {
7041 register OOC_INT64 i0,i1,i2,i3;
7042 OOC_ALLOCATE_VPAR(_public,OOC_CHAR16 ,_public_0d)
7043 OOC_ALLOCATE_VPAR(system,OOC_CHAR16 ,system_0d)
7044 URI__URI uri;
7045 auto XML_UnicodeBuffer__CharArray XML_Parser__NewExternalID_ToString(OOC_CHAR16 s[], OOC_LEN s_0d);
7046
7047 XML_UnicodeBuffer__CharArray XML_Parser__NewExternalID_ToString(OOC_CHAR16 s[], OOC_LEN s_0d) {
7048 register OOC_INT64 i0,i1;
7049 XML_UnicodeBuffer__CharArray str;
7050
7051 i0 = (
7052 _cmp16((const void*)(OOC_INT64)s,(const void*)((OOC_CHAR16[]){0})))==0;
7053 if (i0) goto l3;
7054 i0 = LongStrings__Length((void*)(OOC_INT64)s, s_0d);
7055 i0 = (OOC_INT64)RT0__NewObject(_td_XML_UnicodeBuffer__CharArray.baseTypes[0], (i0+1));
7056 str = (XML_UnicodeBuffer__CharArray)i0;
7057 i1 = OOC_ARRAY_LENGTH((_check_pointer(i0, 108560)), 0);
7058 _copy_16((const void*)(OOC_INT64)s,(void*)(_check_pointer(i0, 108560)),i1);
7059 return (XML_UnicodeBuffer__CharArray)i0;
7060 goto l4;
7061 l3:
7062 return (XML_UnicodeBuffer__CharArray)(OOC_INT64)0;
7063 l4:
7064 _failed_function(108352); return 0;
7065 ;
7066 }
7067
7068
7069 OOC_INITIALIZE_VPAR(_public__ref,_public,OOC_CHAR16 ,(_public_0d*2))
7070 OOC_INITIALIZE_VPAR(system__ref,system,OOC_CHAR16 ,(system_0d*2))
7071 i0 = (OOC_INT64)XML_Parser__NewExternalID_ToString((void*)(OOC_INT64)system, system_0d);
7072 i1 = (OOC_INT64)XML_Parser__NewExternalID_ToString((void*)(OOC_INT64)_public, _public_0d);
7073 i2 = (OOC_INT64)entityResolver;
7074 i3 = (OOC_INT64)systemBaseURI;
7075 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 108640)))), XML_EntityResolver__ResolverDesc_GetURI)),XML_EntityResolver__ResolverDesc_GetURI)((XML_EntityResolver__Resolver)i2, (XML_UnicodeBuffer__CharArray)i1, (XML_UnicodeBuffer__CharArray)i0, (URI__URI)i3, (void*)(OOC_INT64)&uri, (void*)(OOC_INT64)res);
7076 i0 = (OOC_INT64)uri;
7077 i1 = i0==(OOC_INT64)0;
7078 if (i1) goto l3;
7079 i1 = (OOC_INT64)codecFactory;
7080 i3 = (OOC_INT64)builder;
7081 i0 = (OOC_INT64)XML_Parser__NewURI((URI__URI)i0, (URI__URI)(OOC_INT64)0, (XML_UnicodeCodec__Factory)i1, (XML_EntityResolver__Resolver)i2, (XML_Builder__Builder)i3);
7082 return (XML_Parser__Parser)i0;
7083 goto l4;
7084 l3:
7085 return (XML_Parser__Parser)(OOC_INT64)0;
7086 l4:
7087 _failed_function(107826); return 0;
7088 ;
7089 }
7090
XML_Parser__SetErrorMessages(void)7091 static void XML_Parser__SetErrorMessages(void) {
7092 register OOC_INT64 i0,i1;
7093 OOC_INT16 i;
7094 OOC_CHAR8 t[128];
7095
7096 i = 0;
7097 i0=0;
7098 l1_loop:
7099 switch (i0) {
7100 case 1:
7101 _copy_8((const void*)(OOC_CHAR8*)"Invalid character in document",(void*)(OOC_INT64)t,128);
7102 goto l63;
7103 case 2:
7104 _copy_8((const void*)(OOC_CHAR8*)"Junk after document element",(void*)(OOC_INT64)t,128);
7105 goto l63;
7106 case 3:
7107 _copy_8((const void*)(OOC_CHAR8*)"String `]]>\047 not allowed in character data",(void*)(OOC_INT64)t,128);
7108 goto l63;
7109 case 4:
7110 _copy_8((const void*)(OOC_CHAR8*)"String `--\047 not allowed in comment",(void*)(OOC_INT64)t,128);
7111 goto l63;
7112 case 5:
7113 _copy_8((const void*)(OOC_CHAR8*)"Comment not closed",(void*)(OOC_INT64)t,128);
7114 goto l63;
7115 case 6:
7116 _copy_8((const void*)(OOC_CHAR8*)"String not closed",(void*)(OOC_INT64)t,128);
7117 goto l63;
7118 case 7:
7119 _copy_8((const void*)(OOC_CHAR8*)"Processing instruction not closed",(void*)(OOC_INT64)t,128);
7120 goto l63;
7121 case 8:
7122 _copy_8((const void*)(OOC_CHAR8*)"CDATA section not closed",(void*)(OOC_INT64)t,128);
7123 goto l63;
7124 case 9:
7125 _copy_8((const void*)(OOC_CHAR8*)"Expected whitespace",(void*)(OOC_INT64)t,128);
7126 goto l63;
7127 case 10:
7128 _copy_8((const void*)(OOC_CHAR8*)"Expected name token",(void*)(OOC_INT64)t,128);
7129 goto l63;
7130 case 11:
7131 _copy_8((const void*)(OOC_CHAR8*)"Expected Nmtoken",(void*)(OOC_INT64)t,128);
7132 goto l63;
7133 case 12:
7134 _copy_8((const void*)(OOC_CHAR8*)"Expected character `${symbol}\047",(void*)(OOC_INT64)t,128);
7135 goto l63;
7136 case 13:
7137 _copy_8((const void*)(OOC_CHAR8*)"Character `<\047 not allowed in attribute value",(void*)(OOC_INT64)t,128);
7138 goto l63;
7139 case 14:
7140 _copy_8((const void*)(OOC_CHAR8*)"Expected digit [0-9]",(void*)(OOC_INT64)t,128);
7141 goto l63;
7142 case 15:
7143 _copy_8((const void*)(OOC_CHAR8*)"Expected digit [0-9a-fA-F]",(void*)(OOC_INT64)t,128);
7144 goto l63;
7145 case 16:
7146 _copy_8((const void*)(OOC_CHAR8*)"Expected string",(void*)(OOC_INT64)t,128);
7147 goto l63;
7148 case 17:
7149 _copy_8((const void*)(OOC_CHAR8*)"Character reference designates illegal character",(void*)(OOC_INT64)t,128);
7150 goto l63;
7151 case 18:
7152 _copy_8((const void*)(OOC_CHAR8*)"Exepcted `]]>\047",(void*)(OOC_INT64)t,128);
7153 goto l63;
7154 case 19:
7155 _copy_8((const void*)(OOC_CHAR8*)"Ignored section not closed",(void*)(OOC_INT64)t,128);
7156 goto l63;
7157 case 20:
7158 _copy_8((const void*)(OOC_CHAR8*)"Invalid character in public ID string",(void*)(OOC_INT64)t,128);
7159 goto l63;
7160 case 21:
7161 _copy_8((const void*)(OOC_CHAR8*)"Invalid character in encoding name",(void*)(OOC_INT64)t,128);
7162 goto l63;
7163 case 22:
7164 _copy_8((const void*)(OOC_CHAR8*)"Invalid character in version number",(void*)(OOC_INT64)t,128);
7165 goto l63;
7166 case 23:
7167 _copy_8((const void*)(OOC_CHAR8*)"Expected non-empty string",(void*)(OOC_INT64)t,128);
7168 goto l63;
7169 case 24:
7170 _copy_8((const void*)(OOC_CHAR8*)"Expected \047yes\047 or \047no\047",(void*)(OOC_INT64)t,128);
7171 goto l63;
7172 case 25:
7173 _copy_8((const void*)(OOC_CHAR8*)"XML declaration must be at beginning of file",(void*)(OOC_INT64)t,128);
7174 goto l63;
7175 case 26:
7176 _copy_8((const void*)(OOC_CHAR8*)"This target name is reserved",(void*)(OOC_INT64)t,128);
7177 goto l63;
7178 case 27:
7179 _copy_8((const void*)(OOC_CHAR8*)"Document `${uri}\047 had ${encodings} character encoding errors",(void*)(OOC_INT64)t,128);
7180 goto l63;
7181 case 28:
7182 _copy_8((const void*)(OOC_CHAR8*)"Junk after external DTD subset",(void*)(OOC_INT64)t,128);
7183 goto l63;
7184 case 29:
7185 _copy_8((const void*)(OOC_CHAR8*)"Unknown character encoding",(void*)(OOC_INT64)t,128);
7186 goto l63;
7187 case 30:
7188 _copy_8((const void*)(OOC_CHAR8*)"This name must not contain a colon character `:\047",(void*)(OOC_INT64)t,128);
7189 goto l63;
7190 case 31:
7191 _copy_8((const void*)(OOC_CHAR8*)"Invalid use of colon in a qualified name",(void*)(OOC_INT64)t,128);
7192 goto l63;
7193 case 105:
7194 _copy_8((const void*)(OOC_CHAR8*)"Expected markup declaration",(void*)(OOC_INT64)t,128);
7195 goto l63;
7196 case 106:
7197 _copy_8((const void*)(OOC_CHAR8*)"Expected content specification: `EMPTY\047, `ANY\047, or `(\047",(void*)(OOC_INT64)t,128);
7198 goto l63;
7199 case 107:
7200 _copy_8((const void*)(OOC_CHAR8*)"Expected attribute type (type name, `NOTATION\047, or enumeration)",(void*)(OOC_INT64)t,128);
7201 goto l63;
7202 case 108:
7203 _copy_8((const void*)(OOC_CHAR8*)"Expected attribute value",(void*)(OOC_INT64)t,128);
7204 goto l63;
7205 case 109:
7206 _copy_8((const void*)(OOC_CHAR8*)"Expected entity value",(void*)(OOC_INT64)t,128);
7207 goto l63;
7208 case 110:
7209 _copy_8((const void*)(OOC_CHAR8*)"Expected content particle (name or `(\047)",(void*)(OOC_INT64)t,128);
7210 goto l63;
7211 case 111:
7212 _copy_8((const void*)(OOC_CHAR8*)"Expected token `version\047",(void*)(OOC_INT64)t,128);
7213 goto l63;
7214 case 112:
7215 _copy_8((const void*)(OOC_CHAR8*)"Expected `PUBLIC\047 or `SYSTEM\047",(void*)(OOC_INT64)t,128);
7216 goto l63;
7217 case 113:
7218 _copy_8((const void*)(OOC_CHAR8*)"Expected `INCLUDE\047 or `IGNORE\047",(void*)(OOC_INT64)t,128);
7219 goto l63;
7220 case 114:
7221 _copy_8((const void*)(OOC_CHAR8*)"Expected `?>\047",(void*)(OOC_INT64)t,128);
7222 goto l63;
7223 case 115:
7224 _copy_8((const void*)(OOC_CHAR8*)"Parameter entity references are restricted to markup declarations in the internal subset of the DTD",(void*)(OOC_INT64)t,128);
7225 goto l63;
7226 case 116:
7227 _copy_8((const void*)(OOC_CHAR8*)"Expected token `encoding\047",(void*)(OOC_INT64)t,128);
7228 goto l63;
7229 case 117:
7230 _copy_8((const void*)(OOC_CHAR8*)"Malformed URI: ${uri_error}",(void*)(OOC_INT64)t,128);
7231 goto l63;
7232 case 118:
7233 _copy_8((const void*)(OOC_CHAR8*)"Invalid redefinition of a predefined internal entity",(void*)(OOC_INT64)t,128);
7234 goto l63;
7235 case 208:
7236 _copy_8((const void*)(OOC_CHAR8*)"Expected element",(void*)(OOC_INT64)t,128);
7237 goto l63;
7238 case 209:
7239 _copy_8((const void*)(OOC_CHAR8*)"Expected end tag </${name}>",(void*)(OOC_INT64)t,128);
7240 goto l63;
7241 case 210:
7242 _copy_8((const void*)(OOC_CHAR8*)"General entity `${name}\047 not defined",(void*)(OOC_INT64)t,128);
7243 goto l63;
7244 case 211:
7245 _copy_8((const void*)(OOC_CHAR8*)"Parameter entity `${name}\047 not defined",(void*)(OOC_INT64)t,128);
7246 goto l63;
7247 case 212:
7248 _copy_8((const void*)(OOC_CHAR8*)"Attribute `${name}\047 is already defined",(void*)(OOC_INT64)t,128);
7249 goto l63;
7250 case 213:
7251 _copy_8((const void*)(OOC_CHAR8*)"General entity `${name}\047 is defined recursively",(void*)(OOC_INT64)t,128);
7252 goto l63;
7253 case 214:
7254 _copy_8((const void*)(OOC_CHAR8*)"Required attribute `${name}\047 is not set",(void*)(OOC_INT64)t,128);
7255 goto l63;
7256 case 300:
7257 _copy_8((const void*)(OOC_CHAR8*)"End tag `${name}\047 comes from a different entity than its start tag",(void*)(OOC_INT64)t,128);
7258 goto l63;
7259 case 301:
7260 _copy_8((const void*)(OOC_CHAR8*)"Unbalanced general entity reference",(void*)(OOC_INT64)t,128);
7261 goto l63;
7262 case 302:
7263 _copy_8((const void*)(OOC_CHAR8*)"Replacement text of general entity `${name}\047 is not valid content",(void*)(OOC_INT64)t,128);
7264 goto l63;
7265 case 303:
7266 _copy_8((const void*)(OOC_CHAR8*)"Could not access URL `${uri}\047: ${channel_error}",(void*)(OOC_INT64)t,128);
7267 goto l63;
7268 case 304:
7269 _copy_8((const void*)(OOC_CHAR8*)"Reference to unparsed entity `${name}\047 not allowed",(void*)(OOC_INT64)t,128);
7270 goto l63;
7271 case 305:
7272 _copy_8((const void*)(OOC_CHAR8*)"Attribute value contains reference to external entity `${name}\047",(void*)(OOC_INT64)t,128);
7273 goto l63;
7274 case 306:
7275 _copy_8((const void*)(OOC_CHAR8*)"Nesting violation: Opening and closing parenthesis not in same entity",(void*)(OOC_INT64)t,128);
7276 goto l63;
7277 default:
7278 _copy_8((const void*)(OOC_CHAR8*)"",(void*)(OOC_INT64)t,128);
7279 goto l63;
7280 }
7281 l63:
7282 i1 = (
7283 _cmp8((const void*)(OOC_INT64)t,(const void*)(OOC_CHAR8*)""))!=0;
7284 if (!i1) goto l66;
7285 i1 = (OOC_INT64)XML_Parser__parserContext;
7286 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 113731)))), XML_Error__ContextDesc_SetString)),XML_Error__ContextDesc_SetString)((XML_Error__Context)i1, i0, (void*)(OOC_INT64)t, 128);
7287 l66:
7288 i0 = i0+1;
7289 i = i0;
7290 i1 = i0<=999;
7291 if (i1) goto l1_loop;
7292 l70:
7293 return;
7294 ;
7295 }
7296
OOC_XML_Parser_init(void)7297 void OOC_XML_Parser_init(void) {
7298 register OOC_INT64 i0,i1;
7299
7300 _copy_16((const void*)((OOC_CHAR16[]){45,39,40,41,43,44,46,47,58,61,63,59,33,42,35,64,36,95,37,0}),(void*)(OOC_INT64)XML_Parser__suplPubidChar,32);
7301 i0 = (OOC_INT64)RT0__NewObject(_td_XML_UnicodeBuffer__CharArray.baseTypes[0], 8);
7302 XML_Parser__noName = (XML_UnicodeBuffer__CharArray)i0;
7303 i1 = OOC_ARRAY_LENGTH((_check_pointer(i0, 113886)), 0);
7304 _copy_16((const void*)((OOC_CHAR16[]){35,110,111,95,110,97,109,101,0}),(void*)(_check_pointer(i0, 113886)),i1);
7305 i0 = (OOC_INT64)XML_Error__NewContext((OOC_CHAR8*)"XML:Parser", 11);
7306 XML_Parser__parserContext = (XML_Error__Context)i0;
7307 XML_Parser__SetErrorMessages();
7308 return;
7309 ;
7310 }
7311
OOC_XML_Parser_destroy(void)7312 void OOC_XML_Parser_destroy(void) {
7313 }
7314
7315 /* --- */
7316