trenni 2.0.1 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
|