1 /* Generated by re2c */
2 #line 1 "encodings/unicode_group_P_8_encoding_policy_ignore.re"
3 // re2c $INPUT -o $OUTPUT -8 --encoding-policy ignore
4 #include <stdio.h>
5 #include "utf8.h"
6 #define YYCTYPE unsigned char
scan(const YYCTYPE * start,const YYCTYPE * const limit)7 bool scan(const YYCTYPE * start, const YYCTYPE * const limit)
8 {
9 __attribute__((unused)) const YYCTYPE * YYMARKER; // silence compiler warnings when YYMARKER is not used
10 # define YYCURSOR start
11 P:
12
13 #line 14 "encodings/unicode_group_P_8_encoding_policy_ignore.c"
14 {
15 YYCTYPE yych;
16 yych = *YYCURSOR;
17 switch (yych) {
18 case '!':
19 case '"':
20 case '#':
21 case '%':
22 case '&':
23 case '\'':
24 case '(':
25 case ')':
26 case '*':
27 case ',':
28 case '-':
29 case '.':
30 case '/':
31 case ':':
32 case ';':
33 case '?':
34 case '@':
35 case '[':
36 case '\\':
37 case ']':
38 case '_':
39 case '{':
40 case '}': goto yy4;
41 case 0xC2: goto yy6;
42 case 0xCD: goto yy7;
43 case 0xCE: goto yy8;
44 case 0xD5: goto yy9;
45 case 0xD6: goto yy10;
46 case 0xD7: goto yy11;
47 case 0xD8: goto yy12;
48 case 0xD9: goto yy13;
49 case 0xDB: goto yy14;
50 case 0xDC: goto yy15;
51 case 0xDF: goto yy16;
52 case 0xE0: goto yy17;
53 case 0xE1: goto yy18;
54 case 0xE2: goto yy19;
55 case 0xE3: goto yy20;
56 case 0xEA: goto yy21;
57 case 0xEF: goto yy22;
58 case 0xF0: goto yy23;
59 default: goto yy2;
60 }
61 yy2:
62 ++YYCURSOR;
63 yy3:
64 #line 14 "encodings/unicode_group_P_8_encoding_policy_ignore.re"
65 { return YYCURSOR == limit; }
66 #line 67 "encodings/unicode_group_P_8_encoding_policy_ignore.c"
67 yy4:
68 ++YYCURSOR;
69 #line 13 "encodings/unicode_group_P_8_encoding_policy_ignore.re"
70 { goto P; }
71 #line 72 "encodings/unicode_group_P_8_encoding_policy_ignore.c"
72 yy6:
73 yych = *++YYCURSOR;
74 switch (yych) {
75 case 0xA1:
76 case 0xA7:
77 case 0xAB:
78 case 0xB6:
79 case 0xB7:
80 case 0xBB:
81 case 0xBF: goto yy4;
82 default: goto yy3;
83 }
84 yy7:
85 yych = *++YYCURSOR;
86 switch (yych) {
87 case 0xBE: goto yy4;
88 default: goto yy3;
89 }
90 yy8:
91 yych = *++YYCURSOR;
92 switch (yych) {
93 case 0x87: goto yy4;
94 default: goto yy3;
95 }
96 yy9:
97 yych = *++YYCURSOR;
98 switch (yych) {
99 case 0x9A:
100 case 0x9B:
101 case 0x9C:
102 case 0x9D:
103 case 0x9E:
104 case 0x9F: goto yy4;
105 default: goto yy3;
106 }
107 yy10:
108 yych = *++YYCURSOR;
109 switch (yych) {
110 case 0x89:
111 case 0x8A:
112 case 0xBE: goto yy4;
113 default: goto yy3;
114 }
115 yy11:
116 yych = *++YYCURSOR;
117 switch (yych) {
118 case 0x80:
119 case 0x83:
120 case 0x86:
121 case 0xB3:
122 case 0xB4: goto yy4;
123 default: goto yy3;
124 }
125 yy12:
126 yych = *++YYCURSOR;
127 switch (yych) {
128 case 0x89:
129 case 0x8A:
130 case 0x8C:
131 case 0x8D:
132 case 0x9B:
133 case 0x9E:
134 case 0x9F: goto yy4;
135 default: goto yy3;
136 }
137 yy13:
138 yych = *++YYCURSOR;
139 switch (yych) {
140 case 0xAA:
141 case 0xAB:
142 case 0xAC:
143 case 0xAD: goto yy4;
144 default: goto yy3;
145 }
146 yy14:
147 yych = *++YYCURSOR;
148 switch (yych) {
149 case 0x94: goto yy4;
150 default: goto yy3;
151 }
152 yy15:
153 yych = *++YYCURSOR;
154 switch (yych) {
155 case 0x80:
156 case 0x81:
157 case 0x82:
158 case 0x83:
159 case 0x84:
160 case 0x85:
161 case 0x86:
162 case 0x87:
163 case 0x88:
164 case 0x89:
165 case 0x8A:
166 case 0x8B:
167 case 0x8C:
168 case 0x8D: goto yy4;
169 default: goto yy3;
170 }
171 yy16:
172 yych = *++YYCURSOR;
173 switch (yych) {
174 case 0xB7:
175 case 0xB8:
176 case 0xB9: goto yy4;
177 default: goto yy3;
178 }
179 yy17:
180 yych = *(YYMARKER = ++YYCURSOR);
181 switch (yych) {
182 case 0xA0: goto yy24;
183 case 0xA1: goto yy26;
184 case 0xA5: goto yy27;
185 case 0xAB: goto yy28;
186 case 0xB7: goto yy29;
187 case 0xB9: goto yy30;
188 case 0xBC: goto yy31;
189 case 0xBE: goto yy32;
190 case 0xBF: goto yy33;
191 default: goto yy3;
192 }
193 yy18:
194 yych = *(YYMARKER = ++YYCURSOR);
195 switch (yych) {
196 case 0x81: goto yy34;
197 case 0x83: goto yy35;
198 case 0x8D: goto yy36;
199 case 0x90: goto yy37;
200 case 0x99: goto yy38;
201 case 0x9A: goto yy39;
202 case 0x9B: goto yy40;
203 case 0x9C: goto yy41;
204 case 0x9F: goto yy42;
205 case 0xA0: goto yy43;
206 case 0xA5: goto yy44;
207 case 0xA8: goto yy45;
208 case 0xAA: goto yy46;
209 case 0xAD: goto yy47;
210 case 0xAF: goto yy48;
211 case 0xB0: goto yy49;
212 case 0xB1: goto yy50;
213 case 0xB3: goto yy51;
214 default: goto yy3;
215 }
216 yy19:
217 yych = *(YYMARKER = ++YYCURSOR);
218 switch (yych) {
219 case 0x80: goto yy52;
220 case 0x81: goto yy53;
221 case 0x82: goto yy54;
222 case 0x8C: goto yy55;
223 case 0x9D: goto yy56;
224 case 0x9F: goto yy57;
225 case 0xA6: goto yy58;
226 case 0xA7: goto yy59;
227 case 0xB3: goto yy60;
228 case 0xB5: goto yy28;
229 case 0xB8: goto yy61;
230 case 0xB9: goto yy62;
231 default: goto yy3;
232 }
233 yy20:
234 yych = *(YYMARKER = ++YYCURSOR);
235 switch (yych) {
236 case 0x80: goto yy63;
237 case 0x82: goto yy64;
238 case 0x83: goto yy35;
239 default: goto yy3;
240 }
241 yy21:
242 yych = *(YYMARKER = ++YYCURSOR);
243 switch (yych) {
244 case 0x93: goto yy50;
245 case 0x98: goto yy65;
246 case 0x99: goto yy66;
247 case 0x9B: goto yy67;
248 case 0xA1: goto yy68;
249 case 0xA3: goto yy69;
250 case 0xA4: goto yy70;
251 case 0xA5: goto yy71;
252 case 0xA7: goto yy72;
253 case 0xA9: goto yy73;
254 case 0xAB: goto yy74;
255 case 0xAF: goto yy75;
256 default: goto yy3;
257 }
258 yy22:
259 yych = *(YYMARKER = ++YYCURSOR);
260 switch (yych) {
261 case 0xB4: goto yy50;
262 case 0xB8: goto yy76;
263 case 0xB9: goto yy77;
264 case 0xBC: goto yy78;
265 case 0xBD: goto yy79;
266 default: goto yy3;
267 }
268 yy23:
269 yych = *(YYMARKER = ++YYCURSOR);
270 switch (yych) {
271 case 0x90: goto yy80;
272 case 0x91: goto yy81;
273 case 0x92: goto yy82;
274 case 0x96: goto yy83;
275 case 0x9B: goto yy84;
276 default: goto yy3;
277 }
278 yy24:
279 yych = *++YYCURSOR;
280 switch (yych) {
281 case 0xB0:
282 case 0xB1:
283 case 0xB2:
284 case 0xB3:
285 case 0xB4:
286 case 0xB5:
287 case 0xB6:
288 case 0xB7:
289 case 0xB8:
290 case 0xB9:
291 case 0xBA:
292 case 0xBB:
293 case 0xBC:
294 case 0xBD:
295 case 0xBE: goto yy4;
296 default: goto yy25;
297 }
298 yy25:
299 YYCURSOR = YYMARKER;
300 goto yy3;
301 yy26:
302 yych = *++YYCURSOR;
303 switch (yych) {
304 case 0x9E: goto yy4;
305 default: goto yy25;
306 }
307 yy27:
308 yych = *++YYCURSOR;
309 switch (yych) {
310 case 0xA4:
311 case 0xA5:
312 case 0xB0: goto yy4;
313 default: goto yy25;
314 }
315 yy28:
316 yych = *++YYCURSOR;
317 switch (yych) {
318 case 0xB0: goto yy4;
319 default: goto yy25;
320 }
321 yy29:
322 yych = *++YYCURSOR;
323 switch (yych) {
324 case 0xB4: goto yy4;
325 default: goto yy25;
326 }
327 yy30:
328 yych = *++YYCURSOR;
329 switch (yych) {
330 case 0x8F:
331 case 0x9A:
332 case 0x9B: goto yy4;
333 default: goto yy25;
334 }
335 yy31:
336 yych = *++YYCURSOR;
337 switch (yych) {
338 case 0x84:
339 case 0x85:
340 case 0x86:
341 case 0x87:
342 case 0x88:
343 case 0x89:
344 case 0x8A:
345 case 0x8B:
346 case 0x8C:
347 case 0x8D:
348 case 0x8E:
349 case 0x8F:
350 case 0x90:
351 case 0x91:
352 case 0x92:
353 case 0x94:
354 case 0xBA:
355 case 0xBB:
356 case 0xBC:
357 case 0xBD: goto yy4;
358 default: goto yy25;
359 }
360 yy32:
361 yych = *++YYCURSOR;
362 switch (yych) {
363 case 0x85: goto yy4;
364 default: goto yy25;
365 }
366 yy33:
367 yych = *++YYCURSOR;
368 switch (yych) {
369 case 0x90:
370 case 0x91:
371 case 0x92:
372 case 0x93:
373 case 0x94:
374 case 0x99:
375 case 0x9A: goto yy4;
376 default: goto yy25;
377 }
378 yy34:
379 yych = *++YYCURSOR;
380 switch (yych) {
381 case 0x8A:
382 case 0x8B:
383 case 0x8C:
384 case 0x8D:
385 case 0x8E:
386 case 0x8F: goto yy4;
387 default: goto yy25;
388 }
389 yy35:
390 yych = *++YYCURSOR;
391 switch (yych) {
392 case 0xBB: goto yy4;
393 default: goto yy25;
394 }
395 yy36:
396 yych = *++YYCURSOR;
397 switch (yych) {
398 case 0xA0:
399 case 0xA1:
400 case 0xA2:
401 case 0xA3:
402 case 0xA4:
403 case 0xA5:
404 case 0xA6:
405 case 0xA7:
406 case 0xA8: goto yy4;
407 default: goto yy25;
408 }
409 yy37:
410 yych = *++YYCURSOR;
411 switch (yych) {
412 case 0x80: goto yy4;
413 default: goto yy25;
414 }
415 yy38:
416 yych = *++YYCURSOR;
417 switch (yych) {
418 case 0xAD:
419 case 0xAE: goto yy4;
420 default: goto yy25;
421 }
422 yy39:
423 yych = *++YYCURSOR;
424 switch (yych) {
425 case 0x9B:
426 case 0x9C: goto yy4;
427 default: goto yy25;
428 }
429 yy40:
430 yych = *++YYCURSOR;
431 switch (yych) {
432 case 0xAB:
433 case 0xAC:
434 case 0xAD: goto yy4;
435 default: goto yy25;
436 }
437 yy41:
438 yych = *++YYCURSOR;
439 switch (yych) {
440 case 0xB5:
441 case 0xB6: goto yy4;
442 default: goto yy25;
443 }
444 yy42:
445 yych = *++YYCURSOR;
446 switch (yych) {
447 case 0x94:
448 case 0x95:
449 case 0x96:
450 case 0x98:
451 case 0x99:
452 case 0x9A: goto yy4;
453 default: goto yy25;
454 }
455 yy43:
456 yych = *++YYCURSOR;
457 switch (yych) {
458 case 0x80:
459 case 0x81:
460 case 0x82:
461 case 0x83:
462 case 0x84:
463 case 0x85:
464 case 0x86:
465 case 0x87:
466 case 0x88:
467 case 0x89:
468 case 0x8A: goto yy4;
469 default: goto yy25;
470 }
471 yy44:
472 yych = *++YYCURSOR;
473 switch (yych) {
474 case 0x84:
475 case 0x85: goto yy4;
476 default: goto yy25;
477 }
478 yy45:
479 yych = *++YYCURSOR;
480 switch (yych) {
481 case 0x9E:
482 case 0x9F: goto yy4;
483 default: goto yy25;
484 }
485 yy46:
486 yych = *++YYCURSOR;
487 switch (yych) {
488 case 0xA0:
489 case 0xA1:
490 case 0xA2:
491 case 0xA3:
492 case 0xA4:
493 case 0xA5:
494 case 0xA6:
495 case 0xA8:
496 case 0xA9:
497 case 0xAA:
498 case 0xAB:
499 case 0xAC:
500 case 0xAD: goto yy4;
501 default: goto yy25;
502 }
503 yy47:
504 yych = *++YYCURSOR;
505 switch (yych) {
506 case 0x9A:
507 case 0x9B:
508 case 0x9C:
509 case 0x9D:
510 case 0x9E:
511 case 0x9F:
512 case 0xA0: goto yy4;
513 default: goto yy25;
514 }
515 yy48:
516 yych = *++YYCURSOR;
517 switch (yych) {
518 case 0xBC:
519 case 0xBD:
520 case 0xBE:
521 case 0xBF: goto yy4;
522 default: goto yy25;
523 }
524 yy49:
525 yych = *++YYCURSOR;
526 switch (yych) {
527 case 0xBB:
528 case 0xBC:
529 case 0xBD:
530 case 0xBE:
531 case 0xBF: goto yy4;
532 default: goto yy25;
533 }
534 yy50:
535 yych = *++YYCURSOR;
536 switch (yych) {
537 case 0xBE:
538 case 0xBF: goto yy4;
539 default: goto yy25;
540 }
541 yy51:
542 yych = *++YYCURSOR;
543 switch (yych) {
544 case 0x80:
545 case 0x81:
546 case 0x82:
547 case 0x83:
548 case 0x84:
549 case 0x85:
550 case 0x86:
551 case 0x87:
552 case 0x93: goto yy4;
553 default: goto yy25;
554 }
555 yy52:
556 yych = *++YYCURSOR;
557 switch (yych) {
558 case 0x90:
559 case 0x91:
560 case 0x92:
561 case 0x93:
562 case 0x94:
563 case 0x95:
564 case 0x96:
565 case 0x97:
566 case 0x98:
567 case 0x99:
568 case 0x9A:
569 case 0x9B:
570 case 0x9C:
571 case 0x9D:
572 case 0x9E:
573 case 0x9F:
574 case 0xA0:
575 case 0xA1:
576 case 0xA2:
577 case 0xA3:
578 case 0xA4:
579 case 0xA5:
580 case 0xA6:
581 case 0xA7:
582 case 0xB0:
583 case 0xB1:
584 case 0xB2:
585 case 0xB3:
586 case 0xB4:
587 case 0xB5:
588 case 0xB6:
589 case 0xB7:
590 case 0xB8:
591 case 0xB9:
592 case 0xBA:
593 case 0xBB:
594 case 0xBC:
595 case 0xBD:
596 case 0xBE:
597 case 0xBF: goto yy4;
598 default: goto yy25;
599 }
600 yy53:
601 yych = *++YYCURSOR;
602 switch (yych) {
603 case 0x80:
604 case 0x81:
605 case 0x82:
606 case 0x83:
607 case 0x85:
608 case 0x86:
609 case 0x87:
610 case 0x88:
611 case 0x89:
612 case 0x8A:
613 case 0x8B:
614 case 0x8C:
615 case 0x8D:
616 case 0x8E:
617 case 0x8F:
618 case 0x90:
619 case 0x91:
620 case 0x93:
621 case 0x94:
622 case 0x95:
623 case 0x96:
624 case 0x97:
625 case 0x98:
626 case 0x99:
627 case 0x9A:
628 case 0x9B:
629 case 0x9C:
630 case 0x9D:
631 case 0x9E:
632 case 0xBD:
633 case 0xBE: goto yy4;
634 default: goto yy25;
635 }
636 yy54:
637 yych = *++YYCURSOR;
638 switch (yych) {
639 case 0x8D:
640 case 0x8E: goto yy4;
641 default: goto yy25;
642 }
643 yy55:
644 yych = *++YYCURSOR;
645 switch (yych) {
646 case 0x88:
647 case 0x89:
648 case 0x8A:
649 case 0x8B:
650 case 0xA9:
651 case 0xAA: goto yy4;
652 default: goto yy25;
653 }
654 yy56:
655 yych = *++YYCURSOR;
656 switch (yych) {
657 case 0xA8:
658 case 0xA9:
659 case 0xAA:
660 case 0xAB:
661 case 0xAC:
662 case 0xAD:
663 case 0xAE:
664 case 0xAF:
665 case 0xB0:
666 case 0xB1:
667 case 0xB2:
668 case 0xB3:
669 case 0xB4:
670 case 0xB5: goto yy4;
671 default: goto yy25;
672 }
673 yy57:
674 yych = *++YYCURSOR;
675 switch (yych) {
676 case 0x85:
677 case 0x86:
678 case 0xA6:
679 case 0xA7:
680 case 0xA8:
681 case 0xA9:
682 case 0xAA:
683 case 0xAB:
684 case 0xAC:
685 case 0xAD:
686 case 0xAE:
687 case 0xAF: goto yy4;
688 default: goto yy25;
689 }
690 yy58:
691 yych = *++YYCURSOR;
692 switch (yych) {
693 case 0x83:
694 case 0x84:
695 case 0x85:
696 case 0x86:
697 case 0x87:
698 case 0x88:
699 case 0x89:
700 case 0x8A:
701 case 0x8B:
702 case 0x8C:
703 case 0x8D:
704 case 0x8E:
705 case 0x8F:
706 case 0x90:
707 case 0x91:
708 case 0x92:
709 case 0x93:
710 case 0x94:
711 case 0x95:
712 case 0x96:
713 case 0x97:
714 case 0x98: goto yy4;
715 default: goto yy25;
716 }
717 yy59:
718 yych = *++YYCURSOR;
719 switch (yych) {
720 case 0x98:
721 case 0x99:
722 case 0x9A:
723 case 0x9B:
724 case 0xBC:
725 case 0xBD: goto yy4;
726 default: goto yy25;
727 }
728 yy60:
729 yych = *++YYCURSOR;
730 switch (yych) {
731 case 0xB9:
732 case 0xBA:
733 case 0xBB:
734 case 0xBC:
735 case 0xBE:
736 case 0xBF: goto yy4;
737 default: goto yy25;
738 }
739 yy61:
740 yych = *++YYCURSOR;
741 switch (yych) {
742 case 0x80:
743 case 0x81:
744 case 0x82:
745 case 0x83:
746 case 0x84:
747 case 0x85:
748 case 0x86:
749 case 0x87:
750 case 0x88:
751 case 0x89:
752 case 0x8A:
753 case 0x8B:
754 case 0x8C:
755 case 0x8D:
756 case 0x8E:
757 case 0x8F:
758 case 0x90:
759 case 0x91:
760 case 0x92:
761 case 0x93:
762 case 0x94:
763 case 0x95:
764 case 0x96:
765 case 0x97:
766 case 0x98:
767 case 0x99:
768 case 0x9A:
769 case 0x9B:
770 case 0x9C:
771 case 0x9D:
772 case 0x9E:
773 case 0x9F:
774 case 0xA0:
775 case 0xA1:
776 case 0xA2:
777 case 0xA3:
778 case 0xA4:
779 case 0xA5:
780 case 0xA6:
781 case 0xA7:
782 case 0xA8:
783 case 0xA9:
784 case 0xAA:
785 case 0xAB:
786 case 0xAC:
787 case 0xAD:
788 case 0xAE:
789 case 0xB0:
790 case 0xB1:
791 case 0xB2:
792 case 0xB3:
793 case 0xB4:
794 case 0xB5:
795 case 0xB6:
796 case 0xB7:
797 case 0xB8:
798 case 0xB9:
799 case 0xBA:
800 case 0xBB:
801 case 0xBC:
802 case 0xBD:
803 case 0xBE:
804 case 0xBF: goto yy4;
805 default: goto yy25;
806 }
807 yy62:
808 yych = *++YYCURSOR;
809 switch (yych) {
810 case 0x80:
811 case 0x81:
812 case 0x82: goto yy4;
813 default: goto yy25;
814 }
815 yy63:
816 yych = *++YYCURSOR;
817 switch (yych) {
818 case 0x81:
819 case 0x82:
820 case 0x83:
821 case 0x88:
822 case 0x89:
823 case 0x8A:
824 case 0x8B:
825 case 0x8C:
826 case 0x8D:
827 case 0x8E:
828 case 0x8F:
829 case 0x90:
830 case 0x91:
831 case 0x94:
832 case 0x95:
833 case 0x96:
834 case 0x97:
835 case 0x98:
836 case 0x99:
837 case 0x9A:
838 case 0x9B:
839 case 0x9C:
840 case 0x9D:
841 case 0x9E:
842 case 0x9F:
843 case 0xB0:
844 case 0xBD: goto yy4;
845 default: goto yy25;
846 }
847 yy64:
848 yych = *++YYCURSOR;
849 switch (yych) {
850 case 0xA0: goto yy4;
851 default: goto yy25;
852 }
853 yy65:
854 yych = *++YYCURSOR;
855 switch (yych) {
856 case 0x8D:
857 case 0x8E:
858 case 0x8F: goto yy4;
859 default: goto yy25;
860 }
861 yy66:
862 yych = *++YYCURSOR;
863 switch (yych) {
864 case 0xB3:
865 case 0xBE: goto yy4;
866 default: goto yy25;
867 }
868 yy67:
869 yych = *++YYCURSOR;
870 switch (yych) {
871 case 0xB2:
872 case 0xB3:
873 case 0xB4:
874 case 0xB5:
875 case 0xB6:
876 case 0xB7: goto yy4;
877 default: goto yy25;
878 }
879 yy68:
880 yych = *++YYCURSOR;
881 switch (yych) {
882 case 0xB4:
883 case 0xB5:
884 case 0xB6:
885 case 0xB7: goto yy4;
886 default: goto yy25;
887 }
888 yy69:
889 yych = *++YYCURSOR;
890 switch (yych) {
891 case 0x8E:
892 case 0x8F:
893 case 0xB8:
894 case 0xB9:
895 case 0xBA: goto yy4;
896 default: goto yy25;
897 }
898 yy70:
899 yych = *++YYCURSOR;
900 switch (yych) {
901 case 0xAE:
902 case 0xAF: goto yy4;
903 default: goto yy25;
904 }
905 yy71:
906 yych = *++YYCURSOR;
907 switch (yych) {
908 case 0x9F: goto yy4;
909 default: goto yy25;
910 }
911 yy72:
912 yych = *++YYCURSOR;
913 switch (yych) {
914 case 0x81:
915 case 0x82:
916 case 0x83:
917 case 0x84:
918 case 0x85:
919 case 0x86:
920 case 0x87:
921 case 0x88:
922 case 0x89:
923 case 0x8A:
924 case 0x8B:
925 case 0x8C:
926 case 0x8D:
927 case 0x9E:
928 case 0x9F: goto yy4;
929 default: goto yy25;
930 }
931 yy73:
932 yych = *++YYCURSOR;
933 switch (yych) {
934 case 0x9C:
935 case 0x9D:
936 case 0x9E:
937 case 0x9F: goto yy4;
938 default: goto yy25;
939 }
940 yy74:
941 yych = *++YYCURSOR;
942 switch (yych) {
943 case 0x9E:
944 case 0x9F:
945 case 0xB0:
946 case 0xB1: goto yy4;
947 default: goto yy25;
948 }
949 yy75:
950 yych = *++YYCURSOR;
951 switch (yych) {
952 case 0xAB: goto yy4;
953 default: goto yy25;
954 }
955 yy76:
956 yych = *++YYCURSOR;
957 switch (yych) {
958 case 0x90:
959 case 0x91:
960 case 0x92:
961 case 0x93:
962 case 0x94:
963 case 0x95:
964 case 0x96:
965 case 0x97:
966 case 0x98:
967 case 0x99:
968 case 0xB0:
969 case 0xB1:
970 case 0xB2:
971 case 0xB3:
972 case 0xB4:
973 case 0xB5:
974 case 0xB6:
975 case 0xB7:
976 case 0xB8:
977 case 0xB9:
978 case 0xBA:
979 case 0xBB:
980 case 0xBC:
981 case 0xBD:
982 case 0xBE:
983 case 0xBF: goto yy4;
984 default: goto yy25;
985 }
986 yy77:
987 yych = *++YYCURSOR;
988 switch (yych) {
989 case 0x80:
990 case 0x81:
991 case 0x82:
992 case 0x83:
993 case 0x84:
994 case 0x85:
995 case 0x86:
996 case 0x87:
997 case 0x88:
998 case 0x89:
999 case 0x8A:
1000 case 0x8B:
1001 case 0x8C:
1002 case 0x8D:
1003 case 0x8E:
1004 case 0x8F:
1005 case 0x90:
1006 case 0x91:
1007 case 0x92:
1008 case 0x94:
1009 case 0x95:
1010 case 0x96:
1011 case 0x97:
1012 case 0x98:
1013 case 0x99:
1014 case 0x9A:
1015 case 0x9B:
1016 case 0x9C:
1017 case 0x9D:
1018 case 0x9E:
1019 case 0x9F:
1020 case 0xA0:
1021 case 0xA1:
1022 case 0xA3:
1023 case 0xA8:
1024 case 0xAA:
1025 case 0xAB: goto yy4;
1026 default: goto yy25;
1027 }
1028 yy78:
1029 yych = *++YYCURSOR;
1030 switch (yych) {
1031 case 0x81:
1032 case 0x82:
1033 case 0x83:
1034 case 0x85:
1035 case 0x86:
1036 case 0x87:
1037 case 0x88:
1038 case 0x89:
1039 case 0x8A:
1040 case 0x8C:
1041 case 0x8D:
1042 case 0x8E:
1043 case 0x8F:
1044 case 0x9A:
1045 case 0x9B:
1046 case 0x9F:
1047 case 0xA0:
1048 case 0xBB:
1049 case 0xBC:
1050 case 0xBD:
1051 case 0xBF: goto yy4;
1052 default: goto yy25;
1053 }
1054 yy79:
1055 yych = *++YYCURSOR;
1056 switch (yych) {
1057 case 0x9B:
1058 case 0x9D:
1059 case 0x9F:
1060 case 0xA0:
1061 case 0xA1:
1062 case 0xA2:
1063 case 0xA3:
1064 case 0xA4:
1065 case 0xA5: goto yy4;
1066 default: goto yy25;
1067 }
1068 yy80:
1069 yych = *++YYCURSOR;
1070 switch (yych) {
1071 case 0x84: goto yy62;
1072 case 0x8E: goto yy71;
1073 case 0x8F: goto yy85;
1074 case 0x95: goto yy86;
1075 case 0xA1: goto yy87;
1076 case 0xA4: goto yy88;
1077 case 0xA9: goto yy89;
1078 case 0xAB: goto yy90;
1079 case 0xAC: goto yy91;
1080 case 0xAE: goto yy92;
1081 default: goto yy25;
1082 }
1083 yy81:
1084 yych = *++YYCURSOR;
1085 switch (yych) {
1086 case 0x81: goto yy93;
1087 case 0x82: goto yy94;
1088 case 0x83: goto yy95;
1089 case 0x85: goto yy96;
1090 case 0x87: goto yy97;
1091 case 0x88: goto yy98;
1092 case 0x93: goto yy99;
1093 case 0x97: goto yy100;
1094 case 0x99: goto yy101;
1095 default: goto yy25;
1096 }
1097 yy82:
1098 yych = *++YYCURSOR;
1099 switch (yych) {
1100 case 0x91: goto yy102;
1101 default: goto yy25;
1102 }
1103 yy83:
1104 yych = *++YYCURSOR;
1105 switch (yych) {
1106 case 0xA9: goto yy70;
1107 case 0xAB: goto yy103;
1108 case 0xAC: goto yy104;
1109 case 0xAD: goto yy105;
1110 default: goto yy25;
1111 }
1112 yy84:
1113 yych = *++YYCURSOR;
1114 switch (yych) {
1115 case 0xB2: goto yy71;
1116 default: goto yy25;
1117 }
1118 yy85:
1119 yych = *++YYCURSOR;
1120 switch (yych) {
1121 case 0x90: goto yy4;
1122 default: goto yy25;
1123 }
1124 yy86:
1125 yych = *++YYCURSOR;
1126 switch (yych) {
1127 case 0xAF: goto yy4;
1128 default: goto yy25;
1129 }
1130 yy87:
1131 yych = *++YYCURSOR;
1132 switch (yych) {
1133 case 0x97: goto yy4;
1134 default: goto yy25;
1135 }
1136 yy88:
1137 yych = *++YYCURSOR;
1138 switch (yych) {
1139 case 0x9F:
1140 case 0xBF: goto yy4;
1141 default: goto yy25;
1142 }
1143 yy89:
1144 yych = *++YYCURSOR;
1145 switch (yych) {
1146 case 0x90:
1147 case 0x91:
1148 case 0x92:
1149 case 0x93:
1150 case 0x94:
1151 case 0x95:
1152 case 0x96:
1153 case 0x97:
1154 case 0x98:
1155 case 0xBF: goto yy4;
1156 default: goto yy25;
1157 }
1158 yy90:
1159 yych = *++YYCURSOR;
1160 switch (yych) {
1161 case 0xB0:
1162 case 0xB1:
1163 case 0xB2:
1164 case 0xB3:
1165 case 0xB4:
1166 case 0xB5:
1167 case 0xB6: goto yy4;
1168 default: goto yy25;
1169 }
1170 yy91:
1171 yych = *++YYCURSOR;
1172 switch (yych) {
1173 case 0xB9:
1174 case 0xBA:
1175 case 0xBB:
1176 case 0xBC:
1177 case 0xBD:
1178 case 0xBE:
1179 case 0xBF: goto yy4;
1180 default: goto yy25;
1181 }
1182 yy92:
1183 yych = *++YYCURSOR;
1184 switch (yych) {
1185 case 0x99:
1186 case 0x9A:
1187 case 0x9B:
1188 case 0x9C: goto yy4;
1189 default: goto yy25;
1190 }
1191 yy93:
1192 yych = *++YYCURSOR;
1193 switch (yych) {
1194 case 0x87:
1195 case 0x88:
1196 case 0x89:
1197 case 0x8A:
1198 case 0x8B:
1199 case 0x8C:
1200 case 0x8D: goto yy4;
1201 default: goto yy25;
1202 }
1203 yy94:
1204 yych = *++YYCURSOR;
1205 switch (yych) {
1206 case 0xBB:
1207 case 0xBC:
1208 case 0xBE:
1209 case 0xBF: goto yy4;
1210 default: goto yy25;
1211 }
1212 yy95:
1213 yych = *++YYCURSOR;
1214 switch (yych) {
1215 case 0x80:
1216 case 0x81: goto yy4;
1217 default: goto yy25;
1218 }
1219 yy96:
1220 yych = *++YYCURSOR;
1221 switch (yych) {
1222 case 0x80:
1223 case 0x81:
1224 case 0x82:
1225 case 0x83:
1226 case 0xB4:
1227 case 0xB5: goto yy4;
1228 default: goto yy25;
1229 }
1230 yy97:
1231 yych = *++YYCURSOR;
1232 switch (yych) {
1233 case 0x85:
1234 case 0x86:
1235 case 0x87:
1236 case 0x88:
1237 case 0x8D: goto yy4;
1238 default: goto yy25;
1239 }
1240 yy98:
1241 yych = *++YYCURSOR;
1242 switch (yych) {
1243 case 0xB8:
1244 case 0xB9:
1245 case 0xBA:
1246 case 0xBB:
1247 case 0xBC:
1248 case 0xBD: goto yy4;
1249 default: goto yy25;
1250 }
1251 yy99:
1252 yych = *++YYCURSOR;
1253 switch (yych) {
1254 case 0x86: goto yy4;
1255 default: goto yy25;
1256 }
1257 yy100:
1258 yych = *++YYCURSOR;
1259 switch (yych) {
1260 case 0x81:
1261 case 0x82:
1262 case 0x83:
1263 case 0x84:
1264 case 0x85:
1265 case 0x86:
1266 case 0x87:
1267 case 0x88:
1268 case 0x89: goto yy4;
1269 default: goto yy25;
1270 }
1271 yy101:
1272 yych = *++YYCURSOR;
1273 switch (yych) {
1274 case 0x81:
1275 case 0x82:
1276 case 0x83: goto yy4;
1277 default: goto yy25;
1278 }
1279 yy102:
1280 yych = *++YYCURSOR;
1281 switch (yych) {
1282 case 0xB0:
1283 case 0xB1:
1284 case 0xB2:
1285 case 0xB3:
1286 case 0xB4: goto yy4;
1287 default: goto yy25;
1288 }
1289 yy103:
1290 yych = *++YYCURSOR;
1291 switch (yych) {
1292 case 0xB5: goto yy4;
1293 default: goto yy25;
1294 }
1295 yy104:
1296 yych = *++YYCURSOR;
1297 switch (yych) {
1298 case 0xB7:
1299 case 0xB8:
1300 case 0xB9:
1301 case 0xBA:
1302 case 0xBB: goto yy4;
1303 default: goto yy25;
1304 }
1305 yy105:
1306 yych = *++YYCURSOR;
1307 switch (yych) {
1308 case 0x84: goto yy4;
1309 default: goto yy25;
1310 }
1311 }
1312 #line 15 "encodings/unicode_group_P_8_encoding_policy_ignore.re"
1313
1314 }
1315 static const unsigned int chars_P [] = {0x21,0x23, 0x25,0x2a, 0x2c,0x2f, 0x3a,0x3b, 0x3f,0x40, 0x5b,0x5d, 0x5f,0x5f, 0x7b,0x7b, 0x7d,0x7d, 0xa1,0xa1, 0xa7,0xa7, 0xab,0xab, 0xb6,0xb7, 0xbb,0xbb, 0xbf,0xbf, 0x37e,0x37e, 0x387,0x387, 0x55a,0x55f, 0x589,0x58a, 0x5be,0x5be, 0x5c0,0x5c0, 0x5c3,0x5c3, 0x5c6,0x5c6, 0x5f3,0x5f4, 0x609,0x60a, 0x60c,0x60d, 0x61b,0x61b, 0x61e,0x61f, 0x66a,0x66d, 0x6d4,0x6d4, 0x700,0x70d, 0x7f7,0x7f9, 0x830,0x83e, 0x85e,0x85e, 0x964,0x965, 0x970,0x970, 0xaf0,0xaf0, 0xdf4,0xdf4, 0xe4f,0xe4f, 0xe5a,0xe5b, 0xf04,0xf12, 0xf14,0xf14, 0xf3a,0xf3d, 0xf85,0xf85, 0xfd0,0xfd4, 0xfd9,0xfda, 0x104a,0x104f, 0x10fb,0x10fb, 0x1360,0x1368, 0x1400,0x1400, 0x166d,0x166e, 0x169b,0x169c, 0x16eb,0x16ed, 0x1735,0x1736, 0x17d4,0x17d6, 0x17d8,0x17da, 0x1800,0x180a, 0x1944,0x1945, 0x1a1e,0x1a1f, 0x1aa0,0x1aa6, 0x1aa8,0x1aad, 0x1b5a,0x1b60, 0x1bfc,0x1bff, 0x1c3b,0x1c3f, 0x1c7e,0x1c7f, 0x1cc0,0x1cc7, 0x1cd3,0x1cd3, 0x2010,0x2027, 0x2030,0x2043, 0x2045,0x2051, 0x2053,0x205e, 0x207d,0x207e, 0x208d,0x208e, 0x2308,0x230b, 0x2329,0x232a, 0x2768,0x2775, 0x27c5,0x27c6, 0x27e6,0x27ef, 0x2983,0x2998, 0x29d8,0x29db, 0x29fc,0x29fd, 0x2cf9,0x2cfc, 0x2cfe,0x2cff, 0x2d70,0x2d70, 0x2e00,0x2e2e, 0x2e30,0x2e42, 0x3001,0x3003, 0x3008,0x3011, 0x3014,0x301f, 0x3030,0x3030, 0x303d,0x303d, 0x30a0,0x30a0, 0x30fb,0x30fb, 0xa4fe,0xa4ff, 0xa60d,0xa60f, 0xa673,0xa673, 0xa67e,0xa67e, 0xa6f2,0xa6f7, 0xa874,0xa877, 0xa8ce,0xa8cf, 0xa8f8,0xa8fa, 0xa92e,0xa92f, 0xa95f,0xa95f, 0xa9c1,0xa9cd, 0xa9de,0xa9df, 0xaa5c,0xaa5f, 0xaade,0xaadf, 0xaaf0,0xaaf1, 0xabeb,0xabeb, 0xfd3e,0xfd3f, 0xfe10,0xfe19, 0xfe30,0xfe52, 0xfe54,0xfe61, 0xfe63,0xfe63, 0xfe68,0xfe68, 0xfe6a,0xfe6b, 0xff01,0xff03, 0xff05,0xff0a, 0xff0c,0xff0f, 0xff1a,0xff1b, 0xff1f,0xff20, 0xff3b,0xff3d, 0xff3f,0xff3f, 0xff5b,0xff5b, 0xff5d,0xff5d, 0xff5f,0xff65, 0x10100,0x10102, 0x1039f,0x1039f, 0x103d0,0x103d0, 0x1056f,0x1056f, 0x10857,0x10857, 0x1091f,0x1091f, 0x1093f,0x1093f, 0x10a50,0x10a58, 0x10a7f,0x10a7f, 0x10af0,0x10af6, 0x10b39,0x10b3f, 0x10b99,0x10b9c, 0x11047,0x1104d, 0x110bb,0x110bc, 0x110be,0x110c1, 0x11140,0x11143, 0x11174,0x11175, 0x111c5,0x111c8, 0x111cd,0x111cd, 0x11238,0x1123d, 0x114c6,0x114c6, 0x115c1,0x115c9, 0x11641,0x11643, 0x12470,0x12474, 0x16a6e,0x16a6f, 0x16af5,0x16af5, 0x16b37,0x16b3b, 0x16b44,0x16b44, 0x1bc9f,0x1bc9f, 0x0,0x0};
encode_utf8(const unsigned int * ranges,unsigned int ranges_count,unsigned int * s)1316 static unsigned int encode_utf8 (const unsigned int * ranges, unsigned int ranges_count, unsigned int * s)
1317 {
1318 unsigned int * const s_start = s;
1319 for (unsigned int i = 0; i < ranges_count - 2; i += 2)
1320 for (unsigned int j = ranges[i]; j <= ranges[i + 1]; ++j)
1321 s += re2c::utf8::rune_to_bytes (s, j);
1322 re2c::utf8::rune_to_bytes (s, ranges[ranges_count - 1]);
1323 return s - s_start + 1;
1324 }
1325
main()1326 int main ()
1327 {
1328 unsigned int * buffer_P = new unsigned int [2756];
1329 YYCTYPE * s = (YYCTYPE *) buffer_P;
1330 unsigned int buffer_len = encode_utf8 (chars_P, sizeof (chars_P) / sizeof (unsigned int), buffer_P);
1331 /* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1332 for (unsigned int i = 0; i < buffer_len; ++i) s[i] = buffer_P[i];
1333 if (!scan (s, s + buffer_len))
1334 printf("test 'P' failed\n");
1335 delete [] buffer_P;
1336 return 0;
1337 }
1338