1 /* Generated by re2c 0.15.3 on Fri Mar 8 21:20:09 2019 */
2 /**
3
4 MultiMarkdown -- Lightweight markup processor to produce HTML, LaTeX, and more.
5
6 @file opml-lexer.c
7
8 @brief Tokenize OPML file for parsing
9
10
11 @author Fletcher T. Penney
12 @bug
13
14 **/
15
16 /*
17
18 Copyright © 2016 - 2019 Fletcher T. Penney.
19
20
21 The `MultiMarkdown 6` project is released under the MIT License..
22
23 GLibFacade.c and GLibFacade.h are from the MultiMarkdown v4 project:
24
25 https://github.com/fletcher/MultiMarkdown-4/
26
27 MMD 4 is released under both the MIT License and GPL.
28
29
30 CuTest is released under the zlib/libpng license. See CuTest.c for the
31 text of the license.
32
33 uthash library:
34 Copyright (c) 2005-2016, Troy D. Hanson
35
36 Licensed under Revised BSD license
37
38 miniz library:
39 Copyright 2013-2014 RAD Game Tools and Valve Software
40 Copyright 2010-2014 Rich Geldreich and Tenacious Software LLC
41
42 Licensed under the MIT license
43
44 argtable3 library:
45 Copyright (C) 1998-2001,2003-2011,2013 Stewart Heitmann
46 <sheitmann@users.sourceforge.net>
47 All rights reserved.
48
49 Licensed under the Revised BSD License
50
51
52 ## The MIT License ##
53
54 Permission is hereby granted, free of charge, to any person obtaining
55 a copy of this software and associated documentation files (the
56 "Software"), to deal in the Software without restriction, including
57 without limitation the rights to use, copy, modify, merge, publish,
58 distribute, sublicense, and/or sell copies of the Software, and to
59 permit persons to whom the Software is furnished to do so, subject to
60 the following conditions:
61
62 The above copyright notice and this permission notice shall be
63 included in all copies or substantial portions of the Software.
64
65 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
66 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
67 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
68 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
69 CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
70 TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
71 SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
72
73
74 ## Revised BSD License ##
75
76 Redistribution and use in source and binary forms, with or without
77 modification, are permitted provided that the following conditions are
78 met:
79 * Redistributions of source code must retain the above copyright
80 notice, this list of conditions and the following disclaimer.
81 * Redistributions in binary form must reproduce the above
82 copyright notice, this list of conditions and the following
83 disclaimer in the documentation and/or other materials provided
84 with the distribution.
85 * Neither the name of the <organization> nor the
86 names of its contributors may be used to endorse or promote
87 products derived from this software without specific prior
88 written permission.
89
90 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
91 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
92 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
93 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT
94 HOLDER> BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
95 EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
96 PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES LOSS OF USE, DATA, OR
97 PROFITS OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
98 LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
99 NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
100 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
101
102
103 */
104
105 #include <stdlib.h>
106
107 #include "opml-lexer.h"
108 #include "opml-parser.h"
109
110
111 // Basic scanner struct
112
113 #define YYCTYPE unsigned char
114 #define YYCURSOR s->cur
115 #define YYMARKER s->ptr
116 #define YYCTXMARKER s->ctx
117
opml_scan(Scanner * s,const char * stop)118 int opml_scan(Scanner * s, const char * stop) {
119
120 scan:
121
122 if (s->cur >= stop) {
123 return 0;
124 }
125
126 s->start = s->cur;
127
128
129 {
130 YYCTYPE yych;
131 unsigned int yyaccept = 0;
132 yych = *YYCURSOR;
133
134 switch (yych) {
135 case '\t':
136 case '\n':
137 case ' ':
138 goto yy4;
139
140 case '\r':
141 goto yy6;
142
143 case '<':
144 goto yy7;
145
146 default:
147 goto yy2;
148 }
149
150 yy2:
151 ++YYCURSOR;
152 yy3: {
153 goto scan;
154 }
155 yy4:
156 ++YYCURSOR;
157 yych = *YYCURSOR;
158 goto yy190;
159 yy5: {
160 return OPML_WSNL;
161 }
162 yy6:
163 yych = *++YYCURSOR;
164 goto yy190;
165 yy7:
166 yyaccept = 0;
167 yych = *(YYMARKER = ++YYCURSOR);
168
169 switch (yych) {
170 case '/':
171 goto yy8;
172
173 case '?':
174 goto yy14;
175
176 case 'B':
177 case 'b':
178 goto yy11;
179
180 case 'H':
181 case 'h':
182 goto yy13;
183
184 case 'O':
185 case 'o':
186 goto yy10;
187
188 case 'T':
189 case 't':
190 goto yy12;
191
192 default:
193 goto yy3;
194 }
195
196 yy8:
197 yych = *++YYCURSOR;
198
199 switch (yych) {
200 case 'B':
201 case 'b':
202 goto yy159;
203
204 case 'H':
205 case 'h':
206 goto yy157;
207
208 case 'O':
209 case 'o':
210 goto yy156;
211
212 case 'T':
213 case 't':
214 goto yy158;
215
216 default:
217 goto yy9;
218 }
219
220 yy9:
221 YYCURSOR = YYMARKER;
222
223 switch (yyaccept) {
224 case 0:
225 goto yy3;
226
227 case 1:
228 goto yy56;
229
230 default:
231 goto yy58;
232 }
233
234 yy10:
235 yych = *++YYCURSOR;
236
237 switch (yych) {
238 case 'P':
239 case 'p':
240 goto yy40;
241
242 case 'U':
243 case 'u':
244 goto yy41;
245
246 default:
247 goto yy9;
248 }
249
250 yy11:
251 yych = *++YYCURSOR;
252
253 switch (yych) {
254 case 'O':
255 case 'o':
256 goto yy34;
257
258 default:
259 goto yy9;
260 }
261
262 yy12:
263 yych = *++YYCURSOR;
264
265 switch (yych) {
266 case 'I':
267 case 'i':
268 goto yy27;
269
270 default:
271 goto yy9;
272 }
273
274 yy13:
275 yych = *++YYCURSOR;
276
277 switch (yych) {
278 case 'E':
279 case 'e':
280 goto yy21;
281
282 default:
283 goto yy9;
284 }
285
286 yy14:
287 yych = *++YYCURSOR;
288
289 switch (yych) {
290 case 'X':
291 case 'x':
292 goto yy15;
293
294 default:
295 goto yy9;
296 }
297
298 yy15:
299 yych = *++YYCURSOR;
300
301 switch (yych) {
302 case 'M':
303 case 'm':
304 goto yy16;
305
306 default:
307 goto yy9;
308 }
309
310 yy16:
311 yych = *++YYCURSOR;
312
313 switch (yych) {
314 case 'L':
315 case 'l':
316 goto yy17;
317
318 default:
319 goto yy9;
320 }
321
322 yy17:
323 ++YYCURSOR;
324 yych = *YYCURSOR;
325
326 switch (yych) {
327 case 0x00:
328 goto yy9;
329
330 case '>':
331 goto yy19;
332
333 default:
334 goto yy17;
335 }
336
337 yy19:
338 ++YYCURSOR;
339 {
340 return OPML_XML;
341 }
342 yy21:
343 yych = *++YYCURSOR;
344
345 switch (yych) {
346 case 'A':
347 case 'a':
348 goto yy22;
349
350 default:
351 goto yy9;
352 }
353
354 yy22:
355 yych = *++YYCURSOR;
356
357 switch (yych) {
358 case 'D':
359 case 'd':
360 goto yy23;
361
362 default:
363 goto yy9;
364 }
365
366 yy23:
367 ++YYCURSOR;
368 yych = *YYCURSOR;
369
370 switch (yych) {
371 case 0x00:
372 goto yy9;
373
374 case '>':
375 goto yy25;
376
377 default:
378 goto yy23;
379 }
380
381 yy25:
382 ++YYCURSOR;
383 {
384 return OPML_HEAD_OPEN;
385 }
386 yy27:
387 yych = *++YYCURSOR;
388
389 switch (yych) {
390 case 'T':
391 case 't':
392 goto yy28;
393
394 default:
395 goto yy9;
396 }
397
398 yy28:
399 yych = *++YYCURSOR;
400
401 switch (yych) {
402 case 'L':
403 case 'l':
404 goto yy29;
405
406 default:
407 goto yy9;
408 }
409
410 yy29:
411 yych = *++YYCURSOR;
412
413 switch (yych) {
414 case 'E':
415 case 'e':
416 goto yy30;
417
418 default:
419 goto yy9;
420 }
421
422 yy30:
423 ++YYCURSOR;
424 yych = *YYCURSOR;
425
426 switch (yych) {
427 case 0x00:
428 goto yy9;
429
430 case '>':
431 goto yy32;
432
433 default:
434 goto yy30;
435 }
436
437 yy32:
438 ++YYCURSOR;
439 {
440 return OPML_TITLE_OPEN;
441 }
442 yy34:
443 yych = *++YYCURSOR;
444
445 switch (yych) {
446 case 'D':
447 case 'd':
448 goto yy35;
449
450 default:
451 goto yy9;
452 }
453
454 yy35:
455 yych = *++YYCURSOR;
456
457 switch (yych) {
458 case 'Y':
459 case 'y':
460 goto yy36;
461
462 default:
463 goto yy9;
464 }
465
466 yy36:
467 ++YYCURSOR;
468 yych = *YYCURSOR;
469
470 switch (yych) {
471 case 0x00:
472 goto yy9;
473
474 case '>':
475 goto yy38;
476
477 default:
478 goto yy36;
479 }
480
481 yy38:
482 ++YYCURSOR;
483 {
484 return OPML_BODY_OPEN;
485 }
486 yy40:
487 yych = *++YYCURSOR;
488
489 switch (yych) {
490 case 'M':
491 case 'm':
492 goto yy151;
493
494 default:
495 goto yy9;
496 }
497
498 yy41:
499 yych = *++YYCURSOR;
500
501 switch (yych) {
502 case 'T':
503 case 't':
504 goto yy42;
505
506 default:
507 goto yy9;
508 }
509
510 yy42:
511 yych = *++YYCURSOR;
512
513 switch (yych) {
514 case 'L':
515 case 'l':
516 goto yy43;
517
518 default:
519 goto yy9;
520 }
521
522 yy43:
523 yych = *++YYCURSOR;
524
525 switch (yych) {
526 case 'I':
527 case 'i':
528 goto yy44;
529
530 default:
531 goto yy9;
532 }
533
534 yy44:
535 yych = *++YYCURSOR;
536
537 switch (yych) {
538 case 'N':
539 case 'n':
540 goto yy45;
541
542 default:
543 goto yy9;
544 }
545
546 yy45:
547 yych = *++YYCURSOR;
548
549 switch (yych) {
550 case 'E':
551 case 'e':
552 goto yy46;
553
554 default:
555 goto yy9;
556 }
557
558 yy46:
559 ++YYCURSOR;
560 yych = *YYCURSOR;
561
562 switch (yych) {
563 case 0x00:
564 goto yy9;
565
566 case '\t':
567 case '\n':
568 case ' ':
569 goto yy46;
570
571 case '\r':
572 goto yy48;
573
574 case '/':
575 goto yy53;
576
577 case '>':
578 goto yy55;
579
580 case 'T':
581 case 't':
582 goto yy50;
583
584 default:
585 goto yy51;
586 }
587
588 yy48:
589 ++YYCURSOR;
590 yych = *YYCURSOR;
591
592 switch (yych) {
593 case 0x00:
594 goto yy9;
595
596 case '\t':
597 case '\n':
598 case ' ':
599 goto yy46;
600
601 case '\r':
602 goto yy48;
603
604 case '/':
605 goto yy53;
606
607 case '>':
608 goto yy55;
609
610 case 'T':
611 case 't':
612 goto yy50;
613
614 default:
615 goto yy51;
616 }
617
618 yy50:
619 yych = *++YYCURSOR;
620
621 switch (yych) {
622 case 'E':
623 case 'e':
624 goto yy59;
625
626 default:
627 goto yy52;
628 }
629
630 yy51:
631 ++YYCURSOR;
632 yych = *YYCURSOR;
633 yy52:
634
635 switch (yych) {
636 case 0x00:
637 goto yy9;
638
639 case '/':
640 goto yy53;
641
642 case '>':
643 goto yy55;
644
645 default:
646 goto yy51;
647 }
648
649 yy53:
650 ++YYCURSOR;
651 yych = *YYCURSOR;
652
653 switch (yych) {
654 case 0x00:
655 goto yy9;
656
657 case '/':
658 goto yy53;
659
660 case '>':
661 goto yy57;
662
663 default:
664 goto yy51;
665 }
666
667 yy55:
668 ++YYCURSOR;
669 yy56: {
670 return OPML_OUTLINE_OPEN;
671 }
672 yy57:
673 ++YYCURSOR;
674 yy58: {
675 return OPML_OUTLINE_SELF_CLOSE;
676 }
677 yy59:
678 yych = *++YYCURSOR;
679
680 switch (yych) {
681 case 'X':
682 case 'x':
683 goto yy60;
684
685 default:
686 goto yy52;
687 }
688
689 yy60:
690 yych = *++YYCURSOR;
691
692 switch (yych) {
693 case 'T':
694 case 't':
695 goto yy61;
696
697 default:
698 goto yy52;
699 }
700
701 yy61:
702 ++YYCURSOR;
703 yych = *YYCURSOR;
704
705 switch (yych) {
706 case 0x00:
707 goto yy9;
708
709 case '\t':
710 case '\n':
711 case ' ':
712 goto yy61;
713
714 case '\r':
715 goto yy63;
716
717 case '/':
718 goto yy53;
719
720 case '=':
721 goto yy65;
722
723 case '>':
724 goto yy55;
725
726 default:
727 goto yy51;
728 }
729
730 yy63:
731 ++YYCURSOR;
732 yych = *YYCURSOR;
733
734 switch (yych) {
735 case 0x00:
736 goto yy9;
737
738 case '\t':
739 case '\n':
740 case ' ':
741 goto yy61;
742
743 case '\r':
744 goto yy63;
745
746 case '/':
747 goto yy53;
748
749 case '=':
750 goto yy65;
751
752 case '>':
753 goto yy55;
754
755 default:
756 goto yy51;
757 }
758
759 yy65:
760 ++YYCURSOR;
761 yych = *YYCURSOR;
762
763 switch (yych) {
764 case 0x00:
765 goto yy9;
766
767 case '\t':
768 case '\n':
769 case ' ':
770 goto yy65;
771
772 case '\r':
773 goto yy67;
774
775 case '"':
776 goto yy69;
777
778 case '/':
779 goto yy53;
780
781 case '>':
782 goto yy55;
783
784 default:
785 goto yy51;
786 }
787
788 yy67:
789 ++YYCURSOR;
790 yych = *YYCURSOR;
791
792 switch (yych) {
793 case 0x00:
794 goto yy9;
795
796 case '\t':
797 case '\n':
798 case ' ':
799 goto yy65;
800
801 case '\r':
802 goto yy67;
803
804 case '"':
805 goto yy69;
806
807 case '/':
808 goto yy53;
809
810 case '>':
811 goto yy55;
812
813 default:
814 goto yy51;
815 }
816
817 yy69:
818 yych = *++YYCURSOR;
819
820 switch (yych) {
821 case '&':
822 goto yy70;
823
824 default:
825 goto yy52;
826 }
827
828 yy70:
829 yych = *++YYCURSOR;
830
831 switch (yych) {
832 case 'G':
833 case 'g':
834 goto yy71;
835
836 default:
837 goto yy52;
838 }
839
840 yy71:
841 yych = *++YYCURSOR;
842
843 switch (yych) {
844 case 'T':
845 case 't':
846 goto yy72;
847
848 default:
849 goto yy52;
850 }
851
852 yy72:
853 yych = *++YYCURSOR;
854
855 switch (yych) {
856 case ';':
857 goto yy73;
858
859 default:
860 goto yy52;
861 }
862
863 yy73:
864 yych = *++YYCURSOR;
865
866 switch (yych) {
867 case '&':
868 goto yy74;
869
870 default:
871 goto yy52;
872 }
873
874 yy74:
875 yych = *++YYCURSOR;
876
877 switch (yych) {
878 case 'G':
879 case 'g':
880 goto yy75;
881
882 default:
883 goto yy52;
884 }
885
886 yy75:
887 yych = *++YYCURSOR;
888
889 switch (yych) {
890 case 'T':
891 case 't':
892 goto yy76;
893
894 default:
895 goto yy52;
896 }
897
898 yy76:
899 yych = *++YYCURSOR;
900
901 switch (yych) {
902 case ';':
903 goto yy77;
904
905 default:
906 goto yy52;
907 }
908
909 yy77:
910 yych = *++YYCURSOR;
911
912 switch (yych) {
913 case 'M':
914 case 'm':
915 goto yy79;
916
917 case 'P':
918 case 'p':
919 goto yy78;
920
921 default:
922 goto yy52;
923 }
924
925 yy78:
926 yych = *++YYCURSOR;
927
928 switch (yych) {
929 case 'R':
930 case 'r':
931 goto yy101;
932
933 default:
934 goto yy52;
935 }
936
937 yy79:
938 yych = *++YYCURSOR;
939
940 switch (yych) {
941 case 'E':
942 case 'e':
943 goto yy80;
944
945 default:
946 goto yy52;
947 }
948
949 yy80:
950 yych = *++YYCURSOR;
951
952 switch (yych) {
953 case 'T':
954 case 't':
955 goto yy81;
956
957 default:
958 goto yy52;
959 }
960
961 yy81:
962 yych = *++YYCURSOR;
963
964 switch (yych) {
965 case 'A':
966 case 'a':
967 goto yy82;
968
969 default:
970 goto yy52;
971 }
972
973 yy82:
974 yych = *++YYCURSOR;
975
976 switch (yych) {
977 case 'D':
978 case 'd':
979 goto yy83;
980
981 default:
982 goto yy52;
983 }
984
985 yy83:
986 yych = *++YYCURSOR;
987
988 switch (yych) {
989 case 'A':
990 case 'a':
991 goto yy84;
992
993 default:
994 goto yy52;
995 }
996
997 yy84:
998 yych = *++YYCURSOR;
999
1000 switch (yych) {
1001 case 'T':
1002 case 't':
1003 goto yy85;
1004
1005 default:
1006 goto yy52;
1007 }
1008
1009 yy85:
1010 yych = *++YYCURSOR;
1011
1012 switch (yych) {
1013 case 'A':
1014 case 'a':
1015 goto yy86;
1016
1017 default:
1018 goto yy52;
1019 }
1020
1021 yy86:
1022 yych = *++YYCURSOR;
1023
1024 switch (yych) {
1025 case '&':
1026 goto yy87;
1027
1028 default:
1029 goto yy52;
1030 }
1031
1032 yy87:
1033 yych = *++YYCURSOR;
1034
1035 switch (yych) {
1036 case 'L':
1037 case 'l':
1038 goto yy88;
1039
1040 default:
1041 goto yy52;
1042 }
1043
1044 yy88:
1045 yych = *++YYCURSOR;
1046
1047 switch (yych) {
1048 case 'T':
1049 case 't':
1050 goto yy89;
1051
1052 default:
1053 goto yy52;
1054 }
1055
1056 yy89:
1057 yych = *++YYCURSOR;
1058
1059 switch (yych) {
1060 case ';':
1061 goto yy90;
1062
1063 default:
1064 goto yy52;
1065 }
1066
1067 yy90:
1068 yych = *++YYCURSOR;
1069
1070 switch (yych) {
1071 case '&':
1072 goto yy91;
1073
1074 default:
1075 goto yy52;
1076 }
1077
1078 yy91:
1079 yych = *++YYCURSOR;
1080
1081 switch (yych) {
1082 case 'L':
1083 case 'l':
1084 goto yy92;
1085
1086 default:
1087 goto yy52;
1088 }
1089
1090 yy92:
1091 yych = *++YYCURSOR;
1092
1093 switch (yych) {
1094 case 'T':
1095 case 't':
1096 goto yy93;
1097
1098 default:
1099 goto yy52;
1100 }
1101
1102 yy93:
1103 yych = *++YYCURSOR;
1104
1105 switch (yych) {
1106 case ';':
1107 goto yy94;
1108
1109 default:
1110 goto yy52;
1111 }
1112
1113 yy94:
1114 yych = *++YYCURSOR;
1115
1116 switch (yych) {
1117 case '"':
1118 goto yy95;
1119
1120 default:
1121 goto yy52;
1122 }
1123
1124 yy95:
1125 ++YYCURSOR;
1126 yych = *YYCURSOR;
1127
1128 switch (yych) {
1129 case 0x00:
1130 goto yy9;
1131
1132 case '\t':
1133 case '\n':
1134 case ' ':
1135 goto yy95;
1136
1137 case '\r':
1138 goto yy99;
1139
1140 case '/':
1141 goto yy53;
1142
1143 case '>':
1144 goto yy97;
1145
1146 default:
1147 goto yy51;
1148 }
1149
1150 yy97:
1151 ++YYCURSOR;
1152 {
1153 return OPML_OUTLINE_METADATA;
1154 }
1155 yy99:
1156 ++YYCURSOR;
1157 yych = *YYCURSOR;
1158
1159 switch (yych) {
1160 case 0x00:
1161 goto yy9;
1162
1163 case '\t':
1164 case '\n':
1165 case ' ':
1166 goto yy95;
1167
1168 case '\r':
1169 goto yy99;
1170
1171 case '/':
1172 goto yy53;
1173
1174 case '>':
1175 goto yy97;
1176
1177 default:
1178 goto yy51;
1179 }
1180
1181 yy101:
1182 yych = *++YYCURSOR;
1183
1184 switch (yych) {
1185 case 'E':
1186 case 'e':
1187 goto yy102;
1188
1189 default:
1190 goto yy52;
1191 }
1192
1193 yy102:
1194 yych = *++YYCURSOR;
1195
1196 switch (yych) {
1197 case 'A':
1198 case 'a':
1199 goto yy103;
1200
1201 default:
1202 goto yy52;
1203 }
1204
1205 yy103:
1206 yych = *++YYCURSOR;
1207
1208 switch (yych) {
1209 case 'M':
1210 case 'm':
1211 goto yy104;
1212
1213 default:
1214 goto yy52;
1215 }
1216
1217 yy104:
1218 yych = *++YYCURSOR;
1219
1220 switch (yych) {
1221 case 'B':
1222 case 'b':
1223 goto yy105;
1224
1225 default:
1226 goto yy52;
1227 }
1228
1229 yy105:
1230 yych = *++YYCURSOR;
1231
1232 switch (yych) {
1233 case 'L':
1234 case 'l':
1235 goto yy106;
1236
1237 default:
1238 goto yy52;
1239 }
1240
1241 yy106:
1242 yych = *++YYCURSOR;
1243
1244 switch (yych) {
1245 case 'E':
1246 case 'e':
1247 goto yy107;
1248
1249 default:
1250 goto yy52;
1251 }
1252
1253 yy107:
1254 yych = *++YYCURSOR;
1255
1256 switch (yych) {
1257 case '&':
1258 goto yy108;
1259
1260 default:
1261 goto yy52;
1262 }
1263
1264 yy108:
1265 yych = *++YYCURSOR;
1266
1267 switch (yych) {
1268 case 'L':
1269 case 'l':
1270 goto yy109;
1271
1272 default:
1273 goto yy52;
1274 }
1275
1276 yy109:
1277 yych = *++YYCURSOR;
1278
1279 switch (yych) {
1280 case 'T':
1281 case 't':
1282 goto yy110;
1283
1284 default:
1285 goto yy52;
1286 }
1287
1288 yy110:
1289 yych = *++YYCURSOR;
1290
1291 switch (yych) {
1292 case ';':
1293 goto yy111;
1294
1295 default:
1296 goto yy52;
1297 }
1298
1299 yy111:
1300 yych = *++YYCURSOR;
1301
1302 switch (yych) {
1303 case '&':
1304 goto yy112;
1305
1306 default:
1307 goto yy52;
1308 }
1309
1310 yy112:
1311 yych = *++YYCURSOR;
1312
1313 switch (yych) {
1314 case 'L':
1315 case 'l':
1316 goto yy113;
1317
1318 default:
1319 goto yy52;
1320 }
1321
1322 yy113:
1323 yych = *++YYCURSOR;
1324
1325 switch (yych) {
1326 case 'T':
1327 case 't':
1328 goto yy114;
1329
1330 default:
1331 goto yy52;
1332 }
1333
1334 yy114:
1335 yych = *++YYCURSOR;
1336
1337 switch (yych) {
1338 case ';':
1339 goto yy115;
1340
1341 default:
1342 goto yy52;
1343 }
1344
1345 yy115:
1346 yych = *++YYCURSOR;
1347
1348 switch (yych) {
1349 case '"':
1350 goto yy116;
1351
1352 default:
1353 goto yy52;
1354 }
1355
1356 yy116:
1357 ++YYCURSOR;
1358 yych = *YYCURSOR;
1359
1360 switch (yych) {
1361 case 0x00:
1362 goto yy9;
1363
1364 case '\t':
1365 case '\n':
1366 case ' ':
1367 goto yy116;
1368
1369 case '\r':
1370 goto yy118;
1371
1372 case '/':
1373 goto yy53;
1374
1375 case '>':
1376 goto yy55;
1377
1378 case '_':
1379 goto yy120;
1380
1381 default:
1382 goto yy51;
1383 }
1384
1385 yy118:
1386 ++YYCURSOR;
1387 yych = *YYCURSOR;
1388
1389 switch (yych) {
1390 case 0x00:
1391 goto yy9;
1392
1393 case '\t':
1394 case '\n':
1395 case ' ':
1396 goto yy116;
1397
1398 case '\r':
1399 goto yy118;
1400
1401 case '/':
1402 goto yy53;
1403
1404 case '>':
1405 goto yy55;
1406
1407 case '_':
1408 goto yy120;
1409
1410 default:
1411 goto yy51;
1412 }
1413
1414 yy120:
1415 yych = *++YYCURSOR;
1416
1417 switch (yych) {
1418 case 'N':
1419 case 'n':
1420 goto yy121;
1421
1422 default:
1423 goto yy52;
1424 }
1425
1426 yy121:
1427 yych = *++YYCURSOR;
1428
1429 switch (yych) {
1430 case 'O':
1431 case 'o':
1432 goto yy122;
1433
1434 default:
1435 goto yy52;
1436 }
1437
1438 yy122:
1439 yych = *++YYCURSOR;
1440
1441 switch (yych) {
1442 case 'T':
1443 case 't':
1444 goto yy123;
1445
1446 default:
1447 goto yy52;
1448 }
1449
1450 yy123:
1451 yych = *++YYCURSOR;
1452
1453 switch (yych) {
1454 case 'E':
1455 case 'e':
1456 goto yy124;
1457
1458 default:
1459 goto yy52;
1460 }
1461
1462 yy124:
1463 ++YYCURSOR;
1464 yych = *YYCURSOR;
1465
1466 switch (yych) {
1467 case 0x00:
1468 goto yy9;
1469
1470 case '\t':
1471 case '\n':
1472 case ' ':
1473 goto yy124;
1474
1475 case '\r':
1476 goto yy126;
1477
1478 case '/':
1479 goto yy53;
1480
1481 case '=':
1482 goto yy128;
1483
1484 case '>':
1485 goto yy55;
1486
1487 default:
1488 goto yy51;
1489 }
1490
1491 yy126:
1492 ++YYCURSOR;
1493 yych = *YYCURSOR;
1494
1495 switch (yych) {
1496 case 0x00:
1497 goto yy9;
1498
1499 case '\t':
1500 case '\n':
1501 case ' ':
1502 goto yy124;
1503
1504 case '\r':
1505 goto yy126;
1506
1507 case '/':
1508 goto yy53;
1509
1510 case '=':
1511 goto yy128;
1512
1513 case '>':
1514 goto yy55;
1515
1516 default:
1517 goto yy51;
1518 }
1519
1520 yy128:
1521 ++YYCURSOR;
1522 yych = *YYCURSOR;
1523
1524 switch (yych) {
1525 case 0x00:
1526 goto yy9;
1527
1528 case '\t':
1529 case '\n':
1530 case ' ':
1531 goto yy128;
1532
1533 case '\r':
1534 goto yy130;
1535
1536 case '"':
1537 goto yy132;
1538
1539 case '/':
1540 goto yy53;
1541
1542 case '>':
1543 goto yy55;
1544
1545 default:
1546 goto yy51;
1547 }
1548
1549 yy130:
1550 ++YYCURSOR;
1551 yych = *YYCURSOR;
1552
1553 switch (yych) {
1554 case 0x00:
1555 goto yy9;
1556
1557 case '\t':
1558 case '\n':
1559 case ' ':
1560 goto yy128;
1561
1562 case '\r':
1563 goto yy130;
1564
1565 case '"':
1566 goto yy132;
1567
1568 case '/':
1569 goto yy53;
1570
1571 case '>':
1572 goto yy55;
1573
1574 default:
1575 goto yy51;
1576 }
1577
1578 yy132:
1579 ++YYCURSOR;
1580 yych = *YYCURSOR;
1581
1582 switch (yych) {
1583 case 0x00:
1584 goto yy9;
1585
1586 case '"':
1587 goto yy137;
1588
1589 case '/':
1590 goto yy134;
1591
1592 case '>':
1593 goto yy136;
1594
1595 default:
1596 goto yy132;
1597 }
1598
1599 yy134:
1600 ++YYCURSOR;
1601 yych = *YYCURSOR;
1602
1603 switch (yych) {
1604 case 0x00:
1605 goto yy9;
1606
1607 case '"':
1608 goto yy137;
1609
1610 case '/':
1611 goto yy134;
1612
1613 case '>':
1614 goto yy150;
1615
1616 default:
1617 goto yy132;
1618 }
1619
1620 yy136:
1621 yyaccept = 1;
1622 yych = *(YYMARKER = ++YYCURSOR);
1623
1624 if (yych <= 0x00) {
1625 goto yy56;
1626 }
1627
1628 goto yy146;
1629 yy137:
1630 ++YYCURSOR;
1631 yych = *YYCURSOR;
1632
1633 switch (yych) {
1634 case 0x00:
1635 goto yy9;
1636
1637 case '\t':
1638 case '\n':
1639 case ' ':
1640 goto yy137;
1641
1642 case '\r':
1643 goto yy141;
1644
1645 case '/':
1646 goto yy53;
1647
1648 case '>':
1649 goto yy139;
1650
1651 default:
1652 goto yy51;
1653 }
1654
1655 yy139:
1656 ++YYCURSOR;
1657 yy140: {
1658 return OPML_OUTLINE_PREAMBLE;
1659 }
1660 yy141:
1661 ++YYCURSOR;
1662 yych = *YYCURSOR;
1663
1664 switch (yych) {
1665 case 0x00:
1666 goto yy9;
1667
1668 case '\t':
1669 case '\n':
1670 case ' ':
1671 goto yy137;
1672
1673 case '\r':
1674 goto yy141;
1675
1676 case '/':
1677 goto yy53;
1678
1679 case '>':
1680 goto yy139;
1681
1682 default:
1683 goto yy51;
1684 }
1685
1686 yy143:
1687 ++YYCURSOR;
1688 yych = *YYCURSOR;
1689
1690 switch (yych) {
1691 case '\t':
1692 case '\n':
1693 case ' ':
1694 goto yy143;
1695
1696 case '\r':
1697 goto yy147;
1698
1699 case '>':
1700 goto yy149;
1701
1702 default:
1703 goto yy9;
1704 }
1705
1706 yy145:
1707 ++YYCURSOR;
1708 yych = *YYCURSOR;
1709 yy146:
1710
1711 switch (yych) {
1712 case 0x00:
1713 goto yy9;
1714
1715 case '"':
1716 goto yy143;
1717
1718 default:
1719 goto yy145;
1720 }
1721
1722 yy147:
1723 ++YYCURSOR;
1724 yych = *YYCURSOR;
1725
1726 switch (yych) {
1727 case '\t':
1728 case '\n':
1729 case ' ':
1730 goto yy143;
1731
1732 case '\r':
1733 goto yy147;
1734
1735 case '>':
1736 goto yy149;
1737
1738 default:
1739 goto yy9;
1740 }
1741
1742 yy149:
1743 yych = *++YYCURSOR;
1744 goto yy140;
1745 yy150:
1746 yyaccept = 2;
1747 yych = *(YYMARKER = ++YYCURSOR);
1748
1749 if (yych <= 0x00) {
1750 goto yy58;
1751 }
1752
1753 goto yy146;
1754 yy151:
1755 yych = *++YYCURSOR;
1756
1757 switch (yych) {
1758 case 'L':
1759 case 'l':
1760 goto yy152;
1761
1762 default:
1763 goto yy9;
1764 }
1765
1766 yy152:
1767 ++YYCURSOR;
1768 yych = *YYCURSOR;
1769
1770 switch (yych) {
1771 case 0x00:
1772 goto yy9;
1773
1774 case '>':
1775 goto yy154;
1776
1777 default:
1778 goto yy152;
1779 }
1780
1781 yy154:
1782 ++YYCURSOR;
1783 {
1784 return OPML_OPML_OPEN;
1785 }
1786 yy156:
1787 yych = *++YYCURSOR;
1788
1789 switch (yych) {
1790 case 'P':
1791 case 'p':
1792 goto yy177;
1793
1794 case 'U':
1795 case 'u':
1796 goto yy176;
1797
1798 default:
1799 goto yy9;
1800 }
1801
1802 yy157:
1803 yych = *++YYCURSOR;
1804
1805 switch (yych) {
1806 case 'E':
1807 case 'e':
1808 goto yy171;
1809
1810 default:
1811 goto yy9;
1812 }
1813
1814 yy158:
1815 yych = *++YYCURSOR;
1816
1817 switch (yych) {
1818 case 'I':
1819 case 'i':
1820 goto yy165;
1821
1822 default:
1823 goto yy9;
1824 }
1825
1826 yy159:
1827 yych = *++YYCURSOR;
1828
1829 switch (yych) {
1830 case 'O':
1831 case 'o':
1832 goto yy160;
1833
1834 default:
1835 goto yy9;
1836 }
1837
1838 yy160:
1839 yych = *++YYCURSOR;
1840
1841 switch (yych) {
1842 case 'D':
1843 case 'd':
1844 goto yy161;
1845
1846 default:
1847 goto yy9;
1848 }
1849
1850 yy161:
1851 yych = *++YYCURSOR;
1852
1853 switch (yych) {
1854 case 'Y':
1855 case 'y':
1856 goto yy162;
1857
1858 default:
1859 goto yy9;
1860 }
1861
1862 yy162:
1863 yych = *++YYCURSOR;
1864
1865 switch (yych) {
1866 case '>':
1867 goto yy163;
1868
1869 default:
1870 goto yy9;
1871 }
1872
1873 yy163:
1874 ++YYCURSOR;
1875 {
1876 return OPML_BODY_CLOSE;
1877 }
1878 yy165:
1879 yych = *++YYCURSOR;
1880
1881 switch (yych) {
1882 case 'T':
1883 case 't':
1884 goto yy166;
1885
1886 default:
1887 goto yy9;
1888 }
1889
1890 yy166:
1891 yych = *++YYCURSOR;
1892
1893 switch (yych) {
1894 case 'L':
1895 case 'l':
1896 goto yy167;
1897
1898 default:
1899 goto yy9;
1900 }
1901
1902 yy167:
1903 yych = *++YYCURSOR;
1904
1905 switch (yych) {
1906 case 'E':
1907 case 'e':
1908 goto yy168;
1909
1910 default:
1911 goto yy9;
1912 }
1913
1914 yy168:
1915 yych = *++YYCURSOR;
1916
1917 switch (yych) {
1918 case '>':
1919 goto yy169;
1920
1921 default:
1922 goto yy9;
1923 }
1924
1925 yy169:
1926 ++YYCURSOR;
1927 {
1928 return OPML_TITLE_CLOSE;
1929 }
1930 yy171:
1931 yych = *++YYCURSOR;
1932
1933 switch (yych) {
1934 case 'A':
1935 case 'a':
1936 goto yy172;
1937
1938 default:
1939 goto yy9;
1940 }
1941
1942 yy172:
1943 yych = *++YYCURSOR;
1944
1945 switch (yych) {
1946 case 'D':
1947 case 'd':
1948 goto yy173;
1949
1950 default:
1951 goto yy9;
1952 }
1953
1954 yy173:
1955 yych = *++YYCURSOR;
1956
1957 switch (yych) {
1958 case '>':
1959 goto yy174;
1960
1961 default:
1962 goto yy9;
1963 }
1964
1965 yy174:
1966 ++YYCURSOR;
1967 {
1968 return OPML_HEAD_CLOSE;
1969 }
1970 yy176:
1971 yych = *++YYCURSOR;
1972
1973 switch (yych) {
1974 case 'T':
1975 case 't':
1976 goto yy182;
1977
1978 default:
1979 goto yy9;
1980 }
1981
1982 yy177:
1983 yych = *++YYCURSOR;
1984
1985 switch (yych) {
1986 case 'M':
1987 case 'm':
1988 goto yy178;
1989
1990 default:
1991 goto yy9;
1992 }
1993
1994 yy178:
1995 yych = *++YYCURSOR;
1996
1997 switch (yych) {
1998 case 'L':
1999 case 'l':
2000 goto yy179;
2001
2002 default:
2003 goto yy9;
2004 }
2005
2006 yy179:
2007 yych = *++YYCURSOR;
2008
2009 switch (yych) {
2010 case '>':
2011 goto yy180;
2012
2013 default:
2014 goto yy9;
2015 }
2016
2017 yy180:
2018 ++YYCURSOR;
2019 {
2020 return OPML_OPML_CLOSE;
2021 }
2022 yy182:
2023 yych = *++YYCURSOR;
2024
2025 switch (yych) {
2026 case 'L':
2027 case 'l':
2028 goto yy183;
2029
2030 default:
2031 goto yy9;
2032 }
2033
2034 yy183:
2035 yych = *++YYCURSOR;
2036
2037 switch (yych) {
2038 case 'I':
2039 case 'i':
2040 goto yy184;
2041
2042 default:
2043 goto yy9;
2044 }
2045
2046 yy184:
2047 yych = *++YYCURSOR;
2048
2049 switch (yych) {
2050 case 'N':
2051 case 'n':
2052 goto yy185;
2053
2054 default:
2055 goto yy9;
2056 }
2057
2058 yy185:
2059 yych = *++YYCURSOR;
2060
2061 switch (yych) {
2062 case 'E':
2063 case 'e':
2064 goto yy186;
2065
2066 default:
2067 goto yy9;
2068 }
2069
2070 yy186:
2071 yych = *++YYCURSOR;
2072
2073 switch (yych) {
2074 case '>':
2075 goto yy187;
2076
2077 default:
2078 goto yy9;
2079 }
2080
2081 yy187:
2082 ++YYCURSOR;
2083 {
2084 return OPML_OUTLINE_CLOSE;
2085 }
2086 yy189:
2087 ++YYCURSOR;
2088 yych = *YYCURSOR;
2089 yy190:
2090
2091 switch (yych) {
2092 case '\t':
2093 case '\n':
2094 case ' ':
2095 goto yy189;
2096
2097 case '\r':
2098 goto yy191;
2099
2100 default:
2101 goto yy5;
2102 }
2103
2104 yy191:
2105 ++YYCURSOR;
2106 yych = *YYCURSOR;
2107
2108 switch (yych) {
2109 case '\t':
2110 case '\n':
2111 case ' ':
2112 goto yy189;
2113
2114 case '\r':
2115 goto yy191;
2116
2117 default:
2118 goto yy5;
2119 }
2120 }
2121
2122 }
2123