trenni 2.0.1 → 2.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +3 -0
- data/README.md +30 -0
- data/Rakefile +1 -1
- data/ext/trenni/markup.c +186 -240
- data/ext/trenni/markup.rl +8 -10
- data/ext/trenni/trenni.c +3 -27
- data/ext/trenni/trenni.h +28 -4
- data/lib/trenni/fallback/markup.rb +244 -257
- data/lib/trenni/fallback/markup.rl +8 -8
- data/lib/trenni/markup.rb +2 -0
- data/lib/trenni/version.rb +1 -1
- data/parsers/trenni/markup.rl +5 -5
- data/spec/trenni/parsers_performance_spec.rb +14 -1
- metadata +2 -2
data/ext/trenni/markup.rl
CHANGED
@@ -22,6 +22,13 @@
|
|
22
22
|
action pcdata_end {
|
23
23
|
}
|
24
24
|
|
25
|
+
action text_begin {
|
26
|
+
}
|
27
|
+
|
28
|
+
action text_end {
|
29
|
+
rb_funcall(delegate, id_text, 1, pcdata);
|
30
|
+
}
|
31
|
+
|
25
32
|
action characters_begin {
|
26
33
|
characters.begin = p;
|
27
34
|
}
|
@@ -44,7 +51,7 @@
|
|
44
51
|
entity.end = p;
|
45
52
|
|
46
53
|
Trenni_append_string(&pcdata, encoding,
|
47
|
-
rb_funcall(entities,
|
54
|
+
rb_funcall(entities, id_key_get, 1, Trenni_token(entity, encoding))
|
48
55
|
);
|
49
56
|
}
|
50
57
|
|
@@ -177,15 +184,6 @@
|
|
177
184
|
Trenni_raise_error("could not parse cdata", buffer, p-s);
|
178
185
|
}
|
179
186
|
|
180
|
-
action text_begin {
|
181
|
-
|
182
|
-
}
|
183
|
-
|
184
|
-
action text_end {
|
185
|
-
// Entities are handled separately:
|
186
|
-
rb_funcall(delegate, id_text, 1, pcdata);
|
187
|
-
}
|
188
|
-
|
189
187
|
include markup "trenni/markup.rl";
|
190
188
|
|
191
189
|
write data;
|
data/ext/trenni/trenni.c
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
#include "template.h"
|
6
6
|
|
7
7
|
VALUE rb_Trenni = Qnil, rb_Trenni_Native = Qnil, rb_Trenni_ParseError = Qnil;
|
8
|
-
ID id_cdata, id_open_tag_begin, id_open_tag_end, id_attribute, id_close_tag, id_text, id_doctype, id_comment, id_instruction, id_read, id_expression;
|
8
|
+
ID id_cdata, id_open_tag_begin, id_open_tag_end, id_attribute, id_close_tag, id_text, id_doctype, id_comment, id_instruction, id_read, id_expression, id_key_get;
|
9
9
|
|
10
10
|
void Trenni_raise_error(const char * message, VALUE buffer, size_t offset) {
|
11
11
|
VALUE exception = rb_funcall(rb_Trenni_ParseError, rb_intern("new"), 3, rb_str_new_cstr(message), buffer, ULONG2NUM(offset));
|
@@ -13,32 +13,6 @@ void Trenni_raise_error(const char * message, VALUE buffer, size_t offset) {
|
|
13
13
|
rb_exc_raise(exception);
|
14
14
|
}
|
15
15
|
|
16
|
-
void Trenni_append_string(VALUE * buffer, rb_encoding * encoding, VALUE string) {
|
17
|
-
if (*buffer == Qnil) {
|
18
|
-
*buffer = rb_enc_str_new("", 0, encoding);
|
19
|
-
}
|
20
|
-
|
21
|
-
rb_str_concat(*buffer, string);
|
22
|
-
}
|
23
|
-
|
24
|
-
void Trenni_append_token(VALUE * buffer, rb_encoding * encoding, Token token) {
|
25
|
-
if (*buffer == Qnil) {
|
26
|
-
// Allocate a buffer exactly the right size:
|
27
|
-
*buffer = rb_enc_str_new(token.begin, token.end - token.begin, encoding);
|
28
|
-
} else {
|
29
|
-
// Append the characters to the existing buffer:
|
30
|
-
rb_str_buf_cat(*buffer, token.begin, token.end - token.begin);
|
31
|
-
}
|
32
|
-
}
|
33
|
-
|
34
|
-
void Trenni_append_codepoint(VALUE * buffer, rb_encoding * encoding, unsigned long codepoint) {
|
35
|
-
if (*buffer == Qnil) {
|
36
|
-
*buffer = rb_enc_str_new("", 0, encoding);
|
37
|
-
}
|
38
|
-
|
39
|
-
rb_str_concat(*buffer, ULONG2NUM(codepoint));
|
40
|
-
}
|
41
|
-
|
42
16
|
void Init_trenni() {
|
43
17
|
id_open_tag_begin = rb_intern("open_tag_begin");
|
44
18
|
id_open_tag_end = rb_intern("open_tag_end");
|
@@ -54,6 +28,8 @@ void Init_trenni() {
|
|
54
28
|
|
55
29
|
id_read = rb_intern("read");
|
56
30
|
|
31
|
+
id_key_get = rb_intern("[]");
|
32
|
+
|
57
33
|
rb_Trenni = rb_define_module("Trenni");
|
58
34
|
rb_Trenni_Native = rb_define_module_under(rb_Trenni, "Native");
|
59
35
|
|
data/ext/trenni/trenni.h
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
extern VALUE rb_Trenni, rb_Trenni_Native, rb_Trenni_ParseError;
|
8
8
|
|
9
|
-
extern ID id_cdata, id_open_tag_begin, id_open_tag_end, id_attribute, id_close_tag, id_text, id_doctype, id_comment, id_instruction, id_read, id_expression;
|
9
|
+
extern ID id_cdata, id_open_tag_begin, id_open_tag_end, id_attribute, id_close_tag, id_text, id_doctype, id_comment, id_instruction, id_read, id_expression, id_key_get;
|
10
10
|
|
11
11
|
typedef struct {
|
12
12
|
const char * begin;
|
@@ -23,6 +23,30 @@ static inline VALUE Trenni_string(const char * begin, const char * end, rb_encod
|
|
23
23
|
|
24
24
|
void Trenni_raise_error(const char * message, VALUE buffer, size_t offset);
|
25
25
|
|
26
|
-
void Trenni_append_string(VALUE * buffer, rb_encoding * encoding, VALUE string)
|
27
|
-
|
28
|
-
|
26
|
+
static inline void Trenni_append_string(VALUE * buffer, rb_encoding * encoding, VALUE string) {
|
27
|
+
if (*buffer == Qnil) {
|
28
|
+
*buffer = rb_enc_str_new("", 0, encoding);
|
29
|
+
}
|
30
|
+
|
31
|
+
rb_str_concat(*buffer, string);
|
32
|
+
}
|
33
|
+
|
34
|
+
static inline void Trenni_append_token(VALUE * buffer, rb_encoding * encoding, Token token) {
|
35
|
+
// printf("append_token(%ul bytes)\n", token.end - token.begin);
|
36
|
+
|
37
|
+
if (*buffer == Qnil) {
|
38
|
+
// Allocate a buffer exactly the right size:
|
39
|
+
*buffer = rb_enc_str_new(token.begin, token.end - token.begin, encoding);
|
40
|
+
} else {
|
41
|
+
// Append the characters to the existing buffer:
|
42
|
+
rb_str_buf_cat(*buffer, token.begin, token.end - token.begin);
|
43
|
+
}
|
44
|
+
}
|
45
|
+
|
46
|
+
static inline void Trenni_append_codepoint(VALUE * buffer, rb_encoding * encoding, unsigned long codepoint) {
|
47
|
+
if (*buffer == Qnil) {
|
48
|
+
*buffer = rb_enc_str_new("", 0, encoding);
|
49
|
+
}
|
50
|
+
|
51
|
+
rb_str_concat(*buffer, ULONG2NUM(codepoint));
|
52
|
+
}
|
@@ -379,19 +379,19 @@ end
|
|
379
379
|
self._markup_trans_actions = [
|
380
380
|
2, 1, 0, 0, 0, 0, 3, 4,
|
381
381
|
3, 5, 0, 6, 0, 0, 7, 8,
|
382
|
-
9, 7, 0, 0, 10, 0, 11,
|
383
|
-
13, 14, 15,
|
384
|
-
|
385
|
-
|
382
|
+
9, 7, 0, 0, 10, 0, 11, 0,
|
383
|
+
12, 13, 14, 15, 14, 16, 17, 18,
|
384
|
+
19, 20, 19, 10, 11, 0, 13, 16,
|
385
|
+
18, 0, 0, 0, 0, 0, 0, 0,
|
386
386
|
0, 0, 0, 0, 0, 0, 0, 0,
|
387
387
|
0, 0, 0, 0, 0, 0, 0, 0,
|
388
|
-
0, 2, 0, 9, 2,
|
389
|
-
0,
|
390
|
-
0,
|
391
|
-
|
392
|
-
41, 42,
|
393
|
-
|
394
|
-
|
388
|
+
0, 2, 0, 9, 2, 24, 0, 25,
|
389
|
+
0, 26, 0, 27, 0, 28, 28, 0,
|
390
|
+
0, 29, 28, 0, 30, 0, 31, 32,
|
391
|
+
33, 34, 0, 13, 36, 16, 18, 38,
|
392
|
+
40, 41, 42, 44, 45, 46, 48, 49,
|
393
|
+
50, 52, 53, 54, 56, 57, 58, 60,
|
394
|
+
61, 62
|
395
395
|
]
|
396
396
|
|
397
397
|
class << self
|
@@ -401,12 +401,12 @@ end
|
|
401
401
|
self._markup_eof_actions = [
|
402
402
|
0, 1, 1, 1, 1, 1, 1, 1,
|
403
403
|
1, 1, 1, 1, 1, 1, 1, 0,
|
404
|
-
0,
|
405
|
-
0, 0,
|
406
|
-
0,
|
407
|
-
|
408
|
-
0,
|
409
|
-
|
404
|
+
0, 21, 21, 21, 0, 0, 0, 0,
|
405
|
+
0, 0, 22, 0, 0, 0, 0, 0,
|
406
|
+
0, 23, 23, 23, 1, 1, 24, 24,
|
407
|
+
24, 24, 27, 27, 27, 27, 27, 27,
|
408
|
+
0, 35, 37, 39, 43, 47, 51, 55,
|
409
|
+
59, 0
|
410
410
|
]
|
411
411
|
|
412
412
|
class << self
|
@@ -513,53 +513,53 @@ begin
|
|
513
513
|
|
514
514
|
identifier_end = p
|
515
515
|
end
|
516
|
-
when
|
516
|
+
when 17 then
|
517
517
|
# line 36 "markup.rl"
|
518
518
|
begin
|
519
519
|
|
520
520
|
end
|
521
|
-
when
|
522
|
-
# line
|
521
|
+
when 16 then
|
522
|
+
# line 46 "markup.rl"
|
523
523
|
begin
|
524
524
|
|
525
525
|
characters_begin = p
|
526
526
|
end
|
527
|
-
when
|
528
|
-
# line
|
527
|
+
when 27 then
|
528
|
+
# line 56 "markup.rl"
|
529
529
|
begin
|
530
530
|
|
531
531
|
raise ParseError.new("could not parse entity", buffer, p)
|
532
532
|
end
|
533
|
-
when
|
534
|
-
# line
|
533
|
+
when 28 then
|
534
|
+
# line 60 "markup.rl"
|
535
535
|
begin
|
536
536
|
|
537
537
|
entity_begin = p
|
538
538
|
end
|
539
|
-
when
|
540
|
-
# line
|
539
|
+
when 26 then
|
540
|
+
# line 119 "markup.rl"
|
541
541
|
begin
|
542
542
|
|
543
543
|
end
|
544
|
-
when
|
545
|
-
# line
|
544
|
+
when 24 then
|
545
|
+
# line 126 "markup.rl"
|
546
546
|
begin
|
547
547
|
|
548
548
|
raise ParseError.new("could not parse instruction", buffer, p)
|
549
549
|
end
|
550
550
|
when 6 then
|
551
|
-
# line
|
551
|
+
# line 139 "markup.rl"
|
552
552
|
begin
|
553
553
|
|
554
554
|
self_closing = true
|
555
555
|
end
|
556
556
|
when 1 then
|
557
|
-
# line
|
557
|
+
# line 177 "markup.rl"
|
558
558
|
begin
|
559
559
|
|
560
560
|
raise ParseError.new("could not parse tag", buffer, p)
|
561
561
|
end
|
562
|
-
when
|
562
|
+
when 18 then
|
563
563
|
# line 10 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
|
564
564
|
begin
|
565
565
|
begin
|
@@ -570,13 +570,13 @@ begin
|
|
570
570
|
next
|
571
571
|
end
|
572
572
|
end
|
573
|
-
when
|
573
|
+
when 25 then
|
574
574
|
# line 28 "markup.rl"
|
575
575
|
begin
|
576
576
|
|
577
577
|
identifier_end = p
|
578
578
|
end
|
579
|
-
# line
|
579
|
+
# line 116 "markup.rl"
|
580
580
|
begin
|
581
581
|
|
582
582
|
end
|
@@ -586,7 +586,7 @@ begin
|
|
586
586
|
|
587
587
|
identifier_end = p
|
588
588
|
end
|
589
|
-
# line
|
589
|
+
# line 130 "markup.rl"
|
590
590
|
begin
|
591
591
|
|
592
592
|
self_closing = false
|
@@ -599,7 +599,7 @@ begin
|
|
599
599
|
|
600
600
|
identifier_end = p
|
601
601
|
end
|
602
|
-
# line
|
602
|
+
# line 156 "markup.rl"
|
603
603
|
begin
|
604
604
|
|
605
605
|
if has_value
|
@@ -616,7 +616,7 @@ begin
|
|
616
616
|
|
617
617
|
pcdata = ""
|
618
618
|
end
|
619
|
-
# line
|
619
|
+
# line 46 "markup.rl"
|
620
620
|
begin
|
621
621
|
|
622
622
|
characters_begin = p
|
@@ -637,33 +637,20 @@ begin
|
|
637
637
|
next
|
638
638
|
end
|
639
639
|
end
|
640
|
-
when 13 then
|
641
|
-
# line 43 "markup.rl"
|
642
|
-
begin
|
643
|
-
|
644
|
-
characters_end = p
|
645
|
-
|
646
|
-
pcdata << data.byteslice(characters_begin...characters_end)
|
647
|
-
end
|
648
|
-
# line 36 "markup.rl"
|
649
|
-
begin
|
650
|
-
|
651
|
-
end
|
652
640
|
when 12 then
|
653
|
-
# line
|
641
|
+
# line 50 "markup.rl"
|
654
642
|
begin
|
655
643
|
|
656
644
|
characters_end = p
|
657
645
|
|
658
646
|
pcdata << data.byteslice(characters_begin...characters_end)
|
659
647
|
end
|
660
|
-
# line
|
648
|
+
# line 36 "markup.rl"
|
661
649
|
begin
|
662
650
|
|
663
|
-
characters_begin = p
|
664
651
|
end
|
665
|
-
when
|
666
|
-
# line
|
652
|
+
when 13 then
|
653
|
+
# line 50 "markup.rl"
|
667
654
|
begin
|
668
655
|
|
669
656
|
characters_end = p
|
@@ -680,8 +667,8 @@ begin
|
|
680
667
|
next
|
681
668
|
end
|
682
669
|
end
|
683
|
-
when
|
684
|
-
# line
|
670
|
+
when 31 then
|
671
|
+
# line 64 "markup.rl"
|
685
672
|
begin
|
686
673
|
|
687
674
|
entity_end = p
|
@@ -699,8 +686,8 @@ begin
|
|
699
686
|
next
|
700
687
|
end
|
701
688
|
end
|
702
|
-
when
|
703
|
-
# line
|
689
|
+
when 30 then
|
690
|
+
# line 72 "markup.rl"
|
704
691
|
begin
|
705
692
|
|
706
693
|
entity_end = p
|
@@ -716,8 +703,8 @@ begin
|
|
716
703
|
next
|
717
704
|
end
|
718
705
|
end
|
719
|
-
when
|
720
|
-
# line
|
706
|
+
when 29 then
|
707
|
+
# line 78 "markup.rl"
|
721
708
|
begin
|
722
709
|
|
723
710
|
entity_end = p
|
@@ -734,7 +721,7 @@ begin
|
|
734
721
|
end
|
735
722
|
end
|
736
723
|
when 5 then
|
737
|
-
# line
|
724
|
+
# line 143 "markup.rl"
|
738
725
|
begin
|
739
726
|
|
740
727
|
has_value = false
|
@@ -745,13 +732,13 @@ begin
|
|
745
732
|
|
746
733
|
identifier_begin = p
|
747
734
|
end
|
748
|
-
when
|
749
|
-
# line
|
735
|
+
when 14 then
|
736
|
+
# line 148 "markup.rl"
|
750
737
|
begin
|
751
738
|
|
752
739
|
has_value = true
|
753
740
|
end
|
754
|
-
# line
|
741
|
+
# line 156 "markup.rl"
|
755
742
|
begin
|
756
743
|
|
757
744
|
if has_value
|
@@ -762,13 +749,13 @@ begin
|
|
762
749
|
|
763
750
|
delegate.attribute(data.byteslice(identifier_begin...identifier_end), value)
|
764
751
|
end
|
765
|
-
when
|
766
|
-
# line
|
752
|
+
when 19 then
|
753
|
+
# line 152 "markup.rl"
|
767
754
|
begin
|
768
755
|
|
769
756
|
has_value = true
|
770
757
|
end
|
771
|
-
# line
|
758
|
+
# line 156 "markup.rl"
|
772
759
|
begin
|
773
760
|
|
774
761
|
if has_value
|
@@ -785,14 +772,14 @@ begin
|
|
785
772
|
|
786
773
|
identifier_end = p
|
787
774
|
end
|
788
|
-
# line
|
775
|
+
# line 130 "markup.rl"
|
789
776
|
begin
|
790
777
|
|
791
778
|
self_closing = false
|
792
779
|
|
793
780
|
delegate.open_tag_begin(data.byteslice(identifier_begin...identifier_end), identifier_begin)
|
794
781
|
end
|
795
|
-
# line
|
782
|
+
# line 139 "markup.rl"
|
796
783
|
begin
|
797
784
|
|
798
785
|
self_closing = true
|
@@ -803,7 +790,7 @@ begin
|
|
803
790
|
|
804
791
|
identifier_end = p
|
805
792
|
end
|
806
|
-
# line
|
793
|
+
# line 156 "markup.rl"
|
807
794
|
begin
|
808
795
|
|
809
796
|
if has_value
|
@@ -814,40 +801,53 @@ begin
|
|
814
801
|
|
815
802
|
delegate.attribute(data.byteslice(identifier_begin...identifier_end), value)
|
816
803
|
end
|
817
|
-
# line
|
804
|
+
# line 139 "markup.rl"
|
818
805
|
begin
|
819
806
|
|
820
807
|
self_closing = true
|
821
808
|
end
|
822
|
-
when
|
823
|
-
# line
|
809
|
+
when 32 then
|
810
|
+
# line 39 "markup.rl"
|
824
811
|
begin
|
825
812
|
|
826
|
-
has_value = true
|
827
813
|
end
|
828
|
-
# line
|
814
|
+
# line 32 "markup.rl"
|
829
815
|
begin
|
830
816
|
|
831
|
-
|
832
|
-
value = pcdata
|
833
|
-
else
|
834
|
-
value = true
|
835
|
-
end
|
836
|
-
|
837
|
-
delegate.attribute(data.byteslice(identifier_begin...identifier_end), value)
|
817
|
+
pcdata = ""
|
838
818
|
end
|
839
|
-
# line
|
819
|
+
# line 46 "markup.rl"
|
840
820
|
begin
|
841
821
|
|
842
|
-
|
822
|
+
characters_begin = p
|
843
823
|
end
|
844
|
-
when
|
845
|
-
# line
|
824
|
+
when 33 then
|
825
|
+
# line 39 "markup.rl"
|
826
|
+
begin
|
827
|
+
|
828
|
+
end
|
829
|
+
# line 32 "markup.rl"
|
830
|
+
begin
|
831
|
+
|
832
|
+
pcdata = ""
|
833
|
+
end
|
834
|
+
# line 10 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
|
835
|
+
begin
|
836
|
+
begin
|
837
|
+
stack[top] = cs
|
838
|
+
top+= 1
|
839
|
+
cs = 42
|
840
|
+
_goto_level = _again
|
841
|
+
next
|
842
|
+
end
|
843
|
+
end
|
844
|
+
when 15 then
|
845
|
+
# line 148 "markup.rl"
|
846
846
|
begin
|
847
847
|
|
848
848
|
has_value = true
|
849
849
|
end
|
850
|
-
# line
|
850
|
+
# line 156 "markup.rl"
|
851
851
|
begin
|
852
852
|
|
853
853
|
if has_value
|
@@ -858,55 +858,42 @@ begin
|
|
858
858
|
|
859
859
|
delegate.attribute(data.byteslice(identifier_begin...identifier_end), value)
|
860
860
|
end
|
861
|
-
# line
|
861
|
+
# line 139 "markup.rl"
|
862
862
|
begin
|
863
863
|
|
864
864
|
self_closing = true
|
865
865
|
end
|
866
|
-
when
|
867
|
-
# line
|
868
|
-
begin
|
869
|
-
|
870
|
-
end
|
871
|
-
# line 32 "markup.rl"
|
872
|
-
begin
|
873
|
-
|
874
|
-
pcdata = ""
|
875
|
-
end
|
876
|
-
# line 39 "markup.rl"
|
866
|
+
when 20 then
|
867
|
+
# line 152 "markup.rl"
|
877
868
|
begin
|
878
869
|
|
879
|
-
|
870
|
+
has_value = true
|
880
871
|
end
|
881
|
-
|
882
|
-
# line 188 "markup.rl"
|
872
|
+
# line 156 "markup.rl"
|
883
873
|
begin
|
884
874
|
|
875
|
+
if has_value
|
876
|
+
value = pcdata
|
877
|
+
else
|
878
|
+
value = true
|
879
|
+
end
|
880
|
+
|
881
|
+
delegate.attribute(data.byteslice(identifier_begin...identifier_end), value)
|
885
882
|
end
|
886
|
-
# line
|
883
|
+
# line 139 "markup.rl"
|
887
884
|
begin
|
888
885
|
|
889
|
-
|
886
|
+
self_closing = true
|
890
887
|
end
|
891
|
-
|
892
|
-
|
893
|
-
begin
|
894
|
-
stack[top] = cs
|
895
|
-
top+= 1
|
896
|
-
cs = 42
|
897
|
-
_goto_level = _again
|
898
|
-
next
|
899
|
-
end
|
900
|
-
end
|
901
|
-
when 49 then
|
902
|
-
# line 81 "markup.rl"
|
888
|
+
when 48 then
|
889
|
+
# line 88 "markup.rl"
|
903
890
|
begin
|
904
891
|
|
905
892
|
doctype_end = p
|
906
893
|
|
907
894
|
delegate.doctype(data.byteslice(doctype_begin...doctype_end))
|
908
895
|
end
|
909
|
-
# line
|
896
|
+
# line 39 "markup.rl"
|
910
897
|
begin
|
911
898
|
|
912
899
|
end
|
@@ -915,20 +902,20 @@ begin
|
|
915
902
|
|
916
903
|
pcdata = ""
|
917
904
|
end
|
918
|
-
# line
|
905
|
+
# line 46 "markup.rl"
|
919
906
|
begin
|
920
907
|
|
921
908
|
characters_begin = p
|
922
909
|
end
|
923
|
-
when
|
924
|
-
# line
|
910
|
+
when 49 then
|
911
|
+
# line 88 "markup.rl"
|
925
912
|
begin
|
926
913
|
|
927
914
|
doctype_end = p
|
928
915
|
|
929
916
|
delegate.doctype(data.byteslice(doctype_begin...doctype_end))
|
930
917
|
end
|
931
|
-
# line
|
918
|
+
# line 39 "markup.rl"
|
932
919
|
begin
|
933
920
|
|
934
921
|
end
|
@@ -947,15 +934,15 @@ begin
|
|
947
934
|
next
|
948
935
|
end
|
949
936
|
end
|
950
|
-
when
|
951
|
-
# line
|
937
|
+
when 44 then
|
938
|
+
# line 102 "markup.rl"
|
952
939
|
begin
|
953
940
|
|
954
941
|
comment_end = p
|
955
942
|
|
956
943
|
delegate.comment(data.byteslice(comment_begin...comment_end))
|
957
944
|
end
|
958
|
-
# line
|
945
|
+
# line 39 "markup.rl"
|
959
946
|
begin
|
960
947
|
|
961
948
|
end
|
@@ -964,20 +951,20 @@ begin
|
|
964
951
|
|
965
952
|
pcdata = ""
|
966
953
|
end
|
967
|
-
# line
|
954
|
+
# line 46 "markup.rl"
|
968
955
|
begin
|
969
956
|
|
970
957
|
characters_begin = p
|
971
958
|
end
|
972
|
-
when
|
973
|
-
# line
|
959
|
+
when 45 then
|
960
|
+
# line 102 "markup.rl"
|
974
961
|
begin
|
975
962
|
|
976
963
|
comment_end = p
|
977
964
|
|
978
965
|
delegate.comment(data.byteslice(comment_begin...comment_end))
|
979
966
|
end
|
980
|
-
# line
|
967
|
+
# line 39 "markup.rl"
|
981
968
|
begin
|
982
969
|
|
983
970
|
end
|
@@ -996,13 +983,13 @@ begin
|
|
996
983
|
next
|
997
984
|
end
|
998
985
|
end
|
999
|
-
when
|
1000
|
-
# line
|
986
|
+
when 60 then
|
987
|
+
# line 122 "markup.rl"
|
1001
988
|
begin
|
1002
989
|
|
1003
990
|
delegate.instruction(data.byteslice(instruction_begin, p-instruction_begin))
|
1004
991
|
end
|
1005
|
-
# line
|
992
|
+
# line 39 "markup.rl"
|
1006
993
|
begin
|
1007
994
|
|
1008
995
|
end
|
@@ -1011,18 +998,18 @@ begin
|
|
1011
998
|
|
1012
999
|
pcdata = ""
|
1013
1000
|
end
|
1014
|
-
# line
|
1001
|
+
# line 46 "markup.rl"
|
1015
1002
|
begin
|
1016
1003
|
|
1017
1004
|
characters_begin = p
|
1018
1005
|
end
|
1019
|
-
when
|
1020
|
-
# line
|
1006
|
+
when 61 then
|
1007
|
+
# line 122 "markup.rl"
|
1021
1008
|
begin
|
1022
1009
|
|
1023
1010
|
delegate.instruction(data.byteslice(instruction_begin, p-instruction_begin))
|
1024
1011
|
end
|
1025
|
-
# line
|
1012
|
+
# line 39 "markup.rl"
|
1026
1013
|
begin
|
1027
1014
|
|
1028
1015
|
end
|
@@ -1041,13 +1028,13 @@ begin
|
|
1041
1028
|
next
|
1042
1029
|
end
|
1043
1030
|
end
|
1044
|
-
when
|
1045
|
-
# line
|
1031
|
+
when 40 then
|
1032
|
+
# line 166 "markup.rl"
|
1046
1033
|
begin
|
1047
1034
|
|
1048
1035
|
delegate.open_tag_end(self_closing)
|
1049
1036
|
end
|
1050
|
-
# line
|
1037
|
+
# line 39 "markup.rl"
|
1051
1038
|
begin
|
1052
1039
|
|
1053
1040
|
end
|
@@ -1056,18 +1043,18 @@ begin
|
|
1056
1043
|
|
1057
1044
|
pcdata = ""
|
1058
1045
|
end
|
1059
|
-
# line
|
1046
|
+
# line 46 "markup.rl"
|
1060
1047
|
begin
|
1061
1048
|
|
1062
1049
|
characters_begin = p
|
1063
1050
|
end
|
1064
|
-
when
|
1065
|
-
# line
|
1051
|
+
when 41 then
|
1052
|
+
# line 166 "markup.rl"
|
1066
1053
|
begin
|
1067
1054
|
|
1068
1055
|
delegate.open_tag_end(self_closing)
|
1069
1056
|
end
|
1070
|
-
# line
|
1057
|
+
# line 39 "markup.rl"
|
1071
1058
|
begin
|
1072
1059
|
|
1073
1060
|
end
|
@@ -1086,13 +1073,13 @@ begin
|
|
1086
1073
|
next
|
1087
1074
|
end
|
1088
1075
|
end
|
1089
|
-
when
|
1090
|
-
# line
|
1076
|
+
when 56 then
|
1077
|
+
# line 173 "markup.rl"
|
1091
1078
|
begin
|
1092
1079
|
|
1093
1080
|
delegate.close_tag(data.byteslice(identifier_begin...identifier_end), identifier_begin)
|
1094
1081
|
end
|
1095
|
-
# line
|
1082
|
+
# line 39 "markup.rl"
|
1096
1083
|
begin
|
1097
1084
|
|
1098
1085
|
end
|
@@ -1101,18 +1088,18 @@ begin
|
|
1101
1088
|
|
1102
1089
|
pcdata = ""
|
1103
1090
|
end
|
1104
|
-
# line
|
1091
|
+
# line 46 "markup.rl"
|
1105
1092
|
begin
|
1106
1093
|
|
1107
1094
|
characters_begin = p
|
1108
1095
|
end
|
1109
|
-
when
|
1110
|
-
# line
|
1096
|
+
when 57 then
|
1097
|
+
# line 173 "markup.rl"
|
1111
1098
|
begin
|
1112
1099
|
|
1113
1100
|
delegate.close_tag(data.byteslice(identifier_begin...identifier_end), identifier_begin)
|
1114
1101
|
end
|
1115
|
-
# line
|
1102
|
+
# line 39 "markup.rl"
|
1116
1103
|
begin
|
1117
1104
|
|
1118
1105
|
end
|
@@ -1131,15 +1118,15 @@ begin
|
|
1131
1118
|
next
|
1132
1119
|
end
|
1133
1120
|
end
|
1134
|
-
when
|
1135
|
-
# line
|
1121
|
+
when 52 then
|
1122
|
+
# line 185 "markup.rl"
|
1136
1123
|
begin
|
1137
1124
|
|
1138
1125
|
cdata_end = p
|
1139
1126
|
|
1140
1127
|
delegate.cdata(data.byteslice(cdata_begin...cdata_end))
|
1141
1128
|
end
|
1142
|
-
# line
|
1129
|
+
# line 39 "markup.rl"
|
1143
1130
|
begin
|
1144
1131
|
|
1145
1132
|
end
|
@@ -1148,20 +1135,20 @@ begin
|
|
1148
1135
|
|
1149
1136
|
pcdata = ""
|
1150
1137
|
end
|
1151
|
-
# line
|
1138
|
+
# line 46 "markup.rl"
|
1152
1139
|
begin
|
1153
1140
|
|
1154
1141
|
characters_begin = p
|
1155
1142
|
end
|
1156
|
-
when
|
1157
|
-
# line
|
1143
|
+
when 53 then
|
1144
|
+
# line 185 "markup.rl"
|
1158
1145
|
begin
|
1159
1146
|
|
1160
1147
|
cdata_end = p
|
1161
1148
|
|
1162
1149
|
delegate.cdata(data.byteslice(cdata_begin...cdata_end))
|
1163
1150
|
end
|
1164
|
-
# line
|
1151
|
+
# line 39 "markup.rl"
|
1165
1152
|
begin
|
1166
1153
|
|
1167
1154
|
end
|
@@ -1180,285 +1167,285 @@ begin
|
|
1180
1167
|
next
|
1181
1168
|
end
|
1182
1169
|
end
|
1183
|
-
when
|
1184
|
-
# line
|
1170
|
+
when 34 then
|
1171
|
+
# line 136 "markup.rl"
|
1185
1172
|
begin
|
1186
1173
|
|
1187
1174
|
end
|
1188
|
-
# line
|
1175
|
+
# line 170 "markup.rl"
|
1189
1176
|
begin
|
1190
1177
|
|
1191
1178
|
end
|
1192
|
-
# line
|
1179
|
+
# line 112 "markup.rl"
|
1193
1180
|
begin
|
1194
1181
|
|
1195
1182
|
instruction_begin = p
|
1196
1183
|
end
|
1197
|
-
# line
|
1184
|
+
# line 98 "markup.rl"
|
1198
1185
|
begin
|
1199
1186
|
|
1200
1187
|
comment_begin = p
|
1201
1188
|
end
|
1202
|
-
# line
|
1189
|
+
# line 84 "markup.rl"
|
1203
1190
|
begin
|
1204
1191
|
|
1205
1192
|
doctype_begin = p
|
1206
1193
|
end
|
1207
|
-
# line
|
1194
|
+
# line 181 "markup.rl"
|
1208
1195
|
begin
|
1209
1196
|
|
1210
1197
|
cdata_begin = p
|
1211
1198
|
end
|
1212
|
-
when
|
1213
|
-
# line
|
1199
|
+
when 50 then
|
1200
|
+
# line 88 "markup.rl"
|
1214
1201
|
begin
|
1215
1202
|
|
1216
1203
|
doctype_end = p
|
1217
1204
|
|
1218
1205
|
delegate.doctype(data.byteslice(doctype_begin...doctype_end))
|
1219
1206
|
end
|
1220
|
-
# line
|
1207
|
+
# line 136 "markup.rl"
|
1221
1208
|
begin
|
1222
1209
|
|
1223
1210
|
end
|
1224
|
-
# line
|
1211
|
+
# line 170 "markup.rl"
|
1225
1212
|
begin
|
1226
1213
|
|
1227
1214
|
end
|
1228
|
-
# line
|
1215
|
+
# line 112 "markup.rl"
|
1229
1216
|
begin
|
1230
1217
|
|
1231
1218
|
instruction_begin = p
|
1232
1219
|
end
|
1233
|
-
# line
|
1220
|
+
# line 98 "markup.rl"
|
1234
1221
|
begin
|
1235
1222
|
|
1236
1223
|
comment_begin = p
|
1237
1224
|
end
|
1238
|
-
# line
|
1225
|
+
# line 84 "markup.rl"
|
1239
1226
|
begin
|
1240
1227
|
|
1241
1228
|
doctype_begin = p
|
1242
1229
|
end
|
1243
|
-
# line
|
1230
|
+
# line 181 "markup.rl"
|
1244
1231
|
begin
|
1245
1232
|
|
1246
1233
|
cdata_begin = p
|
1247
1234
|
end
|
1248
|
-
when
|
1249
|
-
# line
|
1235
|
+
when 46 then
|
1236
|
+
# line 102 "markup.rl"
|
1250
1237
|
begin
|
1251
1238
|
|
1252
1239
|
comment_end = p
|
1253
1240
|
|
1254
1241
|
delegate.comment(data.byteslice(comment_begin...comment_end))
|
1255
1242
|
end
|
1256
|
-
# line
|
1243
|
+
# line 136 "markup.rl"
|
1257
1244
|
begin
|
1258
1245
|
|
1259
1246
|
end
|
1260
|
-
# line
|
1247
|
+
# line 170 "markup.rl"
|
1261
1248
|
begin
|
1262
1249
|
|
1263
1250
|
end
|
1264
|
-
# line
|
1251
|
+
# line 112 "markup.rl"
|
1265
1252
|
begin
|
1266
1253
|
|
1267
1254
|
instruction_begin = p
|
1268
1255
|
end
|
1269
|
-
# line
|
1256
|
+
# line 98 "markup.rl"
|
1270
1257
|
begin
|
1271
1258
|
|
1272
1259
|
comment_begin = p
|
1273
1260
|
end
|
1274
|
-
# line
|
1261
|
+
# line 84 "markup.rl"
|
1275
1262
|
begin
|
1276
1263
|
|
1277
1264
|
doctype_begin = p
|
1278
1265
|
end
|
1279
|
-
# line
|
1266
|
+
# line 181 "markup.rl"
|
1280
1267
|
begin
|
1281
1268
|
|
1282
1269
|
cdata_begin = p
|
1283
1270
|
end
|
1284
|
-
when
|
1285
|
-
# line
|
1271
|
+
when 62 then
|
1272
|
+
# line 122 "markup.rl"
|
1286
1273
|
begin
|
1287
1274
|
|
1288
1275
|
delegate.instruction(data.byteslice(instruction_begin, p-instruction_begin))
|
1289
1276
|
end
|
1290
|
-
# line
|
1277
|
+
# line 136 "markup.rl"
|
1291
1278
|
begin
|
1292
1279
|
|
1293
1280
|
end
|
1294
|
-
# line
|
1281
|
+
# line 170 "markup.rl"
|
1295
1282
|
begin
|
1296
1283
|
|
1297
1284
|
end
|
1298
|
-
# line
|
1285
|
+
# line 112 "markup.rl"
|
1299
1286
|
begin
|
1300
1287
|
|
1301
1288
|
instruction_begin = p
|
1302
1289
|
end
|
1303
|
-
# line
|
1290
|
+
# line 98 "markup.rl"
|
1304
1291
|
begin
|
1305
1292
|
|
1306
1293
|
comment_begin = p
|
1307
1294
|
end
|
1308
|
-
# line
|
1295
|
+
# line 84 "markup.rl"
|
1309
1296
|
begin
|
1310
1297
|
|
1311
1298
|
doctype_begin = p
|
1312
1299
|
end
|
1313
|
-
# line
|
1300
|
+
# line 181 "markup.rl"
|
1314
1301
|
begin
|
1315
1302
|
|
1316
1303
|
cdata_begin = p
|
1317
1304
|
end
|
1318
|
-
when
|
1319
|
-
# line
|
1305
|
+
when 42 then
|
1306
|
+
# line 166 "markup.rl"
|
1320
1307
|
begin
|
1321
1308
|
|
1322
1309
|
delegate.open_tag_end(self_closing)
|
1323
1310
|
end
|
1324
|
-
# line
|
1311
|
+
# line 136 "markup.rl"
|
1325
1312
|
begin
|
1326
1313
|
|
1327
1314
|
end
|
1328
|
-
# line
|
1315
|
+
# line 170 "markup.rl"
|
1329
1316
|
begin
|
1330
1317
|
|
1331
1318
|
end
|
1332
|
-
# line
|
1319
|
+
# line 112 "markup.rl"
|
1333
1320
|
begin
|
1334
1321
|
|
1335
1322
|
instruction_begin = p
|
1336
1323
|
end
|
1337
|
-
# line
|
1324
|
+
# line 98 "markup.rl"
|
1338
1325
|
begin
|
1339
1326
|
|
1340
1327
|
comment_begin = p
|
1341
1328
|
end
|
1342
|
-
# line
|
1329
|
+
# line 84 "markup.rl"
|
1343
1330
|
begin
|
1344
1331
|
|
1345
1332
|
doctype_begin = p
|
1346
1333
|
end
|
1347
|
-
# line
|
1334
|
+
# line 181 "markup.rl"
|
1348
1335
|
begin
|
1349
1336
|
|
1350
1337
|
cdata_begin = p
|
1351
1338
|
end
|
1352
|
-
when
|
1353
|
-
# line
|
1339
|
+
when 58 then
|
1340
|
+
# line 173 "markup.rl"
|
1354
1341
|
begin
|
1355
1342
|
|
1356
1343
|
delegate.close_tag(data.byteslice(identifier_begin...identifier_end), identifier_begin)
|
1357
1344
|
end
|
1358
|
-
# line
|
1345
|
+
# line 136 "markup.rl"
|
1359
1346
|
begin
|
1360
1347
|
|
1361
1348
|
end
|
1362
|
-
# line
|
1349
|
+
# line 170 "markup.rl"
|
1363
1350
|
begin
|
1364
1351
|
|
1365
1352
|
end
|
1366
|
-
# line
|
1353
|
+
# line 112 "markup.rl"
|
1367
1354
|
begin
|
1368
1355
|
|
1369
1356
|
instruction_begin = p
|
1370
1357
|
end
|
1371
|
-
# line
|
1358
|
+
# line 98 "markup.rl"
|
1372
1359
|
begin
|
1373
1360
|
|
1374
1361
|
comment_begin = p
|
1375
1362
|
end
|
1376
|
-
# line
|
1363
|
+
# line 84 "markup.rl"
|
1377
1364
|
begin
|
1378
1365
|
|
1379
1366
|
doctype_begin = p
|
1380
1367
|
end
|
1381
|
-
# line
|
1368
|
+
# line 181 "markup.rl"
|
1382
1369
|
begin
|
1383
1370
|
|
1384
1371
|
cdata_begin = p
|
1385
1372
|
end
|
1386
|
-
when
|
1387
|
-
# line
|
1373
|
+
when 54 then
|
1374
|
+
# line 185 "markup.rl"
|
1388
1375
|
begin
|
1389
1376
|
|
1390
1377
|
cdata_end = p
|
1391
1378
|
|
1392
1379
|
delegate.cdata(data.byteslice(cdata_begin...cdata_end))
|
1393
1380
|
end
|
1394
|
-
# line
|
1381
|
+
# line 136 "markup.rl"
|
1395
1382
|
begin
|
1396
1383
|
|
1397
1384
|
end
|
1398
|
-
# line
|
1385
|
+
# line 170 "markup.rl"
|
1399
1386
|
begin
|
1400
1387
|
|
1401
1388
|
end
|
1402
|
-
# line
|
1389
|
+
# line 112 "markup.rl"
|
1403
1390
|
begin
|
1404
1391
|
|
1405
1392
|
instruction_begin = p
|
1406
1393
|
end
|
1407
|
-
# line
|
1394
|
+
# line 98 "markup.rl"
|
1408
1395
|
begin
|
1409
1396
|
|
1410
1397
|
comment_begin = p
|
1411
1398
|
end
|
1412
|
-
# line
|
1399
|
+
# line 84 "markup.rl"
|
1413
1400
|
begin
|
1414
1401
|
|
1415
1402
|
doctype_begin = p
|
1416
1403
|
end
|
1417
|
-
# line
|
1404
|
+
# line 181 "markup.rl"
|
1418
1405
|
begin
|
1419
1406
|
|
1420
1407
|
cdata_begin = p
|
1421
1408
|
end
|
1422
|
-
when
|
1409
|
+
when 38 then
|
1423
1410
|
# line 36 "markup.rl"
|
1424
1411
|
begin
|
1425
1412
|
|
1426
1413
|
end
|
1427
|
-
# line
|
1414
|
+
# line 42 "markup.rl"
|
1428
1415
|
begin
|
1429
1416
|
|
1430
1417
|
delegate.text(pcdata)
|
1431
1418
|
end
|
1432
|
-
# line
|
1419
|
+
# line 136 "markup.rl"
|
1433
1420
|
begin
|
1434
1421
|
|
1435
1422
|
end
|
1436
|
-
# line
|
1423
|
+
# line 170 "markup.rl"
|
1437
1424
|
begin
|
1438
1425
|
|
1439
1426
|
end
|
1440
|
-
# line
|
1427
|
+
# line 112 "markup.rl"
|
1441
1428
|
begin
|
1442
1429
|
|
1443
1430
|
instruction_begin = p
|
1444
1431
|
end
|
1445
|
-
# line
|
1432
|
+
# line 98 "markup.rl"
|
1446
1433
|
begin
|
1447
1434
|
|
1448
1435
|
comment_begin = p
|
1449
1436
|
end
|
1450
|
-
# line
|
1437
|
+
# line 84 "markup.rl"
|
1451
1438
|
begin
|
1452
1439
|
|
1453
1440
|
doctype_begin = p
|
1454
1441
|
end
|
1455
|
-
# line
|
1442
|
+
# line 181 "markup.rl"
|
1456
1443
|
begin
|
1457
1444
|
|
1458
1445
|
cdata_begin = p
|
1459
1446
|
end
|
1460
|
-
when
|
1461
|
-
# line
|
1447
|
+
when 36 then
|
1448
|
+
# line 50 "markup.rl"
|
1462
1449
|
begin
|
1463
1450
|
|
1464
1451
|
characters_end = p
|
@@ -1469,40 +1456,40 @@ begin
|
|
1469
1456
|
begin
|
1470
1457
|
|
1471
1458
|
end
|
1472
|
-
# line
|
1459
|
+
# line 42 "markup.rl"
|
1473
1460
|
begin
|
1474
1461
|
|
1475
1462
|
delegate.text(pcdata)
|
1476
1463
|
end
|
1477
|
-
# line
|
1464
|
+
# line 136 "markup.rl"
|
1478
1465
|
begin
|
1479
1466
|
|
1480
1467
|
end
|
1481
|
-
# line
|
1468
|
+
# line 170 "markup.rl"
|
1482
1469
|
begin
|
1483
1470
|
|
1484
1471
|
end
|
1485
|
-
# line
|
1472
|
+
# line 112 "markup.rl"
|
1486
1473
|
begin
|
1487
1474
|
|
1488
1475
|
instruction_begin = p
|
1489
1476
|
end
|
1490
|
-
# line
|
1477
|
+
# line 98 "markup.rl"
|
1491
1478
|
begin
|
1492
1479
|
|
1493
1480
|
comment_begin = p
|
1494
1481
|
end
|
1495
|
-
# line
|
1482
|
+
# line 84 "markup.rl"
|
1496
1483
|
begin
|
1497
1484
|
|
1498
1485
|
doctype_begin = p
|
1499
1486
|
end
|
1500
|
-
# line
|
1487
|
+
# line 181 "markup.rl"
|
1501
1488
|
begin
|
1502
1489
|
|
1503
1490
|
cdata_begin = p
|
1504
1491
|
end
|
1505
|
-
# line
|
1492
|
+
# line 1493 "markup.rb"
|
1506
1493
|
end
|
1507
1494
|
end
|
1508
1495
|
end
|
@@ -1520,96 +1507,96 @@ begin
|
|
1520
1507
|
if _goto_level <= _test_eof
|
1521
1508
|
if p == eof
|
1522
1509
|
case _markup_eof_actions[cs]
|
1523
|
-
when
|
1524
|
-
# line
|
1510
|
+
when 27 then
|
1511
|
+
# line 56 "markup.rl"
|
1525
1512
|
begin
|
1526
1513
|
|
1527
1514
|
raise ParseError.new("could not parse entity", buffer, p)
|
1528
1515
|
end
|
1529
|
-
when
|
1530
|
-
# line
|
1516
|
+
when 47 then
|
1517
|
+
# line 88 "markup.rl"
|
1531
1518
|
begin
|
1532
1519
|
|
1533
1520
|
doctype_end = p
|
1534
1521
|
|
1535
1522
|
delegate.doctype(data.byteslice(doctype_begin...doctype_end))
|
1536
1523
|
end
|
1537
|
-
when
|
1538
|
-
# line
|
1524
|
+
when 22 then
|
1525
|
+
# line 94 "markup.rl"
|
1539
1526
|
begin
|
1540
1527
|
|
1541
1528
|
raise ParseError.new("could not parse doctype", buffer, p)
|
1542
1529
|
end
|
1543
|
-
when
|
1544
|
-
# line
|
1530
|
+
when 43 then
|
1531
|
+
# line 102 "markup.rl"
|
1545
1532
|
begin
|
1546
1533
|
|
1547
1534
|
comment_end = p
|
1548
1535
|
|
1549
1536
|
delegate.comment(data.byteslice(comment_begin...comment_end))
|
1550
1537
|
end
|
1551
|
-
when
|
1552
|
-
# line
|
1538
|
+
when 21 then
|
1539
|
+
# line 108 "markup.rl"
|
1553
1540
|
begin
|
1554
1541
|
|
1555
1542
|
raise ParseError.new("could not parse comment", buffer, p)
|
1556
1543
|
end
|
1557
|
-
when
|
1558
|
-
# line
|
1544
|
+
when 59 then
|
1545
|
+
# line 122 "markup.rl"
|
1559
1546
|
begin
|
1560
1547
|
|
1561
1548
|
delegate.instruction(data.byteslice(instruction_begin, p-instruction_begin))
|
1562
1549
|
end
|
1563
|
-
when
|
1564
|
-
# line
|
1550
|
+
when 24 then
|
1551
|
+
# line 126 "markup.rl"
|
1565
1552
|
begin
|
1566
1553
|
|
1567
1554
|
raise ParseError.new("could not parse instruction", buffer, p)
|
1568
1555
|
end
|
1569
|
-
when
|
1570
|
-
# line
|
1556
|
+
when 39 then
|
1557
|
+
# line 166 "markup.rl"
|
1571
1558
|
begin
|
1572
1559
|
|
1573
1560
|
delegate.open_tag_end(self_closing)
|
1574
1561
|
end
|
1575
|
-
when
|
1576
|
-
# line
|
1562
|
+
when 55 then
|
1563
|
+
# line 173 "markup.rl"
|
1577
1564
|
begin
|
1578
1565
|
|
1579
1566
|
delegate.close_tag(data.byteslice(identifier_begin...identifier_end), identifier_begin)
|
1580
1567
|
end
|
1581
1568
|
when 1 then
|
1582
|
-
# line
|
1569
|
+
# line 177 "markup.rl"
|
1583
1570
|
begin
|
1584
1571
|
|
1585
1572
|
raise ParseError.new("could not parse tag", buffer, p)
|
1586
1573
|
end
|
1587
|
-
when
|
1588
|
-
# line
|
1574
|
+
when 51 then
|
1575
|
+
# line 185 "markup.rl"
|
1589
1576
|
begin
|
1590
1577
|
|
1591
1578
|
cdata_end = p
|
1592
1579
|
|
1593
1580
|
delegate.cdata(data.byteslice(cdata_begin...cdata_end))
|
1594
1581
|
end
|
1595
|
-
when
|
1596
|
-
# line
|
1582
|
+
when 23 then
|
1583
|
+
# line 191 "markup.rl"
|
1597
1584
|
begin
|
1598
1585
|
|
1599
1586
|
raise ParseError.new("could not parse cdata", buffer, p)
|
1600
1587
|
end
|
1601
|
-
when
|
1588
|
+
when 37 then
|
1602
1589
|
# line 36 "markup.rl"
|
1603
1590
|
begin
|
1604
1591
|
|
1605
1592
|
end
|
1606
|
-
# line
|
1593
|
+
# line 42 "markup.rl"
|
1607
1594
|
begin
|
1608
1595
|
|
1609
1596
|
delegate.text(pcdata)
|
1610
1597
|
end
|
1611
|
-
when
|
1612
|
-
# line
|
1598
|
+
when 35 then
|
1599
|
+
# line 50 "markup.rl"
|
1613
1600
|
begin
|
1614
1601
|
|
1615
1602
|
characters_end = p
|
@@ -1620,12 +1607,12 @@ begin
|
|
1620
1607
|
begin
|
1621
1608
|
|
1622
1609
|
end
|
1623
|
-
# line
|
1610
|
+
# line 42 "markup.rl"
|
1624
1611
|
begin
|
1625
1612
|
|
1626
1613
|
delegate.text(pcdata)
|
1627
1614
|
end
|
1628
|
-
# line
|
1615
|
+
# line 1616 "markup.rb"
|
1629
1616
|
end
|
1630
1617
|
end
|
1631
1618
|
|