rmultimarkdown 6.2.2.1 → 6.4.0.1

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